@bkm016/basalt 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +3 -3
  2. package/{chunk-n981vx1t.js → chunk-0d51ggzj.js} +6 -6
  3. package/chunk-12trygzx.js +25 -0
  4. package/{chunk-s6dejhfj.js → chunk-26cz8et8.js} +1 -1
  5. package/{chunk-zxkq9m8e.js → chunk-2ek3wq4b.js} +2 -2
  6. package/chunk-2gcp3xdc.js +2 -0
  7. package/{chunk-x4874m8e.js → chunk-2ks2tnac.js} +2 -2
  8. package/{chunk-0javrjcm.js → chunk-2nrkqq45.js} +22 -22
  9. package/chunk-320174qe.js +2 -0
  10. package/{chunk-ey15ye2h.js → chunk-3hg7yn1t.js} +1 -1
  11. package/{chunk-benrzwea.js → chunk-3j2kkgsc.js} +1 -1
  12. package/{chunk-8x21n7y9.js → chunk-47vf66t6.js} +1 -1
  13. package/chunk-4n49ptbz.js +3 -0
  14. package/{chunk-7hr6zw2m.js → chunk-5gxj9560.js} +1 -1
  15. package/{chunk-g0t9c3gv.js → chunk-6vnjg5x9.js} +1 -1
  16. package/{chunk-dnx91jrd.js → chunk-7kjr9gdx.js} +2 -2
  17. package/{chunk-y8dkfpmj.js → chunk-7p6e2f5s.js} +3 -3
  18. package/{chunk-053vb71h.js → chunk-86xhmz7k.js} +1 -1
  19. package/{chunk-ebpyvs1d.js → chunk-91r5nvth.js} +2 -2
  20. package/{chunk-c7rcw9fb.js → chunk-adys4qq4.js} +4 -4
  21. package/{chunk-npez1492.js → chunk-ckjw3b61.js} +2 -2
  22. package/{chunk-f156y565.js → chunk-d37gemt2.js} +3 -3
  23. package/{chunk-j7yvh0ae.js → chunk-dcwdmpw2.js} +1 -1
  24. package/chunk-dvb5nd2x.js +2 -0
  25. package/{chunk-063vbmtp.js → chunk-e6c2mzxc.js} +2 -2
  26. package/{chunk-s7skpgm2.js → chunk-ef9yhnk3.js} +1 -1
  27. package/{chunk-ecf896fz.js → chunk-fpxc6qjr.js} +2 -2
  28. package/chunk-frt9k18g.js +480 -0
  29. package/{chunk-bdy4jksd.js → chunk-fzcmzbsq.js} +1 -1
  30. package/{chunk-q9dd6fhj.js → chunk-g3ed130w.js} +3 -3
  31. package/{chunk-d48bfd2e.js → chunk-h1kb8b49.js} +2 -2
  32. package/{chunk-arcqjt91.js → chunk-hd3x1w46.js} +1 -1
  33. package/{chunk-dpz4hwqb.js → chunk-j781n7ca.js} +2 -2
  34. package/{chunk-z02sj1je.js → chunk-jp5afrwm.js} +2 -2
  35. package/{chunk-r8vvcp6c.js → chunk-jyv9cae6.js} +1 -1
  36. package/{chunk-whj87h4r.js → chunk-k3q5jqjj.js} +3 -3
  37. package/{chunk-75434aay.js → chunk-k3rmjrf1.js} +1 -1
  38. package/{chunk-peja51xv.js → chunk-kgkrccr1.js} +2 -2
  39. package/{chunk-pg5nkf1y.js → chunk-kpvaqb7c.js} +2 -2
  40. package/{chunk-hksqjts3.js → chunk-ky55taar.js} +332 -289
  41. package/{chunk-10p3mb40.js → chunk-mr807v9n.js} +1 -1
  42. package/chunk-n015c8nx.js +2 -0
  43. package/chunk-ndt6rjt9.js +2 -0
  44. package/{chunk-gv7wqkey.js → chunk-nmtk9xra.js} +2 -2
  45. package/{chunk-d6p2hgxh.js → chunk-pehyqj8k.js} +1 -1
  46. package/{chunk-ca982n62.js → chunk-pkpj7s2k.js} +1 -1
  47. package/{chunk-fx7f4m3c.js → chunk-pn413hjw.js} +1 -1
  48. package/{chunk-6ptv4g5e.js → chunk-ppxv5q7y.js} +3 -3
  49. package/{chunk-8wj32837.js → chunk-qmdpgbg3.js} +1 -1
  50. package/{chunk-8wv5t0w6.js → chunk-rnt1ckk9.js} +6 -6
  51. package/{chunk-prgm07j4.js → chunk-t40fag3z.js} +2 -2
  52. package/{chunk-w67dvqtb.js → chunk-t66jqz12.js} +2 -2
  53. package/{chunk-39vwrg8n.js → chunk-v2srrqcv.js} +2 -2
  54. package/{chunk-n85qs7cs.js → chunk-x496kg3v.js} +1 -1
  55. package/{chunk-6kdgk70p.js → chunk-xjw78yey.js} +4 -4
  56. package/chunk-xy2bxwq8.js +2 -0
  57. package/{chunk-y69ewdn2.js → chunk-ypqjfv3a.js} +2 -2
  58. package/{chunk-f544p9rh.js → chunk-yyy2yp6f.js} +10 -10
  59. package/{chunk-8gw5bvh3.js → chunk-yzevjkms.js} +5 -5
  60. package/chunk-z3ch1wg6.js +16 -0
  61. package/chunk-zdyd8hbn.js +2 -0
  62. package/compiled.js +6 -6
  63. package/package.json +1 -1
  64. package/ui-test-worker.js +19 -19
  65. package/web/{chunk-rf9dt6bg.js → chunk-0j9a7811.js} +6 -6
  66. package/web/chunk-0jfda4jw.js +2 -0
  67. package/web/{chunk-z1geewdf.js → chunk-0zwc2rvh.js} +2 -2
  68. package/web/{chunk-ht1dzftc.js → chunk-1gx0zpmp.js} +7 -7
  69. package/web/{chunk-0gg00f86.js → chunk-1s8zg6fb.js} +51 -51
  70. package/web/chunk-2axwda8c.js +89 -0
  71. package/web/chunk-2p3fkhy8.js +1 -0
  72. package/web/{chunk-xvcfp1zh.js → chunk-33w36n91.js} +2 -2
  73. package/web/{chunk-5v44qv67.js → chunk-3q0v8w45.js} +81 -81
  74. package/web/chunk-3sz5qcwj.js +1 -0
  75. package/web/chunk-433c80pc.js +1 -0
  76. package/web/chunk-48cnmhvd.js +106 -0
  77. package/web/{chunk-da7m1kva.js → chunk-4anjs6yp.js} +2 -2
  78. package/web/chunk-5r37rwq1.js +4 -0
  79. package/web/{chunk-g81h1e6n.js → chunk-6e38yf3a.js} +23 -23
  80. package/web/{chunk-zp3qrrkb.js → chunk-7a4xk6j9.js} +72 -72
  81. package/web/chunk-7f1t7z72.js +2 -0
  82. package/web/chunk-7qq1ypvj.js +1 -0
  83. package/web/{chunk-h6k1x096.js → chunk-7tkgbbf9.js} +2 -2
  84. package/web/chunk-7x35g67d.js +78 -0
  85. package/web/{chunk-n1jpg57t.js → chunk-823b7866.js} +15 -15
  86. package/web/chunk-85gdsmt4.js +1 -0
  87. package/web/{chunk-gyp6v7jd.js → chunk-8773nwdc.js} +2 -2
  88. package/web/{chunk-cktmyc13.js → chunk-8dp7h6w8.js} +24 -24
  89. package/web/{chunk-czq1yz51.js → chunk-8nv7q5ac.js} +9 -9
  90. package/web/chunk-8pzg8qw4.js +1 -0
  91. package/web/chunk-8wg44w91.js +2 -0
  92. package/web/chunk-9p5dfvav.js +1 -0
  93. package/web/chunk-9q9w9pay.js +1 -0
  94. package/web/chunk-a3teqvz2.js +39 -0
  95. package/web/chunk-bd8ftfxn.js +3 -0
  96. package/web/chunk-c03bt2pz.js +1 -0
  97. package/web/chunk-c1ha2xg6.js +8 -0
  98. package/web/chunk-cez1k71m.js +1 -0
  99. package/web/chunk-cgng31df.js +1 -0
  100. package/web/chunk-cn0tmwjs.js +2 -0
  101. package/web/{chunk-jve1zc80.js → chunk-cn1xpg3q.js} +2 -2
  102. package/web/chunk-cvd4f51j.js +1 -0
  103. package/web/chunk-cybvxssy.js +1 -0
  104. package/web/{chunk-a7gtb4kg.js → chunk-cyjnert7.js} +19 -19
  105. package/web/{chunk-twdy2f67.js → chunk-d0m0h0eb.js} +1 -1
  106. package/web/{chunk-hy4m34qp.js → chunk-dgwkqcz6.js} +37 -37
  107. package/web/{chunk-kyawkpv2.js → chunk-dtg5yhhs.js} +1 -1
  108. package/web/chunk-dynajx8x.js +2 -0
  109. package/web/{chunk-t851gdjh.js → chunk-et8q775x.js} +4 -4
  110. package/web/chunk-f3vv7n52.js +1 -0
  111. package/web/{chunk-3de552rg.js → chunk-f93pe4kb.js} +15 -15
  112. package/web/{chunk-5nda24gv.js → chunk-fe31sv6t.js} +1 -1
  113. package/web/chunk-fpa81dv7.js +62 -0
  114. package/web/{chunk-nyn9tghz.js → chunk-fx4mackk.js} +9 -9
  115. package/web/chunk-g17n6asp.js +1 -0
  116. package/web/chunk-g9dzaw9e.js +30 -0
  117. package/web/chunk-gcwhx3av.js +1139 -0
  118. package/web/chunk-gf8vm6b5.js +1 -0
  119. package/web/chunk-gnmeyy4h.js +1 -0
  120. package/web/chunk-h5cfg3vv.js +2 -0
  121. package/web/{chunk-d6tbw8br.js → chunk-hbkasy6c.js} +46 -46
  122. package/web/chunk-hn7mhsbg.js +1 -0
  123. package/web/{chunk-12xxh71x.js → chunk-hstbgb83.js} +26 -26
  124. package/web/chunk-jjjtv2r1.js +2 -0
  125. package/web/chunk-jzte2phh.js +2 -0
  126. package/web/chunk-k8h8zx6r.js +24 -0
  127. package/web/chunk-m3ajw575.js +1 -0
  128. package/web/chunk-m5y2d4zv.js +1 -0
  129. package/web/chunk-mbwwj216.js +1 -0
  130. package/web/chunk-mf6xng5b.js +2 -0
  131. package/web/chunk-nky3bqfg.js +1 -0
  132. package/web/chunk-np33kmn4.js +1 -0
  133. package/web/chunk-nvk8mazs.js +1 -0
  134. package/web/chunk-nyw5ewgv.js +1 -0
  135. package/web/{chunk-dwajwrpk.js → chunk-p0cjvjdx.js} +1 -1
  136. package/web/chunk-p56dcqpr.js +1 -0
  137. package/web/chunk-pdn4r8x4.js +1 -0
  138. package/web/chunk-q1xxs319.js +41 -0
  139. package/web/chunk-qpt34d8d.js +1 -0
  140. package/web/{chunk-96v2avmw.js → chunk-qq2v8h6d.js} +7 -7
  141. package/web/chunk-qskt3tqa.js +1 -0
  142. package/web/chunk-qt3n897m.js +4 -0
  143. package/web/chunk-r1rt48h9.js +1 -0
  144. package/web/{chunk-ck8rr0sr.js → chunk-r4ffr96e.js} +1 -1
  145. package/web/chunk-r7tgd2fm.js +7 -0
  146. package/web/{chunk-x5s7zr5f.js → chunk-rbdvc8x7.js} +7 -7
  147. package/web/{chunk-v4yqrx5y.js → chunk-rkjkynm3.js} +33 -33
  148. package/web/chunk-rznszqmy.js +1 -0
  149. package/web/chunk-s1pefd34.js +1 -0
  150. package/web/chunk-s38s9ff9.js +370 -0
  151. package/web/{chunk-vw1pbv1x.js → chunk-s7e93552.js} +8 -8
  152. package/web/chunk-sc29azev.js +1 -0
  153. package/web/{chunk-9c1yt2ex.js → chunk-sda7cyrt.js} +52 -52
  154. package/web/chunk-svh2gkx8.js +2 -0
  155. package/web/chunk-t4jc4nac.js +1 -0
  156. package/web/chunk-t7g366a5.js +24 -0
  157. package/web/chunk-tj1fn8v2.js +1 -0
  158. package/web/{chunk-sy7e4dmq.js → chunk-tkp72r9b.js} +1 -1
  159. package/web/{chunk-xc2sq3t5.js → chunk-v14s4vgc.js} +1 -1
  160. package/web/chunk-v94v68xg.js +36 -0
  161. package/web/{chunk-0whceqes.js → chunk-vvvd3grf.js} +2 -2
  162. package/web/chunk-w37n09px.js +21 -0
  163. package/web/chunk-wcphswcx.js +2 -0
  164. package/web/{chunk-fxs4nb93.js → chunk-wj3ymejj.js} +38 -38
  165. package/web/chunk-wwcnvyjh.css +1 -0
  166. package/web/{chunk-s2920f21.js → chunk-xabcx3ry.js} +6 -6
  167. package/web/chunk-xb9m0092.js +1 -0
  168. package/web/chunk-xfd3b01q.js +1 -0
  169. package/web/{chunk-03dmzvaq.js → chunk-xqyazzm7.js} +17 -17
  170. package/web/{chunk-prvh9syp.js → chunk-xsz1dfm2.js} +23 -23
  171. package/web/chunk-z0zrp8n8.js +1 -0
  172. package/web/index.html +1 -1
  173. package/worker.js +1 -1
  174. package/chunk-8saewt61.js +0 -3
  175. package/chunk-a0c989ky.js +0 -2
  176. package/chunk-a5apjjcn.js +0 -16
  177. package/chunk-a81p46j7.js +0 -2
  178. package/chunk-agsfy9w7.js +0 -2
  179. package/chunk-d20p02ny.js +0 -2
  180. package/chunk-ejsneb6f.js +0 -2
  181. package/chunk-fmq3zwzk.js +0 -2
  182. package/chunk-rfb85nj7.js +0 -2
  183. package/chunk-rfdt992v.js +0 -25
  184. package/chunk-tgfbtehh.js +0 -480
  185. package/web/chunk-0fgaepwm.js +0 -3
  186. package/web/chunk-0pecj6d7.js +0 -1
  187. package/web/chunk-0wt1dgny.js +0 -1
  188. package/web/chunk-1ves7sq5.js +0 -1
  189. package/web/chunk-1yj79b48.js +0 -1
  190. package/web/chunk-296hgy6k.js +0 -370
  191. package/web/chunk-2bmq1whf.js +0 -1
  192. package/web/chunk-2wqxhqr9.js +0 -1
  193. package/web/chunk-30zfw7zg.js +0 -1
  194. package/web/chunk-39ng8zwx.css +0 -1
  195. package/web/chunk-3nbzj48p.js +0 -36
  196. package/web/chunk-3zebd9fq.js +0 -7
  197. package/web/chunk-4r1n98zx.js +0 -2
  198. package/web/chunk-59678wmg.js +0 -1
  199. package/web/chunk-5wdk97mk.js +0 -4
  200. package/web/chunk-64rafq66.js +0 -78
  201. package/web/chunk-6kkw9ptc.js +0 -1
  202. package/web/chunk-718mr5gc.js +0 -2
  203. package/web/chunk-7hs57qdr.js +0 -1
  204. package/web/chunk-7kp237t3.js +0 -106
  205. package/web/chunk-86p42kym.js +0 -1
  206. package/web/chunk-8n79cqyd.js +0 -1
  207. package/web/chunk-9an6wcnr.js +0 -1
  208. package/web/chunk-9w5tf22s.js +0 -1
  209. package/web/chunk-b985y17w.js +0 -2
  210. package/web/chunk-bz2v64xe.js +0 -1
  211. package/web/chunk-c3nn0vvc.js +0 -1
  212. package/web/chunk-cb2rxtq9.js +0 -2
  213. package/web/chunk-cm92fyr3.js +0 -2
  214. package/web/chunk-cwtn2kdm.js +0 -1
  215. package/web/chunk-d4z2rgpx.js +0 -1
  216. package/web/chunk-dpkyygej.js +0 -1
  217. package/web/chunk-et5ess72.js +0 -1
  218. package/web/chunk-ez8b6neq.js +0 -1
  219. package/web/chunk-f5txt81n.js +0 -2
  220. package/web/chunk-fd1kqwe3.js +0 -1
  221. package/web/chunk-fp48zz2e.js +0 -2
  222. package/web/chunk-fx0n2g22.js +0 -89
  223. package/web/chunk-g6k9z8zt.js +0 -1
  224. package/web/chunk-gsh80797.js +0 -41
  225. package/web/chunk-hs5x78fb.js +0 -1
  226. package/web/chunk-hyd5hzpa.js +0 -1
  227. package/web/chunk-hyt1nkaw.js +0 -1
  228. package/web/chunk-j6a4z530.js +0 -1139
  229. package/web/chunk-kegv14sg.js +0 -2
  230. package/web/chunk-kw9emsqw.js +0 -1
  231. package/web/chunk-m2prjwk3.js +0 -4
  232. package/web/chunk-m9bzz9m0.js +0 -19
  233. package/web/chunk-mqsyzzgt.js +0 -30
  234. package/web/chunk-nywdeb4m.js +0 -2
  235. package/web/chunk-pxkhm40r.js +0 -2
  236. package/web/chunk-q9ekgjh6.js +0 -62
  237. package/web/chunk-r3mj50zs.js +0 -1
  238. package/web/chunk-sc0ghp25.js +0 -24
  239. package/web/chunk-t74r2n8h.js +0 -1
  240. package/web/chunk-t9mvsgt9.js +0 -1
  241. package/web/chunk-vf4vkcf9.js +0 -24
  242. package/web/chunk-vnt34mkb.js +0 -1
  243. package/web/chunk-vtxw9rmr.js +0 -1
  244. package/web/chunk-x19v2sxv.js +0 -1
  245. package/web/chunk-y21zy3eh.js +0 -1
  246. package/web/chunk-ya3ghn3n.js +0 -2
  247. package/web/chunk-yd74yxzt.js +0 -8
  248. package/web/chunk-z4ha8181.js +0 -1
  249. package/web/chunk-z8rarqe6.js +0 -1
  250. package/web/chunk-zsxw5fj7.js +0 -39
@@ -1,18 +1,18 @@
1
- import{h,o,i,r,t,n,_,st,pe,Q}from"./chunk-j6a4z530.js";var pn=2,gn=1,ys=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let s=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(s._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,a=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(a.getPropertyValue("height")),c=Math.max(0,parseInt(a.getPropertyValue("width"))),d=window.getComputedStyle(this._terminal.element),u={top:parseInt(d.getPropertyValue("padding-top")),bottom:parseInt(d.getPropertyValue("padding-bottom")),right:parseInt(d.getPropertyValue("padding-right")),left:parseInt(d.getPropertyValue("padding-left"))},p=u.top+u.bottom,g=u.right+u.left,f=l-p,v=c-g-s;return{cols:Math.max(pn,Math.floor(v/e.css.cell.width)),rows:Math.max(gn,Math.floor(f/e.css.cell.height))}}};var{defineProperty:Er,getOwnPropertyDescriptor:mn}=Object,vn=(e,s)=>{for(var a in s)Er(e,a,{get:s[a],enumerable:!0})},te=(e,s,a,l)=>{for(var c=l>1?void 0:l?mn(s,a):s,d=e.length-1,u;d>=0;d--)(u=e[d])&&(c=(l?u(s,a,c):u(c))||c);return l&&c&&Er(s,a,c),c},M=(e,s)=>(a,l)=>s(a,l,e),Cs="Terminal input",Ii={get:()=>Cs,set:(e)=>Cs=e},xs="Too much output to announce, navigate to rows manually to read",Ni={get:()=>xs,set:(e)=>xs=e};function Sn(e){return e.replace(/\r?\n/g,"\r")}function bn(e,s){return s?"\x1B[200~"+e+"\x1B[201~":e}function wn(e,s){e.clipboardData&&e.clipboardData.setData("text/plain",s.selectionText),e.preventDefault()}function yn(e,s,a,l){if(e.stopPropagation(),e.clipboardData){let c=e.clipboardData.getData("text/plain");Dr(c,s,a,l)}}function Dr(e,s,a,l){e=Sn(e),e=bn(e,a.decPrivateModes.bracketedPasteMode&&l.rawOptions.ignoreBracketedPasteMode!==!0),a.triggerDataEvent(e,!0),s.value=""}function Br(e,s,a){let l=a.getBoundingClientRect(),c=e.clientX-l.left-10,d=e.clientY-l.top-10;s.style.width="20px",s.style.height="20px",s.style.left=`${c}px`,s.style.top=`${d}px`,s.style.zIndex="1000",s.focus()}function ks(e,s,a,l,c){Br(e,s,a),c&&l.rightClickSelect(e),s.value=l.selectionText,s.select()}function Ze(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function _i(e,s=0,a=e.length){let l="";for(let c=s;c<a;++c){let d=e[c];d>65535?(d-=65536,l+=String.fromCharCode((d>>10)+55296)+String.fromCharCode(d%1024+56320)):l+=String.fromCharCode(d)}return l}var Cn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,s){let a=e.length;if(!a)return 0;let l=0,c=0;if(this._interim){let d=e.charCodeAt(c++);56320<=d&&d<=57343?s[l++]=(this._interim-55296)*1024+d-56320+65536:(s[l++]=this._interim,s[l++]=d),this._interim=0}for(let d=c;d<a;++d){let u=e.charCodeAt(d);if(55296<=u&&u<=56319){if(++d>=a)return this._interim=u,l;let p=e.charCodeAt(d);56320<=p&&p<=57343?s[l++]=(u-55296)*1024+p-56320+65536:(s[l++]=u,s[l++]=p);continue}u!==65279&&(s[l++]=u)}return l}},xn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,s){let a=e.length;if(!a)return 0;let l=0,c,d,u,p,g=0,f=0;if(this.interim[0]){let b=!1,w=this.interim[0];w&=(w&224)===192?31:(w&240)===224?15:7;let S=0,y;for(;(y=this.interim[++S]&63)&&S<4;)w<<=6,w|=y;let R=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,P=R-S;for(;f<P;){if(f>=a)return 0;if(y=e[f++],(y&192)!==128){f--,b=!0;break}else this.interim[S++]=y,w<<=6,w|=y&63}b||(R===2?w<128?f--:s[l++]=w:R===3?w<2048||w>=55296&&w<=57343||w===65279||(s[l++]=w):w<65536||w>1114111||(s[l++]=w)),this.interim.fill(0)}let v=a-4,m=f;for(;m<a;){for(;m<v&&!((c=e[m])&128)&&!((d=e[m+1])&128)&&!((u=e[m+2])&128)&&!((p=e[m+3])&128);)s[l++]=c,s[l++]=d,s[l++]=u,s[l++]=p,m+=4;if(c=e[m++],c<128)s[l++]=c;else if((c&224)===192){if(m>=a)return this.interim[0]=c,l;if(d=e[m++],(d&192)!==128){m--;continue}if(g=(c&31)<<6|d&63,g<128){m--;continue}s[l++]=g}else if((c&240)===224){if(m>=a)return this.interim[0]=c,l;if(d=e[m++],(d&192)!==128){m--;continue}if(m>=a)return this.interim[0]=c,this.interim[1]=d,l;if(u=e[m++],(u&192)!==128){m--;continue}if(g=(c&15)<<12|(d&63)<<6|u&63,g<2048||g>=55296&&g<=57343||g===65279)continue;s[l++]=g}else if((c&248)===240){if(m>=a)return this.interim[0]=c,l;if(d=e[m++],(d&192)!==128){m--;continue}if(m>=a)return this.interim[0]=c,this.interim[1]=d,l;if(u=e[m++],(u&192)!==128){m--;continue}if(m>=a)return this.interim[0]=c,this.interim[1]=d,this.interim[2]=u,l;if(p=e[m++],(p&192)!==128){m--;continue}if(g=(c&7)<<18|(d&63)<<12|(u&63)<<6|p&63,g<65536||g>1114111)continue;s[l++]=g}}return l}},Rr="",Qe=" ",zt=class e{constructor(){this.fg=0,this.bg=0,this.extended=new ri}static toColorRGB(s){return[s>>>16&255,s>>>8&255,s&255]}static fromColorRGB(s){return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255}clone(){let s=new e;return s.fg=this.fg,s.bg=this.bg,s.extended=this.extended.clone(),s}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},ri=class e{constructor(s=0,a=0){this._ext=0,this._urlId=0,this._ext=s,this._urlId=a}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(s){this._ext=s}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(s){this._ext&=-469762049,this._ext|=s<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(s){this._ext&=-67108864,this._ext|=s&67108863}get urlId(){return this._urlId}set urlId(s){this._urlId=s}get underlineVariantOffset(){let s=(this._ext&3758096384)>>29;return s<0?s^4294967288:s}set underlineVariantOffset(s){this._ext&=536870911,this._ext|=s<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Me=class e extends zt{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new ri,this.combinedData=""}static fromCharData(s){let a=new e;return a.setFromCharData(s),a}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ze(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(s){this.fg=s[0],this.bg=0;let a=!1;if(s[1].length>2)a=!0;else if(s[1].length===2){let l=s[1].charCodeAt(0);if(55296<=l&&l<=56319){let c=s[1].charCodeAt(1);56320<=c&&c<=57343?this.content=(l-55296)*1024+c-56320+65536|s[2]<<22:a=!0}else a=!0}else this.content=s[1].charCodeAt(0)|s[2]<<22;a&&(this.combinedData=s[1],this.content=2097152|s[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Es="di$target",Hi="di$dependencies",bi=new Map;function kn(e){return e[Hi]||[]}function fe(e){if(bi.has(e))return bi.get(e);let s=function(a,l,c){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");En(s,a,c)};return s._id=e,bi.set(e,s),s}function En(e,s,a){s[Es]===s?s[Hi].push({id:e,index:a}):(s[Hi]=[{id:e,index:a}],s[Es]=s)}var Se=fe("BufferService"),Lr=fe("CoreMouseService"),ut=fe("CoreService"),Dn=fe("CharsetService"),us=fe("InstantiationService"),Mr=fe("LogService"),be=fe("OptionsService"),Tr=fe("OscLinkService"),Bn=fe("UnicodeService"),Ft=fe("DecorationService"),Wi=class{constructor(e,s,a){this._bufferService=e,this._optionsService=s,this._oscLinkService=a}provideLinks(e,s){let a=this._bufferService.buffer.lines.get(e-1);if(!a){s(void 0);return}let l=[],c=this._optionsService.rawOptions.linkHandler,d=new Me,u=a.getTrimmedLength(),p=-1,g=-1,f=!1;for(let v=0;v<u;v++)if(!(g===-1&&!a.hasContent(v))){if(a.loadCell(v,d),d.hasExtendedAttrs()&&d.extended.urlId)if(g===-1){g=v,p=d.extended.urlId;continue}else f=d.extended.urlId!==p;else g!==-1&&(f=!0);if(f||g!==-1&&v===u-1){let m=this._oscLinkService.getLinkData(p)?.uri;if(m){let b={start:{x:g+1,y:e},end:{x:v+(!f&&v===u-1?1:0),y:e}},w=!1;if(!c?.allowNonHttpProtocols)try{let S=new URL(m);["http:","https:"].includes(S.protocol)||(w=!0)}catch{w=!0}w||l.push({text:m,range:b,activate:(S,y)=>c?c.activate(S,y,b):Rn(S,y),hover:(S,y)=>c?.hover?.(S,y,b),leave:(S,y)=>c?.leave?.(S,y,b)})}f=!1,d.hasExtendedAttrs()&&d.extended.urlId?(g=v,p=d.extended.urlId):(g=-1,p=-1)}}s(l)}};Wi=te([M(0,Se),M(1,be),M(2,Tr)],Wi);function Rn(e,s){if(confirm(`Do you want to navigate to ${s}?
1
+ import{h,o,i,r,e,n,b,ot,ce,Z}from"./chunk-gcwhx3av.js";var pn=2,gn=1,ys=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let s=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(s._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let s=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,a=window.getComputedStyle(this._terminal.element.parentElement),l=parseInt(a.getPropertyValue("height")),c=Math.max(0,parseInt(a.getPropertyValue("width"))),d=window.getComputedStyle(this._terminal.element),u={top:parseInt(d.getPropertyValue("padding-top")),bottom:parseInt(d.getPropertyValue("padding-bottom")),right:parseInt(d.getPropertyValue("padding-right")),left:parseInt(d.getPropertyValue("padding-left"))},f=u.top+u.bottom,p=u.right+u.left,_=l-f,m=c-p-s;return{cols:Math.max(pn,Math.floor(m/t.css.cell.width)),rows:Math.max(gn,Math.floor(_/t.css.cell.height))}}};var{defineProperty:Er,getOwnPropertyDescriptor:mn}=Object,vn=(t,s)=>{for(var a in s)Er(t,a,{get:s[a],enumerable:!0})},te=(t,s,a,l)=>{for(var c=l>1?void 0:l?mn(s,a):s,d=t.length-1,u;d>=0;d--)(u=t[d])&&(c=(l?u(s,a,c):u(c))||c);return l&&c&&Er(s,a,c),c},M=(t,s)=>(a,l)=>s(a,l,t),Cs="Terminal input",Ii={get:()=>Cs,set:(t)=>Cs=t},xs="Too much output to announce, navigate to rows manually to read",Ni={get:()=>xs,set:(t)=>xs=t};function Sn(t){return t.replace(/\r?\n/g,"\r")}function bn(t,s){return s?"\x1B[200~"+t+"\x1B[201~":t}function wn(t,s){t.clipboardData&&t.clipboardData.setData("text/plain",s.selectionText),t.preventDefault()}function yn(t,s,a,l){if(t.stopPropagation(),t.clipboardData){let c=t.clipboardData.getData("text/plain");Dr(c,s,a,l)}}function Dr(t,s,a,l){t=Sn(t),t=bn(t,a.decPrivateModes.bracketedPasteMode&&l.rawOptions.ignoreBracketedPasteMode!==!0),a.triggerDataEvent(t,!0),s.value=""}function Br(t,s,a){let l=a.getBoundingClientRect(),c=t.clientX-l.left-10,d=t.clientY-l.top-10;s.style.width="20px",s.style.height="20px",s.style.left=`${c}px`,s.style.top=`${d}px`,s.style.zIndex="1000",s.focus()}function ks(t,s,a,l,c){Br(t,s,a),c&&l.rightClickSelect(t),s.value=l.selectionText,s.select()}function Ze(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function _i(t,s=0,a=t.length){let l="";for(let c=s;c<a;++c){let d=t[c];d>65535?(d-=65536,l+=String.fromCharCode((d>>10)+55296)+String.fromCharCode(d%1024+56320)):l+=String.fromCharCode(d)}return l}var Cn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,s){let a=t.length;if(!a)return 0;let l=0,c=0;if(this._interim){let d=t.charCodeAt(c++);56320<=d&&d<=57343?s[l++]=(this._interim-55296)*1024+d-56320+65536:(s[l++]=this._interim,s[l++]=d),this._interim=0}for(let d=c;d<a;++d){let u=t.charCodeAt(d);if(55296<=u&&u<=56319){if(++d>=a)return this._interim=u,l;let f=t.charCodeAt(d);56320<=f&&f<=57343?s[l++]=(u-55296)*1024+f-56320+65536:(s[l++]=u,s[l++]=f);continue}u!==65279&&(s[l++]=u)}return l}},xn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,s){let a=t.length;if(!a)return 0;let l=0,c,d,u,f,p=0,_=0;if(this.interim[0]){let S=!1,w=this.interim[0];w&=(w&224)===192?31:(w&240)===224?15:7;let v=0,y;for(;(y=this.interim[++v]&63)&&v<4;)w<<=6,w|=y;let R=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,P=R-v;for(;_<P;){if(_>=a)return 0;if(y=t[_++],(y&192)!==128){_--,S=!0;break}else this.interim[v++]=y,w<<=6,w|=y&63}S||(R===2?w<128?_--:s[l++]=w:R===3?w<2048||w>=55296&&w<=57343||w===65279||(s[l++]=w):w<65536||w>1114111||(s[l++]=w)),this.interim.fill(0)}let m=a-4,g=_;for(;g<a;){for(;g<m&&!((c=t[g])&128)&&!((d=t[g+1])&128)&&!((u=t[g+2])&128)&&!((f=t[g+3])&128);)s[l++]=c,s[l++]=d,s[l++]=u,s[l++]=f,g+=4;if(c=t[g++],c<128)s[l++]=c;else if((c&224)===192){if(g>=a)return this.interim[0]=c,l;if(d=t[g++],(d&192)!==128){g--;continue}if(p=(c&31)<<6|d&63,p<128){g--;continue}s[l++]=p}else if((c&240)===224){if(g>=a)return this.interim[0]=c,l;if(d=t[g++],(d&192)!==128){g--;continue}if(g>=a)return this.interim[0]=c,this.interim[1]=d,l;if(u=t[g++],(u&192)!==128){g--;continue}if(p=(c&15)<<12|(d&63)<<6|u&63,p<2048||p>=55296&&p<=57343||p===65279)continue;s[l++]=p}else if((c&248)===240){if(g>=a)return this.interim[0]=c,l;if(d=t[g++],(d&192)!==128){g--;continue}if(g>=a)return this.interim[0]=c,this.interim[1]=d,l;if(u=t[g++],(u&192)!==128){g--;continue}if(g>=a)return this.interim[0]=c,this.interim[1]=d,this.interim[2]=u,l;if(f=t[g++],(f&192)!==128){g--;continue}if(p=(c&7)<<18|(d&63)<<12|(u&63)<<6|f&63,p<65536||p>1114111)continue;s[l++]=p}}return l}},Rr="",Qe=" ",zt=class t{constructor(){this.fg=0,this.bg=0,this.extended=new ri}static toColorRGB(s){return[s>>>16&255,s>>>8&255,s&255]}static fromColorRGB(s){return(s[0]&255)<<16|(s[1]&255)<<8|s[2]&255}clone(){let s=new t;return s.fg=this.fg,s.bg=this.bg,s.extended=this.extended.clone(),s}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},ri=class t{constructor(s=0,a=0){this._ext=0,this._urlId=0,this._ext=s,this._urlId=a}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(s){this._ext=s}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(s){this._ext&=-469762049,this._ext|=s<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(s){this._ext&=-67108864,this._ext|=s&67108863}get urlId(){return this._urlId}set urlId(s){this._urlId=s}get underlineVariantOffset(){let s=(this._ext&3758096384)>>29;return s<0?s^4294967288:s}set underlineVariantOffset(s){this._ext&=536870911,this._ext|=s<<29&3758096384}clone(){return new t(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Me=class t extends zt{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new ri,this.combinedData=""}static fromCharData(s){let a=new t;return a.setFromCharData(s),a}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ze(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(s){this.fg=s[0],this.bg=0;let a=!1;if(s[1].length>2)a=!0;else if(s[1].length===2){let l=s[1].charCodeAt(0);if(55296<=l&&l<=56319){let c=s[1].charCodeAt(1);56320<=c&&c<=57343?this.content=(l-55296)*1024+c-56320+65536|s[2]<<22:a=!0}else a=!0}else this.content=s[1].charCodeAt(0)|s[2]<<22;a&&(this.combinedData=s[1],this.content=2097152|s[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Es="di$target",Hi="di$dependencies",bi=new Map;function kn(t){return t[Hi]||[]}function pe(t){if(bi.has(t))return bi.get(t);let s=function(a,l,c){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");En(s,a,c)};return s._id=t,bi.set(t,s),s}function En(t,s,a){s[Es]===s?s[Hi].push({id:t,index:a}):(s[Hi]=[{id:t,index:a}],s[Es]=s)}var Se=pe("BufferService"),Lr=pe("CoreMouseService"),ut=pe("CoreService"),Dn=pe("CharsetService"),us=pe("InstantiationService"),Mr=pe("LogService"),be=pe("OptionsService"),Tr=pe("OscLinkService"),Bn=pe("UnicodeService"),Ft=pe("DecorationService"),Wi=class{constructor(t,s,a){this._bufferService=t,this._optionsService=s,this._oscLinkService=a}provideLinks(t,s){let a=this._bufferService.buffer.lines.get(t-1);if(!a){s(void 0);return}let l=[],c=this._optionsService.rawOptions.linkHandler,d=new Me,u=a.getTrimmedLength(),f=-1,p=-1,_=!1;for(let m=0;m<u;m++)if(!(p===-1&&!a.hasContent(m))){if(a.loadCell(m,d),d.hasExtendedAttrs()&&d.extended.urlId)if(p===-1){p=m,f=d.extended.urlId;continue}else _=d.extended.urlId!==f;else p!==-1&&(_=!0);if(_||p!==-1&&m===u-1){let g=this._oscLinkService.getLinkData(f)?.uri;if(g){let S={start:{x:p+1,y:t},end:{x:m+(!_&&m===u-1?1:0),y:t}},w=!1;if(!c?.allowNonHttpProtocols)try{let v=new URL(g);["http:","https:"].includes(v.protocol)||(w=!0)}catch{w=!0}w||l.push({text:g,range:S,activate:(v,y)=>c?c.activate(v,y,S):Rn(v,y),hover:(v,y)=>c?.hover?.(v,y,S),leave:(v,y)=>c?.leave?.(v,y,S)})}_=!1,d.hasExtendedAttrs()&&d.extended.urlId?(p=m,f=d.extended.urlId):(p=-1,f=-1)}}s(l)}};Wi=te([M(0,Se),M(1,be),M(2,Tr)],Wi);function Rn(t,s){if(confirm(`Do you want to navigate to ${s}?
2
2
 
3
- WARNING: This link could potentially be dangerous`)){let a=window.open();if(a){try{a.opener=null}catch{}a.location.href=s}else console.warn("Opening link blocked as opener could not be cleared")}}var fi=fe("CharSizeService"),Ue=fe("CoreBrowserService"),_s=fe("MouseService"),Ke=fe("RenderService"),Ln=fe("SelectionService"),Pr=fe("CharacterJoinerService"),gt=fe("ThemeService"),Ar=fe("LinkProviderService"),Mn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Ds.isErrorNoTelemetry(e)?new Ds(e.message+`
3
+ WARNING: This link could potentially be dangerous`)){let a=window.open();if(a){try{a.opener=null}catch{}a.location.href=s}else console.warn("Opening link blocked as opener could not be cleared")}}var fi=pe("CharSizeService"),Ue=pe("CoreBrowserService"),_s=pe("MouseService"),Ke=pe("RenderService"),Ln=pe("SelectionService"),Pr=pe("CharacterJoinerService"),gt=pe("ThemeService"),Ar=pe("LinkProviderService"),Mn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Ds.isErrorNoTelemetry(t)?new Ds(t.message+`
4
4
 
5
- `+e.stack):Error(e.message+`
5
+ `+t.stack):Error(t.message+`
6
6
 
7
- `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach((s)=>{s(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},Tn=new Mn;function Gt(e){Pn(e)||Tn.onUnexpectedError(e)}var zi="Canceled";function Pn(e){return e instanceof An?!0:e instanceof Error&&e.name===zi&&e.message===zi}var An=class extends Error{constructor(){super(zi),this.name=this.message}};function On(e){return e?Error(`Illegal argument: ${e}`):Error("Illegal argument")}var Ds=class e extends Error{constructor(s){super(s),this.name="CodeExpectedError"}static fromError(s){if(s instanceof e)return s;let a=new e;return a.message=s.message,a.stack=s.stack,a}static isErrorNoTelemetry(s){return s.name==="CodeExpectedError"}},Fi=class e extends Error{constructor(s){super(s||"An unexpected bug occurred."),Object.setPrototypeOf(this,e.prototype)}};function In(e,s,a=0,l=e.length){let c=a,d=l;for(;c<d;){let u=Math.floor((c+d)/2);s(e[u])?c=u+1:d=u}return c-1}var Nn=class e{constructor(s){this._array=s,this._findLastMonotonousLastIdx=0}findLastMonotonous(s){if(e.assertInvariants){if(this._prevFindLastPredicate){for(let l of this._array)if(this._prevFindLastPredicate(l)&&!s(l))throw Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=s}let a=In(this._array,s,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=a+1,a===-1?void 0:this._array[a]}};Nn.assertInvariants=!1;function ke(e,s=0){return e[e.length-(1+s)]}var Or;((e)=>{function s(d){return d<0}e.isLessThan=s;function a(d){return d<=0}e.isLessThanOrEqual=a;function l(d){return d>0}e.isGreaterThan=l;function c(d){return d===0}e.isNeitherLessOrGreaterThan=c,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Or||={});function Hn(e,s){return(a,l)=>s(e(a),e(l))}var Wn=(e,s)=>e-s,Bs=class e{constructor(s){this.iterate=s}forEach(s){this.iterate((a)=>(s(a),!0))}toArray(){let s=[];return this.iterate((a)=>(s.push(a),!0)),s}filter(s){return new e((a)=>this.iterate((l)=>s(l)?a(l):!0))}map(s){return new e((a)=>this.iterate((l)=>a(s(l))))}some(s){let a=!1;return this.iterate((l)=>(a=s(l),!a)),a}findFirst(s){let a;return this.iterate((l)=>s(l)?(a=l,!1):!0),a}findLast(s){let a;return this.iterate((l)=>(s(l)&&(a=l),!0)),a}findLastMaxBy(s){let a,l=!0;return this.iterate((c)=>((l||Or.isGreaterThan(s(c,a)))&&(l=!1,a=c),!0)),a}};Bs.empty=new Bs((e)=>{});function zn(e,s){let a=Object.create(null);for(let l of e){let c=s(l),d=a[c];d||(d=a[c]=[]),d.push(l)}return a}var Rs,Ls,hl=class{constructor(e,s){this.toKey=s,this._map=new Map,this[Rs]="SetWithKey";for(let a of e)this.add(a)}get size(){return this._map.size}add(e){let s=this.toKey(e);return this._map.set(s,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(let e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(let e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,s){this._map.forEach((a)=>e.call(s,a,a,this))}[(Ls=Symbol.iterator,Rs=Symbol.toStringTag,Ls)](){return this.values()}},Fn=class{constructor(){this.map=new Map}add(e,s){let a=this.map.get(e);a||(a=new Set,this.map.set(e,a)),a.add(s)}delete(e,s){let a=this.map.get(e);a&&(a.delete(s),a.size===0&&this.map.delete(e))}forEach(e,s){let a=this.map.get(e);a&&a.forEach(s)}get(e){return this.map.get(e)||new Set}};function $n(e,s){let a=this,l=!1,c;return function(){if(l)return c;if(l=!0,s)try{c=e.apply(a,arguments)}finally{s()}else c=e.apply(a,arguments);return c}}var Ir;((e)=>{function s(E){return E&&typeof E=="object"&&typeof E[Symbol.iterator]=="function"}e.is=s;let a=Object.freeze([]);function l(){return a}e.empty=l;function*c(E){yield E}e.single=c;function d(E){return s(E)?E:c(E)}e.wrap=d;function u(E){return E||a}e.from=u;function*p(E){for(let A=E.length-1;A>=0;A--)yield E[A]}e.reverse=p;function g(E){return!E||E[Symbol.iterator]().next().done===!0}e.isEmpty=g;function f(E){return E[Symbol.iterator]().next().value}e.first=f;function v(E,A){let N=0;for(let G of E)if(A(G,N++))return!0;return!1}e.some=v;function m(E,A){for(let N of E)if(A(N))return N}e.find=m;function*b(E,A){for(let N of E)A(N)&&(yield N)}e.filter=b;function*w(E,A){let N=0;for(let G of E)yield A(G,N++)}e.map=w;function*S(E,A){let N=0;for(let G of E)yield*A(G,N++)}e.flatMap=S;function*y(...E){for(let A of E)yield*A}e.concat=y;function R(E,A,N){let G=N;for(let Ce of E)G=A(G,Ce);return G}e.reduce=R;function*P(E,A,N=E.length){for(A<0&&(A+=E.length),N<0?N+=E.length:N>E.length&&(N=E.length);A<N;A++)yield E[A]}e.slice=P;function U(E,A=Number.POSITIVE_INFINITY){let N=[];if(A===0)return[N,E];let G=E[Symbol.iterator]();for(let Ce=0;Ce<A;Ce++){let we=G.next();if(we.done)return[N,e.empty()];N.push(we.value)}return[N,{[Symbol.iterator](){return G}}]}e.consume=U;async function I(E){let A=[];for await(let N of E)A.push(N);return Promise.resolve(A)}e.asyncToArray=I})(Ir||={});var Un=!1,lt=null,Kn=class e{constructor(){this.livingDisposables=new Map}getDisposableData(s){let a=this.livingDisposables.get(s);return a||(a={parent:null,source:null,isSingleton:!1,value:s,idx:e.idx++},this.livingDisposables.set(s,a)),a}trackDisposable(s){let a=this.getDisposableData(s);a.source||(a.source=Error().stack)}setParent(s,a){let l=this.getDisposableData(s);l.parent=a}markAsDisposed(s){this.livingDisposables.delete(s)}markAsSingleton(s){this.getDisposableData(s).isSingleton=!0}getRootParent(s,a){let l=a.get(s);if(l)return l;let c=s.parent?this.getRootParent(this.getDisposableData(s.parent),a):s;return a.set(s,c),c}getTrackedDisposables(){let s=new Map;return[...this.livingDisposables.entries()].filter(([,a])=>a.source!==null&&!this.getRootParent(a,s).isSingleton).flatMap(([a])=>a)}computeLeakingDisposables(s=10,a){let l;if(a)l=a;else{let g=new Map,f=[...this.livingDisposables.values()].filter((m)=>m.source!==null&&!this.getRootParent(m,g).isSingleton);if(f.length===0)return;let v=new Set(f.map((m)=>m.value));if(l=f.filter((m)=>!(m.parent&&v.has(m.parent))),l.length===0)throw Error("There are cyclic diposable chains!")}if(!l)return;function c(g){function f(m,b){for(;m.length>0&&b.some((w)=>typeof w=="string"?w===m[0]:m[0].match(w));)m.shift()}let v=g.source.split(`
8
- `).map((m)=>m.trim().replace("at ","")).filter((m)=>m!=="");return f(v,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),v.reverse()}let d=new Fn;for(let g of l){let f=c(g);for(let v=0;v<=f.length;v++)d.add(f.slice(0,v).join(`
9
- `),g)}l.sort(Hn((g)=>g.idx,Wn));let u="",p=0;for(let g of l.slice(0,s)){p++;let f=c(g),v=[];for(let m=0;m<f.length;m++){let b=f[m];b=`(shared with ${d.get(f.slice(0,m+1).join(`
10
- `)).size}/${l.length} leaks) at ${b}`;let w=d.get(f.slice(0,m).join(`
11
- `)),S=zn([...w].map((y)=>c(y)[m]),(y)=>y);delete S[f[m]];for(let[y,R]of Object.entries(S))v.unshift(` - stacktraces of ${R.length} other leaks continue with ${y}`);v.unshift(b)}u+=`
7
+ `+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach((s)=>{s(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Tn=new Mn;function Gt(t){Pn(t)||Tn.onUnexpectedError(t)}var zi="Canceled";function Pn(t){return t instanceof An?!0:t instanceof Error&&t.name===zi&&t.message===zi}var An=class extends Error{constructor(){super(zi),this.name=this.message}};function On(t){return t?Error(`Illegal argument: ${t}`):Error("Illegal argument")}var Ds=class t extends Error{constructor(s){super(s),this.name="CodeExpectedError"}static fromError(s){if(s instanceof t)return s;let a=new t;return a.message=s.message,a.stack=s.stack,a}static isErrorNoTelemetry(s){return s.name==="CodeExpectedError"}},Fi=class t extends Error{constructor(s){super(s||"An unexpected bug occurred."),Object.setPrototypeOf(this,t.prototype)}};function In(t,s,a=0,l=t.length){let c=a,d=l;for(;c<d;){let u=Math.floor((c+d)/2);s(t[u])?c=u+1:d=u}return c-1}var Nn=class t{constructor(s){this._array=s,this._findLastMonotonousLastIdx=0}findLastMonotonous(s){if(t.assertInvariants){if(this._prevFindLastPredicate){for(let l of this._array)if(this._prevFindLastPredicate(l)&&!s(l))throw Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=s}let a=In(this._array,s,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=a+1,a===-1?void 0:this._array[a]}};Nn.assertInvariants=!1;function ke(t,s=0){return t[t.length-(1+s)]}var Or;((t)=>{function s(d){return d<0}t.isLessThan=s;function a(d){return d<=0}t.isLessThanOrEqual=a;function l(d){return d>0}t.isGreaterThan=l;function c(d){return d===0}t.isNeitherLessOrGreaterThan=c,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(Or||={});function Hn(t,s){return(a,l)=>s(t(a),t(l))}var Wn=(t,s)=>t-s,Bs=class t{constructor(s){this.iterate=s}forEach(s){this.iterate((a)=>(s(a),!0))}toArray(){let s=[];return this.iterate((a)=>(s.push(a),!0)),s}filter(s){return new t((a)=>this.iterate((l)=>s(l)?a(l):!0))}map(s){return new t((a)=>this.iterate((l)=>a(s(l))))}some(s){let a=!1;return this.iterate((l)=>(a=s(l),!a)),a}findFirst(s){let a;return this.iterate((l)=>s(l)?(a=l,!1):!0),a}findLast(s){let a;return this.iterate((l)=>(s(l)&&(a=l),!0)),a}findLastMaxBy(s){let a,l=!0;return this.iterate((c)=>((l||Or.isGreaterThan(s(c,a)))&&(l=!1,a=c),!0)),a}};Bs.empty=new Bs((t)=>{});function zn(t,s){let a=Object.create(null);for(let l of t){let c=s(l),d=a[c];d||(d=a[c]=[]),d.push(l)}return a}var Rs,Ls,hl=class{constructor(t,s){this.toKey=s,this._map=new Map,this[Rs]="SetWithKey";for(let a of t)this.add(a)}get size(){return this._map.size}add(t){let s=this.toKey(t);return this._map.set(s,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,s){this._map.forEach((a)=>t.call(s,a,a,this))}[(Ls=Symbol.iterator,Rs=Symbol.toStringTag,Ls)](){return this.values()}},Fn=class{constructor(){this.map=new Map}add(t,s){let a=this.map.get(t);a||(a=new Set,this.map.set(t,a)),a.add(s)}delete(t,s){let a=this.map.get(t);a&&(a.delete(s),a.size===0&&this.map.delete(t))}forEach(t,s){let a=this.map.get(t);a&&a.forEach(s)}get(t){return this.map.get(t)||new Set}};function $n(t,s){let a=this,l=!1,c;return function(){if(l)return c;if(l=!0,s)try{c=t.apply(a,arguments)}finally{s()}else c=t.apply(a,arguments);return c}}var Ir;((t)=>{function s(E){return E&&typeof E=="object"&&typeof E[Symbol.iterator]=="function"}t.is=s;let a=Object.freeze([]);function l(){return a}t.empty=l;function*c(E){yield E}t.single=c;function d(E){return s(E)?E:c(E)}t.wrap=d;function u(E){return E||a}t.from=u;function*f(E){for(let A=E.length-1;A>=0;A--)yield E[A]}t.reverse=f;function p(E){return!E||E[Symbol.iterator]().next().done===!0}t.isEmpty=p;function _(E){return E[Symbol.iterator]().next().value}t.first=_;function m(E,A){let N=0;for(let G of E)if(A(G,N++))return!0;return!1}t.some=m;function g(E,A){for(let N of E)if(A(N))return N}t.find=g;function*S(E,A){for(let N of E)A(N)&&(yield N)}t.filter=S;function*w(E,A){let N=0;for(let G of E)yield A(G,N++)}t.map=w;function*v(E,A){let N=0;for(let G of E)yield*A(G,N++)}t.flatMap=v;function*y(...E){for(let A of E)yield*A}t.concat=y;function R(E,A,N){let G=N;for(let Ce of E)G=A(G,Ce);return G}t.reduce=R;function*P(E,A,N=E.length){for(A<0&&(A+=E.length),N<0?N+=E.length:N>E.length&&(N=E.length);A<N;A++)yield E[A]}t.slice=P;function U(E,A=Number.POSITIVE_INFINITY){let N=[];if(A===0)return[N,E];let G=E[Symbol.iterator]();for(let Ce=0;Ce<A;Ce++){let we=G.next();if(we.done)return[N,t.empty()];N.push(we.value)}return[N,{[Symbol.iterator](){return G}}]}t.consume=U;async function I(E){let A=[];for await(let N of E)A.push(N);return Promise.resolve(A)}t.asyncToArray=I})(Ir||={});var Un=!1,lt=null,Kn=class t{constructor(){this.livingDisposables=new Map}getDisposableData(s){let a=this.livingDisposables.get(s);return a||(a={parent:null,source:null,isSingleton:!1,value:s,idx:t.idx++},this.livingDisposables.set(s,a)),a}trackDisposable(s){let a=this.getDisposableData(s);a.source||(a.source=Error().stack)}setParent(s,a){let l=this.getDisposableData(s);l.parent=a}markAsDisposed(s){this.livingDisposables.delete(s)}markAsSingleton(s){this.getDisposableData(s).isSingleton=!0}getRootParent(s,a){let l=a.get(s);if(l)return l;let c=s.parent?this.getRootParent(this.getDisposableData(s.parent),a):s;return a.set(s,c),c}getTrackedDisposables(){let s=new Map;return[...this.livingDisposables.entries()].filter(([,a])=>a.source!==null&&!this.getRootParent(a,s).isSingleton).flatMap(([a])=>a)}computeLeakingDisposables(s=10,a){let l;if(a)l=a;else{let p=new Map,_=[...this.livingDisposables.values()].filter((g)=>g.source!==null&&!this.getRootParent(g,p).isSingleton);if(_.length===0)return;let m=new Set(_.map((g)=>g.value));if(l=_.filter((g)=>!(g.parent&&m.has(g.parent))),l.length===0)throw Error("There are cyclic diposable chains!")}if(!l)return;function c(p){function _(g,S){for(;g.length>0&&S.some((w)=>typeof w=="string"?w===g[0]:g[0].match(w));)g.shift()}let m=p.source.split(`
8
+ `).map((g)=>g.trim().replace("at ","")).filter((g)=>g!=="");return _(m,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),m.reverse()}let d=new Fn;for(let p of l){let _=c(p);for(let m=0;m<=_.length;m++)d.add(_.slice(0,m).join(`
9
+ `),p)}l.sort(Hn((p)=>p.idx,Wn));let u="",f=0;for(let p of l.slice(0,s)){f++;let _=c(p),m=[];for(let g=0;g<_.length;g++){let S=_[g];S=`(shared with ${d.get(_.slice(0,g+1).join(`
10
+ `)).size}/${l.length} leaks) at ${S}`;let w=d.get(_.slice(0,g).join(`
11
+ `)),v=zn([...w].map((y)=>c(y)[g]),(y)=>y);delete v[_[g]];for(let[y,R]of Object.entries(v))m.unshift(` - stacktraces of ${R.length} other leaks continue with ${y}`);m.unshift(S)}u+=`
12
12
 
13
13
 
14
- ==================== Leaking disposable ${p}/${l.length}: ${g.value.constructor.name} ====================
15
- ${v.join(`
14
+ ==================== Leaking disposable ${f}/${l.length}: ${p.value.constructor.name} ====================
15
+ ${m.join(`
16
16
  `)}
17
17
  ============================================================
18
18
 
@@ -21,19 +21,19 @@ ${v.join(`
21
21
 
22
22
  ... and ${l.length-s} more leaking disposables
23
23
 
24
- `),{leaks:l,details:u}}};Kn.idx=0;function qn(e){lt=e}if(Un){let e="__is_disposable_tracked__";qn(new class{trackDisposable(s){let a=Error("Potentially leaked disposable").stack;setTimeout(()=>{s[e]||console.log(a)},3000)}setParent(s,a){if(s&&s!==W.None)try{s[e]=!0}catch{}}markAsDisposed(s){if(s&&s!==W.None)try{s[e]=!0}catch{}}markAsSingleton(s){}})}function pi(e){return lt?.trackDisposable(e),e}function gi(e){lt?.markAsDisposed(e)}function It(e,s){lt?.setParent(e,s)}function Vn(e,s){if(lt)for(let a of e)lt.setParent(a,s)}function Ms(e){return lt?.markAsSingleton(e),e}function ct(e){if(Ir.is(e)){let s=[];for(let a of e)if(a)try{a.dispose()}catch(l){s.push(l)}if(s.length===1)throw s[0];if(s.length>1)throw AggregateError(s,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Yn(...e){let s=X(()=>ct(e));return Vn(e,s),s}function X(e){let s=pi({dispose:$n(()=>{gi(s),e()})});return s}var Nr=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,pi(this)}dispose(){this._isDisposed||(gi(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ct(this._toDispose)}finally{this._toDispose.clear()}}add(s){if(!s)return s;if(s===this)throw Error("Cannot register a disposable on itself!");return It(s,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(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(s),s}delete(s){if(s){if(s===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(s),s.dispose()}}deleteAndLeak(s){s&&this._toDispose.has(s)&&(this._toDispose.delete(s),It(s,null))}};Nr.DISABLE_DISPOSED_WARNING=!1;var et=Nr,W=class{constructor(){this._store=new et,pi(this),It(this._store,this)}dispose(){gi(this),this._store.dispose()}_register(e){if(e===this)throw Error("Cannot register a disposable on itself!");return this._store.add(e)}};W.None=Object.freeze({dispose(){}});var pt=class{constructor(){this._isDisposed=!1,pi(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&It(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gi(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&It(e,null),e}},Be=typeof window=="object"?window:globalThis,$i=class e{constructor(s){this.element=s,this.next=e.Undefined,this.prev=e.Undefined}};$i.Undefined=new $i(void 0);var J=$i,Ts=class{constructor(){this._first=J.Undefined,this._last=J.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===J.Undefined}clear(){let e=this._first;for(;e!==J.Undefined;){let s=e.next;e.prev=J.Undefined,e.next=J.Undefined,e=s}this._first=J.Undefined,this._last=J.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,s){let a=new J(e);if(this._first===J.Undefined)this._first=a,this._last=a;else if(s){let c=this._last;this._last=a,a.prev=c,c.next=a}else{let c=this._first;this._first=a,a.next=c,c.prev=a}this._size+=1;let l=!1;return()=>{l||(l=!0,this._remove(a))}}shift(){if(this._first!==J.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==J.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==J.Undefined&&e.next!==J.Undefined){let s=e.prev;s.next=e.next,e.next.prev=s}else e.prev===J.Undefined&&e.next===J.Undefined?(this._first=J.Undefined,this._last=J.Undefined):e.next===J.Undefined?(this._last=this._last.prev,this._last.next=J.Undefined):e.prev===J.Undefined&&(this._first=this._first.next,this._first.prev=J.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==J.Undefined;)yield e.element,e=e.next}},jn=globalThis.performance&&typeof globalThis.performance.now=="function",Xn=class e{static create(s){return new e(s)}constructor(s){this._now=jn&&s===!1?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 this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},Gn=!1,Ps=!1,Jn=!1,ge;((e)=>{e.None=()=>W.None;function s(k){if(Jn){let{onDidAddListener:x}=k,T=Ki.create(),L=0;k.onDidAddListener=()=>{++L===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),T.print()),x?.()}}}function a(k,x){return b(k,()=>{},0,void 0,!0,void 0,x)}e.defer=a;function l(k){return(x,T=null,L)=>{let O=!1,B;return B=k((F)=>{if(!O)return B?B.dispose():O=!0,x.call(T,F)},null,L),O&&B.dispose(),B}}e.once=l;function c(k,x,T){return v((L,O=null,B)=>k((F)=>L.call(O,x(F)),null,B),T)}e.map=c;function d(k,x,T){return v((L,O=null,B)=>k((F)=>{x(F),L.call(O,F)},null,B),T)}e.forEach=d;function u(k,x,T){return v((L,O=null,B)=>k((F)=>x(F)&&L.call(O,F),null,B),T)}e.filter=u;function p(k){return k}e.signal=p;function g(...k){return(x,T=null,L)=>{let O=Yn(...k.map((B)=>B((F)=>x.call(T,F))));return m(O,L)}}e.any=g;function f(k,x,T,L){let O=T;return c(k,(B)=>(O=x(O,B),O),L)}e.reduce=f;function v(k,x){let T,L={onWillAddFirstListener(){T=k(O.fire,O)},onDidRemoveLastListener(){T?.dispose()}};x||s(L);let O=new D(L);return x?.add(O),O.event}function m(k,x){return x instanceof Array?x.push(k):x&&x.add(k),k}function b(k,x,T=100,L=!1,O=!1,B,F){let Y,se,xe,He=0,le,qe={leakWarningThreshold:B,onWillAddFirstListener(){Y=k((rt)=>{He++,se=x(se,rt),L&&!xe&&(me.fire(se),se=void 0),le=()=>{let St=se;se=void 0,xe=void 0,(!L||He>1)&&me.fire(St),He=0},typeof T=="number"?(clearTimeout(xe),xe=setTimeout(le,T)):xe===void 0&&(xe=0,queueMicrotask(le))})},onWillRemoveListener(){O&&He>0&&le?.()},onDidRemoveLastListener(){le=void 0,Y.dispose()}};F||s(qe);let me=new D(qe);return F?.add(me),me.event}e.debounce=b;function w(k,x=0,T){return e.debounce(k,(L,O)=>L?(L.push(O),L):[O],x,void 0,!0,void 0,T)}e.accumulate=w;function S(k,x=(L,O)=>L===O,T){let L=!0,O;return u(k,(B)=>{let F=L||!x(B,O);return L=!1,O=B,F},T)}e.latch=S;function y(k,x,T){return[e.filter(k,x,T),e.filter(k,(L)=>!x(L),T)]}e.split=y;function R(k,x=!1,T=[],L){let O=T.slice(),B=k((se)=>{O?O.push(se):Y.fire(se)});L&&L.add(B);let F=()=>{O?.forEach((se)=>Y.fire(se)),O=null},Y=new D({onWillAddFirstListener(){B||(B=k((se)=>Y.fire(se)),L&&L.add(B))},onDidAddFirstListener(){O&&(x?setTimeout(F):F())},onDidRemoveLastListener(){B&&B.dispose(),B=null}});return L&&L.add(Y),Y.event}e.buffer=R;function P(k,x){return(T,L,O)=>{let B=x(new I);return k(function(F){let Y=B.evaluate(F);Y!==U&&T.call(L,Y)},void 0,O)}}e.chain=P;let U=Symbol("HaltChainable");class I{constructor(){this.steps=[]}map(k){return this.steps.push(k),this}forEach(k){return this.steps.push((x)=>(k(x),x)),this}filter(k){return this.steps.push((x)=>k(x)?x:U),this}reduce(k,x){let T=x;return this.steps.push((L)=>(T=k(T,L),T)),this}latch(k=(x,T)=>x===T){let x=!0,T;return this.steps.push((L)=>{let O=x||!k(L,T);return x=!1,T=L,O?L:U}),this}evaluate(k){for(let x of this.steps)if(k=x(k),k===U)break;return k}}function E(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.on(x,L),B=()=>k.removeListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}e.fromNodeEventEmitter=E;function A(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.addEventListener(x,L),B=()=>k.removeEventListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}e.fromDOMEventEmitter=A;function N(k){return new Promise((x)=>l(k)(x))}e.toPromise=N;function G(k){let x=new D;return k.then((T)=>{x.fire(T)},()=>{x.fire(void 0)}).finally(()=>{x.dispose()}),x.event}e.fromPromise=G;function Ce(k,x){return k((T)=>x.fire(T))}e.forward=Ce;function we(k,x,T){return x(T),k((L)=>x(L))}e.runAndSubscribe=we;class it{constructor(k,x){this._observable=k,this._counter=0,this._hasChanged=!1;let T={onWillAddFirstListener:()=>{k.addObserver(this)},onDidRemoveLastListener:()=>{k.removeObserver(this)}};x||s(T),this.emitter=new D(T),x&&x.add(this.emitter)}beginUpdate(k){this._counter++}handlePossibleChange(k){}handleChange(k,x){this._hasChanged=!0}endUpdate(k){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function V(k,x){return new it(k,x).emitter.event}e.fromObservable=V;function vt(k){return(x,T,L)=>{let O=0,B=!1,F={beginUpdate(){O++},endUpdate(){O--,O===0&&(k.reportChanges(),B&&(B=!1,x.call(T)))},handlePossibleChange(){},handleChange(){B=!0}};k.addObserver(F),k.reportChanges();let Y={dispose(){k.removeObserver(F)}};return L instanceof et?L.add(Y):Array.isArray(L)&&L.push(Y),Y}}e.fromObservableLight=vt})(ge||={});var Ui=class e{constructor(s){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${s}_${e._idPool++}`,e.all.add(this)}start(s){this._stopWatch=new Xn,this.listenerCount=s}stop(){if(this._stopWatch){let s=this._stopWatch.elapsed();this.durations.push(s),this.elapsedOverall+=s,this.invocationCount+=1,this._stopWatch=void 0}}};Ui.all=new Set,Ui._idPool=0;var Zn=Ui,As=-1,Hr=class e{constructor(s,a,l=(e._idPool++).toString(16).padStart(3,"0")){this._errorHandler=s,this.threshold=a,this.name=l,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(s,a){let l=this.threshold;if(l<=0||a<l)return;this._stacks||(this._stacks=new Map);let c=this._stacks.get(s.value)||0;if(this._stacks.set(s.value,c+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=l*0.5;let[d,u]=this.getMostFrequentStack(),p=`[${this.name}] potential listener LEAK detected, having ${a} listeners already. MOST frequent listener (${u}):`;console.warn(p),console.warn(d);let g=new eo(p,d);this._errorHandler(g)}return()=>{let d=this._stacks.get(s.value)||0;this._stacks.set(s.value,d-1)}}getMostFrequentStack(){if(!this._stacks)return;let s,a=0;for(let[l,c]of this._stacks)(!s||a<c)&&(s=[l,c],a=c);return s}};Hr._idPool=1;var Qn=Hr,Ki=class e{constructor(s){this.value=s}static create(){let s=Error();return new e(s.stack??"")}print(){console.warn(this.value.split(`
24
+ `),{leaks:l,details:u}}};Kn.idx=0;function qn(t){lt=t}if(Un){let t="__is_disposable_tracked__";qn(new class{trackDisposable(s){let a=Error("Potentially leaked disposable").stack;setTimeout(()=>{s[t]||console.log(a)},3000)}setParent(s,a){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsDisposed(s){if(s&&s!==W.None)try{s[t]=!0}catch{}}markAsSingleton(s){}})}function pi(t){return lt?.trackDisposable(t),t}function gi(t){lt?.markAsDisposed(t)}function It(t,s){lt?.setParent(t,s)}function Vn(t,s){if(lt)for(let a of t)lt.setParent(a,s)}function Ms(t){return lt?.markAsSingleton(t),t}function ct(t){if(Ir.is(t)){let s=[];for(let a of t)if(a)try{a.dispose()}catch(l){s.push(l)}if(s.length===1)throw s[0];if(s.length>1)throw AggregateError(s,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function Yn(...t){let s=X(()=>ct(t));return Vn(t,s),s}function X(t){let s=pi({dispose:$n(()=>{gi(s),t()})});return s}var Nr=class t{constructor(){this._toDispose=new Set,this._isDisposed=!1,pi(this)}dispose(){this._isDisposed||(gi(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ct(this._toDispose)}finally{this._toDispose.clear()}}add(s){if(!s)return s;if(s===this)throw Error("Cannot register a disposable on itself!");return It(s,this),this._isDisposed?t.DISABLE_DISPOSED_WARNING||console.warn(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(s),s}delete(s){if(s){if(s===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(s),s.dispose()}}deleteAndLeak(s){s&&this._toDispose.has(s)&&(this._toDispose.delete(s),It(s,null))}};Nr.DISABLE_DISPOSED_WARNING=!1;var et=Nr,W=class{constructor(){this._store=new et,pi(this),It(this._store,this)}dispose(){gi(this),this._store.dispose()}_register(t){if(t===this)throw Error("Cannot register a disposable on itself!");return this._store.add(t)}};W.None=Object.freeze({dispose(){}});var pt=class{constructor(){this._isDisposed=!1,pi(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&It(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gi(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&It(t,null),t}},Be=typeof window=="object"?window:globalThis,$i=class t{constructor(s){this.element=s,this.next=t.Undefined,this.prev=t.Undefined}};$i.Undefined=new $i(void 0);var J=$i,Ts=class{constructor(){this._first=J.Undefined,this._last=J.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===J.Undefined}clear(){let t=this._first;for(;t!==J.Undefined;){let s=t.next;t.prev=J.Undefined,t.next=J.Undefined,t=s}this._first=J.Undefined,this._last=J.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,s){let a=new J(t);if(this._first===J.Undefined)this._first=a,this._last=a;else if(s){let c=this._last;this._last=a,a.prev=c,c.next=a}else{let c=this._first;this._first=a,a.next=c,c.prev=a}this._size+=1;let l=!1;return()=>{l||(l=!0,this._remove(a))}}shift(){if(this._first!==J.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==J.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==J.Undefined&&t.next!==J.Undefined){let s=t.prev;s.next=t.next,t.next.prev=s}else t.prev===J.Undefined&&t.next===J.Undefined?(this._first=J.Undefined,this._last=J.Undefined):t.next===J.Undefined?(this._last=this._last.prev,this._last.next=J.Undefined):t.prev===J.Undefined&&(this._first=this._first.next,this._first.prev=J.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==J.Undefined;)yield t.element,t=t.next}},jn=globalThis.performance&&typeof globalThis.performance.now=="function",Xn=class t{static create(s){return new t(s)}constructor(s){this._now=jn&&s===!1?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 this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},Gn=!1,Ps=!1,Jn=!1,ge;((t)=>{t.None=()=>W.None;function s(k){if(Jn){let{onDidAddListener:x}=k,T=Ki.create(),L=0;k.onDidAddListener=()=>{++L===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),T.print()),x?.()}}}function a(k,x){return S(k,()=>{},0,void 0,!0,void 0,x)}t.defer=a;function l(k){return(x,T=null,L)=>{let O=!1,B;return B=k((F)=>{if(!O)return B?B.dispose():O=!0,x.call(T,F)},null,L),O&&B.dispose(),B}}t.once=l;function c(k,x,T){return m((L,O=null,B)=>k((F)=>L.call(O,x(F)),null,B),T)}t.map=c;function d(k,x,T){return m((L,O=null,B)=>k((F)=>{x(F),L.call(O,F)},null,B),T)}t.forEach=d;function u(k,x,T){return m((L,O=null,B)=>k((F)=>x(F)&&L.call(O,F),null,B),T)}t.filter=u;function f(k){return k}t.signal=f;function p(...k){return(x,T=null,L)=>{let O=Yn(...k.map((B)=>B((F)=>x.call(T,F))));return g(O,L)}}t.any=p;function _(k,x,T,L){let O=T;return c(k,(B)=>(O=x(O,B),O),L)}t.reduce=_;function m(k,x){let T,L={onWillAddFirstListener(){T=k(O.fire,O)},onDidRemoveLastListener(){T?.dispose()}};x||s(L);let O=new D(L);return x?.add(O),O.event}function g(k,x){return x instanceof Array?x.push(k):x&&x.add(k),k}function S(k,x,T=100,L=!1,O=!1,B,F){let Y,se,xe,He=0,le,qe={leakWarningThreshold:B,onWillAddFirstListener(){Y=k((st)=>{He++,se=x(se,st),L&&!xe&&(me.fire(se),se=void 0),le=()=>{let St=se;se=void 0,xe=void 0,(!L||He>1)&&me.fire(St),He=0},typeof T=="number"?(clearTimeout(xe),xe=setTimeout(le,T)):xe===void 0&&(xe=0,queueMicrotask(le))})},onWillRemoveListener(){O&&He>0&&le?.()},onDidRemoveLastListener(){le=void 0,Y.dispose()}};F||s(qe);let me=new D(qe);return F?.add(me),me.event}t.debounce=S;function w(k,x=0,T){return t.debounce(k,(L,O)=>L?(L.push(O),L):[O],x,void 0,!0,void 0,T)}t.accumulate=w;function v(k,x=(L,O)=>L===O,T){let L=!0,O;return u(k,(B)=>{let F=L||!x(B,O);return L=!1,O=B,F},T)}t.latch=v;function y(k,x,T){return[t.filter(k,x,T),t.filter(k,(L)=>!x(L),T)]}t.split=y;function R(k,x=!1,T=[],L){let O=T.slice(),B=k((se)=>{O?O.push(se):Y.fire(se)});L&&L.add(B);let F=()=>{O?.forEach((se)=>Y.fire(se)),O=null},Y=new D({onWillAddFirstListener(){B||(B=k((se)=>Y.fire(se)),L&&L.add(B))},onDidAddFirstListener(){O&&(x?setTimeout(F):F())},onDidRemoveLastListener(){B&&B.dispose(),B=null}});return L&&L.add(Y),Y.event}t.buffer=R;function P(k,x){return(T,L,O)=>{let B=x(new I);return k(function(F){let Y=B.evaluate(F);Y!==U&&T.call(L,Y)},void 0,O)}}t.chain=P;let U=Symbol("HaltChainable");class I{constructor(){this.steps=[]}map(k){return this.steps.push(k),this}forEach(k){return this.steps.push((x)=>(k(x),x)),this}filter(k){return this.steps.push((x)=>k(x)?x:U),this}reduce(k,x){let T=x;return this.steps.push((L)=>(T=k(T,L),T)),this}latch(k=(x,T)=>x===T){let x=!0,T;return this.steps.push((L)=>{let O=x||!k(L,T);return x=!1,T=L,O?L:U}),this}evaluate(k){for(let x of this.steps)if(k=x(k),k===U)break;return k}}function E(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.on(x,L),B=()=>k.removeListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromNodeEventEmitter=E;function A(k,x,T=(L)=>L){let L=(...Y)=>F.fire(T(...Y)),O=()=>k.addEventListener(x,L),B=()=>k.removeEventListener(x,L),F=new D({onWillAddFirstListener:O,onDidRemoveLastListener:B});return F.event}t.fromDOMEventEmitter=A;function N(k){return new Promise((x)=>l(k)(x))}t.toPromise=N;function G(k){let x=new D;return k.then((T)=>{x.fire(T)},()=>{x.fire(void 0)}).finally(()=>{x.dispose()}),x.event}t.fromPromise=G;function Ce(k,x){return k((T)=>x.fire(T))}t.forward=Ce;function we(k,x,T){return x(T),k((L)=>x(L))}t.runAndSubscribe=we;class it{constructor(k,x){this._observable=k,this._counter=0,this._hasChanged=!1;let T={onWillAddFirstListener:()=>{k.addObserver(this)},onDidRemoveLastListener:()=>{k.removeObserver(this)}};x||s(T),this.emitter=new D(T),x&&x.add(this.emitter)}beginUpdate(k){this._counter++}handlePossibleChange(k){}handleChange(k,x){this._hasChanged=!0}endUpdate(k){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function V(k,x){return new it(k,x).emitter.event}t.fromObservable=V;function vt(k){return(x,T,L)=>{let O=0,B=!1,F={beginUpdate(){O++},endUpdate(){O--,O===0&&(k.reportChanges(),B&&(B=!1,x.call(T)))},handlePossibleChange(){},handleChange(){B=!0}};k.addObserver(F),k.reportChanges();let Y={dispose(){k.removeObserver(F)}};return L instanceof et?L.add(Y):Array.isArray(L)&&L.push(Y),Y}}t.fromObservableLight=vt})(ge||={});var Ui=class t{constructor(s){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${s}_${t._idPool++}`,t.all.add(this)}start(s){this._stopWatch=new Xn,this.listenerCount=s}stop(){if(this._stopWatch){let s=this._stopWatch.elapsed();this.durations.push(s),this.elapsedOverall+=s,this.invocationCount+=1,this._stopWatch=void 0}}};Ui.all=new Set,Ui._idPool=0;var Zn=Ui,As=-1,Hr=class t{constructor(s,a,l=(t._idPool++).toString(16).padStart(3,"0")){this._errorHandler=s,this.threshold=a,this.name=l,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(s,a){let l=this.threshold;if(l<=0||a<l)return;this._stacks||(this._stacks=new Map);let c=this._stacks.get(s.value)||0;if(this._stacks.set(s.value,c+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=l*0.5;let[d,u]=this.getMostFrequentStack(),f=`[${this.name}] potential listener LEAK detected, having ${a} listeners already. MOST frequent listener (${u}):`;console.warn(f),console.warn(d);let p=new eo(f,d);this._errorHandler(p)}return()=>{let d=this._stacks.get(s.value)||0;this._stacks.set(s.value,d-1)}}getMostFrequentStack(){if(!this._stacks)return;let s,a=0;for(let[l,c]of this._stacks)(!s||a<c)&&(s=[l,c],a=c);return s}};Hr._idPool=1;var Qn=Hr,Ki=class t{constructor(s){this.value=s}static create(){let s=Error();return new t(s.stack??"")}print(){console.warn(this.value.split(`
25
25
  `).slice(2).join(`
26
- `))}},eo=class extends Error{constructor(e,s){super(e),this.name="ListenerLeakError",this.stack=s}},to=class extends Error{constructor(e,s){super(e),this.name="ListenerRefusalError",this.stack=s}},io=0,Jt=class{constructor(e){this.value=e,this.id=io++}},so=2,ro=(e,s)=>{if(e instanceof Jt)s(e);else for(let a=0;a<e.length;a++){let l=e[a];l&&s(l)}},Zt;if(Gn){let e=[];setInterval(()=>{e.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(e.join(`
27
- `)),e.length=0)},3000),Zt=new FinalizationRegistry((s)=>{typeof s=="string"&&e.push(s)})}var D=class{constructor(e){this._size=0,this._options=e,this._leakageMon=As>0||this._options?.leakWarningThreshold?new Qn(e?.onListenerError??Gt,this._options?.leakWarningThreshold??As):void 0,this._perfMon=this._options?._profName?new Zn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(Ps){let e=this._listeners;queueMicrotask(()=>{ro(e,(s)=>s.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,s,a)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let p=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(p);let g=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],f=new to(`${p}. HINT: Stack shows most frequent listener (${g[1]}-times)`,g[0]);return(this._options?.onListenerError||Gt)(f),W.None}if(this._disposed)return W.None;s&&(e=e.bind(s));let l=new Jt(e),c,d;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2)&&(l.stack=Ki.create(),c=this._leakageMon.check(l.stack,this._size+1)),Ps&&(l.stack=d??Ki.create()),this._listeners?this._listeners instanceof Jt?(this._deliveryQueue??=new no,this._listeners=[this._listeners,l]):this._listeners.push(l):(this._options?.onWillAddFirstListener?.(this),this._listeners=l,this._options?.onDidAddFirstListener?.(this)),this._size++;let u=X(()=>{Zt?.unregister(u),c?.(),this._removeListener(l)});if(a instanceof et?a.add(u):Array.isArray(a)&&a.push(u),Zt){let p=Error().stack.split(`
26
+ `))}},eo=class extends Error{constructor(t,s){super(t),this.name="ListenerLeakError",this.stack=s}},to=class extends Error{constructor(t,s){super(t),this.name="ListenerRefusalError",this.stack=s}},io=0,Jt=class{constructor(t){this.value=t,this.id=io++}},so=2,ro=(t,s)=>{if(t instanceof Jt)s(t);else for(let a=0;a<t.length;a++){let l=t[a];l&&s(l)}},Zt;if(Gn){let t=[];setInterval(()=>{t.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(t.join(`
27
+ `)),t.length=0)},3000),Zt=new FinalizationRegistry((s)=>{typeof s=="string"&&t.push(s)})}var D=class{constructor(t){this._size=0,this._options=t,this._leakageMon=As>0||this._options?.leakWarningThreshold?new Qn(t?.onListenerError??Gt,this._options?.leakWarningThreshold??As):void 0,this._perfMon=this._options?._profName?new Zn(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(Ps){let t=this._listeners;queueMicrotask(()=>{ro(t,(s)=>s.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,s,a)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let f=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(f);let p=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],_=new to(`${f}. HINT: Stack shows most frequent listener (${p[1]}-times)`,p[0]);return(this._options?.onListenerError||Gt)(_),W.None}if(this._disposed)return W.None;s&&(t=t.bind(s));let l=new Jt(t),c,d;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2)&&(l.stack=Ki.create(),c=this._leakageMon.check(l.stack,this._size+1)),Ps&&(l.stack=d??Ki.create()),this._listeners?this._listeners instanceof Jt?(this._deliveryQueue??=new no,this._listeners=[this._listeners,l]):this._listeners.push(l):(this._options?.onWillAddFirstListener?.(this),this._listeners=l,this._options?.onDidAddFirstListener?.(this)),this._size++;let u=X(()=>{Zt?.unregister(u),c?.(),this._removeListener(l)});if(a instanceof et?a.add(u):Array.isArray(a)&&a.push(u),Zt){let f=Error().stack.split(`
28
28
  `).slice(2,3).join(`
29
- `).trim(),g=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(p);Zt.register(u,g?.[2]??p,u)}return u},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let s=this._listeners,a=s.indexOf(e);if(a===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;let l=this._deliveryQueue.current===this;if(this._size*so<=s.length){let c=0;for(let d=0;d<s.length;d++)s[d]?s[c++]=s[d]:l&&(this._deliveryQueue.end--,c<this._deliveryQueue.i&&this._deliveryQueue.i--);s.length=c}}_deliver(e,s){if(!e)return;let a=this._options?.onListenerError||Gt;if(!a){e.value(s);return}try{e.value(s)}catch(l){a(l)}}_deliverQueue(e){let s=e.current._listeners;for(;e.i<e.end;)this._deliver(s[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jt)this._deliver(this._listeners,e);else{let s=this._deliveryQueue;s.enqueue(this,e,this._listeners.length),this._deliverQueue(s)}this._perfMon?.stop()}hasListeners(){return this._size>0}},no=class{constructor(){this.i=-1,this.end=0}enqueue(e,s,a){this.i=0,this.end=a,this.current=e,this.value=s}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},qi=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new D,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new D,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(s){return this.mapWindowIdToZoomLevel.get(this.getWindowId(s))??0}setZoomLevel(s,a){if(this.getZoomLevel(a)===s)return;let l=this.getWindowId(a);this.mapWindowIdToZoomLevel.set(l,s),this._onDidChangeZoomLevel.fire(l)}getZoomFactor(s){return this.mapWindowIdToZoomFactor.get(this.getWindowId(s))??1}setZoomFactor(s,a){this.mapWindowIdToZoomFactor.set(this.getWindowId(a),s)}setFullscreen(s,a){if(this.isFullscreen(a)===s)return;let l=this.getWindowId(a);this.mapWindowIdToFullScreen.set(l,s),this._onDidChangeFullscreen.fire(l)}isFullscreen(s){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(s))}getWindowId(s){return s.vscodeWindowId}};qi.INSTANCE=new qi;var fs=qi;function oo(e,s,a){typeof s=="string"&&(s=e.matchMedia(s)),s.addEventListener("change",a)}var ll=fs.INSTANCE.onDidChangeZoomLevel;function ao(e){return fs.INSTANCE.getZoomFactor(e)}var cl=fs.INSTANCE.onDidChangeFullscreen,mt=typeof navigator=="object"?navigator.userAgent:"",Vi=mt.indexOf("Firefox")>=0,Qt=mt.indexOf("AppleWebKit")>=0,ps=mt.indexOf("Chrome")>=0,Wr=!ps&&mt.indexOf("Safari")>=0,dl=mt.indexOf("Electron/")>=0,ul=mt.indexOf("Android")>=0,ei=!1;if(typeof Be.matchMedia=="function"){let e=Be.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),s=Be.matchMedia("(display-mode: fullscreen)");ei=e.matches,oo(Be,e,({matches:a})=>{ei&&s.matches||(ei=a)})}function ho(){return ei}var ft="en",ni=!1,oi=!1,At=!1,lo=!1,zr=!1,Fr=!1,co=!1,uo=!1,_o=!1,fo=!1,qt,ti=ft,Os=ft,po,ze,$e=globalThis,De;typeof $e.vscode<"u"&&typeof $e.vscode.process<"u"?De=$e.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(De=process);var $r=typeof De?.versions?.electron=="string",go=$r&&De?.type==="renderer";if(typeof De=="object"){ni=De.platform==="win32",oi=De.platform==="darwin",At=De.platform==="linux",lo=At&&!!De.env.SNAP&&!!De.env.SNAP_REVISION,co=$r,_o=!!De.env.CI||!!De.env.BUILD_ARTIFACTSTAGINGDIRECTORY,qt=ft,ti=ft;let e=De.env.VSCODE_NLS_CONFIG;if(e)try{let s=JSON.parse(e);qt=s.userLocale,Os=s.osLocale,ti=s.resolvedLanguage||ft,po=s.languagePack?.translationsConfigFile}catch{}zr=!0}else typeof navigator=="object"&&!go?(ze=navigator.userAgent,ni=ze.indexOf("Windows")>=0,oi=ze.indexOf("Macintosh")>=0,uo=(ze.indexOf("Macintosh")>=0||ze.indexOf("iPad")>=0||ze.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,At=ze.indexOf("Linux")>=0,fo=ze?.indexOf("Mobi")>=0,Fr=!0,ti=globalThis._VSCODE_NLS_LANGUAGE||ft,qt=navigator.language.toLowerCase(),Os=qt):console.error("Unable to resolve platform.");var wi=0;oi?wi=1:ni?wi=3:At&&(wi=2);var Ur=ni,Ie=oi,mo=At,yi=zr,vo=Fr&&typeof $e.importScripts=="function",_l=vo?$e.origin:void 0,Ne=ze,je=ti,So;((e)=>{function s(){return je}e.value=s;function a(){return je.length===2?je==="en":je.length>=3?je[0]==="e"&&je[1]==="n"&&je[2]==="-":!1}e.isDefaultVariant=a;function l(){return je==="en"}e.isDefault=l})(So||={});var bo=typeof $e.postMessage=="function"&&!$e.importScripts,wo=(()=>{if(bo){let e=[];$e.addEventListener("message",(a)=>{if(a.data&&a.data.vscodeScheduleAsyncWork)for(let l=0,c=e.length;l<c;l++){let d=e[l];if(d.id===a.data.vscodeScheduleAsyncWork){e.splice(l,1),d.callback();return}}});let s=0;return(a)=>{let l=++s;e.push({id:l,callback:a}),$e.postMessage({vscodeScheduleAsyncWork:l},"*")}}return(e)=>setTimeout(e)})(),yo=!!(Ne&&Ne.indexOf("Chrome")>=0),fl=!!(Ne&&Ne.indexOf("Firefox")>=0),pl=!!(!yo&&Ne&&Ne.indexOf("Safari")>=0),gl=!!(Ne&&Ne.indexOf("Edg/")>=0),ml=!!(Ne&&Ne.indexOf("Android")>=0),Xe=typeof navigator=="object"?navigator:{},vl={clipboard:{writeText:yi||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Xe&&Xe.clipboard&&Xe.clipboard.writeText),readText:yi||!!(Xe&&Xe.clipboard&&Xe.clipboard.readText)},keyboard:yi||ho()?0:Xe.keyboard||Wr?1:2,touch:"ontouchstart"in Be||Xe.maxTouchPoints>0,pointerEvents:Be.PointerEvent&&(("ontouchstart"in Be)||navigator.maxTouchPoints>0)},gs=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,s){this._keyCodeToStr[e]=s,this._strToKeyCode[s.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Ci=new gs,Is=new gs,Ns=new gs,Co=Array(230),Kr;((e)=>{function s(p){return Ci.keyCodeToStr(p)}e.toString=s;function a(p){return Ci.strToKeyCode(p)}e.fromString=a;function l(p){return Is.keyCodeToStr(p)}e.toUserSettingsUS=l;function c(p){return Ns.keyCodeToStr(p)}e.toUserSettingsGeneral=c;function d(p){return Is.strToKeyCode(p)||Ns.strToKeyCode(p)}e.fromUserSettings=d;function u(p){if(p>=98&&p<=113)return null;switch(p){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ci.keyCodeToStr(p)}e.toElectronAccelerator=u})(Kr||={});var xo=class e{constructor(s,a,l,c,d){this.ctrlKey=s,this.shiftKey=a,this.altKey=l,this.metaKey=c,this.keyCode=d}equals(s){return s instanceof e&&this.ctrlKey===s.ctrlKey&&this.shiftKey===s.shiftKey&&this.altKey===s.altKey&&this.metaKey===s.metaKey&&this.keyCode===s.keyCode}getHashCode(){let s=this.ctrlKey?"1":"0",a=this.shiftKey?"1":"0",l=this.altKey?"1":"0",c=this.metaKey?"1":"0";return`K${s}${a}${l}${c}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new ko([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ko=class{constructor(e){if(e.length===0)throw On("chords");this.chords=e}getHashCode(){let e="";for(let s=0,a=this.chords.length;s<a;s++)s!==0&&(e+=";"),e+=this.chords[s].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let s=0;s<this.chords.length;s++)if(!this.chords[s].equals(e.chords[s]))return!1;return!0}};function Eo(e){if(e.charCode){let a=String.fromCharCode(e.charCode).toUpperCase();return Kr.fromString(a)}let s=e.keyCode;if(s===3)return 7;if(Vi)switch(s){case 59:return 85;case 60:if(mo)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ie)return 57;break}else if(Qt){if(Ie&&s===93)return 57;if(!Ie&&s===92)return 57}return Co[s]||0}var Do=Ie?256:2048,Bo=512,Ro=1024,Lo=Ie?2048:256,Yi=class{constructor(e){this._standardKeyboardEventBrand=!0;let s=e;this.browserEvent=s,this.target=s.target,this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,this.altGraphKey=s.getModifierState?.("AltGraph"),this.keyCode=Eo(s),this.code=s.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let s=0;return this.ctrlKey&&(s|=Do),this.altKey&&(s|=Bo),this.shiftKey&&(s|=Ro),this.metaKey&&(s|=Lo),s|=e,s}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new xo(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},Hs=new WeakMap;function Mo(e){if(!e.parent||e.parent===e)return null;try{let s=e.location,a=e.parent.location;if(s.origin!=="null"&&a.origin!=="null"&&s.origin!==a.origin)return null}catch{return null}return e.parent}var To=class{static getSameOriginWindowChain(e){let s=Hs.get(e);if(!s){s=[],Hs.set(e,s);let a=e,l;do l=Mo(a),l?s.push({window:new WeakRef(a),iframeElement:a.frameElement||null}):s.push({window:new WeakRef(a),iframeElement:null}),a=l;while(a)}return s.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,s){if(!s||e===s)return{top:0,left:0};let a=0,l=0,c=this.getSameOriginWindowChain(e);for(let d of c){let u=d.window.deref();if(a+=u?.scrollY??0,l+=u?.scrollX??0,u===s||!d.iframeElement)break;let p=d.iframeElement.getBoundingClientRect();a+=p.top,l+=p.left}return{top:a,left:l}}},Bt=class{constructor(e,s){this.timestamp=Date.now(),this.browserEvent=s,this.leftButton=s.button===0,this.middleButton=s.button===1,this.rightButton=s.button===2,this.buttons=s.buttons,this.target=s.target,this.detail=s.detail||1,s.type==="dblclick"&&(this.detail=2),this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,typeof s.pageX=="number"?(this.posx=s.pageX,this.posy=s.pageY):(this.posx=s.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=s.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let a=To.getPositionOfChildWindowRelativeToAncestorWindow(e,s.view);this.posx-=a.left,this.posy-=a.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Ws=class{constructor(e,s=0,a=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=a,this.deltaX=s;let l=!1;if(ps){let c=navigator.userAgent.match(/Chrome\/(\d+)/);l=(c?parseInt(c[1]):123)<=122}if(e){let c=e,d=e,u=e.view?.devicePixelRatio||1;if(typeof c.wheelDeltaY<"u")l?this.deltaY=c.wheelDeltaY/(120*u):this.deltaY=c.wheelDeltaY/120;else if(typeof d.VERTICAL_AXIS<"u"&&d.axis===d.VERTICAL_AXIS)this.deltaY=-d.detail/3;else if(e.type==="wheel"){let p=e;p.deltaMode===p.DOM_DELTA_LINE?Vi&&!Ie?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(typeof c.wheelDeltaX<"u")Wr&&Ur?this.deltaX=-(c.wheelDeltaX/120):l?this.deltaX=c.wheelDeltaX/(120*u):this.deltaX=c.wheelDeltaX/120;else if(typeof d.HORIZONTAL_AXIS<"u"&&d.axis===d.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type==="wheel"){let p=e;p.deltaMode===p.DOM_DELTA_LINE?Vi&&!Ie?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(l?this.deltaY=e.wheelDelta/(120*u):this.deltaY=e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},qr=Object.freeze(function(e,s){let a=setTimeout(e.bind(s),0);return{dispose(){clearTimeout(a)}}}),Po;((e)=>{function s(a){return a===e.None||a===e.Cancelled||a instanceof Ao?!0:!a||typeof a!="object"?!1:typeof a.isCancellationRequested=="boolean"&&typeof a.onCancellationRequested=="function"}e.isCancellationToken=s,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ge.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qr})})(Po||={});var Ao=class{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?qr:(this._emitter||(this._emitter=new D),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Sl=Symbol("MicrotaskDelay"),ms=class{constructor(e,s){this._isDisposed=!1,this._token=-1,typeof e=="function"&&typeof s=="number"&&this.setIfNotSet(e,s)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,s){if(this._isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},s)}setIfNotSet(e,s){if(this._isDisposed)throw new Fi("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},s))}},Oo=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,s,a=globalThis){if(this.isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let l=a.setInterval(()=>{e()},s);this.disposable=X(()=>{a.clearInterval(l),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Io,xi;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?xi=(e,s)=>{wo(()=>{if(a)return;let l=Date.now()+15;s(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,l-Date.now())}}))});let a=!1;return{dispose(){a||(a=!0)}}}:xi=(e,s,a)=>{let l=e.requestIdleCallback(s,typeof a=="number"?{timeout:a}:void 0),c=!1;return{dispose(){c||(c=!0,e.cancelIdleCallback(l))}}},Io=(e)=>xi(globalThis,e)})();var No;((e)=>{async function s(l){let c,d=await Promise.all(l.map((u)=>u.then((p)=>p,(p)=>{c||(c=p)})));if(typeof c<"u")throw c;return d}e.settled=s;function a(l){return new Promise(async(c,d)=>{try{await l(c,d)}catch(u){d(u)}})}e.withAsyncBody=a})(No||={});var zs=class e{static fromArray(s){return new e((a)=>{a.emitMany(s)})}static fromPromise(s){return new e(async(a)=>{a.emitMany(await s)})}static fromPromises(s){return new e(async(a)=>{await Promise.all(s.map(async(l)=>a.emitOne(await l)))})}static merge(s){return new e(async(a)=>{await Promise.all(s.map(async(l)=>{for await(let c of l)a.emitOne(c)}))})}constructor(s,a){this._state=0,this._results=[],this._error=null,this._onReturn=a,this._onStateChanged=new D,queueMicrotask(async()=>{let l={emitOne:(c)=>this.emitOne(c),emitMany:(c)=>this.emitMany(c),reject:(c)=>this.reject(c)};try{await Promise.resolve(s(l)),this.resolve()}catch(c){this.reject(c)}finally{l.emitOne=void 0,l.emitMany=void 0,l.reject=void 0}})}[Symbol.asyncIterator](){let s=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(s<this._results.length)return{done:!1,value:this._results[s++]};if(this._state===1)return{done:!0,value:void 0};await ge.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(s,a){return new e(async(l)=>{for await(let c of s)l.emitOne(a(c))})}map(s){return e.map(this,s)}static filter(s,a){return new e(async(l)=>{for await(let c of s)a(c)&&l.emitOne(c)})}filter(s){return e.filter(this,s)}static coalesce(s){return e.filter(s,(a)=>!!a)}coalesce(){return e.coalesce(this)}static async toPromise(s){let a=[];for await(let l of s)a.push(l);return a}toPromise(){return e.toPromise(this)}emitOne(s){this._state===0&&(this._results.push(s),this._onStateChanged.fire())}emitMany(s){this._state===0&&(this._results=this._results.concat(s),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(s){this._state===0&&(this._state=2,this._error=s,this._onStateChanged.fire())}};zs.EMPTY=zs.fromArray([]);function Ho(e){return 55296<=e&&e<=56319}function Fs(e){return 56320<=e&&e<=57343}function Wo(e,s){return(e-55296<<10)+(s-56320)+65536}function zo(e){return vs(e,0)}function vs(e,s){switch(typeof e){case"object":return e===null?Fe(349,s):Array.isArray(e)?$o(e,s):Uo(e,s);case"string":return Vr(e,s);case"boolean":return Fo(e,s);case"number":return Fe(e,s);case"undefined":return Fe(937,s);default:return Fe(617,s)}}function Fe(e,s){return(s<<5)-s+e|0}function Fo(e,s){return Fe(e?433:863,s)}function Vr(e,s){s=Fe(149417,s);for(let a=0,l=e.length;a<l;a++)s=Fe(e.charCodeAt(a),s);return s}function $o(e,s){return s=Fe(104579,s),e.reduce((a,l)=>vs(l,a),s)}function Uo(e,s){return s=Fe(181387,s),Object.keys(e).sort().reduce((a,l)=>(a=Vr(l,a),vs(e[l],a)),s)}function ki(e,s,a=32){let l=a-s,c=~((1<<l)-1);return(e<<s|(c&e)>>>l)>>>0}function $s(e,s=0,a=e.byteLength,l=0){for(let c=0;c<a;c++)e[s+c]=l}function Ko(e,s,a="0"){for(;e.length<s;)e=a+e;return e}function wt(e,s=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map((a)=>a.toString(16).padStart(2,"0")).join(""):Ko((e>>>0).toString(16),s/4)}var qo=class e{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(s){let a=s.length;if(a===0)return;let l=this._buff,c=this._buffLen,d=this._leftoverHighSurrogate,u,p;for(d!==0?(u=d,p=-1,d=0):(u=s.charCodeAt(0),p=0);;){let g=u;if(Ho(u))if(p+1<a){let f=s.charCodeAt(p+1);Fs(f)?(p++,g=Wo(u,f)):g=65533}else{d=u;break}else Fs(u)&&(g=65533);if(c=this._push(l,c,g),p++,p<a)u=s.charCodeAt(p);else break}this._buffLen=c,this._leftoverHighSurrogate=d}_push(s,a,l){return l<128?s[a++]=l:l<2048?(s[a++]=192|(l&1984)>>>6,s[a++]=128|(l&63)>>>0):l<65536?(s[a++]=224|(l&61440)>>>12,s[a++]=128|(l&4032)>>>6,s[a++]=128|(l&63)>>>0):(s[a++]=240|(l&1835008)>>>18,s[a++]=128|(l&258048)>>>12,s[a++]=128|(l&4032)>>>6,s[a++]=128|(l&63)>>>0),a>=64&&(this._step(),a-=64,this._totalLen+=64,s[0]=s[64],s[1]=s[65],s[2]=s[66]),a}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()),wt(this._h0)+wt(this._h1)+wt(this._h2)+wt(this._h3)+wt(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,$s(this._buff,this._buffLen),this._buffLen>56&&(this._step(),$s(this._buff));let s=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(s/4294967296),!1),this._buffDV.setUint32(60,s%4294967296,!1),this._step()}_step(){let s=e._bigBlock32,a=this._buffDV;for(let m=0;m<64;m+=4)s.setUint32(m,a.getUint32(m,!1),!1);for(let m=64;m<320;m+=4)s.setUint32(m,ki(s.getUint32(m-12,!1)^s.getUint32(m-32,!1)^s.getUint32(m-56,!1)^s.getUint32(m-64,!1),1),!1);let l=this._h0,c=this._h1,d=this._h2,u=this._h3,p=this._h4,g,f,v;for(let m=0;m<80;m++)m<20?(g=c&d|~c&u,f=1518500249):m<40?(g=c^d^u,f=1859775393):m<60?(g=c&d|c&u|d&u,f=2400959708):(g=c^d^u,f=3395469782),v=ki(l,5)+g+p+f+s.getUint32(m*4,!1)&4294967295,p=u,u=d,d=ki(c,30),c=l,l=v;this._h0=this._h0+l&4294967295,this._h1=this._h1+c&4294967295,this._h2=this._h2+d&4294967295,this._h3=this._h3+u&4294967295,this._h4=this._h4+p&4294967295}};qo._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:bl,getWindow:Te,getDocument:wl,getWindows:yl,getWindowsCount:Cl,getWindowId:Us,getWindowById:xl,hasWindow:kl,onDidRegisterWindow:Vo,onWillUnregisterWindow:El,onDidUnregisterWindow:Dl}=function(){let e=new Map,s={window:Be,disposables:new et};e.set(Be.vscodeWindowId,s);let a=new D,l=new D,c=new D;function d(u,p){return(typeof u=="number"?e.get(u):void 0)??(p?s:void 0)}return{onDidRegisterWindow:a.event,onWillUnregisterWindow:c.event,onDidUnregisterWindow:l.event,registerWindow(u){if(e.has(u.vscodeWindowId))return W.None;let p=new et,g={window:u,disposables:p.add(new et)};return e.set(u.vscodeWindowId,g),p.add(X(()=>{e.delete(u.vscodeWindowId),l.fire(u)})),p.add(H(u,ce.BEFORE_UNLOAD,()=>{c.fire(u)})),a.fire(g),p},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(u){return u.vscodeWindowId},hasWindow(u){return e.has(u)},getWindowById:d,getWindow(u){let p=u;if(p?.ownerDocument?.defaultView)return p.ownerDocument.defaultView.window;let g=u;return g?.view?g.view.window:Be},getDocument(u){return Te(u).document}}}(),Yo=class{constructor(e,s,a,l){this._node=e,this._type=s,this._handler=a,this._options=l||!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 H(e,s,a,l){return new Yo(e,s,a,l)}function jo(e,s){return function(a){return s(new Bt(e,a))}}function Xo(e){return function(s){return e(new Yi(s))}}var Ks=function(e,s,a,l){let c=a;return s==="click"||s==="mousedown"||s==="contextmenu"?c=jo(Te(e),a):(s==="keydown"||s==="keypress"||s==="keyup")&&(c=Xo(a)),H(e,s,c,l)},Go,ai,Jo=class extends Oo{constructor(e){super(),this.defaultTarget=e&&Te(e)}cancelAndSet(e,s,a){return super.cancelAndSet(e,s,a??this.defaultTarget)}},Ei=class{constructor(e,s=0){this._runner=e,this.priority=s,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){Gt(e)}}static sort(e,s){return s.priority-e.priority}};(function(){let e=new Map,s=new Map,a=new Map,l=new Map,c=(d)=>{a.set(d,!1);let u=e.get(d)??[];for(s.set(d,u),e.set(d,[]),l.set(d,!0);u.length>0;)u.sort(Ei.sort),u.shift().execute();l.set(d,!1)};ai=(d,u,p=0)=>{let g=Us(d),f=new Ei(u,p),v=e.get(g);return v||(v=[],e.set(g,v)),v.push(f),a.get(g)||(a.set(g,!0),d.requestAnimationFrame(()=>c(g))),f},Go=(d,u,p)=>{let g=Us(d);if(l.get(g)){let f=new Ei(u,p),v=s.get(g);return v||(v=[],s.set(g,v)),v.push(f),f}else return ai(d,u,p)}})();var qs=class e{constructor(s,a){this.width=s,this.height=a}with(s=this.width,a=this.height){return s!==this.width||a!==this.height?new e(s,a):this}static is(s){return typeof s=="object"&&typeof s.height=="number"&&typeof s.width=="number"}static lift(s){return s instanceof e?s:new e(s.width,s.height)}static equals(s,a){return s===a?!0:!s||!a?!1:s.width===a.width&&s.height===a.height}};qs.None=new qs(0,0);function Zo(e){let s=e.getBoundingClientRect(),a=Te(e);return{left:s.left+a.scrollX,top:s.top+a.scrollY,width:s.width,height:s.height}}var Bl=new class{constructor(){this.mutationObservers=new Map}observe(e,s,a){let l=this.mutationObservers.get(e);l||(l=new Map,this.mutationObservers.set(e,l));let c=zo(a),d=l.get(c);if(d)d.users+=1;else{let u=new D,p=new MutationObserver((f)=>u.fire(f));p.observe(e,a);let g=d={users:1,observer:p,onDidMutate:u.event};s.add(X(()=>{g.users-=1,g.users===0&&(u.dispose(),p.disconnect(),l?.delete(c),l?.size===0&&this.mutationObservers.delete(e))})),l.set(c,d)}return d.onDidMutate}},ce={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:Qt?"webkitAnimationStart":"animationstart",ANIMATION_END:Qt?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Qt?"webkitAnimationIteration":"animationiteration"},Qo=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Yr(e,s,a,...l){let c=Qo.exec(s);if(!c)throw Error("Bad use of emmet");let d=c[1]||"div",u;return e!=="http://www.w3.org/1999/xhtml"?u=document.createElementNS(e,d):u=document.createElement(d),c[3]&&(u.id=c[3]),c[4]&&(u.className=c[4].replace(/\./g," ").trim()),a&&Object.entries(a).forEach(([p,g])=>{typeof g>"u"||(/^on\w+$/.test(p)?u[p]=g:p==="selected"?g&&u.setAttribute(p,"true"):u.setAttribute(p,g))}),u.append(...l),u}function ea(e,s,...a){return Yr("http://www.w3.org/1999/xhtml",e,s,...a)}ea.SVG=function(e,s,...a){return Yr("http://www.w3.org/2000/svg",e,s,...a)};var ta=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",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){let s=ye(e);this._maxWidth!==s&&(this._maxWidth=s,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let s=ye(e);this._width!==s&&(this._width=s,this.domNode.style.width=this._width)}setHeight(e){let s=ye(e);this._height!==s&&(this._height=s,this.domNode.style.height=this._height)}setTop(e){let s=ye(e);this._top!==s&&(this._top=s,this.domNode.style.top=this._top)}setLeft(e){let s=ye(e);this._left!==s&&(this._left=s,this.domNode.style.left=this._left)}setBottom(e){let s=ye(e);this._bottom!==s&&(this._bottom=s,this.domNode.style.bottom=this._bottom)}setRight(e){let s=ye(e);this._right!==s&&(this._right=s,this.domNode.style.right=this._right)}setPaddingTop(e){let s=ye(e);this._paddingTop!==s&&(this._paddingTop=s,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let s=ye(e);this._paddingLeft!==s&&(this._paddingLeft=s,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let s=ye(e);this._paddingBottom!==s&&(this._paddingBottom=s,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let s=ye(e);this._paddingRight!==s&&(this._paddingRight=s,this.domNode.style.paddingRight=this._paddingRight)}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){let s=ye(e);this._fontSize!==s&&(this._fontSize=s,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){let s=ye(e);this._lineHeight!==s&&(this._lineHeight=s,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let s=ye(e);this._letterSpacing!==s&&(this._letterSpacing=s,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,s){this.domNode.classList.toggle(e,s),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,s){this.domNode.setAttribute(e,s)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function ye(e){return typeof e=="number"?`${e}px`:e}function Ot(e){return new ta(e)}var jr=class{constructor(){this._hooks=new et,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,s){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let a=this._onStopCallback;this._onStopCallback=null,e&&a&&a(s)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,s,a,l,c){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=l,this._onStopCallback=c;let d=e;try{e.setPointerCapture(s),this._hooks.add(X(()=>{try{e.releasePointerCapture(s)}catch{}}))}catch{d=Te(e)}this._hooks.add(H(d,ce.POINTER_MOVE,(u)=>{if(u.buttons!==a){this.stopMonitoring(!0);return}u.preventDefault(),this._pointerMoveCallback(u)})),this._hooks.add(H(d,ce.POINTER_UP,(u)=>this.stopMonitoring(!0)))}};function ia(e,s,a){let l=null,c=null;if(typeof a.value=="function"?(l="value",c=a.value,c.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof a.get=="function"&&(l="get",c=a.get),!c)throw Error("not supported");let d=`$memoize$${s}`;a[l]=function(...u){return this.hasOwnProperty(d)||Object.defineProperty(this,d,{configurable:!1,enumerable:!1,writable:!1,value:c.apply(this,u)}),this[d]}}var Oe;((e)=>(e.Tap="-xterm-gesturetap",e.Change="-xterm-gesturechange",e.Start="-xterm-gesturestart",e.End="-xterm-gesturesend",e.Contextmenu="-xterm-gesturecontextmenu"))(Oe||={});var Rt=class e extends W{constructor(){super();this.dispatched=!1,this.targets=new Ts,this.ignoreTargets=new Ts,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ge.runAndSubscribe(Vo,({window:s,disposables:a})=>{a.add(H(s.document,"touchstart",(l)=>this.onTouchStart(l),{passive:!1})),a.add(H(s.document,"touchend",(l)=>this.onTouchEnd(s,l))),a.add(H(s.document,"touchmove",(l)=>this.onTouchMove(l),{passive:!1}))},{window:Be,disposables:this._store}))}static addTarget(s){if(!e.isTouchDevice())return W.None;e.INSTANCE||(e.INSTANCE=Ms(new e));let a=e.INSTANCE.targets.push(s);return X(a)}static ignoreTarget(s){if(!e.isTouchDevice())return W.None;e.INSTANCE||(e.INSTANCE=Ms(new e));let a=e.INSTANCE.ignoreTargets.push(s);return X(a)}static isTouchDevice(){return"ontouchstart"in Be||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(s){let a=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let l=0,c=s.targetTouches.length;l<c;l++){let d=s.targetTouches.item(l);this.activeTouches[d.identifier]={id:d.identifier,initialTarget:d.target,initialTimeStamp:a,initialPageX:d.pageX,initialPageY:d.pageY,rollingTimestamps:[a],rollingPageX:[d.pageX],rollingPageY:[d.pageY]};let u=this.newGestureEvent(Oe.Start,d.target);u.pageX=d.pageX,u.pageY=d.pageY,this.dispatchEvent(u)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}onTouchEnd(s,a){let l=Date.now(),c=Object.keys(this.activeTouches).length;for(let d=0,u=a.changedTouches.length;d<u;d++){let p=a.changedTouches.item(d);if(!this.activeTouches.hasOwnProperty(String(p.identifier))){console.warn("move of an UNKNOWN touch",p);continue}let g=this.activeTouches[p.identifier],f=Date.now()-g.initialTimeStamp;if(f<e.HOLD_DELAY&&Math.abs(g.initialPageX-ke(g.rollingPageX))<30&&Math.abs(g.initialPageY-ke(g.rollingPageY))<30){let v=this.newGestureEvent(Oe.Tap,g.initialTarget);v.pageX=ke(g.rollingPageX),v.pageY=ke(g.rollingPageY),this.dispatchEvent(v)}else if(f>=e.HOLD_DELAY&&Math.abs(g.initialPageX-ke(g.rollingPageX))<30&&Math.abs(g.initialPageY-ke(g.rollingPageY))<30){let v=this.newGestureEvent(Oe.Contextmenu,g.initialTarget);v.pageX=ke(g.rollingPageX),v.pageY=ke(g.rollingPageY),this.dispatchEvent(v)}else if(c===1){let v=ke(g.rollingPageX),m=ke(g.rollingPageY),b=ke(g.rollingTimestamps)-g.rollingTimestamps[0],w=v-g.rollingPageX[0],S=m-g.rollingPageY[0],y=[...this.targets].filter((R)=>g.initialTarget instanceof Node&&R.contains(g.initialTarget));this.inertia(s,y,l,Math.abs(w)/b,w>0?1:-1,v,Math.abs(S)/b,S>0?1:-1,m)}this.dispatchEvent(this.newGestureEvent(Oe.End,g.initialTarget)),delete this.activeTouches[p.identifier]}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}newGestureEvent(s,a){let l=document.createEvent("CustomEvent");return l.initEvent(s,!1,!0),l.initialTarget=a,l.tapCount=0,l}dispatchEvent(s){if(s.type===Oe.Tap){let a=new Date().getTime(),l=0;a-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?l=1:l=2,this._lastSetTapCountTime=a,s.tapCount=l}else(s.type===Oe.Change||s.type===Oe.Contextmenu)&&(this._lastSetTapCountTime=0);if(s.initialTarget instanceof Node){for(let l of this.ignoreTargets)if(l.contains(s.initialTarget))return;let a=[];for(let l of this.targets)if(l.contains(s.initialTarget)){let c=0,d=s.initialTarget;for(;d&&d!==l;)c++,d=d.parentElement;a.push([c,l])}a.sort((l,c)=>l[0]-c[0]);for(let[l,c]of a)c.dispatchEvent(s),this.dispatched=!0}}inertia(s,a,l,c,d,u,p,g,f){this.handle=ai(s,()=>{let v=Date.now(),m=v-l,b=0,w=0,S=!0;c+=e.SCROLL_FRICTION*m,p+=e.SCROLL_FRICTION*m,c>0&&(S=!1,b=d*c*m),p>0&&(S=!1,w=g*p*m);let y=this.newGestureEvent(Oe.Change);y.translationX=b,y.translationY=w,a.forEach((R)=>R.dispatchEvent(y)),S||this.inertia(s,a,v,c,d,u+b,p,g,f+w)})}onTouchMove(s){let a=Date.now();for(let l=0,c=s.changedTouches.length;l<c;l++){let d=s.changedTouches.item(l);if(!this.activeTouches.hasOwnProperty(String(d.identifier))){console.warn("end of an UNKNOWN touch",d);continue}let u=this.activeTouches[d.identifier],p=this.newGestureEvent(Oe.Change,u.initialTarget);p.translationX=d.pageX-ke(u.rollingPageX),p.translationY=d.pageY-ke(u.rollingPageY),p.pageX=d.pageX,p.pageY=d.pageY,this.dispatchEvent(p),u.rollingPageX.length>3&&(u.rollingPageX.shift(),u.rollingPageY.shift(),u.rollingTimestamps.shift()),u.rollingPageX.push(d.pageX),u.rollingPageY.push(d.pageY),u.rollingTimestamps.push(a)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}};Rt.SCROLL_FRICTION=-0.005,Rt.HOLD_DELAY=700,Rt.CLEAR_TAP_COUNT_TIME=400,te([ia],Rt,"isTouchDevice",1);var sa=Rt,Ss=class extends W{onclick(e,s){this._register(H(e,ce.CLICK,(a)=>s(new Bt(Te(e),a))))}onmousedown(e,s){this._register(H(e,ce.MOUSE_DOWN,(a)=>s(new Bt(Te(e),a))))}onmouseover(e,s){this._register(H(e,ce.MOUSE_OVER,(a)=>s(new Bt(Te(e),a))))}onmouseleave(e,s){this._register(H(e,ce.MOUSE_LEAVE,(a)=>s(new Bt(Te(e),a))))}onkeydown(e,s){this._register(H(e,ce.KEY_DOWN,(a)=>s(new Yi(a))))}onkeyup(e,s){this._register(H(e,ce.KEY_UP,(a)=>s(new Yi(a))))}oninput(e,s){this._register(H(e,ce.INPUT,s))}onblur(e,s){this._register(H(e,ce.BLUR,s))}onfocus(e,s){this._register(H(e,ce.FOCUS,s))}onchange(e,s){this._register(H(e,ce.CHANGE,s))}ignoreGesture(e){return sa.ignoreTarget(e)}},Vs=11,ra=class extends Ss{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",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width=Vs+"px",this.domNode.style.height=Vs+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new jr),this._register(Ks(this.bgDomNode,ce.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._register(Ks(this.domNode,ce.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._pointerdownRepeatTimer=this._register(new Jo),this._pointerdownScheduleRepeatTimer=this._register(new ms)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let s=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,Te(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(s,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(a)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},na=class e{constructor(s,a,l,c,d,u,p){this._forceIntegerValues=s,this._scrollStateBrand=void 0,this._forceIntegerValues&&(a=a|0,l=l|0,c=c|0,d=d|0,u=u|0,p=p|0),this.rawScrollLeft=c,this.rawScrollTop=p,a<0&&(a=0),c+a>l&&(c=l-a),c<0&&(c=0),d<0&&(d=0),p+d>u&&(p=u-d),p<0&&(p=0),this.width=a,this.scrollWidth=l,this.scrollLeft=c,this.height=d,this.scrollHeight=u,this.scrollTop=p}equals(s){return this.rawScrollLeft===s.rawScrollLeft&&this.rawScrollTop===s.rawScrollTop&&this.width===s.width&&this.scrollWidth===s.scrollWidth&&this.scrollLeft===s.scrollLeft&&this.height===s.height&&this.scrollHeight===s.scrollHeight&&this.scrollTop===s.scrollTop}withScrollDimensions(s,a){return new e(this._forceIntegerValues,typeof s.width<"u"?s.width:this.width,typeof s.scrollWidth<"u"?s.scrollWidth:this.scrollWidth,a?this.rawScrollLeft:this.scrollLeft,typeof s.height<"u"?s.height:this.height,typeof s.scrollHeight<"u"?s.scrollHeight:this.scrollHeight,a?this.rawScrollTop:this.scrollTop)}withScrollPosition(s){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof s.scrollLeft<"u"?s.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof s.scrollTop<"u"?s.scrollTop:this.rawScrollTop)}createScrollEvent(s,a){let l=this.width!==s.width,c=this.scrollWidth!==s.scrollWidth,d=this.scrollLeft!==s.scrollLeft,u=this.height!==s.height,p=this.scrollHeight!==s.scrollHeight,g=this.scrollTop!==s.scrollTop;return{inSmoothScrolling:a,oldWidth:s.width,oldScrollWidth:s.scrollWidth,oldScrollLeft:s.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:s.height,oldScrollHeight:s.scrollHeight,oldScrollTop:s.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:l,scrollWidthChanged:c,scrollLeftChanged:d,heightChanged:u,scrollHeightChanged:p,scrollTopChanged:g}}},oa=class extends W{constructor(e){super();this._scrollableBrand=void 0,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new na(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,s){let a=this._state.withScrollDimensions(e,s);this._setState(a,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let s=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(s,!1)}setScrollPositionSmooth(e,s){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let a=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===a.scrollLeft&&this._smoothScrolling.to.scrollTop===a.scrollTop)return;let l;s?l=new js(this._smoothScrolling.from,a,this._smoothScrolling.startTime,this._smoothScrolling.duration):l=this._smoothScrolling.combine(this._state,a,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=l}else{let a=this._state.withScrollPosition(e);this._smoothScrolling=js.start(this._state,a,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),s=this._state.withScrollPosition(e);if(this._setState(s,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,s){let a=this._state;a.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(a,s)))}},Ys=class{constructor(e,s,a){this.scrollLeft=e,this.scrollTop=s,this.isDone=a}};function Di(e,s){let a=s-e;return function(l){return e+a*la(l)}}function aa(e,s,a){return function(l){return l<a?e(l/a):s((l-a)/(1-a))}}var js=class e{constructor(s,a,l,c){this.from=s,this.to=a,this.duration=c,this.startTime=l,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(s,a,l){if(Math.abs(s-a)>2.5*l){let c,d;return s<a?(c=s+0.75*l,d=a-0.75*l):(c=s-0.75*l,d=a+0.75*l),aa(Di(s,c),Di(d,a),0.33)}return Di(s,a)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(s){this.to=s.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(s){let a=(s-this.startTime)/this.duration;if(a<1){let l=this.scrollLeft(a),c=this.scrollTop(a);return new Ys(l,c,!1)}return new Ys(this.to.scrollLeft,this.to.scrollTop,!0)}combine(s,a,l){return e.start(s,a,l)}static start(s,a,l){l=l+10;let c=Date.now()-10;return new e(s,a,c,l)}};function ha(e){return Math.pow(e,3)}function la(e){return 1-ha(1-e)}var ca=class extends W{constructor(e,s,a){super(),this._visibility=e,this._visibleClassName=s,this._invisibleClassName=a,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new ms)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let 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(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}},da=140,Xr=class extends Ss{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 ca(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new jr),this._shouldRender=!0,this.domNode=Ot(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(H(this.domNode.domNode,ce.POINTER_DOWN,(s)=>this._domNodePointerDown(s)))}_createArrow(e){let s=this._register(new ra(e));this.domNode.domNode.appendChild(s.bgDomNode),this.domNode.domNode.appendChild(s.domNode)}_createSlider(e,s,a,l){this.slider=Ot(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(s),typeof a=="number"&&this.slider.setWidth(a),typeof l=="number"&&this.slider.setHeight(l),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(H(this.slider.domNode,ce.POINTER_DOWN,(c)=>{c.button===0&&(c.preventDefault(),this._sliderPointerDown(c))})),this.onclick(this.slider.domNode,(c)=>{c.leftButton&&c.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){let s=this.domNode.domNode.getClientRects()[0].top,a=s+this._scrollbarState.getSliderPosition(),l=s+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),c=this._sliderPointerPosition(e);a<=c&&c<=l?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let s,a;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")s=e.offsetX,a=e.offsetY;else{let c=Zo(this.domNode.domNode);s=e.pageX-c.left,a=e.pageY-c.top}let l=this._pointerDownRelativePosition(s,a);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(l):this._scrollbarState.getDesiredScrollPositionFromOffset(l)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let s=this._sliderPointerPosition(e),a=this._sliderOrthogonalPointerPosition(e),l=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(c)=>{let d=this._sliderOrthogonalPointerPosition(c),u=Math.abs(d-a);if(Ur&&u>da){this._setDesiredScrollPositionNow(l.getScrollPosition());return}let p=this._sliderPointerPosition(c)-s;this._setDesiredScrollPositionNow(l.getDesiredScrollPositionFromDelta(p))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let s={};this.writeScrollPosition(s,e),this._scrollable.setScrollPositionNow(s)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Gr=class e{constructor(s,a,l,c,d,u){this._scrollbarSize=Math.round(a),this._oppositeScrollbarSize=Math.round(l),this._arrowSize=Math.round(s),this._visibleSize=c,this._scrollSize=d,this._scrollPosition=u,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(s){let a=Math.round(s);return this._visibleSize!==a?(this._visibleSize=a,this._refreshComputedValues(),!0):!1}setScrollSize(s){let a=Math.round(s);return this._scrollSize!==a?(this._scrollSize=a,this._refreshComputedValues(),!0):!1}setScrollPosition(s){let a=Math.round(s);return this._scrollPosition!==a?(this._scrollPosition=a,this._refreshComputedValues(),!0):!1}setScrollbarSize(s){this._scrollbarSize=Math.round(s)}setOppositeScrollbarSize(s){this._oppositeScrollbarSize=Math.round(s)}static _computeValues(s,a,l,c,d){let u=Math.max(0,l-s),p=Math.max(0,u-2*a),g=c>0&&c>l;if(!g)return{computedAvailableSize:Math.round(u),computedIsNeeded:g,computedSliderSize:Math.round(p),computedSliderRatio:0,computedSliderPosition:0};let f=Math.round(Math.max(20,Math.floor(l*p/c))),v=(p-f)/(c-l),m=d*v;return{computedAvailableSize:Math.round(u),computedIsNeeded:g,computedSliderSize:Math.round(f),computedSliderRatio:v,computedSliderPosition:Math.round(m)}}_refreshComputedValues(){let s=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=s.computedAvailableSize,this._computedIsNeeded=s.computedIsNeeded,this._computedSliderSize=s.computedSliderSize,this._computedSliderRatio=s.computedSliderRatio,this._computedSliderPosition=s.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(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize-this._computedSliderSize/2;return Math.round(a/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize,l=this._scrollPosition;return a<this._computedSliderPosition?l-=this._visibleSize:l+=this._visibleSize,l}getDesiredScrollPositionFromDelta(s){if(!this._computedIsNeeded)return 0;let a=this._computedSliderPosition+s;return Math.round(a/this._computedSliderRatio)}},ua=class extends Xr{constructor(e,s,a){let l=e.getScrollDimensions(),c=e.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.horizontalHasArrows?s.arrowSize:0,s.horizontal===2?0:s.horizontalScrollbarSize,s.vertical===2?0:s.verticalScrollbarSize,l.width,l.scrollWidth,c.scrollLeft),visibility:s.horizontal,extraScrollbarClassName:"horizontal",scrollable:e,scrollByPage:s.scrollByPage}),s.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((s.horizontalScrollbarSize-s.horizontalSliderSize)/2),0,void 0,s.horizontalSliderSize)}_updateSlider(e,s){this.slider.setWidth(e),this.slider.setLeft(s)}_renderDomNode(e,s){this.domNode.setWidth(e),this.domNode.setHeight(s),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,s){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,s){e.scrollLeft=s}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},_a=class extends Xr{constructor(e,s,a){let l=e.getScrollDimensions(),c=e.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.verticalHasArrows?s.arrowSize:0,s.vertical===2?0:s.verticalScrollbarSize,0,l.height,l.scrollHeight,c.scrollTop),visibility:s.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:s.scrollByPage}),s.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((s.verticalScrollbarSize-s.verticalSliderSize)/2),s.verticalSliderSize,void 0)}_updateSlider(e,s){this.slider.setHeight(e),this.slider.setTop(s)}_renderDomNode(e,s){this.domNode.setWidth(s),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,s){return s}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,s){e.scrollTop=s}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},fa=500,Xs=50,Gs=!0,pa=class{constructor(e,s,a){this.timestamp=e,this.deltaX=s,this.deltaY=a,this.score=0}},ji=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let s=1,a=0,l=1,c=this._rear;do{let d=c===this._front?s:Math.pow(2,-l);if(s-=d,a+=this._memory[c].score*d,c===this._front)break;c=(this._capacity+c-1)%this._capacity,l++}while(!0);return a<=0.5}acceptStandardWheelEvent(s){if(ps){let a=Te(s.browserEvent),l=ao(a);this.accept(Date.now(),s.deltaX*l,s.deltaY*l)}else this.accept(Date.now(),s.deltaX,s.deltaY)}accept(s,a,l){let c=null,d=new pa(s,a,l);this._front===-1&&this._rear===-1?(this._memory[0]=d,this._front=0,this._rear=0):(c=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=d),d.score=this._computeScore(d,c)}_computeScore(s,a){if(Math.abs(s.deltaX)>0&&Math.abs(s.deltaY)>0)return 1;let l=0.5;if((!this._isAlmostInt(s.deltaX)||!this._isAlmostInt(s.deltaY))&&(l+=0.25),a){let c=Math.abs(s.deltaX),d=Math.abs(s.deltaY),u=Math.abs(a.deltaX),p=Math.abs(a.deltaY),g=Math.max(Math.min(c,u),1),f=Math.max(Math.min(d,p),1),v=Math.max(c,u),m=Math.max(d,p);v%g===0&&m%f===0&&(l-=0.5)}return Math.min(Math.max(l,0),1)}_isAlmostInt(s){return Math.abs(Math.round(s)-s)<0.01}};ji.INSTANCE=new ji;var ga=ji,ma=class extends Ss{constructor(e,s,a){super();this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new D),this.onWillScroll=this._onWillScroll.event,this._options=Sa(s),this._scrollable=a,this._register(this._scrollable.onScroll((c)=>{this._onWillScroll.fire(c),this._onDidScroll(c),this._onScroll.fire(c)}));let l={onMouseWheel:(c)=>this._onMouseWheel(c),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new _a(this._scrollable,this._options,l)),this._horizontalScrollbar=this._register(new ua(this._scrollable,this._options,l)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Ot(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Ot(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Ot(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,(c)=>this._onMouseOver(c)),this.onmouseleave(this._listenOnDomNode,(c)=>this._onMouseLeave(c)),this._hideTimeout=this._register(new ms),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ct(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,Ie&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Ws(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=ct(this._mouseWheelToDispose),e)){let s=(a)=>{this._onMouseWheel(new Ws(a))};this._mouseWheelToDispose.push(H(this._listenOnDomNode,ce.MOUSE_WHEEL,s,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let s=ga.INSTANCE;Gs&&s.acceptStandardWheelEvent(e);let a=!1;if(e.deltaY||e.deltaX){let c=e.deltaY*this._options.mouseWheelScrollSensitivity,d=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&d+c===0?d=c=0:Math.abs(c)>=Math.abs(d)?d=0:c=0),this._options.flipAxes&&([c,d]=[d,c]);let u=!Ie&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||u)&&!d&&(d=c,c=0),e.browserEvent&&e.browserEvent.altKey&&(d=d*this._options.fastScrollSensitivity,c=c*this._options.fastScrollSensitivity);let p=this._scrollable.getFutureScrollPosition(),g={};if(c){let f=Xs*c,v=p.scrollTop-(f<0?Math.floor(f):Math.ceil(f));this._verticalScrollbar.writeScrollPosition(g,v)}if(d){let f=Xs*d,v=p.scrollLeft-(f<0?Math.floor(f):Math.ceil(f));this._horizontalScrollbar.writeScrollPosition(g,v)}g=this._scrollable.validateScrollPosition(g),(p.scrollLeft!==g.scrollLeft||p.scrollTop!==g.scrollTop)&&(Gs&&this._options.mouseWheelSmoothScroll&&s.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(g):this._scrollable.setScrollPositionNow(g),a=!0)}let l=a;!l&&this._options.alwaysConsumeMouseWheel&&(l=!0),!l&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(l=!0),l&&(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 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)){let e=this._scrollable.getCurrentScrollPosition(),s=e.scrollTop>0,a=e.scrollLeft>0,l=a?" left":"",c=s?" top":"",d=a||s?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${l}`),this._topShadowDomNode.setClassName(`shadow${c}`),this._topLeftShadowDomNode.setClassName(`shadow${d}${c}${l}`)}}_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(),fa)}},va=class extends ma{constructor(e,s,a){super(e,s,a)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Sa(e){let s={lazyRender:typeof e.lazyRender<"u"?e.lazyRender:!1,className:typeof e.className<"u"?e.className:"",useShadows:typeof e.useShadows<"u"?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<"u"?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<"u"?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<"u"?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<"u"?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<"u"?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<"u"?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<"u"?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<"u"?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<"u"?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<"u"?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<"u"?e.listenOnDomNode:null,horizontal:typeof e.horizontal<"u"?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<"u"?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<"u"?e.horizontalHasArrows:!1,vertical:typeof e.vertical<"u"?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<"u"?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<"u"?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<"u"?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<"u"?e.scrollByPage:!1};return s.horizontalSliderSize=typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:s.horizontalScrollbarSize,s.verticalSliderSize=typeof e.verticalSliderSize<"u"?e.verticalSliderSize:s.verticalScrollbarSize,Ie&&(s.className+=" mac"),s}var Xi=class extends W{constructor(e,s,a,l,c,d,u,p){super();this._bufferService=a,this._optionsService=u,this._renderService=p,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let g=this._register(new oa({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(f)=>ai(l.window,f)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{g.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new va(s,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},g)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(c.onProtocolChange((f)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(f&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ge.runAndSubscribe(d.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=d.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(X(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=l.mainDocument.createElement("style"),s.appendChild(this._styleElement),this._register(X(()=>this._styleElement.remove())),this._register(ge.runAndSubscribe(d.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${d.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${d.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${d.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
30
- `)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll((f)=>this._handleScroll(f)))}scrollLines(e){let s=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:s.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,s){s&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!s,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let s=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),a=s-this._bufferService.buffer.ydisp;a!==0&&(this._latestYDisp=s,this._onRequestScrollLines.fire(a)),this._isHandlingScroll=!1}};Xi=te([M(2,Se),M(3,Ue),M(4,Lr),M(5,gt),M(6,be),M(7,Ke)],Xi);var Gi=class extends W{constructor(e,s,a,l,c){super();this._screenElement=e,this._bufferService=s,this._coreBrowserService=a,this._decorationService=l,this._renderService=c,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved((d)=>this._removeDecoration(d))),this._register(X(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let s=this._coreBrowserService.mainDocument.createElement("div");s.classList.add("xterm-decoration"),s.classList.toggle("xterm-decoration-top-layer",e?.options?.layer==="top"),s.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let a=e.options.x??0;return a&&a>this._bufferService.cols&&(s.style.display="none"),this._refreshXPosition(e,s),s}_refreshStyle(e){let s=e.marker.line-this._bufferService.buffers.active.ydisp;if(s<0||s>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let a=this._decorationElements.get(e);a||(a=this._createElement(e),e.element=a,this._decorationElements.set(e,a),this._container.appendChild(a),e.onDispose(()=>{this._decorationElements.delete(e),a.remove()})),a.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(a.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,a.style.top=`${s*this._renderService.dimensions.css.cell.height}px`,a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(a)}}_refreshXPosition(e,s=e.element){if(!s)return;let a=e.options.x??0;(e.options.anchor||"left")==="right"?s.style.right=a?`${a*this._renderService.dimensions.css.cell.width}px`:"":s.style.left=a?`${a*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Gi=te([M(1,Se),M(2,Ue),M(3,Ft),M(4,Ke)],Gi);var ba=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let s of this._zones)if(s.color===e.options.overviewRulerOptions.color&&s.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(s,e.marker.line))return;if(this._lineAdjacentToZone(s,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(s,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,s){return s>=e.startBufferLine&&s<=e.endBufferLine}_lineAdjacentToZone(e,s,a){return s>=e.startBufferLine-this._linePadding[a||"full"]&&s<=e.endBufferLine+this._linePadding[a||"full"]}_addLineToZone(e,s){e.startBufferLine=Math.min(e.startBufferLine,s),e.endBufferLine=Math.max(e.endBufferLine,s)}},Pe={full:0,left:0,center:0,right:0},Ge={full:0,left:0,center:0,right:0},yt={full:0,left:0,center:0,right:0},hi=class extends W{constructor(e,s,a,l,c,d,u,p){super();this._viewportElement=e,this._screenElement=s,this._bufferService=a,this._decorationService=l,this._renderService=c,this._optionsService=d,this._themeService=u,this._coreBrowserService=p,this._colorZoneStore=new ba,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(X(()=>this._canvas?.remove()));let g=this._canvas.getContext("2d");if(g)this._ctx=g;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),s=Math.ceil((this._canvas.width-1)/3);Ge.full=this._canvas.width,Ge.left=e,Ge.center=s,Ge.right=e,this._refreshDrawHeightConstants(),yt.full=1,yt.left=1,yt.center=1+Ge.left,yt.right=1+Ge.left+Ge.center}_refreshDrawHeightConstants(){Pe.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,s=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Pe.left=s,Pe.center=s,Pe.right=s}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let s of this._decorationService.decorations)this._colorZoneStore.addDecoration(s);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let s of e)s.position!=="full"&&this._renderColorZone(s);for(let s of e)s.position==="full"&&this._renderColorZone(s);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(yt[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Pe[e.position||"full"]/2),Ge[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Pe[e.position||"full"]))}_queueRefresh(e,s){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=s||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};hi=te([M(2,Se),M(3,Ft),M(4,Ke),M(5,be),M(6,gt),M(7,Ue)],hi);var C;((e)=>(e.NUL="\x00",e.SOH="\x01",e.STX="\x02",e.ETX="\x03",e.EOT="\x04",e.ENQ="\x05",e.ACK="\x06",e.BEL="\x07",e.BS="\b",e.HT="\t",e.LF=`
31
- `,e.VT="\v",e.FF="\f",e.CR="\r",e.SO="\x0E",e.SI="\x0F",e.DLE="\x10",e.DC1="\x11",e.DC2="\x12",e.DC3="\x13",e.DC4="\x14",e.NAK="\x15",e.SYN="\x16",e.ETB="\x17",e.CAN="\x18",e.EM="\x19",e.SUB="\x1A",e.ESC="\x1B",e.FS="\x1C",e.GS="\x1D",e.RS="\x1E",e.US="\x1F",e.SP=" ",e.DEL=""))(C||={});var ii;((e)=>(e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"))(ii||={});var Jr;((e)=>e.ST=`${C.ESC}\\`)(Jr||={});var Ji=class{constructor(e,s,a,l,c,d){this._textarea=e,this._compositionView=s,this._bufferService=a,this._optionsService=l,this._coreService=c,this._renderService=d,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let s={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let a;s.start+=this._dataAlreadySent.length,this._isComposing?a=this._textarea.value.substring(s.start,this._compositionPosition.start):a=this._textarea.value.substring(s.start),a.length>0&&this._coreService.triggerDataEvent(a,!0)}},0)}else{this._isSendingComposition=!1;let s=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(s,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let s=this._textarea.value,a=s.replace(e,"");this._dataAlreadySent=a,s.length>e.length?this._coreService.triggerDataEvent(a,!0):s.length<e.length?this._coreService.triggerDataEvent(`${C.DEL}`,!0):s.length===e.length&&s!==e&&this._coreService.triggerDataEvent(s,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),a=this._renderService.dimensions.css.cell.height,l=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,c=s*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=c+"px",this._compositionView.style.top=l+"px",this._compositionView.style.height=a+"px",this._compositionView.style.lineHeight=a+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let d=this._compositionView.getBoundingClientRect();this._textarea.style.left=c+"px",this._textarea.style.top=l+"px",this._textarea.style.width=Math.max(d.width,1)+"px",this._textarea.style.height=Math.max(d.height,1)+"px",this._textarea.style.lineHeight=d.height+"px"}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ji=te([M(2,Se),M(3,be),M(4,ut),M(5,Ke)],Ji);var de=0,ue=0,_e=0,ee=0,Js={css:"#00000000",rgba:0},ne;((e)=>{function s(c,d,u,p){return p!==void 0?`#${nt(c)}${nt(d)}${nt(u)}${nt(p)}`:`#${nt(c)}${nt(d)}${nt(u)}`}e.toCss=s;function a(c,d,u,p=255){return(c<<24|d<<16|u<<8|p)>>>0}e.toRgba=a;function l(c,d,u,p){return{css:e.toCss(c,d,u,p),rgba:e.toRgba(c,d,u,p)}}e.toColor=l})(ne||={});var j;((e)=>{function s(g,f){if(ee=(f.rgba&255)/255,ee===1)return{css:f.css,rgba:f.rgba};let v=f.rgba>>24&255,m=f.rgba>>16&255,b=f.rgba>>8&255,w=g.rgba>>24&255,S=g.rgba>>16&255,y=g.rgba>>8&255;de=w+Math.round((v-w)*ee),ue=S+Math.round((m-S)*ee),_e=y+Math.round((b-y)*ee);let R=ne.toCss(de,ue,_e),P=ne.toRgba(de,ue,_e);return{css:R,rgba:P}}e.blend=s;function a(g){return(g.rgba&255)===255}e.isOpaque=a;function l(g,f,v){let m=si.ensureContrastRatio(g.rgba,f.rgba,v);if(m)return ne.toColor(m>>24&255,m>>16&255,m>>8&255)}e.ensureContrastRatio=l;function c(g){let f=(g.rgba|255)>>>0;return[de,ue,_e]=si.toChannels(f),{css:ne.toCss(de,ue,_e),rgba:f}}e.opaque=c;function d(g,f){return ee=Math.round(f*255),[de,ue,_e]=si.toChannels(g.rgba),{css:ne.toCss(de,ue,_e,ee),rgba:ne.toRgba(de,ue,_e,ee)}}e.opacity=d;function u(g,f){return ee=g.rgba&255,d(g,ee*f/255)}e.multiplyOpacity=u;function p(g){return[g.rgba>>24&255,g.rgba>>16&255,g.rgba>>8&255]}e.toColorRGB=p})(j||={});var Z;((e)=>{let s,a;try{let c=document.createElement("canvas");c.width=1,c.height=1;let d=c.getContext("2d",{willReadFrequently:!0});d&&(s=d,s.globalCompositeOperation="copy",a=s.createLinearGradient(0,0,1,1))}catch{}function l(c){if(c.match(/#[\da-f]{3,8}/i))switch(c.length){case 4:return de=parseInt(c.slice(1,2).repeat(2),16),ue=parseInt(c.slice(2,3).repeat(2),16),_e=parseInt(c.slice(3,4).repeat(2),16),ne.toColor(de,ue,_e);case 5:return de=parseInt(c.slice(1,2).repeat(2),16),ue=parseInt(c.slice(2,3).repeat(2),16),_e=parseInt(c.slice(3,4).repeat(2),16),ee=parseInt(c.slice(4,5).repeat(2),16),ne.toColor(de,ue,_e,ee);case 7:return{css:c,rgba:(parseInt(c.slice(1),16)<<8|255)>>>0};case 9:return{css:c,rgba:parseInt(c.slice(1),16)>>>0}}let d=c.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(d)return de=parseInt(d[1]),ue=parseInt(d[2]),_e=parseInt(d[3]),ee=Math.round((d[5]===void 0?1:parseFloat(d[5]))*255),ne.toColor(de,ue,_e,ee);if(!s||!a)throw Error("css.toColor: Unsupported css format");if(s.fillStyle=a,s.fillStyle=c,typeof s.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(s.fillRect(0,0,1,1),[de,ue,_e,ee]=s.getImageData(0,0,1,1).data,ee!==255)throw Error("css.toColor: Unsupported css format");return{rgba:ne.toRgba(de,ue,_e,ee),css:c}}e.toColor=l})(Z||={});var ve;((e)=>{function s(l){return a(l>>16&255,l>>8&255,l&255)}e.relativeLuminance=s;function a(l,c,d){let u=l/255,p=c/255,g=d/255,f=u<=0.03928?u/12.92:Math.pow((u+0.055)/1.055,2.4),v=p<=0.03928?p/12.92:Math.pow((p+0.055)/1.055,2.4),m=g<=0.03928?g/12.92:Math.pow((g+0.055)/1.055,2.4);return f*0.2126+v*0.7152+m*0.0722}e.relativeLuminance2=a})(ve||={});var si;((e)=>{function s(u,p){if(ee=(p&255)/255,ee===1)return p;let g=p>>24&255,f=p>>16&255,v=p>>8&255,m=u>>24&255,b=u>>16&255,w=u>>8&255;return de=m+Math.round((g-m)*ee),ue=b+Math.round((f-b)*ee),_e=w+Math.round((v-w)*ee),ne.toRgba(de,ue,_e)}e.blend=s;function a(u,p,g){let f=ve.relativeLuminance(u>>8),v=ve.relativeLuminance(p>>8);if(We(f,v)<g){if(v<f){let w=l(u,p,g),S=We(f,ve.relativeLuminance(w>>8));if(S<g){let y=c(u,p,g),R=We(f,ve.relativeLuminance(y>>8));return S>R?w:y}return w}let m=c(u,p,g),b=We(f,ve.relativeLuminance(m>>8));if(b<g){let w=l(u,p,g),S=We(f,ve.relativeLuminance(w>>8));return b>S?m:w}return m}}e.ensureContrastRatio=a;function l(u,p,g){let f=u>>24&255,v=u>>16&255,m=u>>8&255,b=p>>24&255,w=p>>16&255,S=p>>8&255,y=We(ve.relativeLuminance2(b,w,S),ve.relativeLuminance2(f,v,m));for(;y<g&&(b>0||w>0||S>0);)b-=Math.max(0,Math.ceil(b*0.1)),w-=Math.max(0,Math.ceil(w*0.1)),S-=Math.max(0,Math.ceil(S*0.1)),y=We(ve.relativeLuminance2(b,w,S),ve.relativeLuminance2(f,v,m));return(b<<24|w<<16|S<<8|255)>>>0}e.reduceLuminance=l;function c(u,p,g){let f=u>>24&255,v=u>>16&255,m=u>>8&255,b=p>>24&255,w=p>>16&255,S=p>>8&255,y=We(ve.relativeLuminance2(b,w,S),ve.relativeLuminance2(f,v,m));for(;y<g&&(b<255||w<255||S<255);)b=Math.min(255,b+Math.ceil((255-b)*0.1)),w=Math.min(255,w+Math.ceil((255-w)*0.1)),S=Math.min(255,S+Math.ceil((255-S)*0.1)),y=We(ve.relativeLuminance2(b,w,S),ve.relativeLuminance2(f,v,m));return(b<<24|w<<16|S<<8|255)>>>0}e.increaseLuminance=c;function d(u){return[u>>24&255,u>>16&255,u>>8&255,u&255]}e.toChannels=d})(si||={});function nt(e){let s=e.toString(16);return s.length<2?"0"+s:s}function We(e,s){return e<s?(s+0.05)/(e+0.05):(e+0.05)/(s+0.05)}var wa=class extends zt{constructor(e,s,a){super();this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=s,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},li=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Me}register(e){let s={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(s),s.id}deregister(e){for(let s=0;s<this._characterJoiners.length;s++)if(this._characterJoiners[s].id===e)return this._characterJoiners.splice(s,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let s=this._bufferService.buffer.lines.get(e);if(!s||s.length===0)return[];let a=[],l=s.translateToString(!0),c=0,d=0,u=0,p=s.getFg(0),g=s.getBg(0);for(let f=0;f<s.getTrimmedLength();f++)if(s.loadCell(f,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==p||this._workCell.bg!==g){if(f-c>1){let v=this._getJoinedRanges(l,u,d,s,c);for(let m=0;m<v.length;m++)a.push(v[m])}c=f,u=d,p=this._workCell.fg,g=this._workCell.bg}d+=this._workCell.getChars().length||Qe.length}if(this._bufferService.cols-c>1){let f=this._getJoinedRanges(l,u,d,s,c);for(let v=0;v<f.length;v++)a.push(f[v])}return a}_getJoinedRanges(e,s,a,l,c){let d=e.substring(s,a),u=[];try{u=this._characterJoiners[0].handler(d)}catch(p){console.error(p)}for(let p=1;p<this._characterJoiners.length;p++)try{let g=this._characterJoiners[p].handler(d);for(let f=0;f<g.length;f++)li._mergeRanges(u,g[f])}catch(g){console.error(g)}return this._stringRangesToCellRanges(u,l,c),u}_stringRangesToCellRanges(e,s,a){let l=0,c=!1,d=0,u=e[l];if(u){for(let p=a;p<this._bufferService.cols;p++){let g=s.getWidth(p),f=s.getString(p).length||Qe.length;if(g!==0){if(!c&&u[0]<=d&&(u[0]=p,c=!0),u[1]<=d){if(u[1]=p,u=e[++l],!u)break;u[0]<=d?(u[0]=p,c=!0):c=!1}d+=f}}u&&(u[1]=this._bufferService.cols)}}static _mergeRanges(e,s){let a=!1;for(let l=0;l<e.length;l++){let c=e[l];if(a){if(s[1]<=c[0])return e[l-1][1]=s[1],e;if(s[1]<=c[1])return e[l-1][1]=Math.max(s[1],c[1]),e.splice(l,1),e;e.splice(l,1),l--}else{if(s[1]<=c[0])return e.splice(l,0,s),e;if(s[1]<=c[1])return c[0]=Math.min(s[0],c[0]),e;s[0]<c[1]&&(c[0]=Math.min(s[0],c[0]),a=!0);continue}}return a?e[e.length-1][1]=s[1]:e.push(s),e}};li=te([M(0,Se)],li);function ya(e){return 57508<=e&&e<=57558}function Ca(e){return 9472<=e&&e<=9631}function xa(e){return ya(e)||Ca(e)}function ka(){return{css:{canvas:Vt(),cell:Vt()},device:{canvas:Vt(),cell:Vt(),char:{width:0,height:0,left:0,top:0}}}}function Vt(){return{width:0,height:0}}var Zi=class{constructor(e,s,a,l,c,d,u){this._document=e,this._characterJoinerService=s,this._optionsService=a,this._coreBrowserService=l,this._coreService=c,this._decorationService=d,this._themeService=u,this._workCell=new Me,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,s,a){this._selectionStart=e,this._selectionEnd=s,this._columnSelectMode=a}createRow(e,s,a,l,c,d,u,p,g,f,v){let m=[],b=this._characterJoinerService.getJoinedCharacters(s),w=this._themeService.colors,S=e.getNoBgTrimmedLength();a&&S<d+1&&(S=d+1);let y,R=0,P="",U=0,I=0,E=0,A=0,N=!1,G=0,Ce=!1,we=0,it=0,V=[],vt=f!==-1&&v!==-1;for(let k=0;k<S;k++){e.loadCell(k,this._workCell);let x=this._workCell.getWidth();if(x===0)continue;let T=!1,L=k>=it,O=k,B=this._workCell;if(b.length>0&&k===b[0][0]&&L){let K=b.shift(),Si=this._isCellInSelection(K[0],s);for(U=K[0]+1;U<K[1];U++)L&&=Si===this._isCellInSelection(U,s);L&&=!a||d<K[0]||d>=K[1],L?(T=!0,B=new wa(this._workCell,e.translateToString(!0,K[0],K[1]),K[1]-K[0]),O=K[1]-1,x=B.getWidth()):it=K[1]}let F=this._isCellInSelection(k,s),Y=a&&k===d,se=vt&&k>=f&&k<=v,xe=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{xe=!0});let He=B.getChars()||Qe;if(He===" "&&(B.isUnderline()||B.isOverline())&&(He=" "),we=x*p-g.get(He,B.isBold(),B.isItalic()),!y)y=this._document.createElement("span");else if(R&&(F&&Ce||!F&&!Ce&&B.bg===I)&&(F&&Ce&&w.selectionForeground||B.fg===E)&&B.extended.ext===A&&se===N&&we===G&&!Y&&!T&&!xe&&L){B.isInvisible()?P+=Qe:P+=He,R++;continue}else R&&(y.textContent=P),y=this._document.createElement("span"),R=0,P="";if(I=B.bg,E=B.fg,A=B.extended.ext,N=se,G=we,Ce=F,T&&d>=k&&d<=O&&(d=k),!this._coreService.isCursorHidden&&Y&&this._coreService.isCursorInitialized){if(V.push("xterm-cursor"),this._coreBrowserService.isFocused)u&&V.push("xterm-cursor-blink"),V.push(l==="bar"?"xterm-cursor-bar":l==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(c)switch(c){case"outline":V.push("xterm-cursor-outline");break;case"block":V.push("xterm-cursor-block");break;case"bar":V.push("xterm-cursor-bar");break;case"underline":V.push("xterm-cursor-underline");break;default:break}}if(B.isBold()&&V.push("xterm-bold"),B.isItalic()&&V.push("xterm-italic"),B.isDim()&&V.push("xterm-dim"),B.isInvisible()?P=Qe:P=B.getChars()||Qe,B.isUnderline()&&(V.push(`xterm-underline-${B.extended.underlineStyle}`),P===" "&&(P=" "),!B.isUnderlineColorDefault()))if(B.isUnderlineColorRGB())y.style.textDecorationColor=`rgb(${zt.toColorRGB(B.getUnderlineColor()).join(",")})`;else{let K=B.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&B.isBold()&&K<8&&(K+=8),y.style.textDecorationColor=w.ansi[K].css}B.isOverline()&&(V.push("xterm-overline"),P===" "&&(P=" ")),B.isStrikethrough()&&V.push("xterm-strikethrough"),se&&(y.style.textDecoration="underline");let le=B.getFgColor(),qe=B.getFgColorMode(),me=B.getBgColor(),rt=B.getBgColorMode(),St=!!B.isInverse();if(St){let K=le;le=me,me=K;let Si=qe;qe=rt,rt=Si}let Ve,Kt,bt=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{K.options.layer!=="top"&&bt||(K.backgroundColorRGB&&(rt=50331648,me=K.backgroundColorRGB.rgba>>8&16777215,Ve=K.backgroundColorRGB),K.foregroundColorRGB&&(qe=50331648,le=K.foregroundColorRGB.rgba>>8&16777215,Kt=K.foregroundColorRGB),bt=K.options.layer==="top")}),!bt&&F&&(Ve=this._coreBrowserService.isFocused?w.selectionBackgroundOpaque:w.selectionInactiveBackgroundOpaque,me=Ve.rgba>>8&16777215,rt=50331648,bt=!0,w.selectionForeground&&(qe=50331648,le=w.selectionForeground.rgba>>8&16777215,Kt=w.selectionForeground)),bt&&V.push("xterm-decoration-top");let Ye;switch(rt){case 16777216:case 33554432:Ye=w.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:Ye=ne.toColor(me>>16,me>>8&255,me&255),this._addStyle(y,`background-color:#${Zs((me>>>0).toString(16),"0",6)}`);break;case 0:default:St?(Ye=w.foreground,V.push("xterm-bg-257")):Ye=w.background}switch(Ve||B.isDim()&&(Ve=j.multiplyOpacity(Ye,0.5)),qe){case 16777216:case 33554432:B.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(y,Ye,w.ansi[le],B,Ve,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let K=ne.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(y,Ye,K,B,Ve,Kt)||this._addStyle(y,`color:#${Zs(le.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(y,Ye,w.foreground,B,Ve,Kt)||St&&V.push("xterm-fg-257")}V.length&&(y.className=V.join(" "),V.length=0),!Y&&!T&&!xe&&L?R++:y.textContent=P,we!==this.defaultSpacing&&(y.style.letterSpacing=`${we}px`),m.push(y),k=O}return y&&R&&(y.textContent=P),m}_applyMinimumContrast(e,s,a,l,c,d){if(this._optionsService.rawOptions.minimumContrastRatio===1||xa(l.getCode()))return!1;let u=this._getContrastCache(l),p;if(!c&&!d&&(p=u.getColor(s.rgba,a.rgba)),p===void 0){let g=this._optionsService.rawOptions.minimumContrastRatio/(l.isDim()?2:1);p=j.ensureContrastRatio(c||s,d||a,g),u.setColor((c||s).rgba,(d||a).rgba,p??null)}return p?(this._addStyle(e,`color:${p.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,s){e.setAttribute("style",`${e.getAttribute("style")||""}${s};`)}_isCellInSelection(e,s){let a=this._selectionStart,l=this._selectionEnd;return!a||!l?!1:this._columnSelectMode?a[0]<=l[0]?e>=a[0]&&s>=a[1]&&e<l[0]&&s<=l[1]:e<a[0]&&s>=a[1]&&e>=l[0]&&s<=l[1]:s>a[1]&&s<l[1]||a[1]===l[1]&&s===a[1]&&e>=a[0]&&e<l[0]||a[1]<l[1]&&s===l[1]&&e<l[0]||a[1]<l[1]&&s===a[1]&&e>=a[0]}};Zi=te([M(1,Pr),M(2,be),M(3,Ue),M(4,ut),M(5,Ft),M(6,gt)],Zi);function Zs(e,s,a){for(;e.length<a;)e=s+e;return e}var Ea=class{constructor(e,s){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=e.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let a=e.createElement("span");a.classList.add("xterm-char-measure-element");let l=e.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontWeight="bold";let c=e.createElement("span");c.classList.add("xterm-char-measure-element"),c.style.fontStyle="italic";let d=e.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontWeight="bold",d.style.fontStyle="italic",this._measureElements=[a,l,c,d],this._container.appendChild(a),this._container.appendChild(l),this._container.appendChild(c),this._container.appendChild(d),s.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,s,a,l){e===this._font&&s===this._fontSize&&a===this._weight&&l===this._weightBold||(this._font=e,this._fontSize=s,this._weight=a,this._weightBold=l,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${a}`,this._measureElements[1].style.fontWeight=`${l}`,this._measureElements[2].style.fontWeight=`${a}`,this._measureElements[3].style.fontWeight=`${l}`,this.clear())}get(e,s,a){let l=0;if(!s&&!a&&e.length===1&&(l=e.charCodeAt(0))<256){if(this._flat[l]!==-9999)return this._flat[l];let u=this._measure(e,0);return u>0&&(this._flat[l]=u),u}let c=e;s&&(c+="B"),a&&(c+="I");let d=this._holey.get(c);if(d===void 0){let u=0;s&&(u|=1),a&&(u|=2),d=this._measure(e,u),d>0&&this._holey.set(c,d)}return d}_measure(e,s){let a=this._measureElements[s];return a.textContent=e.repeat(32),a.offsetWidth/32}},Da=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,s,a,l=!1){if(this.selectionStart=s,this.selectionEnd=a,!s||!a||s[0]===a[0]&&s[1]===a[1]){this.clear();return}let c=e.buffers.active.ydisp,d=s[1]-c,u=a[1]-c,p=Math.max(d,0),g=Math.min(u,e.rows-1);if(p>=e.rows||g<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=l,this.viewportStartRow=d,this.viewportEndRow=u,this.viewportCappedStartRow=p,this.viewportCappedEndRow=g,this.startCol=s[0],this.endCol=a[0]}isCellSelected(e,s,a){return this.hasSelection?(a-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?s>=this.startCol&&a>=this.viewportCappedStartRow&&s<this.endCol&&a<=this.viewportCappedEndRow:s<this.startCol&&a>=this.viewportCappedStartRow&&s>=this.endCol&&a<=this.viewportCappedEndRow:a>this.viewportStartRow&&a<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportEndRow&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol):!1}};function Ba(){return new Da}var Bi="xterm-dom-renderer-owner-",Re="xterm-rows",Yt="xterm-fg-",Qs="xterm-bg-",Ct="xterm-focus",jt="xterm-selection",Ra=1,Qi=class extends W{constructor(e,s,a,l,c,d,u,p,g,f,v,m,b,w){super();this._terminal=e,this._document=s,this._element=a,this._screenElement=l,this._viewportElement=c,this._helperContainer=d,this._linkifier2=u,this._charSizeService=g,this._optionsService=f,this._bufferService=v,this._coreService=m,this._coreBrowserService=b,this._themeService=w,this._terminalClass=Ra++,this._rowElements=[],this._selectionRenderModel=Ba(),this.onRequestRedraw=this._register(new D).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Re),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(jt),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=ka(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((S)=>this._injectCss(S))),this._injectCss(this._themeService.colors),this._rowFactory=p.createInstance(Zi,document),this._element.classList.add(Bi+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((S)=>this._handleLinkHover(S))),this._register(this._linkifier2.onHideLinkUnderline((S)=>this._handleLinkLeave(S))),this._register(X(()=>{this._element.classList.remove(Bi+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Ea(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let a of this._rowElements)a.style.width=`${this.dimensions.css.canvas.width}px`,a.style.height=`${this.dimensions.css.cell.height}px`,a.style.lineHeight=`${this.dimensions.css.cell.height}px`,a.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let s=`${this._terminalSelector} .${Re} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=s,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let s=`${this._terminalSelector} .${Re} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;s+=`${this._terminalSelector} .${Re} .xterm-dim { color: ${j.multiplyOpacity(e.foreground,0.5).css};}`,s+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let a=`blink_underline_${this._terminalClass}`,l=`blink_bar_${this._terminalClass}`,c=`blink_block_${this._terminalClass}`;s+=`@keyframes ${a} { 50% { border-bottom-style: hidden; }}`,s+=`@keyframes ${l} { 50% { box-shadow: none; }}`,s+=`@keyframes ${c} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,s+=`${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${a} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${l} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${c} 1s step-end infinite;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,s+=`${this._terminalSelector} .${jt} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${jt} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${jt} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[d,u]of e.ansi.entries())s+=`${this._terminalSelector} .${Yt}${d} { color: ${u.css}; }${this._terminalSelector} .${Yt}${d}.xterm-dim { color: ${j.multiplyOpacity(u,0.5).css}; }${this._terminalSelector} .${Qs}${d} { background-color: ${u.css}; }`;s+=`${this._terminalSelector} .${Yt}257 { color: ${j.opaque(e.background).css}; }${this._terminalSelector} .${Yt}257.xterm-dim { color: ${j.multiplyOpacity(j.opaque(e.background),0.5).css}; }${this._terminalSelector} .${Qs}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=s}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,s){for(let a=this._rowElements.length;a<=s;a++){let l=this._document.createElement("div");this._rowContainer.appendChild(l),this._rowElements.push(l)}for(;this._rowElements.length>s;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,s){this._refreshRowElements(e,s),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Ct),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Ct),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,s,a){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,s,a),this.renderRows(0,this._bufferService.rows-1),!e||!s||(this._selectionRenderModel.update(this._terminal,e,s,a),!this._selectionRenderModel.hasSelection))return;let l=this._selectionRenderModel.viewportStartRow,c=this._selectionRenderModel.viewportEndRow,d=this._selectionRenderModel.viewportCappedStartRow,u=this._selectionRenderModel.viewportCappedEndRow,p=this._document.createDocumentFragment();if(a){let g=e[0]>s[0];p.appendChild(this._createSelectionElement(d,g?s[0]:e[0],g?e[0]:s[0],u-d+1))}else{let g=l===d?e[0]:0,f=d===c?s[0]:this._bufferService.cols;p.appendChild(this._createSelectionElement(d,g,f));let v=u-d-1;if(p.appendChild(this._createSelectionElement(d+1,0,this._bufferService.cols,v)),d!==u){let m=c===u?s[0]:this._bufferService.cols;p.appendChild(this._createSelectionElement(u,0,m))}}this._selectionContainer.appendChild(p)}_createSelectionElement(e,s,a,l=1){let c=this._document.createElement("div"),d=s*this.dimensions.css.cell.width,u=this.dimensions.css.cell.width*(a-s);return d+u>this.dimensions.css.canvas.width&&(u=this.dimensions.css.canvas.width-d),c.style.height=`${l*this.dimensions.css.cell.height}px`,c.style.top=`${e*this.dimensions.css.cell.height}px`,c.style.left=`${d}px`,c.style.width=`${u}px`,c}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,s){let a=this._bufferService.buffer,l=a.ybase+a.y,c=Math.min(a.x,this._bufferService.cols-1),d=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,u=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,p=this._optionsService.rawOptions.cursorInactiveStyle;for(let g=e;g<=s;g++){let f=g+a.ydisp,v=this._rowElements[g],m=a.lines.get(f);if(!v||!m)break;v.replaceChildren(...this._rowFactory.createRow(m,f,f===l,u,p,c,d,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Bi}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,s,a,l,c,d){a<0&&(e=0),l<0&&(s=0);let u=this._bufferService.rows-1;a=Math.max(Math.min(a,u),0),l=Math.max(Math.min(l,u),0),c=Math.min(c,this._bufferService.cols);let p=this._bufferService.buffer,g=p.ybase+p.y,f=Math.min(p.x,c-1),v=this._optionsService.rawOptions.cursorBlink,m=this._optionsService.rawOptions.cursorStyle,b=this._optionsService.rawOptions.cursorInactiveStyle;for(let w=a;w<=l;++w){let S=w+p.ydisp,y=this._rowElements[w],R=p.lines.get(S);if(!y||!R)break;y.replaceChildren(...this._rowFactory.createRow(R,S,S===g,m,b,f,v,this.dimensions.css.cell.width,this._widthCache,d?w===a?e:0:-1,d?(w===l?s:c)-1:-1))}}};Qi=te([M(7,us),M(8,fi),M(9,be),M(10,Se),M(11,ut),M(12,Ue),M(13,gt)],Qi);var es=class extends W{constructor(e,s,a){super();this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this._register(new D),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ma(this._optionsService))}catch{this._measureStrategy=this._register(new La(e,s,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};es=te([M(2,be)],es);var Zr=class extends W{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(e,s){e!==void 0&&e>0&&s!==void 0&&s>0&&(this._result.width=e,this._result.height=s)}},La=class extends Zr{constructor(e,s,a){super();this._document=e,this._parentElement=s,this._optionsService=a,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Ma=class extends Zr{constructor(e){super();this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let s=this._ctx.measureText("W");if(!(("width"in s)&&("fontBoundingBoxAscent"in s)&&("fontBoundingBoxDescent"in s)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Ta=class extends W{constructor(e,s,a){super();this._textarea=e,this._window=s,this.mainDocument=a,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Pa(this._window)),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new D),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((l)=>this._screenDprMonitor.setWindow(l))),this._register(ge.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(H(this._textarea,"focus",()=>this._isFocused=!0)),this._register(H(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Pa=class extends W{constructor(e){super();this._parentWindow=e,this._windowResizeListener=this._register(new pt),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(X(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=H(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Aa=class extends W{constructor(){super();this.linkProviders=[],this._register(X(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let s=this.linkProviders.indexOf(e);s!==-1&&this.linkProviders.splice(s,1)}}}};function bs(e,s,a){let l=a.getBoundingClientRect(),c=e.getComputedStyle(a),d=parseInt(c.getPropertyValue("padding-left")),u=parseInt(c.getPropertyValue("padding-top"));return[s.clientX-l.left-d,s.clientY-l.top-u]}function Oa(e,s,a,l,c,d,u,p,g){if(!d)return;let f=bs(e,s,a);if(f)return f[0]=Math.ceil((f[0]+(g?u/2:0))/u),f[1]=Math.ceil(f[1]/p),f[0]=Math.min(Math.max(f[0],1),l+(g?1:0)),f[1]=Math.min(Math.max(f[1],1),c),f}var ts=class{constructor(e,s){this._renderService=e,this._charSizeService=s}getCoords(e,s,a,l,c){return Oa(window,e,s,a,l,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,c)}getMouseReportCoords(e,s){let a=bs(window,e,s);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};ts=te([M(0,Ke),M(1,fi)],ts);var Ia=class{constructor(e,s){this._renderCallback=e,this._coreBrowserService=s,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,s,a){this._rowCount=a,e=e!==void 0?e:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,s),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Qr={};vn(Qr,{getSafariVersion:()=>Ha,isChromeOS:()=>rn,isFirefox:()=>en,isIpad:()=>Wa,isIphone:()=>za,isLegacyEdge:()=>Na,isLinux:()=>ws,isMac:()=>ci,isNode:()=>mi,isSafari:()=>tn,isWindows:()=>sn});var mi=typeof process<"u"&&"title"in process,$t=mi?"node":navigator.userAgent,Ut=mi?"node":navigator.platform,en=$t.includes("Firefox"),Na=$t.includes("Edge"),tn=/^((?!chrome|android).)*safari/i.test($t);function Ha(){if(!tn)return 0;let e=$t.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var ci=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Ut),Wa=Ut==="iPad",za=Ut==="iPhone",sn=["Windows","Win16","Win32","WinCE"].includes(Ut),ws=Ut.indexOf("Linux")>=0,rn=/\bCrOS\b/.test($t),nn=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let s=0,a=0,l=e.timeRemaining(),c=0;for(;this._i<this._tasks.length;){if(s=performance.now(),this._tasks[this._i]()||this._i++,s=Math.max(1,performance.now()-s),a=Math.max(s,a),c=e.timeRemaining(),a*1.5>c){l-s<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(l-s))}ms`),this._start();return}l=c}this.clear()}},Fa=class extends nn{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let s=performance.now()+e;return{timeRemaining:()=>Math.max(0,s-performance.now())}}},$a=class extends nn{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},di=!mi&&"requestIdleCallback"in window?$a:Fa,Ua=class{constructor(){this._queue=new di}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},is=class extends W{constructor(e,s,a,l,c,d,u,p,g){super();this._rowCount=e,this._optionsService=a,this._charSizeService=l,this._coreService=c,this._coreBrowserService=p,this._renderer=this._register(new pt),this._pausedResizeTask=new Ua,this._observerDisposable=this._register(new pt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new D),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new D),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new D),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ia((f,v)=>this._renderRows(f,v),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Ka(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(X(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(u.onResize(()=>this._fullRefresh())),this._register(u.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(d.onDecorationRegistered(()=>this._fullRefresh())),this._register(d.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(u.cols,u.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(u.buffer.y,u.buffer.y,!0))),this._register(g.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,s),this._register(this._coreBrowserService.onWindowChange((f)=>this._registerIntersectionObserver(f,s)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,s){if("IntersectionObserver"in e){let a=new e.IntersectionObserver((l)=>this._handleIntersectionChange(l[l.length-1]),{threshold:0});a.observe(s),this._observerDisposable.value=X(()=>a.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,s,a=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,s);return}let l=this._syncOutputHandler.flush();l&&(e=Math.min(e,l.start),s=Math.max(s,l.end)),a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,s,this._rowCount)}_renderRows(e,s){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,s);return}e=Math.min(e,this._rowCount-1),s=Math.min(s,this._rowCount-1),this._renderer.value.renderRows(e,s),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:s}),this._onRender.fire({start:e,end:s}),this._isNextRenderRedrawOnly=!0}}resize(e,s){this._rowCount=s,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((s)=>this.refreshRows(s.start,s.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,s){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,s)):this._renderer.value.handleResize(e,s),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,s,a){this._selectionState.start=e,this._selectionState.end=s,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(e,s,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};is=te([M(2,be),M(3,fi),M(4,ut),M(5,Ft),M(6,Se),M(7,Ue),M(8,gt)],is);var Ka=class{constructor(e,s,a){this._coreBrowserService=e,this._coreService=s,this._onTimeout=a,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,s){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,s)):(this._start=e,this._end=s,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function qa(e,s,a,l){let c=a.buffer.x,d=a.buffer.y;if(!a.buffer.hasScrollback)return ja(c,d,e,s,a,l)+vi(d,s,a,l)+Xa(c,d,e,s,a,l);let u;if(d===s)return u=c>e?"D":"C",Ht(Math.abs(c-e),Nt(u,l));u=d>s?"D":"C";let p=Math.abs(d-s),g=Ya(d>s?e:c,a)+(p-1)*a.cols+1+Va(d>s?c:e,a);return Ht(g,Nt(u,l))}function Va(e,s){return e-1}function Ya(e,s){return s.cols-e}function ja(e,s,a,l,c,d){return vi(s,l,c,d).length===0?"":Ht(an(e,s,e,s-dt(s,c),!1,c).length,Nt("D",d))}function vi(e,s,a,l){let c=e-dt(e,a),d=s-dt(s,a),u=Math.abs(c-d)-Ga(e,s,a);return Ht(u,Nt(on(e,s),l))}function Xa(e,s,a,l,c,d){let u;vi(s,l,c,d).length>0?u=l-dt(l,c):u=s;let p=l,g=Ja(e,s,a,l,c,d);return Ht(an(e,u,a,p,g==="C",c).length,Nt(g,d))}function Ga(e,s,a){let l=0,c=e-dt(e,a),d=s-dt(s,a);for(let u=0;u<Math.abs(c-d);u++){let p=on(e,s)==="A"?-1:1;a.buffer.lines.get(c+p*u)?.isWrapped&&l++}return l}function dt(e,s){let a=0,l=s.buffer.lines.get(e),c=l?.isWrapped;for(;c&&e>=0&&e<s.rows;)a++,l=s.buffer.lines.get(--e),c=l?.isWrapped;return a}function Ja(e,s,a,l,c,d){let u;return vi(a,l,c,d).length>0?u=l-dt(l,c):u=s,e<a&&u<=l||e>=a&&u<l?"C":"D"}function on(e,s){return e>s?"A":"B"}function an(e,s,a,l,c,d){let u=e,p=s,g="";for(;(u!==a||p!==l)&&p>=0&&p<d.buffer.lines.length;)u+=c?1:-1,c&&u>d.cols-1?(g+=d.buffer.translateBufferLineToString(p,!1,e,u),u=0,e=0,p++):!c&&u<0&&(g+=d.buffer.translateBufferLineToString(p,!1,0,e+1),u=d.cols-1,e=u,p--);return g+d.buffer.translateBufferLineToString(p,!1,e,u)}function Nt(e,s){let a=s?"O":"[";return C.ESC+a+e}function Ht(e,s){e=Math.floor(e);let a="";for(let l=0;l<e;l++)a+=s;return a}var Za=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,s=this.selectionEnd;return!e||!s?!1:e[1]>s[1]||e[1]===s[1]&&e[0]>s[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function er(e,s){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return s*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var Ri=50,Qa=15,eh=50,th=500,ih=" ",sh=new RegExp(ih,"g"),ss=class extends W{constructor(e,s,a,l,c,d,u,p,g){super();this._element=e,this._screenElement=s,this._linkifier=a,this._bufferService=l,this._coreService=c,this._mouseService=d,this._optionsService=u,this._renderService=p,this._coreBrowserService=g,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Me,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new D),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new D),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(f)=>this._handleMouseMove(f),this._mouseUpListener=(f)=>this._handleMouseUp(f),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((f)=>this._handleTrim(f)),this._register(this._bufferService.buffers.onBufferActivate((f)=>this._handleBufferActivate(f))),this.enable(),this._model=new Za(this._bufferService),this._activeSelectionMode=0,this._register(X(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((f)=>{f.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!e||!s?!1:e[0]!==s[0]||e[1]!==s[1]}get selectionText(){let e=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;if(!e||!s)return"";let a=this._bufferService.buffer,l=[];if(this._activeSelectionMode===3){if(e[0]===s[0])return"";let c=e[0]<s[0]?e[0]:s[0],d=e[0]<s[0]?s[0]:e[0];for(let u=e[1];u<=s[1];u++){let p=a.translateBufferLineToString(u,!0,c,d);l.push(p)}}else{let c=e[1]===s[1]?s[0]:void 0;l.push(a.translateBufferLineToString(e[1],!0,e[0],c));for(let d=e[1]+1;d<=s[1]-1;d++){let u=a.lines.get(d),p=a.translateBufferLineToString(d,!0);u?.isWrapped?l[l.length-1]+=p:l.push(p)}if(e[1]!==s[1]){let d=a.lines.get(s[1]),u=a.translateBufferLineToString(s[1],!0,0,s[0]);d&&d.isWrapped?l[l.length-1]+=u:l.push(u)}}return l.map((c)=>c.replace(sh," ")).join(sn?`\r
29
+ `).trim(),p=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(f);Zt.register(u,p?.[2]??f,u)}return u},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let s=this._listeners,a=s.indexOf(t);if(a===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,s[a]=void 0;let l=this._deliveryQueue.current===this;if(this._size*so<=s.length){let c=0;for(let d=0;d<s.length;d++)s[d]?s[c++]=s[d]:l&&(this._deliveryQueue.end--,c<this._deliveryQueue.i&&this._deliveryQueue.i--);s.length=c}}_deliver(t,s){if(!t)return;let a=this._options?.onListenerError||Gt;if(!a){t.value(s);return}try{t.value(s)}catch(l){a(l)}}_deliverQueue(t){let s=t.current._listeners;for(;t.i<t.end;)this._deliver(s[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Jt)this._deliver(this._listeners,t);else{let s=this._deliveryQueue;s.enqueue(this,t,this._listeners.length),this._deliverQueue(s)}this._perfMon?.stop()}hasListeners(){return this._size>0}},no=class{constructor(){this.i=-1,this.end=0}enqueue(t,s,a){this.i=0,this.end=a,this.current=t,this.value=s}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},qi=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new D,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new D,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(s){return this.mapWindowIdToZoomLevel.get(this.getWindowId(s))??0}setZoomLevel(s,a){if(this.getZoomLevel(a)===s)return;let l=this.getWindowId(a);this.mapWindowIdToZoomLevel.set(l,s),this._onDidChangeZoomLevel.fire(l)}getZoomFactor(s){return this.mapWindowIdToZoomFactor.get(this.getWindowId(s))??1}setZoomFactor(s,a){this.mapWindowIdToZoomFactor.set(this.getWindowId(a),s)}setFullscreen(s,a){if(this.isFullscreen(a)===s)return;let l=this.getWindowId(a);this.mapWindowIdToFullScreen.set(l,s),this._onDidChangeFullscreen.fire(l)}isFullscreen(s){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(s))}getWindowId(s){return s.vscodeWindowId}};qi.INSTANCE=new qi;var fs=qi;function oo(t,s,a){typeof s=="string"&&(s=t.matchMedia(s)),s.addEventListener("change",a)}var ll=fs.INSTANCE.onDidChangeZoomLevel;function ao(t){return fs.INSTANCE.getZoomFactor(t)}var cl=fs.INSTANCE.onDidChangeFullscreen,mt=typeof navigator=="object"?navigator.userAgent:"",Vi=mt.indexOf("Firefox")>=0,Qt=mt.indexOf("AppleWebKit")>=0,ps=mt.indexOf("Chrome")>=0,Wr=!ps&&mt.indexOf("Safari")>=0,dl=mt.indexOf("Electron/")>=0,ul=mt.indexOf("Android")>=0,ei=!1;if(typeof Be.matchMedia=="function"){let t=Be.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),s=Be.matchMedia("(display-mode: fullscreen)");ei=t.matches,oo(Be,t,({matches:a})=>{ei&&s.matches||(ei=a)})}function ho(){return ei}var ft="en",ni=!1,oi=!1,At=!1,lo=!1,zr=!1,Fr=!1,co=!1,uo=!1,_o=!1,fo=!1,qt,ti=ft,Os=ft,po,ze,$e=globalThis,De;typeof $e.vscode<"u"&&typeof $e.vscode.process<"u"?De=$e.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(De=process);var $r=typeof De?.versions?.electron=="string",go=$r&&De?.type==="renderer";if(typeof De=="object"){ni=De.platform==="win32",oi=De.platform==="darwin",At=De.platform==="linux",lo=At&&!!De.env.SNAP&&!!De.env.SNAP_REVISION,co=$r,_o=!!De.env.CI||!!De.env.BUILD_ARTIFACTSTAGINGDIRECTORY,qt=ft,ti=ft;let t=De.env.VSCODE_NLS_CONFIG;if(t)try{let s=JSON.parse(t);qt=s.userLocale,Os=s.osLocale,ti=s.resolvedLanguage||ft,po=s.languagePack?.translationsConfigFile}catch{}zr=!0}else typeof navigator=="object"&&!go?(ze=navigator.userAgent,ni=ze.indexOf("Windows")>=0,oi=ze.indexOf("Macintosh")>=0,uo=(ze.indexOf("Macintosh")>=0||ze.indexOf("iPad")>=0||ze.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,At=ze.indexOf("Linux")>=0,fo=ze?.indexOf("Mobi")>=0,Fr=!0,ti=globalThis._VSCODE_NLS_LANGUAGE||ft,qt=navigator.language.toLowerCase(),Os=qt):console.error("Unable to resolve platform.");var wi=0;oi?wi=1:ni?wi=3:At&&(wi=2);var Ur=ni,Ie=oi,mo=At,yi=zr,vo=Fr&&typeof $e.importScripts=="function",_l=vo?$e.origin:void 0,Ne=ze,je=ti,So;((t)=>{function s(){return je}t.value=s;function a(){return je.length===2?je==="en":je.length>=3?je[0]==="e"&&je[1]==="n"&&je[2]==="-":!1}t.isDefaultVariant=a;function l(){return je==="en"}t.isDefault=l})(So||={});var bo=typeof $e.postMessage=="function"&&!$e.importScripts,wo=(()=>{if(bo){let t=[];$e.addEventListener("message",(a)=>{if(a.data&&a.data.vscodeScheduleAsyncWork)for(let l=0,c=t.length;l<c;l++){let d=t[l];if(d.id===a.data.vscodeScheduleAsyncWork){t.splice(l,1),d.callback();return}}});let s=0;return(a)=>{let l=++s;t.push({id:l,callback:a}),$e.postMessage({vscodeScheduleAsyncWork:l},"*")}}return(t)=>setTimeout(t)})(),yo=!!(Ne&&Ne.indexOf("Chrome")>=0),fl=!!(Ne&&Ne.indexOf("Firefox")>=0),pl=!!(!yo&&Ne&&Ne.indexOf("Safari")>=0),gl=!!(Ne&&Ne.indexOf("Edg/")>=0),ml=!!(Ne&&Ne.indexOf("Android")>=0),Xe=typeof navigator=="object"?navigator:{},vl={clipboard:{writeText:yi||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Xe&&Xe.clipboard&&Xe.clipboard.writeText),readText:yi||!!(Xe&&Xe.clipboard&&Xe.clipboard.readText)},keyboard:yi||ho()?0:Xe.keyboard||Wr?1:2,touch:"ontouchstart"in Be||Xe.maxTouchPoints>0,pointerEvents:Be.PointerEvent&&(("ontouchstart"in Be)||navigator.maxTouchPoints>0)},gs=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,s){this._keyCodeToStr[t]=s,this._strToKeyCode[s.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},Ci=new gs,Is=new gs,Ns=new gs,Co=Array(230),Kr;((t)=>{function s(f){return Ci.keyCodeToStr(f)}t.toString=s;function a(f){return Ci.strToKeyCode(f)}t.fromString=a;function l(f){return Is.keyCodeToStr(f)}t.toUserSettingsUS=l;function c(f){return Ns.keyCodeToStr(f)}t.toUserSettingsGeneral=c;function d(f){return Is.strToKeyCode(f)||Ns.strToKeyCode(f)}t.fromUserSettings=d;function u(f){if(f>=98&&f<=113)return null;switch(f){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ci.keyCodeToStr(f)}t.toElectronAccelerator=u})(Kr||={});var xo=class t{constructor(s,a,l,c,d){this.ctrlKey=s,this.shiftKey=a,this.altKey=l,this.metaKey=c,this.keyCode=d}equals(s){return s instanceof t&&this.ctrlKey===s.ctrlKey&&this.shiftKey===s.shiftKey&&this.altKey===s.altKey&&this.metaKey===s.metaKey&&this.keyCode===s.keyCode}getHashCode(){let s=this.ctrlKey?"1":"0",a=this.shiftKey?"1":"0",l=this.altKey?"1":"0",c=this.metaKey?"1":"0";return`K${s}${a}${l}${c}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new ko([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},ko=class{constructor(t){if(t.length===0)throw On("chords");this.chords=t}getHashCode(){let t="";for(let s=0,a=this.chords.length;s<a;s++)s!==0&&(t+=";"),t+=this.chords[s].getHashCode();return t}equals(t){if(t===null||this.chords.length!==t.chords.length)return!1;for(let s=0;s<this.chords.length;s++)if(!this.chords[s].equals(t.chords[s]))return!1;return!0}};function Eo(t){if(t.charCode){let a=String.fromCharCode(t.charCode).toUpperCase();return Kr.fromString(a)}let s=t.keyCode;if(s===3)return 7;if(Vi)switch(s){case 59:return 85;case 60:if(mo)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ie)return 57;break}else if(Qt){if(Ie&&s===93)return 57;if(!Ie&&s===92)return 57}return Co[s]||0}var Do=Ie?256:2048,Bo=512,Ro=1024,Lo=Ie?2048:256,Yi=class{constructor(t){this._standardKeyboardEventBrand=!0;let s=t;this.browserEvent=s,this.target=s.target,this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,this.altGraphKey=s.getModifierState?.("AltGraph"),this.keyCode=Eo(s),this.code=s.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode);let s=0;return this.ctrlKey&&(s|=Do),this.altKey&&(s|=Bo),this.shiftKey&&(s|=Ro),this.metaKey&&(s|=Lo),s|=t,s}_computeKeyCodeChord(){let t=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(t=this.keyCode),new xo(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}},Hs=new WeakMap;function Mo(t){if(!t.parent||t.parent===t)return null;try{let s=t.location,a=t.parent.location;if(s.origin!=="null"&&a.origin!=="null"&&s.origin!==a.origin)return null}catch{return null}return t.parent}var To=class{static getSameOriginWindowChain(t){let s=Hs.get(t);if(!s){s=[],Hs.set(t,s);let a=t,l;do l=Mo(a),l?s.push({window:new WeakRef(a),iframeElement:a.frameElement||null}):s.push({window:new WeakRef(a),iframeElement:null}),a=l;while(a)}return s.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,s){if(!s||t===s)return{top:0,left:0};let a=0,l=0,c=this.getSameOriginWindowChain(t);for(let d of c){let u=d.window.deref();if(a+=u?.scrollY??0,l+=u?.scrollX??0,u===s||!d.iframeElement)break;let f=d.iframeElement.getBoundingClientRect();a+=f.top,l+=f.left}return{top:a,left:l}}},Bt=class{constructor(t,s){this.timestamp=Date.now(),this.browserEvent=s,this.leftButton=s.button===0,this.middleButton=s.button===1,this.rightButton=s.button===2,this.buttons=s.buttons,this.target=s.target,this.detail=s.detail||1,s.type==="dblclick"&&(this.detail=2),this.ctrlKey=s.ctrlKey,this.shiftKey=s.shiftKey,this.altKey=s.altKey,this.metaKey=s.metaKey,typeof s.pageX=="number"?(this.posx=s.pageX,this.posy=s.pageY):(this.posx=s.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=s.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let a=To.getPositionOfChildWindowRelativeToAncestorWindow(t,s.view);this.posx-=a.left,this.posy-=a.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Ws=class{constructor(t,s=0,a=0){this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=a,this.deltaX=s;let l=!1;if(ps){let c=navigator.userAgent.match(/Chrome\/(\d+)/);l=(c?parseInt(c[1]):123)<=122}if(t){let c=t,d=t,u=t.view?.devicePixelRatio||1;if(typeof c.wheelDeltaY<"u")l?this.deltaY=c.wheelDeltaY/(120*u):this.deltaY=c.wheelDeltaY/120;else if(typeof d.VERTICAL_AXIS<"u"&&d.axis===d.VERTICAL_AXIS)this.deltaY=-d.detail/3;else if(t.type==="wheel"){let f=t;f.deltaMode===f.DOM_DELTA_LINE?Vi&&!Ie?this.deltaY=-t.deltaY/3:this.deltaY=-t.deltaY:this.deltaY=-t.deltaY/40}if(typeof c.wheelDeltaX<"u")Wr&&Ur?this.deltaX=-(c.wheelDeltaX/120):l?this.deltaX=c.wheelDeltaX/(120*u):this.deltaX=c.wheelDeltaX/120;else if(typeof d.HORIZONTAL_AXIS<"u"&&d.axis===d.HORIZONTAL_AXIS)this.deltaX=-t.detail/3;else if(t.type==="wheel"){let f=t;f.deltaMode===f.DOM_DELTA_LINE?Vi&&!Ie?this.deltaX=-t.deltaX/3:this.deltaX=-t.deltaX:this.deltaX=-t.deltaX/40}this.deltaY===0&&this.deltaX===0&&t.wheelDelta&&(l?this.deltaY=t.wheelDelta/(120*u):this.deltaY=t.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},qr=Object.freeze(function(t,s){let a=setTimeout(t.bind(s),0);return{dispose(){clearTimeout(a)}}}),Po;((t)=>{function s(a){return a===t.None||a===t.Cancelled||a instanceof Ao?!0:!a||typeof a!="object"?!1:typeof a.isCancellationRequested=="boolean"&&typeof a.onCancellationRequested=="function"}t.isCancellationToken=s,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ge.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:qr})})(Po||={});var Ao=class{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?qr:(this._emitter||(this._emitter=new D),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Sl=Symbol("MicrotaskDelay"),ms=class{constructor(t,s){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof s=="number"&&this.setIfNotSet(t,s)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,s){if(this._isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},s)}setIfNotSet(t,s){if(this._isDisposed)throw new Fi("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},s))}},Oo=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(t,s,a=globalThis){if(this.isDisposed)throw new Fi("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let l=a.setInterval(()=>{t()},s);this.disposable=X(()=>{a.clearInterval(l),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Io,xi;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?xi=(t,s)=>{wo(()=>{if(a)return;let l=Date.now()+15;s(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,l-Date.now())}}))});let a=!1;return{dispose(){a||(a=!0)}}}:xi=(t,s,a)=>{let l=t.requestIdleCallback(s,typeof a=="number"?{timeout:a}:void 0),c=!1;return{dispose(){c||(c=!0,t.cancelIdleCallback(l))}}},Io=(t)=>xi(globalThis,t)})();var No;((t)=>{async function s(l){let c,d=await Promise.all(l.map((u)=>u.then((f)=>f,(f)=>{c||(c=f)})));if(typeof c<"u")throw c;return d}t.settled=s;function a(l){return new Promise(async(c,d)=>{try{await l(c,d)}catch(u){d(u)}})}t.withAsyncBody=a})(No||={});var zs=class t{static fromArray(s){return new t((a)=>{a.emitMany(s)})}static fromPromise(s){return new t(async(a)=>{a.emitMany(await s)})}static fromPromises(s){return new t(async(a)=>{await Promise.all(s.map(async(l)=>a.emitOne(await l)))})}static merge(s){return new t(async(a)=>{await Promise.all(s.map(async(l)=>{for await(let c of l)a.emitOne(c)}))})}constructor(s,a){this._state=0,this._results=[],this._error=null,this._onReturn=a,this._onStateChanged=new D,queueMicrotask(async()=>{let l={emitOne:(c)=>this.emitOne(c),emitMany:(c)=>this.emitMany(c),reject:(c)=>this.reject(c)};try{await Promise.resolve(s(l)),this.resolve()}catch(c){this.reject(c)}finally{l.emitOne=void 0,l.emitMany=void 0,l.reject=void 0}})}[Symbol.asyncIterator](){let s=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(s<this._results.length)return{done:!1,value:this._results[s++]};if(this._state===1)return{done:!0,value:void 0};await ge.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(s,a){return new t(async(l)=>{for await(let c of s)l.emitOne(a(c))})}map(s){return t.map(this,s)}static filter(s,a){return new t(async(l)=>{for await(let c of s)a(c)&&l.emitOne(c)})}filter(s){return t.filter(this,s)}static coalesce(s){return t.filter(s,(a)=>!!a)}coalesce(){return t.coalesce(this)}static async toPromise(s){let a=[];for await(let l of s)a.push(l);return a}toPromise(){return t.toPromise(this)}emitOne(s){this._state===0&&(this._results.push(s),this._onStateChanged.fire())}emitMany(s){this._state===0&&(this._results=this._results.concat(s),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(s){this._state===0&&(this._state=2,this._error=s,this._onStateChanged.fire())}};zs.EMPTY=zs.fromArray([]);function Ho(t){return 55296<=t&&t<=56319}function Fs(t){return 56320<=t&&t<=57343}function Wo(t,s){return(t-55296<<10)+(s-56320)+65536}function zo(t){return vs(t,0)}function vs(t,s){switch(typeof t){case"object":return t===null?Fe(349,s):Array.isArray(t)?$o(t,s):Uo(t,s);case"string":return Vr(t,s);case"boolean":return Fo(t,s);case"number":return Fe(t,s);case"undefined":return Fe(937,s);default:return Fe(617,s)}}function Fe(t,s){return(s<<5)-s+t|0}function Fo(t,s){return Fe(t?433:863,s)}function Vr(t,s){s=Fe(149417,s);for(let a=0,l=t.length;a<l;a++)s=Fe(t.charCodeAt(a),s);return s}function $o(t,s){return s=Fe(104579,s),t.reduce((a,l)=>vs(l,a),s)}function Uo(t,s){return s=Fe(181387,s),Object.keys(t).sort().reduce((a,l)=>(a=Vr(l,a),vs(t[l],a)),s)}function ki(t,s,a=32){let l=a-s,c=~((1<<l)-1);return(t<<s|(c&t)>>>l)>>>0}function $s(t,s=0,a=t.byteLength,l=0){for(let c=0;c<a;c++)t[s+c]=l}function Ko(t,s,a="0"){for(;t.length<s;)t=a+t;return t}function wt(t,s=32){return t instanceof ArrayBuffer?Array.from(new Uint8Array(t)).map((a)=>a.toString(16).padStart(2,"0")).join(""):Ko((t>>>0).toString(16),s/4)}var qo=class t{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(s){let a=s.length;if(a===0)return;let l=this._buff,c=this._buffLen,d=this._leftoverHighSurrogate,u,f;for(d!==0?(u=d,f=-1,d=0):(u=s.charCodeAt(0),f=0);;){let p=u;if(Ho(u))if(f+1<a){let _=s.charCodeAt(f+1);Fs(_)?(f++,p=Wo(u,_)):p=65533}else{d=u;break}else Fs(u)&&(p=65533);if(c=this._push(l,c,p),f++,f<a)u=s.charCodeAt(f);else break}this._buffLen=c,this._leftoverHighSurrogate=d}_push(s,a,l){return l<128?s[a++]=l:l<2048?(s[a++]=192|(l&1984)>>>6,s[a++]=128|(l&63)>>>0):l<65536?(s[a++]=224|(l&61440)>>>12,s[a++]=128|(l&4032)>>>6,s[a++]=128|(l&63)>>>0):(s[a++]=240|(l&1835008)>>>18,s[a++]=128|(l&258048)>>>12,s[a++]=128|(l&4032)>>>6,s[a++]=128|(l&63)>>>0),a>=64&&(this._step(),a-=64,this._totalLen+=64,s[0]=s[64],s[1]=s[65],s[2]=s[66]),a}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()),wt(this._h0)+wt(this._h1)+wt(this._h2)+wt(this._h3)+wt(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,$s(this._buff,this._buffLen),this._buffLen>56&&(this._step(),$s(this._buff));let s=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(s/4294967296),!1),this._buffDV.setUint32(60,s%4294967296,!1),this._step()}_step(){let s=t._bigBlock32,a=this._buffDV;for(let g=0;g<64;g+=4)s.setUint32(g,a.getUint32(g,!1),!1);for(let g=64;g<320;g+=4)s.setUint32(g,ki(s.getUint32(g-12,!1)^s.getUint32(g-32,!1)^s.getUint32(g-56,!1)^s.getUint32(g-64,!1),1),!1);let l=this._h0,c=this._h1,d=this._h2,u=this._h3,f=this._h4,p,_,m;for(let g=0;g<80;g++)g<20?(p=c&d|~c&u,_=1518500249):g<40?(p=c^d^u,_=1859775393):g<60?(p=c&d|c&u|d&u,_=2400959708):(p=c^d^u,_=3395469782),m=ki(l,5)+p+f+_+s.getUint32(g*4,!1)&4294967295,f=u,u=d,d=ki(c,30),c=l,l=m;this._h0=this._h0+l&4294967295,this._h1=this._h1+c&4294967295,this._h2=this._h2+d&4294967295,this._h3=this._h3+u&4294967295,this._h4=this._h4+f&4294967295}};qo._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:bl,getWindow:Te,getDocument:wl,getWindows:yl,getWindowsCount:Cl,getWindowId:Us,getWindowById:xl,hasWindow:kl,onDidRegisterWindow:Vo,onWillUnregisterWindow:El,onDidUnregisterWindow:Dl}=function(){let t=new Map,s={window:Be,disposables:new et};t.set(Be.vscodeWindowId,s);let a=new D,l=new D,c=new D;function d(u,f){return(typeof u=="number"?t.get(u):void 0)??(f?s:void 0)}return{onDidRegisterWindow:a.event,onWillUnregisterWindow:c.event,onDidUnregisterWindow:l.event,registerWindow(u){if(t.has(u.vscodeWindowId))return W.None;let f=new et,p={window:u,disposables:f.add(new et)};return t.set(u.vscodeWindowId,p),f.add(X(()=>{t.delete(u.vscodeWindowId),l.fire(u)})),f.add(H(u,de.BEFORE_UNLOAD,()=>{c.fire(u)})),a.fire(p),f},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(u){return u.vscodeWindowId},hasWindow(u){return t.has(u)},getWindowById:d,getWindow(u){let f=u;if(f?.ownerDocument?.defaultView)return f.ownerDocument.defaultView.window;let p=u;return p?.view?p.view.window:Be},getDocument(u){return Te(u).document}}}(),Yo=class{constructor(t,s,a,l){this._node=t,this._type=s,this._handler=a,this._options=l||!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 H(t,s,a,l){return new Yo(t,s,a,l)}function jo(t,s){return function(a){return s(new Bt(t,a))}}function Xo(t){return function(s){return t(new Yi(s))}}var Ks=function(t,s,a,l){let c=a;return s==="click"||s==="mousedown"||s==="contextmenu"?c=jo(Te(t),a):(s==="keydown"||s==="keypress"||s==="keyup")&&(c=Xo(a)),H(t,s,c,l)},Go,ai,Jo=class extends Oo{constructor(t){super(),this.defaultTarget=t&&Te(t)}cancelAndSet(t,s,a){return super.cancelAndSet(t,s,a??this.defaultTarget)}},Ei=class{constructor(t,s=0){this._runner=t,this.priority=s,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Gt(t)}}static sort(t,s){return s.priority-t.priority}};(function(){let t=new Map,s=new Map,a=new Map,l=new Map,c=(d)=>{a.set(d,!1);let u=t.get(d)??[];for(s.set(d,u),t.set(d,[]),l.set(d,!0);u.length>0;)u.sort(Ei.sort),u.shift().execute();l.set(d,!1)};ai=(d,u,f=0)=>{let p=Us(d),_=new Ei(u,f),m=t.get(p);return m||(m=[],t.set(p,m)),m.push(_),a.get(p)||(a.set(p,!0),d.requestAnimationFrame(()=>c(p))),_},Go=(d,u,f)=>{let p=Us(d);if(l.get(p)){let _=new Ei(u,f),m=s.get(p);return m||(m=[],s.set(p,m)),m.push(_),_}else return ai(d,u,f)}})();var qs=class t{constructor(s,a){this.width=s,this.height=a}with(s=this.width,a=this.height){return s!==this.width||a!==this.height?new t(s,a):this}static is(s){return typeof s=="object"&&typeof s.height=="number"&&typeof s.width=="number"}static lift(s){return s instanceof t?s:new t(s.width,s.height)}static equals(s,a){return s===a?!0:!s||!a?!1:s.width===a.width&&s.height===a.height}};qs.None=new qs(0,0);function Zo(t){let s=t.getBoundingClientRect(),a=Te(t);return{left:s.left+a.scrollX,top:s.top+a.scrollY,width:s.width,height:s.height}}var Bl=new class{constructor(){this.mutationObservers=new Map}observe(t,s,a){let l=this.mutationObservers.get(t);l||(l=new Map,this.mutationObservers.set(t,l));let c=zo(a),d=l.get(c);if(d)d.users+=1;else{let u=new D,f=new MutationObserver((_)=>u.fire(_));f.observe(t,a);let p=d={users:1,observer:f,onDidMutate:u.event};s.add(X(()=>{p.users-=1,p.users===0&&(u.dispose(),f.disconnect(),l?.delete(c),l?.size===0&&this.mutationObservers.delete(t))})),l.set(c,d)}return d.onDidMutate}},de={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:Qt?"webkitAnimationStart":"animationstart",ANIMATION_END:Qt?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Qt?"webkitAnimationIteration":"animationiteration"},Qo=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Yr(t,s,a,...l){let c=Qo.exec(s);if(!c)throw Error("Bad use of emmet");let d=c[1]||"div",u;return t!=="http://www.w3.org/1999/xhtml"?u=document.createElementNS(t,d):u=document.createElement(d),c[3]&&(u.id=c[3]),c[4]&&(u.className=c[4].replace(/\./g," ").trim()),a&&Object.entries(a).forEach(([f,p])=>{typeof p>"u"||(/^on\w+$/.test(f)?u[f]=p:f==="selected"?p&&u.setAttribute(f,"true"):u.setAttribute(f,p))}),u.append(...l),u}function ea(t,s,...a){return Yr("http://www.w3.org/1999/xhtml",t,s,...a)}ea.SVG=function(t,s,...a){return Yr("http://www.w3.org/2000/svg",t,s,...a)};var ta=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",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(t){let s=ye(t);this._maxWidth!==s&&(this._maxWidth=s,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let s=ye(t);this._width!==s&&(this._width=s,this.domNode.style.width=this._width)}setHeight(t){let s=ye(t);this._height!==s&&(this._height=s,this.domNode.style.height=this._height)}setTop(t){let s=ye(t);this._top!==s&&(this._top=s,this.domNode.style.top=this._top)}setLeft(t){let s=ye(t);this._left!==s&&(this._left=s,this.domNode.style.left=this._left)}setBottom(t){let s=ye(t);this._bottom!==s&&(this._bottom=s,this.domNode.style.bottom=this._bottom)}setRight(t){let s=ye(t);this._right!==s&&(this._right=s,this.domNode.style.right=this._right)}setPaddingTop(t){let s=ye(t);this._paddingTop!==s&&(this._paddingTop=s,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let s=ye(t);this._paddingLeft!==s&&(this._paddingLeft=s,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let s=ye(t);this._paddingBottom!==s&&(this._paddingBottom=s,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let s=ye(t);this._paddingRight!==s&&(this._paddingRight=s,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let s=ye(t);this._fontSize!==s&&(this._fontSize=s,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let s=ye(t);this._lineHeight!==s&&(this._lineHeight=s,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let s=ye(t);this._letterSpacing!==s&&(this._letterSpacing=s,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,s){this.domNode.classList.toggle(t,s),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,s){this.domNode.setAttribute(t,s)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function ye(t){return typeof t=="number"?`${t}px`:t}function Ot(t){return new ta(t)}var jr=class{constructor(){this._hooks=new et,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,s){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let a=this._onStopCallback;this._onStopCallback=null,t&&a&&a(s)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,s,a,l,c){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=l,this._onStopCallback=c;let d=t;try{t.setPointerCapture(s),this._hooks.add(X(()=>{try{t.releasePointerCapture(s)}catch{}}))}catch{d=Te(t)}this._hooks.add(H(d,de.POINTER_MOVE,(u)=>{if(u.buttons!==a){this.stopMonitoring(!0);return}u.preventDefault(),this._pointerMoveCallback(u)})),this._hooks.add(H(d,de.POINTER_UP,(u)=>this.stopMonitoring(!0)))}};function ia(t,s,a){let l=null,c=null;if(typeof a.value=="function"?(l="value",c=a.value,c.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof a.get=="function"&&(l="get",c=a.get),!c)throw Error("not supported");let d=`$memoize$${s}`;a[l]=function(...u){return this.hasOwnProperty(d)||Object.defineProperty(this,d,{configurable:!1,enumerable:!1,writable:!1,value:c.apply(this,u)}),this[d]}}var Oe;((t)=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(Oe||={});var Rt=class t extends W{constructor(){super();this.dispatched=!1,this.targets=new Ts,this.ignoreTargets=new Ts,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ge.runAndSubscribe(Vo,({window:s,disposables:a})=>{a.add(H(s.document,"touchstart",(l)=>this.onTouchStart(l),{passive:!1})),a.add(H(s.document,"touchend",(l)=>this.onTouchEnd(s,l))),a.add(H(s.document,"touchmove",(l)=>this.onTouchMove(l),{passive:!1}))},{window:Be,disposables:this._store}))}static addTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.targets.push(s);return X(a)}static ignoreTarget(s){if(!t.isTouchDevice())return W.None;t.INSTANCE||(t.INSTANCE=Ms(new t));let a=t.INSTANCE.ignoreTargets.push(s);return X(a)}static isTouchDevice(){return"ontouchstart"in Be||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(s){let a=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let l=0,c=s.targetTouches.length;l<c;l++){let d=s.targetTouches.item(l);this.activeTouches[d.identifier]={id:d.identifier,initialTarget:d.target,initialTimeStamp:a,initialPageX:d.pageX,initialPageY:d.pageY,rollingTimestamps:[a],rollingPageX:[d.pageX],rollingPageY:[d.pageY]};let u=this.newGestureEvent(Oe.Start,d.target);u.pageX=d.pageX,u.pageY=d.pageY,this.dispatchEvent(u)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}onTouchEnd(s,a){let l=Date.now(),c=Object.keys(this.activeTouches).length;for(let d=0,u=a.changedTouches.length;d<u;d++){let f=a.changedTouches.item(d);if(!this.activeTouches.hasOwnProperty(String(f.identifier))){console.warn("move of an UNKNOWN touch",f);continue}let p=this.activeTouches[f.identifier],_=Date.now()-p.initialTimeStamp;if(_<t.HOLD_DELAY&&Math.abs(p.initialPageX-ke(p.rollingPageX))<30&&Math.abs(p.initialPageY-ke(p.rollingPageY))<30){let m=this.newGestureEvent(Oe.Tap,p.initialTarget);m.pageX=ke(p.rollingPageX),m.pageY=ke(p.rollingPageY),this.dispatchEvent(m)}else if(_>=t.HOLD_DELAY&&Math.abs(p.initialPageX-ke(p.rollingPageX))<30&&Math.abs(p.initialPageY-ke(p.rollingPageY))<30){let m=this.newGestureEvent(Oe.Contextmenu,p.initialTarget);m.pageX=ke(p.rollingPageX),m.pageY=ke(p.rollingPageY),this.dispatchEvent(m)}else if(c===1){let m=ke(p.rollingPageX),g=ke(p.rollingPageY),S=ke(p.rollingTimestamps)-p.rollingTimestamps[0],w=m-p.rollingPageX[0],v=g-p.rollingPageY[0],y=[...this.targets].filter((R)=>p.initialTarget instanceof Node&&R.contains(p.initialTarget));this.inertia(s,y,l,Math.abs(w)/S,w>0?1:-1,m,Math.abs(v)/S,v>0?1:-1,g)}this.dispatchEvent(this.newGestureEvent(Oe.End,p.initialTarget)),delete this.activeTouches[f.identifier]}this.dispatched&&(a.preventDefault(),a.stopPropagation(),this.dispatched=!1)}newGestureEvent(s,a){let l=document.createEvent("CustomEvent");return l.initEvent(s,!1,!0),l.initialTarget=a,l.tapCount=0,l}dispatchEvent(s){if(s.type===Oe.Tap){let a=new Date().getTime(),l=0;a-this._lastSetTapCountTime>t.CLEAR_TAP_COUNT_TIME?l=1:l=2,this._lastSetTapCountTime=a,s.tapCount=l}else(s.type===Oe.Change||s.type===Oe.Contextmenu)&&(this._lastSetTapCountTime=0);if(s.initialTarget instanceof Node){for(let l of this.ignoreTargets)if(l.contains(s.initialTarget))return;let a=[];for(let l of this.targets)if(l.contains(s.initialTarget)){let c=0,d=s.initialTarget;for(;d&&d!==l;)c++,d=d.parentElement;a.push([c,l])}a.sort((l,c)=>l[0]-c[0]);for(let[l,c]of a)c.dispatchEvent(s),this.dispatched=!0}}inertia(s,a,l,c,d,u,f,p,_){this.handle=ai(s,()=>{let m=Date.now(),g=m-l,S=0,w=0,v=!0;c+=t.SCROLL_FRICTION*g,f+=t.SCROLL_FRICTION*g,c>0&&(v=!1,S=d*c*g),f>0&&(v=!1,w=p*f*g);let y=this.newGestureEvent(Oe.Change);y.translationX=S,y.translationY=w,a.forEach((R)=>R.dispatchEvent(y)),v||this.inertia(s,a,m,c,d,u+S,f,p,_+w)})}onTouchMove(s){let a=Date.now();for(let l=0,c=s.changedTouches.length;l<c;l++){let d=s.changedTouches.item(l);if(!this.activeTouches.hasOwnProperty(String(d.identifier))){console.warn("end of an UNKNOWN touch",d);continue}let u=this.activeTouches[d.identifier],f=this.newGestureEvent(Oe.Change,u.initialTarget);f.translationX=d.pageX-ke(u.rollingPageX),f.translationY=d.pageY-ke(u.rollingPageY),f.pageX=d.pageX,f.pageY=d.pageY,this.dispatchEvent(f),u.rollingPageX.length>3&&(u.rollingPageX.shift(),u.rollingPageY.shift(),u.rollingTimestamps.shift()),u.rollingPageX.push(d.pageX),u.rollingPageY.push(d.pageY),u.rollingTimestamps.push(a)}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}};Rt.SCROLL_FRICTION=-0.005,Rt.HOLD_DELAY=700,Rt.CLEAR_TAP_COUNT_TIME=400,te([ia],Rt,"isTouchDevice",1);var sa=Rt,Ss=class extends W{onclick(t,s){this._register(H(t,de.CLICK,(a)=>s(new Bt(Te(t),a))))}onmousedown(t,s){this._register(H(t,de.MOUSE_DOWN,(a)=>s(new Bt(Te(t),a))))}onmouseover(t,s){this._register(H(t,de.MOUSE_OVER,(a)=>s(new Bt(Te(t),a))))}onmouseleave(t,s){this._register(H(t,de.MOUSE_LEAVE,(a)=>s(new Bt(Te(t),a))))}onkeydown(t,s){this._register(H(t,de.KEY_DOWN,(a)=>s(new Yi(a))))}onkeyup(t,s){this._register(H(t,de.KEY_UP,(a)=>s(new Yi(a))))}oninput(t,s){this._register(H(t,de.INPUT,s))}onblur(t,s){this._register(H(t,de.BLUR,s))}onfocus(t,s){this._register(H(t,de.FOCUS,s))}onchange(t,s){this._register(H(t,de.CHANGE,s))}ignoreGesture(t){return sa.ignoreTarget(t)}},Vs=11,ra=class extends Ss{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=Vs+"px",this.domNode.style.height=Vs+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new jr),this._register(Ks(this.bgDomNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._register(Ks(this.domNode,de.POINTER_DOWN,(s)=>this._arrowPointerDown(s))),this._pointerdownRepeatTimer=this._register(new Jo),this._pointerdownScheduleRepeatTimer=this._register(new ms)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,Te(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(s,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(a)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},na=class t{constructor(s,a,l,c,d,u,f){this._forceIntegerValues=s,this._scrollStateBrand=void 0,this._forceIntegerValues&&(a=a|0,l=l|0,c=c|0,d=d|0,u=u|0,f=f|0),this.rawScrollLeft=c,this.rawScrollTop=f,a<0&&(a=0),c+a>l&&(c=l-a),c<0&&(c=0),d<0&&(d=0),f+d>u&&(f=u-d),f<0&&(f=0),this.width=a,this.scrollWidth=l,this.scrollLeft=c,this.height=d,this.scrollHeight=u,this.scrollTop=f}equals(s){return this.rawScrollLeft===s.rawScrollLeft&&this.rawScrollTop===s.rawScrollTop&&this.width===s.width&&this.scrollWidth===s.scrollWidth&&this.scrollLeft===s.scrollLeft&&this.height===s.height&&this.scrollHeight===s.scrollHeight&&this.scrollTop===s.scrollTop}withScrollDimensions(s,a){return new t(this._forceIntegerValues,typeof s.width<"u"?s.width:this.width,typeof s.scrollWidth<"u"?s.scrollWidth:this.scrollWidth,a?this.rawScrollLeft:this.scrollLeft,typeof s.height<"u"?s.height:this.height,typeof s.scrollHeight<"u"?s.scrollHeight:this.scrollHeight,a?this.rawScrollTop:this.scrollTop)}withScrollPosition(s){return new t(this._forceIntegerValues,this.width,this.scrollWidth,typeof s.scrollLeft<"u"?s.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof s.scrollTop<"u"?s.scrollTop:this.rawScrollTop)}createScrollEvent(s,a){let l=this.width!==s.width,c=this.scrollWidth!==s.scrollWidth,d=this.scrollLeft!==s.scrollLeft,u=this.height!==s.height,f=this.scrollHeight!==s.scrollHeight,p=this.scrollTop!==s.scrollTop;return{inSmoothScrolling:a,oldWidth:s.width,oldScrollWidth:s.scrollWidth,oldScrollLeft:s.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:s.height,oldScrollHeight:s.scrollHeight,oldScrollTop:s.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:l,scrollWidthChanged:c,scrollLeftChanged:d,heightChanged:u,scrollHeightChanged:f,scrollTopChanged:p}}},oa=class extends W{constructor(t){super();this._scrollableBrand=void 0,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new na(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,s){let a=this._state.withScrollDimensions(t,s);this._setState(a,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let s=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(s,!1)}setScrollPositionSmooth(t,s){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let a=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===a.scrollLeft&&this._smoothScrolling.to.scrollTop===a.scrollTop)return;let l;s?l=new js(this._smoothScrolling.from,a,this._smoothScrolling.startTime,this._smoothScrolling.duration):l=this._smoothScrolling.combine(this._state,a,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=l}else{let a=this._state.withScrollPosition(t);this._smoothScrolling=js.start(this._state,a,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),s=this._state.withScrollPosition(t);if(this._setState(s,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,s){let a=this._state;a.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(a,s)))}},Ys=class{constructor(t,s,a){this.scrollLeft=t,this.scrollTop=s,this.isDone=a}};function Di(t,s){let a=s-t;return function(l){return t+a*la(l)}}function aa(t,s,a){return function(l){return l<a?t(l/a):s((l-a)/(1-a))}}var js=class t{constructor(s,a,l,c){this.from=s,this.to=a,this.duration=c,this.startTime=l,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(s,a,l){if(Math.abs(s-a)>2.5*l){let c,d;return s<a?(c=s+0.75*l,d=a-0.75*l):(c=s-0.75*l,d=a+0.75*l),aa(Di(s,c),Di(d,a),0.33)}return Di(s,a)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(s){this.to=s.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(s){let a=(s-this.startTime)/this.duration;if(a<1){let l=this.scrollLeft(a),c=this.scrollTop(a);return new Ys(l,c,!1)}return new Ys(this.to.scrollLeft,this.to.scrollTop,!0)}combine(s,a,l){return t.start(s,a,l)}static start(s,a,l){l=l+10;let c=Date.now()-10;return new t(s,a,c,l)}};function ha(t){return Math.pow(t,3)}function la(t){return 1-ha(1-t)}var ca=class extends W{constructor(t,s,a){super(),this._visibility=t,this._visibleClassName=s,this._invisibleClassName=a,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new ms)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(t){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(t?" fade":"")))}},da=140,Xr=class extends Ss{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new ca(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new jr),this._shouldRender=!0,this.domNode=Ot(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(H(this.domNode.domNode,de.POINTER_DOWN,(s)=>this._domNodePointerDown(s)))}_createArrow(t){let s=this._register(new ra(t));this.domNode.domNode.appendChild(s.bgDomNode),this.domNode.domNode.appendChild(s.domNode)}_createSlider(t,s,a,l){this.slider=Ot(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(s),typeof a=="number"&&this.slider.setWidth(a),typeof l=="number"&&this.slider.setHeight(l),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(H(this.slider.domNode,de.POINTER_DOWN,(c)=>{c.button===0&&(c.preventDefault(),this._sliderPointerDown(c))})),this.onclick(this.slider.domNode,(c)=>{c.leftButton&&c.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(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(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let s=this.domNode.domNode.getClientRects()[0].top,a=s+this._scrollbarState.getSliderPosition(),l=s+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),c=this._sliderPointerPosition(t);a<=c&&c<=l?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let s,a;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")s=t.offsetX,a=t.offsetY;else{let c=Zo(this.domNode.domNode);s=t.pageX-c.left,a=t.pageY-c.top}let l=this._pointerDownRelativePosition(s,a);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(l):this._scrollbarState.getDesiredScrollPositionFromOffset(l)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let s=this._sliderPointerPosition(t),a=this._sliderOrthogonalPointerPosition(t),l=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(c)=>{let d=this._sliderOrthogonalPointerPosition(c),u=Math.abs(d-a);if(Ur&&u>da){this._setDesiredScrollPositionNow(l.getScrollPosition());return}let f=this._sliderPointerPosition(c)-s;this._setDesiredScrollPositionNow(l.getDesiredScrollPositionFromDelta(f))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let s={};this.writeScrollPosition(s,t),this._scrollable.setScrollPositionNow(s)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Gr=class t{constructor(s,a,l,c,d,u){this._scrollbarSize=Math.round(a),this._oppositeScrollbarSize=Math.round(l),this._arrowSize=Math.round(s),this._visibleSize=c,this._scrollSize=d,this._scrollPosition=u,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new t(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(s){let a=Math.round(s);return this._visibleSize!==a?(this._visibleSize=a,this._refreshComputedValues(),!0):!1}setScrollSize(s){let a=Math.round(s);return this._scrollSize!==a?(this._scrollSize=a,this._refreshComputedValues(),!0):!1}setScrollPosition(s){let a=Math.round(s);return this._scrollPosition!==a?(this._scrollPosition=a,this._refreshComputedValues(),!0):!1}setScrollbarSize(s){this._scrollbarSize=Math.round(s)}setOppositeScrollbarSize(s){this._oppositeScrollbarSize=Math.round(s)}static _computeValues(s,a,l,c,d){let u=Math.max(0,l-s),f=Math.max(0,u-2*a),p=c>0&&c>l;if(!p)return{computedAvailableSize:Math.round(u),computedIsNeeded:p,computedSliderSize:Math.round(f),computedSliderRatio:0,computedSliderPosition:0};let _=Math.round(Math.max(20,Math.floor(l*f/c))),m=(f-_)/(c-l),g=d*m;return{computedAvailableSize:Math.round(u),computedIsNeeded:p,computedSliderSize:Math.round(_),computedSliderRatio:m,computedSliderPosition:Math.round(g)}}_refreshComputedValues(){let s=t._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=s.computedAvailableSize,this._computedIsNeeded=s.computedIsNeeded,this._computedSliderSize=s.computedSliderSize,this._computedSliderRatio=s.computedSliderRatio,this._computedSliderPosition=s.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(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize-this._computedSliderSize/2;return Math.round(a/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(s){if(!this._computedIsNeeded)return 0;let a=s-this._arrowSize,l=this._scrollPosition;return a<this._computedSliderPosition?l-=this._visibleSize:l+=this._visibleSize,l}getDesiredScrollPositionFromDelta(s){if(!this._computedIsNeeded)return 0;let a=this._computedSliderPosition+s;return Math.round(a/this._computedSliderRatio)}},ua=class extends Xr{constructor(t,s,a){let l=t.getScrollDimensions(),c=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.horizontalHasArrows?s.arrowSize:0,s.horizontal===2?0:s.horizontalScrollbarSize,s.vertical===2?0:s.verticalScrollbarSize,l.width,l.scrollWidth,c.scrollLeft),visibility:s.horizontal,extraScrollbarClassName:"horizontal",scrollable:t,scrollByPage:s.scrollByPage}),s.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((s.horizontalScrollbarSize-s.horizontalSliderSize)/2),0,void 0,s.horizontalSliderSize)}_updateSlider(t,s){this.slider.setWidth(t),this.slider.setLeft(s)}_renderDomNode(t,s){this.domNode.setWidth(t),this.domNode.setHeight(s),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,s){t.scrollLeft=s}updateOptions(t){this.updateScrollbarSize(t.horizontal===2?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}},_a=class extends Xr{constructor(t,s,a){let l=t.getScrollDimensions(),c=t.getCurrentScrollPosition();if(super({lazyRender:s.lazyRender,host:a,scrollbarState:new Gr(s.verticalHasArrows?s.arrowSize:0,s.vertical===2?0:s.verticalScrollbarSize,0,l.height,l.scrollHeight,c.scrollTop),visibility:s.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:s.scrollByPage}),s.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((s.verticalScrollbarSize-s.verticalSliderSize)/2),s.verticalSliderSize,void 0)}_updateSlider(t,s){this.slider.setHeight(t),this.slider.setTop(s)}_renderDomNode(t,s){this.domNode.setWidth(s),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,s){return s}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,s){t.scrollTop=s}updateOptions(t){this.updateScrollbarSize(t.vertical===2?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}},fa=500,Xs=50,Gs=!0,pa=class{constructor(t,s,a){this.timestamp=t,this.deltaX=s,this.deltaY=a,this.score=0}},ji=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let s=1,a=0,l=1,c=this._rear;do{let d=c===this._front?s:Math.pow(2,-l);if(s-=d,a+=this._memory[c].score*d,c===this._front)break;c=(this._capacity+c-1)%this._capacity,l++}while(!0);return a<=0.5}acceptStandardWheelEvent(s){if(ps){let a=Te(s.browserEvent),l=ao(a);this.accept(Date.now(),s.deltaX*l,s.deltaY*l)}else this.accept(Date.now(),s.deltaX,s.deltaY)}accept(s,a,l){let c=null,d=new pa(s,a,l);this._front===-1&&this._rear===-1?(this._memory[0]=d,this._front=0,this._rear=0):(c=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=d),d.score=this._computeScore(d,c)}_computeScore(s,a){if(Math.abs(s.deltaX)>0&&Math.abs(s.deltaY)>0)return 1;let l=0.5;if((!this._isAlmostInt(s.deltaX)||!this._isAlmostInt(s.deltaY))&&(l+=0.25),a){let c=Math.abs(s.deltaX),d=Math.abs(s.deltaY),u=Math.abs(a.deltaX),f=Math.abs(a.deltaY),p=Math.max(Math.min(c,u),1),_=Math.max(Math.min(d,f),1),m=Math.max(c,u),g=Math.max(d,f);m%p===0&&g%_===0&&(l-=0.5)}return Math.min(Math.max(l,0),1)}_isAlmostInt(s){return Math.abs(Math.round(s)-s)<0.01}};ji.INSTANCE=new ji;var ga=ji,ma=class extends Ss{constructor(t,s,a){super();this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new D),this.onWillScroll=this._onWillScroll.event,this._options=Sa(s),this._scrollable=a,this._register(this._scrollable.onScroll((c)=>{this._onWillScroll.fire(c),this._onDidScroll(c),this._onScroll.fire(c)}));let l={onMouseWheel:(c)=>this._onMouseWheel(c),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new _a(this._scrollable,this._options,l)),this._horizontalScrollbar=this._register(new ua(this._scrollable,this._options,l)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Ot(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Ot(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Ot(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,(c)=>this._onMouseOver(c)),this.onmouseleave(this._listenOnDomNode,(c)=>this._onMouseLeave(c)),this._hideTimeout=this._register(new ms),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ct(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,Ie&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new Ws(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=ct(this._mouseWheelToDispose),t)){let s=(a)=>{this._onMouseWheel(new Ws(a))};this._mouseWheelToDispose.push(H(this._listenOnDomNode,de.MOUSE_WHEEL,s,{passive:!1}))}}_onMouseWheel(t){if(t.browserEvent?.defaultPrevented)return;let s=ga.INSTANCE;Gs&&s.acceptStandardWheelEvent(t);let a=!1;if(t.deltaY||t.deltaX){let c=t.deltaY*this._options.mouseWheelScrollSensitivity,d=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&d+c===0?d=c=0:Math.abs(c)>=Math.abs(d)?d=0:c=0),this._options.flipAxes&&([c,d]=[d,c]);let u=!Ie&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||u)&&!d&&(d=c,c=0),t.browserEvent&&t.browserEvent.altKey&&(d=d*this._options.fastScrollSensitivity,c=c*this._options.fastScrollSensitivity);let f=this._scrollable.getFutureScrollPosition(),p={};if(c){let _=Xs*c,m=f.scrollTop-(_<0?Math.floor(_):Math.ceil(_));this._verticalScrollbar.writeScrollPosition(p,m)}if(d){let _=Xs*d,m=f.scrollLeft-(_<0?Math.floor(_):Math.ceil(_));this._horizontalScrollbar.writeScrollPosition(p,m)}p=this._scrollable.validateScrollPosition(p),(f.scrollLeft!==p.scrollLeft||f.scrollTop!==p.scrollTop)&&(Gs&&this._options.mouseWheelSmoothScroll&&s.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(p):this._scrollable.setScrollPositionNow(p),a=!0)}let l=a;!l&&this._options.alwaysConsumeMouseWheel&&(l=!0),!l&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(l=!0),l&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw 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)){let t=this._scrollable.getCurrentScrollPosition(),s=t.scrollTop>0,a=t.scrollLeft>0,l=a?" left":"",c=s?" top":"",d=a||s?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${l}`),this._topShadowDomNode.setClassName(`shadow${c}`),this._topLeftShadowDomNode.setClassName(`shadow${d}${c}${l}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){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(),fa)}},va=class extends ma{constructor(t,s,a){super(t,s,a)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Sa(t){let s={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return s.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:s.horizontalScrollbarSize,s.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:s.verticalScrollbarSize,Ie&&(s.className+=" mac"),s}var Xi=class extends W{constructor(t,s,a,l,c,d,u,f){super();this._bufferService=a,this._optionsService=u,this._renderService=f,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let p=this._register(new oa({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(_)=>ai(l.window,_)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{p.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new va(s,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},p)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(c.onProtocolChange((_)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(_&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ge.runAndSubscribe(d.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=d.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(X(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=l.mainDocument.createElement("style"),s.appendChild(this._styleElement),this._register(X(()=>this._styleElement.remove())),this._register(ge.runAndSubscribe(d.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${d.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${d.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${d.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
30
+ `)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll((_)=>this._handleScroll(_)))}scrollLines(t){let s=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:s.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,s){s&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!s,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let s=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),a=s-this._bufferService.buffer.ydisp;a!==0&&(this._latestYDisp=s,this._onRequestScrollLines.fire(a)),this._isHandlingScroll=!1}};Xi=te([M(2,Se),M(3,Ue),M(4,Lr),M(5,gt),M(6,be),M(7,Ke)],Xi);var Gi=class extends W{constructor(t,s,a,l,c){super();this._screenElement=t,this._bufferService=s,this._coreBrowserService=a,this._decorationService=l,this._renderService=c,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved((d)=>this._removeDecoration(d))),this._register(X(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){let s=this._coreBrowserService.mainDocument.createElement("div");s.classList.add("xterm-decoration"),s.classList.toggle("xterm-decoration-top-layer",t?.options?.layer==="top"),s.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let a=t.options.x??0;return a&&a>this._bufferService.cols&&(s.style.display="none"),this._refreshXPosition(t,s),s}_refreshStyle(t){let s=t.marker.line-this._bufferService.buffers.active.ydisp;if(s<0||s>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let a=this._decorationElements.get(t);a||(a=this._createElement(t),t.element=a,this._decorationElements.set(t,a),this._container.appendChild(a),t.onDispose(()=>{this._decorationElements.delete(t),a.remove()})),a.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(a.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,a.style.top=`${s*this._renderService.dimensions.css.cell.height}px`,a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(a)}}_refreshXPosition(t,s=t.element){if(!s)return;let a=t.options.x??0;(t.options.anchor||"left")==="right"?s.style.right=a?`${a*this._renderService.dimensions.css.cell.width}px`:"":s.style.left=a?`${a*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){this._decorationElements.get(t)?.remove(),this._decorationElements.delete(t),t.dispose()}};Gi=te([M(1,Se),M(2,Ue),M(3,Ft),M(4,Ke)],Gi);var ba=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let s of this._zones)if(s.color===t.options.overviewRulerOptions.color&&s.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(s,t.marker.line))return;if(this._lineAdjacentToZone(s,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(s,t.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=t.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=t.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=t.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=t.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:t.options.overviewRulerOptions.color,position:t.options.overviewRulerOptions.position,startBufferLine:t.marker.line,endBufferLine:t.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(t){this._linePadding=t}_lineIntersectsZone(t,s){return s>=t.startBufferLine&&s<=t.endBufferLine}_lineAdjacentToZone(t,s,a){return s>=t.startBufferLine-this._linePadding[a||"full"]&&s<=t.endBufferLine+this._linePadding[a||"full"]}_addLineToZone(t,s){t.startBufferLine=Math.min(t.startBufferLine,s),t.endBufferLine=Math.max(t.endBufferLine,s)}},Pe={full:0,left:0,center:0,right:0},Ge={full:0,left:0,center:0,right:0},yt={full:0,left:0,center:0,right:0},hi=class extends W{constructor(t,s,a,l,c,d,u,f){super();this._viewportElement=t,this._screenElement=s,this._bufferService=a,this._decorationService=l,this._renderService=c,this._optionsService=d,this._themeService=u,this._coreBrowserService=f,this._colorZoneStore=new ba,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(X(()=>this._canvas?.remove()));let p=this._canvas.getContext("2d");if(p)this._ctx=p;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),s=Math.ceil((this._canvas.width-1)/3);Ge.full=this._canvas.width,Ge.left=t,Ge.center=s,Ge.right=t,this._refreshDrawHeightConstants(),yt.full=1,yt.left=1,yt.center=1+Ge.left,yt.right=1+Ge.left+Ge.center}_refreshDrawHeightConstants(){Pe.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,s=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);Pe.left=s,Pe.center=s,Pe.right=s}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Pe.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let s of this._decorationService.decorations)this._colorZoneStore.addDecoration(s);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let s of t)s.position!=="full"&&this._renderColorZone(s);for(let s of t)s.position==="full"&&this._renderColorZone(s);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(yt[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-Pe[t.position||"full"]/2),Ge[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+Pe[t.position||"full"]))}_queueRefresh(t,s){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=s||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};hi=te([M(2,Se),M(3,Ft),M(4,Ke),M(5,be),M(6,gt),M(7,Ue)],hi);var C;((t)=>(t.NUL="\x00",t.SOH="\x01",t.STX="\x02",t.ETX="\x03",t.EOT="\x04",t.ENQ="\x05",t.ACK="\x06",t.BEL="\x07",t.BS="\b",t.HT="\t",t.LF=`
31
+ `,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="\x0E",t.SI="\x0F",t.DLE="\x10",t.DC1="\x11",t.DC2="\x12",t.DC3="\x13",t.DC4="\x14",t.NAK="\x15",t.SYN="\x16",t.ETB="\x17",t.CAN="\x18",t.EM="\x19",t.SUB="\x1A",t.ESC="\x1B",t.FS="\x1C",t.GS="\x1D",t.RS="\x1E",t.US="\x1F",t.SP=" ",t.DEL=""))(C||={});var ii;((t)=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(ii||={});var Jr;((t)=>t.ST=`${C.ESC}\\`)(Jr||={});var Ji=class{constructor(t,s,a,l,c,d){this._textarea=t,this._compositionView=s,this._bufferService=a,this._optionsService=l,this._coreService=c,this._renderService=d,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let s={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let a;s.start+=this._dataAlreadySent.length,this._isComposing?a=this._textarea.value.substring(s.start,this._compositionPosition.start):a=this._textarea.value.substring(s.start),a.length>0&&this._coreService.triggerDataEvent(a,!0)}},0)}else{this._isSendingComposition=!1;let s=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(s,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let s=this._textarea.value,a=s.replace(t,"");this._dataAlreadySent=a,s.length>t.length?this._coreService.triggerDataEvent(a,!0):s.length<t.length?this._coreService.triggerDataEvent(`${C.DEL}`,!0):s.length===t.length&&s!==t&&this._coreService.triggerDataEvent(s,!0)}},0)}updateCompositionElements(t){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),a=this._renderService.dimensions.css.cell.height,l=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,c=s*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=c+"px",this._compositionView.style.top=l+"px",this._compositionView.style.height=a+"px",this._compositionView.style.lineHeight=a+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let d=this._compositionView.getBoundingClientRect();this._textarea.style.left=c+"px",this._textarea.style.top=l+"px",this._textarea.style.width=Math.max(d.width,1)+"px",this._textarea.style.height=Math.max(d.height,1)+"px",this._textarea.style.lineHeight=d.height+"px"}t||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ji=te([M(2,Se),M(3,be),M(4,ut),M(5,Ke)],Ji);var ue=0,_e=0,fe=0,ee=0,Js={css:"#00000000",rgba:0},ne;((t)=>{function s(c,d,u,f){return f!==void 0?`#${rt(c)}${rt(d)}${rt(u)}${rt(f)}`:`#${rt(c)}${rt(d)}${rt(u)}`}t.toCss=s;function a(c,d,u,f=255){return(c<<24|d<<16|u<<8|f)>>>0}t.toRgba=a;function l(c,d,u,f){return{css:t.toCss(c,d,u,f),rgba:t.toRgba(c,d,u,f)}}t.toColor=l})(ne||={});var j;((t)=>{function s(p,_){if(ee=(_.rgba&255)/255,ee===1)return{css:_.css,rgba:_.rgba};let m=_.rgba>>24&255,g=_.rgba>>16&255,S=_.rgba>>8&255,w=p.rgba>>24&255,v=p.rgba>>16&255,y=p.rgba>>8&255;ue=w+Math.round((m-w)*ee),_e=v+Math.round((g-v)*ee),fe=y+Math.round((S-y)*ee);let R=ne.toCss(ue,_e,fe),P=ne.toRgba(ue,_e,fe);return{css:R,rgba:P}}t.blend=s;function a(p){return(p.rgba&255)===255}t.isOpaque=a;function l(p,_,m){let g=si.ensureContrastRatio(p.rgba,_.rgba,m);if(g)return ne.toColor(g>>24&255,g>>16&255,g>>8&255)}t.ensureContrastRatio=l;function c(p){let _=(p.rgba|255)>>>0;return[ue,_e,fe]=si.toChannels(_),{css:ne.toCss(ue,_e,fe),rgba:_}}t.opaque=c;function d(p,_){return ee=Math.round(_*255),[ue,_e,fe]=si.toChannels(p.rgba),{css:ne.toCss(ue,_e,fe,ee),rgba:ne.toRgba(ue,_e,fe,ee)}}t.opacity=d;function u(p,_){return ee=p.rgba&255,d(p,ee*_/255)}t.multiplyOpacity=u;function f(p){return[p.rgba>>24&255,p.rgba>>16&255,p.rgba>>8&255]}t.toColorRGB=f})(j||={});var Q;((t)=>{let s,a;try{let c=document.createElement("canvas");c.width=1,c.height=1;let d=c.getContext("2d",{willReadFrequently:!0});d&&(s=d,s.globalCompositeOperation="copy",a=s.createLinearGradient(0,0,1,1))}catch{}function l(c){if(c.match(/#[\da-f]{3,8}/i))switch(c.length){case 4:return ue=parseInt(c.slice(1,2).repeat(2),16),_e=parseInt(c.slice(2,3).repeat(2),16),fe=parseInt(c.slice(3,4).repeat(2),16),ne.toColor(ue,_e,fe);case 5:return ue=parseInt(c.slice(1,2).repeat(2),16),_e=parseInt(c.slice(2,3).repeat(2),16),fe=parseInt(c.slice(3,4).repeat(2),16),ee=parseInt(c.slice(4,5).repeat(2),16),ne.toColor(ue,_e,fe,ee);case 7:return{css:c,rgba:(parseInt(c.slice(1),16)<<8|255)>>>0};case 9:return{css:c,rgba:parseInt(c.slice(1),16)>>>0}}let d=c.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(d)return ue=parseInt(d[1]),_e=parseInt(d[2]),fe=parseInt(d[3]),ee=Math.round((d[5]===void 0?1:parseFloat(d[5]))*255),ne.toColor(ue,_e,fe,ee);if(!s||!a)throw Error("css.toColor: Unsupported css format");if(s.fillStyle=a,s.fillStyle=c,typeof s.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(s.fillRect(0,0,1,1),[ue,_e,fe,ee]=s.getImageData(0,0,1,1).data,ee!==255)throw Error("css.toColor: Unsupported css format");return{rgba:ne.toRgba(ue,_e,fe,ee),css:c}}t.toColor=l})(Q||={});var ve;((t)=>{function s(l){return a(l>>16&255,l>>8&255,l&255)}t.relativeLuminance=s;function a(l,c,d){let u=l/255,f=c/255,p=d/255,_=u<=0.03928?u/12.92:Math.pow((u+0.055)/1.055,2.4),m=f<=0.03928?f/12.92:Math.pow((f+0.055)/1.055,2.4),g=p<=0.03928?p/12.92:Math.pow((p+0.055)/1.055,2.4);return _*0.2126+m*0.7152+g*0.0722}t.relativeLuminance2=a})(ve||={});var si;((t)=>{function s(u,f){if(ee=(f&255)/255,ee===1)return f;let p=f>>24&255,_=f>>16&255,m=f>>8&255,g=u>>24&255,S=u>>16&255,w=u>>8&255;return ue=g+Math.round((p-g)*ee),_e=S+Math.round((_-S)*ee),fe=w+Math.round((m-w)*ee),ne.toRgba(ue,_e,fe)}t.blend=s;function a(u,f,p){let _=ve.relativeLuminance(u>>8),m=ve.relativeLuminance(f>>8);if(We(_,m)<p){if(m<_){let w=l(u,f,p),v=We(_,ve.relativeLuminance(w>>8));if(v<p){let y=c(u,f,p),R=We(_,ve.relativeLuminance(y>>8));return v>R?w:y}return w}let g=c(u,f,p),S=We(_,ve.relativeLuminance(g>>8));if(S<p){let w=l(u,f,p),v=We(_,ve.relativeLuminance(w>>8));return S>v?g:w}return g}}t.ensureContrastRatio=a;function l(u,f,p){let _=u>>24&255,m=u>>16&255,g=u>>8&255,S=f>>24&255,w=f>>16&255,v=f>>8&255,y=We(ve.relativeLuminance2(S,w,v),ve.relativeLuminance2(_,m,g));for(;y<p&&(S>0||w>0||v>0);)S-=Math.max(0,Math.ceil(S*0.1)),w-=Math.max(0,Math.ceil(w*0.1)),v-=Math.max(0,Math.ceil(v*0.1)),y=We(ve.relativeLuminance2(S,w,v),ve.relativeLuminance2(_,m,g));return(S<<24|w<<16|v<<8|255)>>>0}t.reduceLuminance=l;function c(u,f,p){let _=u>>24&255,m=u>>16&255,g=u>>8&255,S=f>>24&255,w=f>>16&255,v=f>>8&255,y=We(ve.relativeLuminance2(S,w,v),ve.relativeLuminance2(_,m,g));for(;y<p&&(S<255||w<255||v<255);)S=Math.min(255,S+Math.ceil((255-S)*0.1)),w=Math.min(255,w+Math.ceil((255-w)*0.1)),v=Math.min(255,v+Math.ceil((255-v)*0.1)),y=We(ve.relativeLuminance2(S,w,v),ve.relativeLuminance2(_,m,g));return(S<<24|w<<16|v<<8|255)>>>0}t.increaseLuminance=c;function d(u){return[u>>24&255,u>>16&255,u>>8&255,u&255]}t.toChannels=d})(si||={});function rt(t){let s=t.toString(16);return s.length<2?"0"+s:s}function We(t,s){return t<s?(s+0.05)/(t+0.05):(t+0.05)/(s+0.05)}var wa=class extends zt{constructor(t,s,a){super();this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=s,this._width=a}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},li=class{constructor(t){this._bufferService=t,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Me}register(t){let s={id:this._nextCharacterJoinerId++,handler:t};return this._characterJoiners.push(s),s.id}deregister(t){for(let s=0;s<this._characterJoiners.length;s++)if(this._characterJoiners[s].id===t)return this._characterJoiners.splice(s,1),!0;return!1}getJoinedCharacters(t){if(this._characterJoiners.length===0)return[];let s=this._bufferService.buffer.lines.get(t);if(!s||s.length===0)return[];let a=[],l=s.translateToString(!0),c=0,d=0,u=0,f=s.getFg(0),p=s.getBg(0);for(let _=0;_<s.getTrimmedLength();_++)if(s.loadCell(_,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==f||this._workCell.bg!==p){if(_-c>1){let m=this._getJoinedRanges(l,u,d,s,c);for(let g=0;g<m.length;g++)a.push(m[g])}c=_,u=d,f=this._workCell.fg,p=this._workCell.bg}d+=this._workCell.getChars().length||Qe.length}if(this._bufferService.cols-c>1){let _=this._getJoinedRanges(l,u,d,s,c);for(let m=0;m<_.length;m++)a.push(_[m])}return a}_getJoinedRanges(t,s,a,l,c){let d=t.substring(s,a),u=[];try{u=this._characterJoiners[0].handler(d)}catch(f){console.error(f)}for(let f=1;f<this._characterJoiners.length;f++)try{let p=this._characterJoiners[f].handler(d);for(let _=0;_<p.length;_++)li._mergeRanges(u,p[_])}catch(p){console.error(p)}return this._stringRangesToCellRanges(u,l,c),u}_stringRangesToCellRanges(t,s,a){let l=0,c=!1,d=0,u=t[l];if(u){for(let f=a;f<this._bufferService.cols;f++){let p=s.getWidth(f),_=s.getString(f).length||Qe.length;if(p!==0){if(!c&&u[0]<=d&&(u[0]=f,c=!0),u[1]<=d){if(u[1]=f,u=t[++l],!u)break;u[0]<=d?(u[0]=f,c=!0):c=!1}d+=_}}u&&(u[1]=this._bufferService.cols)}}static _mergeRanges(t,s){let a=!1;for(let l=0;l<t.length;l++){let c=t[l];if(a){if(s[1]<=c[0])return t[l-1][1]=s[1],t;if(s[1]<=c[1])return t[l-1][1]=Math.max(s[1],c[1]),t.splice(l,1),t;t.splice(l,1),l--}else{if(s[1]<=c[0])return t.splice(l,0,s),t;if(s[1]<=c[1])return c[0]=Math.min(s[0],c[0]),t;s[0]<c[1]&&(c[0]=Math.min(s[0],c[0]),a=!0);continue}}return a?t[t.length-1][1]=s[1]:t.push(s),t}};li=te([M(0,Se)],li);function ya(t){return 57508<=t&&t<=57558}function Ca(t){return 9472<=t&&t<=9631}function xa(t){return ya(t)||Ca(t)}function ka(){return{css:{canvas:Vt(),cell:Vt()},device:{canvas:Vt(),cell:Vt(),char:{width:0,height:0,left:0,top:0}}}}function Vt(){return{width:0,height:0}}var Zi=class{constructor(t,s,a,l,c,d,u){this._document=t,this._characterJoinerService=s,this._optionsService=a,this._coreBrowserService=l,this._coreService=c,this._decorationService=d,this._themeService=u,this._workCell=new Me,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(t,s,a){this._selectionStart=t,this._selectionEnd=s,this._columnSelectMode=a}createRow(t,s,a,l,c,d,u,f,p,_,m){let g=[],S=this._characterJoinerService.getJoinedCharacters(s),w=this._themeService.colors,v=t.getNoBgTrimmedLength();a&&v<d+1&&(v=d+1);let y,R=0,P="",U=0,I=0,E=0,A=0,N=!1,G=0,Ce=!1,we=0,it=0,V=[],vt=_!==-1&&m!==-1;for(let k=0;k<v;k++){t.loadCell(k,this._workCell);let x=this._workCell.getWidth();if(x===0)continue;let T=!1,L=k>=it,O=k,B=this._workCell;if(S.length>0&&k===S[0][0]&&L){let K=S.shift(),Si=this._isCellInSelection(K[0],s);for(U=K[0]+1;U<K[1];U++)L&&=Si===this._isCellInSelection(U,s);L&&=!a||d<K[0]||d>=K[1],L?(T=!0,B=new wa(this._workCell,t.translateToString(!0,K[0],K[1]),K[1]-K[0]),O=K[1]-1,x=B.getWidth()):it=K[1]}let F=this._isCellInSelection(k,s),Y=a&&k===d,se=vt&&k>=_&&k<=m,xe=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{xe=!0});let He=B.getChars()||Qe;if(He===" "&&(B.isUnderline()||B.isOverline())&&(He=" "),we=x*f-p.get(He,B.isBold(),B.isItalic()),!y)y=this._document.createElement("span");else if(R&&(F&&Ce||!F&&!Ce&&B.bg===I)&&(F&&Ce&&w.selectionForeground||B.fg===E)&&B.extended.ext===A&&se===N&&we===G&&!Y&&!T&&!xe&&L){B.isInvisible()?P+=Qe:P+=He,R++;continue}else R&&(y.textContent=P),y=this._document.createElement("span"),R=0,P="";if(I=B.bg,E=B.fg,A=B.extended.ext,N=se,G=we,Ce=F,T&&d>=k&&d<=O&&(d=k),!this._coreService.isCursorHidden&&Y&&this._coreService.isCursorInitialized){if(V.push("xterm-cursor"),this._coreBrowserService.isFocused)u&&V.push("xterm-cursor-blink"),V.push(l==="bar"?"xterm-cursor-bar":l==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(c)switch(c){case"outline":V.push("xterm-cursor-outline");break;case"block":V.push("xterm-cursor-block");break;case"bar":V.push("xterm-cursor-bar");break;case"underline":V.push("xterm-cursor-underline");break;default:break}}if(B.isBold()&&V.push("xterm-bold"),B.isItalic()&&V.push("xterm-italic"),B.isDim()&&V.push("xterm-dim"),B.isInvisible()?P=Qe:P=B.getChars()||Qe,B.isUnderline()&&(V.push(`xterm-underline-${B.extended.underlineStyle}`),P===" "&&(P=" "),!B.isUnderlineColorDefault()))if(B.isUnderlineColorRGB())y.style.textDecorationColor=`rgb(${zt.toColorRGB(B.getUnderlineColor()).join(",")})`;else{let K=B.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&B.isBold()&&K<8&&(K+=8),y.style.textDecorationColor=w.ansi[K].css}B.isOverline()&&(V.push("xterm-overline"),P===" "&&(P=" ")),B.isStrikethrough()&&V.push("xterm-strikethrough"),se&&(y.style.textDecoration="underline");let le=B.getFgColor(),qe=B.getFgColorMode(),me=B.getBgColor(),st=B.getBgColorMode(),St=!!B.isInverse();if(St){let K=le;le=me,me=K;let Si=qe;qe=st,st=Si}let Ve,Kt,bt=!1;this._decorationService.forEachDecorationAtCell(k,s,void 0,(K)=>{K.options.layer!=="top"&&bt||(K.backgroundColorRGB&&(st=50331648,me=K.backgroundColorRGB.rgba>>8&16777215,Ve=K.backgroundColorRGB),K.foregroundColorRGB&&(qe=50331648,le=K.foregroundColorRGB.rgba>>8&16777215,Kt=K.foregroundColorRGB),bt=K.options.layer==="top")}),!bt&&F&&(Ve=this._coreBrowserService.isFocused?w.selectionBackgroundOpaque:w.selectionInactiveBackgroundOpaque,me=Ve.rgba>>8&16777215,st=50331648,bt=!0,w.selectionForeground&&(qe=50331648,le=w.selectionForeground.rgba>>8&16777215,Kt=w.selectionForeground)),bt&&V.push("xterm-decoration-top");let Ye;switch(st){case 16777216:case 33554432:Ye=w.ansi[me],V.push(`xterm-bg-${me}`);break;case 50331648:Ye=ne.toColor(me>>16,me>>8&255,me&255),this._addStyle(y,`background-color:#${Zs((me>>>0).toString(16),"0",6)}`);break;case 0:default:St?(Ye=w.foreground,V.push("xterm-bg-257")):Ye=w.background}switch(Ve||B.isDim()&&(Ve=j.multiplyOpacity(Ye,0.5)),qe){case 16777216:case 33554432:B.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(y,Ye,w.ansi[le],B,Ve,void 0)||V.push(`xterm-fg-${le}`);break;case 50331648:let K=ne.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(y,Ye,K,B,Ve,Kt)||this._addStyle(y,`color:#${Zs(le.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(y,Ye,w.foreground,B,Ve,Kt)||St&&V.push("xterm-fg-257")}V.length&&(y.className=V.join(" "),V.length=0),!Y&&!T&&!xe&&L?R++:y.textContent=P,we!==this.defaultSpacing&&(y.style.letterSpacing=`${we}px`),g.push(y),k=O}return y&&R&&(y.textContent=P),g}_applyMinimumContrast(t,s,a,l,c,d){if(this._optionsService.rawOptions.minimumContrastRatio===1||xa(l.getCode()))return!1;let u=this._getContrastCache(l),f;if(!c&&!d&&(f=u.getColor(s.rgba,a.rgba)),f===void 0){let p=this._optionsService.rawOptions.minimumContrastRatio/(l.isDim()?2:1);f=j.ensureContrastRatio(c||s,d||a,p),u.setColor((c||s).rgba,(d||a).rgba,f??null)}return f?(this._addStyle(t,`color:${f.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,s){t.setAttribute("style",`${t.getAttribute("style")||""}${s};`)}_isCellInSelection(t,s){let a=this._selectionStart,l=this._selectionEnd;return!a||!l?!1:this._columnSelectMode?a[0]<=l[0]?t>=a[0]&&s>=a[1]&&t<l[0]&&s<=l[1]:t<a[0]&&s>=a[1]&&t>=l[0]&&s<=l[1]:s>a[1]&&s<l[1]||a[1]===l[1]&&s===a[1]&&t>=a[0]&&t<l[0]||a[1]<l[1]&&s===l[1]&&t<l[0]||a[1]<l[1]&&s===a[1]&&t>=a[0]}};Zi=te([M(1,Pr),M(2,be),M(3,Ue),M(4,ut),M(5,Ft),M(6,gt)],Zi);function Zs(t,s,a){for(;t.length<a;)t=s+t;return t}var Ea=class{constructor(t,s){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=t.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let a=t.createElement("span");a.classList.add("xterm-char-measure-element");let l=t.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontWeight="bold";let c=t.createElement("span");c.classList.add("xterm-char-measure-element"),c.style.fontStyle="italic";let d=t.createElement("span");d.classList.add("xterm-char-measure-element"),d.style.fontWeight="bold",d.style.fontStyle="italic",this._measureElements=[a,l,c,d],this._container.appendChild(a),this._container.appendChild(l),this._container.appendChild(c),this._container.appendChild(d),s.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(t,s,a,l){t===this._font&&s===this._fontSize&&a===this._weight&&l===this._weightBold||(this._font=t,this._fontSize=s,this._weight=a,this._weightBold=l,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${a}`,this._measureElements[1].style.fontWeight=`${l}`,this._measureElements[2].style.fontWeight=`${a}`,this._measureElements[3].style.fontWeight=`${l}`,this.clear())}get(t,s,a){let l=0;if(!s&&!a&&t.length===1&&(l=t.charCodeAt(0))<256){if(this._flat[l]!==-9999)return this._flat[l];let u=this._measure(t,0);return u>0&&(this._flat[l]=u),u}let c=t;s&&(c+="B"),a&&(c+="I");let d=this._holey.get(c);if(d===void 0){let u=0;s&&(u|=1),a&&(u|=2),d=this._measure(t,u),d>0&&this._holey.set(c,d)}return d}_measure(t,s){let a=this._measureElements[s];return a.textContent=t.repeat(32),a.offsetWidth/32}},Da=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,s,a,l=!1){if(this.selectionStart=s,this.selectionEnd=a,!s||!a||s[0]===a[0]&&s[1]===a[1]){this.clear();return}let c=t.buffers.active.ydisp,d=s[1]-c,u=a[1]-c,f=Math.max(d,0),p=Math.min(u,t.rows-1);if(f>=t.rows||p<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=l,this.viewportStartRow=d,this.viewportEndRow=u,this.viewportCappedStartRow=f,this.viewportCappedEndRow=p,this.startCol=s[0],this.endCol=a[0]}isCellSelected(t,s,a){return this.hasSelection?(a-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?s>=this.startCol&&a>=this.viewportCappedStartRow&&s<this.endCol&&a<=this.viewportCappedEndRow:s<this.startCol&&a>=this.viewportCappedStartRow&&s>=this.endCol&&a<=this.viewportCappedEndRow:a>this.viewportStartRow&&a<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportEndRow&&s<this.endCol||this.viewportStartRow<this.viewportEndRow&&a===this.viewportStartRow&&s>=this.startCol):!1}};function Ba(){return new Da}var Bi="xterm-dom-renderer-owner-",Re="xterm-rows",Yt="xterm-fg-",Qs="xterm-bg-",Ct="xterm-focus",jt="xterm-selection",Ra=1,Qi=class extends W{constructor(t,s,a,l,c,d,u,f,p,_,m,g,S,w){super();this._terminal=t,this._document=s,this._element=a,this._screenElement=l,this._viewportElement=c,this._helperContainer=d,this._linkifier2=u,this._charSizeService=p,this._optionsService=_,this._bufferService=m,this._coreService=g,this._coreBrowserService=S,this._themeService=w,this._terminalClass=Ra++,this._rowElements=[],this._selectionRenderModel=Ba(),this.onRequestRedraw=this._register(new D).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Re),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(jt),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=ka(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((v)=>this._injectCss(v))),this._injectCss(this._themeService.colors),this._rowFactory=f.createInstance(Zi,document),this._element.classList.add(Bi+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((v)=>this._handleLinkHover(v))),this._register(this._linkifier2.onHideLinkUnderline((v)=>this._handleLinkLeave(v))),this._register(X(()=>{this._element.classList.remove(Bi+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Ea(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let a of this._rowElements)a.style.width=`${this.dimensions.css.canvas.width}px`,a.style.height=`${this.dimensions.css.cell.height}px`,a.style.lineHeight=`${this.dimensions.css.cell.height}px`,a.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let s=`${this._terminalSelector} .${Re} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=s,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let s=`${this._terminalSelector} .${Re} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;s+=`${this._terminalSelector} .${Re} .xterm-dim { color: ${j.multiplyOpacity(t.foreground,0.5).css};}`,s+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let a=`blink_underline_${this._terminalClass}`,l=`blink_bar_${this._terminalClass}`,c=`blink_block_${this._terminalClass}`;s+=`@keyframes ${a} { 50% { border-bottom-style: hidden; }}`,s+=`@keyframes ${l} { 50% { box-shadow: none; }}`,s+=`@keyframes ${c} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,s+=`${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${a} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${l} 1s step-end infinite;}${this._terminalSelector} .${Re}.${Ct} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${c} 1s step-end infinite;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${Re} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,s+=`${this._terminalSelector} .${jt} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${jt} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${jt} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[d,u]of t.ansi.entries())s+=`${this._terminalSelector} .${Yt}${d} { color: ${u.css}; }${this._terminalSelector} .${Yt}${d}.xterm-dim { color: ${j.multiplyOpacity(u,0.5).css}; }${this._terminalSelector} .${Qs}${d} { background-color: ${u.css}; }`;s+=`${this._terminalSelector} .${Yt}257 { color: ${j.opaque(t.background).css}; }${this._terminalSelector} .${Yt}257.xterm-dim { color: ${j.multiplyOpacity(j.opaque(t.background),0.5).css}; }${this._terminalSelector} .${Qs}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=s}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,s){for(let a=this._rowElements.length;a<=s;a++){let l=this._document.createElement("div");this._rowContainer.appendChild(l),this._rowElements.push(l)}for(;this._rowElements.length>s;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,s){this._refreshRowElements(t,s),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Ct),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Ct),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,s,a){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,s,a),this.renderRows(0,this._bufferService.rows-1),!t||!s||(this._selectionRenderModel.update(this._terminal,t,s,a),!this._selectionRenderModel.hasSelection))return;let l=this._selectionRenderModel.viewportStartRow,c=this._selectionRenderModel.viewportEndRow,d=this._selectionRenderModel.viewportCappedStartRow,u=this._selectionRenderModel.viewportCappedEndRow,f=this._document.createDocumentFragment();if(a){let p=t[0]>s[0];f.appendChild(this._createSelectionElement(d,p?s[0]:t[0],p?t[0]:s[0],u-d+1))}else{let p=l===d?t[0]:0,_=d===c?s[0]:this._bufferService.cols;f.appendChild(this._createSelectionElement(d,p,_));let m=u-d-1;if(f.appendChild(this._createSelectionElement(d+1,0,this._bufferService.cols,m)),d!==u){let g=c===u?s[0]:this._bufferService.cols;f.appendChild(this._createSelectionElement(u,0,g))}}this._selectionContainer.appendChild(f)}_createSelectionElement(t,s,a,l=1){let c=this._document.createElement("div"),d=s*this.dimensions.css.cell.width,u=this.dimensions.css.cell.width*(a-s);return d+u>this.dimensions.css.canvas.width&&(u=this.dimensions.css.canvas.width-d),c.style.height=`${l*this.dimensions.css.cell.height}px`,c.style.top=`${t*this.dimensions.css.cell.height}px`,c.style.left=`${d}px`,c.style.width=`${u}px`,c}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,s){let a=this._bufferService.buffer,l=a.ybase+a.y,c=Math.min(a.x,this._bufferService.cols-1),d=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,u=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let p=t;p<=s;p++){let _=p+a.ydisp,m=this._rowElements[p],g=a.lines.get(_);if(!m||!g)break;m.replaceChildren(...this._rowFactory.createRow(g,_,_===l,u,f,c,d,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Bi}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,s,a,l,c,d){a<0&&(t=0),l<0&&(s=0);let u=this._bufferService.rows-1;a=Math.max(Math.min(a,u),0),l=Math.max(Math.min(l,u),0),c=Math.min(c,this._bufferService.cols);let f=this._bufferService.buffer,p=f.ybase+f.y,_=Math.min(f.x,c-1),m=this._optionsService.rawOptions.cursorBlink,g=this._optionsService.rawOptions.cursorStyle,S=this._optionsService.rawOptions.cursorInactiveStyle;for(let w=a;w<=l;++w){let v=w+f.ydisp,y=this._rowElements[w],R=f.lines.get(v);if(!y||!R)break;y.replaceChildren(...this._rowFactory.createRow(R,v,v===p,g,S,_,m,this.dimensions.css.cell.width,this._widthCache,d?w===a?t:0:-1,d?(w===l?s:c)-1:-1))}}};Qi=te([M(7,us),M(8,fi),M(9,be),M(10,Se),M(11,ut),M(12,Ue),M(13,gt)],Qi);var es=class extends W{constructor(t,s,a){super();this._optionsService=a,this.width=0,this.height=0,this._onCharSizeChange=this._register(new D),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Ma(this._optionsService))}catch{this._measureStrategy=this._register(new La(t,s,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};es=te([M(2,be)],es);var Zr=class extends W{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(t,s){t!==void 0&&t>0&&s!==void 0&&s>0&&(this._result.width=t,this._result.height=s)}},La=class extends Zr{constructor(t,s,a){super();this._document=t,this._parentElement=s,this._optionsService=a,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Ma=class extends Zr{constructor(t){super();this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let s=this._ctx.measureText("W");if(!(("width"in s)&&("fontBoundingBoxAscent"in s)&&("fontBoundingBoxDescent"in s)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},Ta=class extends W{constructor(t,s,a){super();this._textarea=t,this._window=s,this.mainDocument=a,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Pa(this._window)),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new D),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((l)=>this._screenDprMonitor.setWindow(l))),this._register(ge.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(H(this._textarea,"focus",()=>this._isFocused=!0)),this._register(H(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Pa=class extends W{constructor(t){super();this._parentWindow=t,this._windowResizeListener=this._register(new pt),this._onDprChange=this._register(new D),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(X(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=H(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Aa=class extends W{constructor(){super();this.linkProviders=[],this._register(X(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let s=this.linkProviders.indexOf(t);s!==-1&&this.linkProviders.splice(s,1)}}}};function bs(t,s,a){let l=a.getBoundingClientRect(),c=t.getComputedStyle(a),d=parseInt(c.getPropertyValue("padding-left")),u=parseInt(c.getPropertyValue("padding-top"));return[s.clientX-l.left-d,s.clientY-l.top-u]}function Oa(t,s,a,l,c,d,u,f,p){if(!d)return;let _=bs(t,s,a);if(_)return _[0]=Math.ceil((_[0]+(p?u/2:0))/u),_[1]=Math.ceil(_[1]/f),_[0]=Math.min(Math.max(_[0],1),l+(p?1:0)),_[1]=Math.min(Math.max(_[1],1),c),_}var ts=class{constructor(t,s){this._renderService=t,this._charSizeService=s}getCoords(t,s,a,l,c){return Oa(window,t,s,a,l,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,c)}getMouseReportCoords(t,s){let a=bs(window,t,s);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};ts=te([M(0,Ke),M(1,fi)],ts);var Ia=class{constructor(t,s){this._renderCallback=t,this._coreBrowserService=s,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},Qr={};vn(Qr,{getSafariVersion:()=>Ha,isChromeOS:()=>rn,isFirefox:()=>en,isIpad:()=>Wa,isIphone:()=>za,isLegacyEdge:()=>Na,isLinux:()=>ws,isMac:()=>ci,isNode:()=>mi,isSafari:()=>tn,isWindows:()=>sn});var mi=typeof process<"u"&&"title"in process,$t=mi?"node":navigator.userAgent,Ut=mi?"node":navigator.platform,en=$t.includes("Firefox"),Na=$t.includes("Edge"),tn=/^((?!chrome|android).)*safari/i.test($t);function Ha(){if(!tn)return 0;let t=$t.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var ci=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Ut),Wa=Ut==="iPad",za=Ut==="iPhone",sn=["Windows","Win16","Win32","WinCE"].includes(Ut),ws=Ut.indexOf("Linux")>=0,rn=/\bCrOS\b/.test($t),nn=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(t){this._idleCallback=void 0;let s=0,a=0,l=t.timeRemaining(),c=0;for(;this._i<this._tasks.length;){if(s=performance.now(),this._tasks[this._i]()||this._i++,s=Math.max(1,performance.now()-s),a=Math.max(s,a),c=t.timeRemaining(),a*1.5>c){l-s<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(l-s))}ms`),this._start();return}l=c}this.clear()}},Fa=class extends nn{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let s=performance.now()+t;return{timeRemaining:()=>Math.max(0,s-performance.now())}}},$a=class extends nn{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},di=!mi&&"requestIdleCallback"in window?$a:Fa,Ua=class{constructor(){this._queue=new di}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},is=class extends W{constructor(t,s,a,l,c,d,u,f,p){super();this._rowCount=t,this._optionsService=a,this._charSizeService=l,this._coreService=c,this._coreBrowserService=f,this._renderer=this._register(new pt),this._pausedResizeTask=new Ua,this._observerDisposable=this._register(new pt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new D),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new D),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new D),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ia((_,m)=>this._renderRows(_,m),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Ka(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(X(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(u.onResize(()=>this._fullRefresh())),this._register(u.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(d.onDecorationRegistered(()=>this._fullRefresh())),this._register(d.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(u.cols,u.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(u.buffer.y,u.buffer.y,!0))),this._register(p.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,s),this._register(this._coreBrowserService.onWindowChange((_)=>this._registerIntersectionObserver(_,s)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,s){if("IntersectionObserver"in t){let a=new t.IntersectionObserver((l)=>this._handleIntersectionChange(l[l.length-1]),{threshold:0});a.observe(s),this._observerDisposable.value=X(()=>a.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,s,a=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}let l=this._syncOutputHandler.flush();l&&(t=Math.min(t,l.start),s=Math.max(s,l.end)),a||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,s,this._rowCount)}_renderRows(t,s){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,s);return}t=Math.min(t,this._rowCount-1),s=Math.min(s,this._rowCount-1),this._renderer.value.renderRows(t,s),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:s}),this._onRender.fire({start:t,end:s}),this._isNextRenderRedrawOnly=!0}}resize(t,s){this._rowCount=s,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw((s)=>this.refreshRows(s.start,s.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,s){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(t,s)):this._renderer.value.handleResize(t,s),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(t,s,a){this._selectionState.start=t,this._selectionState.end=s,this._selectionState.columnSelectMode=a,this._renderer.value?.handleSelectionChanged(t,s,a)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};is=te([M(2,be),M(3,fi),M(4,ut),M(5,Ft),M(6,Se),M(7,Ue),M(8,gt)],is);var Ka=class{constructor(t,s,a){this._coreBrowserService=t,this._coreService=s,this._onTimeout=a,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,s){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,s)):(this._start=t,this._end=s,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function qa(t,s,a,l){let c=a.buffer.x,d=a.buffer.y;if(!a.buffer.hasScrollback)return ja(c,d,t,s,a,l)+vi(d,s,a,l)+Xa(c,d,t,s,a,l);let u;if(d===s)return u=c>t?"D":"C",Ht(Math.abs(c-t),Nt(u,l));u=d>s?"D":"C";let f=Math.abs(d-s),p=Ya(d>s?t:c,a)+(f-1)*a.cols+1+Va(d>s?c:t,a);return Ht(p,Nt(u,l))}function Va(t,s){return t-1}function Ya(t,s){return s.cols-t}function ja(t,s,a,l,c,d){return vi(s,l,c,d).length===0?"":Ht(an(t,s,t,s-dt(s,c),!1,c).length,Nt("D",d))}function vi(t,s,a,l){let c=t-dt(t,a),d=s-dt(s,a),u=Math.abs(c-d)-Ga(t,s,a);return Ht(u,Nt(on(t,s),l))}function Xa(t,s,a,l,c,d){let u;vi(s,l,c,d).length>0?u=l-dt(l,c):u=s;let f=l,p=Ja(t,s,a,l,c,d);return Ht(an(t,u,a,f,p==="C",c).length,Nt(p,d))}function Ga(t,s,a){let l=0,c=t-dt(t,a),d=s-dt(s,a);for(let u=0;u<Math.abs(c-d);u++){let f=on(t,s)==="A"?-1:1;a.buffer.lines.get(c+f*u)?.isWrapped&&l++}return l}function dt(t,s){let a=0,l=s.buffer.lines.get(t),c=l?.isWrapped;for(;c&&t>=0&&t<s.rows;)a++,l=s.buffer.lines.get(--t),c=l?.isWrapped;return a}function Ja(t,s,a,l,c,d){let u;return vi(a,l,c,d).length>0?u=l-dt(l,c):u=s,t<a&&u<=l||t>=a&&u<l?"C":"D"}function on(t,s){return t>s?"A":"B"}function an(t,s,a,l,c,d){let u=t,f=s,p="";for(;(u!==a||f!==l)&&f>=0&&f<d.buffer.lines.length;)u+=c?1:-1,c&&u>d.cols-1?(p+=d.buffer.translateBufferLineToString(f,!1,t,u),u=0,t=0,f++):!c&&u<0&&(p+=d.buffer.translateBufferLineToString(f,!1,0,t+1),u=d.cols-1,t=u,f--);return p+d.buffer.translateBufferLineToString(f,!1,t,u)}function Nt(t,s){let a=s?"O":"[";return C.ESC+a+t}function Ht(t,s){t=Math.floor(t);let a="";for(let l=0;l<t;l++)a+=s;return a}var Za=class{constructor(t){this._bufferService=t,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,s=this.selectionEnd;return!t||!s?!1:t[1]>s[1]||t[1]===s[1]&&t[0]>s[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function er(t,s){if(t.start.y>t.end.y)throw Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return s*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var Ri=50,Qa=15,eh=50,th=500,ih=" ",sh=new RegExp(ih,"g"),ss=class extends W{constructor(t,s,a,l,c,d,u,f,p){super();this._element=t,this._screenElement=s,this._linkifier=a,this._bufferService=l,this._coreService=c,this._mouseService=d,this._optionsService=u,this._renderService=f,this._coreBrowserService=p,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Me,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new D),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new D),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new D),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(_)=>this._handleMouseMove(_),this._mouseUpListener=(_)=>this._handleMouseUp(_),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((_)=>this._handleTrim(_)),this._register(this._bufferService.buffers.onBufferActivate((_)=>this._handleBufferActivate(_))),this.enable(),this._model=new Za(this._bufferService),this._activeSelectionMode=0,this._register(X(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((_)=>{_.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!t||!s?!1:t[0]!==s[0]||t[1]!==s[1]}get selectionText(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;if(!t||!s)return"";let a=this._bufferService.buffer,l=[];if(this._activeSelectionMode===3){if(t[0]===s[0])return"";let c=t[0]<s[0]?t[0]:s[0],d=t[0]<s[0]?s[0]:t[0];for(let u=t[1];u<=s[1];u++){let f=a.translateBufferLineToString(u,!0,c,d);l.push(f)}}else{let c=t[1]===s[1]?s[0]:void 0;l.push(a.translateBufferLineToString(t[1],!0,t[0],c));for(let d=t[1]+1;d<=s[1]-1;d++){let u=a.lines.get(d),f=a.translateBufferLineToString(d,!0);u?.isWrapped?l[l.length-1]+=f:l.push(f)}if(t[1]!==s[1]){let d=a.lines.get(s[1]),u=a.translateBufferLineToString(s[1],!0,0,s[0]);d&&d.isWrapped?l[l.length-1]+=u:l.push(u)}}return l.map((c)=>c.replace(sh," ")).join(sn?`\r
32
32
  `:`
33
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),ws&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let s=this._getMouseBufferCoords(e),a=this._model.finalSelectionStart,l=this._model.finalSelectionEnd;return!a||!l||!s?!1:this._areCoordsInSelection(s,a,l)}isCellInSelection(e,s){let a=this._model.finalSelectionStart,l=this._model.finalSelectionEnd;return!a||!l?!1:this._areCoordsInSelection([e,s],a,l)}_areCoordsInSelection(e,s,a){return e[1]>s[1]&&e[1]<a[1]||s[1]===a[1]&&e[1]===s[1]&&e[0]>=s[0]&&e[0]<a[0]||s[1]<a[1]&&e[1]===a[1]&&e[0]<a[0]||s[1]<a[1]&&e[1]===s[1]&&e[0]>=s[0]}_selectWordAtCursor(e,s){let a=this._linkifier.currentLink?.link?.range;if(a)return this._model.selectionStart=[a.start.x-1,a.start.y-1],this._model.selectionStartLength=er(a,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let l=this._getMouseBufferCoords(e);return l?(this._selectWordAt(l,s),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,s){this._model.clearSelection(),e=Math.max(e,0),s=Math.min(s,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,s],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let s=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(s)return s[0]--,s[1]--,s[1]+=this._bufferService.buffer.ydisp,s}_getMouseEventScrollAmount(e){let s=bs(this._coreBrowserService.window,e,this._screenElement)[1],a=this._renderService.dimensions.css.canvas.height;return s>=0&&s<=a?0:(s>a&&(s-=a),s=Math.min(Math.max(s,-Ri),Ri),s/=Ri,s/Math.abs(s)+Math.round(s*(Qa-1)))}shouldForceSelection(e){return ci?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),eh)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let s=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);s&&s.length!==this._model.selectionStart[0]&&s.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let s=this._getMouseBufferCoords(e);s&&(this._activeSelectionMode=2,this._selectLineAt(s[1]))}shouldColumnSelect(e){return e.altKey&&!(ci&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let s=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let a=this._bufferService.buffer;if(this._model.selectionEnd[1]<a.lines.length){let l=a.lines.get(this._model.selectionEnd[1]);l&&l.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!s||s[0]!==this._model.selectionEnd[0]||s[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let s=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&s<th&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let a=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(a&&a[0]!==void 0&&a[1]!==void 0){let l=qa(a[0]-1,a[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(l,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,s=this._model.finalSelectionEnd,a=!!e&&!!s&&(e[0]!==s[0]||e[1]!==s[1]);if(!a){this._oldHasSelection&&this._fireOnSelectionChange(e,s,a);return}!e||!s||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||s[0]!==this._oldSelectionEnd[0]||s[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,s,a)}_fireOnSelectionChange(e,s,a){this._oldSelectionStart=e,this._oldSelectionEnd=s,this._oldHasSelection=a,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((s)=>this._handleTrim(s))}_convertViewportColToCharacterIndex(e,s){let a=s;for(let l=0;s>=l;l++){let c=e.loadCell(l,this._workCell).getChars().length;this._workCell.getWidth()===0?a--:c>1&&s!==l&&(a+=c-1)}return a}setSelection(e,s,a){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,s],this._model.selectionStartLength=a,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,s,a=!0,l=!0){if(e[0]>=this._bufferService.cols)return;let c=this._bufferService.buffer,d=c.lines.get(e[1]);if(!d)return;let u=c.translateBufferLineToString(e[1],!1),p=this._convertViewportColToCharacterIndex(d,e[0]),g=p,f=e[0]-p,v=0,m=0,b=0,w=0;if(u.charAt(p)===" "){for(;p>0&&u.charAt(p-1)===" ";)p--;for(;g<u.length&&u.charAt(g+1)===" ";)g++}else{let R=e[0],P=e[0];d.getWidth(R)===0&&(v++,R--),d.getWidth(P)===2&&(m++,P++);let U=d.getString(P).length;for(U>1&&(w+=U-1,g+=U-1);R>0&&p>0&&!this._isCharWordSeparator(d.loadCell(R-1,this._workCell));){d.loadCell(R-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(v++,R--):I>1&&(b+=I-1,p-=I-1),p--,R--}for(;P<d.length&&g+1<u.length&&!this._isCharWordSeparator(d.loadCell(P+1,this._workCell));){d.loadCell(P+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(m++,P++):I>1&&(w+=I-1,g+=I-1),g++,P++}}g++;let S=p+f-v+b,y=Math.min(this._bufferService.cols,g-p+v+m-b-w);if(!(!s&&u.slice(p,g).trim()==="")){if(a&&S===0&&d.getCodePoint(0)!==32){let R=c.lines.get(e[1]-1);if(R&&d.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let P=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(P){let U=this._bufferService.cols-P.start;S-=U,y+=U}}}if(l&&S+y===this._bufferService.cols&&d.getCodePoint(this._bufferService.cols-1)!==32){let R=c.lines.get(e[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let P=this._getWordAt([0,e[1]+1],!1,!1,!0);P&&(y+=P.length)}}return{start:S,length:y}}}_selectWordAt(e,s){let a=this._getWordAt(e,s);if(a){for(;a.start<0;)a.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[a.start,e[1]],this._model.selectionStartLength=a.length}}_selectToWordAt(e){let s=this._getWordAt(e,!0);if(s){let a=e[1];for(;s.start<0;)s.start+=this._bufferService.cols,a--;if(!this._model.areSelectionValuesReversed())for(;s.start+s.length>this._bufferService.cols;)s.length-=this._bufferService.cols,a++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?s.start:s.start+s.length,a]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let s=this._bufferService.buffer.getWrappedRangeForLine(e),a={start:{x:0,y:s.first},end:{x:this._bufferService.cols-1,y:s.last}};this._model.selectionStart=[0,s.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=er(a,this._bufferService.cols)}};ss=te([M(3,Se),M(4,ut),M(5,_s),M(6,be),M(7,Ke),M(8,Ue)],ss);var tr=class{constructor(){this._data={}}set(e,s,a){this._data[e]||(this._data[e]={}),this._data[e][s]=a}get(e,s){return this._data[e]?this._data[e][s]:void 0}clear(){this._data={}}},ir=class{constructor(){this._color=new tr,this._css=new tr}setCss(e,s,a){this._css.set(e,s,a)}getCss(e,s){return this._css.get(e,s)}setColor(e,s,a){this._color.set(e,s,a)}getColor(e,s){return this._color.get(e,s)}clear(){this._color.clear(),this._css.clear()}},oe=Object.freeze((()=>{let e=[Z.toColor("#2e3436"),Z.toColor("#cc0000"),Z.toColor("#4e9a06"),Z.toColor("#c4a000"),Z.toColor("#3465a4"),Z.toColor("#75507b"),Z.toColor("#06989a"),Z.toColor("#d3d7cf"),Z.toColor("#555753"),Z.toColor("#ef2929"),Z.toColor("#8ae234"),Z.toColor("#fce94f"),Z.toColor("#729fcf"),Z.toColor("#ad7fa8"),Z.toColor("#34e2e2"),Z.toColor("#eeeeec")],s=[0,95,135,175,215,255];for(let a=0;a<216;a++){let l=s[a/36%6|0],c=s[a/6%6|0],d=s[a%6];e.push({css:ne.toCss(l,c,d),rgba:ne.toRgba(l,c,d)})}for(let a=0;a<24;a++){let l=8+a*10;e.push({css:ne.toCss(l,l,l),rgba:ne.toRgba(l,l,l)})}return e})()),ot=Z.toColor("#ffffff"),Lt=Z.toColor("#000000"),sr=Z.toColor("#ffffff"),rr=Lt,xt={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},rh=ot,rs=class extends W{constructor(e){super();this._optionsService=e,this._contrastCache=new ir,this._halfContrastCache=new ir,this._onChangeColors=this._register(new D),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:ot,background:Lt,cursor:sr,cursorAccent:rr,selectionForeground:void 0,selectionBackgroundTransparent:xt,selectionBackgroundOpaque:j.blend(Lt,xt),selectionInactiveBackgroundTransparent:xt,selectionInactiveBackgroundOpaque:j.blend(Lt,xt),scrollbarSliderBackground:j.opacity(ot,0.2),scrollbarSliderHoverBackground:j.opacity(ot,0.4),scrollbarSliderActiveBackground:j.opacity(ot,0.5),overviewRulerBorder:ot,ansi:oe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let s=this._colors;if(s.foreground=q(e.foreground,ot),s.background=q(e.background,Lt),s.cursor=j.blend(s.background,q(e.cursor,sr)),s.cursorAccent=j.blend(s.background,q(e.cursorAccent,rr)),s.selectionBackgroundTransparent=q(e.selectionBackground,xt),s.selectionBackgroundOpaque=j.blend(s.background,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundTransparent=q(e.selectionInactiveBackground,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundOpaque=j.blend(s.background,s.selectionInactiveBackgroundTransparent),s.selectionForeground=e.selectionForeground?q(e.selectionForeground,Js):void 0,s.selectionForeground===Js&&(s.selectionForeground=void 0),j.isOpaque(s.selectionBackgroundTransparent)&&(s.selectionBackgroundTransparent=j.opacity(s.selectionBackgroundTransparent,0.3)),j.isOpaque(s.selectionInactiveBackgroundTransparent)&&(s.selectionInactiveBackgroundTransparent=j.opacity(s.selectionInactiveBackgroundTransparent,0.3)),s.scrollbarSliderBackground=q(e.scrollbarSliderBackground,j.opacity(s.foreground,0.2)),s.scrollbarSliderHoverBackground=q(e.scrollbarSliderHoverBackground,j.opacity(s.foreground,0.4)),s.scrollbarSliderActiveBackground=q(e.scrollbarSliderActiveBackground,j.opacity(s.foreground,0.5)),s.overviewRulerBorder=q(e.overviewRulerBorder,rh),s.ansi=oe.slice(),s.ansi[0]=q(e.black,oe[0]),s.ansi[1]=q(e.red,oe[1]),s.ansi[2]=q(e.green,oe[2]),s.ansi[3]=q(e.yellow,oe[3]),s.ansi[4]=q(e.blue,oe[4]),s.ansi[5]=q(e.magenta,oe[5]),s.ansi[6]=q(e.cyan,oe[6]),s.ansi[7]=q(e.white,oe[7]),s.ansi[8]=q(e.brightBlack,oe[8]),s.ansi[9]=q(e.brightRed,oe[9]),s.ansi[10]=q(e.brightGreen,oe[10]),s.ansi[11]=q(e.brightYellow,oe[11]),s.ansi[12]=q(e.brightBlue,oe[12]),s.ansi[13]=q(e.brightMagenta,oe[13]),s.ansi[14]=q(e.brightCyan,oe[14]),s.ansi[15]=q(e.brightWhite,oe[15]),e.extendedAnsi){let a=Math.min(s.ansi.length-16,e.extendedAnsi.length);for(let l=0;l<a;l++)s.ansi[l+16]=q(e.extendedAnsi[l],oe[l+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let s=0;s<this._restoreColors.ansi.length;++s)this._colors.ansi[s]=this._restoreColors.ansi[s];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};rs=te([M(0,be)],rs);function q(e,s){if(e!==void 0)try{return Z.toColor(e)}catch{}return s}var nh=class{constructor(...e){this._entries=new Map;for(let[s,a]of e)this.set(s,a)}set(e,s){let a=this._entries.get(e);return this._entries.set(e,s),a}forEach(e){for(let[s,a]of this._entries.entries())e(s,a)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},oh=class{constructor(){this._services=new nh,this._services.set(us,this)}setService(e,s){this._services.set(e,s)}getService(e){return this._services.get(e)}createInstance(e,...s){let a=kn(e).sort((d,u)=>d.index-u.index),l=[];for(let d of a){let u=this._services.get(d.id);if(!u)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${d.id._id}.`);l.push(u)}let c=a.length>0?a[0].index:s.length;if(s.length!==c)throw Error(`[createInstance] First service dependency of ${e.name} at position ${c+1} conflicts with ${s.length} static arguments`);return new e(...s,...l)}},ah={trace:0,debug:1,info:2,warn:3,error:4,off:5},hh="xterm.js: ",ns=class extends W{constructor(e){super();this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),lh=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ah[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let s=0;s<e.length;s++)typeof e[s]=="function"&&(e[s]=e[s]())}_log(e,s,a){this._evalLazyOptionalParams(a),e.call(console,(this._optionsService.options.logger?"":hh)+s,...a)}trace(e,...s){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,s)}debug(e,...s){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,s)}info(e,...s){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,s)}warn(e,...s){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,s)}error(e,...s){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,s)}};ns=te([M(0,be)],ns);var lh,nr=class extends W{constructor(e){super();this._maxLength=e,this.onDeleteEmitter=this._register(new D),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new D),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new D),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let s=Array(e);for(let a=0;a<Math.min(e,this.length);a++)s[a]=this._array[this._getCyclicIndex(a)];this._array=s,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let s=this._length;s<e;s++)this._array[s]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,s){this._array[this._getCyclicIndex(e)]=s}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,s,...a){if(s){for(let l=e;l<this._length-s;l++)this._array[this._getCyclicIndex(l)]=this._array[this._getCyclicIndex(l+s)];this._length-=s,this.onDeleteEmitter.fire({index:e,amount:s})}for(let l=this._length-1;l>=e;l--)this._array[this._getCyclicIndex(l+a.length)]=this._array[this._getCyclicIndex(l)];for(let l=0;l<a.length;l++)this._array[this._getCyclicIndex(e+l)]=a[l];if(a.length&&this.onInsertEmitter.fire({index:e,amount:a.length}),this._length+a.length>this._maxLength){let l=this._length+a.length-this._maxLength;this._startIndex+=l,this._length=this._maxLength,this.onTrimEmitter.fire(l)}else this._length+=a.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,s,a){if(!(s<=0)){if(e<0||e>=this._length)throw Error("start argument out of range");if(e+a<0)throw Error("Cannot shift elements in list beyond index 0");if(a>0){for(let c=s-1;c>=0;c--)this.set(e+c+a,this.get(e+c));let l=e+s+a-this._length;if(l>0)for(this._length+=l;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let l=0;l<s;l++)this.set(e+l+a,this.get(e+l))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}};var z=3,re=Object.freeze(new zt),Xt=0,Li=2,Mt=class e{constructor(s,a,l=!1){this.isWrapped=l,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(s*z);let c=a||Me.fromCharData([0,Rr,1,0]);for(let d=0;d<s;++d)this.setCell(d,c);this.length=s}get(s){let a=this._data[s*z+0],l=a&2097151;return[this._data[s*z+1],a&2097152?this._combined[s]:l?Ze(l):"",a>>22,a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):l]}set(s,a){this._data[s*z+1]=a[0],a[1].length>1?(this._combined[s]=a[1],this._data[s*z+0]=s|2097152|a[2]<<22):this._data[s*z+0]=a[1].charCodeAt(0)|a[2]<<22}getWidth(s){return this._data[s*z+0]>>22}hasWidth(s){return this._data[s*z+0]&12582912}getFg(s){return this._data[s*z+1]}getBg(s){return this._data[s*z+2]}hasContent(s){return this._data[s*z+0]&4194303}getCodePoint(s){let a=this._data[s*z+0];return a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):a&2097151}isCombined(s){return this._data[s*z+0]&2097152}getString(s){let a=this._data[s*z+0];return a&2097152?this._combined[s]:a&2097151?Ze(a&2097151):""}isProtected(s){return this._data[s*z+2]&536870912}loadCell(s,a){return Xt=s*z,a.content=this._data[Xt+0],a.fg=this._data[Xt+1],a.bg=this._data[Xt+2],a.content&2097152&&(a.combinedData=this._combined[s]),a.bg&268435456&&(a.extended=this._extendedAttrs[s]),a}setCell(s,a){a.content&2097152&&(this._combined[s]=a.combinedData),a.bg&268435456&&(this._extendedAttrs[s]=a.extended),this._data[s*z+0]=a.content,this._data[s*z+1]=a.fg,this._data[s*z+2]=a.bg}setCellFromCodepoint(s,a,l,c){c.bg&268435456&&(this._extendedAttrs[s]=c.extended),this._data[s*z+0]=a|l<<22,this._data[s*z+1]=c.fg,this._data[s*z+2]=c.bg}addCodepointToCell(s,a,l){let c=this._data[s*z+0];c&2097152?this._combined[s]+=Ze(a):c&2097151?(this._combined[s]=Ze(c&2097151)+Ze(a),c&=-2097152,c|=2097152):c=a|4194304,l&&(c&=-12582913,c|=l<<22),this._data[s*z+0]=c}insertCells(s,a,l){if(s%=this.length,s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length-s){let c=new Me;for(let d=this.length-s-a-1;d>=0;--d)this.setCell(s+a+d,this.loadCell(s+d,c));for(let d=0;d<a;++d)this.setCell(s+d,l)}else for(let c=s;c<this.length;++c)this.setCell(c,l);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,l)}deleteCells(s,a,l){if(s%=this.length,a<this.length-s){let c=new Me;for(let d=0;d<this.length-s-a;++d)this.setCell(s+d,this.loadCell(s+a+d,c));for(let d=this.length-a;d<this.length;++d)this.setCell(d,l)}else for(let c=s;c<this.length;++c)this.setCell(c,l);s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),this.getWidth(s)===0&&!this.hasContent(s)&&this.setCellFromCodepoint(s,0,1,l)}replaceCells(s,a,l,c=!1){if(c){for(s&&this.getWidth(s-1)===2&&!this.isProtected(s-1)&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length&&this.getWidth(a-1)===2&&!this.isProtected(a)&&this.setCellFromCodepoint(a,0,1,l);s<a&&s<this.length;)this.isProtected(s)||this.setCell(s,l),s++;return}for(s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a,0,1,l);s<a&&s<this.length;)this.setCell(s++,l)}resize(s,a){if(s===this.length)return this._data.length*4*Li<this._data.buffer.byteLength;let l=s*z;if(s>this.length){if(this._data.buffer.byteLength>=l*4)this._data=new Uint32Array(this._data.buffer,0,l);else{let c=new Uint32Array(l);c.set(this._data),this._data=c}for(let c=this.length;c<s;++c)this.setCell(c,a)}else{this._data=this._data.subarray(0,l);let c=Object.keys(this._combined);for(let u=0;u<c.length;u++){let p=parseInt(c[u],10);p>=s&&delete this._combined[p]}let d=Object.keys(this._extendedAttrs);for(let u=0;u<d.length;u++){let p=parseInt(d[u],10);p>=s&&delete this._extendedAttrs[p]}}return this.length=s,l*4*Li<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Li<this._data.buffer.byteLength){let s=new Uint32Array(this._data.length);return s.set(this._data),this._data=s,1}return 0}fill(s,a=!1){if(a){for(let l=0;l<this.length;++l)this.isProtected(l)||this.setCell(l,s);return}this._combined={},this._extendedAttrs={};for(let l=0;l<this.length;++l)this.setCell(l,s)}copyFrom(s){this.length!==s.length?this._data=new Uint32Array(s._data):this._data.set(s._data),this.length=s.length,this._combined={};for(let a in s._combined)this._combined[a]=s._combined[a];this._extendedAttrs={};for(let a in s._extendedAttrs)this._extendedAttrs[a]=s._extendedAttrs[a];this.isWrapped=s.isWrapped}clone(){let s=new e(0);s._data=new Uint32Array(this._data),s.length=this.length;for(let a in this._combined)s._combined[a]=this._combined[a];for(let a in this._extendedAttrs)s._extendedAttrs[a]=this._extendedAttrs[a];return s.isWrapped=this.isWrapped,s}getTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303)return s+(this._data[s*z+0]>>22);return 0}getNoBgTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303||this._data[s*z+2]&50331648)return s+(this._data[s*z+0]>>22);return 0}copyCellsFrom(s,a,l,c,d){let u=s._data;if(d)for(let g=c-1;g>=0;g--){for(let f=0;f<z;f++)this._data[(l+g)*z+f]=u[(a+g)*z+f];u[(a+g)*z+2]&268435456&&(this._extendedAttrs[l+g]=s._extendedAttrs[a+g])}else for(let g=0;g<c;g++){for(let f=0;f<z;f++)this._data[(l+g)*z+f]=u[(a+g)*z+f];u[(a+g)*z+2]&268435456&&(this._extendedAttrs[l+g]=s._extendedAttrs[a+g])}let p=Object.keys(s._combined);for(let g=0;g<p.length;g++){let f=parseInt(p[g],10);f>=a&&(this._combined[f-a+l]=s._combined[f])}}translateToString(s,a,l,c){a=a??0,l=l??this.length,s&&(l=Math.min(l,this.getTrimmedLength())),c&&(c.length=0);let d="";for(;a<l;){let u=this._data[a*z+0],p=u&2097151,g=u&2097152?this._combined[a]:p?Ze(p):Qe;if(d+=g,c)for(let f=0;f<g.length;++f)c.push(a);a+=u>>22||1}return c&&c.push(a),d}};function ch(e,s,a,l,c,d){let u=[];for(let p=0;p<e.length-1;p++){let g=p,f=e.get(++g);if(!f.isWrapped)continue;let v=[e.get(p)];for(;g<e.length&&f.isWrapped;)v.push(f),f=e.get(++g);if(!d&&l>=p&&l<g){p+=v.length-1;continue}let m=0,b=Wt(v,m,s),w=1,S=0;for(;w<v.length;){let R=Wt(v,w,s),P=R-S,U=a-b,I=Math.min(P,U);v[m].copyCellsFrom(v[w],S,b,I,!1),b+=I,b===a&&(m++,b=0),S+=I,S===R&&(w++,S=0),b===0&&m!==0&&v[m-1].getWidth(a-1)===2&&(v[m].copyCellsFrom(v[m-1],a-1,b++,1,!1),v[m-1].setCell(a-1,c))}v[m].replaceCells(b,a,c);let y=0;for(let R=v.length-1;R>0&&(R>m||v[R].getTrimmedLength()===0);R--)y++;y>0&&(u.push(p+v.length-y),u.push(y)),p+=v.length-1}return u}function dh(e,s){let a=[],l=0,c=s[l],d=0;for(let u=0;u<e.length;u++)if(c===u){let p=s[++l];e.onDeleteEmitter.fire({index:u-d,amount:p}),u+=p-1,d+=p,c=s[++l]}else a.push(u);return{layout:a,countRemoved:d}}function uh(e,s){let a=[];for(let l=0;l<s.length;l++)a.push(e.get(s[l]));for(let l=0;l<a.length;l++)e.set(l,a[l]);e.length=s.length}function _h(e,s,a){let l=[],c=e.map((g,f)=>Wt(e,f,s)).reduce((g,f)=>g+f),d=0,u=0,p=0;for(;p<c;){if(c-p<a){l.push(c-p);break}d+=a;let g=Wt(e,u,s);d>g&&(d-=g,u++);let f=e[u].getWidth(d-1)===2;f&&d--;let v=f?a-1:a;l.push(v),p+=v}return l}function Wt(e,s,a){if(s===e.length-1)return e[s].getTrimmedLength();let l=!e[s].hasContent(a-1)&&e[s].getWidth(a-1)===1,c=e[s+1].getWidth(0)===2;return l&&c?a-1:a}var hn=class e{constructor(s){this.line=s,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new D),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ct(this._disposables),this._disposables.length=0)}register(s){return this._disposables.push(s),s}};hn._nextId=1;var fh=hn,he={},at=he.B;he[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};he.A={"#":"£"};he.B=void 0;he[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};he.C=he[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};he.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};he.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};he.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};he.E=he[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};he.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};he.H=he[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var or=4294967295,ar=class{constructor(e,s,a){this._hasScrollback=e,this._optionsService=s,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=re.clone(),this.savedCharset=at,this.markers=[],this._nullCell=Me.fromCharData([0,Rr,1,0]),this._whitespaceCell=Me.fromCharData([0,Qe,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new di,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new ri),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new ri),this._whitespaceCell}getBlankLine(e,s){return new Mt(this._bufferService.cols,this.getNullCell(e),s)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let s=e+this._optionsService.rawOptions.scrollback;return s>or?or:s}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=re);let s=this._rows;for(;s--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,s){let a=this.getNullCell(re),l=0,c=this._getCorrectBufferLength(s);if(c>this.lines.maxLength&&(this.lines.maxLength=c),this.lines.length>0){if(this._cols<e)for(let u=0;u<this.lines.length;u++)l+=+this.lines.get(u).resize(e,a);let d=0;if(this._rows<s)for(let u=this._rows;u<s;u++)this.lines.length<s+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Mt(e,a)):this.ybase>0&&this.lines.length<=this.ybase+this.y+d+1?(this.ybase--,d++,this.ydisp>0&&this.ydisp--):this.lines.push(new Mt(e,a)));else for(let u=this._rows;u>s;u--)this.lines.length>s+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(c<this.lines.maxLength){let u=this.lines.length-c;u>0&&(this.lines.trimStart(u),this.ybase=Math.max(this.ybase-u,0),this.ydisp=Math.max(this.ydisp-u,0),this.savedY=Math.max(this.savedY-u,0)),this.lines.maxLength=c}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,s-1),d&&(this.y+=d),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=s-1,this._isReflowEnabled&&(this._reflow(e,s),this._cols>e))for(let d=0;d<this.lines.length;d++)l+=+this.lines.get(d).resize(e,a);this._cols=e,this._rows=s,this._memoryCleanupQueue.clear(),l>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let s=0;for(;this._memoryCleanupPosition<this.lines.length;)if(s+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),s>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,s){this._cols!==e&&(e>this._cols?this._reflowLarger(e,s):this._reflowSmaller(e,s))}_reflowLarger(e,s){let a=this._optionsService.rawOptions.reflowCursorLine,l=ch(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(re),a);if(l.length>0){let c=dh(this.lines,l);uh(this.lines,c.layout),this._reflowLargerAdjustViewport(e,s,c.countRemoved)}}_reflowLargerAdjustViewport(e,s,a){let l=this.getNullCell(re),c=a;for(;c-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<s&&this.lines.push(new Mt(e,l))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-a,0)}_reflowSmaller(e,s){let a=this._optionsService.rawOptions.reflowCursorLine,l=this.getNullCell(re),c=[],d=0;for(let u=this.lines.length-1;u>=0;u--){let p=this.lines.get(u);if(!p||!p.isWrapped&&p.getTrimmedLength()<=e)continue;let g=[p];for(;p.isWrapped&&u>0;)p=this.lines.get(--u),g.unshift(p);if(!a){let I=this.ybase+this.y;if(I>=u&&I<u+g.length)continue}let f=g[g.length-1].getTrimmedLength(),v=_h(g,this._cols,e),m=v.length-g.length,b;this.ybase===0&&this.y!==this.lines.length-1?b=Math.max(0,this.y-this.lines.maxLength+m):b=Math.max(0,this.lines.length-this.lines.maxLength+m);let w=[];for(let I=0;I<m;I++){let E=this.getBlankLine(re,!0);w.push(E)}w.length>0&&(c.push({start:u+g.length+d,newLines:w}),d+=w.length),g.push(...w);let S=v.length-1,y=v[S];y===0&&(S--,y=v[S]);let R=g.length-m-1,P=f;for(;R>=0;){let I=Math.min(P,y);if(g[S]===void 0)break;if(g[S].copyCellsFrom(g[R],P-I,y-I,I,!0),y-=I,y===0&&(S--,y=v[S]),P-=I,P===0){R--;let E=Math.max(R,0);P=Wt(g,E,this._cols)}}for(let I=0;I<g.length;I++)v[I]<e&&g[I].setCell(v[I],l);let U=m-b;for(;U-- >0;)this.ybase===0?this.y<s-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+d)-s&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+m,this.ybase+s-1)}if(c.length>0){let u=[],p=[];for(let y=0;y<this.lines.length;y++)p.push(this.lines.get(y));let g=this.lines.length,f=g-1,v=0,m=c[v];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+d);let b=0;for(let y=Math.min(this.lines.maxLength-1,g+d-1);y>=0;y--)if(m&&m.start>f+b){for(let R=m.newLines.length-1;R>=0;R--)this.lines.set(y--,m.newLines[R]);y++,u.push({index:f+1,amount:m.newLines.length}),b+=m.newLines.length,m=c[++v]}else this.lines.set(y,p[f--]);let w=0;for(let y=u.length-1;y>=0;y--)u[y].index+=w,this.lines.onInsertEmitter.fire(u[y]),w+=u[y].amount;let S=Math.max(0,g+d-this.lines.maxLength);S>0&&this.lines.onTrimEmitter.fire(S)}}translateBufferLineToString(e,s,a=0,l){let c=this.lines.get(e);return c?c.translateToString(s,a,l):""}getWrappedRangeForLine(e){let s=e,a=e;for(;s>0&&this.lines.get(s).isWrapped;)s--;for(;a+1<this.lines.length&&this.lines.get(a+1).isWrapped;)a++;return{first:s,last:a}}setupTabStops(e){for(e!=null?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e==null&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let s=0;s<this.markers.length;s++)this.markers[s].line===e&&(this.markers[s].dispose(),this.markers.splice(s--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let s=new fh(e);return this.markers.push(s),s.register(this.lines.onTrim((a)=>{s.line-=a,s.line<0&&s.dispose()})),s.register(this.lines.onInsert((a)=>{s.line>=a.index&&(s.line+=a.amount)})),s.register(this.lines.onDelete((a)=>{s.line>=a.index&&s.line<a.index+a.amount&&s.dispose(),s.line>a.index&&(s.line-=a.amount)})),s.register(s.onDispose(()=>this._removeMarker(s))),s}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},ph=class extends W{constructor(e,s){super();this._optionsService=e,this._bufferService=s,this._onBufferActivate=this._register(new D),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new ar(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new ar(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,s){this._normal.resize(e,s),this._alt.resize(e,s),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},ln=2,cn=1,os=class extends W{constructor(e){super();this.isUserScrolling=!1,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,ln),this.rows=Math.max(e.rawOptions.rows||0,cn),this.buffers=this._register(new ph(e,this)),this._register(this.buffers.onBufferActivate((s)=>{this._onScroll.fire(s.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,s){let a=this.cols!==e,l=this.rows!==s;this.cols=e,this.rows=s,this.buffers.resize(e,s),this._onResize.fire({cols:e,rows:s,colsChanged:a,rowsChanged:l})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,s=!1){let a=this.buffer,l;l=this._cachedBlankLine,(!l||l.length!==this.cols||l.getFg(0)!==e.fg||l.getBg(0)!==e.bg)&&(l=a.getBlankLine(e,s),this._cachedBlankLine=l),l.isWrapped=s;let c=a.ybase+a.scrollTop,d=a.ybase+a.scrollBottom;if(a.scrollTop===0){let u=a.lines.isFull;d===a.lines.length-1?u?a.lines.recycle().copyFrom(l):a.lines.push(l.clone()):a.lines.splice(d+1,0,l.clone()),u?this.isUserScrolling&&(a.ydisp=Math.max(a.ydisp-1,0)):(a.ybase++,this.isUserScrolling||a.ydisp++)}else{let u=d-c+1;a.lines.shiftElements(c+1,u-1,-1),a.lines.set(d,l.clone())}this.isUserScrolling||(a.ydisp=a.ybase),this._onScroll.fire(a.ydisp)}scrollLines(e,s){let a=this.buffer;if(e<0){if(a.ydisp===0)return;this.isUserScrolling=!0}else e+a.ydisp>=a.ybase&&(this.isUserScrolling=!1);let l=a.ydisp;a.ydisp=Math.max(Math.min(a.ydisp+e,a.ybase),0),l!==a.ydisp&&(s||this._onScroll.fire(a.ydisp))}};os=te([M(0,be)],os);var _t={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:ci,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},gh=["normal","bold","100","200","300","400","500","600","700","800","900"],mh=class extends W{constructor(e){super();this._onOptionChange=this._register(new D),this.onOptionChange=this._onOptionChange.event;let s={..._t};for(let a in e)if(a in s)try{let l=e[a];s[a]=this._sanitizeAndValidateOption(a,l)}catch(l){console.error(l)}this.rawOptions=s,this.options={...s},this._setupOptions(),this._register(X(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,s){return this.onOptionChange((a)=>{a===e&&s(this.rawOptions[e])})}onMultipleOptionChange(e,s){return this.onOptionChange((a)=>{e.indexOf(a)!==-1&&s()})}_setupOptions(){let e=(a)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);return this.rawOptions[a]},s=(a,l)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);l=this._sanitizeAndValidateOption(a,l),this.rawOptions[a]!==l&&(this.rawOptions[a]=l,this._onOptionChange.fire(a))};for(let a in this.rawOptions){let l={get:e.bind(this,a),set:s.bind(this,a)};Object.defineProperty(this.options,a,l)}}_sanitizeAndValidateOption(e,s){switch(e){case"cursorStyle":if(s||(s=_t[e]),!vh(s))throw Error(`"${s}" is not a valid value for ${e}`);break;case"wordSeparator":s||(s=_t[e]);break;case"fontWeight":case"fontWeightBold":if(typeof s=="number"&&1<=s&&s<=1000)break;s=gh.includes(s)?s:_t[e];break;case"cursorWidth":s=Math.floor(s);case"lineHeight":case"tabStopWidth":if(s<1)throw Error(`${e} cannot be less than 1, value: ${s}`);break;case"minimumContrastRatio":s=Math.max(1,Math.min(21,Math.round(s*10)/10));break;case"scrollback":if(s=Math.min(s,4294967295),s<0)throw Error(`${e} cannot be less than 0, value: ${s}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(s<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${s}`);break;case"rows":case"cols":if(!s&&s!==0)throw Error(`${e} must be numeric, value: ${s}`);break;case"windowsPty":s=s??{};break}return s}};function vh(e){return e==="block"||e==="underline"||e==="bar"}function Tt(e,s=5){if(typeof e!="object")return e;let a=Array.isArray(e)?[]:{};for(let l in e)a[l]=s<=1?e[l]:e[l]&&Tt(e[l],s-1);return a}var hr=Object.freeze({insertMode:!1}),lr=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),as=class extends W{constructor(e,s,a){super();this._bufferService=e,this._logService=s,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new D),this.onData=this._onData.event,this._onUserInput=this._register(new D),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new D),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}reset(){this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}triggerDataEvent(e,s=!1){if(this._optionsService.rawOptions.disableStdin)return;let a=this._bufferService.buffer;s&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),s&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map((l)=>l.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map((s)=>s.charCodeAt(0))),this._onBinary.fire(e))}};as=te([M(0,Se),M(1,Mr),M(2,be)],as);var cr={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(e)=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:(e)=>e.action!==32},DRAG:{events:23,restrict:(e)=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:(e)=>!0}};function Mi(e,s){let a=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(a|=64,a|=e.action):(a|=e.button&3,e.button&4&&(a|=64),e.button&8&&(a|=128),e.action===32?a|=32:e.action===0&&!s&&(a|=3)),a}var Ti=String.fromCharCode,dr={DEFAULT:(e)=>{let s=[Mi(e,!1)+32,e.col+32,e.row+32];return s[0]>255||s[1]>255||s[2]>255?"":`\x1B[M${Ti(s[0])}${Ti(s[1])}${Ti(s[2])}`},SGR:(e)=>{let s=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${Mi(e,!0)};${e.col};${e.row}${s}`},SGR_PIXELS:(e)=>{let s=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${Mi(e,!0)};${e.x};${e.y}${s}`}},hs=class extends W{constructor(e,s,a){super();this._bufferService=e,this._coreService=s,this._optionsService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new D),this.onProtocolChange=this._onProtocolChange.event;for(let l of Object.keys(cr))this.addProtocol(l,cr[l]);for(let l of Object.keys(dr))this.addEncoding(l,dr[l]);this.reset()}addProtocol(e,s){this._protocols[e]=s}addEncoding(e,s){this._encodings[e]=s}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,s,a){if(e.deltaY===0||e.shiftKey||s===void 0||a===void 0)return 0;let l=s/a,c=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(c/=l+0,Math.abs(e.deltaY)<50&&(c*=0.3),this._wheelPartialScroll+=c,c=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(c*=this._bufferService.rows),c}_applyScrollModifier(e,s){return s.altKey||s.ctrlKey||s.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let s=this._encodings[this._activeEncoding](e);return s&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(s):this._coreService.triggerDataEvent(s,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,s,a){if(a){if(e.x!==s.x||e.y!==s.y)return!1}else if(e.col!==s.col||e.row!==s.row)return!1;return!(e.button!==s.button||e.action!==s.action||e.ctrl!==s.ctrl||e.alt!==s.alt||e.shift!==s.shift)}};hs=te([M(0,Se),M(1,ut),M(2,be)],hs);var Pi=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Sh=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ae;function bh(e,s){let a=0,l=s.length-1,c;if(e<s[0][0]||e>s[l][1])return!1;for(;l>=a;)if(c=a+l>>1,e>s[c][1])a=c+1;else if(e<s[c][0])l=c-1;else return!0;return!1}var wh=class{constructor(){if(this.version="6",!ae){ae=new Uint8Array(65536),ae.fill(1),ae[0]=0,ae.fill(0,1,32),ae.fill(0,127,160),ae.fill(2,4352,4448),ae[9001]=2,ae[9002]=2,ae.fill(2,11904,42192),ae[12351]=1,ae.fill(2,44032,55204),ae.fill(2,63744,64256),ae.fill(2,65040,65050),ae.fill(2,65072,65136),ae.fill(2,65280,65377),ae.fill(2,65504,65511);for(let e=0;e<Pi.length;++e)ae.fill(0,Pi[e][0],Pi[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?ae[e]:bh(e,Sh)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,s){let a=this.wcwidth(e),l=a===0&&s!==0;if(l){let c=ht.extractWidth(s);c===0?l=!1:c>a&&(a=c)}return ht.createPropertyValue(0,a,l)}},ht=class e{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new D,this.onChange=this._onChange.event;let s=new wh;this.register(s),this._active=s.version,this._activeProvider=s}static extractShouldJoin(s){return(s&1)!==0}static extractWidth(s){return s>>1&3}static extractCharKind(s){return s>>3}static createPropertyValue(s,a,l=!1){return(s&16777215)<<3|(a&3)<<1|(l?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(s){if(!this._providers[s])throw Error(`unknown Unicode version "${s}"`);this._active=s,this._activeProvider=this._providers[s],this._onChange.fire(s)}register(s){this._providers[s.version]=s}wcwidth(s){return this._activeProvider.wcwidth(s)}getStringCellWidth(s){let a=0,l=0,c=s.length;for(let d=0;d<c;++d){let u=s.charCodeAt(d);if(55296<=u&&u<=56319){if(++d>=c)return a+this.wcwidth(u);let f=s.charCodeAt(d);56320<=f&&f<=57343?u=(u-55296)*1024+f-56320+65536:a+=this.wcwidth(f)}let p=this.charProperties(u,l),g=e.extractWidth(p);e.extractShouldJoin(p)&&(g-=e.extractWidth(l)),a+=g,l=p}return a}charProperties(s,a){return this._activeProvider.charProperties(s,a)}},yh=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,s){this._charsets[e]=s,this.glevel===e&&(this.charset=s)}};function ur(e){let s=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),a=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);a&&s&&(a.isWrapped=s[3]!==0&&s[3]!==32)}var kt=2147483647,Ch=256,dn=class e{constructor(s=32,a=32){if(this.maxLength=s,this.maxSubParamsLength=a,a>Ch)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(s),this.length=0,this._subParams=new Int32Array(a),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(s),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(s){let a=new e;if(!s.length)return a;for(let l=Array.isArray(s[0])?1:0;l<s.length;++l){let c=s[l];if(Array.isArray(c))for(let d=0;d<c.length;++d)a.addSubParam(c[d]);else a.addParam(c)}return a}clone(){let s=new e(this.maxLength,this.maxSubParamsLength);return s.params.set(this.params),s.length=this.length,s._subParams.set(this._subParams),s._subParamsLength=this._subParamsLength,s._subParamsIdx.set(this._subParamsIdx),s._rejectDigits=this._rejectDigits,s._rejectSubDigits=this._rejectSubDigits,s._digitIsSub=this._digitIsSub,s}toArray(){let s=[];for(let a=0;a<this.length;++a){s.push(this.params[a]);let l=this._subParamsIdx[a]>>8,c=this._subParamsIdx[a]&255;c-l>0&&s.push(Array.prototype.slice.call(this._subParams,l,c))}return s}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(s){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=s>kt?kt:s}addSubParam(s){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=s>kt?kt:s,this._subParamsIdx[this.length-1]++}}hasSubParams(s){return(this._subParamsIdx[s]&255)-(this._subParamsIdx[s]>>8)>0}getSubParams(s){let a=this._subParamsIdx[s]>>8,l=this._subParamsIdx[s]&255;return l-a>0?this._subParams.subarray(a,l):null}getSubParamsAll(){let s={};for(let a=0;a<this.length;++a){let l=this._subParamsIdx[a]>>8,c=this._subParamsIdx[a]&255;c-l>0&&(s[a]=this._subParams.slice(l,c))}return s}addDigit(s){let a;if(this._rejectDigits||!(a=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let l=this._digitIsSub?this._subParams:this.params,c=l[a-1];l[a-1]=~c?Math.min(c*10+s,kt):s}},Et=[],xh=class{constructor(){this._state=0,this._active=Et,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,s){this._handlers[e]===void 0&&(this._handlers[e]=[]);let a=this._handlers[e];return a.push(s),{dispose:()=>{let l=a.indexOf(s);l!==-1&&a.splice(l,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Et}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Et,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Et,!this._active.length)this._handlerFb(this._id,"START");else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,s,a){if(!this._active.length)this._handlerFb(this._id,"PUT",_i(e,s,a));else for(let l=this._active.length-1;l>=0;l--)this._active[l].put(e,s,a)}start(){this.reset(),this._state=1}put(e,s,a){if(this._state!==3){if(this._state===1)for(;s<a;){let l=e[s++];if(l===59){this._state=2,this._start();break}if(l<48||57<l){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+l-48}this._state===2&&a-s>0&&this._put(e,s,a)}}end(e,s=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",e);else{let a=!1,l=this._active.length-1,c=!1;if(this._stack.paused&&(l=this._stack.loopPosition-1,a=s,c=this._stack.fallThrough,this._stack.paused=!1),!c&&a===!1){for(;l>=0&&(a=this._active[l].end(e),a!==!0);l--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!1,a;l--}for(;l>=0;l--)if(a=this._active[l].end(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!0,a}this._active=Et,this._id=-1,this._state=0}}},Ee=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,s,a){this._hitLimit||(this._data+=_i(e,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(e){let s=!1;if(this._hitLimit)s=!1;else if(e&&(s=this._handler(this._data),s instanceof Promise))return s.then((a)=>(this._data="",this._hitLimit=!1,a));return this._data="",this._hitLimit=!1,s}},Dt=[],kh=class{constructor(){this._handlers=Object.create(null),this._active=Dt,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Dt}registerHandler(e,s){this._handlers[e]===void 0&&(this._handlers[e]=[]);let a=this._handlers[e];return a.push(s),{dispose:()=>{let l=a.indexOf(s);l!==-1&&a.splice(l,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Dt,this._ident=0}hook(e,s){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Dt,!this._active.length)this._handlerFb(this._ident,"HOOK",s);else for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(s)}put(e,s,a){if(!this._active.length)this._handlerFb(this._ident,"PUT",_i(e,s,a));else for(let l=this._active.length-1;l>=0;l--)this._active[l].put(e,s,a)}unhook(e,s=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",e);else{let a=!1,l=this._active.length-1,c=!1;if(this._stack.paused&&(l=this._stack.loopPosition-1,a=s,c=this._stack.fallThrough,this._stack.paused=!1),!c&&a===!1){for(;l>=0&&(a=this._active[l].unhook(e),a!==!0);l--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!1,a;l--}for(;l>=0;l--)if(a=this._active[l].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!0,a}this._active=Dt,this._ident=0}},Pt=new dn;Pt.addParam(0);var _r=class{constructor(e){this._handler=e,this._data="",this._params=Pt,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Pt,this._data="",this._hitLimit=!1}put(e,s,a){this._hitLimit||(this._data+=_i(e,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let s=!1;if(this._hitLimit)s=!1;else if(e&&(s=this._handler(this._data,this._params),s instanceof Promise))return s.then((a)=>(this._params=Pt,this._data="",this._hitLimit=!1,a));return this._params=Pt,this._data="",this._hitLimit=!1,s}},Eh=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,s){this.table.fill(e<<4|s)}add(e,s,a,l){this.table[s<<8|e]=a<<4|l}addMany(e,s,a,l){for(let c=0;c<e.length;c++)this.table[s<<8|e[c]]=a<<4|l}},Le=160,Dh=function(){let e=new Eh(4095),s=Array.apply(null,Array(256)).map((p,g)=>g),a=(p,g)=>s.slice(p,g),l=a(32,127),c=a(0,24);c.push(25),c.push.apply(c,a(28,32));let d=a(0,14),u;e.setDefault(1,0),e.addMany(l,0,2,0);for(u in d)e.addMany([24,26,153,154],u,3,0),e.addMany(a(128,144),u,3,0),e.addMany(a(144,152),u,3,0),e.add(156,u,0,0),e.add(27,u,11,1),e.add(157,u,4,8),e.addMany([152,158,159],u,0,7),e.add(155,u,11,3),e.add(144,u,11,9);return e.addMany(c,0,3,0),e.addMany(c,1,3,1),e.add(127,1,0,1),e.addMany(c,8,0,8),e.addMany(c,3,3,3),e.add(127,3,0,3),e.addMany(c,4,3,4),e.add(127,4,0,4),e.addMany(c,6,3,6),e.addMany(c,5,3,5),e.add(127,5,0,5),e.addMany(c,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(l,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(a(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(l,7,0,7),e.addMany(c,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(a(64,127),3,7,0),e.addMany(a(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(a(48,60),4,8,4),e.addMany(a(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(a(32,64),6,0,6),e.add(127,6,0,6),e.addMany(a(64,127),6,0,0),e.addMany(a(32,48),3,9,5),e.addMany(a(32,48),5,9,5),e.addMany(a(48,64),5,0,6),e.addMany(a(64,127),5,7,0),e.addMany(a(32,48),4,9,5),e.addMany(a(32,48),1,9,2),e.addMany(a(32,48),2,9,2),e.addMany(a(48,127),2,10,0),e.addMany(a(48,80),1,10,0),e.addMany(a(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(a(96,127),1,10,0),e.add(80,1,11,9),e.addMany(c,9,0,9),e.add(127,9,0,9),e.addMany(a(28,32),9,0,9),e.addMany(a(32,48),9,9,12),e.addMany(a(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(c,11,0,11),e.addMany(a(32,128),11,0,11),e.addMany(a(28,32),11,0,11),e.addMany(c,10,0,10),e.add(127,10,0,10),e.addMany(a(28,32),10,0,10),e.addMany(a(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(a(32,48),10,9,12),e.addMany(c,12,0,12),e.add(127,12,0,12),e.addMany(a(28,32),12,0,12),e.addMany(a(32,48),12,9,12),e.addMany(a(48,64),12,0,11),e.addMany(a(64,127),12,12,13),e.addMany(a(64,127),10,12,13),e.addMany(a(64,127),9,12,13),e.addMany(c,13,13,13),e.addMany(l,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Le,0,2,0),e.add(Le,8,5,8),e.add(Le,6,0,6),e.add(Le,11,0,11),e.add(Le,13,13,13),e}(),Bh=class extends W{constructor(e=Dh){super();this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new dn,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(s,a,l)=>{},this._executeHandlerFb=(s)=>{},this._csiHandlerFb=(s,a)=>{},this._escHandlerFb=(s)=>{},this._errorHandlerFb=(s)=>s,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(X(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new xh),this._dcsParser=this._register(new kh),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,s=[64,126]){let a=0;if(e.prefix){if(e.prefix.length>1)throw Error("only one byte as prefix supported");if(a=e.prefix.charCodeAt(0),a&&60>a||a>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let c=0;c<e.intermediates.length;++c){let d=e.intermediates.charCodeAt(c);if(32>d||d>47)throw Error("intermediate must be in range 0x20 .. 0x2f");a<<=8,a|=d}}if(e.final.length!==1)throw Error("final must be a single byte");let l=e.final.charCodeAt(0);if(s[0]>l||l>s[1])throw Error(`final must be in range ${s[0]} .. ${s[1]}`);return a<<=8,a|=l,a}identToString(e){let s=[];for(;e;)s.push(String.fromCharCode(e&255)),e>>=8;return s.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,s){let a=this._identifier(e,[48,126]);this._escHandlers[a]===void 0&&(this._escHandlers[a]=[]);let l=this._escHandlers[a];return l.push(s),{dispose:()=>{let c=l.indexOf(s);c!==-1&&l.splice(c,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,s){this._executeHandlers[e.charCodeAt(0)]=s}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,s){let a=this._identifier(e);this._csiHandlers[a]===void 0&&(this._csiHandlers[a]=[]);let l=this._csiHandlers[a];return l.push(s),{dispose:()=>{let c=l.indexOf(s);c!==-1&&l.splice(c,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,s){return this._dcsParser.registerHandler(this._identifier(e),s)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,s){return this._oscParser.registerHandler(e,s)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,s,a,l,c){this._parseStack.state=e,this._parseStack.handlers=s,this._parseStack.handlerPos=a,this._parseStack.transition=l,this._parseStack.chunkPos=c}parse(e,s,a){let l=0,c=0,d=0,u;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,d=this._parseStack.chunkPos+1;else{if(a===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let p=this._parseStack.handlers,g=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(a===!1&&g>-1){for(;g>=0&&(u=p[g](this._params),u!==!0);g--)if(u instanceof Promise)return this._parseStack.handlerPos=g,u}this._parseStack.handlers=[];break;case 4:if(a===!1&&g>-1){for(;g>=0&&(u=p[g](),u!==!0);g--)if(u instanceof Promise)return this._parseStack.handlerPos=g,u}this._parseStack.handlers=[];break;case 6:if(l=e[this._parseStack.chunkPos],u=this._dcsParser.unhook(l!==24&&l!==26,a),u)return u;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(l=e[this._parseStack.chunkPos],u=this._oscParser.end(l!==24&&l!==26,a),u)return u;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,d=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let p=d;p<s;++p){switch(l=e[p],c=this._transitions.table[this.currentState<<8|(l<160?l:Le)],c>>4){case 2:for(let b=p+1;;++b){if(b>=s||(l=e[b])<32||l>126&&l<Le){this._printHandler(e,p,b),p=b-1;break}if(++b>=s||(l=e[b])<32||l>126&&l<Le){this._printHandler(e,p,b),p=b-1;break}if(++b>=s||(l=e[b])<32||l>126&&l<Le){this._printHandler(e,p,b),p=b-1;break}if(++b>=s||(l=e[b])<32||l>126&&l<Le){this._printHandler(e,p,b),p=b-1;break}}break;case 3:this._executeHandlers[l]?this._executeHandlers[l]():this._executeHandlerFb(l),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:p,code:l,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let g=this._csiHandlers[this._collect<<8|l],f=g?g.length-1:-1;for(;f>=0&&(u=g[f](this._params),u!==!0);f--)if(u instanceof Promise)return this._preserveStack(3,g,f,c,p),u;f<0&&this._csiHandlerFb(this._collect<<8|l,this._params),this.precedingJoinState=0;break;case 8:do switch(l){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(l-48)}while(++p<s&&(l=e[p])>47&&l<60);p--;break;case 9:this._collect<<=8,this._collect|=l;break;case 10:let v=this._escHandlers[this._collect<<8|l],m=v?v.length-1:-1;for(;m>=0&&(u=v[m](),u!==!0);m--)if(u instanceof Promise)return this._preserveStack(4,v,m,c,p),u;m<0&&this._escHandlerFb(this._collect<<8|l),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|l,this._params);break;case 13:for(let b=p+1;;++b)if(b>=s||(l=e[b])===24||l===26||l===27||l>127&&l<Le){this._dcsParser.put(e,p,b),p=b-1;break}break;case 14:if(u=this._dcsParser.unhook(l!==24&&l!==26),u)return this._preserveStack(6,[],0,c,p),u;l===27&&(c|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let b=p+1;;b++)if(b>=s||(l=e[b])<32||l>127&&l<Le){this._oscParser.put(e,p,b),p=b-1;break}break;case 6:if(u=this._oscParser.end(l!==24&&l!==26),u)return this._preserveStack(5,[],0,c,p),u;l===27&&(c|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=c&15}}},Rh=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,Lh=/^[\da-f]+$/;function fr(e){if(!e)return;let s=e.toLowerCase();if(s.indexOf("rgb:")===0){s=s.slice(4);let a=Rh.exec(s);if(a){let l=a[1]?15:a[4]?255:a[7]?4095:65535;return[Math.round(parseInt(a[1]||a[4]||a[7]||a[10],16)/l*255),Math.round(parseInt(a[2]||a[5]||a[8]||a[11],16)/l*255),Math.round(parseInt(a[3]||a[6]||a[9]||a[12],16)/l*255)]}}else if(s.indexOf("#")===0&&(s=s.slice(1),Lh.exec(s)&&[3,6,9,12].includes(s.length))){let a=s.length/3,l=[0,0,0];for(let c=0;c<3;++c){let d=parseInt(s.slice(a*c,a*c+a),16);l[c]=a===1?d<<4:a===2?d:a===3?d>>4:d>>8}return l}}function Ai(e,s){let a=e.toString(16),l=a.length<2?"0"+a:a;switch(s){case 4:return a[0];case 8:return l;case 12:return(l+l).slice(0,3);default:return l+l}}function Mh(e,s=16){let[a,l,c]=e;return`rgb:${Ai(a,s)}/${Ai(l,s)}/${Ai(c,s)}`}var Th={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Je=131072,pr=10;function gr(e,s){if(e>24)return s.setWinLines||!1;switch(e){case 1:return!!s.restoreWin;case 2:return!!s.minimizeWin;case 3:return!!s.setWinPosition;case 4:return!!s.setWinSizePixels;case 5:return!!s.raiseWin;case 6:return!!s.lowerWin;case 7:return!!s.refreshWin;case 8:return!!s.setWinSizeChars;case 9:return!!s.maximizeWin;case 10:return!!s.fullscreenWin;case 11:return!!s.getWinState;case 13:return!!s.getWinPosition;case 14:return!!s.getWinSizePixels;case 15:return!!s.getScreenSizePixels;case 16:return!!s.getCellSizePixels;case 18:return!!s.getWinSizeChars;case 19:return!!s.getScreenSizeChars;case 20:return!!s.getIconTitle;case 21:return!!s.getWinTitle;case 22:return!!s.pushTitle;case 23:return!!s.popTitle;case 24:return!!s.setWinLines}return!1}var mr=5000,vr=0,Ph=class extends W{constructor(e,s,a,l,c,d,u,p,g=new Bh){super();this._bufferService=e,this._charsetService=s,this._coreService=a,this._logService=l,this._optionsService=c,this._oscLinkService=d,this._coreMouseService=u,this._unicodeService=p,this._parser=g,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Cn,this._utf8Decoder=new xn,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone(),this._onRequestBell=this._register(new D),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new D),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new D),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new D),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new D),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new D),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new D),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new D),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new D),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new ls(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((f)=>this._activeBuffer=f.activeBuffer)),this._parser.setCsiHandlerFallback((f,v)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(f),params:v.toArray()})}),this._parser.setEscHandlerFallback((f)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(f)})}),this._parser.setExecuteHandlerFallback((f)=>{this._logService.debug("Unknown EXECUTE code: ",{code:f})}),this._parser.setOscHandlerFallback((f,v,m)=>{this._logService.debug("Unknown OSC code: ",{identifier:f,action:v,data:m})}),this._parser.setDcsHandlerFallback((f,v,m)=>{v==="HOOK"&&(m=m.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(f),action:v,payload:m})}),this._parser.setPrintHandler((f,v,m)=>this.print(f,v,m)),this._parser.registerCsiHandler({final:"@"},(f)=>this.insertChars(f)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(f)=>this.scrollLeft(f)),this._parser.registerCsiHandler({final:"A"},(f)=>this.cursorUp(f)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(f)=>this.scrollRight(f)),this._parser.registerCsiHandler({final:"B"},(f)=>this.cursorDown(f)),this._parser.registerCsiHandler({final:"C"},(f)=>this.cursorForward(f)),this._parser.registerCsiHandler({final:"D"},(f)=>this.cursorBackward(f)),this._parser.registerCsiHandler({final:"E"},(f)=>this.cursorNextLine(f)),this._parser.registerCsiHandler({final:"F"},(f)=>this.cursorPrecedingLine(f)),this._parser.registerCsiHandler({final:"G"},(f)=>this.cursorCharAbsolute(f)),this._parser.registerCsiHandler({final:"H"},(f)=>this.cursorPosition(f)),this._parser.registerCsiHandler({final:"I"},(f)=>this.cursorForwardTab(f)),this._parser.registerCsiHandler({final:"J"},(f)=>this.eraseInDisplay(f,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(f)=>this.eraseInDisplay(f,!0)),this._parser.registerCsiHandler({final:"K"},(f)=>this.eraseInLine(f,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(f)=>this.eraseInLine(f,!0)),this._parser.registerCsiHandler({final:"L"},(f)=>this.insertLines(f)),this._parser.registerCsiHandler({final:"M"},(f)=>this.deleteLines(f)),this._parser.registerCsiHandler({final:"P"},(f)=>this.deleteChars(f)),this._parser.registerCsiHandler({final:"S"},(f)=>this.scrollUp(f)),this._parser.registerCsiHandler({final:"T"},(f)=>this.scrollDown(f)),this._parser.registerCsiHandler({final:"X"},(f)=>this.eraseChars(f)),this._parser.registerCsiHandler({final:"Z"},(f)=>this.cursorBackwardTab(f)),this._parser.registerCsiHandler({final:"`"},(f)=>this.charPosAbsolute(f)),this._parser.registerCsiHandler({final:"a"},(f)=>this.hPositionRelative(f)),this._parser.registerCsiHandler({final:"b"},(f)=>this.repeatPrecedingCharacter(f)),this._parser.registerCsiHandler({final:"c"},(f)=>this.sendDeviceAttributesPrimary(f)),this._parser.registerCsiHandler({prefix:">",final:"c"},(f)=>this.sendDeviceAttributesSecondary(f)),this._parser.registerCsiHandler({final:"d"},(f)=>this.linePosAbsolute(f)),this._parser.registerCsiHandler({final:"e"},(f)=>this.vPositionRelative(f)),this._parser.registerCsiHandler({final:"f"},(f)=>this.hVPosition(f)),this._parser.registerCsiHandler({final:"g"},(f)=>this.tabClear(f)),this._parser.registerCsiHandler({final:"h"},(f)=>this.setMode(f)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(f)=>this.setModePrivate(f)),this._parser.registerCsiHandler({final:"l"},(f)=>this.resetMode(f)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(f)=>this.resetModePrivate(f)),this._parser.registerCsiHandler({final:"m"},(f)=>this.charAttributes(f)),this._parser.registerCsiHandler({final:"n"},(f)=>this.deviceStatus(f)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(f)=>this.deviceStatusPrivate(f)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(f)=>this.softReset(f)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(f)=>this.setCursorStyle(f)),this._parser.registerCsiHandler({final:"r"},(f)=>this.setScrollRegion(f)),this._parser.registerCsiHandler({final:"s"},(f)=>this.saveCursor(f)),this._parser.registerCsiHandler({final:"t"},(f)=>this.windowOptions(f)),this._parser.registerCsiHandler({final:"u"},(f)=>this.restoreCursor(f)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(f)=>this.insertColumns(f)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(f)=>this.deleteColumns(f)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(f)=>this.selectProtected(f)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(f)=>this.requestMode(f,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(f)=>this.requestMode(f,!1)),this._parser.setExecuteHandler(C.BEL,()=>this.bell()),this._parser.setExecuteHandler(C.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(C.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(C.BS,()=>this.backspace()),this._parser.setExecuteHandler(C.HT,()=>this.tab()),this._parser.setExecuteHandler(C.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(C.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ii.IND,()=>this.index()),this._parser.setExecuteHandler(ii.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ii.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Ee((f)=>(this.setTitle(f),this.setIconName(f),!0))),this._parser.registerOscHandler(1,new Ee((f)=>this.setIconName(f))),this._parser.registerOscHandler(2,new Ee((f)=>this.setTitle(f))),this._parser.registerOscHandler(4,new Ee((f)=>this.setOrReportIndexedColor(f))),this._parser.registerOscHandler(8,new Ee((f)=>this.setHyperlink(f))),this._parser.registerOscHandler(10,new Ee((f)=>this.setOrReportFgColor(f))),this._parser.registerOscHandler(11,new Ee((f)=>this.setOrReportBgColor(f))),this._parser.registerOscHandler(12,new Ee((f)=>this.setOrReportCursorColor(f))),this._parser.registerOscHandler(104,new Ee((f)=>this.restoreIndexedColor(f))),this._parser.registerOscHandler(110,new Ee((f)=>this.restoreFgColor(f))),this._parser.registerOscHandler(111,new Ee((f)=>this.restoreBgColor(f))),this._parser.registerOscHandler(112,new Ee((f)=>this.restoreCursorColor(f))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let f in he)this._parser.registerEscHandler({intermediates:"(",final:f},()=>this.selectCharset("("+f)),this._parser.registerEscHandler({intermediates:")",final:f},()=>this.selectCharset(")"+f)),this._parser.registerEscHandler({intermediates:"*",final:f},()=>this.selectCharset("*"+f)),this._parser.registerEscHandler({intermediates:"+",final:f},()=>this.selectCharset("+"+f)),this._parser.registerEscHandler({intermediates:"-",final:f},()=>this.selectCharset("-"+f)),this._parser.registerEscHandler({intermediates:".",final:f},()=>this.selectCharset("."+f)),this._parser.registerEscHandler({intermediates:"/",final:f},()=>this.selectCharset("/"+f));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((f)=>(this._logService.error("Parsing error: ",f),f)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new _r((f,v)=>this.requestStatusString(f,v)))}getAttrData(){return this._curAttrData}_preserveStack(e,s,a,l){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=s,this._parseStack.decodedLength=a,this._parseStack.position=l}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((s,a)=>setTimeout(()=>a("#SLOW_TIMEOUT"),mr))]).catch((s)=>{if(s!=="#SLOW_TIMEOUT")throw s;console.warn(`async parser handler taking longer than ${mr} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,s){let a,l=this._activeBuffer.x,c=this._activeBuffer.y,d=0,u=this._parseStack.paused;if(u){if(a=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,s))return this._logSlowResolvingAsync(a),a;l=this._parseStack.cursorStartX,c=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Je&&(d=this._parseStack.position+Je)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e=="string"?` "${e}"`:` "${Array.prototype.map.call(e,(f)=>String.fromCharCode(f)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof e=="string"?e.split("").map((f)=>f.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<Je&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Je))),u||this._dirtyRowTracker.clearRange(),e.length>Je)for(let f=d;f<e.length;f+=Je){let v=f+Je<e.length?f+Je:e.length,m=typeof e=="string"?this._stringDecoder.decode(e.substring(f,v),this._parseBuffer):this._utf8Decoder.decode(e.subarray(f,v),this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,m))return this._preserveStack(l,c,m,f),this._logSlowResolvingAsync(a),a}else if(!u){let f=typeof e=="string"?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,f))return this._preserveStack(l,c,f,0),this._logSlowResolvingAsync(a),a}(this._activeBuffer.x!==l||this._activeBuffer.y!==c)&&this._onCursorMove.fire();let p=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),g=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);g<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(g,this._bufferService.rows-1),end:Math.min(p,this._bufferService.rows-1)})}print(e,s,a){let l,c,d=this._charsetService.charset,u=this._optionsService.rawOptions.screenReaderMode,p=this._bufferService.cols,g=this._coreService.decPrivateModes.wraparound,f=this._coreService.modes.insertMode,v=this._curAttrData,m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&a-s>0&&m.getWidth(this._activeBuffer.x-1)===2&&m.setCellFromCodepoint(this._activeBuffer.x-1,0,1,v);let b=this._parser.precedingJoinState;for(let w=s;w<a;++w){if(l=e[w],l<127&&d){let P=d[String.fromCharCode(l)];P&&(l=P.charCodeAt(0))}let S=this._unicodeService.charProperties(l,b);c=ht.extractWidth(S);let y=ht.extractShouldJoin(S),R=y?ht.extractWidth(b):0;if(b=S,u&&this._onA11yChar.fire(Ze(l)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+c-R>p){if(g){let P=m,U=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),m=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&m instanceof Mt&&m.copyCellsFrom(P,U,0,R,!1);U<p;)P.setCellFromCodepoint(U++,0,1,v)}else if(this._activeBuffer.x=p-1,c===2)continue}if(y&&this._activeBuffer.x){let P=m.getWidth(this._activeBuffer.x-1)?1:2;m.addCodepointToCell(this._activeBuffer.x-P,l,c);for(let U=c-R;--U>=0;)m.setCellFromCodepoint(this._activeBuffer.x++,0,0,v);continue}if(f&&(m.insertCells(this._activeBuffer.x,c-R,this._activeBuffer.getNullCell(v)),m.getWidth(p-1)===2&&m.setCellFromCodepoint(p-1,0,1,v)),m.setCellFromCodepoint(this._activeBuffer.x++,l,c,v),c>0)for(;--c;)m.setCellFromCodepoint(this._activeBuffer.x++,0,0,v)}this._parser.precedingJoinState=b,this._activeBuffer.x<p&&a-s>0&&m.getWidth(this._activeBuffer.x)===0&&!m.hasContent(this._activeBuffer.x)&&m.setCellFromCodepoint(this._activeBuffer.x,0,1,v),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,s){return e.final==="t"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,(a)=>gr(a.params[0],this._optionsService.rawOptions.windowOptions)?s(a):!0):this._parser.registerCsiHandler(e,s)}registerDcsHandler(e,s){return this._parser.registerDcsHandler(e,new _r(s))}registerEscHandler(e,s){return this._parser.registerEscHandler(e,s)}registerOscHandler(e,s){return this._parser.registerOscHandler(e,new Ee(s))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,s){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+s):(this._activeBuffer.x=e,this._activeBuffer.y=s),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,s){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+s)}cursorUp(e){let s=this._activeBuffer.y-this._activeBuffer.scrollTop;return s>=0?this._moveCursor(0,-Math.min(s,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let s=this._activeBuffer.scrollBottom-this._activeBuffer.y;return s>=0?this._moveCursor(0,Math.min(s,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let s=e.params[0];return s===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:s===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=e.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=e.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let s=e.params[0];return s===1&&(this._curAttrData.bg|=536870912),(s===2||s===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,s,a,l=!1,c=!1){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);d.replaceCells(s,a,this._activeBuffer.getNullCell(this._eraseAttrData()),c),l&&(d.isWrapped=!1)}_resetBufferLine(e,s=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a&&(a.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),s),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),a.isWrapped=!1)}eraseInDisplay(e,s=!1){this._restrictCursor(this._bufferService.cols);let a;switch(e.params[0]){case 0:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);a<this._bufferService.rows;a++)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(a);break;case 1:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a,0,this._activeBuffer.x+1,!0,s),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(a+1).isWrapped=!1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(a=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,a-1);a--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+a)?.getTrimmedLength(););for(;a>=0;a--)this._bufferService.scroll(this._eraseAttrData())}else{for(a=this._bufferService.rows,this._dirtyRowTracker.markDirty(a-1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0)}break;case 3:let l=this._activeBuffer.lines.length-this._bufferService.rows;l>0&&(this._activeBuffer.lines.trimStart(l),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-l,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-l,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,s=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,s);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,s);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let s=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,l=this._bufferService.rows-1-this._activeBuffer.scrollBottom,c=this._bufferService.rows-1+this._activeBuffer.ybase-l+1;for(;s--;)this._activeBuffer.lines.splice(c-1,1),this._activeBuffer.lines.splice(a,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let s=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,l;for(l=this._bufferService.rows-1-this._activeBuffer.scrollBottom,l=this._bufferService.rows-1+this._activeBuffer.ybase-l;s--;)this._activeBuffer.lines.splice(a,1),this._activeBuffer.lines.splice(l,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let s=e.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let s=e.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(re));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=e.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.deleteCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=e.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.insertCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=e.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.insertCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=e.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.deleteCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let s=this._parser.precedingJoinState;if(!s)return!0;let a=e.params[0]||1,l=ht.extractWidth(s),c=this._activeBuffer.x-l,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(c),u=new Uint32Array(d.length*a),p=0;for(let f=0;f<d.length;){let v=d.codePointAt(f)||0;u[p++]=v,f+=v>65535?2:1}let g=p;for(let f=1;f<a;++f)u.copyWithin(g,0,p),g+=p;return this.print(u,0,g),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(C.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(C.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(C.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(C.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(C.ESC+"[>83;40003;0c")),!0}_is(e){return(this._optionsService.rawOptions.termName+"").indexOf(e)===0}setMode(e){for(let s=0;s<e.length;s++)switch(e.params[s]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let s=0;s<e.length;s++)switch(e.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,at),this._charsetService.setgCharset(1,at),this._charsetService.setgCharset(2,at),this._charsetService.setgCharset(3,at);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1000:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let s=0;s<e.length;s++)switch(e.params[s]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let s=0;s<e.length;s++)switch(e.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1000:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[s]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,s){let a;((y)=>(y[y.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",y[y.SET=1]="SET",y[y.RESET=2]="RESET",y[y.PERMANENTLY_SET=3]="PERMANENTLY_SET",y[y.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(a||={});let l=this._coreService.decPrivateModes,{activeProtocol:c,activeEncoding:d}=this._coreMouseService,u=this._coreService,{buffers:p,cols:g}=this._bufferService,{active:f,alt:v}=p,m=this._optionsService.rawOptions,b=(y,R)=>(u.triggerDataEvent(`${C.ESC}[${s?"":"?"}${y};${R}$y`),!0),w=(y)=>y?1:2,S=e.params[0];return s?S===2?b(S,4):S===4?b(S,w(u.modes.insertMode)):S===12?b(S,3):S===20?b(S,w(m.convertEol)):b(S,0):S===1?b(S,w(l.applicationCursorKeys)):S===3?b(S,m.windowOptions.setWinLines?g===80?2:g===132?1:0:0):S===6?b(S,w(l.origin)):S===7?b(S,w(l.wraparound)):S===8?b(S,3):S===9?b(S,w(c==="X10")):S===12?b(S,w(m.cursorBlink)):S===25?b(S,w(!u.isCursorHidden)):S===45?b(S,w(l.reverseWraparound)):S===66?b(S,w(l.applicationKeypad)):S===67?b(S,4):S===1000?b(S,w(c==="VT200")):S===1002?b(S,w(c==="DRAG")):S===1003?b(S,w(c==="ANY")):S===1004?b(S,w(l.sendFocus)):S===1005?b(S,4):S===1006?b(S,w(d==="SGR")):S===1015?b(S,4):S===1016?b(S,w(d==="SGR_PIXELS")):S===1048?b(S,1):S===47||S===1047||S===1049?b(S,w(f===v)):S===2004?b(S,w(l.bracketedPasteMode)):S===2026?b(S,w(l.synchronizedOutput)):b(S,0)}_updateAttrColor(e,s,a,l,c){return s===2?(e|=50331648,e&=-16777216,e|=zt.fromColorRGB([a,l,c])):s===5&&(e&=-50331904,e|=33554432|a&255),e}_extractColor(e,s,a){let l=[0,0,-1,0,0,0],c=0,d=0;do{if(l[d+c]=e.params[s+d],e.hasSubParams(s+d)){let u=e.getSubParams(s+d),p=0;do l[1]===5&&(c=1),l[d+p+1+c]=u[p];while(++p<u.length&&p+d+1+c<l.length);break}if(l[1]===5&&d+c>=2||l[1]===2&&d+c>=5)break;l[1]&&(c=1)}while(++d+s<e.length&&d+c<l.length);for(let u=2;u<l.length;++u)l[u]===-1&&(l[u]=0);switch(l[0]){case 38:a.fg=this._updateAttrColor(a.fg,l[1],l[3],l[4],l[5]);break;case 48:a.bg=this._updateAttrColor(a.bg,l[1],l[3],l[4],l[5]);break;case 58:a.extended=a.extended.clone(),a.extended.underlineColor=this._updateAttrColor(a.extended.underlineColor,l[1],l[3],l[4],l[5])}return d}_processUnderline(e,s){s.extended=s.extended.clone(),(!~e||e>5)&&(e=1),s.extended.underlineStyle=e,s.fg|=268435456,e===0&&(s.fg&=-268435457),s.updateExtended()}_processSGR0(e){e.fg=re.fg,e.bg=re.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let s=e.length,a,l=this._curAttrData;for(let c=0;c<s;c++)a=e.params[c],a>=30&&a<=37?(l.fg&=-50331904,l.fg|=16777216|a-30):a>=40&&a<=47?(l.bg&=-50331904,l.bg|=16777216|a-40):a>=90&&a<=97?(l.fg&=-50331904,l.fg|=16777216|a-90|8):a>=100&&a<=107?(l.bg&=-50331904,l.bg|=16777216|a-100|8):a===0?this._processSGR0(l):a===1?l.fg|=134217728:a===3?l.bg|=67108864:a===4?(l.fg|=268435456,this._processUnderline(e.hasSubParams(c)?e.getSubParams(c)[0]:1,l)):a===5?l.fg|=536870912:a===7?l.fg|=67108864:a===8?l.fg|=1073741824:a===9?l.fg|=2147483648:a===2?l.bg|=134217728:a===21?this._processUnderline(2,l):a===22?(l.fg&=-134217729,l.bg&=-134217729):a===23?l.bg&=-67108865:a===24?(l.fg&=-268435457,this._processUnderline(0,l)):a===25?l.fg&=-536870913:a===27?l.fg&=-67108865:a===28?l.fg&=-1073741825:a===29?l.fg&=2147483647:a===39?(l.fg&=-67108864,l.fg|=re.fg&16777215):a===49?(l.bg&=-67108864,l.bg|=re.bg&16777215):a===38||a===48||a===58?c+=this._extractColor(e,c,l):a===53?l.bg|=1073741824:a===55?l.bg&=-1073741825:a===59?(l.extended=l.extended.clone(),l.extended.underlineColor=-1,l.updateExtended()):a===100?(l.fg&=-67108864,l.fg|=re.fg&16777215,l.bg&=-67108864,l.bg|=re.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",a);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${C.ESC}[0n`);break;case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[${s};${a}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[?${s};${a}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=re.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let s=e.length===0?1:e.params[0];if(s===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(s){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let a=s%2===1;this._coreService.decPrivateModes.cursorBlink=a}return!0}setScrollRegion(e){let s=e.params[0]||1,a;return(e.length<2||(a=e.params[1])>this._bufferService.rows||a===0)&&(a=this._bufferService.rows),a>s&&(this._activeBuffer.scrollTop=s-1,this._activeBuffer.scrollBottom=a-1,this._setCursor(0,0)),!0}windowOptions(e){if(!gr(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let s=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:s!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${C.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(s===0||s===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>pr&&this._windowTitleStack.shift()),(s===0||s===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>pr&&this._iconNameStack.shift());break;case 23:(s===0||s===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(s===0||s===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let s=[],a=e.split(";");for(;a.length>1;){let l=a.shift(),c=a.shift();if(/^\d+$/.exec(l)){let d=parseInt(l);if(Sr(d))if(c==="?")s.push({type:0,index:d});else{let u=fr(c);u&&s.push({type:1,index:d,color:u})}}}return s.length&&this._onColor.fire(s),!0}setHyperlink(e){let s=e.indexOf(";");if(s===-1)return!0;let a=e.slice(0,s).trim(),l=e.slice(s+1);return l?this._createHyperlink(a,l):a.trim()?!1:this._finishHyperlink()}_createHyperlink(e,s){this._getCurrentLinkId()&&this._finishHyperlink();let a=e.split(":"),l,c=a.findIndex((d)=>d.startsWith("id="));return c!==-1&&(l=a[c].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:l,uri:s}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,s){let a=e.split(";");for(let l=0;l<a.length&&!(s>=this._specialColors.length);++l,++s)if(a[l]==="?")this._onColor.fire([{type:0,index:this._specialColors[s]}]);else{let c=fr(a[l]);c&&this._onColor.fire([{type:1,index:this._specialColors[s],color:c}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let s=[],a=e.split(";");for(let l=0;l<a.length;++l)if(/^\d+$/.exec(a[l])){let c=parseInt(a[l]);Sr(c)&&s.push({type:2,index:c})}return s.length&&this._onColor.fire(s),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,at),!0}selectCharset(e){return e.length!==2?(this.selectDefaultCharset(),!0):(e[0]==="/"||this._charsetService.setgCharset(Th[e[0]],he[e[1]]||at),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new Me;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let s=0;s<this._bufferService.rows;++s){let a=this._activeBuffer.ybase+this._activeBuffer.y+s,l=this._activeBuffer.lines.get(a);l&&(l.fill(e),l.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,s){let a=(u)=>(this._coreService.triggerDataEvent(`${C.ESC}${u}${C.ESC}\\`),!0),l=this._bufferService.buffer,c=this._optionsService.rawOptions;return a(e==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e==='"p'?'P1$r61;1"p':e==="r"?`P1$r${l.scrollTop+1};${l.scrollBottom+1}r`:e==="m"?"P1$r0m":e===" q"?`P1$r${{block:2,underline:4,bar:6}[c.cursorStyle]-(c.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e,s){this._dirtyRowTracker.markRangeDirty(e,s)}},ls=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,s){e>s&&(vr=e,e=s,s=vr),e<this.start&&(this.start=e),s>this.end&&(this.end=s)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ls=te([M(0,Se)],ls);function Sr(e){return 0<=e&&e<256}var Ah=50000000,br=12,Oh=50,Ih=class extends W{constructor(e){super();this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,s){if(s!==void 0&&this._syncCalls>s){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let a;for(;a=this._writeBuffer.shift();){this._action(a);let l=this._callbacks.shift();l&&l()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,s){if(this._pendingData>Ah)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(s),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(s)}_innerWrite(e=0,s=!0){let a=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let l=this._writeBuffer[this._bufferOffset],c=this._action(l,s);if(c){let u=(p)=>performance.now()-a>=br?setTimeout(()=>this._innerWrite(0,p)):this._innerWrite(a,p);c.catch((p)=>(queueMicrotask(()=>{throw p}),Promise.resolve(!1))).then(u);return}let d=this._callbacks[this._bufferOffset];if(d&&d(),this._bufferOffset++,this._pendingData-=l.length,performance.now()-a>=br)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Oh&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},cs=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let s=this._bufferService.buffer;if(e.id===void 0){let p=s.addMarker(s.ybase+s.y),g={data:e,id:this._nextId++,lines:[p]};return p.onDispose(()=>this._removeMarkerFromLink(g,p)),this._dataByLinkId.set(g.id,g),g.id}let a=e,l=this._getEntryIdKey(a),c=this._entriesWithId.get(l);if(c)return this.addLineToLink(c.id,s.ybase+s.y),c.id;let d=s.addMarker(s.ybase+s.y),u={id:this._nextId++,key:this._getEntryIdKey(a),data:a,lines:[d]};return d.onDispose(()=>this._removeMarkerFromLink(u,d)),this._entriesWithId.set(u.key,u),this._dataByLinkId.set(u.id,u),u.id}addLineToLink(e,s){let a=this._dataByLinkId.get(e);if(a&&a.lines.every((l)=>l.line!==s)){let l=this._bufferService.buffer.addMarker(s);a.lines.push(l),l.onDispose(()=>this._removeMarkerFromLink(a,l))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,s){let a=e.lines.indexOf(s);a!==-1&&(e.lines.splice(a,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};cs=te([M(0,Se)],cs);var wr=!1,Nh=class extends W{constructor(e){super();this._windowsWrappingHeuristics=this._register(new pt),this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onData=this._register(new D),this.onData=this._onData.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new D),this._instantiationService=new oh,this.optionsService=this._register(new mh(e)),this._instantiationService.setService(be,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(os)),this._instantiationService.setService(Se,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ns)),this._instantiationService.setService(Mr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(as)),this._instantiationService.setService(ut,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(hs)),this._instantiationService.setService(Lr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(ht)),this._instantiationService.setService(Bn,this.unicodeService),this._charsetService=this._instantiationService.createInstance(yh),this._instantiationService.setService(Dn,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(cs),this._instantiationService.setService(Tr,this._oscLinkService),this._inputHandler=this._register(new Ph(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ge.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ge.forward(this._bufferService.onResize,this._onResize)),this._register(ge.forward(this.coreService.onData,this._onData)),this._register(ge.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Ih((s,a)=>this._inputHandler.parse(s,a))),this._register(ge.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new D),this._onScroll.event((e)=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let s in e)this.optionsService.options[s]=e[s]}write(e,s){this._writeBuffer.write(e,s)}writeSync(e,s){this._logService.logLevel<=3&&!wr&&(this._logService.warn("writeSync is unreliable and will be removed soon."),wr=!0),this._writeBuffer.writeSync(e,s)}input(e,s=!0){this.coreService.triggerDataEvent(e,s)}resize(e,s){isNaN(e)||isNaN(s)||(e=Math.max(e,ln),s=Math.max(s,cn),this._bufferService.resize(e,s))}scroll(e,s=!1){this._bufferService.scroll(e,s)}scrollLines(e,s){this._bufferService.scrollLines(e,s)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let s=e-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}registerEscHandler(e,s){return this._inputHandler.registerEscHandler(e,s)}registerDcsHandler(e,s){return this._inputHandler.registerDcsHandler(e,s)}registerCsiHandler(e,s){return this._inputHandler.registerCsiHandler(e,s)}registerOscHandler(e,s){return this._inputHandler.registerOscHandler(e,s)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,s=this.optionsService.rawOptions.windowsPty;s&&s.buildNumber!==void 0&&s.buildNumber!==void 0?e=s.backend==="conpty"&&s.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(ur.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(ur(this._bufferService),!1))),this._windowsWrappingHeuristics.value=X(()=>{for(let s of e)s.dispose()})}}},Hh={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Wh(e,s,a,l){let c={type:0,cancel:!1,key:void 0},d=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key==="UIKeyInputUpArrow"?s?c.key=C.ESC+"OA":c.key=C.ESC+"[A":e.key==="UIKeyInputLeftArrow"?s?c.key=C.ESC+"OD":c.key=C.ESC+"[D":e.key==="UIKeyInputRightArrow"?s?c.key=C.ESC+"OC":c.key=C.ESC+"[C":e.key==="UIKeyInputDownArrow"&&(s?c.key=C.ESC+"OB":c.key=C.ESC+"[B");break;case 8:c.key=e.ctrlKey?"\b":C.DEL,e.altKey&&(c.key=C.ESC+c.key);break;case 9:if(e.shiftKey){c.key=C.ESC+"[Z";break}c.key=C.HT,c.cancel=!0;break;case 13:c.key=e.altKey?C.ESC+C.CR:C.CR,c.cancel=!0;break;case 27:c.key=C.ESC,e.altKey&&(c.key=C.ESC+C.ESC),c.cancel=!0;break;case 37:if(e.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"D":s?c.key=C.ESC+"OD":c.key=C.ESC+"[D";break;case 39:if(e.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"C":s?c.key=C.ESC+"OC":c.key=C.ESC+"[C";break;case 38:if(e.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"A":s?c.key=C.ESC+"OA":c.key=C.ESC+"[A";break;case 40:if(e.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"B":s?c.key=C.ESC+"OB":c.key=C.ESC+"[B";break;case 45:!e.shiftKey&&!e.ctrlKey&&(c.key=C.ESC+"[2~");break;case 46:d?c.key=C.ESC+"[3;"+(d+1)+"~":c.key=C.ESC+"[3~";break;case 36:d?c.key=C.ESC+"[1;"+(d+1)+"H":s?c.key=C.ESC+"OH":c.key=C.ESC+"[H";break;case 35:d?c.key=C.ESC+"[1;"+(d+1)+"F":s?c.key=C.ESC+"OF":c.key=C.ESC+"[F";break;case 33:e.shiftKey?c.type=2:e.ctrlKey?c.key=C.ESC+"[5;"+(d+1)+"~":c.key=C.ESC+"[5~";break;case 34:e.shiftKey?c.type=3:e.ctrlKey?c.key=C.ESC+"[6;"+(d+1)+"~":c.key=C.ESC+"[6~";break;case 112:d?c.key=C.ESC+"[1;"+(d+1)+"P":c.key=C.ESC+"OP";break;case 113:d?c.key=C.ESC+"[1;"+(d+1)+"Q":c.key=C.ESC+"OQ";break;case 114:d?c.key=C.ESC+"[1;"+(d+1)+"R":c.key=C.ESC+"OR";break;case 115:d?c.key=C.ESC+"[1;"+(d+1)+"S":c.key=C.ESC+"OS";break;case 116:d?c.key=C.ESC+"[15;"+(d+1)+"~":c.key=C.ESC+"[15~";break;case 117:d?c.key=C.ESC+"[17;"+(d+1)+"~":c.key=C.ESC+"[17~";break;case 118:d?c.key=C.ESC+"[18;"+(d+1)+"~":c.key=C.ESC+"[18~";break;case 119:d?c.key=C.ESC+"[19;"+(d+1)+"~":c.key=C.ESC+"[19~";break;case 120:d?c.key=C.ESC+"[20;"+(d+1)+"~":c.key=C.ESC+"[20~";break;case 121:d?c.key=C.ESC+"[21;"+(d+1)+"~":c.key=C.ESC+"[21~";break;case 122:d?c.key=C.ESC+"[23;"+(d+1)+"~":c.key=C.ESC+"[23~";break;case 123:d?c.key=C.ESC+"[24;"+(d+1)+"~":c.key=C.ESC+"[24~";break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?c.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?c.key=C.NUL:e.keyCode>=51&&e.keyCode<=55?c.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?c.key=C.DEL:e.keyCode===219?c.key=C.ESC:e.keyCode===220?c.key=C.FS:e.keyCode===221&&(c.key=C.GS);else if((!a||l)&&e.altKey&&!e.metaKey){let u=Hh[e.keyCode]?.[e.shiftKey?1:0];if(u)c.key=C.ESC+u;else if(e.keyCode>=65&&e.keyCode<=90){let p=e.ctrlKey?e.keyCode-64:e.keyCode+32,g=String.fromCharCode(p);e.shiftKey&&(g=g.toUpperCase()),c.key=C.ESC+g}else if(e.keyCode===32)c.key=C.ESC+(e.ctrlKey?C.NUL:" ");else if(e.key==="Dead"&&e.code.startsWith("Key")){let p=e.code.slice(3,4);e.shiftKey||(p=p.toLowerCase()),c.key=C.ESC+p,c.cancel=!0}}else a&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(c.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?c.key=e.key:e.key&&e.ctrlKey&&(e.key==="_"&&(c.key=C.US),e.key==="@"&&(c.key=C.NUL));break}return c}var ie=0,zh=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new di,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new di,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((c,d)=>this._getKey(c)-this._getKey(d)),s=0,a=0,l=Array(this._array.length+this._insertedValues.length);for(let c=0;c<l.length;c++)a>=this._array.length||this._getKey(e[s])<=this._getKey(this._array[a])?(l[c]=e[s],s++):l[c]=this._array[a++];this._array=l,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let s=this._getKey(e);if(s===void 0||(ie=this._search(s),ie===-1)||this._getKey(this._array[ie])!==s)return!1;do if(this._array[ie]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ie),!0;while(++ie<this._array.length&&this._getKey(this._array[ie])===s);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((c,d)=>c-d),s=0,a=Array(this._array.length-e.length),l=0;for(let c=0;c<this._array.length;c++)e[s]===c?s++:a[l++]=this._array[c];this._array=a,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(e),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===e))do yield this._array[ie];while(++ie<this._array.length&&this._getKey(this._array[ie])===e)}forEachByKey(e,s){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(e),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===e))do s(this._array[ie]);while(++ie<this._array.length&&this._getKey(this._array[ie])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let s=0,a=this._array.length-1;for(;a>=s;){let l=s+a>>1,c=this._getKey(this._array[l]);if(c>e)a=l-1;else if(c<e)s=l+1;else{for(;l>0&&this._getKey(this._array[l-1])===e;)l--;return l}}return s}},Oi=0,yr=0,Fh=class extends W{constructor(){super();this._decorations=new zh((e)=>e?.marker.line),this._onDecorationRegistered=this._register(new D),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new D),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(X(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let s=new $h(e);if(s){let a=s.marker.onDispose(()=>s.dispose()),l=s.onDispose(()=>{l.dispose(),s&&(this._decorations.delete(s)&&this._onDecorationRemoved.fire(s),a.dispose())});this._decorations.insert(s),this._onDecorationRegistered.fire(s)}return s}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,s,a){let l=0,c=0;for(let d of this._decorations.getKeyIterator(s))l=d.options.x??0,c=l+(d.options.width??1),e>=l&&e<c&&(!a||(d.options.layer??"bottom")===a)&&(yield d)}forEachDecorationAtCell(e,s,a,l){this._decorations.forEachByKey(s,(c)=>{Oi=c.options.x??0,yr=Oi+(c.options.width??1),e>=Oi&&e<yr&&(!a||(c.options.layer??"bottom")===a)&&l(c)})}},$h=class extends et{constructor(e){super();this.options=e,this.onRenderEmitter=this.add(new D),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new D),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Z.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Z.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Uh=1000,Kh=class{constructor(e,s=Uh){this._renderCallback=e,this._debounceThresholdMS=s,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,s,a){this._rowCount=a,e=e!==void 0?e:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s;let l=performance.now();if(l-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=l,this._innerRefresh();else if(!this._additionalRefreshRequested){let c=l-this._lastRefreshMs,d=this._debounceThresholdMS-c;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},d)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,s)}},Cr=20,xr=!1,ui=class extends W{constructor(e,s,a,l){super();this._terminal=e,this._coreBrowserService=a,this._renderService=l,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let c=this._coreBrowserService.mainDocument;this._accessibilityContainer=c.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=c.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let d=0;d<this._terminal.rows;d++)this._rowElements[d]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[d]);if(this._topBoundaryFocusListener=(d)=>this._handleBoundaryFocus(d,0),this._bottomBoundaryFocusListener=(d)=>this._handleBoundaryFocus(d,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=c.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Kh(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");xr?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=c.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(c.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(c.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((d)=>this._handleResize(d.rows))),this._register(this._terminal.onRender((d)=>this._refreshRows(d.start,d.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((d)=>this._handleChar(d))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
34
- `))),this._register(this._terminal.onA11yTab((d)=>this._handleTab(d))),this._register(this._terminal.onKey((d)=>this._handleKey(d.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(H(c,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(X(()=>{xr?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let s=0;s<e;s++)this._handleChar(" ")}_handleChar(e){this._liveRegionLineCount<Cr+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
35
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Cr+1&&(this._liveRegion.textContent+=Ni.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,s){this._liveRegionDebouncer.refresh(e,s,this._terminal.rows)}_renderRows(e,s){let a=this._terminal.buffer,l=a.lines.length.toString();for(let c=e;c<=s;c++){let d=a.lines.get(a.ydisp+c),u=[],p=d?.translateToString(!0,void 0,void 0,u)||"",g=(a.ydisp+c+1).toString(),f=this._rowElements[c];f&&(p.length===0?(f.textContent=" ",this._rowColumns.set(f,[0,1])):(f.textContent=p,this._rowColumns.set(f,u)),f.setAttribute("aria-posinset",g),f.setAttribute("aria-setsize",l),this._alignRowWidth(f))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,s){let a=e.target,l=this._rowElements[s===0?1:this._rowElements.length-2],c=a.getAttribute("aria-posinset"),d=s===0?"1":`${this._terminal.buffer.lines.length}`;if(c===d||e.relatedTarget!==l)return;let u,p;if(s===0?(u=a,p=this._rowElements.pop(),this._rowContainer.removeChild(p)):(u=this._rowElements.shift(),p=a,this._rowContainer.removeChild(u)),u.removeEventListener("focus",this._topBoundaryFocusListener),p.removeEventListener("focus",this._bottomBoundaryFocusListener),s===0){let g=this._createAccessibilityTreeNode();this._rowElements.unshift(g),this._rowContainer.insertAdjacentElement("afterbegin",g)}else{let g=this._createAccessibilityTreeNode();this._rowElements.push(g),this._rowContainer.appendChild(g)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(s===0?-1:1),this._rowElements[s===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error("anchorNode and/or focusNode are null");return}let s={node:e.anchorNode,offset:e.anchorOffset},a={node:e.focusNode,offset:e.focusOffset};if((s.node.compareDocumentPosition(a.node)&Node.DOCUMENT_POSITION_PRECEDING||s.node===a.node&&s.offset>a.offset)&&([s,a]=[a,s]),s.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(s={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(s.node))return;let l=this._rowElements.slice(-1)[0];if(a.node.compareDocumentPosition(l)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(a={node:l,offset:l.textContent?.length??0}),!this._rowContainer.contains(a.node))return;let c=({node:p,offset:g})=>{let f=p instanceof Text?p.parentNode:p,v=parseInt(f?.getAttribute("aria-posinset"),10)-1;if(isNaN(v))return console.warn("row is invalid. Race condition?"),null;let m=this._rowColumns.get(f);if(!m)return console.warn("columns is null. Race condition?"),null;let b=g<m.length?m[g]:m.slice(-1)[0]+1;return b>=this._terminal.cols&&(++v,b=0),{row:v,column:b}},d=c(s),u=c(a);if(!(!d||!u)){if(d.row>u.row||d.row===u.row&&d.column>=u.column)throw Error("invalid range");this._terminal.select(d.column,d.row,(u.row-d.row)*this._terminal.cols-d.column+u.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let s=this._rowContainer.children.length;s<this._terminal.rows;s++)this._rowElements[s]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[s]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform="";let s=e.getBoundingClientRect().width,a=this._rowColumns.get(e)?.slice(-1)?.[0];if(!a)return;let l=a*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${l/s})`}};ui=te([M(1,us),M(2,Ue),M(3,Ke)],ui);var ds=class extends W{constructor(e,s,a,l,c){super();this._element=e,this._mouseService=s,this._renderService=a,this._bufferService=l,this._linkProviderService=c,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new D),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new D),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(X(()=>{ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(H(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(H(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(H(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(H(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let s=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;let a=e.composedPath();for(let l=0;l<a.length;l++){let c=a[l];if(c.classList.contains("xterm"))break;if(c.classList.contains("xterm-hover"))return}(!this._lastBufferCell||s.x!==this._lastBufferCell.x||s.y!==this._lastBufferCell.y)&&(this._handleHover(s),this._lastBufferCell=s)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,s){(!this._activeProviderReplies||!s)&&(this._activeProviderReplies?.forEach((l)=>{l?.forEach((c)=>{c.link.dispose&&c.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let a=!1;for(let[l,c]of this._linkProviderService.linkProviders.entries())s?this._activeProviderReplies?.get(l)&&(a=this._checkLinkProviderResult(l,e,a)):c.provideLinks(e.y,(d)=>{if(this._isMouseOut)return;let u=d?.map((p)=>({link:p}));this._activeProviderReplies?.set(l,u),a=this._checkLinkProviderResult(l,e,a),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,s){let a=new Set;for(let l=0;l<s.size;l++){let c=s.get(l);if(c)for(let d=0;d<c.length;d++){let u=c[d],p=u.link.range.start.y<e?0:u.link.range.start.x,g=u.link.range.end.y>e?this._bufferService.cols:u.link.range.end.x;for(let f=p;f<=g;f++){if(a.has(f)){c.splice(d--,1);break}a.add(f)}}}}_checkLinkProviderResult(e,s,a){if(!this._activeProviderReplies)return a;let l=this._activeProviderReplies.get(e),c=!1;for(let d=0;d<e;d++)(!this._activeProviderReplies.has(d)||this._activeProviderReplies.get(d))&&(c=!0);if(!c&&l){let d=l.find((u)=>this._linkAtPosition(u.link,s));d&&(a=!0,this._handleNewLink(d))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!a)for(let d=0;d<this._activeProviderReplies.size;d++){let u=this._activeProviderReplies.get(d)?.find((p)=>this._linkAtPosition(p.link,s));if(u){a=!0,this._handleNewLink(u);break}}return a}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let s=this._positionFromMouseEvent(e,this._element,this._mouseService);s&&this._mouseDownLink&&qh(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,s){!this._currentLink||!this._lastMouseEvent||(!e||!s||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(e.link,s)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(a)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==a&&(this._currentLink.state.decorations.pointerCursor=a,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",a))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(a)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==a&&(this._currentLink.state.decorations.underline=a,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,a))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((a)=>{if(!this._currentLink)return;let l=a.start===0?0:a.start+1+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.ydisp+1+a.end;if(this._currentLink.link.range.start.y>=l&&this._currentLink.link.range.end.y<=c&&(this._clearCurrentLink(l,c),this._lastMouseEvent)){let d=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);d&&this._askForLink(d,!1)}})))}_linkHover(e,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(a,s.text)}_fireUnderlineEvent(e,s){let a=e.range,l=this._bufferService.buffer.ydisp,c=this._createLinkUnderlineEvent(a.start.x-1,a.start.y-l-1,a.end.x,a.end.y-l-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(c)}_linkLeave(e,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(a,s.text)}_linkAtPosition(e,s){let a=e.range.start.y*this._bufferService.cols+e.range.start.x,l=e.range.end.y*this._bufferService.cols+e.range.end.x,c=s.y*this._bufferService.cols+s.x;return a<=c&&c<=l}_positionFromMouseEvent(e,s,a){let l=a.getCoords(e,s,this._bufferService.cols,this._bufferService.rows);if(l)return{x:l[0],y:l[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,s,a,l,c){return{x1:e,y1:s,x2:a,y2:l,cols:this._bufferService.cols,fg:c}}};ds=te([M(1,_s),M(2,Ke),M(3,Se),M(4,Ar)],ds);function qh(e,s){return e.text===s.text&&e.range.start.x===s.range.start.x&&e.range.start.y===s.range.start.y&&e.range.end.x===s.range.end.x&&e.range.end.y===s.range.end.y}var Vh=class extends Nh{constructor(e={}){super(e);this._linkifier=this._register(new pt),this.browser=Qr,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new pt),this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new D),this.onKey=this._onKey.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new D),this.onBell=this._onBell.event,this._onFocus=this._register(new D),this._onBlur=this._register(new D),this._onA11yCharEmitter=this._register(new D),this._onA11yTabEmitter=this._register(new D),this._onWillOpen=this._register(new D),this._setup(),this._decorationService=this._instantiationService.createInstance(Fh),this._instantiationService.setService(Ft,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Aa),this._instantiationService.setService(Ar,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Wi)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((s)=>this.refresh(s?.start??0,s?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((s)=>this._reportWindowsOptions(s))),this._register(this._inputHandler.onColor((s)=>this._handleColorEvent(s))),this._register(ge.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ge.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ge.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ge.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((s)=>this._afterResize(s.cols,s.rows))),this._register(X(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let s of e){let a,l="";switch(s.index){case 256:a="foreground",l="10";break;case 257:a="background",l="11";break;case 258:a="cursor",l="12";break;default:a="ansi",l="4;"+s.index}switch(s.type){case 0:let c=j.toColorRGB(a==="ansi"?this._themeService.colors.ansi[s.index]:this._themeService.colors[a]);this.coreService.triggerDataEvent(`${C.ESC}]${l};${Mh(c)}${Jr.ST}`);break;case 1:if(a==="ansi")this._themeService.modifyColors((d)=>d.ansi[s.index]=ne.toColor(...s.color));else{let d=a;this._themeService.modifyColors((u)=>u[d]=ne.toColor(...s.color))}break;case 2:this._themeService.restoreColor(s.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,s=this.buffer.lines.get(e);if(!s)return;let a=Math.min(this.buffer.x,this.cols-1),l=this._renderService.dimensions.css.cell.height,c=s.getWidth(a),d=this._renderService.dimensions.css.cell.width*c,u=this.buffer.y*this._renderService.dimensions.css.cell.height,p=a*this._renderService.dimensions.css.cell.width;this.textarea.style.left=p+"px",this.textarea.style.top=u+"px",this.textarea.style.width=d+"px",this.textarea.style.height=l+"px",this.textarea.style.lineHeight=l+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(H(this.element,"copy",(s)=>{this.hasSelection()&&wn(s,this._selectionService)}));let e=(s)=>yn(s,this.textarea,this.coreService,this.optionsService);this._register(H(this.textarea,"paste",e)),this._register(H(this.element,"paste",e)),en?this._register(H(this.element,"mousedown",(s)=>{s.button===2&&ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(H(this.element,"contextmenu",(s)=>{ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ws&&this._register(H(this.element,"auxclick",(s)=>{s.button===1&&Br(s,this.textarea,this.screenElement)}))}_bindKeys(){this._register(H(this.textarea,"keyup",(e)=>this._keyUp(e),!0)),this._register(H(this.textarea,"keydown",(e)=>this._keyDown(e),!0)),this._register(H(this.textarea,"keypress",(e)=>this._keyPress(e),!0)),this._register(H(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(H(this.textarea,"compositionupdate",(e)=>this._compositionHelper.compositionupdate(e))),this._register(H(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(H(this.textarea,"input",(e)=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let s=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),s.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(H(this.screenElement,"mousemove",(c)=>this.updateCursorStyle(c))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),s.appendChild(this.screenElement);let a=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ii.get()),rn||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>a.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ta,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Ue,this._coreBrowserService),this._register(H(this.textarea,"focus",(c)=>this._handleTextAreaFocus(c))),this._register(H(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(es,this._document,this._helperContainer),this._instantiationService.setService(fi,this._charSizeService),this._themeService=this._instantiationService.createInstance(rs),this._instantiationService.setService(gt,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(li),this._instantiationService.setService(Pr,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(is,this.rows,this.screenElement)),this._instantiationService.setService(Ke,this._renderService),this._register(this._renderService.onRenderedViewportChange((c)=>this._onRender.fire(c))),this.onResize((c)=>this._renderService.resize(c.cols,c.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ji,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ts),this._instantiationService.setService(_s,this._mouseService);let l=this._linkifier.value=this._register(this._instantiationService.createInstance(ds,this.screenElement));this.element.appendChild(s);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Xi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((c)=>{super.scrollLines(c,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ss,this.element,this.screenElement,l)),this._instantiationService.setService(Ln,this._selectionService),this._register(this._selectionService.onRequestScrollLines((c)=>this.scrollLines(c.amount,c.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((c)=>this._renderService.handleSelectionChanged(c.start,c.end,c.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((c)=>{this.textarea.value=c,this.textarea.focus(),this.textarea.select()})),this._register(ge.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gi,this.screenElement)),this._register(H(this.element,"mousedown",(c)=>this._selectionService.handleMouseDown(c))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(c)=>this._handleScreenReaderModeOptionChange(c))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(c)=>{!this._overviewRulerRenderer&&c&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Qi,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,s=this.element;function a(d){let u=e._mouseService.getMouseReportCoords(d,e.screenElement);if(!u)return!1;let p,g;switch(d.overrideType||d.type){case"mousemove":g=32,d.buttons===void 0?(p=3,d.button!==void 0&&(p=d.button<3?d.button:3)):p=d.buttons&1?0:d.buttons&4?1:d.buttons&2?2:3;break;case"mouseup":g=0,p=d.button<3?d.button:3;break;case"mousedown":g=1,p=d.button<3?d.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(d)===!1)return!1;let f=d.deltaY;if(f===0||e.coreMouseService.consumeWheelEvent(d,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;g=f<0?0:1,p=4;break;default:return!1}return g===void 0||p===void 0||p>4?!1:e.coreMouseService.triggerMouseEvent({col:u.col,row:u.row,x:u.x,y:u.y,button:p,action:g,ctrl:d.ctrlKey,alt:d.altKey,shift:d.shiftKey})}let l={mouseup:null,wheel:null,mousedrag:null,mousemove:null},c={mouseup:(d)=>(a(d),d.buttons||(this._document.removeEventListener("mouseup",l.mouseup),l.mousedrag&&this._document.removeEventListener("mousemove",l.mousedrag)),this.cancel(d)),wheel:(d)=>(a(d),this.cancel(d,!0)),mousedrag:(d)=>{d.buttons&&a(d)},mousemove:(d)=>{d.buttons||a(d)}};this._register(this.coreMouseService.onProtocolChange((d)=>{d?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(d)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),d&8?l.mousemove||(s.addEventListener("mousemove",c.mousemove),l.mousemove=c.mousemove):(s.removeEventListener("mousemove",l.mousemove),l.mousemove=null),d&16?l.wheel||(s.addEventListener("wheel",c.wheel,{passive:!1}),l.wheel=c.wheel):(s.removeEventListener("wheel",l.wheel),l.wheel=null),d&2?l.mouseup||(l.mouseup=c.mouseup):(this._document.removeEventListener("mouseup",l.mouseup),l.mouseup=null),d&4?l.mousedrag||(l.mousedrag=c.mousedrag):(this._document.removeEventListener("mousemove",l.mousedrag),l.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(H(s,"mousedown",(d)=>{if(d.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(d)))return a(d),l.mouseup&&this._document.addEventListener("mouseup",l.mouseup),l.mousedrag&&this._document.addEventListener("mousemove",l.mousedrag),this.cancel(d)})),this._register(H(s,"wheel",(d)=>{if(!l.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(d)===!1)return!1;if(!this.buffer.hasScrollback){if(d.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(d,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(d,!0);let u=C.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(d.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(u,!0),this.cancel(d,!0)}}},{passive:!1}))}refresh(e,s){this._renderService?.refreshRows(e,s)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,s){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,s),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let s=e-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}paste(e){Dr(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let s=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),s}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,s,a){this._selectionService.setSelection(e,s,a)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,s){this._selectionService?.selectLines(e,s)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let s=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!s&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!s&&(e.key==="Dead"||e.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let a=Wh(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),a.type===3||a.type===2){let l=this.rows-1;return this.scrollLines(a.type===2?-l:l),this.cancel(e,!0)}if(a.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(a.cancel&&this.cancel(e,!0),!a.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((a.key===C.ETX||a.key===C.CR)&&(this.textarea.value=""),this._onKey.fire({key:a.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(a.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,s){let a=e.isMac&&!this.options.macOptionIsMeta&&s.altKey&&!s.ctrlKey&&!s.metaKey||e.isWindows&&s.altKey&&s.ctrlKey&&!s.metaKey||e.isWindows&&s.getModifierState("AltGraph");return s.type==="keypress"?a:a&&(!s.keyCode||s.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Yh(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let s;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)s=e.charCode;else if(e.which===null||e.which===void 0)s=e.keyCode;else if(e.which!==0&&e.charCode!==0)s=e.which;else return!1;return!s||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(s=String.fromCharCode(s),this._onKey.fire({key:s,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(s,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType==="insertText"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let s=e.data;return this.coreService.triggerDataEvent(s,!0),this.cancel(e),!0}return!1}resize(e,s){if(e===this.cols&&s===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,s)}_afterResize(e,s){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(re));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(C.ESC+"[I"):this.coreService.triggerDataEvent(C.ESC+"[O")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let s=this._renderService.dimensions.css.canvas.width.toFixed(0),a=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[4;${a};${s}t`);break;case 1:let l=this._renderService.dimensions.css.cell.width.toFixed(0),c=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[6;${c};${l}t`);break}}cancel(e,s){if(!(!this.options.cancelEvents&&!s))return e.preventDefault(),e.stopPropagation(),!1}};function Yh(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var jh=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,s){let a={instance:s,dispose:s.dispose,isDisposed:!1};this._addons.push(a),s.dispose=()=>this._wrappedAddonDispose(a),s.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let s=-1;for(let a=0;a<this._addons.length;a++)if(this._addons[a]===e){s=a;break}if(s===-1)throw Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(s,1)}},Xh=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,s){if(!(e<0||e>=this._line.length))return s?(this._line.loadCell(e,s),s):this._line.loadCell(e,new Me)}translateToString(e,s,a){return this._line.translateToString(e,s,a)}},kr=class{constructor(e,s){this._buffer=e,this.type=s}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let s=this._buffer.lines.get(e);if(s)return new Xh(s)}getNullCell(){return new Me}},Gh=class extends W{constructor(e){super();this._core=e,this._onBufferChange=this._register(new D),this.onBufferChange=this._onBufferChange.event,this._normal=new kr(this._core.buffers.normal,"normal"),this._alternate=new kr(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Jh=class{constructor(e){this._core=e}registerCsiHandler(e,s){return this._core.registerCsiHandler(e,(a)=>s(a.toArray()))}addCsiHandler(e,s){return this.registerCsiHandler(e,s)}registerDcsHandler(e,s){return this._core.registerDcsHandler(e,(a,l)=>s(a,l.toArray()))}addDcsHandler(e,s){return this.registerDcsHandler(e,s)}registerEscHandler(e,s){return this._core.registerEscHandler(e,s)}addEscHandler(e,s){return this.registerEscHandler(e,s)}registerOscHandler(e,s){return this._core.registerOscHandler(e,s)}addOscHandler(e,s){return this.registerOscHandler(e,s)}},Zh=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Qh=["cols","rows"],Ae=0,un=class extends W{constructor(e){super(),this._core=this._register(new Vh(e)),this._addonManager=this._register(new jh),this._publicOptions={...this._core.options};let s=(l)=>this._core.options[l],a=(l,c)=>{this._checkReadonlyOptions(l),this._core.options[l]=c};for(let l in this._core.options){let c={get:s.bind(this,l),set:a.bind(this,l)};Object.defineProperty(this._publicOptions,l,c)}}_checkReadonlyOptions(e){if(Qh.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Jh(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Zh(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Gh(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,s="none";switch(this._core.coreMouseService.activeProtocol){case"X10":s="x10";break;case"VT200":s="vt200";break;case"DRAG":s="drag";break;case"ANY":s="any";break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:s,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let s in e)this._publicOptions[s]=e[s]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,s=!0){this._core.input(e,s)}resize(e,s){this._verifyIntegers(e,s),this._core.resize(e,s)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,s,a){this._verifyIntegers(e,s,a),this._core.select(e,s,a)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,s){this._verifyIntegers(e,s),this._core.selectLines(e,s)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,s){this._core.write(e,s)}writeln(e,s){this._core.write(e),this._core.write(`\r
36
- `,s)}paste(e){this._core.paste(e)}refresh(e,s){this._verifyIntegers(e,s),this._core.refresh(e,s)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Ii.get()},set promptLabel(e){Ii.set(e)},get tooMuchOutput(){return Ni.get()},set tooMuchOutput(e){Ni.set(e)}}}_verifyIntegers(...e){for(Ae of e)if(Ae===1/0||isNaN(Ae)||Ae%1!==0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(Ae of e)if(Ae&&(Ae===1/0||isNaN(Ae)||Ae%1!==0||Ae<0))throw Error("This API only accepts positive integers")}};var _n=`/**
33
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),ws&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let s=this._getMouseBufferCoords(t),a=this._model.finalSelectionStart,l=this._model.finalSelectionEnd;return!a||!l||!s?!1:this._areCoordsInSelection(s,a,l)}isCellInSelection(t,s){let a=this._model.finalSelectionStart,l=this._model.finalSelectionEnd;return!a||!l?!1:this._areCoordsInSelection([t,s],a,l)}_areCoordsInSelection(t,s,a){return t[1]>s[1]&&t[1]<a[1]||s[1]===a[1]&&t[1]===s[1]&&t[0]>=s[0]&&t[0]<a[0]||s[1]<a[1]&&t[1]===a[1]&&t[0]<a[0]||s[1]<a[1]&&t[1]===s[1]&&t[0]>=s[0]}_selectWordAtCursor(t,s){let a=this._linkifier.currentLink?.link?.range;if(a)return this._model.selectionStart=[a.start.x-1,a.start.y-1],this._model.selectionStartLength=er(a,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let l=this._getMouseBufferCoords(t);return l?(this._selectWordAt(l,s),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,s){this._model.clearSelection(),t=Math.max(t,0),s=Math.min(s,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,s],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let s=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(s)return s[0]--,s[1]--,s[1]+=this._bufferService.buffer.ydisp,s}_getMouseEventScrollAmount(t){let s=bs(this._coreBrowserService.window,t,this._screenElement)[1],a=this._renderService.dimensions.css.canvas.height;return s>=0&&s<=a?0:(s>a&&(s-=a),s=Math.min(Math.max(s,-Ri),Ri),s/=Ri,s/Math.abs(s)+Math.round(s*(Qa-1)))}shouldForceSelection(t){return ci?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),eh)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let s=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);s&&s.length!==this._model.selectionStart[0]&&s.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let s=this._getMouseBufferCoords(t);s&&(this._activeSelectionMode=2,this._selectLineAt(s[1]))}shouldColumnSelect(t){return t.altKey&&!(ci&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let s=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(t),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let a=this._bufferService.buffer;if(this._model.selectionEnd[1]<a.lines.length){let l=a.lines.get(this._model.selectionEnd[1]);l&&l.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!s||s[0]!==this._model.selectionEnd[0]||s[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let t=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let s=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&s<th&&t.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let a=this._mouseService.getCoords(t,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(a&&a[0]!==void 0&&a[1]!==void 0){let l=qa(a[0]-1,a[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(l,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let t=this._model.finalSelectionStart,s=this._model.finalSelectionEnd,a=!!t&&!!s&&(t[0]!==s[0]||t[1]!==s[1]);if(!a){this._oldHasSelection&&this._fireOnSelectionChange(t,s,a);return}!t||!s||(!this._oldSelectionStart||!this._oldSelectionEnd||t[0]!==this._oldSelectionStart[0]||t[1]!==this._oldSelectionStart[1]||s[0]!==this._oldSelectionEnd[0]||s[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(t,s,a)}_fireOnSelectionChange(t,s,a){this._oldSelectionStart=t,this._oldSelectionEnd=s,this._oldHasSelection=a,this._onSelectionChange.fire()}_handleBufferActivate(t){this.clearSelection(),this._trimListener.dispose(),this._trimListener=t.activeBuffer.lines.onTrim((s)=>this._handleTrim(s))}_convertViewportColToCharacterIndex(t,s){let a=s;for(let l=0;s>=l;l++){let c=t.loadCell(l,this._workCell).getChars().length;this._workCell.getWidth()===0?a--:c>1&&s!==l&&(a+=c-1)}return a}setSelection(t,s,a){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,s],this._model.selectionStartLength=a,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,s,a=!0,l=!0){if(t[0]>=this._bufferService.cols)return;let c=this._bufferService.buffer,d=c.lines.get(t[1]);if(!d)return;let u=c.translateBufferLineToString(t[1],!1),f=this._convertViewportColToCharacterIndex(d,t[0]),p=f,_=t[0]-f,m=0,g=0,S=0,w=0;if(u.charAt(f)===" "){for(;f>0&&u.charAt(f-1)===" ";)f--;for(;p<u.length&&u.charAt(p+1)===" ";)p++}else{let R=t[0],P=t[0];d.getWidth(R)===0&&(m++,R--),d.getWidth(P)===2&&(g++,P++);let U=d.getString(P).length;for(U>1&&(w+=U-1,p+=U-1);R>0&&f>0&&!this._isCharWordSeparator(d.loadCell(R-1,this._workCell));){d.loadCell(R-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(m++,R--):I>1&&(S+=I-1,f-=I-1),f--,R--}for(;P<d.length&&p+1<u.length&&!this._isCharWordSeparator(d.loadCell(P+1,this._workCell));){d.loadCell(P+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(g++,P++):I>1&&(w+=I-1,p+=I-1),p++,P++}}p++;let v=f+_-m+S,y=Math.min(this._bufferService.cols,p-f+m+g-S-w);if(!(!s&&u.slice(f,p).trim()==="")){if(a&&v===0&&d.getCodePoint(0)!==32){let R=c.lines.get(t[1]-1);if(R&&d.isWrapped&&R.getCodePoint(this._bufferService.cols-1)!==32){let P=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(P){let U=this._bufferService.cols-P.start;v-=U,y+=U}}}if(l&&v+y===this._bufferService.cols&&d.getCodePoint(this._bufferService.cols-1)!==32){let R=c.lines.get(t[1]+1);if(R?.isWrapped&&R.getCodePoint(0)!==32){let P=this._getWordAt([0,t[1]+1],!1,!1,!0);P&&(y+=P.length)}}return{start:v,length:y}}}_selectWordAt(t,s){let a=this._getWordAt(t,s);if(a){for(;a.start<0;)a.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[a.start,t[1]],this._model.selectionStartLength=a.length}}_selectToWordAt(t){let s=this._getWordAt(t,!0);if(s){let a=t[1];for(;s.start<0;)s.start+=this._bufferService.cols,a--;if(!this._model.areSelectionValuesReversed())for(;s.start+s.length>this._bufferService.cols;)s.length-=this._bufferService.cols,a++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?s.start:s.start+s.length,a]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let s=this._bufferService.buffer.getWrappedRangeForLine(t),a={start:{x:0,y:s.first},end:{x:this._bufferService.cols-1,y:s.last}};this._model.selectionStart=[0,s.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=er(a,this._bufferService.cols)}};ss=te([M(3,Se),M(4,ut),M(5,_s),M(6,be),M(7,Ke),M(8,Ue)],ss);var tr=class{constructor(){this._data={}}set(t,s,a){this._data[t]||(this._data[t]={}),this._data[t][s]=a}get(t,s){return this._data[t]?this._data[t][s]:void 0}clear(){this._data={}}},ir=class{constructor(){this._color=new tr,this._css=new tr}setCss(t,s,a){this._css.set(t,s,a)}getCss(t,s){return this._css.get(t,s)}setColor(t,s,a){this._color.set(t,s,a)}getColor(t,s){return this._color.get(t,s)}clear(){this._color.clear(),this._css.clear()}},oe=Object.freeze((()=>{let t=[Q.toColor("#2e3436"),Q.toColor("#cc0000"),Q.toColor("#4e9a06"),Q.toColor("#c4a000"),Q.toColor("#3465a4"),Q.toColor("#75507b"),Q.toColor("#06989a"),Q.toColor("#d3d7cf"),Q.toColor("#555753"),Q.toColor("#ef2929"),Q.toColor("#8ae234"),Q.toColor("#fce94f"),Q.toColor("#729fcf"),Q.toColor("#ad7fa8"),Q.toColor("#34e2e2"),Q.toColor("#eeeeec")],s=[0,95,135,175,215,255];for(let a=0;a<216;a++){let l=s[a/36%6|0],c=s[a/6%6|0],d=s[a%6];t.push({css:ne.toCss(l,c,d),rgba:ne.toRgba(l,c,d)})}for(let a=0;a<24;a++){let l=8+a*10;t.push({css:ne.toCss(l,l,l),rgba:ne.toRgba(l,l,l)})}return t})()),nt=Q.toColor("#ffffff"),Lt=Q.toColor("#000000"),sr=Q.toColor("#ffffff"),rr=Lt,xt={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},rh=nt,rs=class extends W{constructor(t){super();this._optionsService=t,this._contrastCache=new ir,this._halfContrastCache=new ir,this._onChangeColors=this._register(new D),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:nt,background:Lt,cursor:sr,cursorAccent:rr,selectionForeground:void 0,selectionBackgroundTransparent:xt,selectionBackgroundOpaque:j.blend(Lt,xt),selectionInactiveBackgroundTransparent:xt,selectionInactiveBackgroundOpaque:j.blend(Lt,xt),scrollbarSliderBackground:j.opacity(nt,0.2),scrollbarSliderHoverBackground:j.opacity(nt,0.4),scrollbarSliderActiveBackground:j.opacity(nt,0.5),overviewRulerBorder:nt,ansi:oe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let s=this._colors;if(s.foreground=q(t.foreground,nt),s.background=q(t.background,Lt),s.cursor=j.blend(s.background,q(t.cursor,sr)),s.cursorAccent=j.blend(s.background,q(t.cursorAccent,rr)),s.selectionBackgroundTransparent=q(t.selectionBackground,xt),s.selectionBackgroundOpaque=j.blend(s.background,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundTransparent=q(t.selectionInactiveBackground,s.selectionBackgroundTransparent),s.selectionInactiveBackgroundOpaque=j.blend(s.background,s.selectionInactiveBackgroundTransparent),s.selectionForeground=t.selectionForeground?q(t.selectionForeground,Js):void 0,s.selectionForeground===Js&&(s.selectionForeground=void 0),j.isOpaque(s.selectionBackgroundTransparent)&&(s.selectionBackgroundTransparent=j.opacity(s.selectionBackgroundTransparent,0.3)),j.isOpaque(s.selectionInactiveBackgroundTransparent)&&(s.selectionInactiveBackgroundTransparent=j.opacity(s.selectionInactiveBackgroundTransparent,0.3)),s.scrollbarSliderBackground=q(t.scrollbarSliderBackground,j.opacity(s.foreground,0.2)),s.scrollbarSliderHoverBackground=q(t.scrollbarSliderHoverBackground,j.opacity(s.foreground,0.4)),s.scrollbarSliderActiveBackground=q(t.scrollbarSliderActiveBackground,j.opacity(s.foreground,0.5)),s.overviewRulerBorder=q(t.overviewRulerBorder,rh),s.ansi=oe.slice(),s.ansi[0]=q(t.black,oe[0]),s.ansi[1]=q(t.red,oe[1]),s.ansi[2]=q(t.green,oe[2]),s.ansi[3]=q(t.yellow,oe[3]),s.ansi[4]=q(t.blue,oe[4]),s.ansi[5]=q(t.magenta,oe[5]),s.ansi[6]=q(t.cyan,oe[6]),s.ansi[7]=q(t.white,oe[7]),s.ansi[8]=q(t.brightBlack,oe[8]),s.ansi[9]=q(t.brightRed,oe[9]),s.ansi[10]=q(t.brightGreen,oe[10]),s.ansi[11]=q(t.brightYellow,oe[11]),s.ansi[12]=q(t.brightBlue,oe[12]),s.ansi[13]=q(t.brightMagenta,oe[13]),s.ansi[14]=q(t.brightCyan,oe[14]),s.ansi[15]=q(t.brightWhite,oe[15]),t.extendedAnsi){let a=Math.min(s.ansi.length-16,t.extendedAnsi.length);for(let l=0;l<a;l++)s.ansi[l+16]=q(t.extendedAnsi[l],oe[l+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(t){this._restoreColor(t),this._onChangeColors.fire(this.colors)}_restoreColor(t){if(t===void 0){for(let s=0;s<this._restoreColors.ansi.length;++s)this._colors.ansi[s]=this._restoreColors.ansi[s];return}switch(t){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[t]=this._restoreColors.ansi[t]}}modifyColors(t){t(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};rs=te([M(0,be)],rs);function q(t,s){if(t!==void 0)try{return Q.toColor(t)}catch{}return s}var nh=class{constructor(...t){this._entries=new Map;for(let[s,a]of t)this.set(s,a)}set(t,s){let a=this._entries.get(t);return this._entries.set(t,s),a}forEach(t){for(let[s,a]of this._entries.entries())t(s,a)}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}},oh=class{constructor(){this._services=new nh,this._services.set(us,this)}setService(t,s){this._services.set(t,s)}getService(t){return this._services.get(t)}createInstance(t,...s){let a=kn(t).sort((d,u)=>d.index-u.index),l=[];for(let d of a){let u=this._services.get(d.id);if(!u)throw Error(`[createInstance] ${t.name} depends on UNKNOWN service ${d.id._id}.`);l.push(u)}let c=a.length>0?a[0].index:s.length;if(s.length!==c)throw Error(`[createInstance] First service dependency of ${t.name} at position ${c+1} conflicts with ${s.length} static arguments`);return new t(...s,...l)}},ah={trace:0,debug:1,info:2,warn:3,error:4,off:5},hh="xterm.js: ",ns=class extends W{constructor(t){super();this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),lh=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ah[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let s=0;s<t.length;s++)typeof t[s]=="function"&&(t[s]=t[s]())}_log(t,s,a){this._evalLazyOptionalParams(a),t.call(console,(this._optionsService.options.logger?"":hh)+s,...a)}trace(t,...s){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,t,s)}debug(t,...s){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,t,s)}info(t,...s){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,t,s)}warn(t,...s){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,t,s)}error(t,...s){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,t,s)}};ns=te([M(0,be)],ns);var lh,nr=class extends W{constructor(t){super();this._maxLength=t,this.onDeleteEmitter=this._register(new D),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new D),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new D),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(t){if(this._maxLength===t)return;let s=Array(t);for(let a=0;a<Math.min(t,this.length);a++)s[a]=this._array[this._getCyclicIndex(a)];this._array=s,this._maxLength=t,this._startIndex=0}get length(){return this._length}set length(t){if(t>this._length)for(let s=this._length;s<t;s++)this._array[s]=void 0;this._length=t}get(t){return this._array[this._getCyclicIndex(t)]}set(t,s){this._array[this._getCyclicIndex(t)]=s}push(t){this._array[this._getCyclicIndex(this._length)]=t,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(t,s,...a){if(s){for(let l=t;l<this._length-s;l++)this._array[this._getCyclicIndex(l)]=this._array[this._getCyclicIndex(l+s)];this._length-=s,this.onDeleteEmitter.fire({index:t,amount:s})}for(let l=this._length-1;l>=t;l--)this._array[this._getCyclicIndex(l+a.length)]=this._array[this._getCyclicIndex(l)];for(let l=0;l<a.length;l++)this._array[this._getCyclicIndex(t+l)]=a[l];if(a.length&&this.onInsertEmitter.fire({index:t,amount:a.length}),this._length+a.length>this._maxLength){let l=this._length+a.length-this._maxLength;this._startIndex+=l,this._length=this._maxLength,this.onTrimEmitter.fire(l)}else this._length+=a.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,s,a){if(!(s<=0)){if(t<0||t>=this._length)throw Error("start argument out of range");if(t+a<0)throw Error("Cannot shift elements in list beyond index 0");if(a>0){for(let c=s-1;c>=0;c--)this.set(t+c+a,this.get(t+c));let l=t+s+a-this._length;if(l>0)for(this._length+=l;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let l=0;l<s;l++)this.set(t+l+a,this.get(t+l))}}_getCyclicIndex(t){return(this._startIndex+t)%this._maxLength}};var z=3,re=Object.freeze(new zt),Xt=0,Li=2,Mt=class t{constructor(s,a,l=!1){this.isWrapped=l,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(s*z);let c=a||Me.fromCharData([0,Rr,1,0]);for(let d=0;d<s;++d)this.setCell(d,c);this.length=s}get(s){let a=this._data[s*z+0],l=a&2097151;return[this._data[s*z+1],a&2097152?this._combined[s]:l?Ze(l):"",a>>22,a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):l]}set(s,a){this._data[s*z+1]=a[0],a[1].length>1?(this._combined[s]=a[1],this._data[s*z+0]=s|2097152|a[2]<<22):this._data[s*z+0]=a[1].charCodeAt(0)|a[2]<<22}getWidth(s){return this._data[s*z+0]>>22}hasWidth(s){return this._data[s*z+0]&12582912}getFg(s){return this._data[s*z+1]}getBg(s){return this._data[s*z+2]}hasContent(s){return this._data[s*z+0]&4194303}getCodePoint(s){let a=this._data[s*z+0];return a&2097152?this._combined[s].charCodeAt(this._combined[s].length-1):a&2097151}isCombined(s){return this._data[s*z+0]&2097152}getString(s){let a=this._data[s*z+0];return a&2097152?this._combined[s]:a&2097151?Ze(a&2097151):""}isProtected(s){return this._data[s*z+2]&536870912}loadCell(s,a){return Xt=s*z,a.content=this._data[Xt+0],a.fg=this._data[Xt+1],a.bg=this._data[Xt+2],a.content&2097152&&(a.combinedData=this._combined[s]),a.bg&268435456&&(a.extended=this._extendedAttrs[s]),a}setCell(s,a){a.content&2097152&&(this._combined[s]=a.combinedData),a.bg&268435456&&(this._extendedAttrs[s]=a.extended),this._data[s*z+0]=a.content,this._data[s*z+1]=a.fg,this._data[s*z+2]=a.bg}setCellFromCodepoint(s,a,l,c){c.bg&268435456&&(this._extendedAttrs[s]=c.extended),this._data[s*z+0]=a|l<<22,this._data[s*z+1]=c.fg,this._data[s*z+2]=c.bg}addCodepointToCell(s,a,l){let c=this._data[s*z+0];c&2097152?this._combined[s]+=Ze(a):c&2097151?(this._combined[s]=Ze(c&2097151)+Ze(a),c&=-2097152,c|=2097152):c=a|4194304,l&&(c&=-12582913,c|=l<<22),this._data[s*z+0]=c}insertCells(s,a,l){if(s%=this.length,s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length-s){let c=new Me;for(let d=this.length-s-a-1;d>=0;--d)this.setCell(s+a+d,this.loadCell(s+d,c));for(let d=0;d<a;++d)this.setCell(s+d,l)}else for(let c=s;c<this.length;++c)this.setCell(c,l);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,l)}deleteCells(s,a,l){if(s%=this.length,a<this.length-s){let c=new Me;for(let d=0;d<this.length-s-a;++d)this.setCell(s+d,this.loadCell(s+a+d,c));for(let d=this.length-a;d<this.length;++d)this.setCell(d,l)}else for(let c=s;c<this.length;++c)this.setCell(c,l);s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),this.getWidth(s)===0&&!this.hasContent(s)&&this.setCellFromCodepoint(s,0,1,l)}replaceCells(s,a,l,c=!1){if(c){for(s&&this.getWidth(s-1)===2&&!this.isProtected(s-1)&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length&&this.getWidth(a-1)===2&&!this.isProtected(a)&&this.setCellFromCodepoint(a,0,1,l);s<a&&s<this.length;)this.isProtected(s)||this.setCell(s,l),s++;return}for(s&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s-1,0,1,l),a<this.length&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a,0,1,l);s<a&&s<this.length;)this.setCell(s++,l)}resize(s,a){if(s===this.length)return this._data.length*4*Li<this._data.buffer.byteLength;let l=s*z;if(s>this.length){if(this._data.buffer.byteLength>=l*4)this._data=new Uint32Array(this._data.buffer,0,l);else{let c=new Uint32Array(l);c.set(this._data),this._data=c}for(let c=this.length;c<s;++c)this.setCell(c,a)}else{this._data=this._data.subarray(0,l);let c=Object.keys(this._combined);for(let u=0;u<c.length;u++){let f=parseInt(c[u],10);f>=s&&delete this._combined[f]}let d=Object.keys(this._extendedAttrs);for(let u=0;u<d.length;u++){let f=parseInt(d[u],10);f>=s&&delete this._extendedAttrs[f]}}return this.length=s,l*4*Li<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Li<this._data.buffer.byteLength){let s=new Uint32Array(this._data.length);return s.set(this._data),this._data=s,1}return 0}fill(s,a=!1){if(a){for(let l=0;l<this.length;++l)this.isProtected(l)||this.setCell(l,s);return}this._combined={},this._extendedAttrs={};for(let l=0;l<this.length;++l)this.setCell(l,s)}copyFrom(s){this.length!==s.length?this._data=new Uint32Array(s._data):this._data.set(s._data),this.length=s.length,this._combined={};for(let a in s._combined)this._combined[a]=s._combined[a];this._extendedAttrs={};for(let a in s._extendedAttrs)this._extendedAttrs[a]=s._extendedAttrs[a];this.isWrapped=s.isWrapped}clone(){let s=new t(0);s._data=new Uint32Array(this._data),s.length=this.length;for(let a in this._combined)s._combined[a]=this._combined[a];for(let a in this._extendedAttrs)s._extendedAttrs[a]=this._extendedAttrs[a];return s.isWrapped=this.isWrapped,s}getTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303)return s+(this._data[s*z+0]>>22);return 0}getNoBgTrimmedLength(){for(let s=this.length-1;s>=0;--s)if(this._data[s*z+0]&4194303||this._data[s*z+2]&50331648)return s+(this._data[s*z+0]>>22);return 0}copyCellsFrom(s,a,l,c,d){let u=s._data;if(d)for(let p=c-1;p>=0;p--){for(let _=0;_<z;_++)this._data[(l+p)*z+_]=u[(a+p)*z+_];u[(a+p)*z+2]&268435456&&(this._extendedAttrs[l+p]=s._extendedAttrs[a+p])}else for(let p=0;p<c;p++){for(let _=0;_<z;_++)this._data[(l+p)*z+_]=u[(a+p)*z+_];u[(a+p)*z+2]&268435456&&(this._extendedAttrs[l+p]=s._extendedAttrs[a+p])}let f=Object.keys(s._combined);for(let p=0;p<f.length;p++){let _=parseInt(f[p],10);_>=a&&(this._combined[_-a+l]=s._combined[_])}}translateToString(s,a,l,c){a=a??0,l=l??this.length,s&&(l=Math.min(l,this.getTrimmedLength())),c&&(c.length=0);let d="";for(;a<l;){let u=this._data[a*z+0],f=u&2097151,p=u&2097152?this._combined[a]:f?Ze(f):Qe;if(d+=p,c)for(let _=0;_<p.length;++_)c.push(a);a+=u>>22||1}return c&&c.push(a),d}};function ch(t,s,a,l,c,d){let u=[];for(let f=0;f<t.length-1;f++){let p=f,_=t.get(++p);if(!_.isWrapped)continue;let m=[t.get(f)];for(;p<t.length&&_.isWrapped;)m.push(_),_=t.get(++p);if(!d&&l>=f&&l<p){f+=m.length-1;continue}let g=0,S=Wt(m,g,s),w=1,v=0;for(;w<m.length;){let R=Wt(m,w,s),P=R-v,U=a-S,I=Math.min(P,U);m[g].copyCellsFrom(m[w],v,S,I,!1),S+=I,S===a&&(g++,S=0),v+=I,v===R&&(w++,v=0),S===0&&g!==0&&m[g-1].getWidth(a-1)===2&&(m[g].copyCellsFrom(m[g-1],a-1,S++,1,!1),m[g-1].setCell(a-1,c))}m[g].replaceCells(S,a,c);let y=0;for(let R=m.length-1;R>0&&(R>g||m[R].getTrimmedLength()===0);R--)y++;y>0&&(u.push(f+m.length-y),u.push(y)),f+=m.length-1}return u}function dh(t,s){let a=[],l=0,c=s[l],d=0;for(let u=0;u<t.length;u++)if(c===u){let f=s[++l];t.onDeleteEmitter.fire({index:u-d,amount:f}),u+=f-1,d+=f,c=s[++l]}else a.push(u);return{layout:a,countRemoved:d}}function uh(t,s){let a=[];for(let l=0;l<s.length;l++)a.push(t.get(s[l]));for(let l=0;l<a.length;l++)t.set(l,a[l]);t.length=s.length}function _h(t,s,a){let l=[],c=t.map((p,_)=>Wt(t,_,s)).reduce((p,_)=>p+_),d=0,u=0,f=0;for(;f<c;){if(c-f<a){l.push(c-f);break}d+=a;let p=Wt(t,u,s);d>p&&(d-=p,u++);let _=t[u].getWidth(d-1)===2;_&&d--;let m=_?a-1:a;l.push(m),f+=m}return l}function Wt(t,s,a){if(s===t.length-1)return t[s].getTrimmedLength();let l=!t[s].hasContent(a-1)&&t[s].getWidth(a-1)===1,c=t[s+1].getWidth(0)===2;return l&&c?a-1:a}var hn=class t{constructor(s){this.line=s,this.isDisposed=!1,this._disposables=[],this._id=t._nextId++,this._onDispose=this.register(new D),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ct(this._disposables),this._disposables.length=0)}register(s){return this._disposables.push(s),s}};hn._nextId=1;var fh=hn,he={},at=he.B;he[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};he.A={"#":"£"};he.B=void 0;he[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};he.C=he[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};he.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};he.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};he.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};he.E=he[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};he.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};he.H=he[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};he["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var or=4294967295,ar=class{constructor(t,s,a){this._hasScrollback=t,this._optionsService=s,this._bufferService=a,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=re.clone(),this.savedCharset=at,this.markers=[],this._nullCell=Me.fromCharData([0,Rr,1,0]),this._whitespaceCell=Me.fromCharData([0,Qe,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new di,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new ri),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new ri),this._whitespaceCell}getBlankLine(t,s){return new Mt(this._bufferService.cols,this.getNullCell(t),s)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&t<this._rows}_getCorrectBufferLength(t){if(!this._hasScrollback)return t;let s=t+this._optionsService.rawOptions.scrollback;return s>or?or:s}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=re);let s=this._rows;for(;s--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new nr(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,s){let a=this.getNullCell(re),l=0,c=this._getCorrectBufferLength(s);if(c>this.lines.maxLength&&(this.lines.maxLength=c),this.lines.length>0){if(this._cols<t)for(let u=0;u<this.lines.length;u++)l+=+this.lines.get(u).resize(t,a);let d=0;if(this._rows<s)for(let u=this._rows;u<s;u++)this.lines.length<s+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new Mt(t,a)):this.ybase>0&&this.lines.length<=this.ybase+this.y+d+1?(this.ybase--,d++,this.ydisp>0&&this.ydisp--):this.lines.push(new Mt(t,a)));else for(let u=this._rows;u>s;u--)this.lines.length>s+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(c<this.lines.maxLength){let u=this.lines.length-c;u>0&&(this.lines.trimStart(u),this.ybase=Math.max(this.ybase-u,0),this.ydisp=Math.max(this.ydisp-u,0),this.savedY=Math.max(this.savedY-u,0)),this.lines.maxLength=c}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,s-1),d&&(this.y+=d),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=s-1,this._isReflowEnabled&&(this._reflow(t,s),this._cols>t))for(let d=0;d<this.lines.length;d++)l+=+this.lines.get(d).resize(t,a);this._cols=t,this._rows=s,this._memoryCleanupQueue.clear(),l>0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let s=0;for(;this._memoryCleanupPosition<this.lines.length;)if(s+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),s>100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,s){this._cols!==t&&(t>this._cols?this._reflowLarger(t,s):this._reflowSmaller(t,s))}_reflowLarger(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,l=ch(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(re),a);if(l.length>0){let c=dh(this.lines,l);uh(this.lines,c.layout),this._reflowLargerAdjustViewport(t,s,c.countRemoved)}}_reflowLargerAdjustViewport(t,s,a){let l=this.getNullCell(re),c=a;for(;c-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<s&&this.lines.push(new Mt(t,l))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-a,0)}_reflowSmaller(t,s){let a=this._optionsService.rawOptions.reflowCursorLine,l=this.getNullCell(re),c=[],d=0;for(let u=this.lines.length-1;u>=0;u--){let f=this.lines.get(u);if(!f||!f.isWrapped&&f.getTrimmedLength()<=t)continue;let p=[f];for(;f.isWrapped&&u>0;)f=this.lines.get(--u),p.unshift(f);if(!a){let I=this.ybase+this.y;if(I>=u&&I<u+p.length)continue}let _=p[p.length-1].getTrimmedLength(),m=_h(p,this._cols,t),g=m.length-p.length,S;this.ybase===0&&this.y!==this.lines.length-1?S=Math.max(0,this.y-this.lines.maxLength+g):S=Math.max(0,this.lines.length-this.lines.maxLength+g);let w=[];for(let I=0;I<g;I++){let E=this.getBlankLine(re,!0);w.push(E)}w.length>0&&(c.push({start:u+p.length+d,newLines:w}),d+=w.length),p.push(...w);let v=m.length-1,y=m[v];y===0&&(v--,y=m[v]);let R=p.length-g-1,P=_;for(;R>=0;){let I=Math.min(P,y);if(p[v]===void 0)break;if(p[v].copyCellsFrom(p[R],P-I,y-I,I,!0),y-=I,y===0&&(v--,y=m[v]),P-=I,P===0){R--;let E=Math.max(R,0);P=Wt(p,E,this._cols)}}for(let I=0;I<p.length;I++)m[I]<t&&p[I].setCell(m[I],l);let U=g-S;for(;U-- >0;)this.ybase===0?this.y<s-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+d)-s&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+g,this.ybase+s-1)}if(c.length>0){let u=[],f=[];for(let y=0;y<this.lines.length;y++)f.push(this.lines.get(y));let p=this.lines.length,_=p-1,m=0,g=c[m];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+d);let S=0;for(let y=Math.min(this.lines.maxLength-1,p+d-1);y>=0;y--)if(g&&g.start>_+S){for(let R=g.newLines.length-1;R>=0;R--)this.lines.set(y--,g.newLines[R]);y++,u.push({index:_+1,amount:g.newLines.length}),S+=g.newLines.length,g=c[++m]}else this.lines.set(y,f[_--]);let w=0;for(let y=u.length-1;y>=0;y--)u[y].index+=w,this.lines.onInsertEmitter.fire(u[y]),w+=u[y].amount;let v=Math.max(0,p+d-this.lines.maxLength);v>0&&this.lines.onTrimEmitter.fire(v)}}translateBufferLineToString(t,s,a=0,l){let c=this.lines.get(t);return c?c.translateToString(s,a,l):""}getWrappedRangeForLine(t){let s=t,a=t;for(;s>0&&this.lines.get(s).isWrapped;)s--;for(;a+1<this.lines.length&&this.lines.get(a+1).isWrapped;)a++;return{first:s,last:a}}setupTabStops(t){for(t!=null?this.tabs[t]||(t=this.prevStop(t)):(this.tabs={},t=0);t<this._cols;t+=this._optionsService.rawOptions.tabStopWidth)this.tabs[t]=!0}prevStop(t){for(t==null&&(t=this.x);!this.tabs[--t]&&t>0;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t<this._cols;);return t>=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let s=0;s<this.markers.length;s++)this.markers[s].line===t&&(this.markers[s].dispose(),this.markers.splice(s--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].dispose();this.markers.length=0,this._isClearing=!1}addMarker(t){let s=new fh(t);return this.markers.push(s),s.register(this.lines.onTrim((a)=>{s.line-=a,s.line<0&&s.dispose()})),s.register(this.lines.onInsert((a)=>{s.line>=a.index&&(s.line+=a.amount)})),s.register(this.lines.onDelete((a)=>{s.line>=a.index&&s.line<a.index+a.amount&&s.dispose(),s.line>a.index&&(s.line-=a.amount)})),s.register(s.onDispose(()=>this._removeMarker(s))),s}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},ph=class extends W{constructor(t,s){super();this._optionsService=t,this._bufferService=s,this._onBufferActivate=this._register(new D),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new ar(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new ar(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,s){this._normal.resize(t,s),this._alt.resize(t,s),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},ln=2,cn=1,os=class extends W{constructor(t){super();this.isUserScrolling=!1,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,ln),this.rows=Math.max(t.rawOptions.rows||0,cn),this.buffers=this._register(new ph(t,this)),this._register(this.buffers.onBufferActivate((s)=>{this._onScroll.fire(s.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,s){let a=this.cols!==t,l=this.rows!==s;this.cols=t,this.rows=s,this.buffers.resize(t,s),this._onResize.fire({cols:t,rows:s,colsChanged:a,rowsChanged:l})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,s=!1){let a=this.buffer,l;l=this._cachedBlankLine,(!l||l.length!==this.cols||l.getFg(0)!==t.fg||l.getBg(0)!==t.bg)&&(l=a.getBlankLine(t,s),this._cachedBlankLine=l),l.isWrapped=s;let c=a.ybase+a.scrollTop,d=a.ybase+a.scrollBottom;if(a.scrollTop===0){let u=a.lines.isFull;d===a.lines.length-1?u?a.lines.recycle().copyFrom(l):a.lines.push(l.clone()):a.lines.splice(d+1,0,l.clone()),u?this.isUserScrolling&&(a.ydisp=Math.max(a.ydisp-1,0)):(a.ybase++,this.isUserScrolling||a.ydisp++)}else{let u=d-c+1;a.lines.shiftElements(c+1,u-1,-1),a.lines.set(d,l.clone())}this.isUserScrolling||(a.ydisp=a.ybase),this._onScroll.fire(a.ydisp)}scrollLines(t,s){let a=this.buffer;if(t<0){if(a.ydisp===0)return;this.isUserScrolling=!0}else t+a.ydisp>=a.ybase&&(this.isUserScrolling=!1);let l=a.ydisp;a.ydisp=Math.max(Math.min(a.ydisp+t,a.ybase),0),l!==a.ydisp&&(s||this._onScroll.fire(a.ydisp))}};os=te([M(0,be)],os);var _t={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:ci,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},gh=["normal","bold","100","200","300","400","500","600","700","800","900"],mh=class extends W{constructor(t){super();this._onOptionChange=this._register(new D),this.onOptionChange=this._onOptionChange.event;let s={..._t};for(let a in t)if(a in s)try{let l=t[a];s[a]=this._sanitizeAndValidateOption(a,l)}catch(l){console.error(l)}this.rawOptions=s,this.options={...s},this._setupOptions(),this._register(X(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,s){return this.onOptionChange((a)=>{a===t&&s(this.rawOptions[t])})}onMultipleOptionChange(t,s){return this.onOptionChange((a)=>{t.indexOf(a)!==-1&&s()})}_setupOptions(){let t=(a)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);return this.rawOptions[a]},s=(a,l)=>{if(!(a in _t))throw Error(`No option with key "${a}"`);l=this._sanitizeAndValidateOption(a,l),this.rawOptions[a]!==l&&(this.rawOptions[a]=l,this._onOptionChange.fire(a))};for(let a in this.rawOptions){let l={get:t.bind(this,a),set:s.bind(this,a)};Object.defineProperty(this.options,a,l)}}_sanitizeAndValidateOption(t,s){switch(t){case"cursorStyle":if(s||(s=_t[t]),!vh(s))throw Error(`"${s}" is not a valid value for ${t}`);break;case"wordSeparator":s||(s=_t[t]);break;case"fontWeight":case"fontWeightBold":if(typeof s=="number"&&1<=s&&s<=1000)break;s=gh.includes(s)?s:_t[t];break;case"cursorWidth":s=Math.floor(s);case"lineHeight":case"tabStopWidth":if(s<1)throw Error(`${t} cannot be less than 1, value: ${s}`);break;case"minimumContrastRatio":s=Math.max(1,Math.min(21,Math.round(s*10)/10));break;case"scrollback":if(s=Math.min(s,4294967295),s<0)throw Error(`${t} cannot be less than 0, value: ${s}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(s<=0)throw Error(`${t} cannot be less than or equal to 0, value: ${s}`);break;case"rows":case"cols":if(!s&&s!==0)throw Error(`${t} must be numeric, value: ${s}`);break;case"windowsPty":s=s??{};break}return s}};function vh(t){return t==="block"||t==="underline"||t==="bar"}function Tt(t,s=5){if(typeof t!="object")return t;let a=Array.isArray(t)?[]:{};for(let l in t)a[l]=s<=1?t[l]:t[l]&&Tt(t[l],s-1);return a}var hr=Object.freeze({insertMode:!1}),lr=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),as=class extends W{constructor(t,s,a){super();this._bufferService=t,this._logService=s,this._optionsService=a,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new D),this.onData=this._onData.event,this._onUserInput=this._register(new D),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new D),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}reset(){this.modes=Tt(hr),this.decPrivateModes=Tt(lr)}triggerDataEvent(t,s=!1){if(this._optionsService.rawOptions.disableStdin)return;let a=this._bufferService.buffer;s&&this._optionsService.rawOptions.scrollOnUserInput&&a.ybase!==a.ydisp&&this._onRequestScrollToBottom.fire(),s&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map((l)=>l.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map((s)=>s.charCodeAt(0))),this._onBinary.fire(t))}};as=te([M(0,Se),M(1,Mr),M(2,be)],as);var cr={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(t)=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:(t)=>t.action!==32},DRAG:{events:23,restrict:(t)=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:(t)=>!0}};function Mi(t,s){let a=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(a|=64,a|=t.action):(a|=t.button&3,t.button&4&&(a|=64),t.button&8&&(a|=128),t.action===32?a|=32:t.action===0&&!s&&(a|=3)),a}var Ti=String.fromCharCode,dr={DEFAULT:(t)=>{let s=[Mi(t,!1)+32,t.col+32,t.row+32];return s[0]>255||s[1]>255||s[2]>255?"":`\x1B[M${Ti(s[0])}${Ti(s[1])}${Ti(s[2])}`},SGR:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.col};${t.row}${s}`},SGR_PIXELS:(t)=>{let s=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${Mi(t,!0)};${t.x};${t.y}${s}`}},hs=class extends W{constructor(t,s,a){super();this._bufferService=t,this._coreService=s,this._optionsService=a,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new D),this.onProtocolChange=this._onProtocolChange.event;for(let l of Object.keys(cr))this.addProtocol(l,cr[l]);for(let l of Object.keys(dr))this.addEncoding(l,dr[l]);this.reset()}addProtocol(t,s){this._protocols[t]=s}addEncoding(t,s){this._encodings[t]=s}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,s,a){if(t.deltaY===0||t.shiftKey||s===void 0||a===void 0)return 0;let l=s/a,c=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(c/=l+0,Math.abs(t.deltaY)<50&&(c*=0.3),this._wheelPartialScroll+=c,c=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(c*=this._bufferService.rows),c}_applyScrollModifier(t,s){return s.altKey||s.ctrlKey||s.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let s=this._encodings[this._activeEncoding](t);return s&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(s):this._coreService.triggerDataEvent(s,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,s,a){if(a){if(t.x!==s.x||t.y!==s.y)return!1}else if(t.col!==s.col||t.row!==s.row)return!1;return!(t.button!==s.button||t.action!==s.action||t.ctrl!==s.ctrl||t.alt!==s.alt||t.shift!==s.shift)}};hs=te([M(0,Se),M(1,ut),M(2,be)],hs);var Pi=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Sh=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ae;function bh(t,s){let a=0,l=s.length-1,c;if(t<s[0][0]||t>s[l][1])return!1;for(;l>=a;)if(c=a+l>>1,t>s[c][1])a=c+1;else if(t<s[c][0])l=c-1;else return!0;return!1}var wh=class{constructor(){if(this.version="6",!ae){ae=new Uint8Array(65536),ae.fill(1),ae[0]=0,ae.fill(0,1,32),ae.fill(0,127,160),ae.fill(2,4352,4448),ae[9001]=2,ae[9002]=2,ae.fill(2,11904,42192),ae[12351]=1,ae.fill(2,44032,55204),ae.fill(2,63744,64256),ae.fill(2,65040,65050),ae.fill(2,65072,65136),ae.fill(2,65280,65377),ae.fill(2,65504,65511);for(let t=0;t<Pi.length;++t)ae.fill(0,Pi[t][0],Pi[t][1]+1)}}wcwidth(t){return t<32?0:t<127?1:t<65536?ae[t]:bh(t,Sh)?0:t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,s){let a=this.wcwidth(t),l=a===0&&s!==0;if(l){let c=ht.extractWidth(s);c===0?l=!1:c>a&&(a=c)}return ht.createPropertyValue(0,a,l)}},ht=class t{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new D,this.onChange=this._onChange.event;let s=new wh;this.register(s),this._active=s.version,this._activeProvider=s}static extractShouldJoin(s){return(s&1)!==0}static extractWidth(s){return s>>1&3}static extractCharKind(s){return s>>3}static createPropertyValue(s,a,l=!1){return(s&16777215)<<3|(a&3)<<1|(l?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(s){if(!this._providers[s])throw Error(`unknown Unicode version "${s}"`);this._active=s,this._activeProvider=this._providers[s],this._onChange.fire(s)}register(s){this._providers[s.version]=s}wcwidth(s){return this._activeProvider.wcwidth(s)}getStringCellWidth(s){let a=0,l=0,c=s.length;for(let d=0;d<c;++d){let u=s.charCodeAt(d);if(55296<=u&&u<=56319){if(++d>=c)return a+this.wcwidth(u);let _=s.charCodeAt(d);56320<=_&&_<=57343?u=(u-55296)*1024+_-56320+65536:a+=this.wcwidth(_)}let f=this.charProperties(u,l),p=t.extractWidth(f);t.extractShouldJoin(f)&&(p-=t.extractWidth(l)),a+=p,l=f}return a}charProperties(s,a){return this._activeProvider.charProperties(s,a)}},yh=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,s){this._charsets[t]=s,this.glevel===t&&(this.charset=s)}};function ur(t){let s=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1)?.get(t.cols-1),a=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);a&&s&&(a.isWrapped=s[3]!==0&&s[3]!==32)}var kt=2147483647,Ch=256,dn=class t{constructor(s=32,a=32){if(this.maxLength=s,this.maxSubParamsLength=a,a>Ch)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(s),this.length=0,this._subParams=new Int32Array(a),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(s),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(s){let a=new t;if(!s.length)return a;for(let l=Array.isArray(s[0])?1:0;l<s.length;++l){let c=s[l];if(Array.isArray(c))for(let d=0;d<c.length;++d)a.addSubParam(c[d]);else a.addParam(c)}return a}clone(){let s=new t(this.maxLength,this.maxSubParamsLength);return s.params.set(this.params),s.length=this.length,s._subParams.set(this._subParams),s._subParamsLength=this._subParamsLength,s._subParamsIdx.set(this._subParamsIdx),s._rejectDigits=this._rejectDigits,s._rejectSubDigits=this._rejectSubDigits,s._digitIsSub=this._digitIsSub,s}toArray(){let s=[];for(let a=0;a<this.length;++a){s.push(this.params[a]);let l=this._subParamsIdx[a]>>8,c=this._subParamsIdx[a]&255;c-l>0&&s.push(Array.prototype.slice.call(this._subParams,l,c))}return s}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(s){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=s>kt?kt:s}addSubParam(s){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(s<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=s>kt?kt:s,this._subParamsIdx[this.length-1]++}}hasSubParams(s){return(this._subParamsIdx[s]&255)-(this._subParamsIdx[s]>>8)>0}getSubParams(s){let a=this._subParamsIdx[s]>>8,l=this._subParamsIdx[s]&255;return l-a>0?this._subParams.subarray(a,l):null}getSubParamsAll(){let s={};for(let a=0;a<this.length;++a){let l=this._subParamsIdx[a]>>8,c=this._subParamsIdx[a]&255;c-l>0&&(s[a]=this._subParams.slice(l,c))}return s}addDigit(s){let a;if(this._rejectDigits||!(a=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let l=this._digitIsSub?this._subParams:this.params,c=l[a-1];l[a-1]=~c?Math.min(c*10+s,kt):s}},Et=[],xh=class{constructor(){this._state=0,this._active=Et,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let l=a.indexOf(s);l!==-1&&a.splice(l,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Et}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=Et,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Et,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,s,a){if(!this._active.length)this._handlerFb(this._id,"PUT",_i(t,s,a));else for(let l=this._active.length-1;l>=0;l--)this._active[l].put(t,s,a)}start(){this.reset(),this._state=1}put(t,s,a){if(this._state!==3){if(this._state===1)for(;s<a;){let l=t[s++];if(l===59){this._state=2,this._start();break}if(l<48||57<l){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+l-48}this._state===2&&a-s>0&&this._put(t,s,a)}}end(t,s=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let a=!1,l=this._active.length-1,c=!1;if(this._stack.paused&&(l=this._stack.loopPosition-1,a=s,c=this._stack.fallThrough,this._stack.paused=!1),!c&&a===!1){for(;l>=0&&(a=this._active[l].end(t),a!==!0);l--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!1,a;l--}for(;l>=0;l--)if(a=this._active[l].end(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!0,a}this._active=Et,this._id=-1,this._state=0}}},Ee=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data),s instanceof Promise))return s.then((a)=>(this._data="",this._hitLimit=!1,a));return this._data="",this._hitLimit=!1,s}},Dt=[],kh=class{constructor(){this._handlers=Object.create(null),this._active=Dt,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Dt}registerHandler(t,s){this._handlers[t]===void 0&&(this._handlers[t]=[]);let a=this._handlers[t];return a.push(s),{dispose:()=>{let l=a.indexOf(s);l!==-1&&a.splice(l,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=Dt,this._ident=0}hook(t,s){if(this.reset(),this._ident=t,this._active=this._handlers[t]||Dt,!this._active.length)this._handlerFb(this._ident,"HOOK",s);else for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(s)}put(t,s,a){if(!this._active.length)this._handlerFb(this._ident,"PUT",_i(t,s,a));else for(let l=this._active.length-1;l>=0;l--)this._active[l].put(t,s,a)}unhook(t,s=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let a=!1,l=this._active.length-1,c=!1;if(this._stack.paused&&(l=this._stack.loopPosition-1,a=s,c=this._stack.fallThrough,this._stack.paused=!1),!c&&a===!1){for(;l>=0&&(a=this._active[l].unhook(t),a!==!0);l--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!1,a;l--}for(;l>=0;l--)if(a=this._active[l].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=l,this._stack.fallThrough=!0,a}this._active=Dt,this._ident=0}},Pt=new dn;Pt.addParam(0);var _r=class{constructor(t){this._handler=t,this._data="",this._params=Pt,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Pt,this._data="",this._hitLimit=!1}put(t,s,a){this._hitLimit||(this._data+=_i(t,s,a),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let s=!1;if(this._hitLimit)s=!1;else if(t&&(s=this._handler(this._data,this._params),s instanceof Promise))return s.then((a)=>(this._params=Pt,this._data="",this._hitLimit=!1,a));return this._params=Pt,this._data="",this._hitLimit=!1,s}},Eh=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,s){this.table.fill(t<<4|s)}add(t,s,a,l){this.table[s<<8|t]=a<<4|l}addMany(t,s,a,l){for(let c=0;c<t.length;c++)this.table[s<<8|t[c]]=a<<4|l}},Le=160,Dh=function(){let t=new Eh(4095),s=Array.apply(null,Array(256)).map((f,p)=>p),a=(f,p)=>s.slice(f,p),l=a(32,127),c=a(0,24);c.push(25),c.push.apply(c,a(28,32));let d=a(0,14),u;t.setDefault(1,0),t.addMany(l,0,2,0);for(u in d)t.addMany([24,26,153,154],u,3,0),t.addMany(a(128,144),u,3,0),t.addMany(a(144,152),u,3,0),t.add(156,u,0,0),t.add(27,u,11,1),t.add(157,u,4,8),t.addMany([152,158,159],u,0,7),t.add(155,u,11,3),t.add(144,u,11,9);return t.addMany(c,0,3,0),t.addMany(c,1,3,1),t.add(127,1,0,1),t.addMany(c,8,0,8),t.addMany(c,3,3,3),t.add(127,3,0,3),t.addMany(c,4,3,4),t.add(127,4,0,4),t.addMany(c,6,3,6),t.addMany(c,5,3,5),t.add(127,5,0,5),t.addMany(c,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(l,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(a(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(l,7,0,7),t.addMany(c,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(a(64,127),3,7,0),t.addMany(a(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(a(48,60),4,8,4),t.addMany(a(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(a(32,64),6,0,6),t.add(127,6,0,6),t.addMany(a(64,127),6,0,0),t.addMany(a(32,48),3,9,5),t.addMany(a(32,48),5,9,5),t.addMany(a(48,64),5,0,6),t.addMany(a(64,127),5,7,0),t.addMany(a(32,48),4,9,5),t.addMany(a(32,48),1,9,2),t.addMany(a(32,48),2,9,2),t.addMany(a(48,127),2,10,0),t.addMany(a(48,80),1,10,0),t.addMany(a(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(a(96,127),1,10,0),t.add(80,1,11,9),t.addMany(c,9,0,9),t.add(127,9,0,9),t.addMany(a(28,32),9,0,9),t.addMany(a(32,48),9,9,12),t.addMany(a(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(c,11,0,11),t.addMany(a(32,128),11,0,11),t.addMany(a(28,32),11,0,11),t.addMany(c,10,0,10),t.add(127,10,0,10),t.addMany(a(28,32),10,0,10),t.addMany(a(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(a(32,48),10,9,12),t.addMany(c,12,0,12),t.add(127,12,0,12),t.addMany(a(28,32),12,0,12),t.addMany(a(32,48),12,9,12),t.addMany(a(48,64),12,0,11),t.addMany(a(64,127),12,12,13),t.addMany(a(64,127),10,12,13),t.addMany(a(64,127),9,12,13),t.addMany(c,13,13,13),t.addMany(l,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(Le,0,2,0),t.add(Le,8,5,8),t.add(Le,6,0,6),t.add(Le,11,0,11),t.add(Le,13,13,13),t}(),Bh=class extends W{constructor(t=Dh){super();this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new dn,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(s,a,l)=>{},this._executeHandlerFb=(s)=>{},this._csiHandlerFb=(s,a)=>{},this._escHandlerFb=(s)=>{},this._errorHandlerFb=(s)=>s,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(X(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new xh),this._dcsParser=this._register(new kh),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,s=[64,126]){let a=0;if(t.prefix){if(t.prefix.length>1)throw Error("only one byte as prefix supported");if(a=t.prefix.charCodeAt(0),a&&60>a||a>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let c=0;c<t.intermediates.length;++c){let d=t.intermediates.charCodeAt(c);if(32>d||d>47)throw Error("intermediate must be in range 0x20 .. 0x2f");a<<=8,a|=d}}if(t.final.length!==1)throw Error("final must be a single byte");let l=t.final.charCodeAt(0);if(s[0]>l||l>s[1])throw Error(`final must be in range ${s[0]} .. ${s[1]}`);return a<<=8,a|=l,a}identToString(t){let s=[];for(;t;)s.push(String.fromCharCode(t&255)),t>>=8;return s.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,s){let a=this._identifier(t,[48,126]);this._escHandlers[a]===void 0&&(this._escHandlers[a]=[]);let l=this._escHandlers[a];return l.push(s),{dispose:()=>{let c=l.indexOf(s);c!==-1&&l.splice(c,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,s){this._executeHandlers[t.charCodeAt(0)]=s}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,s){let a=this._identifier(t);this._csiHandlers[a]===void 0&&(this._csiHandlers[a]=[]);let l=this._csiHandlers[a];return l.push(s),{dispose:()=>{let c=l.indexOf(s);c!==-1&&l.splice(c,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,s){return this._dcsParser.registerHandler(this._identifier(t),s)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,s){return this._oscParser.registerHandler(t,s)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,s,a,l,c){this._parseStack.state=t,this._parseStack.handlers=s,this._parseStack.handlerPos=a,this._parseStack.transition=l,this._parseStack.chunkPos=c}parse(t,s,a){let l=0,c=0,d=0,u;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,d=this._parseStack.chunkPos+1;else{if(a===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let f=this._parseStack.handlers,p=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(a===!1&&p>-1){for(;p>=0&&(u=f[p](this._params),u!==!0);p--)if(u instanceof Promise)return this._parseStack.handlerPos=p,u}this._parseStack.handlers=[];break;case 4:if(a===!1&&p>-1){for(;p>=0&&(u=f[p](),u!==!0);p--)if(u instanceof Promise)return this._parseStack.handlerPos=p,u}this._parseStack.handlers=[];break;case 6:if(l=t[this._parseStack.chunkPos],u=this._dcsParser.unhook(l!==24&&l!==26,a),u)return u;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(l=t[this._parseStack.chunkPos],u=this._oscParser.end(l!==24&&l!==26,a),u)return u;l===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,d=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let f=d;f<s;++f){switch(l=t[f],c=this._transitions.table[this.currentState<<8|(l<160?l:Le)],c>>4){case 2:for(let S=f+1;;++S){if(S>=s||(l=t[S])<32||l>126&&l<Le){this._printHandler(t,f,S),f=S-1;break}if(++S>=s||(l=t[S])<32||l>126&&l<Le){this._printHandler(t,f,S),f=S-1;break}if(++S>=s||(l=t[S])<32||l>126&&l<Le){this._printHandler(t,f,S),f=S-1;break}if(++S>=s||(l=t[S])<32||l>126&&l<Le){this._printHandler(t,f,S),f=S-1;break}}break;case 3:this._executeHandlers[l]?this._executeHandlers[l]():this._executeHandlerFb(l),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:f,code:l,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let p=this._csiHandlers[this._collect<<8|l],_=p?p.length-1:-1;for(;_>=0&&(u=p[_](this._params),u!==!0);_--)if(u instanceof Promise)return this._preserveStack(3,p,_,c,f),u;_<0&&this._csiHandlerFb(this._collect<<8|l,this._params),this.precedingJoinState=0;break;case 8:do switch(l){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(l-48)}while(++f<s&&(l=t[f])>47&&l<60);f--;break;case 9:this._collect<<=8,this._collect|=l;break;case 10:let m=this._escHandlers[this._collect<<8|l],g=m?m.length-1:-1;for(;g>=0&&(u=m[g](),u!==!0);g--)if(u instanceof Promise)return this._preserveStack(4,m,g,c,f),u;g<0&&this._escHandlerFb(this._collect<<8|l),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|l,this._params);break;case 13:for(let S=f+1;;++S)if(S>=s||(l=t[S])===24||l===26||l===27||l>127&&l<Le){this._dcsParser.put(t,f,S),f=S-1;break}break;case 14:if(u=this._dcsParser.unhook(l!==24&&l!==26),u)return this._preserveStack(6,[],0,c,f),u;l===27&&(c|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let S=f+1;;S++)if(S>=s||(l=t[S])<32||l>127&&l<Le){this._oscParser.put(t,f,S),f=S-1;break}break;case 6:if(u=this._oscParser.end(l!==24&&l!==26),u)return this._preserveStack(5,[],0,c,f),u;l===27&&(c|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=c&15}}},Rh=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,Lh=/^[\da-f]+$/;function fr(t){if(!t)return;let s=t.toLowerCase();if(s.indexOf("rgb:")===0){s=s.slice(4);let a=Rh.exec(s);if(a){let l=a[1]?15:a[4]?255:a[7]?4095:65535;return[Math.round(parseInt(a[1]||a[4]||a[7]||a[10],16)/l*255),Math.round(parseInt(a[2]||a[5]||a[8]||a[11],16)/l*255),Math.round(parseInt(a[3]||a[6]||a[9]||a[12],16)/l*255)]}}else if(s.indexOf("#")===0&&(s=s.slice(1),Lh.exec(s)&&[3,6,9,12].includes(s.length))){let a=s.length/3,l=[0,0,0];for(let c=0;c<3;++c){let d=parseInt(s.slice(a*c,a*c+a),16);l[c]=a===1?d<<4:a===2?d:a===3?d>>4:d>>8}return l}}function Ai(t,s){let a=t.toString(16),l=a.length<2?"0"+a:a;switch(s){case 4:return a[0];case 8:return l;case 12:return(l+l).slice(0,3);default:return l+l}}function Mh(t,s=16){let[a,l,c]=t;return`rgb:${Ai(a,s)}/${Ai(l,s)}/${Ai(c,s)}`}var Th={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Je=131072,pr=10;function gr(t,s){if(t>24)return s.setWinLines||!1;switch(t){case 1:return!!s.restoreWin;case 2:return!!s.minimizeWin;case 3:return!!s.setWinPosition;case 4:return!!s.setWinSizePixels;case 5:return!!s.raiseWin;case 6:return!!s.lowerWin;case 7:return!!s.refreshWin;case 8:return!!s.setWinSizeChars;case 9:return!!s.maximizeWin;case 10:return!!s.fullscreenWin;case 11:return!!s.getWinState;case 13:return!!s.getWinPosition;case 14:return!!s.getWinSizePixels;case 15:return!!s.getScreenSizePixels;case 16:return!!s.getCellSizePixels;case 18:return!!s.getWinSizeChars;case 19:return!!s.getScreenSizeChars;case 20:return!!s.getIconTitle;case 21:return!!s.getWinTitle;case 22:return!!s.pushTitle;case 23:return!!s.popTitle;case 24:return!!s.setWinLines}return!1}var mr=5000,vr=0,Ph=class extends W{constructor(t,s,a,l,c,d,u,f,p=new Bh){super();this._bufferService=t,this._charsetService=s,this._coreService=a,this._logService=l,this._optionsService=c,this._oscLinkService=d,this._coreMouseService=u,this._unicodeService=f,this._parser=p,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Cn,this._utf8Decoder=new xn,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone(),this._onRequestBell=this._register(new D),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new D),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new D),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new D),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new D),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new D),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new D),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new D),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new D),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new D),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new ls(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((_)=>this._activeBuffer=_.activeBuffer)),this._parser.setCsiHandlerFallback((_,m)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(_),params:m.toArray()})}),this._parser.setEscHandlerFallback((_)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(_)})}),this._parser.setExecuteHandlerFallback((_)=>{this._logService.debug("Unknown EXECUTE code: ",{code:_})}),this._parser.setOscHandlerFallback((_,m,g)=>{this._logService.debug("Unknown OSC code: ",{identifier:_,action:m,data:g})}),this._parser.setDcsHandlerFallback((_,m,g)=>{m==="HOOK"&&(g=g.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(_),action:m,payload:g})}),this._parser.setPrintHandler((_,m,g)=>this.print(_,m,g)),this._parser.registerCsiHandler({final:"@"},(_)=>this.insertChars(_)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(_)=>this.scrollLeft(_)),this._parser.registerCsiHandler({final:"A"},(_)=>this.cursorUp(_)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(_)=>this.scrollRight(_)),this._parser.registerCsiHandler({final:"B"},(_)=>this.cursorDown(_)),this._parser.registerCsiHandler({final:"C"},(_)=>this.cursorForward(_)),this._parser.registerCsiHandler({final:"D"},(_)=>this.cursorBackward(_)),this._parser.registerCsiHandler({final:"E"},(_)=>this.cursorNextLine(_)),this._parser.registerCsiHandler({final:"F"},(_)=>this.cursorPrecedingLine(_)),this._parser.registerCsiHandler({final:"G"},(_)=>this.cursorCharAbsolute(_)),this._parser.registerCsiHandler({final:"H"},(_)=>this.cursorPosition(_)),this._parser.registerCsiHandler({final:"I"},(_)=>this.cursorForwardTab(_)),this._parser.registerCsiHandler({final:"J"},(_)=>this.eraseInDisplay(_,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(_)=>this.eraseInDisplay(_,!0)),this._parser.registerCsiHandler({final:"K"},(_)=>this.eraseInLine(_,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(_)=>this.eraseInLine(_,!0)),this._parser.registerCsiHandler({final:"L"},(_)=>this.insertLines(_)),this._parser.registerCsiHandler({final:"M"},(_)=>this.deleteLines(_)),this._parser.registerCsiHandler({final:"P"},(_)=>this.deleteChars(_)),this._parser.registerCsiHandler({final:"S"},(_)=>this.scrollUp(_)),this._parser.registerCsiHandler({final:"T"},(_)=>this.scrollDown(_)),this._parser.registerCsiHandler({final:"X"},(_)=>this.eraseChars(_)),this._parser.registerCsiHandler({final:"Z"},(_)=>this.cursorBackwardTab(_)),this._parser.registerCsiHandler({final:"`"},(_)=>this.charPosAbsolute(_)),this._parser.registerCsiHandler({final:"a"},(_)=>this.hPositionRelative(_)),this._parser.registerCsiHandler({final:"b"},(_)=>this.repeatPrecedingCharacter(_)),this._parser.registerCsiHandler({final:"c"},(_)=>this.sendDeviceAttributesPrimary(_)),this._parser.registerCsiHandler({prefix:">",final:"c"},(_)=>this.sendDeviceAttributesSecondary(_)),this._parser.registerCsiHandler({final:"d"},(_)=>this.linePosAbsolute(_)),this._parser.registerCsiHandler({final:"e"},(_)=>this.vPositionRelative(_)),this._parser.registerCsiHandler({final:"f"},(_)=>this.hVPosition(_)),this._parser.registerCsiHandler({final:"g"},(_)=>this.tabClear(_)),this._parser.registerCsiHandler({final:"h"},(_)=>this.setMode(_)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(_)=>this.setModePrivate(_)),this._parser.registerCsiHandler({final:"l"},(_)=>this.resetMode(_)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(_)=>this.resetModePrivate(_)),this._parser.registerCsiHandler({final:"m"},(_)=>this.charAttributes(_)),this._parser.registerCsiHandler({final:"n"},(_)=>this.deviceStatus(_)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(_)=>this.deviceStatusPrivate(_)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(_)=>this.softReset(_)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(_)=>this.setCursorStyle(_)),this._parser.registerCsiHandler({final:"r"},(_)=>this.setScrollRegion(_)),this._parser.registerCsiHandler({final:"s"},(_)=>this.saveCursor(_)),this._parser.registerCsiHandler({final:"t"},(_)=>this.windowOptions(_)),this._parser.registerCsiHandler({final:"u"},(_)=>this.restoreCursor(_)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(_)=>this.insertColumns(_)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(_)=>this.deleteColumns(_)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(_)=>this.selectProtected(_)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(_)=>this.requestMode(_,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(_)=>this.requestMode(_,!1)),this._parser.setExecuteHandler(C.BEL,()=>this.bell()),this._parser.setExecuteHandler(C.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(C.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(C.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(C.BS,()=>this.backspace()),this._parser.setExecuteHandler(C.HT,()=>this.tab()),this._parser.setExecuteHandler(C.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(C.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ii.IND,()=>this.index()),this._parser.setExecuteHandler(ii.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ii.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Ee((_)=>(this.setTitle(_),this.setIconName(_),!0))),this._parser.registerOscHandler(1,new Ee((_)=>this.setIconName(_))),this._parser.registerOscHandler(2,new Ee((_)=>this.setTitle(_))),this._parser.registerOscHandler(4,new Ee((_)=>this.setOrReportIndexedColor(_))),this._parser.registerOscHandler(8,new Ee((_)=>this.setHyperlink(_))),this._parser.registerOscHandler(10,new Ee((_)=>this.setOrReportFgColor(_))),this._parser.registerOscHandler(11,new Ee((_)=>this.setOrReportBgColor(_))),this._parser.registerOscHandler(12,new Ee((_)=>this.setOrReportCursorColor(_))),this._parser.registerOscHandler(104,new Ee((_)=>this.restoreIndexedColor(_))),this._parser.registerOscHandler(110,new Ee((_)=>this.restoreFgColor(_))),this._parser.registerOscHandler(111,new Ee((_)=>this.restoreBgColor(_))),this._parser.registerOscHandler(112,new Ee((_)=>this.restoreCursorColor(_))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let _ in he)this._parser.registerEscHandler({intermediates:"(",final:_},()=>this.selectCharset("("+_)),this._parser.registerEscHandler({intermediates:")",final:_},()=>this.selectCharset(")"+_)),this._parser.registerEscHandler({intermediates:"*",final:_},()=>this.selectCharset("*"+_)),this._parser.registerEscHandler({intermediates:"+",final:_},()=>this.selectCharset("+"+_)),this._parser.registerEscHandler({intermediates:"-",final:_},()=>this.selectCharset("-"+_)),this._parser.registerEscHandler({intermediates:".",final:_},()=>this.selectCharset("."+_)),this._parser.registerEscHandler({intermediates:"/",final:_},()=>this.selectCharset("/"+_));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((_)=>(this._logService.error("Parsing error: ",_),_)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new _r((_,m)=>this.requestStatusString(_,m)))}getAttrData(){return this._curAttrData}_preserveStack(t,s,a,l){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=s,this._parseStack.decodedLength=a,this._parseStack.position=l}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((s,a)=>setTimeout(()=>a("#SLOW_TIMEOUT"),mr))]).catch((s)=>{if(s!=="#SLOW_TIMEOUT")throw s;console.warn(`async parser handler taking longer than ${mr} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,s){let a,l=this._activeBuffer.x,c=this._activeBuffer.y,d=0,u=this._parseStack.paused;if(u){if(a=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,s))return this._logSlowResolvingAsync(a),a;l=this._parseStack.cursorStartX,c=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Je&&(d=this._parseStack.position+Je)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,(_)=>String.fromCharCode(_)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map((_)=>_.charCodeAt(0)):t),this._parseBuffer.length<t.length&&this._parseBuffer.length<Je&&(this._parseBuffer=new Uint32Array(Math.min(t.length,Je))),u||this._dirtyRowTracker.clearRange(),t.length>Je)for(let _=d;_<t.length;_+=Je){let m=_+Je<t.length?_+Je:t.length,g=typeof t=="string"?this._stringDecoder.decode(t.substring(_,m),this._parseBuffer):this._utf8Decoder.decode(t.subarray(_,m),this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,g))return this._preserveStack(l,c,g,_),this._logSlowResolvingAsync(a),a}else if(!u){let _=typeof t=="string"?this._stringDecoder.decode(t,this._parseBuffer):this._utf8Decoder.decode(t,this._parseBuffer);if(a=this._parser.parse(this._parseBuffer,_))return this._preserveStack(l,c,_,0),this._logSlowResolvingAsync(a),a}(this._activeBuffer.x!==l||this._activeBuffer.y!==c)&&this._onCursorMove.fire();let f=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),p=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);p<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(p,this._bufferService.rows-1),end:Math.min(f,this._bufferService.rows-1)})}print(t,s,a){let l,c,d=this._charsetService.charset,u=this._optionsService.rawOptions.screenReaderMode,f=this._bufferService.cols,p=this._coreService.decPrivateModes.wraparound,_=this._coreService.modes.insertMode,m=this._curAttrData,g=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&a-s>0&&g.getWidth(this._activeBuffer.x-1)===2&&g.setCellFromCodepoint(this._activeBuffer.x-1,0,1,m);let S=this._parser.precedingJoinState;for(let w=s;w<a;++w){if(l=t[w],l<127&&d){let P=d[String.fromCharCode(l)];P&&(l=P.charCodeAt(0))}let v=this._unicodeService.charProperties(l,S);c=ht.extractWidth(v);let y=ht.extractShouldJoin(v),R=y?ht.extractWidth(S):0;if(S=v,u&&this._onA11yChar.fire(Ze(l)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+c-R>f){if(p){let P=g,U=this._activeBuffer.x-R;for(this._activeBuffer.x=R,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),g=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),R>0&&g instanceof Mt&&g.copyCellsFrom(P,U,0,R,!1);U<f;)P.setCellFromCodepoint(U++,0,1,m)}else if(this._activeBuffer.x=f-1,c===2)continue}if(y&&this._activeBuffer.x){let P=g.getWidth(this._activeBuffer.x-1)?1:2;g.addCodepointToCell(this._activeBuffer.x-P,l,c);for(let U=c-R;--U>=0;)g.setCellFromCodepoint(this._activeBuffer.x++,0,0,m);continue}if(_&&(g.insertCells(this._activeBuffer.x,c-R,this._activeBuffer.getNullCell(m)),g.getWidth(f-1)===2&&g.setCellFromCodepoint(f-1,0,1,m)),g.setCellFromCodepoint(this._activeBuffer.x++,l,c,m),c>0)for(;--c;)g.setCellFromCodepoint(this._activeBuffer.x++,0,0,m)}this._parser.precedingJoinState=S,this._activeBuffer.x<f&&a-s>0&&g.getWidth(this._activeBuffer.x)===0&&!g.hasContent(this._activeBuffer.x)&&g.setCellFromCodepoint(this._activeBuffer.x,0,1,m),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,s){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,(a)=>gr(a.params[0],this._optionsService.rawOptions.windowOptions)?s(a):!0):this._parser.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._parser.registerDcsHandler(t,new _r(s))}registerEscHandler(t,s){return this._parser.registerEscHandler(t,s)}registerOscHandler(t,s){return this._parser.registerOscHandler(t,new Ee(s))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,s){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+s):(this._activeBuffer.x=t,this._activeBuffer.y=s),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,s){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+s)}cursorUp(t){let s=this._activeBuffer.y-this._activeBuffer.scrollTop;return s>=0?this._moveCursor(0,-Math.min(s,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let s=this._activeBuffer.scrollBottom-this._activeBuffer.y;return s>=0?this._moveCursor(0,Math.min(s,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let s=t.params[0];return s===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:s===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let s=t.params[0]||1;for(;s--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let s=t.params[0];return s===1&&(this._curAttrData.bg|=536870912),(s===2||s===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,s,a,l=!1,c=!1){let d=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);d.replaceCells(s,a,this._activeBuffer.getNullCell(this._eraseAttrData()),c),l&&(d.isWrapped=!1)}_resetBufferLine(t,s=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);a&&(a.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),s),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),a.isWrapped=!1)}eraseInDisplay(t,s=!1){this._restrictCursor(this._bufferService.cols);let a;switch(t.params[0]){case 0:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);a<this._bufferService.rows;a++)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(a);break;case 1:for(a=this._activeBuffer.y,this._dirtyRowTracker.markDirty(a),this._eraseInBufferLine(a,0,this._activeBuffer.x+1,!0,s),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(a+1).isWrapped=!1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(a=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,a-1);a--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+a)?.getTrimmedLength(););for(;a>=0;a--)this._bufferService.scroll(this._eraseAttrData())}else{for(a=this._bufferService.rows,this._dirtyRowTracker.markDirty(a-1);a--;)this._resetBufferLine(a,s);this._dirtyRowTracker.markDirty(0)}break;case 3:let l=this._activeBuffer.lines.length-this._bufferService.rows;l>0&&(this._activeBuffer.lines.trimStart(l),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-l,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-l,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,s=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,s);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,s);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,s);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,l=this._bufferService.rows-1-this._activeBuffer.scrollBottom,c=this._bufferService.rows-1+this._activeBuffer.ybase-l+1;for(;s--;)this._activeBuffer.lines.splice(c-1,1),this._activeBuffer.lines.splice(a,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(t){this._restrictCursor();let s=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let a=this._activeBuffer.ybase+this._activeBuffer.y,l;for(l=this._bufferService.rows-1-this._activeBuffer.scrollBottom,l=this._bufferService.rows-1+this._activeBuffer.ybase-l;s--;)this._activeBuffer.lines.splice(a,1),this._activeBuffer.lines.splice(l,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.insertCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.deleteCells(this._activeBuffer.x,t.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(t){let s=t.params[0]||1;for(;s--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(re));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.deleteCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.insertCells(0,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.insertCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(t){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=t.params[0]||1;for(let a=this._activeBuffer.scrollTop;a<=this._activeBuffer.scrollBottom;++a){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+a);l.deleteCells(this._activeBuffer.x,s,this._activeBuffer.getNullCell(this._eraseAttrData())),l.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(t){this._restrictCursor();let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return s&&(s.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(t.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(t){let s=this._parser.precedingJoinState;if(!s)return!0;let a=t.params[0]||1,l=ht.extractWidth(s),c=this._activeBuffer.x-l,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(c),u=new Uint32Array(d.length*a),f=0;for(let _=0;_<d.length;){let m=d.codePointAt(_)||0;u[f++]=m,_+=m>65535?2:1}let p=f;for(let _=1;_<a;++_)u.copyWithin(p,0,f),p+=f;return this.print(u,0,p),!0}sendDeviceAttributesPrimary(t){return t.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(C.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(C.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(C.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(C.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(C.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,at),this._charsetService.setgCharset(1,at),this._charsetService.setgCharset(2,at),this._charsetService.setgCharset(3,at);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1000:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(t){for(let s=0;s<t.length;s++)switch(t.params[s]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1000:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),t.params[s]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(t,s){let a;((y)=>(y[y.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",y[y.SET=1]="SET",y[y.RESET=2]="RESET",y[y.PERMANENTLY_SET=3]="PERMANENTLY_SET",y[y.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(a||={});let l=this._coreService.decPrivateModes,{activeProtocol:c,activeEncoding:d}=this._coreMouseService,u=this._coreService,{buffers:f,cols:p}=this._bufferService,{active:_,alt:m}=f,g=this._optionsService.rawOptions,S=(y,R)=>(u.triggerDataEvent(`${C.ESC}[${s?"":"?"}${y};${R}$y`),!0),w=(y)=>y?1:2,v=t.params[0];return s?v===2?S(v,4):v===4?S(v,w(u.modes.insertMode)):v===12?S(v,3):v===20?S(v,w(g.convertEol)):S(v,0):v===1?S(v,w(l.applicationCursorKeys)):v===3?S(v,g.windowOptions.setWinLines?p===80?2:p===132?1:0:0):v===6?S(v,w(l.origin)):v===7?S(v,w(l.wraparound)):v===8?S(v,3):v===9?S(v,w(c==="X10")):v===12?S(v,w(g.cursorBlink)):v===25?S(v,w(!u.isCursorHidden)):v===45?S(v,w(l.reverseWraparound)):v===66?S(v,w(l.applicationKeypad)):v===67?S(v,4):v===1000?S(v,w(c==="VT200")):v===1002?S(v,w(c==="DRAG")):v===1003?S(v,w(c==="ANY")):v===1004?S(v,w(l.sendFocus)):v===1005?S(v,4):v===1006?S(v,w(d==="SGR")):v===1015?S(v,4):v===1016?S(v,w(d==="SGR_PIXELS")):v===1048?S(v,1):v===47||v===1047||v===1049?S(v,w(_===m)):v===2004?S(v,w(l.bracketedPasteMode)):v===2026?S(v,w(l.synchronizedOutput)):S(v,0)}_updateAttrColor(t,s,a,l,c){return s===2?(t|=50331648,t&=-16777216,t|=zt.fromColorRGB([a,l,c])):s===5&&(t&=-50331904,t|=33554432|a&255),t}_extractColor(t,s,a){let l=[0,0,-1,0,0,0],c=0,d=0;do{if(l[d+c]=t.params[s+d],t.hasSubParams(s+d)){let u=t.getSubParams(s+d),f=0;do l[1]===5&&(c=1),l[d+f+1+c]=u[f];while(++f<u.length&&f+d+1+c<l.length);break}if(l[1]===5&&d+c>=2||l[1]===2&&d+c>=5)break;l[1]&&(c=1)}while(++d+s<t.length&&d+c<l.length);for(let u=2;u<l.length;++u)l[u]===-1&&(l[u]=0);switch(l[0]){case 38:a.fg=this._updateAttrColor(a.fg,l[1],l[3],l[4],l[5]);break;case 48:a.bg=this._updateAttrColor(a.bg,l[1],l[3],l[4],l[5]);break;case 58:a.extended=a.extended.clone(),a.extended.underlineColor=this._updateAttrColor(a.extended.underlineColor,l[1],l[3],l[4],l[5])}return d}_processUnderline(t,s){s.extended=s.extended.clone(),(!~t||t>5)&&(t=1),s.extended.underlineStyle=t,s.fg|=268435456,t===0&&(s.fg&=-268435457),s.updateExtended()}_processSGR0(t){t.fg=re.fg,t.bg=re.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let s=t.length,a,l=this._curAttrData;for(let c=0;c<s;c++)a=t.params[c],a>=30&&a<=37?(l.fg&=-50331904,l.fg|=16777216|a-30):a>=40&&a<=47?(l.bg&=-50331904,l.bg|=16777216|a-40):a>=90&&a<=97?(l.fg&=-50331904,l.fg|=16777216|a-90|8):a>=100&&a<=107?(l.bg&=-50331904,l.bg|=16777216|a-100|8):a===0?this._processSGR0(l):a===1?l.fg|=134217728:a===3?l.bg|=67108864:a===4?(l.fg|=268435456,this._processUnderline(t.hasSubParams(c)?t.getSubParams(c)[0]:1,l)):a===5?l.fg|=536870912:a===7?l.fg|=67108864:a===8?l.fg|=1073741824:a===9?l.fg|=2147483648:a===2?l.bg|=134217728:a===21?this._processUnderline(2,l):a===22?(l.fg&=-134217729,l.bg&=-134217729):a===23?l.bg&=-67108865:a===24?(l.fg&=-268435457,this._processUnderline(0,l)):a===25?l.fg&=-536870913:a===27?l.fg&=-67108865:a===28?l.fg&=-1073741825:a===29?l.fg&=2147483647:a===39?(l.fg&=-67108864,l.fg|=re.fg&16777215):a===49?(l.bg&=-67108864,l.bg|=re.bg&16777215):a===38||a===48||a===58?c+=this._extractColor(t,c,l):a===53?l.bg|=1073741824:a===55?l.bg&=-1073741825:a===59?(l.extended=l.extended.clone(),l.extended.underlineColor=-1,l.updateExtended()):a===100?(l.fg&=-67108864,l.fg|=re.fg&16777215,l.bg&=-67108864,l.bg|=re.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",a);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${C.ESC}[0n`);break;case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[${s};${a}R`);break}return!0}deviceStatusPrivate(t){switch(t.params[0]){case 6:let s=this._activeBuffer.y+1,a=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${C.ESC}[?${s};${a}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=re.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let s=t.length===0?1:t.params[0];if(s===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(s){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let a=s%2===1;this._coreService.decPrivateModes.cursorBlink=a}return!0}setScrollRegion(t){let s=t.params[0]||1,a;return(t.length<2||(a=t.params[1])>this._bufferService.rows||a===0)&&(a=this._bufferService.rows),a>s&&(this._activeBuffer.scrollTop=s-1,this._activeBuffer.scrollBottom=a-1,this._setCursor(0,0)),!0}windowOptions(t){if(!gr(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let s=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:s!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${C.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(s===0||s===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>pr&&this._windowTitleStack.shift()),(s===0||s===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>pr&&this._iconNameStack.shift());break;case 23:(s===0||s===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(s===0||s===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let s=[],a=t.split(";");for(;a.length>1;){let l=a.shift(),c=a.shift();if(/^\d+$/.exec(l)){let d=parseInt(l);if(Sr(d))if(c==="?")s.push({type:0,index:d});else{let u=fr(c);u&&s.push({type:1,index:d,color:u})}}}return s.length&&this._onColor.fire(s),!0}setHyperlink(t){let s=t.indexOf(";");if(s===-1)return!0;let a=t.slice(0,s).trim(),l=t.slice(s+1);return l?this._createHyperlink(a,l):a.trim()?!1:this._finishHyperlink()}_createHyperlink(t,s){this._getCurrentLinkId()&&this._finishHyperlink();let a=t.split(":"),l,c=a.findIndex((d)=>d.startsWith("id="));return c!==-1&&(l=a[c].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:l,uri:s}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,s){let a=t.split(";");for(let l=0;l<a.length&&!(s>=this._specialColors.length);++l,++s)if(a[l]==="?")this._onColor.fire([{type:0,index:this._specialColors[s]}]);else{let c=fr(a[l]);c&&this._onColor.fire([{type:1,index:this._specialColors[s],color:c}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let s=[],a=t.split(";");for(let l=0;l<a.length;++l)if(/^\d+$/.exec(a[l])){let c=parseInt(a[l]);Sr(c)&&s.push({type:2,index:c})}return s.length&&this._onColor.fire(s),!0}restoreFgColor(t){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(t){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(t){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,at),!0}selectCharset(t){return t.length!==2?(this.selectDefaultCharset(),!0):(t[0]==="/"||this._charsetService.setgCharset(Th[t[0]],he[t[1]]||at),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=re.clone(),this._eraseAttrDataInternal=re.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new Me;t.content=4194373,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let s=0;s<this._bufferService.rows;++s){let a=this._activeBuffer.ybase+this._activeBuffer.y+s,l=this._activeBuffer.lines.get(a);l&&(l.fill(t),l.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(t,s){let a=(u)=>(this._coreService.triggerDataEvent(`${C.ESC}${u}${C.ESC}\\`),!0),l=this._bufferService.buffer,c=this._optionsService.rawOptions;return a(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${l.scrollTop+1};${l.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[c.cursorStyle]-(c.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,s){this._dirtyRowTracker.markRangeDirty(t,s)}},ls=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){t<this.start?this.start=t:t>this.end&&(this.end=t)}markRangeDirty(t,s){t>s&&(vr=t,t=s,s=vr),t<this.start&&(this.start=t),s>this.end&&(this.end=s)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ls=te([M(0,Se)],ls);function Sr(t){return 0<=t&&t<256}var Ah=50000000,br=12,Oh=50,Ih=class extends W{constructor(t){super();this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,s){if(s!==void 0&&this._syncCalls>s){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let a;for(;a=this._writeBuffer.shift();){this._action(a);let l=this._callbacks.shift();l&&l()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,s){if(this._pendingData>Ah)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(s)}_innerWrite(t=0,s=!0){let a=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let l=this._writeBuffer[this._bufferOffset],c=this._action(l,s);if(c){let u=(f)=>performance.now()-a>=br?setTimeout(()=>this._innerWrite(0,f)):this._innerWrite(a,f);c.catch((f)=>(queueMicrotask(()=>{throw f}),Promise.resolve(!1))).then(u);return}let d=this._callbacks[this._bufferOffset];if(d&&d(),this._bufferOffset++,this._pendingData-=l.length,performance.now()-a>=br)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Oh&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},cs=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let s=this._bufferService.buffer;if(t.id===void 0){let f=s.addMarker(s.ybase+s.y),p={data:t,id:this._nextId++,lines:[f]};return f.onDispose(()=>this._removeMarkerFromLink(p,f)),this._dataByLinkId.set(p.id,p),p.id}let a=t,l=this._getEntryIdKey(a),c=this._entriesWithId.get(l);if(c)return this.addLineToLink(c.id,s.ybase+s.y),c.id;let d=s.addMarker(s.ybase+s.y),u={id:this._nextId++,key:this._getEntryIdKey(a),data:a,lines:[d]};return d.onDispose(()=>this._removeMarkerFromLink(u,d)),this._entriesWithId.set(u.key,u),this._dataByLinkId.set(u.id,u),u.id}addLineToLink(t,s){let a=this._dataByLinkId.get(t);if(a&&a.lines.every((l)=>l.line!==s)){let l=this._bufferService.buffer.addMarker(s);a.lines.push(l),l.onDispose(()=>this._removeMarkerFromLink(a,l))}}getLinkData(t){return this._dataByLinkId.get(t)?.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,s){let a=t.lines.indexOf(s);a!==-1&&(t.lines.splice(a,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};cs=te([M(0,Se)],cs);var wr=!1,Nh=class extends W{constructor(t){super();this._windowsWrappingHeuristics=this._register(new pt),this._onBinary=this._register(new D),this.onBinary=this._onBinary.event,this._onData=this._register(new D),this.onData=this._onData.event,this._onLineFeed=this._register(new D),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new D),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new D),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new D),this._instantiationService=new oh,this.optionsService=this._register(new mh(t)),this._instantiationService.setService(be,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(os)),this._instantiationService.setService(Se,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ns)),this._instantiationService.setService(Mr,this._logService),this.coreService=this._register(this._instantiationService.createInstance(as)),this._instantiationService.setService(ut,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(hs)),this._instantiationService.setService(Lr,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(ht)),this._instantiationService.setService(Bn,this.unicodeService),this._charsetService=this._instantiationService.createInstance(yh),this._instantiationService.setService(Dn,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(cs),this._instantiationService.setService(Tr,this._oscLinkService),this._inputHandler=this._register(new Ph(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ge.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ge.forward(this._bufferService.onResize,this._onResize)),this._register(ge.forward(this.coreService.onData,this._onData)),this._register(ge.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Ih((s,a)=>this._inputHandler.parse(s,a))),this._register(ge.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new D),this._onScroll.event((t)=>{this._onScrollApi?.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let s in t)this.optionsService.options[s]=t[s]}write(t,s){this._writeBuffer.write(t,s)}writeSync(t,s){this._logService.logLevel<=3&&!wr&&(this._logService.warn("writeSync is unreliable and will be removed soon."),wr=!0),this._writeBuffer.writeSync(t,s)}input(t,s=!0){this.coreService.triggerDataEvent(t,s)}resize(t,s){isNaN(t)||isNaN(s)||(t=Math.max(t,ln),s=Math.max(s,cn),this._bufferService.resize(t,s))}scroll(t,s=!1){this._bufferService.scroll(t,s)}scrollLines(t,s){this._bufferService.scrollLines(t,s)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}registerEscHandler(t,s){return this._inputHandler.registerEscHandler(t,s)}registerDcsHandler(t,s){return this._inputHandler.registerDcsHandler(t,s)}registerCsiHandler(t,s){return this._inputHandler.registerCsiHandler(t,s)}registerOscHandler(t,s){return this._inputHandler.registerOscHandler(t,s)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,s=this.optionsService.rawOptions.windowsPty;s&&s.buildNumber!==void 0&&s.buildNumber!==void 0?t=s.backend==="conpty"&&s.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(ur.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(ur(this._bufferService),!1))),this._windowsWrappingHeuristics.value=X(()=>{for(let s of t)s.dispose()})}}},Hh={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Wh(t,s,a,l){let c={type:0,cancel:!1,key:void 0},d=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?s?c.key=C.ESC+"OA":c.key=C.ESC+"[A":t.key==="UIKeyInputLeftArrow"?s?c.key=C.ESC+"OD":c.key=C.ESC+"[D":t.key==="UIKeyInputRightArrow"?s?c.key=C.ESC+"OC":c.key=C.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(s?c.key=C.ESC+"OB":c.key=C.ESC+"[B");break;case 8:c.key=t.ctrlKey?"\b":C.DEL,t.altKey&&(c.key=C.ESC+c.key);break;case 9:if(t.shiftKey){c.key=C.ESC+"[Z";break}c.key=C.HT,c.cancel=!0;break;case 13:c.key=t.altKey?C.ESC+C.CR:C.CR,c.cancel=!0;break;case 27:c.key=C.ESC,t.altKey&&(c.key=C.ESC+C.ESC),c.cancel=!0;break;case 37:if(t.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"D":s?c.key=C.ESC+"OD":c.key=C.ESC+"[D";break;case 39:if(t.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"C":s?c.key=C.ESC+"OC":c.key=C.ESC+"[C";break;case 38:if(t.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"A":s?c.key=C.ESC+"OA":c.key=C.ESC+"[A";break;case 40:if(t.metaKey)break;d?c.key=C.ESC+"[1;"+(d+1)+"B":s?c.key=C.ESC+"OB":c.key=C.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(c.key=C.ESC+"[2~");break;case 46:d?c.key=C.ESC+"[3;"+(d+1)+"~":c.key=C.ESC+"[3~";break;case 36:d?c.key=C.ESC+"[1;"+(d+1)+"H":s?c.key=C.ESC+"OH":c.key=C.ESC+"[H";break;case 35:d?c.key=C.ESC+"[1;"+(d+1)+"F":s?c.key=C.ESC+"OF":c.key=C.ESC+"[F";break;case 33:t.shiftKey?c.type=2:t.ctrlKey?c.key=C.ESC+"[5;"+(d+1)+"~":c.key=C.ESC+"[5~";break;case 34:t.shiftKey?c.type=3:t.ctrlKey?c.key=C.ESC+"[6;"+(d+1)+"~":c.key=C.ESC+"[6~";break;case 112:d?c.key=C.ESC+"[1;"+(d+1)+"P":c.key=C.ESC+"OP";break;case 113:d?c.key=C.ESC+"[1;"+(d+1)+"Q":c.key=C.ESC+"OQ";break;case 114:d?c.key=C.ESC+"[1;"+(d+1)+"R":c.key=C.ESC+"OR";break;case 115:d?c.key=C.ESC+"[1;"+(d+1)+"S":c.key=C.ESC+"OS";break;case 116:d?c.key=C.ESC+"[15;"+(d+1)+"~":c.key=C.ESC+"[15~";break;case 117:d?c.key=C.ESC+"[17;"+(d+1)+"~":c.key=C.ESC+"[17~";break;case 118:d?c.key=C.ESC+"[18;"+(d+1)+"~":c.key=C.ESC+"[18~";break;case 119:d?c.key=C.ESC+"[19;"+(d+1)+"~":c.key=C.ESC+"[19~";break;case 120:d?c.key=C.ESC+"[20;"+(d+1)+"~":c.key=C.ESC+"[20~";break;case 121:d?c.key=C.ESC+"[21;"+(d+1)+"~":c.key=C.ESC+"[21~";break;case 122:d?c.key=C.ESC+"[23;"+(d+1)+"~":c.key=C.ESC+"[23~";break;case 123:d?c.key=C.ESC+"[24;"+(d+1)+"~":c.key=C.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?c.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?c.key=C.NUL:t.keyCode>=51&&t.keyCode<=55?c.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?c.key=C.DEL:t.keyCode===219?c.key=C.ESC:t.keyCode===220?c.key=C.FS:t.keyCode===221&&(c.key=C.GS);else if((!a||l)&&t.altKey&&!t.metaKey){let u=Hh[t.keyCode]?.[t.shiftKey?1:0];if(u)c.key=C.ESC+u;else if(t.keyCode>=65&&t.keyCode<=90){let f=t.ctrlKey?t.keyCode-64:t.keyCode+32,p=String.fromCharCode(f);t.shiftKey&&(p=p.toUpperCase()),c.key=C.ESC+p}else if(t.keyCode===32)c.key=C.ESC+(t.ctrlKey?C.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let f=t.code.slice(3,4);t.shiftKey||(f=f.toLowerCase()),c.key=C.ESC+f,c.cancel=!0}}else a&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(c.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?c.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(c.key=C.US),t.key==="@"&&(c.key=C.NUL));break}return c}var ie=0,zh=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new di,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new di,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((c,d)=>this._getKey(c)-this._getKey(d)),s=0,a=0,l=Array(this._array.length+this._insertedValues.length);for(let c=0;c<l.length;c++)a>=this._array.length||this._getKey(t[s])<=this._getKey(this._array[a])?(l[c]=t[s],s++):l[c]=this._array[a++];this._array=l,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let s=this._getKey(t);if(s===void 0||(ie=this._search(s),ie===-1)||this._getKey(this._array[ie])!==s)return!1;do if(this._array[ie]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ie),!0;while(++ie<this._array.length&&this._getKey(this._array[ie])===s);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let t=this._deletedIndices.sort((c,d)=>c-d),s=0,a=Array(this._array.length-t.length),l=0;for(let c=0;c<this._array.length;c++)t[s]===c?s++:a[l++]=this._array[c];this._array=a,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do yield this._array[ie];while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}forEachByKey(t,s){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ie=this._search(t),!(ie<0||ie>=this._array.length)&&this._getKey(this._array[ie])===t))do s(this._array[ie]);while(++ie<this._array.length&&this._getKey(this._array[ie])===t)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(t){let s=0,a=this._array.length-1;for(;a>=s;){let l=s+a>>1,c=this._getKey(this._array[l]);if(c>t)a=l-1;else if(c<t)s=l+1;else{for(;l>0&&this._getKey(this._array[l-1])===t;)l--;return l}}return s}},Oi=0,yr=0,Fh=class extends W{constructor(){super();this._decorations=new zh((t)=>t?.marker.line),this._onDecorationRegistered=this._register(new D),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new D),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(X(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let s=new $h(t);if(s){let a=s.marker.onDispose(()=>s.dispose()),l=s.onDispose(()=>{l.dispose(),s&&(this._decorations.delete(s)&&this._onDecorationRemoved.fire(s),a.dispose())});this._decorations.insert(s),this._onDecorationRegistered.fire(s)}return s}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,s,a){let l=0,c=0;for(let d of this._decorations.getKeyIterator(s))l=d.options.x??0,c=l+(d.options.width??1),t>=l&&t<c&&(!a||(d.options.layer??"bottom")===a)&&(yield d)}forEachDecorationAtCell(t,s,a,l){this._decorations.forEachByKey(s,(c)=>{Oi=c.options.x??0,yr=Oi+(c.options.width??1),t>=Oi&&t<yr&&(!a||(c.options.layer??"bottom")===a)&&l(c)})}},$h=class extends et{constructor(t){super();this.options=t,this.onRenderEmitter=this.add(new D),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new D),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=t.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Q.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Q.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Uh=1000,Kh=class{constructor(t,s=Uh){this._renderCallback=t,this._debounceThresholdMS=s,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(t,s,a){this._rowCount=a,t=t!==void 0?t:0,s=s!==void 0?s:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,s):s;let l=performance.now();if(l-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=l,this._innerRefresh();else if(!this._additionalRefreshRequested){let c=l-this._lastRefreshMs,d=this._debounceThresholdMS-c;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},d)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),s=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,s)}},Cr=20,xr=!1,ui=class extends W{constructor(t,s,a,l){super();this._terminal=t,this._coreBrowserService=a,this._renderService=l,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let c=this._coreBrowserService.mainDocument;this._accessibilityContainer=c.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=c.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let d=0;d<this._terminal.rows;d++)this._rowElements[d]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[d]);if(this._topBoundaryFocusListener=(d)=>this._handleBoundaryFocus(d,0),this._bottomBoundaryFocusListener=(d)=>this._handleBoundaryFocus(d,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=c.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Kh(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");xr?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=c.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(c.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(c.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((d)=>this._handleResize(d.rows))),this._register(this._terminal.onRender((d)=>this._refreshRows(d.start,d.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((d)=>this._handleChar(d))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
34
+ `))),this._register(this._terminal.onA11yTab((d)=>this._handleTab(d))),this._register(this._terminal.onKey((d)=>this._handleKey(d.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(H(c,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(X(()=>{xr?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let s=0;s<t;s++)this._handleChar(" ")}_handleChar(t){this._liveRegionLineCount<Cr+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===`
35
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Cr+1&&(this._liveRegion.textContent+=Ni.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),/\p{Control}/u.test(t)||this._charsToConsume.push(t)}_refreshRows(t,s){this._liveRegionDebouncer.refresh(t,s,this._terminal.rows)}_renderRows(t,s){let a=this._terminal.buffer,l=a.lines.length.toString();for(let c=t;c<=s;c++){let d=a.lines.get(a.ydisp+c),u=[],f=d?.translateToString(!0,void 0,void 0,u)||"",p=(a.ydisp+c+1).toString(),_=this._rowElements[c];_&&(f.length===0?(_.textContent=" ",this._rowColumns.set(_,[0,1])):(_.textContent=f,this._rowColumns.set(_,u)),_.setAttribute("aria-posinset",p),_.setAttribute("aria-setsize",l),this._alignRowWidth(_))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,s){let a=t.target,l=this._rowElements[s===0?1:this._rowElements.length-2],c=a.getAttribute("aria-posinset"),d=s===0?"1":`${this._terminal.buffer.lines.length}`;if(c===d||t.relatedTarget!==l)return;let u,f;if(s===0?(u=a,f=this._rowElements.pop(),this._rowContainer.removeChild(f)):(u=this._rowElements.shift(),f=a,this._rowContainer.removeChild(u)),u.removeEventListener("focus",this._topBoundaryFocusListener),f.removeEventListener("focus",this._bottomBoundaryFocusListener),s===0){let p=this._createAccessibilityTreeNode();this._rowElements.unshift(p),this._rowContainer.insertAdjacentElement("afterbegin",p)}else{let p=this._createAccessibilityTreeNode();this._rowElements.push(p),this._rowContainer.appendChild(p)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(s===0?-1:1),this._rowElements[s===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let s={node:t.anchorNode,offset:t.anchorOffset},a={node:t.focusNode,offset:t.focusOffset};if((s.node.compareDocumentPosition(a.node)&Node.DOCUMENT_POSITION_PRECEDING||s.node===a.node&&s.offset>a.offset)&&([s,a]=[a,s]),s.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(s={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(s.node))return;let l=this._rowElements.slice(-1)[0];if(a.node.compareDocumentPosition(l)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(a={node:l,offset:l.textContent?.length??0}),!this._rowContainer.contains(a.node))return;let c=({node:f,offset:p})=>{let _=f instanceof Text?f.parentNode:f,m=parseInt(_?.getAttribute("aria-posinset"),10)-1;if(isNaN(m))return console.warn("row is invalid. Race condition?"),null;let g=this._rowColumns.get(_);if(!g)return console.warn("columns is null. Race condition?"),null;let S=p<g.length?g[p]:g.slice(-1)[0]+1;return S>=this._terminal.cols&&(++m,S=0),{row:m,column:S}},d=c(s),u=c(a);if(!(!d||!u)){if(d.row>u.row||d.row===u.row&&d.column>=u.column)throw Error("invalid range");this._terminal.select(d.column,d.row,(u.row-d.row)*this._terminal.cols-d.column+u.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let s=this._rowContainer.children.length;s<this._terminal.rows;s++)this._rowElements[s]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[s]);for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t<this._terminal.rows;t++)this._refreshRowDimensions(this._rowElements[t]),this._alignRowWidth(this._rowElements[t])}}_refreshRowDimensions(t){t.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(t){t.style.transform="";let s=t.getBoundingClientRect().width,a=this._rowColumns.get(t)?.slice(-1)?.[0];if(!a)return;let l=a*this._renderService.dimensions.css.cell.width;t.style.transform=`scaleX(${l/s})`}};ui=te([M(1,us),M(2,Ue),M(3,Ke)],ui);var ds=class extends W{constructor(t,s,a,l,c){super();this._element=t,this._mouseService=s,this._renderService=a,this._bufferService=l,this._linkProviderService=c,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new D),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new D),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(X(()=>{ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(H(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(H(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(H(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(H(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!s)return;this._isMouseOut=!1;let a=t.composedPath();for(let l=0;l<a.length;l++){let c=a[l];if(c.classList.contains("xterm"))break;if(c.classList.contains("xterm-hover"))return}(!this._lastBufferCell||s.x!==this._lastBufferCell.x||s.y!==this._lastBufferCell.y)&&(this._handleHover(s),this._lastBufferCell=s)}_handleHover(t){if(this._activeLine!==t.y||this._wasResized){this._clearCurrentLink(),this._askForLink(t,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,t)||(this._clearCurrentLink(),this._askForLink(t,!0))}_askForLink(t,s){(!this._activeProviderReplies||!s)&&(this._activeProviderReplies?.forEach((l)=>{l?.forEach((c)=>{c.link.dispose&&c.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let a=!1;for(let[l,c]of this._linkProviderService.linkProviders.entries())s?this._activeProviderReplies?.get(l)&&(a=this._checkLinkProviderResult(l,t,a)):c.provideLinks(t.y,(d)=>{if(this._isMouseOut)return;let u=d?.map((f)=>({link:f}));this._activeProviderReplies?.set(l,u),a=this._checkLinkProviderResult(l,t,a),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,s){let a=new Set;for(let l=0;l<s.size;l++){let c=s.get(l);if(c)for(let d=0;d<c.length;d++){let u=c[d],f=u.link.range.start.y<t?0:u.link.range.start.x,p=u.link.range.end.y>t?this._bufferService.cols:u.link.range.end.x;for(let _=f;_<=p;_++){if(a.has(_)){c.splice(d--,1);break}a.add(_)}}}}_checkLinkProviderResult(t,s,a){if(!this._activeProviderReplies)return a;let l=this._activeProviderReplies.get(t),c=!1;for(let d=0;d<t;d++)(!this._activeProviderReplies.has(d)||this._activeProviderReplies.get(d))&&(c=!0);if(!c&&l){let d=l.find((u)=>this._linkAtPosition(u.link,s));d&&(a=!0,this._handleNewLink(d))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!a)for(let d=0;d<this._activeProviderReplies.size;d++){let u=this._activeProviderReplies.get(d)?.find((f)=>this._linkAtPosition(f.link,s));if(u){a=!0,this._handleNewLink(u);break}}return a}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let s=this._positionFromMouseEvent(t,this._element,this._mouseService);s&&this._mouseDownLink&&qh(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,s)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,s){!this._currentLink||!this._lastMouseEvent||(!t||!s||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=s)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,ct(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let s=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);s&&this._linkAtPosition(t.link,s)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(a)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==a&&(this._currentLink.state.decorations.pointerCursor=a,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",a))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(a)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==a&&(this._currentLink.state.decorations.underline=a,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,a))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((a)=>{if(!this._currentLink)return;let l=a.start===0?0:a.start+1+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.ydisp+1+a.end;if(this._currentLink.link.range.start.y>=l&&this._currentLink.link.range.end.y<=c&&(this._clearCurrentLink(l,c),this._lastMouseEvent)){let d=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);d&&this._askForLink(d,!1)}})))}_linkHover(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),s.hover&&s.hover(a,s.text)}_fireUnderlineEvent(t,s){let a=t.range,l=this._bufferService.buffer.ydisp,c=this._createLinkUnderlineEvent(a.start.x-1,a.start.y-l-1,a.end.x,a.end.y-l-1,void 0);(s?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(c)}_linkLeave(t,s,a){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(s,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),s.leave&&s.leave(a,s.text)}_linkAtPosition(t,s){let a=t.range.start.y*this._bufferService.cols+t.range.start.x,l=t.range.end.y*this._bufferService.cols+t.range.end.x,c=s.y*this._bufferService.cols+s.x;return a<=c&&c<=l}_positionFromMouseEvent(t,s,a){let l=a.getCoords(t,s,this._bufferService.cols,this._bufferService.rows);if(l)return{x:l[0],y:l[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,s,a,l,c){return{x1:t,y1:s,x2:a,y2:l,cols:this._bufferService.cols,fg:c}}};ds=te([M(1,_s),M(2,Ke),M(3,Se),M(4,Ar)],ds);function qh(t,s){return t.text===s.text&&t.range.start.x===s.range.start.x&&t.range.start.y===s.range.start.y&&t.range.end.x===s.range.end.x&&t.range.end.y===s.range.end.y}var Vh=class extends Nh{constructor(t={}){super(t);this._linkifier=this._register(new pt),this.browser=Qr,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new pt),this._onCursorMove=this._register(new D),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new D),this.onKey=this._onKey.event,this._onRender=this._register(new D),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new D),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new D),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new D),this.onBell=this._onBell.event,this._onFocus=this._register(new D),this._onBlur=this._register(new D),this._onA11yCharEmitter=this._register(new D),this._onA11yTabEmitter=this._register(new D),this._onWillOpen=this._register(new D),this._setup(),this._decorationService=this._instantiationService.createInstance(Fh),this._instantiationService.setService(Ft,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Aa),this._instantiationService.setService(Ar,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Wi)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((s)=>this.refresh(s?.start??0,s?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((s)=>this._reportWindowsOptions(s))),this._register(this._inputHandler.onColor((s)=>this._handleColorEvent(s))),this._register(ge.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ge.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ge.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ge.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((s)=>this._afterResize(s.cols,s.rows))),this._register(X(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let s of t){let a,l="";switch(s.index){case 256:a="foreground",l="10";break;case 257:a="background",l="11";break;case 258:a="cursor",l="12";break;default:a="ansi",l="4;"+s.index}switch(s.type){case 0:let c=j.toColorRGB(a==="ansi"?this._themeService.colors.ansi[s.index]:this._themeService.colors[a]);this.coreService.triggerDataEvent(`${C.ESC}]${l};${Mh(c)}${Jr.ST}`);break;case 1:if(a==="ansi")this._themeService.modifyColors((d)=>d.ansi[s.index]=ne.toColor(...s.color));else{let d=a;this._themeService.modifyColors((u)=>u[d]=ne.toColor(...s.color))}break;case 2:this._themeService.restoreColor(s.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(C.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,s=this.buffer.lines.get(t);if(!s)return;let a=Math.min(this.buffer.x,this.cols-1),l=this._renderService.dimensions.css.cell.height,c=s.getWidth(a),d=this._renderService.dimensions.css.cell.width*c,u=this.buffer.y*this._renderService.dimensions.css.cell.height,f=a*this._renderService.dimensions.css.cell.width;this.textarea.style.left=f+"px",this.textarea.style.top=u+"px",this.textarea.style.width=d+"px",this.textarea.style.height=l+"px",this.textarea.style.lineHeight=l+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(H(this.element,"copy",(s)=>{this.hasSelection()&&wn(s,this._selectionService)}));let t=(s)=>yn(s,this.textarea,this.coreService,this.optionsService);this._register(H(this.textarea,"paste",t)),this._register(H(this.element,"paste",t)),en?this._register(H(this.element,"mousedown",(s)=>{s.button===2&&ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(H(this.element,"contextmenu",(s)=>{ks(s,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ws&&this._register(H(this.element,"auxclick",(s)=>{s.button===1&&Br(s,this.textarea,this.screenElement)}))}_bindKeys(){this._register(H(this.textarea,"keyup",(t)=>this._keyUp(t),!0)),this._register(H(this.textarea,"keydown",(t)=>this._keyDown(t),!0)),this._register(H(this.textarea,"keypress",(t)=>this._keyPress(t),!0)),this._register(H(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(H(this.textarea,"compositionupdate",(t)=>this._compositionHelper.compositionupdate(t))),this._register(H(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(H(this.textarea,"input",(t)=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){if(!t)throw Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let s=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),s.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(H(this.screenElement,"mousemove",(c)=>this.updateCursorStyle(c))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),s.appendChild(this.screenElement);let a=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ii.get()),rn||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>a.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ta,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Ue,this._coreBrowserService),this._register(H(this.textarea,"focus",(c)=>this._handleTextAreaFocus(c))),this._register(H(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(es,this._document,this._helperContainer),this._instantiationService.setService(fi,this._charSizeService),this._themeService=this._instantiationService.createInstance(rs),this._instantiationService.setService(gt,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(li),this._instantiationService.setService(Pr,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(is,this.rows,this.screenElement)),this._instantiationService.setService(Ke,this._renderService),this._register(this._renderService.onRenderedViewportChange((c)=>this._onRender.fire(c))),this.onResize((c)=>this._renderService.resize(c.cols,c.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ji,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ts),this._instantiationService.setService(_s,this._mouseService);let l=this._linkifier.value=this._register(this._instantiationService.createInstance(ds,this.screenElement));this.element.appendChild(s);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Xi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((c)=>{super.scrollLines(c,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(ss,this.element,this.screenElement,l)),this._instantiationService.setService(Ln,this._selectionService),this._register(this._selectionService.onRequestScrollLines((c)=>this.scrollLines(c.amount,c.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((c)=>this._renderService.handleSelectionChanged(c.start,c.end,c.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((c)=>{this.textarea.value=c,this.textarea.focus(),this.textarea.select()})),this._register(ge.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Gi,this.screenElement)),this._register(H(this.element,"mousedown",(c)=>this._selectionService.handleMouseDown(c))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(ui,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(c)=>this._handleScreenReaderModeOptionChange(c))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(c)=>{!this._overviewRulerRenderer&&c&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hi,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Qi,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,s=this.element;function a(d){let u=t._mouseService.getMouseReportCoords(d,t.screenElement);if(!u)return!1;let f,p;switch(d.overrideType||d.type){case"mousemove":p=32,d.buttons===void 0?(f=3,d.button!==void 0&&(f=d.button<3?d.button:3)):f=d.buttons&1?0:d.buttons&4?1:d.buttons&2?2:3;break;case"mouseup":p=0,f=d.button<3?d.button:3;break;case"mousedown":p=1,f=d.button<3?d.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(d)===!1)return!1;let _=d.deltaY;if(_===0||t.coreMouseService.consumeWheelEvent(d,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return!1;p=_<0?0:1,f=4;break;default:return!1}return p===void 0||f===void 0||f>4?!1:t.coreMouseService.triggerMouseEvent({col:u.col,row:u.row,x:u.x,y:u.y,button:f,action:p,ctrl:d.ctrlKey,alt:d.altKey,shift:d.shiftKey})}let l={mouseup:null,wheel:null,mousedrag:null,mousemove:null},c={mouseup:(d)=>(a(d),d.buttons||(this._document.removeEventListener("mouseup",l.mouseup),l.mousedrag&&this._document.removeEventListener("mousemove",l.mousedrag)),this.cancel(d)),wheel:(d)=>(a(d),this.cancel(d,!0)),mousedrag:(d)=>{d.buttons&&a(d)},mousemove:(d)=>{d.buttons||a(d)}};this._register(this.coreMouseService.onProtocolChange((d)=>{d?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(d)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),d&8?l.mousemove||(s.addEventListener("mousemove",c.mousemove),l.mousemove=c.mousemove):(s.removeEventListener("mousemove",l.mousemove),l.mousemove=null),d&16?l.wheel||(s.addEventListener("wheel",c.wheel,{passive:!1}),l.wheel=c.wheel):(s.removeEventListener("wheel",l.wheel),l.wheel=null),d&2?l.mouseup||(l.mouseup=c.mouseup):(this._document.removeEventListener("mouseup",l.mouseup),l.mouseup=null),d&4?l.mousedrag||(l.mousedrag=c.mousedrag):(this._document.removeEventListener("mousemove",l.mousedrag),l.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(H(s,"mousedown",(d)=>{if(d.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(d)))return a(d),l.mouseup&&this._document.addEventListener("mouseup",l.mouseup),l.mousedrag&&this._document.addEventListener("mousemove",l.mousedrag),this.cancel(d)})),this._register(H(s,"wheel",(d)=>{if(!l.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(d)===!1)return!1;if(!this.buffer.hasScrollback){if(d.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(d,t._renderService?.dimensions?.device?.cell?.height,t._coreBrowserService?.dpr)===0)return this.cancel(d,!0);let u=C.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(d.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(u,!0),this.cancel(d,!0)}}},{passive:!1}))}refresh(t,s){this._renderService?.refreshRows(t,s)}updateCursorStyle(t){this._selectionService?.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,s){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,s),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let s=t-this._bufferService.buffer.ydisp;s!==0&&this.scrollLines(s)}paste(t){Dr(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let s=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),s}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,s,a){this._selectionService.setSelection(t,s,a)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(t,s){this._selectionService?.selectLines(t,s)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let s=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!s&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!s&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let a=Wh(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),a.type===3||a.type===2){let l=this.rows-1;return this.scrollLines(a.type===2?-l:l),this.cancel(t,!0)}if(a.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(a.cancel&&this.cancel(t,!0),!a.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((a.key===C.ETX||a.key===C.CR)&&(this.textarea.value=""),this._onKey.fire({key:a.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(a.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,s){let a=t.isMac&&!this.options.macOptionIsMeta&&s.altKey&&!s.ctrlKey&&!s.metaKey||t.isWindows&&s.altKey&&s.ctrlKey&&!s.metaKey||t.isWindows&&s.getModifierState("AltGraph");return s.type==="keypress"?a:a&&(!s.keyCode||s.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(Yh(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let s;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)s=t.charCode;else if(t.which===null||t.which===void 0)s=t.keyCode;else if(t.which!==0&&t.charCode!==0)s=t.which;else return!1;return!s||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(s=String.fromCharCode(s),this._onKey.fire({key:s,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(s,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let s=t.data;return this.coreService.triggerDataEvent(s,!0),this.cancel(t),!0}return!1}resize(t,s){if(t===this.cols&&s===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,s)}_afterResize(t,s){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t<this.rows;t++)this.buffer.lines.push(this.buffer.getBlankLine(re));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let t=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=t,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(C.ESC+"[I"):this.coreService.triggerDataEvent(C.ESC+"[O")}_reportWindowsOptions(t){if(this._renderService)switch(t){case 0:let s=this._renderService.dimensions.css.canvas.width.toFixed(0),a=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[4;${a};${s}t`);break;case 1:let l=this._renderService.dimensions.css.cell.width.toFixed(0),c=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${C.ESC}[6;${c};${l}t`);break}}cancel(t,s){if(!(!this.options.cancelEvents&&!s))return t.preventDefault(),t.stopPropagation(),!1}};function Yh(t){return t.keyCode===16||t.keyCode===17||t.keyCode===18}var jh=class{constructor(){this._addons=[]}dispose(){for(let t=this._addons.length-1;t>=0;t--)this._addons[t].instance.dispose()}loadAddon(t,s){let a={instance:s,dispose:s.dispose,isDisposed:!1};this._addons.push(a),s.dispose=()=>this._wrappedAddonDispose(a),s.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let s=-1;for(let a=0;a<this._addons.length;a++)if(this._addons[a]===t){s=a;break}if(s===-1)throw Error("Could not dispose an addon that has not been loaded");t.isDisposed=!0,t.dispose.apply(t.instance),this._addons.splice(s,1)}},Xh=class{constructor(t){this._line=t}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(t,s){if(!(t<0||t>=this._line.length))return s?(this._line.loadCell(t,s),s):this._line.loadCell(t,new Me)}translateToString(t,s,a){return this._line.translateToString(t,s,a)}},kr=class{constructor(t,s){this._buffer=t,this.type=s}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let s=this._buffer.lines.get(t);if(s)return new Xh(s)}getNullCell(){return new Me}},Gh=class extends W{constructor(t){super();this._core=t,this._onBufferChange=this._register(new D),this.onBufferChange=this._onBufferChange.event,this._normal=new kr(this._core.buffers.normal,"normal"),this._alternate=new kr(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Jh=class{constructor(t){this._core=t}registerCsiHandler(t,s){return this._core.registerCsiHandler(t,(a)=>s(a.toArray()))}addCsiHandler(t,s){return this.registerCsiHandler(t,s)}registerDcsHandler(t,s){return this._core.registerDcsHandler(t,(a,l)=>s(a,l.toArray()))}addDcsHandler(t,s){return this.registerDcsHandler(t,s)}registerEscHandler(t,s){return this._core.registerEscHandler(t,s)}addEscHandler(t,s){return this.registerEscHandler(t,s)}registerOscHandler(t,s){return this._core.registerOscHandler(t,s)}addOscHandler(t,s){return this.registerOscHandler(t,s)}},Zh=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},Qh=["cols","rows"],Ae=0,un=class extends W{constructor(t){super(),this._core=this._register(new Vh(t)),this._addonManager=this._register(new jh),this._publicOptions={...this._core.options};let s=(l)=>this._core.options[l],a=(l,c)=>{this._checkReadonlyOptions(l),this._core.options[l]=c};for(let l in this._core.options){let c={get:s.bind(this,l),set:a.bind(this,l)};Object.defineProperty(this._publicOptions,l,c)}}_checkReadonlyOptions(t){if(Qh.includes(t))throw Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Jh(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Zh(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new Gh(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,s="none";switch(this._core.coreMouseService.activeProtocol){case"X10":s="x10";break;case"VT200":s="vt200";break;case"DRAG":s="drag";break;case"ANY":s="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:s,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let s in t)this._publicOptions[s]=t[s]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,s=!0){this._core.input(t,s)}resize(t,s){this._verifyIntegers(t,s),this._core.resize(t,s)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,s,a){this._verifyIntegers(t,s,a),this._core.select(t,s,a)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,s){this._verifyIntegers(t,s),this._core.selectLines(t,s)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,s){this._core.write(t,s)}writeln(t,s){this._core.write(t),this._core.write(`\r
36
+ `,s)}paste(t){this._core.paste(t)}refresh(t,s){this._verifyIntegers(t,s),this._core.refresh(t,s)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return Ii.get()},set promptLabel(t){Ii.set(t)},get tooMuchOutput(){return Ni.get()},set tooMuchOutput(t){Ni.set(t)}}}_verifyIntegers(...t){for(Ae of t)if(Ae===1/0||isNaN(Ae)||Ae%1!==0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(Ae of t)if(Ae&&(Ae===1/0||isNaN(Ae)||Ae%1!==0||Ae<0))throw Error("This API only accepts positive integers")}};var _n=`/**
37
37
  * Copyright (c) 2014 The xterm.js authors. All rights reserved.
38
38
  * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
39
39
  * https://github.com/chjj/term.js
@@ -318,7 +318,7 @@ ${v.join(`
318
318
  .xterm .xterm-scrollable-element > .shadow.top.left {
319
319
  box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset;
320
320
  }
321
- `;var tt="/api/plugins/terminal/sessions";var tl=5000,il=32000,fn=!1;function sl(){if(fn||typeof document>"u")return;fn=!0;let e=document.createElement("style");e.dataset.basaltXterm="",e.textContent=`${_n}
322
- .xterm .xterm-viewport, .xterm .xterm-screen { background-color: transparent !important; }`,document.head.append(e)}function Fd(e){let{Button:s,style:a,cn:l}=_(),{connection:c}=e,d=e.session.projectID,[u,p]=r([]),[g,f]=r(),[v,m]=r(!0),[b,w]=r(!1),[S,y]=r();o(()=>{if(!d){m(!1);return}let E=!1;return c.request(`${tt}?projectID=${encodeURIComponent(d)}`).then(async(A)=>{if(E)return;if(A.length===0)A=[await c.request(tt,{method:"POST",body:JSON.stringify({projectID:d,cols:80,rows:24})})];if(E)return;p(A),f((N)=>N??A.at(-1)?.id)}).catch((A)=>{if(!E)y(A instanceof Error?A.message:"加载终端列表失败")}).finally(()=>{if(!E)m(!1)}),()=>{E=!0}},[c,d]);let R=async()=>{if(b||!d)return;w(!0);try{let E=await c.request(tt,{method:"POST",body:JSON.stringify({projectID:d,cols:80,rows:24})});p((A)=>[...A,E]),f(E.id),y(void 0)}catch(E){y(E instanceof Error?E.message:"创建终端失败")}finally{w(!1)}},P=async(E)=>{try{await c.request(`${tt}/${encodeURIComponent(E)}`,{method:"DELETE"})}catch(N){if(!(N instanceof Error&&("status"in N)&&N.status===404)){y(N instanceof Error?N.message:"关闭终端失败");return}}let A=u.filter((N)=>N.id!==E);if(A.length===0&&e.onClose){e.onClose();return}if(p(A),g===E)f(A.at(-1)?.id)},U=h((E,A)=>{p((N)=>N.map((G)=>G.id===E?{...G,exitCode:A}:G))},[]),I=u.find((E)=>E.id===g);if(!d)return t("p",{className:a("surface.empty","p-4"),children:"终端属于项目,请在项目下的会话中打开。"});return n("section",{"aria-label":"终端",className:"flex min-h-0 flex-1 flex-col",children:[n("div",{className:"flex h-12 shrink-0 items-center gap-1 overflow-x-auto pr-12 pl-3",children:[t(st,{className:"mr-1 size-4 shrink-0 text-dim","aria-hidden":!0}),t("div",{role:"tablist","aria-label":"终端列表",className:"flex min-w-0 items-center gap-1",children:u.map((E,A)=>n("div",{className:l("group flex shrink-0 items-center rounded-lg text-xs",E.id===g?"bg-accent-soft text-ink":"text-dim hover:bg-raised"),children:[n("button",{type:"button",role:"tab","aria-selected":E.id===g,className:"py-1.5 pr-1 pl-2.5",onClick:()=>f(E.id),children:[E.shell," ",A+1,E.exitCode!==null&&t("span",{className:"ml-1 text-faint",children:"(已退出)"})]}),t("button",{type:"button","aria-label":`关闭 ${E.shell} ${A+1}`,className:"mr-1 rounded p-0.5 text-faint hover:bg-raised hover:text-ink",onClick:()=>P(E.id),children:t(Q,{className:"size-3.5"})})]},E.id))}),t(s,{size:"icon-sm",variant:"ghost","aria-label":"新建终端",loading:b,onClick:R,children:t(pe,{className:"size-4"})})]}),S&&t("div",{role:"alert",className:a("callout.danger","mx-3 mt-3 text-xs"),children:S}),I?t(rl,{connection:c,info:I,onExit:U},I.id):n("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center",children:[t("p",{className:"text-sm text-dim",children:v?"正在加载终端…":"在项目目录打开终端,拥有服务进程的全部权限。"}),!v&&n(s,{variant:"primary",loading:b,onClick:R,children:[t(pe,{className:"size-4"}),"新建终端"]})]})]})}function rl({connection:e,info:s,onExit:a}){let{useTheme:l}=_(),c=l(),d=i(null),u=i(void 0),[p]=r(s),[g,f]=r(s.exitCode===null?"connecting":"exited"),[v,m]=r(s.exitCode);o(()=>{let w=d.current;if(!w)return;sl();let S=new un({cols:p.cols,rows:p.rows,cursorBlink:!0,allowTransparency:!0,fontSize:13,lineHeight:1.2,scrollback:5000,...p.windows?{windowsPty:{backend:"conpty"}}:{}}),y=new ys;S.loadAddon(y),S.open(w),u.current=S;let R=encodeURIComponent(p.id),P=new AbortController,U,I=p.exitCode!==null,E=500,A="",N=!1,G=async()=>{if(N)return;N=!0;try{while(A&&!P.signal.aborted&&!I){let x=A.slice(0,il);A=A.slice(x.length),await e.request(`${tt}/${R}/input`,{method:"POST",body:JSON.stringify({data:x}),signal:P.signal})}}catch{A=""}finally{N=!1}},Ce=S.onData((x)=>{if(I)return;A+=x,G()}),we,it=S.onResize(({cols:x,rows:T})=>{if(I)return;clearTimeout(we),we=setTimeout(()=>{e.request(`${tt}/${R}/resize`,{method:"POST",body:JSON.stringify({cols:x,rows:T}),signal:P.signal}).catch(()=>{})},120)}),V=new ResizeObserver(()=>{let x=y.proposeDimensions();if(x&&x.rows>=5&&x.cols>=20)y.fit()});V.observe(w);let vt=(x)=>{if(x.type==="output"){if(x.reset)S.reset();S.write(x.data),U=x.offset;return}I=!0,m(x.code),f("exited"),a(p.id,x.code)};return(async()=>{if(!e.requestStream)throw Error("当前连接不支持流式请求");while(!P.signal.aborted&&!I){try{let x=U===void 0?"":`?after=${U}`,T=await e.requestStream(`${tt}/${R}/stream${x}`,{headers:{accept:"text/event-stream"},signal:P.signal});if(!T.body)throw Error("终端输出流为空");f("open"),E=500;let L=T.body.getReader(),O=new TextDecoder,B="";while(!0){let{done:F,value:Y}=await L.read();if(F)break;B+=O.decode(Y,{stream:!0});let se=B.split(`
321
+ `;var tt="/api/plugins/terminal/sessions";var tl=5000,il=32000,fn=!1;function sl(){if(fn||typeof document>"u")return;fn=!0;let t=document.createElement("style");t.dataset.basaltXterm="",t.textContent=`${_n}
322
+ .xterm .xterm-viewport, .xterm .xterm-screen { background-color: transparent !important; }`,document.head.append(t)}function Fd(t){let{Button:s,style:a,cn:l}=b(),{connection:c}=t,d=t.session.projectID,[u,f]=r([]),[p,_]=r(),[m,g]=r(!0),[S,w]=r(!1),[v,y]=r();o(()=>{if(!d){g(!1);return}let E=!1;return c.request(`${tt}?projectID=${encodeURIComponent(d)}`).then(async(A)=>{if(E)return;if(A.length===0)A=[await c.request(tt,{method:"POST",body:JSON.stringify({projectID:d,cols:80,rows:24})})];if(E)return;f(A),_((N)=>N??A.at(-1)?.id)}).catch((A)=>{if(!E)y(A instanceof Error?A.message:"加载终端列表失败")}).finally(()=>{if(!E)g(!1)}),()=>{E=!0}},[c,d]);let R=async()=>{if(S||!d)return;w(!0);try{let E=await c.request(tt,{method:"POST",body:JSON.stringify({projectID:d,cols:80,rows:24})});f((A)=>[...A,E]),_(E.id),y(void 0)}catch(E){y(E instanceof Error?E.message:"创建终端失败")}finally{w(!1)}},P=async(E)=>{try{await c.request(`${tt}/${encodeURIComponent(E)}`,{method:"DELETE"})}catch(N){if(!(N instanceof Error&&("status"in N)&&N.status===404)){y(N instanceof Error?N.message:"关闭终端失败");return}}let A=u.filter((N)=>N.id!==E);if(A.length===0&&t.onClose){t.onClose();return}if(f(A),p===E)_(A.at(-1)?.id)},U=h((E,A)=>{f((N)=>N.map((G)=>G.id===E?{...G,exitCode:A}:G))},[]),I=u.find((E)=>E.id===p);if(!d)return e("p",{className:a("surface.empty","p-4"),children:"终端属于项目,请在项目下的会话中打开。"});return n("section",{"aria-label":"终端",className:"flex min-h-0 flex-1 flex-col",children:[n("div",{className:"flex h-12 shrink-0 items-center gap-1 overflow-x-auto pr-12 pl-3",children:[e(ot,{className:"mr-1 size-4 shrink-0 text-dim","aria-hidden":!0}),e("div",{role:"tablist","aria-label":"终端列表",className:"flex min-w-0 items-center gap-1",children:u.map((E,A)=>n("div",{className:l("group flex shrink-0 items-center rounded-lg text-xs",E.id===p?"bg-accent-soft text-ink":"text-dim hover:bg-raised"),children:[n("button",{type:"button",role:"tab","aria-selected":E.id===p,className:"py-1.5 pr-1 pl-2.5",onClick:()=>_(E.id),children:[E.shell," ",A+1,E.exitCode!==null&&e("span",{className:"ml-1 text-faint",children:"(已退出)"})]}),e("button",{type:"button","aria-label":`关闭 ${E.shell} ${A+1}`,className:"mr-1 rounded p-0.5 text-faint hover:bg-raised hover:text-ink",onClick:()=>P(E.id),children:e(Z,{className:"size-3.5"})})]},E.id))}),e(s,{size:"icon-sm",variant:"ghost","aria-label":"新建终端",loading:S,onClick:R,children:e(ce,{className:"size-4"})})]}),v&&e("div",{role:"alert",className:a("callout.danger","mx-3 mt-3 text-xs"),children:v}),I?e(rl,{connection:c,info:I,onExit:U},I.id):n("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center",children:[e("p",{className:"text-sm text-dim",children:m?"正在加载终端…":"在项目目录打开终端,拥有服务进程的全部权限。"}),!m&&n(s,{variant:"primary",loading:S,onClick:R,children:[e(ce,{className:"size-4"}),"新建终端"]})]})]})}function rl({connection:t,info:s,onExit:a}){let{useTheme:l}=b(),c=l(),d=i(null),u=i(void 0),[f]=r(s),[p,_]=r(s.exitCode===null?"connecting":"exited"),[m,g]=r(s.exitCode);o(()=>{let w=d.current;if(!w)return;sl();let v=new un({cols:f.cols,rows:f.rows,cursorBlink:!0,allowTransparency:!0,fontSize:13,lineHeight:1.2,scrollback:5000,...f.windows?{windowsPty:{backend:"conpty"}}:{}}),y=new ys;v.loadAddon(y),v.open(w),u.current=v;let R=encodeURIComponent(f.id),P=new AbortController,U,I=f.exitCode!==null,E=500,A="",N=!1,G=async()=>{if(N)return;N=!0;try{while(A&&!P.signal.aborted&&!I){let x=A.slice(0,il);A=A.slice(x.length),await t.request(`${tt}/${R}/input`,{method:"POST",body:JSON.stringify({data:x}),signal:P.signal})}}catch{A=""}finally{N=!1}},Ce=v.onData((x)=>{if(I)return;A+=x,G()}),we,it=v.onResize(({cols:x,rows:T})=>{if(I)return;clearTimeout(we),we=setTimeout(()=>{t.request(`${tt}/${R}/resize`,{method:"POST",body:JSON.stringify({cols:x,rows:T}),signal:P.signal}).catch(()=>{})},120)}),V=new ResizeObserver(()=>{let x=y.proposeDimensions();if(x&&x.rows>=5&&x.cols>=20)y.fit()});V.observe(w);let vt=(x)=>{if(x.type==="output"){if(x.reset)v.reset();v.write(x.data),U=x.offset;return}I=!0,g(x.code),_("exited"),a(f.id,x.code)};return(async()=>{if(!t.requestStream)throw Error("当前连接不支持流式请求");while(!P.signal.aborted&&!I){try{let x=U===void 0?"":`?after=${U}`,T=await t.requestStream(`${tt}/${R}/stream${x}`,{headers:{accept:"text/event-stream"},signal:P.signal});if(!T.body)throw Error("终端输出流为空");_("open"),E=500;let L=T.body.getReader(),O=new TextDecoder,B="";while(!0){let{done:F,value:Y}=await L.read();if(F)break;B+=O.decode(Y,{stream:!0});let se=B.split(`
323
323
 
324
- `);B=se.pop()??"";for(let xe of se){if(!xe.startsWith("data: "))continue;vt(JSON.parse(xe.slice(6)))}}}catch(x){if(P.signal.aborted)return;if(x instanceof Error&&"status"in x&&x.status===404){I=!0,f("exited"),a(p.id,null);return}}if(P.signal.aborted||I)return;f("retrying"),await new Promise((x)=>setTimeout(x,E)),E=Math.min(E*2,tl)}})().catch(()=>f("retrying")),S.focus(),()=>{P.abort(),clearTimeout(we),V.disconnect(),Ce.dispose(),it.dispose(),S.dispose(),u.current=void 0}},[e,p,a]),o(()=>{let w=u.current;if(!w)return;w.options.theme=nl(c.tokens.colors.hex),w.options.fontFamily=c.tokens.fonts.mono},[c]);let b="";if(g==="connecting")b="正在连接…";else if(g==="retrying")b="连接中断,正在重连…";else if(g==="exited")b=`进程已退出${v===null?"":`(退出码 ${v})`}`;return n("div",{className:"flex min-h-0 flex-1 flex-col",children:[b&&t("div",{role:"status",className:"px-3 pt-2 text-xs text-dim",children:b}),t("div",{ref:d,className:"min-h-0 flex-1 pr-1 pb-2 pl-3"})]})}function nl(e){return{background:"#00000000",foreground:e.ink,cursor:e.ink,cursorAccent:e.bg,selectionBackground:e.lineStrong,scrollbarSliderBackground:`${e.lineStrong}66`,scrollbarSliderHoverBackground:`${e.lineStrong}aa`,scrollbarSliderActiveBackground:e.lineStrong}}export{Fd as TerminalSidebar};
324
+ `);B=se.pop()??"";for(let xe of se){if(!xe.startsWith("data: "))continue;vt(JSON.parse(xe.slice(6)))}}}catch(x){if(P.signal.aborted)return;if(x instanceof Error&&"status"in x&&x.status===404){I=!0,_("exited"),a(f.id,null);return}}if(P.signal.aborted||I)return;_("retrying"),await new Promise((x)=>setTimeout(x,E)),E=Math.min(E*2,tl)}})().catch(()=>_("retrying")),v.focus(),()=>{P.abort(),clearTimeout(we),V.disconnect(),Ce.dispose(),it.dispose(),v.dispose(),u.current=void 0}},[t,f,a]),o(()=>{let w=u.current;if(!w)return;w.options.theme=nl(c.tokens.colors.hex),w.options.fontFamily=c.tokens.fonts.mono},[c]);let S="";if(p==="connecting")S="正在连接…";else if(p==="retrying")S="连接中断,正在重连…";else if(p==="exited")S=`进程已退出${m===null?"":`(退出码 ${m})`}`;return n("div",{className:"flex min-h-0 flex-1 flex-col",children:[S&&e("div",{role:"status",className:"px-3 pt-2 text-xs text-dim",children:S}),e("div",{ref:d,className:"min-h-0 flex-1 pr-1 pb-2 pl-3"})]})}function nl(t){return{background:"#00000000",foreground:t.ink,cursor:t.ink,cursorAccent:t.bg,selectionBackground:t.lineStrong,scrollbarSliderBackground:`${t.lineStrong}66`,scrollbarSliderHoverBackground:`${t.lineStrong}aa`,scrollbarSliderActiveBackground:t.lineStrong}}export{Fd as TerminalSidebar};