@hyzyn/dsh-tty 0.18.3 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client.js CHANGED
@@ -1,20 +1,20 @@
1
- "use strict";(()=>{var Kl=Object.create;var Rn=Object.defineProperty;var Gl=Object.getOwnPropertyDescriptor;var Vl=Object.getOwnPropertyNames;var Yl=Object.getPrototypeOf,Xl=Object.prototype.hasOwnProperty;var Tn=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(i){throw t=0,i}};var Jl=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Vl(t))!Xl.call(e,a)&&a!==i&&Rn(e,a,{get:()=>t[a],enumerable:!(n=Gl(t,a))||n.enumerable});return e};var An=(e,t,i)=>(i=e!=null?Kl(Yl(e)):{},Jl(t||!e||!e.__esModule?Rn(i,"default",{value:e,enumerable:!0}):i,e));var Bn=Tn((or,os)=>{(function(e,t){if(typeof or=="object"&&typeof os=="object")os.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var i=t();for(var n in i)(typeof or=="object"?or:e)[n]=i[n]}})(globalThis,(()=>(()=>{"use strict";var e={4567:function(a,r,s){var o=this&&this.__decorate||function(h,u,v,C){var b,y=arguments.length,m=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,v):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,C);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(y<3?b(m):y>3?b(u,v,m):b(u,v))||m);return y>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,C){u(v,C,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let l=s(9042),p=s(9924),g=s(844),S=s(4725),_=s(2585),c=s(3656),d=r.AccessibilityManager=class extends g.Disposable{constructor(h,u,v,C){super(),this._terminal=h,this._coreBrowserService=v,this._renderService=C,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let b=0;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);if(this._topBoundaryFocusListener=b=>this._handleBoundaryFocus(b,0),this._bottomBoundaryFocusListener=b=>this._handleBoundaryFocus(b,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new p.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((b=>this._handleResize(b.rows)))),this.register(this._terminal.onRender((b=>this._refreshRows(b.start,b.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((b=>this._handleChar(b)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
1
+ "use strict";(()=>{var uc=Object.create;var $n=Object.defineProperty;var fc=Object.getOwnPropertyDescriptor;var _c=Object.getOwnPropertyNames;var pc=Object.getPrototypeOf,gc=Object.prototype.hasOwnProperty;var zn=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}};var vc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of _c(t))!gc.call(e,a)&&a!==r&&$n(e,a,{get:()=>t[a],enumerable:!(n=fc(t,a))||n.enumerable});return e};var Un=(e,t,r)=>(r=e!=null?uc(pc(e)):{},vc(t||!e||!e.__esModule?$n(r,"default",{value:e,enumerable:!0}):r,e));var qn=zn((ci,us)=>{(function(e,t){if(typeof ci=="object"&&typeof us=="object")us.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var r=t();for(var n in r)(typeof ci=="object"?ci:e)[n]=r[n]}})(globalThis,(()=>(()=>{"use strict";var e={4567:function(a,i,s){var o=this&&this.__decorate||function(h,u,v,y){var b,C=arguments.length,m=C<3?u:y===null?y=Object.getOwnPropertyDescriptor(u,v):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,y);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(C<3?b(m):C>3?b(u,v,m):b(u,v))||m);return C>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,y){u(v,y,h)}};Object.defineProperty(i,"__esModule",{value:!0}),i.AccessibilityManager=void 0;let l=s(9042),p=s(9924),g=s(844),S=s(4725),_=s(2585),c=s(3656),d=i.AccessibilityManager=class extends g.Disposable{constructor(h,u,v,y){super(),this._terminal=h,this._coreBrowserService=v,this._renderService=y,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let b=0;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);if(this._topBoundaryFocusListener=b=>this._handleBoundaryFocus(b,0),this._bottomBoundaryFocusListener=b=>this._handleBoundaryFocus(b,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new p.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((b=>this._handleResize(b.rows)))),this.register(this._terminal.onRender((b=>this._refreshRows(b.start,b.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((b=>this._handleChar(b)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
2
2
  `)))),this.register(this._terminal.onA11yTab((b=>this._handleTab(b)))),this.register(this._terminal.onKey((b=>this._handleKey(b.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,c.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,g.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(h){for(let u=0;u<h;u++)this._handleChar(" ")}_handleChar(h){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==h&&(this._charsToAnnounce+=h):this._charsToAnnounce+=h,h===`
3
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=l.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(h){this._clearLiveRegion(),/\p{Control}/u.test(h)||this._charsToConsume.push(h)}_refreshRows(h,u){this._liveRegionDebouncer.refresh(h,u,this._terminal.rows)}_renderRows(h,u){let v=this._terminal.buffer,C=v.lines.length.toString();for(let b=h;b<=u;b++){let y=v.lines.get(v.ydisp+b),m=[],E=y?.translateToString(!0,void 0,void 0,m)||"",P=(v.ydisp+b+1).toString(),B=this._rowElements[b];B&&(E.length===0?(B.innerText="\xA0",this._rowColumns.set(B,[0,1])):(B.textContent=E,this._rowColumns.set(B,m)),B.setAttribute("aria-posinset",P),B.setAttribute("aria-setsize",C))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(h,u){let v=h.target,C=this._rowElements[u===0?1:this._rowElements.length-2];if(v.getAttribute("aria-posinset")===(u===0?"1":`${this._terminal.buffer.lines.length}`)||h.relatedTarget!==C)return;let b,y;if(u===0?(b=v,y=this._rowElements.pop(),this._rowContainer.removeChild(y)):(b=this._rowElements.shift(),y=v,this._rowContainer.removeChild(b)),b.removeEventListener("focus",this._topBoundaryFocusListener),y.removeEventListener("focus",this._bottomBoundaryFocusListener),u===0){let m=this._createAccessibilityTreeNode();this._rowElements.unshift(m),this._rowContainer.insertAdjacentElement("afterbegin",m)}else{let m=this._createAccessibilityTreeNode();this._rowElements.push(m),this._rowContainer.appendChild(m)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(u===0?-1:1),this._rowElements[u===0?1:this._rowElements.length-2].focus(),h.preventDefault(),h.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let h=document.getSelection();if(!h)return;if(h.isCollapsed)return void(this._rowContainer.contains(h.anchorNode)&&this._terminal.clearSelection());if(!h.anchorNode||!h.focusNode)return void console.error("anchorNode and/or focusNode are null");let u={node:h.anchorNode,offset:h.anchorOffset},v={node:h.focusNode,offset:h.focusOffset};if((u.node.compareDocumentPosition(v.node)&Node.DOCUMENT_POSITION_PRECEDING||u.node===v.node&&u.offset>v.offset)&&([u,v]=[v,u]),u.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(u={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(u.node))return;let C=this._rowElements.slice(-1)[0];if(v.node.compareDocumentPosition(C)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(v={node:C,offset:C.textContent?.length??0}),!this._rowContainer.contains(v.node))return;let b=({node:E,offset:P})=>{let B=E instanceof Text?E.parentNode:E,H=parseInt(B?.getAttribute("aria-posinset"),10)-1;if(isNaN(H))return console.warn("row is invalid. Race condition?"),null;let R=this._rowColumns.get(B);if(!R)return console.warn("columns is null. Race condition?"),null;let j=P<R.length?R[P]:R.slice(-1)[0]+1;return j>=this._terminal.cols&&(++H,j=0),{row:H,column:j}},y=b(u),m=b(v);if(y&&m){if(y.row>m.row||y.row===m.row&&y.column>=m.column)throw new Error("invalid range");this._terminal.select(y.column,y.row,(m.row-y.row)*this._terminal.cols-y.column+m.column)}}_handleResize(h){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let u=this._rowContainer.children.length;u<this._terminal.rows;u++)this._rowElements[u]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[u]);for(;this._rowElements.length>h;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let h=this._coreBrowserService.mainDocument.createElement("div");return h.setAttribute("role","listitem"),h.tabIndex=-1,this._refreshRowDimensions(h),h}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let h=0;h<this._terminal.rows;h++)this._refreshRowDimensions(this._rowElements[h])}}_refreshRowDimensions(h){h.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=d=o([f(1,_.IInstantiationService),f(2,S.ICoreBrowserService),f(3,S.IRenderService)],d)},3614:(a,r)=>{function s(p){return p.replace(/\r?\n/g,"\r")}function o(p,g){return g?"\x1B[200~"+p+"\x1B[201~":p}function f(p,g,S,_){p=o(p=s(p),S.decPrivateModes.bracketedPasteMode&&_.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(p,!0),g.value=""}function l(p,g,S){let _=S.getBoundingClientRect(),c=p.clientX-_.left-10,d=p.clientY-_.top-10;g.style.width="20px",g.style.height="20px",g.style.left=`${c}px`,g.style.top=`${d}px`,g.style.zIndex="1000",g.focus()}Object.defineProperty(r,"__esModule",{value:!0}),r.rightClickHandler=r.moveTextAreaUnderMouseCursor=r.paste=r.handlePasteEvent=r.copyHandler=r.bracketTextForPaste=r.prepareTextForTerminal=void 0,r.prepareTextForTerminal=s,r.bracketTextForPaste=o,r.copyHandler=function(p,g){p.clipboardData&&p.clipboardData.setData("text/plain",g.selectionText),p.preventDefault()},r.handlePasteEvent=function(p,g,S,_){p.stopPropagation(),p.clipboardData&&f(p.clipboardData.getData("text/plain"),g,S,_)},r.paste=f,r.moveTextAreaUnderMouseCursor=l,r.rightClickHandler=function(p,g,S,_,c){l(p,g,S),c&&_.rightClickSelect(p),g.value=_.selectionText,g.select()}},7239:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorContrastCache=void 0;let o=s(1505);r.ColorContrastCache=class{constructor(){this._color=new o.TwoKeyMap,this._css=new o.TwoKeyMap}setCss(f,l,p){this._css.set(f,l,p)}getCss(f,l){return this._css.get(f,l)}setColor(f,l,p){this._color.set(f,l,p)}getColor(f,l){return this._color.get(f,l)}clear(){this._color.clear(),this._css.clear()}}},3656:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.addDisposableDomListener=void 0,r.addDisposableDomListener=function(s,o,f,l){s.addEventListener(o,f,l);let p=!1;return{dispose:()=>{p||(p=!0,s.removeEventListener(o,f,l))}}}},3551:function(a,r,s){var o=this&&this.__decorate||function(d,h,u,v){var C,b=arguments.length,y=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(C=d[m])&&(y=(b<3?C(y):b>3?C(h,u,y):C(h,u))||y);return b>3&&y&&Object.defineProperty(h,u,y),y},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Linkifier=void 0;let l=s(3656),p=s(8460),g=s(844),S=s(2585),_=s(4725),c=r.Linkifier=class extends g.Disposable{get currentLink(){return this._currentLink}constructor(d,h,u,v,C){super(),this._element=d,this._mouseService=h,this._renderService=u,this._bufferService=v,this._linkProviderService=C,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new p.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new p.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,g.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,g.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,l.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,l.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,l.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,l.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(d){this._lastMouseEvent=d;let h=this._positionFromMouseEvent(d,this._element,this._mouseService);if(!h)return;this._isMouseOut=!1;let u=d.composedPath();for(let v=0;v<u.length;v++){let C=u[v];if(C.classList.contains("xterm"))break;if(C.classList.contains("xterm-hover"))return}this._lastBufferCell&&h.x===this._lastBufferCell.x&&h.y===this._lastBufferCell.y||(this._handleHover(h),this._lastBufferCell=h)}_handleHover(d){if(this._activeLine!==d.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(d,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,d)||(this._clearCurrentLink(),this._askForLink(d,!0))}_askForLink(d,h){this._activeProviderReplies&&h||(this._activeProviderReplies?.forEach((v=>{v?.forEach((C=>{C.link.dispose&&C.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=d.y);let u=!1;for(let[v,C]of this._linkProviderService.linkProviders.entries())h?this._activeProviderReplies?.get(v)&&(u=this._checkLinkProviderResult(v,d,u)):C.provideLinks(d.y,(b=>{if(this._isMouseOut)return;let y=b?.map((m=>({link:m})));this._activeProviderReplies?.set(v,y),u=this._checkLinkProviderResult(v,d,u),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(d.y,this._activeProviderReplies)}))}_removeIntersectingLinks(d,h){let u=new Set;for(let v=0;v<h.size;v++){let C=h.get(v);if(C)for(let b=0;b<C.length;b++){let y=C[b],m=y.link.range.start.y<d?0:y.link.range.start.x,E=y.link.range.end.y>d?this._bufferService.cols:y.link.range.end.x;for(let P=m;P<=E;P++){if(u.has(P)){C.splice(b--,1);break}u.add(P)}}}}_checkLinkProviderResult(d,h,u){if(!this._activeProviderReplies)return u;let v=this._activeProviderReplies.get(d),C=!1;for(let b=0;b<d;b++)this._activeProviderReplies.has(b)&&!this._activeProviderReplies.get(b)||(C=!0);if(!C&&v){let b=v.find((y=>this._linkAtPosition(y.link,h)));b&&(u=!0,this._handleNewLink(b))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!u)for(let b=0;b<this._activeProviderReplies.size;b++){let y=this._activeProviderReplies.get(b)?.find((m=>this._linkAtPosition(m.link,h)));if(y){u=!0,this._handleNewLink(y);break}}return u}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(d){if(!this._currentLink)return;let h=this._positionFromMouseEvent(d,this._element,this._mouseService);h&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,h)&&this._currentLink.link.activate(d,this._currentLink.link.text)}_clearCurrentLink(d,h){this._currentLink&&this._lastMouseEvent&&(!d||!h||this._currentLink.link.range.start.y>=d&&this._currentLink.link.range.end.y<=h)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,g.disposeArray)(this._linkCacheDisposables))}_handleNewLink(d){if(!this._lastMouseEvent)return;let h=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);h&&this._linkAtPosition(d.link,h)&&(this._currentLink=d,this._currentLink.state={decorations:{underline:d.link.decorations===void 0||d.link.decorations.underline,pointerCursor:d.link.decorations===void 0||d.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,d.link,this._lastMouseEvent),d.link.decorations={},Object.defineProperties(d.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:u=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==u&&(this._currentLink.state.decorations.pointerCursor=u,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",u))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:u=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==u&&(this._currentLink.state.decorations.underline=u,this._currentLink.state.isHovered&&this._fireUnderlineEvent(d.link,u))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((u=>{if(!this._currentLink)return;let v=u.start===0?0:u.start+1+this._bufferService.buffer.ydisp,C=this._bufferService.buffer.ydisp+1+u.end;if(this._currentLink.link.range.start.y>=v&&this._currentLink.link.range.end.y<=C&&(this._clearCurrentLink(v,C),this._lastMouseEvent)){let b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._askForLink(b,!1)}}))))}_linkHover(d,h,u){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(h,!0),this._currentLink.state.decorations.pointerCursor&&d.classList.add("xterm-cursor-pointer")),h.hover&&h.hover(u,h.text)}_fireUnderlineEvent(d,h){let u=d.range,v=this._bufferService.buffer.ydisp,C=this._createLinkUnderlineEvent(u.start.x-1,u.start.y-v-1,u.end.x,u.end.y-v-1,void 0);(h?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(C)}_linkLeave(d,h,u){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(h,!1),this._currentLink.state.decorations.pointerCursor&&d.classList.remove("xterm-cursor-pointer")),h.leave&&h.leave(u,h.text)}_linkAtPosition(d,h){let u=d.range.start.y*this._bufferService.cols+d.range.start.x,v=d.range.end.y*this._bufferService.cols+d.range.end.x,C=h.y*this._bufferService.cols+h.x;return u<=C&&C<=v}_positionFromMouseEvent(d,h,u){let v=u.getCoords(d,h,this._bufferService.cols,this._bufferService.rows);if(v)return{x:v[0],y:v[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(d,h,u,v,C){return{x1:d,y1:h,x2:u,y2:v,cols:this._bufferService.cols,fg:C}}};r.Linkifier=c=o([f(1,_.IMouseService),f(2,_.IRenderService),f(3,S.IBufferService),f(4,_.ILinkProviderService)],c)},9042:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.tooMuchOutput=r.promptLabel=void 0,r.promptLabel="Terminal input",r.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(a,r,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,C=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(C=(v<3?u(C):v>3?u(c,d,C):u(c,d))||C);return v>3&&C&&Object.defineProperty(c,d,C),C},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkProvider=void 0;let l=s(511),p=s(2585),g=r.OscLinkProvider=class{constructor(_,c,d){this._bufferService=_,this._optionsService=c,this._oscLinkService=d}provideLinks(_,c){let d=this._bufferService.buffer.lines.get(_-1);if(!d)return void c(void 0);let h=[],u=this._optionsService.rawOptions.linkHandler,v=new l.CellData,C=d.getTrimmedLength(),b=-1,y=-1,m=!1;for(let E=0;E<C;E++)if(y!==-1||d.hasContent(E)){if(d.loadCell(E,v),v.hasExtendedAttrs()&&v.extended.urlId){if(y===-1){y=E,b=v.extended.urlId;continue}m=v.extended.urlId!==b}else y!==-1&&(m=!0);if(m||y!==-1&&E===C-1){let P=this._oscLinkService.getLinkData(b)?.uri;if(P){let B={start:{x:y+1,y:_},end:{x:E+(m||E!==C-1?0:1),y:_}},H=!1;if(!u?.allowNonHttpProtocols)try{let R=new URL(P);["http:","https:"].includes(R.protocol)||(H=!0)}catch{H=!0}H||h.push({text:P,range:B,activate:(R,j)=>u?u.activate(R,j,B):S(0,j),hover:(R,j)=>u?.hover?.(R,j,B),leave:(R,j)=>u?.leave?.(R,j,B)})}m=!1,v.hasExtendedAttrs()&&v.extended.urlId?(y=E,b=v.extended.urlId):(y=-1,b=-1)}}c(h)}};function S(_,c){if(confirm(`Do you want to navigate to ${c}?
3
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=l.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(h){this._clearLiveRegion(),/\p{Control}/u.test(h)||this._charsToConsume.push(h)}_refreshRows(h,u){this._liveRegionDebouncer.refresh(h,u,this._terminal.rows)}_renderRows(h,u){let v=this._terminal.buffer,y=v.lines.length.toString();for(let b=h;b<=u;b++){let C=v.lines.get(v.ydisp+b),m=[],E=C?.translateToString(!0,void 0,void 0,m)||"",P=(v.ydisp+b+1).toString(),B=this._rowElements[b];B&&(E.length===0?(B.innerText="\xA0",this._rowColumns.set(B,[0,1])):(B.textContent=E,this._rowColumns.set(B,m)),B.setAttribute("aria-posinset",P),B.setAttribute("aria-setsize",y))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(h,u){let v=h.target,y=this._rowElements[u===0?1:this._rowElements.length-2];if(v.getAttribute("aria-posinset")===(u===0?"1":`${this._terminal.buffer.lines.length}`)||h.relatedTarget!==y)return;let b,C;if(u===0?(b=v,C=this._rowElements.pop(),this._rowContainer.removeChild(C)):(b=this._rowElements.shift(),C=v,this._rowContainer.removeChild(b)),b.removeEventListener("focus",this._topBoundaryFocusListener),C.removeEventListener("focus",this._bottomBoundaryFocusListener),u===0){let m=this._createAccessibilityTreeNode();this._rowElements.unshift(m),this._rowContainer.insertAdjacentElement("afterbegin",m)}else{let m=this._createAccessibilityTreeNode();this._rowElements.push(m),this._rowContainer.appendChild(m)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(u===0?-1:1),this._rowElements[u===0?1:this._rowElements.length-2].focus(),h.preventDefault(),h.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let h=document.getSelection();if(!h)return;if(h.isCollapsed)return void(this._rowContainer.contains(h.anchorNode)&&this._terminal.clearSelection());if(!h.anchorNode||!h.focusNode)return void console.error("anchorNode and/or focusNode are null");let u={node:h.anchorNode,offset:h.anchorOffset},v={node:h.focusNode,offset:h.focusOffset};if((u.node.compareDocumentPosition(v.node)&Node.DOCUMENT_POSITION_PRECEDING||u.node===v.node&&u.offset>v.offset)&&([u,v]=[v,u]),u.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(u={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(u.node))return;let y=this._rowElements.slice(-1)[0];if(v.node.compareDocumentPosition(y)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(v={node:y,offset:y.textContent?.length??0}),!this._rowContainer.contains(v.node))return;let b=({node:E,offset:P})=>{let B=E instanceof Text?E.parentNode:E,H=parseInt(B?.getAttribute("aria-posinset"),10)-1;if(isNaN(H))return console.warn("row is invalid. Race condition?"),null;let R=this._rowColumns.get(B);if(!R)return console.warn("columns is null. Race condition?"),null;let j=P<R.length?R[P]:R.slice(-1)[0]+1;return j>=this._terminal.cols&&(++H,j=0),{row:H,column:j}},C=b(u),m=b(v);if(C&&m){if(C.row>m.row||C.row===m.row&&C.column>=m.column)throw new Error("invalid range");this._terminal.select(C.column,C.row,(m.row-C.row)*this._terminal.cols-C.column+m.column)}}_handleResize(h){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let u=this._rowContainer.children.length;u<this._terminal.rows;u++)this._rowElements[u]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[u]);for(;this._rowElements.length>h;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let h=this._coreBrowserService.mainDocument.createElement("div");return h.setAttribute("role","listitem"),h.tabIndex=-1,this._refreshRowDimensions(h),h}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let h=0;h<this._terminal.rows;h++)this._refreshRowDimensions(this._rowElements[h])}}_refreshRowDimensions(h){h.style.height=`${this._renderService.dimensions.css.cell.height}px`}};i.AccessibilityManager=d=o([f(1,_.IInstantiationService),f(2,S.ICoreBrowserService),f(3,S.IRenderService)],d)},3614:(a,i)=>{function s(p){return p.replace(/\r?\n/g,"\r")}function o(p,g){return g?"\x1B[200~"+p+"\x1B[201~":p}function f(p,g,S,_){p=o(p=s(p),S.decPrivateModes.bracketedPasteMode&&_.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(p,!0),g.value=""}function l(p,g,S){let _=S.getBoundingClientRect(),c=p.clientX-_.left-10,d=p.clientY-_.top-10;g.style.width="20px",g.style.height="20px",g.style.left=`${c}px`,g.style.top=`${d}px`,g.style.zIndex="1000",g.focus()}Object.defineProperty(i,"__esModule",{value:!0}),i.rightClickHandler=i.moveTextAreaUnderMouseCursor=i.paste=i.handlePasteEvent=i.copyHandler=i.bracketTextForPaste=i.prepareTextForTerminal=void 0,i.prepareTextForTerminal=s,i.bracketTextForPaste=o,i.copyHandler=function(p,g){p.clipboardData&&p.clipboardData.setData("text/plain",g.selectionText),p.preventDefault()},i.handlePasteEvent=function(p,g,S,_){p.stopPropagation(),p.clipboardData&&f(p.clipboardData.getData("text/plain"),g,S,_)},i.paste=f,i.moveTextAreaUnderMouseCursor=l,i.rightClickHandler=function(p,g,S,_,c){l(p,g,S),c&&_.rightClickSelect(p),g.value=_.selectionText,g.select()}},7239:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ColorContrastCache=void 0;let o=s(1505);i.ColorContrastCache=class{constructor(){this._color=new o.TwoKeyMap,this._css=new o.TwoKeyMap}setCss(f,l,p){this._css.set(f,l,p)}getCss(f,l){return this._css.get(f,l)}setColor(f,l,p){this._color.set(f,l,p)}getColor(f,l){return this._color.get(f,l)}clear(){this._color.clear(),this._css.clear()}}},3656:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.addDisposableDomListener=void 0,i.addDisposableDomListener=function(s,o,f,l){s.addEventListener(o,f,l);let p=!1;return{dispose:()=>{p||(p=!0,s.removeEventListener(o,f,l))}}}},3551:function(a,i,s){var o=this&&this.__decorate||function(d,h,u,v){var y,b=arguments.length,C=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(y=d[m])&&(C=(b<3?y(C):b>3?y(h,u,C):y(h,u))||C);return b>3&&C&&Object.defineProperty(h,u,C),C},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(i,"__esModule",{value:!0}),i.Linkifier=void 0;let l=s(3656),p=s(8460),g=s(844),S=s(2585),_=s(4725),c=i.Linkifier=class extends g.Disposable{get currentLink(){return this._currentLink}constructor(d,h,u,v,y){super(),this._element=d,this._mouseService=h,this._renderService=u,this._bufferService=v,this._linkProviderService=y,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new p.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new p.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,g.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,g.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,l.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,l.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,l.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,l.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(d){this._lastMouseEvent=d;let h=this._positionFromMouseEvent(d,this._element,this._mouseService);if(!h)return;this._isMouseOut=!1;let u=d.composedPath();for(let v=0;v<u.length;v++){let y=u[v];if(y.classList.contains("xterm"))break;if(y.classList.contains("xterm-hover"))return}this._lastBufferCell&&h.x===this._lastBufferCell.x&&h.y===this._lastBufferCell.y||(this._handleHover(h),this._lastBufferCell=h)}_handleHover(d){if(this._activeLine!==d.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(d,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,d)||(this._clearCurrentLink(),this._askForLink(d,!0))}_askForLink(d,h){this._activeProviderReplies&&h||(this._activeProviderReplies?.forEach((v=>{v?.forEach((y=>{y.link.dispose&&y.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=d.y);let u=!1;for(let[v,y]of this._linkProviderService.linkProviders.entries())h?this._activeProviderReplies?.get(v)&&(u=this._checkLinkProviderResult(v,d,u)):y.provideLinks(d.y,(b=>{if(this._isMouseOut)return;let C=b?.map((m=>({link:m})));this._activeProviderReplies?.set(v,C),u=this._checkLinkProviderResult(v,d,u),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(d.y,this._activeProviderReplies)}))}_removeIntersectingLinks(d,h){let u=new Set;for(let v=0;v<h.size;v++){let y=h.get(v);if(y)for(let b=0;b<y.length;b++){let C=y[b],m=C.link.range.start.y<d?0:C.link.range.start.x,E=C.link.range.end.y>d?this._bufferService.cols:C.link.range.end.x;for(let P=m;P<=E;P++){if(u.has(P)){y.splice(b--,1);break}u.add(P)}}}}_checkLinkProviderResult(d,h,u){if(!this._activeProviderReplies)return u;let v=this._activeProviderReplies.get(d),y=!1;for(let b=0;b<d;b++)this._activeProviderReplies.has(b)&&!this._activeProviderReplies.get(b)||(y=!0);if(!y&&v){let b=v.find((C=>this._linkAtPosition(C.link,h)));b&&(u=!0,this._handleNewLink(b))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!u)for(let b=0;b<this._activeProviderReplies.size;b++){let C=this._activeProviderReplies.get(b)?.find((m=>this._linkAtPosition(m.link,h)));if(C){u=!0,this._handleNewLink(C);break}}return u}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(d){if(!this._currentLink)return;let h=this._positionFromMouseEvent(d,this._element,this._mouseService);h&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,h)&&this._currentLink.link.activate(d,this._currentLink.link.text)}_clearCurrentLink(d,h){this._currentLink&&this._lastMouseEvent&&(!d||!h||this._currentLink.link.range.start.y>=d&&this._currentLink.link.range.end.y<=h)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,g.disposeArray)(this._linkCacheDisposables))}_handleNewLink(d){if(!this._lastMouseEvent)return;let h=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);h&&this._linkAtPosition(d.link,h)&&(this._currentLink=d,this._currentLink.state={decorations:{underline:d.link.decorations===void 0||d.link.decorations.underline,pointerCursor:d.link.decorations===void 0||d.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,d.link,this._lastMouseEvent),d.link.decorations={},Object.defineProperties(d.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:u=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==u&&(this._currentLink.state.decorations.pointerCursor=u,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",u))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:u=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==u&&(this._currentLink.state.decorations.underline=u,this._currentLink.state.isHovered&&this._fireUnderlineEvent(d.link,u))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((u=>{if(!this._currentLink)return;let v=u.start===0?0:u.start+1+this._bufferService.buffer.ydisp,y=this._bufferService.buffer.ydisp+1+u.end;if(this._currentLink.link.range.start.y>=v&&this._currentLink.link.range.end.y<=y&&(this._clearCurrentLink(v,y),this._lastMouseEvent)){let b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._askForLink(b,!1)}}))))}_linkHover(d,h,u){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(h,!0),this._currentLink.state.decorations.pointerCursor&&d.classList.add("xterm-cursor-pointer")),h.hover&&h.hover(u,h.text)}_fireUnderlineEvent(d,h){let u=d.range,v=this._bufferService.buffer.ydisp,y=this._createLinkUnderlineEvent(u.start.x-1,u.start.y-v-1,u.end.x,u.end.y-v-1,void 0);(h?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(y)}_linkLeave(d,h,u){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(h,!1),this._currentLink.state.decorations.pointerCursor&&d.classList.remove("xterm-cursor-pointer")),h.leave&&h.leave(u,h.text)}_linkAtPosition(d,h){let u=d.range.start.y*this._bufferService.cols+d.range.start.x,v=d.range.end.y*this._bufferService.cols+d.range.end.x,y=h.y*this._bufferService.cols+h.x;return u<=y&&y<=v}_positionFromMouseEvent(d,h,u){let v=u.getCoords(d,h,this._bufferService.cols,this._bufferService.rows);if(v)return{x:v[0],y:v[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(d,h,u,v,y){return{x1:d,y1:h,x2:u,y2:v,cols:this._bufferService.cols,fg:y}}};i.Linkifier=c=o([f(1,_.IMouseService),f(2,_.IRenderService),f(3,S.IBufferService),f(4,_.ILinkProviderService)],c)},9042:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.tooMuchOutput=i.promptLabel=void 0,i.promptLabel="Terminal input",i.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(a,i,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,y=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(y=(v<3?u(y):v>3?u(c,d,y):u(c,d))||y);return v>3&&y&&Object.defineProperty(c,d,y),y},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(i,"__esModule",{value:!0}),i.OscLinkProvider=void 0;let l=s(511),p=s(2585),g=i.OscLinkProvider=class{constructor(_,c,d){this._bufferService=_,this._optionsService=c,this._oscLinkService=d}provideLinks(_,c){let d=this._bufferService.buffer.lines.get(_-1);if(!d)return void c(void 0);let h=[],u=this._optionsService.rawOptions.linkHandler,v=new l.CellData,y=d.getTrimmedLength(),b=-1,C=-1,m=!1;for(let E=0;E<y;E++)if(C!==-1||d.hasContent(E)){if(d.loadCell(E,v),v.hasExtendedAttrs()&&v.extended.urlId){if(C===-1){C=E,b=v.extended.urlId;continue}m=v.extended.urlId!==b}else C!==-1&&(m=!0);if(m||C!==-1&&E===y-1){let P=this._oscLinkService.getLinkData(b)?.uri;if(P){let B={start:{x:C+1,y:_},end:{x:E+(m||E!==y-1?0:1),y:_}},H=!1;if(!u?.allowNonHttpProtocols)try{let R=new URL(P);["http:","https:"].includes(R.protocol)||(H=!0)}catch{H=!0}H||h.push({text:P,range:B,activate:(R,j)=>u?u.activate(R,j,B):S(0,j),hover:(R,j)=>u?.hover?.(R,j,B),leave:(R,j)=>u?.leave?.(R,j,B)})}m=!1,v.hasExtendedAttrs()&&v.extended.urlId?(C=E,b=v.extended.urlId):(C=-1,b=-1)}}c(h)}};function S(_,c){if(confirm(`Do you want to navigate to ${c}?
4
4
 
5
- WARNING: This link could potentially be dangerous`)){let d=window.open();if(d){try{d.opener=null}catch{}d.location.href=c}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=g=o([f(0,p.IBufferService),f(1,p.IOptionsService),f(2,p.IOscLinkService)],g)},6193:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(s,o){this._renderCallback=s,this._coreBrowserService=o,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(s){return this._refreshCallbacks.push(s),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(s,o,f){this._rowCount=f,s=s!==void 0?s:0,o=o!==void 0?o:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,s):s,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,o):o,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)return void this._runRefreshCallbacks();let s=Math.max(this._rowStart,0),o=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(s,o),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let s of this._refreshCallbacks)s(0);this._refreshCallbacks=[]}}},3236:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let o=s(3614),f=s(3656),l=s(3551),p=s(9042),g=s(3730),S=s(1680),_=s(3107),c=s(5744),d=s(2950),h=s(1296),u=s(428),v=s(4269),C=s(5114),b=s(8934),y=s(3230),m=s(9312),E=s(4725),P=s(6731),B=s(8055),H=s(8969),R=s(8460),j=s(844),A=s(6114),T=s(8437),F=s(2584),D=s(7399),w=s(5941),L=s(9074),k=s(2585),M=s(5435),$=s(4567),q=s(779);class V extends H.CoreTerminal{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}constructor(N={}){super(N),this.browser=A,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new j.MutableDisposable),this._onCursorMove=this.register(new R.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new R.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new R.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new R.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new R.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new R.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new R.EventEmitter),this._onBlur=this.register(new R.EventEmitter),this._onA11yCharEmitter=this.register(new R.EventEmitter),this._onA11yTabEmitter=this.register(new R.EventEmitter),this._onWillOpen=this.register(new R.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(L.DecorationService),this._instantiationService.setService(k.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(q.LinkProviderService),this._instantiationService.setService(E.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((x,I)=>this.refresh(x,I)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((x=>this._reportWindowsOptions(x)))),this.register(this._inputHandler.onColor((x=>this._handleColorEvent(x)))),this.register((0,R.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,R.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((x=>this._afterResize(x.cols,x.rows)))),this.register((0,j.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(N){if(this._themeService)for(let x of N){let I,O="";switch(x.index){case 256:I="foreground",O="10";break;case 257:I="background",O="11";break;case 258:I="cursor",O="12";break;default:I="ansi",O="4;"+x.index}switch(x.type){case 0:let U=B.color.toColorRGB(I==="ansi"?this._themeService.colors.ansi[x.index]:this._themeService.colors[I]);this.coreService.triggerDataEvent(`${F.C0.ESC}]${O};${(0,w.toRgbString)(U)}${F.C1_ESCAPED.ST}`);break;case 1:if(I==="ansi")this._themeService.modifyColors((z=>z.ansi[x.index]=B.channels.toColor(...x.color)));else{let z=I;this._themeService.modifyColors((X=>X[z]=B.channels.toColor(...x.color)))}break;case 2:this._themeService.restoreColor(x.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(N){N?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance($.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(N){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(F.C0.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(F.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let N=this.buffer.ybase+this.buffer.y,x=this.buffer.lines.get(N);if(!x)return;let I=Math.min(this.buffer.x,this.cols-1),O=this._renderService.dimensions.css.cell.height,U=x.getWidth(I),z=this._renderService.dimensions.css.cell.width*U,X=this.buffer.y*this._renderService.dimensions.css.cell.height,Q=I*this._renderService.dimensions.css.cell.width;this.textarea.style.left=Q+"px",this.textarea.style.top=X+"px",this.textarea.style.width=z+"px",this.textarea.style.height=O+"px",this.textarea.style.lineHeight=O+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,f.addDisposableDomListener)(this.element,"copy",(x=>{this.hasSelection()&&(0,o.copyHandler)(x,this._selectionService)})));let N=x=>(0,o.handlePasteEvent)(x,this.textarea,this.coreService,this.optionsService);this.register((0,f.addDisposableDomListener)(this.textarea,"paste",N)),this.register((0,f.addDisposableDomListener)(this.element,"paste",N)),A.isFirefox?this.register((0,f.addDisposableDomListener)(this.element,"mousedown",(x=>{x.button===2&&(0,o.rightClickHandler)(x,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,f.addDisposableDomListener)(this.element,"contextmenu",(x=>{(0,o.rightClickHandler)(x,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),A.isLinux&&this.register((0,f.addDisposableDomListener)(this.element,"auxclick",(x=>{x.button===1&&(0,o.moveTextAreaUnderMouseCursor)(x,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,f.addDisposableDomListener)(this.textarea,"keyup",(N=>this._keyUp(N)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"keydown",(N=>this._keyDown(N)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"keypress",(N=>this._keyPress(N)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionupdate",(N=>this._compositionHelper.compositionupdate(N)))),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,f.addDisposableDomListener)(this.textarea,"input",(N=>this._inputEvent(N)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(N){if(!N)throw new Error("Terminal requires a parent element.");if(N.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=N.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"),N.appendChild(this.element);let x=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),x.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,f.addDisposableDomListener)(this.screenElement,"mousemove",(I=>this.updateCursorStyle(I)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),x.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),A.isChromeOS||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._coreBrowserService=this.register(this._instantiationService.createInstance(C.CoreBrowserService,this.textarea,N.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(E.ICoreBrowserService,this._coreBrowserService),this.register((0,f.addDisposableDomListener)(this.textarea,"focus",(I=>this._handleTextAreaFocus(I)))),this.register((0,f.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(u.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(E.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(P.ThemeService),this._instantiationService.setService(E.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(v.CharacterJoinerService),this._instantiationService.setService(E.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(y.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(E.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((I=>this._onRender.fire(I)))),this.onResize((I=>this._renderService.resize(I.cols,I.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(E.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(l.Linkifier,this.screenElement)),this.element.appendChild(x);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((I=>this.scrollLines(I.amount,I.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),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.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(E.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((I=>this.scrollLines(I.amount,I.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((I=>this._renderService.handleSelectionChanged(I.start,I.end,I.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((I=>{this.textarea.value=I,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((I=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,f.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(_.BufferDecorationRenderer,this.screenElement)),this.register((0,f.addDisposableDomListener)(this.element,"mousedown",(I=>this._selectionService.handleMouseDown(I)))),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($.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(I=>this._handleScreenReaderModeOptionChange(I)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(c.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(I=>{!this._overviewRulerRenderer&&I&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(c.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(h.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let N=this,x=this.element;function I(z){let X=N._mouseService.getMouseReportCoords(z,N.screenElement);if(!X)return!1;let Q,ie;switch(z.overrideType||z.type){case"mousemove":ie=32,z.buttons===void 0?(Q=3,z.button!==void 0&&(Q=z.button<3?z.button:3)):Q=1&z.buttons?0:4&z.buttons?1:2&z.buttons?2:3;break;case"mouseup":ie=0,Q=z.button<3?z.button:3;break;case"mousedown":ie=1,Q=z.button<3?z.button:3;break;case"wheel":if(N._customWheelEventHandler&&N._customWheelEventHandler(z)===!1||N.viewport.getLinesScrolled(z)===0)return!1;ie=z.deltaY<0?0:1,Q=4;break;default:return!1}return!(ie===void 0||Q===void 0||Q>4)&&N.coreMouseService.triggerMouseEvent({col:X.col,row:X.row,x:X.x,y:X.y,button:Q,action:ie,ctrl:z.ctrlKey,alt:z.altKey,shift:z.shiftKey})}let O={mouseup:null,wheel:null,mousedrag:null,mousemove:null},U={mouseup:z=>(I(z),z.buttons||(this._document.removeEventListener("mouseup",O.mouseup),O.mousedrag&&this._document.removeEventListener("mousemove",O.mousedrag)),this.cancel(z)),wheel:z=>(I(z),this.cancel(z,!0)),mousedrag:z=>{z.buttons&&I(z)},mousemove:z=>{z.buttons||I(z)}};this.register(this.coreMouseService.onProtocolChange((z=>{z?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(z)),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()),8&z?O.mousemove||(x.addEventListener("mousemove",U.mousemove),O.mousemove=U.mousemove):(x.removeEventListener("mousemove",O.mousemove),O.mousemove=null),16&z?O.wheel||(x.addEventListener("wheel",U.wheel,{passive:!1}),O.wheel=U.wheel):(x.removeEventListener("wheel",O.wheel),O.wheel=null),2&z?O.mouseup||(O.mouseup=U.mouseup):(this._document.removeEventListener("mouseup",O.mouseup),O.mouseup=null),4&z?O.mousedrag||(O.mousedrag=U.mousedrag):(this._document.removeEventListener("mousemove",O.mousedrag),O.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,f.addDisposableDomListener)(x,"mousedown",(z=>{if(z.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(z))return I(z),O.mouseup&&this._document.addEventListener("mouseup",O.mouseup),O.mousedrag&&this._document.addEventListener("mousemove",O.mousedrag),this.cancel(z)}))),this.register((0,f.addDisposableDomListener)(x,"wheel",(z=>{if(!O.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(z)===!1)return!1;if(!this.buffer.hasScrollback){let X=this.viewport.getLinesScrolled(z);if(X===0)return;let Q=F.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(z.deltaY<0?"A":"B"),ie="";for(let te=0;te<Math.abs(X);te++)ie+=Q;return this.coreService.triggerDataEvent(ie,!0),this.cancel(z,!0)}return this.viewport.handleWheel(z)?this.cancel(z):void 0}}),{passive:!1})),this.register((0,f.addDisposableDomListener)(x,"touchstart",(z=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(z),this.cancel(z)}),{passive:!0})),this.register((0,f.addDisposableDomListener)(x,"touchmove",(z=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(z)?void 0:this.cancel(z)}),{passive:!1}))}refresh(N,x){this._renderService?.refreshRows(N,x)}updateCursorStyle(N){this._selectionService?.shouldColumnSelect(N)?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(N,x,I=0){I===1?(super.scrollLines(N,x,I),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(N)}paste(N){(0,o.paste)(N,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(N){this._customKeyEventHandler=N}attachCustomWheelEventHandler(N){this._customWheelEventHandler=N}registerLinkProvider(N){return this._linkProviderService.registerLinkProvider(N)}registerCharacterJoiner(N){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let x=this._characterJoinerService.register(N);return this.refresh(0,this.rows-1),x}deregisterCharacterJoiner(N){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(N)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(N){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+N)}registerDecoration(N){return this._decorationService.registerDecoration(N)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(N,x,I){this._selectionService.setSelection(N,x,I)}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(N,x){this._selectionService?.selectLines(N,x)}_keyDown(N){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(N)===!1)return!1;let x=this.browser.isMac&&this.options.macOptionIsMeta&&N.altKey;if(!x&&!this._compositionHelper.keydown(N))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;x||N.key!=="Dead"&&N.key!=="AltGraph"||(this._unprocessedDeadKey=!0);let I=(0,D.evaluateKeyboardEvent)(N,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(N),I.type===3||I.type===2){let O=this.rows-1;return this.scrollLines(I.type===2?-O:O),this.cancel(N,!0)}return I.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,N)||(I.cancel&&this.cancel(N,!0),!I.key||!!(N.key&&!N.ctrlKey&&!N.altKey&&!N.metaKey&&N.key.length===1&&N.key.charCodeAt(0)>=65&&N.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(I.key!==F.C0.ETX&&I.key!==F.C0.CR||(this.textarea.value=""),this._onKey.fire({key:I.key,domEvent:N}),this._showCursor(),this.coreService.triggerDataEvent(I.key,!0),!this.optionsService.rawOptions.screenReaderMode||N.altKey||N.ctrlKey?this.cancel(N,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(N,x){let I=N.isMac&&!this.options.macOptionIsMeta&&x.altKey&&!x.ctrlKey&&!x.metaKey||N.isWindows&&x.altKey&&x.ctrlKey&&!x.metaKey||N.isWindows&&x.getModifierState("AltGraph");return x.type==="keypress"?I:I&&(!x.keyCode||x.keyCode>47)}_keyUp(N){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(N)===!1||((function(x){return x.keyCode===16||x.keyCode===17||x.keyCode===18})(N)||this.focus(),this.updateCursorStyle(N),this._keyPressHandled=!1)}_keyPress(N){let x;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(N)===!1)return!1;if(this.cancel(N),N.charCode)x=N.charCode;else if(N.which===null||N.which===void 0)x=N.keyCode;else{if(N.which===0||N.charCode===0)return!1;x=N.which}return!(!x||(N.altKey||N.ctrlKey||N.metaKey)&&!this._isThirdLevelShift(this.browser,N)||(x=String.fromCharCode(x),this._onKey.fire({key:x,domEvent:N}),this._showCursor(),this.coreService.triggerDataEvent(x,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(N){if(N.data&&N.inputType==="insertText"&&(!N.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let x=N.data;return this.coreService.triggerDataEvent(x,!0),this.cancel(N),!0}return!1}resize(N,x){N!==this.cols||x!==this.rows?super.resize(N,x):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(N,x){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}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 N=1;N<this.rows;N++)this.buffer.lines.push(this.buffer.getBlankLine(T.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),this.viewport?.reset(),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let N=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this.viewport?.reset(),this._customKeyEventHandler=N,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(F.C0.ESC+"[I"):this.coreService.triggerDataEvent(F.C0.ESC+"[O")}_reportWindowsOptions(N){if(this._renderService)switch(N){case M.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:let x=this._renderService.dimensions.css.canvas.width.toFixed(0),I=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${F.C0.ESC}[4;${I};${x}t`);break;case M.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:let O=this._renderService.dimensions.css.cell.width.toFixed(0),U=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${F.C0.ESC}[6;${U};${O}t`)}}cancel(N,x){if(this.options.cancelEvents||x)return N.preventDefault(),N.stopPropagation(),!1}}r.Terminal=V},9924:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TimeBasedDebouncer=void 0,r.TimeBasedDebouncer=class{constructor(s,o=1e3){this._renderCallback=s,this._debounceThresholdMS=o,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(s,o,f){this._rowCount=f,s=s!==void 0?s:0,o=o!==void 0?o:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,s):s,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,o):o;let l=Date.now();if(l-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=l,this._innerRefresh();else if(!this._additionalRefreshRequested){let p=l-this._lastRefreshMs,g=this._debounceThresholdMS-p;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),g)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let s=Math.max(this._rowStart,0),o=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(s,o)}}},1680:function(a,r,s){var o=this&&this.__decorate||function(d,h,u,v){var C,b=arguments.length,y=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(C=d[m])&&(y=(b<3?C(y):b>3?C(h,u,y):C(h,u))||y);return b>3&&y&&Object.defineProperty(h,u,y),y},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.Viewport=void 0;let l=s(3656),p=s(4725),g=s(8460),S=s(844),_=s(2585),c=r.Viewport=class extends S.Disposable{constructor(d,h,u,v,C,b,y,m){super(),this._viewportElement=d,this._scrollArea=h,this._bufferService=u,this._optionsService=v,this._charSizeService=C,this._renderService=b,this._coreBrowserService=y,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new g.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,l.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((E=>this._activeBuffer=E.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((E=>this._renderDimensions=E))),this._handleThemeChange(m.colors),this.register(m.onChangeColors((E=>this._handleThemeChange(E)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(d){this._viewportElement.style.backgroundColor=d.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(d){if(d)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;let h=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==h&&(this._lastRecordedBufferHeight=h,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}let d=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==d&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=d),this._refreshAnimationFrame=null}syncScrollArea(d=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(d);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(d)}_handleScroll(d){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});let h=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:h,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;let d=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(d*(this._smoothScrollState.target-this._smoothScrollState.origin)),d<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(d,h){let u=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(h<0&&this._viewportElement.scrollTop!==0||h>0&&u<this._lastRecordedBufferHeight)||(d.cancelable&&d.preventDefault(),!1)}handleWheel(d){let h=this._getPixelsScrolled(d);return h!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+h:this._smoothScrollState.target+=h,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=h,this._bubbleScroll(d,h))}scrollLines(d){if(d!==0)if(this._optionsService.rawOptions.smoothScrollDuration){let h=d*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+h,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:d,suppressScrollEvent:!1})}_getPixelsScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let h=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_LINE?h*=this._currentRowHeight:d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(h*=this._currentRowHeight*this._bufferService.rows),h}getBufferElements(d,h){let u,v="",C=[],b=h??this._bufferService.buffer.lines.length,y=this._bufferService.buffer.lines;for(let m=d;m<b;m++){let E=y.get(m);if(!E)continue;let P=y.get(m+1)?.isWrapped;if(v+=E.translateToString(!P),!P||m===y.length-1){let B=document.createElement("div");B.textContent=v,C.push(B),v.length>0&&(u=B),v=""}}return{bufferElements:C,cursorElement:u}}getLinesScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let h=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(h/=this._currentRowHeight+0,this._wheelPartialScroll+=h,h=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(h*=this._bufferService.rows),h}_applyScrollModifier(d,h){let u=this._optionsService.rawOptions.fastScrollModifier;return u==="alt"&&h.altKey||u==="ctrl"&&h.ctrlKey||u==="shift"&&h.shiftKey?d*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:d*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(d){this._lastTouchY=d.touches[0].pageY}handleTouchMove(d){let h=this._lastTouchY-d.touches[0].pageY;return this._lastTouchY=d.touches[0].pageY,h!==0&&(this._viewportElement.scrollTop+=h,this._bubbleScroll(d,h))}};r.Viewport=c=o([f(2,_.IBufferService),f(3,_.IOptionsService),f(4,p.ICharSizeService),f(5,p.IRenderService),f(6,p.ICoreBrowserService),f(7,p.IThemeService)],c)},3107:function(a,r,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,C=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(C=(v<3?u(C):v>3?u(c,d,C):u(c,d))||C);return v>3&&C&&Object.defineProperty(c,d,C),C},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferDecorationRenderer=void 0;let l=s(4725),p=s(844),g=s(2585),S=r.BufferDecorationRenderer=class extends p.Disposable{constructor(_,c,d,h,u){super(),this._screenElement=_,this._bufferService=c,this._coreBrowserService=d,this._decorationService=h,this._renderService=u,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((v=>this._removeDecoration(v)))),this.register((0,p.toDisposable)((()=>{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 _ of this._decorationService.decorations)this._renderDecoration(_);this._dimensionsChanged=!1}_renderDecoration(_){this._refreshStyle(_),this._dimensionsChanged&&this._refreshXPosition(_)}_createElement(_){let c=this._coreBrowserService.mainDocument.createElement("div");c.classList.add("xterm-decoration"),c.classList.toggle("xterm-decoration-top-layer",_?.options?.layer==="top"),c.style.width=`${Math.round((_.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,c.style.height=(_.options.height||1)*this._renderService.dimensions.css.cell.height+"px",c.style.top=(_.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",c.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let d=_.options.x??0;return d&&d>this._bufferService.cols&&(c.style.display="none"),this._refreshXPosition(_,c),c}_refreshStyle(_){let c=_.marker.line-this._bufferService.buffers.active.ydisp;if(c<0||c>=this._bufferService.rows)_.element&&(_.element.style.display="none",_.onRenderEmitter.fire(_.element));else{let d=this._decorationElements.get(_);d||(d=this._createElement(_),_.element=d,this._decorationElements.set(_,d),this._container.appendChild(d),_.onDispose((()=>{this._decorationElements.delete(_),d.remove()}))),d.style.top=c*this._renderService.dimensions.css.cell.height+"px",d.style.display=this._altBufferIsActive?"none":"block",_.onRenderEmitter.fire(d)}}_refreshXPosition(_,c=_.element){if(!c)return;let d=_.options.x??0;(_.options.anchor||"left")==="right"?c.style.right=d?d*this._renderService.dimensions.css.cell.width+"px":"":c.style.left=d?d*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(_){this._decorationElements.get(_)?.remove(),this._decorationElements.delete(_),_.dispose()}};r.BufferDecorationRenderer=S=o([f(1,g.IBufferService),f(2,l.ICoreBrowserService),f(3,g.IDecorationService),f(4,l.IRenderService)],S)},5871:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ColorZoneStore=void 0,r.ColorZoneStore=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(s){if(s.options.overviewRulerOptions){for(let o of this._zones)if(o.color===s.options.overviewRulerOptions.color&&o.position===s.options.overviewRulerOptions.position){if(this._lineIntersectsZone(o,s.marker.line))return;if(this._lineAdjacentToZone(o,s.marker.line,s.options.overviewRulerOptions.position))return void this._addLineToZone(o,s.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=s.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=s.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=s.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=s.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:s.options.overviewRulerOptions.color,position:s.options.overviewRulerOptions.position,startBufferLine:s.marker.line,endBufferLine:s.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(s){this._linePadding=s}_lineIntersectsZone(s,o){return o>=s.startBufferLine&&o<=s.endBufferLine}_lineAdjacentToZone(s,o,f){return o>=s.startBufferLine-this._linePadding[f||"full"]&&o<=s.endBufferLine+this._linePadding[f||"full"]}_addLineToZone(s,o){s.startBufferLine=Math.min(s.startBufferLine,o),s.endBufferLine=Math.max(s.endBufferLine,o)}}},5744:function(a,r,s){var o=this&&this.__decorate||function(u,v,C,b){var y,m=arguments.length,E=m<3?v:b===null?b=Object.getOwnPropertyDescriptor(v,C):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(u,v,C,b);else for(var P=u.length-1;P>=0;P--)(y=u[P])&&(E=(m<3?y(E):m>3?y(v,C,E):y(v,C))||E);return m>3&&E&&Object.defineProperty(v,C,E),E},f=this&&this.__param||function(u,v){return function(C,b){v(C,b,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OverviewRulerRenderer=void 0;let l=s(5871),p=s(4725),g=s(844),S=s(2585),_={full:0,left:0,center:0,right:0},c={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},h=r.OverviewRulerRenderer=class extends g.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(u,v,C,b,y,m,E){super(),this._viewportElement=u,this._screenElement=v,this._bufferService=C,this._decorationService=b,this._renderService=y,this._optionsService=m,this._coreBrowserService=E,this._colorZoneStore=new l.ColorZoneStore,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);let P=this._canvas.getContext("2d");if(!P)throw new Error("Ctx cannot be null");this._ctx=P,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,g.toDisposable)((()=>{this._canvas?.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){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())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){let u=Math.floor(this._canvas.width/3),v=Math.ceil(this._canvas.width/3);c.full=this._canvas.width,c.left=u,c.center=v,c.right=u,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=c.left,d.right=c.left+c.center}_refreshDrawHeightConstants(){_.full=Math.round(2*this._coreBrowserService.dpr);let u=this._canvas.height/this._bufferService.buffer.lines.length,v=Math.round(Math.max(Math.min(u,12),6)*this._coreBrowserService.dpr);_.left=v,_.center=v,_.right=v}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.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 v of this._decorationService.decorations)this._colorZoneStore.addDecoration(v);this._ctx.lineWidth=1;let u=this._colorZoneStore.zones;for(let v of u)v.position!=="full"&&this._renderColorZone(v);for(let v of u)v.position==="full"&&this._renderColorZone(v);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(u){this._ctx.fillStyle=u.color,this._ctx.fillRect(d[u.position||"full"],Math.round((this._canvas.height-1)*(u.startBufferLine/this._bufferService.buffers.active.lines.length)-_[u.position||"full"]/2),c[u.position||"full"],Math.round((this._canvas.height-1)*((u.endBufferLine-u.startBufferLine)/this._bufferService.buffers.active.lines.length)+_[u.position||"full"]))}_queueRefresh(u,v){this._shouldUpdateDimensions=u||this._shouldUpdateDimensions,this._shouldUpdateAnchor=v||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};r.OverviewRulerRenderer=h=o([f(2,S.IBufferService),f(3,S.IDecorationService),f(4,p.IRenderService),f(5,S.IOptionsService),f(6,p.ICoreBrowserService)],h)},2950:function(a,r,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,C=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(C=(v<3?u(C):v>3?u(c,d,C):u(c,d))||C);return v>3&&C&&Object.defineProperty(c,d,C),C},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CompositionHelper=void 0;let l=s(4725),p=s(2585),g=s(2584),S=r.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(_,c,d,h,u,v){this._textarea=_,this._compositionView=c,this._bufferService=d,this._optionsService=h,this._coreService=u,this._renderService=v,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(_){this._compositionView.textContent=_.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(_){if(this._isComposing||this._isSendingComposition){if(_.keyCode===229||_.keyCode===16||_.keyCode===17||_.keyCode===18)return!1;this._finalizeComposition(!1)}return _.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(_){if(this._compositionView.classList.remove("active"),this._isComposing=!1,_){let c={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let d;this._isSendingComposition=!1,c.start+=this._dataAlreadySent.length,d=this._isComposing?this._textarea.value.substring(c.start,c.end):this._textarea.value.substring(c.start),d.length>0&&this._coreService.triggerDataEvent(d,!0)}}),0)}else{this._isSendingComposition=!1;let c=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(c,!0)}}_handleAnyTextareaChanges(){let _=this._textarea.value;setTimeout((()=>{if(!this._isComposing){let c=this._textarea.value,d=c.replace(_,"");this._dataAlreadySent=d,c.length>_.length?this._coreService.triggerDataEvent(d,!0):c.length<_.length?this._coreService.triggerDataEvent(`${g.C0.DEL}`,!0):c.length===_.length&&c!==_&&this._coreService.triggerDataEvent(c,!0)}}),0)}updateCompositionElements(_){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let c=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),d=this._renderService.dimensions.css.cell.height,h=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,u=c*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=u+"px",this._compositionView.style.top=h+"px",this._compositionView.style.height=d+"px",this._compositionView.style.lineHeight=d+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let v=this._compositionView.getBoundingClientRect();this._textarea.style.left=u+"px",this._textarea.style.top=h+"px",this._textarea.style.width=Math.max(v.width,1)+"px",this._textarea.style.height=Math.max(v.height,1)+"px",this._textarea.style.lineHeight=v.height+"px"}_||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};r.CompositionHelper=S=o([f(2,p.IBufferService),f(3,p.IOptionsService),f(4,p.ICoreService),f(5,l.IRenderService)],S)},9806:(a,r)=>{function s(o,f,l){let p=l.getBoundingClientRect(),g=o.getComputedStyle(l),S=parseInt(g.getPropertyValue("padding-left")),_=parseInt(g.getPropertyValue("padding-top"));return[f.clientX-p.left-S,f.clientY-p.top-_]}Object.defineProperty(r,"__esModule",{value:!0}),r.getCoords=r.getCoordsRelativeToElement=void 0,r.getCoordsRelativeToElement=s,r.getCoords=function(o,f,l,p,g,S,_,c,d){if(!S)return;let h=s(o,f,l);return h?(h[0]=Math.ceil((h[0]+(d?_/2:0))/_),h[1]=Math.ceil(h[1]/c),h[0]=Math.min(Math.max(h[0],1),p+(d?1:0)),h[1]=Math.min(Math.max(h[1],1),g),h):void 0}},9504:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.moveToCellSequence=void 0;let o=s(2584);function f(c,d,h,u){let v=c-l(c,h),C=d-l(d,h),b=Math.abs(v-C)-(function(y,m,E){let P=0,B=y-l(y,E),H=m-l(m,E);for(let R=0;R<Math.abs(B-H);R++){let j=p(y,m)==="A"?-1:1;E.buffer.lines.get(B+j*R)?.isWrapped&&P++}return P})(c,d,h);return _(b,S(p(c,d),u))}function l(c,d){let h=0,u=d.buffer.lines.get(c),v=u?.isWrapped;for(;v&&c>=0&&c<d.rows;)h++,u=d.buffer.lines.get(--c),v=u?.isWrapped;return h}function p(c,d){return c>d?"A":"B"}function g(c,d,h,u,v,C){let b=c,y=d,m="";for(;b!==h||y!==u;)b+=v?1:-1,v&&b>C.cols-1?(m+=C.buffer.translateBufferLineToString(y,!1,c,b),b=0,c=0,y++):!v&&b<0&&(m+=C.buffer.translateBufferLineToString(y,!1,0,c+1),b=C.cols-1,c=b,y--);return m+C.buffer.translateBufferLineToString(y,!1,c,b)}function S(c,d){let h=d?"O":"[";return o.C0.ESC+h+c}function _(c,d){c=Math.floor(c);let h="";for(let u=0;u<c;u++)h+=d;return h}r.moveToCellSequence=function(c,d,h,u){let v=h.buffer.x,C=h.buffer.y;if(!h.buffer.hasScrollback)return(function(m,E,P,B,H,R){return f(E,B,H,R).length===0?"":_(g(m,E,m,E-l(E,H),!1,H).length,S("D",R))})(v,C,0,d,h,u)+f(C,d,h,u)+(function(m,E,P,B,H,R){let j;j=f(E,B,H,R).length>0?B-l(B,H):E;let A=B,T=(function(F,D,w,L,k,M){let $;return $=f(w,L,k,M).length>0?L-l(L,k):D,F<w&&$<=L||F>=w&&$<L?"C":"D"})(m,E,P,B,H,R);return _(g(m,j,P,A,T==="C",H).length,S(T,R))})(v,C,c,d,h,u);let b;if(C===d)return b=v>c?"D":"C",_(Math.abs(v-c),S(b,u));b=C>d?"D":"C";let y=Math.abs(C-d);return _((function(m,E){return E.cols-m})(C>d?c:v,h)+(y-1)*h.cols+1+((C>d?v:c)-1),S(b,u))}},1296:function(a,r,s){var o=this&&this.__decorate||function(R,j,A,T){var F,D=arguments.length,w=D<3?j:T===null?T=Object.getOwnPropertyDescriptor(j,A):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(R,j,A,T);else for(var L=R.length-1;L>=0;L--)(F=R[L])&&(w=(D<3?F(w):D>3?F(j,A,w):F(j,A))||w);return D>3&&w&&Object.defineProperty(j,A,w),w},f=this&&this.__param||function(R,j){return function(A,T){j(A,T,R)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRenderer=void 0;let l=s(3787),p=s(2550),g=s(2223),S=s(6171),_=s(6052),c=s(4725),d=s(8055),h=s(8460),u=s(844),v=s(2585),C="xterm-dom-renderer-owner-",b="xterm-rows",y="xterm-fg-",m="xterm-bg-",E="xterm-focus",P="xterm-selection",B=1,H=r.DomRenderer=class extends u.Disposable{constructor(R,j,A,T,F,D,w,L,k,M,$,q,V){super(),this._terminal=R,this._document=j,this._element=A,this._screenElement=T,this._viewportElement=F,this._helperContainer=D,this._linkifier2=w,this._charSizeService=k,this._optionsService=M,this._bufferService=$,this._coreBrowserService=q,this._themeService=V,this._terminalClass=B++,this._rowElements=[],this._selectionRenderModel=(0,_.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new h.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(b),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(P),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((J=>this._injectCss(J)))),this._injectCss(this._themeService.colors),this._rowFactory=L.createInstance(l.DomRendererRowFactory,document),this._element.classList.add(C+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((J=>this._handleLinkHover(J)))),this.register(this._linkifier2.onHideLinkUnderline((J=>this._handleLinkLeave(J)))),this.register((0,u.toDisposable)((()=>{this._element.classList.remove(C+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new p.WidthCache(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 R=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*R,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*R),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/R),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/R),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 j=`${this._terminalSelector} .${b} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=j,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(R){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let j=`${this._terminalSelector} .${b} { color: ${R.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;j+=`${this._terminalSelector} .${b} .xterm-dim { color: ${d.color.multiplyOpacity(R.foreground,.5).css};}`,j+=`${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}`,T=`blink_bar_${this._terminalClass}`,F=`blink_block_${this._terminalClass}`;j+=`@keyframes ${A} { 50% { border-bottom-style: hidden; }}`,j+=`@keyframes ${T} { 50% { box-shadow: none; }}`,j+=`@keyframes ${F} { 0% { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css}; } 50% { background-color: inherit; color: ${R.cursor.css}; }}`,j+=`${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${A} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${T} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${F} 1s step-end infinite;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css};}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${R.cursor.css} !important; color: ${R.cursorAccent.css} !important;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${R.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${R.cursor.css} inset;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${R.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,j+=`${this._terminalSelector} .${P} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${P} div { position: absolute; background-color: ${R.selectionBackgroundOpaque.css};}${this._terminalSelector} .${P} div { position: absolute; background-color: ${R.selectionInactiveBackgroundOpaque.css};}`;for(let[D,w]of R.ansi.entries())j+=`${this._terminalSelector} .${y}${D} { color: ${w.css}; }${this._terminalSelector} .${y}${D}.xterm-dim { color: ${d.color.multiplyOpacity(w,.5).css}; }${this._terminalSelector} .${m}${D} { background-color: ${w.css}; }`;j+=`${this._terminalSelector} .${y}${g.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(R.background).css}; }${this._terminalSelector} .${y}${g.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(R.background),.5).css}; }${this._terminalSelector} .${m}${g.INVERTED_DEFAULT_COLOR} { background-color: ${R.foreground.css}; }`,this._themeStyleElement.textContent=j}_setDefaultSpacing(){let R=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${R}px`,this._rowFactory.defaultSpacing=R}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(R,j){for(let A=this._rowElements.length;A<=j;A++){let T=this._document.createElement("div");this._rowContainer.appendChild(T),this._rowElements.push(T)}for(;this._rowElements.length>j;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(R,j){this._refreshRowElements(R,j),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(E),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(E),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(R,j,A){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(R,j,A),this.renderRows(0,this._bufferService.rows-1),!R||!j)return;this._selectionRenderModel.update(this._terminal,R,j,A);let T=this._selectionRenderModel.viewportStartRow,F=this._selectionRenderModel.viewportEndRow,D=this._selectionRenderModel.viewportCappedStartRow,w=this._selectionRenderModel.viewportCappedEndRow;if(D>=this._bufferService.rows||w<0)return;let L=this._document.createDocumentFragment();if(A){let k=R[0]>j[0];L.appendChild(this._createSelectionElement(D,k?j[0]:R[0],k?R[0]:j[0],w-D+1))}else{let k=T===D?R[0]:0,M=D===F?j[0]:this._bufferService.cols;L.appendChild(this._createSelectionElement(D,k,M));let $=w-D-1;if(L.appendChild(this._createSelectionElement(D+1,0,this._bufferService.cols,$)),D!==w){let q=F===w?j[0]:this._bufferService.cols;L.appendChild(this._createSelectionElement(w,0,q))}}this._selectionContainer.appendChild(L)}_createSelectionElement(R,j,A,T=1){let F=this._document.createElement("div"),D=j*this.dimensions.css.cell.width,w=this.dimensions.css.cell.width*(A-j);return D+w>this.dimensions.css.canvas.width&&(w=this.dimensions.css.canvas.width-D),F.style.height=T*this.dimensions.css.cell.height+"px",F.style.top=R*this.dimensions.css.cell.height+"px",F.style.left=`${D}px`,F.style.width=`${w}px`,F}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 R of this._rowElements)R.replaceChildren()}renderRows(R,j){let A=this._bufferService.buffer,T=A.ybase+A.y,F=Math.min(A.x,this._bufferService.cols-1),D=this._optionsService.rawOptions.cursorBlink,w=this._optionsService.rawOptions.cursorStyle,L=this._optionsService.rawOptions.cursorInactiveStyle;for(let k=R;k<=j;k++){let M=k+A.ydisp,$=this._rowElements[k],q=A.lines.get(M);if(!$||!q)break;$.replaceChildren(...this._rowFactory.createRow(q,M,M===T,w,L,F,D,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${C}${this._terminalClass}`}_handleLinkHover(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!0)}_handleLinkLeave(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!1)}_setCellUnderline(R,j,A,T,F,D){A<0&&(R=0),T<0&&(j=0);let w=this._bufferService.rows-1;A=Math.max(Math.min(A,w),0),T=Math.max(Math.min(T,w),0),F=Math.min(F,this._bufferService.cols);let L=this._bufferService.buffer,k=L.ybase+L.y,M=Math.min(L.x,F-1),$=this._optionsService.rawOptions.cursorBlink,q=this._optionsService.rawOptions.cursorStyle,V=this._optionsService.rawOptions.cursorInactiveStyle;for(let J=A;J<=T;++J){let N=J+L.ydisp,x=this._rowElements[J],I=L.lines.get(N);if(!x||!I)break;x.replaceChildren(...this._rowFactory.createRow(I,N,N===k,q,V,M,$,this.dimensions.css.cell.width,this._widthCache,D?J===A?R:0:-1,D?(J===T?j:F)-1:-1))}}};r.DomRenderer=H=o([f(7,v.IInstantiationService),f(8,c.ICharSizeService),f(9,v.IOptionsService),f(10,v.IBufferService),f(11,c.ICoreBrowserService),f(12,c.IThemeService)],H)},3787:function(a,r,s){var o=this&&this.__decorate||function(b,y,m,E){var P,B=arguments.length,H=B<3?y:E===null?E=Object.getOwnPropertyDescriptor(y,m):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate(b,y,m,E);else for(var R=b.length-1;R>=0;R--)(P=b[R])&&(H=(B<3?P(H):B>3?P(y,m,H):P(y,m))||H);return B>3&&H&&Object.defineProperty(y,m,H),H},f=this&&this.__param||function(b,y){return function(m,E){y(m,E,b)}};Object.defineProperty(r,"__esModule",{value:!0}),r.DomRendererRowFactory=void 0;let l=s(2223),p=s(643),g=s(511),S=s(2585),_=s(8055),c=s(4725),d=s(4269),h=s(6171),u=s(3734),v=r.DomRendererRowFactory=class{constructor(b,y,m,E,P,B,H){this._document=b,this._characterJoinerService=y,this._optionsService=m,this._coreBrowserService=E,this._coreService=P,this._decorationService=B,this._themeService=H,this._workCell=new g.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(b,y,m){this._selectionStart=b,this._selectionEnd=y,this._columnSelectMode=m}createRow(b,y,m,E,P,B,H,R,j,A,T){let F=[],D=this._characterJoinerService.getJoinedCharacters(y),w=this._themeService.colors,L,k=b.getNoBgTrimmedLength();m&&k<B+1&&(k=B+1);let M=0,$="",q=0,V=0,J=0,N=!1,x=0,I=!1,O=0,U=[],z=A!==-1&&T!==-1;for(let X=0;X<k;X++){b.loadCell(X,this._workCell);let Q=this._workCell.getWidth();if(Q===0)continue;let ie=!1,te=X,K=this._workCell;if(D.length>0&&X===D[0][0]){ie=!0;let _e=D.shift();K=new d.JoinedCellData(this._workCell,b.translateToString(!0,_e[0],_e[1]),_e[1]-_e[0]),te=_e[1]-1,Q=K.getWidth()}let Z=this._isCellInSelection(X,y),re=m&&X===B,le=z&&X>=A&&X<=T,he=!1;this._decorationService.forEachDecorationAtCell(X,y,void 0,(_e=>{he=!0}));let Se=K.getChars()||p.WHITESPACE_CELL_CHAR;if(Se===" "&&(K.isUnderline()||K.isOverline())&&(Se="\xA0"),O=Q*R-j.get(Se,K.isBold(),K.isItalic()),L){if(M&&(Z&&I||!Z&&!I&&K.bg===q)&&(Z&&I&&w.selectionForeground||K.fg===V)&&K.extended.ext===J&&le===N&&O===x&&!re&&!ie&&!he){K.isInvisible()?$+=p.WHITESPACE_CELL_CHAR:$+=Se,M++;continue}M&&(L.textContent=$),L=this._document.createElement("span"),M=0,$=""}else L=this._document.createElement("span");if(q=K.bg,V=K.fg,J=K.extended.ext,N=le,x=O,I=Z,ie&&B>=X&&B<=te&&(B=X),!this._coreService.isCursorHidden&&re&&this._coreService.isCursorInitialized){if(U.push("xterm-cursor"),this._coreBrowserService.isFocused)H&&U.push("xterm-cursor-blink"),U.push(E==="bar"?"xterm-cursor-bar":E==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(P)switch(P){case"outline":U.push("xterm-cursor-outline");break;case"block":U.push("xterm-cursor-block");break;case"bar":U.push("xterm-cursor-bar");break;case"underline":U.push("xterm-cursor-underline")}}if(K.isBold()&&U.push("xterm-bold"),K.isItalic()&&U.push("xterm-italic"),K.isDim()&&U.push("xterm-dim"),$=K.isInvisible()?p.WHITESPACE_CELL_CHAR:K.getChars()||p.WHITESPACE_CELL_CHAR,K.isUnderline()&&(U.push(`xterm-underline-${K.extended.underlineStyle}`),$===" "&&($="\xA0"),!K.isUnderlineColorDefault()))if(K.isUnderlineColorRGB())L.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(K.getUnderlineColor()).join(",")})`;else{let _e=K.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&K.isBold()&&_e<8&&(_e+=8),L.style.textDecorationColor=w.ansi[_e].css}K.isOverline()&&(U.push("xterm-overline"),$===" "&&($="\xA0")),K.isStrikethrough()&&U.push("xterm-strikethrough"),le&&(L.style.textDecoration="underline");let de=K.getFgColor(),ye=K.getFgColorMode(),ve=K.getBgColor(),Ze=K.getBgColorMode(),Nt=!!K.isInverse();if(Nt){let _e=de;de=ve,ve=_e;let sr=ye;ye=Ze,Ze=sr}let $e,Zt,it,Ht=!1;switch(this._decorationService.forEachDecorationAtCell(X,y,void 0,(_e=>{_e.options.layer!=="top"&&Ht||(_e.backgroundColorRGB&&(Ze=50331648,ve=_e.backgroundColorRGB.rgba>>8&16777215,$e=_e.backgroundColorRGB),_e.foregroundColorRGB&&(ye=50331648,de=_e.foregroundColorRGB.rgba>>8&16777215,Zt=_e.foregroundColorRGB),Ht=_e.options.layer==="top")})),!Ht&&Z&&($e=this._coreBrowserService.isFocused?w.selectionBackgroundOpaque:w.selectionInactiveBackgroundOpaque,ve=$e.rgba>>8&16777215,Ze=50331648,Ht=!0,w.selectionForeground&&(ye=50331648,de=w.selectionForeground.rgba>>8&16777215,Zt=w.selectionForeground)),Ht&&U.push("xterm-decoration-top"),Ze){case 16777216:case 33554432:it=w.ansi[ve],U.push(`xterm-bg-${ve}`);break;case 50331648:it=_.channels.toColor(ve>>16,ve>>8&255,255&ve),this._addStyle(L,`background-color:#${C((ve>>>0).toString(16),"0",6)}`);break;default:Nt?(it=w.foreground,U.push(`xterm-bg-${l.INVERTED_DEFAULT_COLOR}`)):it=w.background}switch($e||K.isDim()&&($e=_.color.multiplyOpacity(it,.5)),ye){case 16777216:case 33554432:K.isBold()&&de<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(de+=8),this._applyMinimumContrast(L,it,w.ansi[de],K,$e,void 0)||U.push(`xterm-fg-${de}`);break;case 50331648:let _e=_.channels.toColor(de>>16&255,de>>8&255,255&de);this._applyMinimumContrast(L,it,_e,K,$e,Zt)||this._addStyle(L,`color:#${C(de.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(L,it,w.foreground,K,$e,Zt)||Nt&&U.push(`xterm-fg-${l.INVERTED_DEFAULT_COLOR}`)}U.length&&(L.className=U.join(" "),U.length=0),re||ie||he?L.textContent=$:M++,O!==this.defaultSpacing&&(L.style.letterSpacing=`${O}px`),F.push(L),X=te}return L&&M&&(L.textContent=$),F}_applyMinimumContrast(b,y,m,E,P,B){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,h.treatGlyphAsBackgroundColor)(E.getCode()))return!1;let H=this._getContrastCache(E),R;if(P||B||(R=H.getColor(y.rgba,m.rgba)),R===void 0){let j=this._optionsService.rawOptions.minimumContrastRatio/(E.isDim()?2:1);R=_.color.ensureContrastRatio(P||y,B||m,j),H.setColor((P||y).rgba,(B||m).rgba,R??null)}return!!R&&(this._addStyle(b,`color:${R.css}`),!0)}_getContrastCache(b){return b.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(b,y){b.setAttribute("style",`${b.getAttribute("style")||""}${y};`)}_isCellInSelection(b,y){let m=this._selectionStart,E=this._selectionEnd;return!(!m||!E)&&(this._columnSelectMode?m[0]<=E[0]?b>=m[0]&&y>=m[1]&&b<E[0]&&y<=E[1]:b<m[0]&&y>=m[1]&&b>=E[0]&&y<=E[1]:y>m[1]&&y<E[1]||m[1]===E[1]&&y===m[1]&&b>=m[0]&&b<E[0]||m[1]<E[1]&&y===E[1]&&b<E[0]||m[1]<E[1]&&y===m[1]&&b>=m[0])}};function C(b,y,m){for(;b.length<m;)b=y+b;return b}r.DomRendererRowFactory=v=o([f(1,c.ICharacterJoinerService),f(2,S.IOptionsService),f(3,c.ICoreBrowserService),f(4,S.ICoreService),f(5,S.IDecorationService),f(6,c.IThemeService)],v)},2550:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WidthCache=void 0,r.WidthCache=class{constructor(s,o){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=s.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 f=s.createElement("span");f.classList.add("xterm-char-measure-element");let l=s.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontWeight="bold";let p=s.createElement("span");p.classList.add("xterm-char-measure-element"),p.style.fontStyle="italic";let g=s.createElement("span");g.classList.add("xterm-char-measure-element"),g.style.fontWeight="bold",g.style.fontStyle="italic",this._measureElements=[f,l,p,g],this._container.appendChild(f),this._container.appendChild(l),this._container.appendChild(p),this._container.appendChild(g),o.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(s,o,f,l){s===this._font&&o===this._fontSize&&f===this._weight&&l===this._weightBold||(this._font=s,this._fontSize=o,this._weight=f,this._weightBold=l,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${f}`,this._measureElements[1].style.fontWeight=`${l}`,this._measureElements[2].style.fontWeight=`${f}`,this._measureElements[3].style.fontWeight=`${l}`,this.clear())}get(s,o,f){let l=0;if(!o&&!f&&s.length===1&&(l=s.charCodeAt(0))<256){if(this._flat[l]!==-9999)return this._flat[l];let S=this._measure(s,0);return S>0&&(this._flat[l]=S),S}let p=s;o&&(p+="B"),f&&(p+="I");let g=this._holey.get(p);if(g===void 0){let S=0;o&&(S|=1),f&&(S|=2),g=this._measure(s,S),g>0&&this._holey.set(p,g)}return g}_measure(s,o){let f=this._measureElements[o];return f.textContent=s.repeat(32),f.offsetWidth/32}}},2223:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.TEXT_BASELINE=r.DIM_OPACITY=r.INVERTED_DEFAULT_COLOR=void 0;let o=s(6114);r.INVERTED_DEFAULT_COLOR=257,r.DIM_OPACITY=.5,r.TEXT_BASELINE=o.isFirefox||o.isLegacyEdge?"bottom":"ideographic"},6171:(a,r)=>{function s(f){return 57508<=f&&f<=57558}function o(f){return f>=128512&&f<=128591||f>=127744&&f<=128511||f>=128640&&f<=128767||f>=9728&&f<=9983||f>=9984&&f<=10175||f>=65024&&f<=65039||f>=129280&&f<=129535||f>=127462&&f<=127487}Object.defineProperty(r,"__esModule",{value:!0}),r.computeNextVariantOffset=r.createRenderDimensions=r.treatGlyphAsBackgroundColor=r.allowRescaling=r.isEmoji=r.isRestrictedPowerlineGlyph=r.isPowerlineGlyph=r.throwIfFalsy=void 0,r.throwIfFalsy=function(f){if(!f)throw new Error("value must not be falsy");return f},r.isPowerlineGlyph=s,r.isRestrictedPowerlineGlyph=function(f){return 57520<=f&&f<=57527},r.isEmoji=o,r.allowRescaling=function(f,l,p,g){return l===1&&p>Math.ceil(1.5*g)&&f!==void 0&&f>255&&!o(f)&&!s(f)&&!(function(S){return 57344<=S&&S<=63743})(f)},r.treatGlyphAsBackgroundColor=function(f){return s(f)||(function(l){return 9472<=l&&l<=9631})(f)},r.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},r.computeNextVariantOffset=function(f,l,p=0){return(f-(2*Math.round(l)-p))%(2*Math.round(l))}},6052:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createSelectionRenderModel=void 0;class s{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(f,l,p,g=!1){if(this.selectionStart=l,this.selectionEnd=p,!l||!p||l[0]===p[0]&&l[1]===p[1])return void this.clear();let S=f.buffers.active.ydisp,_=l[1]-S,c=p[1]-S,d=Math.max(_,0),h=Math.min(c,f.rows-1);d>=f.rows||h<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=g,this.viewportStartRow=_,this.viewportEndRow=c,this.viewportCappedStartRow=d,this.viewportCappedEndRow=h,this.startCol=l[0],this.endCol=p[0])}isCellSelected(f,l,p){return!!this.hasSelection&&(p-=f.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?l>=this.startCol&&p>=this.viewportCappedStartRow&&l<this.endCol&&p<=this.viewportCappedEndRow:l<this.startCol&&p>=this.viewportCappedStartRow&&l>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&l>=this.startCol&&l<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&l<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&l>=this.startCol)}}r.createSelectionRenderModel=function(){return new s}},456:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionModel=void 0,r.SelectionModel=class{constructor(s){this._bufferService=s,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.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 s=this.selectionStart[0]+this.selectionStartLength;return s>this._bufferService.cols?s%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)-1]:[s%this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)]:[s,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let s=this.selectionStart[0]+this.selectionStartLength;return s>this._bufferService.cols?[s%this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)]:[Math.max(s,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let s=this.selectionStart,o=this.selectionEnd;return!(!s||!o)&&(s[1]>o[1]||s[1]===o[1]&&s[0]>o[0])}handleTrim(s){return this.selectionStart&&(this.selectionStart[1]-=s),this.selectionEnd&&(this.selectionEnd[1]-=s),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(a,r,s){var o=this&&this.__decorate||function(h,u,v,C){var b,y=arguments.length,m=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,v):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,C);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(y<3?b(m):y>3?b(u,v,m):b(u,v))||m);return y>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,C){u(v,C,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharSizeService=void 0;let l=s(2585),p=s(8460),g=s(844),S=r.CharSizeService=class extends g.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(h,u,v){super(),this._optionsService=v,this.width=0,this.height=0,this._onCharSizeChange=this.register(new p.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new c(h,u,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){let h=this._measureStrategy.measure();h.width===this.width&&h.height===this.height||(this.width=h.width,this.height=h.height,this._onCharSizeChange.fire())}};r.CharSizeService=S=o([f(2,l.IOptionsService)],S);class _ extends g.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(u,v){u!==void 0&&u>0&&v!==void 0&&v>0&&(this._result.width=u,this._result.height=v)}}class c extends _{constructor(u,v,C){super(),this._document=u,this._parentElement=v,this._optionsService=C,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}}class d extends _{constructor(u){super(),this._optionsService=u,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let v=this._ctx.measureText("W");if(!("width"in v&&"fontBoundingBoxAscent"in v&&"fontBoundingBoxDescent"in v))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let u=this._ctx.measureText("W");return this._validateAndSet(u.width,u.fontBoundingBoxAscent+u.fontBoundingBoxDescent),this._result}}},4269:function(a,r,s){var o=this&&this.__decorate||function(d,h,u,v){var C,b=arguments.length,y=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(C=d[m])&&(y=(b<3?C(y):b>3?C(h,u,y):C(h,u))||y);return b>3&&y&&Object.defineProperty(h,u,y),y},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CharacterJoinerService=r.JoinedCellData=void 0;let l=s(3734),p=s(643),g=s(511),S=s(2585);class _ extends l.AttributeData{constructor(h,u,v){super(),this.content=0,this.combinedData="",this.fg=h.fg,this.bg=h.bg,this.combinedData=u,this._width=v}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(h){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.JoinedCellData=_;let c=r.CharacterJoinerService=class Dn{constructor(h){this._bufferService=h,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new g.CellData}register(h){let u={id:this._nextCharacterJoinerId++,handler:h};return this._characterJoiners.push(u),u.id}deregister(h){for(let u=0;u<this._characterJoiners.length;u++)if(this._characterJoiners[u].id===h)return this._characterJoiners.splice(u,1),!0;return!1}getJoinedCharacters(h){if(this._characterJoiners.length===0)return[];let u=this._bufferService.buffer.lines.get(h);if(!u||u.length===0)return[];let v=[],C=u.translateToString(!0),b=0,y=0,m=0,E=u.getFg(0),P=u.getBg(0);for(let B=0;B<u.getTrimmedLength();B++)if(u.loadCell(B,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==E||this._workCell.bg!==P){if(B-b>1){let H=this._getJoinedRanges(C,m,y,u,b);for(let R=0;R<H.length;R++)v.push(H[R])}b=B,m=y,E=this._workCell.fg,P=this._workCell.bg}y+=this._workCell.getChars().length||p.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-b>1){let B=this._getJoinedRanges(C,m,y,u,b);for(let H=0;H<B.length;H++)v.push(B[H])}return v}_getJoinedRanges(h,u,v,C,b){let y=h.substring(u,v),m=[];try{m=this._characterJoiners[0].handler(y)}catch(E){console.error(E)}for(let E=1;E<this._characterJoiners.length;E++)try{let P=this._characterJoiners[E].handler(y);for(let B=0;B<P.length;B++)Dn._mergeRanges(m,P[B])}catch(P){console.error(P)}return this._stringRangesToCellRanges(m,C,b),m}_stringRangesToCellRanges(h,u,v){let C=0,b=!1,y=0,m=h[C];if(m){for(let E=v;E<this._bufferService.cols;E++){let P=u.getWidth(E),B=u.getString(E).length||p.WHITESPACE_CELL_CHAR.length;if(P!==0){if(!b&&m[0]<=y&&(m[0]=E,b=!0),m[1]<=y){if(m[1]=E,m=h[++C],!m)break;m[0]<=y?(m[0]=E,b=!0):b=!1}y+=B}}m&&(m[1]=this._bufferService.cols)}}static _mergeRanges(h,u){let v=!1;for(let C=0;C<h.length;C++){let b=h[C];if(v){if(u[1]<=b[0])return h[C-1][1]=u[1],h;if(u[1]<=b[1])return h[C-1][1]=Math.max(u[1],b[1]),h.splice(C,1),h;h.splice(C,1),C--}else{if(u[1]<=b[0])return h.splice(C,0,u),h;if(u[1]<=b[1])return b[0]=Math.min(u[0],b[0]),h;u[0]<b[1]&&(b[0]=Math.min(u[0],b[0]),v=!0)}}return v?h[h.length-1][1]=u[1]:h.push(u),h}};r.CharacterJoinerService=c=o([f(0,S.IBufferService)],c)},5114:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreBrowserService=void 0;let o=s(844),f=s(8460),l=s(3656);class p extends o.Disposable{constructor(_,c,d){super(),this._textarea=_,this._window=c,this.mainDocument=d,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new g(this._window),this._onDprChange=this.register(new f.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new f.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((h=>this._screenDprMonitor.setWindow(h)))),this.register((0,f.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(_){this._window!==_&&(this._window=_,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}}r.CoreBrowserService=p;class g extends o.Disposable{constructor(_){super(),this._parentWindow=_,this._windowResizeListener=this.register(new o.MutableDisposable),this._onDprChange=this.register(new f.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,o.toDisposable)((()=>this.clearListener())))}setWindow(_){this._parentWindow=_,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,l.addDisposableDomListener)(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)}}},779:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkProviderService=void 0;let o=s(844);class f extends o.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,o.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(p){return this.linkProviders.push(p),{dispose:()=>{let g=this.linkProviders.indexOf(p);g!==-1&&this.linkProviders.splice(g,1)}}}}r.LinkProviderService=f},8934:function(a,r,s){var o=this&&this.__decorate||function(S,_,c,d){var h,u=arguments.length,v=u<3?_:d===null?d=Object.getOwnPropertyDescriptor(_,c):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(S,_,c,d);else for(var C=S.length-1;C>=0;C--)(h=S[C])&&(v=(u<3?h(v):u>3?h(_,c,v):h(_,c))||v);return u>3&&v&&Object.defineProperty(_,c,v),v},f=this&&this.__param||function(S,_){return function(c,d){_(c,d,S)}};Object.defineProperty(r,"__esModule",{value:!0}),r.MouseService=void 0;let l=s(4725),p=s(9806),g=r.MouseService=class{constructor(S,_){this._renderService=S,this._charSizeService=_}getCoords(S,_,c,d,h){return(0,p.getCoords)(window,S,_,c,d,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,h)}getMouseReportCoords(S,_){let c=(0,p.getCoordsRelativeToElement)(window,S,_);if(this._charSizeService.hasValidSize)return c[0]=Math.min(Math.max(c[0],0),this._renderService.dimensions.css.canvas.width-1),c[1]=Math.min(Math.max(c[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(c[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(c[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(c[0]),y:Math.floor(c[1])}}};r.MouseService=g=o([f(0,l.IRenderService),f(1,l.ICharSizeService)],g)},3230:function(a,r,s){var o=this&&this.__decorate||function(h,u,v,C){var b,y=arguments.length,m=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,v):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,C);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(y<3?b(m):y>3?b(u,v,m):b(u,v))||m);return y>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,C){u(v,C,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.RenderService=void 0;let l=s(6193),p=s(4725),g=s(8460),S=s(844),_=s(7226),c=s(2585),d=r.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(h,u,v,C,b,y,m,E){super(),this._rowCount=h,this._charSizeService=C,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new _.DebouncedIdleTask,this._observerDisposable=this.register(new S.MutableDisposable),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 g.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new g.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new g.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new g.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new l.RenderDebouncer(((P,B)=>this._renderRows(P,B)),m),this.register(this._renderDebouncer),this.register(m.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(y.onResize((()=>this._fullRefresh()))),this.register(y.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this.register(v.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(b.onDecorationRegistered((()=>this._fullRefresh()))),this.register(b.onDecorationRemoved((()=>this._fullRefresh()))),this.register(v.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(y.cols,y.rows),this._fullRefresh()}))),this.register(v.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(y.buffer.y,y.buffer.y,!0)))),this.register(E.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(m.window,u),this.register(m.onWindowChange((P=>this._registerIntersectionObserver(P,u))))}_registerIntersectionObserver(h,u){if("IntersectionObserver"in h){let v=new h.IntersectionObserver((C=>this._handleIntersectionChange(C[C.length-1])),{threshold:0});v.observe(u),this._observerDisposable.value=(0,S.toDisposable)((()=>v.disconnect()))}}_handleIntersectionChange(h){this._isPaused=h.isIntersecting===void 0?h.intersectionRatio===0:!h.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(h,u,v=!1){this._isPaused?this._needsFullRefresh=!0:(v||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(h,u,this._rowCount))}_renderRows(h,u){this._renderer.value&&(h=Math.min(h,this._rowCount-1),u=Math.min(u,this._rowCount-1),this._renderer.value.renderRows(h,u),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:h,end:u}),this._onRender.fire({start:h,end:u}),this._isNextRenderRedrawOnly=!0)}resize(h,u){this._rowCount=u,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(h){this._renderer.value=h,this._renderer.value&&(this._renderer.value.onRequestRedraw((u=>this.refreshRows(u.start,u.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(h){return this._renderDebouncer.addRefreshCallback(h)}_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(h,u){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(h,u))):this._renderer.value.handleResize(h,u),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(h,u,v){this._selectionState.start=h,this._selectionState.end=u,this._selectionState.columnSelectMode=v,this._renderer.value?.handleSelectionChanged(h,u,v)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};r.RenderService=d=o([f(2,c.IOptionsService),f(3,p.ICharSizeService),f(4,c.IDecorationService),f(5,c.IBufferService),f(6,p.ICoreBrowserService),f(7,p.IThemeService)],d)},9312:function(a,r,s){var o=this&&this.__decorate||function(m,E,P,B){var H,R=arguments.length,j=R<3?E:B===null?B=Object.getOwnPropertyDescriptor(E,P):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(m,E,P,B);else for(var A=m.length-1;A>=0;A--)(H=m[A])&&(j=(R<3?H(j):R>3?H(E,P,j):H(E,P))||j);return R>3&&j&&Object.defineProperty(E,P,j),j},f=this&&this.__param||function(m,E){return function(P,B){E(P,B,m)}};Object.defineProperty(r,"__esModule",{value:!0}),r.SelectionService=void 0;let l=s(9806),p=s(9504),g=s(456),S=s(4725),_=s(8460),c=s(844),d=s(6114),h=s(4841),u=s(511),v=s(2585),C="\xA0",b=new RegExp(C,"g"),y=r.SelectionService=class extends c.Disposable{constructor(m,E,P,B,H,R,j,A,T){super(),this._element=m,this._screenElement=E,this._linkifier=P,this._bufferService=B,this._coreService=H,this._mouseService=R,this._optionsService=j,this._renderService=A,this._coreBrowserService=T,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new _.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new _.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new _.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new _.EventEmitter),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 g.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,c.toDisposable)((()=>{this._removeMouseDownListeners()})))}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 m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;return!(!m||!E||m[0]===E[0]&&m[1]===E[1])}get selectionText(){let m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;if(!m||!E)return"";let P=this._bufferService.buffer,B=[];if(this._activeSelectionMode===3){if(m[0]===E[0])return"";let H=m[0]<E[0]?m[0]:E[0],R=m[0]<E[0]?E[0]:m[0];for(let j=m[1];j<=E[1];j++){let A=P.translateBufferLineToString(j,!0,H,R);B.push(A)}}else{let H=m[1]===E[1]?E[0]:void 0;B.push(P.translateBufferLineToString(m[1],!0,m[0],H));for(let R=m[1]+1;R<=E[1]-1;R++){let j=P.lines.get(R),A=P.translateBufferLineToString(R,!0);j?.isWrapped?B[B.length-1]+=A:B.push(A)}if(m[1]!==E[1]){let R=P.lines.get(E[1]),j=P.translateBufferLineToString(E[1],!0,0,E[0]);R&&R.isWrapped?B[B.length-1]+=j:B.push(j)}}return B.map((H=>H.replace(b," "))).join(d.isWindows?`\r
5
+ WARNING: This link could potentially be dangerous`)){let d=window.open();if(d){try{d.opener=null}catch{}d.location.href=c}else console.warn("Opening link blocked as opener could not be cleared")}}i.OscLinkProvider=g=o([f(0,p.IBufferService),f(1,p.IOptionsService),f(2,p.IOscLinkService)],g)},6193:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.RenderDebouncer=void 0,i.RenderDebouncer=class{constructor(s,o){this._renderCallback=s,this._coreBrowserService=o,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(s){return this._refreshCallbacks.push(s),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(s,o,f){this._rowCount=f,s=s!==void 0?s:0,o=o!==void 0?o:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,s):s,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,o):o,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)return void this._runRefreshCallbacks();let s=Math.max(this._rowStart,0),o=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(s,o),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let s of this._refreshCallbacks)s(0);this._refreshCallbacks=[]}}},3236:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.Terminal=void 0;let o=s(3614),f=s(3656),l=s(3551),p=s(9042),g=s(3730),S=s(1680),_=s(3107),c=s(5744),d=s(2950),h=s(1296),u=s(428),v=s(4269),y=s(5114),b=s(8934),C=s(3230),m=s(9312),E=s(4725),P=s(6731),B=s(8055),H=s(8969),R=s(8460),j=s(844),A=s(6114),T=s(8437),F=s(2584),D=s(7399),w=s(5941),L=s(9074),k=s(2585),M=s(5435),z=s(4567),q=s(779);class V extends H.CoreTerminal{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}constructor(I={}){super(I),this.browser=A,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new j.MutableDisposable),this._onCursorMove=this.register(new R.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new R.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new R.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new R.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new R.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new R.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new R.EventEmitter),this._onBlur=this.register(new R.EventEmitter),this._onA11yCharEmitter=this.register(new R.EventEmitter),this._onA11yTabEmitter=this.register(new R.EventEmitter),this._onWillOpen=this.register(new R.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(L.DecorationService),this._instantiationService.setService(k.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(q.LinkProviderService),this._instantiationService.setService(E.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((x,O)=>this.refresh(x,O)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((x=>this._reportWindowsOptions(x)))),this.register(this._inputHandler.onColor((x=>this._handleColorEvent(x)))),this.register((0,R.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,R.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,R.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((x=>this._afterResize(x.cols,x.rows)))),this.register((0,j.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(I){if(this._themeService)for(let x of I){let O,N="";switch(x.index){case 256:O="foreground",N="10";break;case 257:O="background",N="11";break;case 258:O="cursor",N="12";break;default:O="ansi",N="4;"+x.index}switch(x.type){case 0:let $=B.color.toColorRGB(O==="ansi"?this._themeService.colors.ansi[x.index]:this._themeService.colors[O]);this.coreService.triggerDataEvent(`${F.C0.ESC}]${N};${(0,w.toRgbString)($)}${F.C1_ESCAPED.ST}`);break;case 1:if(O==="ansi")this._themeService.modifyColors((U=>U.ansi[x.index]=B.channels.toColor(...x.color)));else{let U=O;this._themeService.modifyColors((X=>X[U]=B.channels.toColor(...x.color)))}break;case 2:this._themeService.restoreColor(x.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(I){I?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(z.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(I){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(F.C0.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(F.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let I=this.buffer.ybase+this.buffer.y,x=this.buffer.lines.get(I);if(!x)return;let O=Math.min(this.buffer.x,this.cols-1),N=this._renderService.dimensions.css.cell.height,$=x.getWidth(O),U=this._renderService.dimensions.css.cell.width*$,X=this.buffer.y*this._renderService.dimensions.css.cell.height,te=O*this._renderService.dimensions.css.cell.width;this.textarea.style.left=te+"px",this.textarea.style.top=X+"px",this.textarea.style.width=U+"px",this.textarea.style.height=N+"px",this.textarea.style.lineHeight=N+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,f.addDisposableDomListener)(this.element,"copy",(x=>{this.hasSelection()&&(0,o.copyHandler)(x,this._selectionService)})));let I=x=>(0,o.handlePasteEvent)(x,this.textarea,this.coreService,this.optionsService);this.register((0,f.addDisposableDomListener)(this.textarea,"paste",I)),this.register((0,f.addDisposableDomListener)(this.element,"paste",I)),A.isFirefox?this.register((0,f.addDisposableDomListener)(this.element,"mousedown",(x=>{x.button===2&&(0,o.rightClickHandler)(x,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,f.addDisposableDomListener)(this.element,"contextmenu",(x=>{(0,o.rightClickHandler)(x,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),A.isLinux&&this.register((0,f.addDisposableDomListener)(this.element,"auxclick",(x=>{x.button===1&&(0,o.moveTextAreaUnderMouseCursor)(x,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,f.addDisposableDomListener)(this.textarea,"keyup",(I=>this._keyUp(I)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"keydown",(I=>this._keyDown(I)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"keypress",(I=>this._keyPress(I)),!0)),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionupdate",(I=>this._compositionHelper.compositionupdate(I)))),this.register((0,f.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,f.addDisposableDomListener)(this.textarea,"input",(I=>this._inputEvent(I)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(I){if(!I)throw new Error("Terminal requires a parent element.");if(I.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=I.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"),I.appendChild(this.element);let x=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),x.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,f.addDisposableDomListener)(this.screenElement,"mousemove",(O=>this.updateCursorStyle(O)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),x.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),A.isChromeOS||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._coreBrowserService=this.register(this._instantiationService.createInstance(y.CoreBrowserService,this.textarea,I.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(E.ICoreBrowserService,this._coreBrowserService),this.register((0,f.addDisposableDomListener)(this.textarea,"focus",(O=>this._handleTextAreaFocus(O)))),this.register((0,f.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(u.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(E.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(P.ThemeService),this._instantiationService.setService(E.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(v.CharacterJoinerService),this._instantiationService.setService(E.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(C.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(E.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((O=>this._onRender.fire(O)))),this.onResize((O=>this._renderService.resize(O.cols,O.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(E.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(l.Linkifier,this.screenElement)),this.element.appendChild(x);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((O=>this.scrollLines(O.amount,O.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),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.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(E.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((O=>this.scrollLines(O.amount,O.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((O=>this._renderService.handleSelectionChanged(O.start,O.end,O.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((O=>{this.textarea.value=O,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((O=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,f.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(_.BufferDecorationRenderer,this.screenElement)),this.register((0,f.addDisposableDomListener)(this.element,"mousedown",(O=>this._selectionService.handleMouseDown(O)))),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(z.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(O=>this._handleScreenReaderModeOptionChange(O)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(c.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(O=>{!this._overviewRulerRenderer&&O&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(c.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(h.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let I=this,x=this.element;function O(U){let X=I._mouseService.getMouseReportCoords(U,I.screenElement);if(!X)return!1;let te,re;switch(U.overrideType||U.type){case"mousemove":re=32,U.buttons===void 0?(te=3,U.button!==void 0&&(te=U.button<3?U.button:3)):te=1&U.buttons?0:4&U.buttons?1:2&U.buttons?2:3;break;case"mouseup":re=0,te=U.button<3?U.button:3;break;case"mousedown":re=1,te=U.button<3?U.button:3;break;case"wheel":if(I._customWheelEventHandler&&I._customWheelEventHandler(U)===!1||I.viewport.getLinesScrolled(U)===0)return!1;re=U.deltaY<0?0:1,te=4;break;default:return!1}return!(re===void 0||te===void 0||te>4)&&I.coreMouseService.triggerMouseEvent({col:X.col,row:X.row,x:X.x,y:X.y,button:te,action:re,ctrl:U.ctrlKey,alt:U.altKey,shift:U.shiftKey})}let N={mouseup:null,wheel:null,mousedrag:null,mousemove:null},$={mouseup:U=>(O(U),U.buttons||(this._document.removeEventListener("mouseup",N.mouseup),N.mousedrag&&this._document.removeEventListener("mousemove",N.mousedrag)),this.cancel(U)),wheel:U=>(O(U),this.cancel(U,!0)),mousedrag:U=>{U.buttons&&O(U)},mousemove:U=>{U.buttons||O(U)}};this.register(this.coreMouseService.onProtocolChange((U=>{U?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(U)),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()),8&U?N.mousemove||(x.addEventListener("mousemove",$.mousemove),N.mousemove=$.mousemove):(x.removeEventListener("mousemove",N.mousemove),N.mousemove=null),16&U?N.wheel||(x.addEventListener("wheel",$.wheel,{passive:!1}),N.wheel=$.wheel):(x.removeEventListener("wheel",N.wheel),N.wheel=null),2&U?N.mouseup||(N.mouseup=$.mouseup):(this._document.removeEventListener("mouseup",N.mouseup),N.mouseup=null),4&U?N.mousedrag||(N.mousedrag=$.mousedrag):(this._document.removeEventListener("mousemove",N.mousedrag),N.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,f.addDisposableDomListener)(x,"mousedown",(U=>{if(U.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(U))return O(U),N.mouseup&&this._document.addEventListener("mouseup",N.mouseup),N.mousedrag&&this._document.addEventListener("mousemove",N.mousedrag),this.cancel(U)}))),this.register((0,f.addDisposableDomListener)(x,"wheel",(U=>{if(!N.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(U)===!1)return!1;if(!this.buffer.hasScrollback){let X=this.viewport.getLinesScrolled(U);if(X===0)return;let te=F.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(U.deltaY<0?"A":"B"),re="";for(let Q=0;Q<Math.abs(X);Q++)re+=te;return this.coreService.triggerDataEvent(re,!0),this.cancel(U,!0)}return this.viewport.handleWheel(U)?this.cancel(U):void 0}}),{passive:!1})),this.register((0,f.addDisposableDomListener)(x,"touchstart",(U=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(U),this.cancel(U)}),{passive:!0})),this.register((0,f.addDisposableDomListener)(x,"touchmove",(U=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(U)?void 0:this.cancel(U)}),{passive:!1}))}refresh(I,x){this._renderService?.refreshRows(I,x)}updateCursorStyle(I){this._selectionService?.shouldColumnSelect(I)?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(I,x,O=0){O===1?(super.scrollLines(I,x,O),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(I)}paste(I){(0,o.paste)(I,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(I){this._customKeyEventHandler=I}attachCustomWheelEventHandler(I){this._customWheelEventHandler=I}registerLinkProvider(I){return this._linkProviderService.registerLinkProvider(I)}registerCharacterJoiner(I){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let x=this._characterJoinerService.register(I);return this.refresh(0,this.rows-1),x}deregisterCharacterJoiner(I){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(I)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(I){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+I)}registerDecoration(I){return this._decorationService.registerDecoration(I)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(I,x,O){this._selectionService.setSelection(I,x,O)}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(I,x){this._selectionService?.selectLines(I,x)}_keyDown(I){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(I)===!1)return!1;let x=this.browser.isMac&&this.options.macOptionIsMeta&&I.altKey;if(!x&&!this._compositionHelper.keydown(I))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;x||I.key!=="Dead"&&I.key!=="AltGraph"||(this._unprocessedDeadKey=!0);let O=(0,D.evaluateKeyboardEvent)(I,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(I),O.type===3||O.type===2){let N=this.rows-1;return this.scrollLines(O.type===2?-N:N),this.cancel(I,!0)}return O.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,I)||(O.cancel&&this.cancel(I,!0),!O.key||!!(I.key&&!I.ctrlKey&&!I.altKey&&!I.metaKey&&I.key.length===1&&I.key.charCodeAt(0)>=65&&I.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(O.key!==F.C0.ETX&&O.key!==F.C0.CR||(this.textarea.value=""),this._onKey.fire({key:O.key,domEvent:I}),this._showCursor(),this.coreService.triggerDataEvent(O.key,!0),!this.optionsService.rawOptions.screenReaderMode||I.altKey||I.ctrlKey?this.cancel(I,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(I,x){let O=I.isMac&&!this.options.macOptionIsMeta&&x.altKey&&!x.ctrlKey&&!x.metaKey||I.isWindows&&x.altKey&&x.ctrlKey&&!x.metaKey||I.isWindows&&x.getModifierState("AltGraph");return x.type==="keypress"?O:O&&(!x.keyCode||x.keyCode>47)}_keyUp(I){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(I)===!1||((function(x){return x.keyCode===16||x.keyCode===17||x.keyCode===18})(I)||this.focus(),this.updateCursorStyle(I),this._keyPressHandled=!1)}_keyPress(I){let x;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(I)===!1)return!1;if(this.cancel(I),I.charCode)x=I.charCode;else if(I.which===null||I.which===void 0)x=I.keyCode;else{if(I.which===0||I.charCode===0)return!1;x=I.which}return!(!x||(I.altKey||I.ctrlKey||I.metaKey)&&!this._isThirdLevelShift(this.browser,I)||(x=String.fromCharCode(x),this._onKey.fire({key:x,domEvent:I}),this._showCursor(),this.coreService.triggerDataEvent(x,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(I){if(I.data&&I.inputType==="insertText"&&(!I.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let x=I.data;return this.coreService.triggerDataEvent(x,!0),this.cancel(I),!0}return!1}resize(I,x){I!==this.cols||x!==this.rows?super.resize(I,x):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(I,x){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}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 I=1;I<this.rows;I++)this.buffer.lines.push(this.buffer.getBlankLine(T.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),this.viewport?.reset(),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let I=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this.viewport?.reset(),this._customKeyEventHandler=I,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(F.C0.ESC+"[I"):this.coreService.triggerDataEvent(F.C0.ESC+"[O")}_reportWindowsOptions(I){if(this._renderService)switch(I){case M.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:let x=this._renderService.dimensions.css.canvas.width.toFixed(0),O=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${F.C0.ESC}[4;${O};${x}t`);break;case M.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:let N=this._renderService.dimensions.css.cell.width.toFixed(0),$=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${F.C0.ESC}[6;${$};${N}t`)}}cancel(I,x){if(this.options.cancelEvents||x)return I.preventDefault(),I.stopPropagation(),!1}}i.Terminal=V},9924:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.TimeBasedDebouncer=void 0,i.TimeBasedDebouncer=class{constructor(s,o=1e3){this._renderCallback=s,this._debounceThresholdMS=o,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(s,o,f){this._rowCount=f,s=s!==void 0?s:0,o=o!==void 0?o:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,s):s,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,o):o;let l=Date.now();if(l-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=l,this._innerRefresh();else if(!this._additionalRefreshRequested){let p=l-this._lastRefreshMs,g=this._debounceThresholdMS-p;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),g)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let s=Math.max(this._rowStart,0),o=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(s,o)}}},1680:function(a,i,s){var o=this&&this.__decorate||function(d,h,u,v){var y,b=arguments.length,C=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(y=d[m])&&(C=(b<3?y(C):b>3?y(h,u,C):y(h,u))||C);return b>3&&C&&Object.defineProperty(h,u,C),C},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(i,"__esModule",{value:!0}),i.Viewport=void 0;let l=s(3656),p=s(4725),g=s(8460),S=s(844),_=s(2585),c=i.Viewport=class extends S.Disposable{constructor(d,h,u,v,y,b,C,m){super(),this._viewportElement=d,this._scrollArea=h,this._bufferService=u,this._optionsService=v,this._charSizeService=y,this._renderService=b,this._coreBrowserService=C,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new g.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,l.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((E=>this._activeBuffer=E.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((E=>this._renderDimensions=E))),this._handleThemeChange(m.colors),this.register(m.onChangeColors((E=>this._handleThemeChange(E)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(d){this._viewportElement.style.backgroundColor=d.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(d){if(d)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;let h=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==h&&(this._lastRecordedBufferHeight=h,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}let d=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==d&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=d),this._refreshAnimationFrame=null}syncScrollArea(d=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(d);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(d)}_handleScroll(d){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});let h=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:h,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;let d=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(d*(this._smoothScrollState.target-this._smoothScrollState.origin)),d<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(d,h){let u=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(h<0&&this._viewportElement.scrollTop!==0||h>0&&u<this._lastRecordedBufferHeight)||(d.cancelable&&d.preventDefault(),!1)}handleWheel(d){let h=this._getPixelsScrolled(d);return h!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+h:this._smoothScrollState.target+=h,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=h,this._bubbleScroll(d,h))}scrollLines(d){if(d!==0)if(this._optionsService.rawOptions.smoothScrollDuration){let h=d*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+h,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:d,suppressScrollEvent:!1})}_getPixelsScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let h=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_LINE?h*=this._currentRowHeight:d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(h*=this._currentRowHeight*this._bufferService.rows),h}getBufferElements(d,h){let u,v="",y=[],b=h??this._bufferService.buffer.lines.length,C=this._bufferService.buffer.lines;for(let m=d;m<b;m++){let E=C.get(m);if(!E)continue;let P=C.get(m+1)?.isWrapped;if(v+=E.translateToString(!P),!P||m===C.length-1){let B=document.createElement("div");B.textContent=v,y.push(B),v.length>0&&(u=B),v=""}}return{bufferElements:y,cursorElement:u}}getLinesScrolled(d){if(d.deltaY===0||d.shiftKey)return 0;let h=this._applyScrollModifier(d.deltaY,d);return d.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(h/=this._currentRowHeight+0,this._wheelPartialScroll+=h,h=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):d.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(h*=this._bufferService.rows),h}_applyScrollModifier(d,h){let u=this._optionsService.rawOptions.fastScrollModifier;return u==="alt"&&h.altKey||u==="ctrl"&&h.ctrlKey||u==="shift"&&h.shiftKey?d*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:d*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(d){this._lastTouchY=d.touches[0].pageY}handleTouchMove(d){let h=this._lastTouchY-d.touches[0].pageY;return this._lastTouchY=d.touches[0].pageY,h!==0&&(this._viewportElement.scrollTop+=h,this._bubbleScroll(d,h))}};i.Viewport=c=o([f(2,_.IBufferService),f(3,_.IOptionsService),f(4,p.ICharSizeService),f(5,p.IRenderService),f(6,p.ICoreBrowserService),f(7,p.IThemeService)],c)},3107:function(a,i,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,y=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(y=(v<3?u(y):v>3?u(c,d,y):u(c,d))||y);return v>3&&y&&Object.defineProperty(c,d,y),y},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(i,"__esModule",{value:!0}),i.BufferDecorationRenderer=void 0;let l=s(4725),p=s(844),g=s(2585),S=i.BufferDecorationRenderer=class extends p.Disposable{constructor(_,c,d,h,u){super(),this._screenElement=_,this._bufferService=c,this._coreBrowserService=d,this._decorationService=h,this._renderService=u,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((v=>this._removeDecoration(v)))),this.register((0,p.toDisposable)((()=>{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 _ of this._decorationService.decorations)this._renderDecoration(_);this._dimensionsChanged=!1}_renderDecoration(_){this._refreshStyle(_),this._dimensionsChanged&&this._refreshXPosition(_)}_createElement(_){let c=this._coreBrowserService.mainDocument.createElement("div");c.classList.add("xterm-decoration"),c.classList.toggle("xterm-decoration-top-layer",_?.options?.layer==="top"),c.style.width=`${Math.round((_.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,c.style.height=(_.options.height||1)*this._renderService.dimensions.css.cell.height+"px",c.style.top=(_.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",c.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let d=_.options.x??0;return d&&d>this._bufferService.cols&&(c.style.display="none"),this._refreshXPosition(_,c),c}_refreshStyle(_){let c=_.marker.line-this._bufferService.buffers.active.ydisp;if(c<0||c>=this._bufferService.rows)_.element&&(_.element.style.display="none",_.onRenderEmitter.fire(_.element));else{let d=this._decorationElements.get(_);d||(d=this._createElement(_),_.element=d,this._decorationElements.set(_,d),this._container.appendChild(d),_.onDispose((()=>{this._decorationElements.delete(_),d.remove()}))),d.style.top=c*this._renderService.dimensions.css.cell.height+"px",d.style.display=this._altBufferIsActive?"none":"block",_.onRenderEmitter.fire(d)}}_refreshXPosition(_,c=_.element){if(!c)return;let d=_.options.x??0;(_.options.anchor||"left")==="right"?c.style.right=d?d*this._renderService.dimensions.css.cell.width+"px":"":c.style.left=d?d*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(_){this._decorationElements.get(_)?.remove(),this._decorationElements.delete(_),_.dispose()}};i.BufferDecorationRenderer=S=o([f(1,g.IBufferService),f(2,l.ICoreBrowserService),f(3,g.IDecorationService),f(4,l.IRenderService)],S)},5871:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ColorZoneStore=void 0,i.ColorZoneStore=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(s){if(s.options.overviewRulerOptions){for(let o of this._zones)if(o.color===s.options.overviewRulerOptions.color&&o.position===s.options.overviewRulerOptions.position){if(this._lineIntersectsZone(o,s.marker.line))return;if(this._lineAdjacentToZone(o,s.marker.line,s.options.overviewRulerOptions.position))return void this._addLineToZone(o,s.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=s.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=s.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=s.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=s.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:s.options.overviewRulerOptions.color,position:s.options.overviewRulerOptions.position,startBufferLine:s.marker.line,endBufferLine:s.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(s){this._linePadding=s}_lineIntersectsZone(s,o){return o>=s.startBufferLine&&o<=s.endBufferLine}_lineAdjacentToZone(s,o,f){return o>=s.startBufferLine-this._linePadding[f||"full"]&&o<=s.endBufferLine+this._linePadding[f||"full"]}_addLineToZone(s,o){s.startBufferLine=Math.min(s.startBufferLine,o),s.endBufferLine=Math.max(s.endBufferLine,o)}}},5744:function(a,i,s){var o=this&&this.__decorate||function(u,v,y,b){var C,m=arguments.length,E=m<3?v:b===null?b=Object.getOwnPropertyDescriptor(v,y):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(u,v,y,b);else for(var P=u.length-1;P>=0;P--)(C=u[P])&&(E=(m<3?C(E):m>3?C(v,y,E):C(v,y))||E);return m>3&&E&&Object.defineProperty(v,y,E),E},f=this&&this.__param||function(u,v){return function(y,b){v(y,b,u)}};Object.defineProperty(i,"__esModule",{value:!0}),i.OverviewRulerRenderer=void 0;let l=s(5871),p=s(4725),g=s(844),S=s(2585),_={full:0,left:0,center:0,right:0},c={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},h=i.OverviewRulerRenderer=class extends g.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(u,v,y,b,C,m,E){super(),this._viewportElement=u,this._screenElement=v,this._bufferService=y,this._decorationService=b,this._renderService=C,this._optionsService=m,this._coreBrowserService=E,this._colorZoneStore=new l.ColorZoneStore,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);let P=this._canvas.getContext("2d");if(!P)throw new Error("Ctx cannot be null");this._ctx=P,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,g.toDisposable)((()=>{this._canvas?.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){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())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){let u=Math.floor(this._canvas.width/3),v=Math.ceil(this._canvas.width/3);c.full=this._canvas.width,c.left=u,c.center=v,c.right=u,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=c.left,d.right=c.left+c.center}_refreshDrawHeightConstants(){_.full=Math.round(2*this._coreBrowserService.dpr);let u=this._canvas.height/this._bufferService.buffer.lines.length,v=Math.round(Math.max(Math.min(u,12),6)*this._coreBrowserService.dpr);_.left=v,_.center=v,_.right=v}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*_.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 v of this._decorationService.decorations)this._colorZoneStore.addDecoration(v);this._ctx.lineWidth=1;let u=this._colorZoneStore.zones;for(let v of u)v.position!=="full"&&this._renderColorZone(v);for(let v of u)v.position==="full"&&this._renderColorZone(v);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(u){this._ctx.fillStyle=u.color,this._ctx.fillRect(d[u.position||"full"],Math.round((this._canvas.height-1)*(u.startBufferLine/this._bufferService.buffers.active.lines.length)-_[u.position||"full"]/2),c[u.position||"full"],Math.round((this._canvas.height-1)*((u.endBufferLine-u.startBufferLine)/this._bufferService.buffers.active.lines.length)+_[u.position||"full"]))}_queueRefresh(u,v){this._shouldUpdateDimensions=u||this._shouldUpdateDimensions,this._shouldUpdateAnchor=v||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};i.OverviewRulerRenderer=h=o([f(2,S.IBufferService),f(3,S.IDecorationService),f(4,p.IRenderService),f(5,S.IOptionsService),f(6,p.ICoreBrowserService)],h)},2950:function(a,i,s){var o=this&&this.__decorate||function(_,c,d,h){var u,v=arguments.length,y=v<3?c:h===null?h=Object.getOwnPropertyDescriptor(c,d):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(_,c,d,h);else for(var b=_.length-1;b>=0;b--)(u=_[b])&&(y=(v<3?u(y):v>3?u(c,d,y):u(c,d))||y);return v>3&&y&&Object.defineProperty(c,d,y),y},f=this&&this.__param||function(_,c){return function(d,h){c(d,h,_)}};Object.defineProperty(i,"__esModule",{value:!0}),i.CompositionHelper=void 0;let l=s(4725),p=s(2585),g=s(2584),S=i.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(_,c,d,h,u,v){this._textarea=_,this._compositionView=c,this._bufferService=d,this._optionsService=h,this._coreService=u,this._renderService=v,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(_){this._compositionView.textContent=_.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(_){if(this._isComposing||this._isSendingComposition){if(_.keyCode===229||_.keyCode===16||_.keyCode===17||_.keyCode===18)return!1;this._finalizeComposition(!1)}return _.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(_){if(this._compositionView.classList.remove("active"),this._isComposing=!1,_){let c={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let d;this._isSendingComposition=!1,c.start+=this._dataAlreadySent.length,d=this._isComposing?this._textarea.value.substring(c.start,c.end):this._textarea.value.substring(c.start),d.length>0&&this._coreService.triggerDataEvent(d,!0)}}),0)}else{this._isSendingComposition=!1;let c=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(c,!0)}}_handleAnyTextareaChanges(){let _=this._textarea.value;setTimeout((()=>{if(!this._isComposing){let c=this._textarea.value,d=c.replace(_,"");this._dataAlreadySent=d,c.length>_.length?this._coreService.triggerDataEvent(d,!0):c.length<_.length?this._coreService.triggerDataEvent(`${g.C0.DEL}`,!0):c.length===_.length&&c!==_&&this._coreService.triggerDataEvent(c,!0)}}),0)}updateCompositionElements(_){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let c=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),d=this._renderService.dimensions.css.cell.height,h=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,u=c*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=u+"px",this._compositionView.style.top=h+"px",this._compositionView.style.height=d+"px",this._compositionView.style.lineHeight=d+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let v=this._compositionView.getBoundingClientRect();this._textarea.style.left=u+"px",this._textarea.style.top=h+"px",this._textarea.style.width=Math.max(v.width,1)+"px",this._textarea.style.height=Math.max(v.height,1)+"px",this._textarea.style.lineHeight=v.height+"px"}_||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};i.CompositionHelper=S=o([f(2,p.IBufferService),f(3,p.IOptionsService),f(4,p.ICoreService),f(5,l.IRenderService)],S)},9806:(a,i)=>{function s(o,f,l){let p=l.getBoundingClientRect(),g=o.getComputedStyle(l),S=parseInt(g.getPropertyValue("padding-left")),_=parseInt(g.getPropertyValue("padding-top"));return[f.clientX-p.left-S,f.clientY-p.top-_]}Object.defineProperty(i,"__esModule",{value:!0}),i.getCoords=i.getCoordsRelativeToElement=void 0,i.getCoordsRelativeToElement=s,i.getCoords=function(o,f,l,p,g,S,_,c,d){if(!S)return;let h=s(o,f,l);return h?(h[0]=Math.ceil((h[0]+(d?_/2:0))/_),h[1]=Math.ceil(h[1]/c),h[0]=Math.min(Math.max(h[0],1),p+(d?1:0)),h[1]=Math.min(Math.max(h[1],1),g),h):void 0}},9504:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.moveToCellSequence=void 0;let o=s(2584);function f(c,d,h,u){let v=c-l(c,h),y=d-l(d,h),b=Math.abs(v-y)-(function(C,m,E){let P=0,B=C-l(C,E),H=m-l(m,E);for(let R=0;R<Math.abs(B-H);R++){let j=p(C,m)==="A"?-1:1;E.buffer.lines.get(B+j*R)?.isWrapped&&P++}return P})(c,d,h);return _(b,S(p(c,d),u))}function l(c,d){let h=0,u=d.buffer.lines.get(c),v=u?.isWrapped;for(;v&&c>=0&&c<d.rows;)h++,u=d.buffer.lines.get(--c),v=u?.isWrapped;return h}function p(c,d){return c>d?"A":"B"}function g(c,d,h,u,v,y){let b=c,C=d,m="";for(;b!==h||C!==u;)b+=v?1:-1,v&&b>y.cols-1?(m+=y.buffer.translateBufferLineToString(C,!1,c,b),b=0,c=0,C++):!v&&b<0&&(m+=y.buffer.translateBufferLineToString(C,!1,0,c+1),b=y.cols-1,c=b,C--);return m+y.buffer.translateBufferLineToString(C,!1,c,b)}function S(c,d){let h=d?"O":"[";return o.C0.ESC+h+c}function _(c,d){c=Math.floor(c);let h="";for(let u=0;u<c;u++)h+=d;return h}i.moveToCellSequence=function(c,d,h,u){let v=h.buffer.x,y=h.buffer.y;if(!h.buffer.hasScrollback)return(function(m,E,P,B,H,R){return f(E,B,H,R).length===0?"":_(g(m,E,m,E-l(E,H),!1,H).length,S("D",R))})(v,y,0,d,h,u)+f(y,d,h,u)+(function(m,E,P,B,H,R){let j;j=f(E,B,H,R).length>0?B-l(B,H):E;let A=B,T=(function(F,D,w,L,k,M){let z;return z=f(w,L,k,M).length>0?L-l(L,k):D,F<w&&z<=L||F>=w&&z<L?"C":"D"})(m,E,P,B,H,R);return _(g(m,j,P,A,T==="C",H).length,S(T,R))})(v,y,c,d,h,u);let b;if(y===d)return b=v>c?"D":"C",_(Math.abs(v-c),S(b,u));b=y>d?"D":"C";let C=Math.abs(y-d);return _((function(m,E){return E.cols-m})(y>d?c:v,h)+(C-1)*h.cols+1+((y>d?v:c)-1),S(b,u))}},1296:function(a,i,s){var o=this&&this.__decorate||function(R,j,A,T){var F,D=arguments.length,w=D<3?j:T===null?T=Object.getOwnPropertyDescriptor(j,A):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")w=Reflect.decorate(R,j,A,T);else for(var L=R.length-1;L>=0;L--)(F=R[L])&&(w=(D<3?F(w):D>3?F(j,A,w):F(j,A))||w);return D>3&&w&&Object.defineProperty(j,A,w),w},f=this&&this.__param||function(R,j){return function(A,T){j(A,T,R)}};Object.defineProperty(i,"__esModule",{value:!0}),i.DomRenderer=void 0;let l=s(3787),p=s(2550),g=s(2223),S=s(6171),_=s(6052),c=s(4725),d=s(8055),h=s(8460),u=s(844),v=s(2585),y="xterm-dom-renderer-owner-",b="xterm-rows",C="xterm-fg-",m="xterm-bg-",E="xterm-focus",P="xterm-selection",B=1,H=i.DomRenderer=class extends u.Disposable{constructor(R,j,A,T,F,D,w,L,k,M,z,q,V){super(),this._terminal=R,this._document=j,this._element=A,this._screenElement=T,this._viewportElement=F,this._helperContainer=D,this._linkifier2=w,this._charSizeService=k,this._optionsService=M,this._bufferService=z,this._coreBrowserService=q,this._themeService=V,this._terminalClass=B++,this._rowElements=[],this._selectionRenderModel=(0,_.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new h.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(b),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(P),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((Z=>this._injectCss(Z)))),this._injectCss(this._themeService.colors),this._rowFactory=L.createInstance(l.DomRendererRowFactory,document),this._element.classList.add(y+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((Z=>this._handleLinkHover(Z)))),this.register(this._linkifier2.onHideLinkUnderline((Z=>this._handleLinkLeave(Z)))),this.register((0,u.toDisposable)((()=>{this._element.classList.remove(y+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new p.WidthCache(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 R=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*R,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*R),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/R),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/R),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 j=`${this._terminalSelector} .${b} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=j,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(R){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let j=`${this._terminalSelector} .${b} { color: ${R.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;j+=`${this._terminalSelector} .${b} .xterm-dim { color: ${d.color.multiplyOpacity(R.foreground,.5).css};}`,j+=`${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}`,T=`blink_bar_${this._terminalClass}`,F=`blink_block_${this._terminalClass}`;j+=`@keyframes ${A} { 50% { border-bottom-style: hidden; }}`,j+=`@keyframes ${T} { 50% { box-shadow: none; }}`,j+=`@keyframes ${F} { 0% { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css}; } 50% { background-color: inherit; color: ${R.cursor.css}; }}`,j+=`${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${A} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${T} 1s step-end infinite;}${this._terminalSelector} .${b}.${E} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${F} 1s step-end infinite;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block { background-color: ${R.cursor.css}; color: ${R.cursorAccent.css};}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${R.cursor.css} !important; color: ${R.cursorAccent.css} !important;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${R.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${R.cursor.css} inset;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${R.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,j+=`${this._terminalSelector} .${P} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${P} div { position: absolute; background-color: ${R.selectionBackgroundOpaque.css};}${this._terminalSelector} .${P} div { position: absolute; background-color: ${R.selectionInactiveBackgroundOpaque.css};}`;for(let[D,w]of R.ansi.entries())j+=`${this._terminalSelector} .${C}${D} { color: ${w.css}; }${this._terminalSelector} .${C}${D}.xterm-dim { color: ${d.color.multiplyOpacity(w,.5).css}; }${this._terminalSelector} .${m}${D} { background-color: ${w.css}; }`;j+=`${this._terminalSelector} .${C}${g.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(R.background).css}; }${this._terminalSelector} .${C}${g.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(R.background),.5).css}; }${this._terminalSelector} .${m}${g.INVERTED_DEFAULT_COLOR} { background-color: ${R.foreground.css}; }`,this._themeStyleElement.textContent=j}_setDefaultSpacing(){let R=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${R}px`,this._rowFactory.defaultSpacing=R}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(R,j){for(let A=this._rowElements.length;A<=j;A++){let T=this._document.createElement("div");this._rowContainer.appendChild(T),this._rowElements.push(T)}for(;this._rowElements.length>j;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(R,j){this._refreshRowElements(R,j),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(E),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(E),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(R,j,A){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(R,j,A),this.renderRows(0,this._bufferService.rows-1),!R||!j)return;this._selectionRenderModel.update(this._terminal,R,j,A);let T=this._selectionRenderModel.viewportStartRow,F=this._selectionRenderModel.viewportEndRow,D=this._selectionRenderModel.viewportCappedStartRow,w=this._selectionRenderModel.viewportCappedEndRow;if(D>=this._bufferService.rows||w<0)return;let L=this._document.createDocumentFragment();if(A){let k=R[0]>j[0];L.appendChild(this._createSelectionElement(D,k?j[0]:R[0],k?R[0]:j[0],w-D+1))}else{let k=T===D?R[0]:0,M=D===F?j[0]:this._bufferService.cols;L.appendChild(this._createSelectionElement(D,k,M));let z=w-D-1;if(L.appendChild(this._createSelectionElement(D+1,0,this._bufferService.cols,z)),D!==w){let q=F===w?j[0]:this._bufferService.cols;L.appendChild(this._createSelectionElement(w,0,q))}}this._selectionContainer.appendChild(L)}_createSelectionElement(R,j,A,T=1){let F=this._document.createElement("div"),D=j*this.dimensions.css.cell.width,w=this.dimensions.css.cell.width*(A-j);return D+w>this.dimensions.css.canvas.width&&(w=this.dimensions.css.canvas.width-D),F.style.height=T*this.dimensions.css.cell.height+"px",F.style.top=R*this.dimensions.css.cell.height+"px",F.style.left=`${D}px`,F.style.width=`${w}px`,F}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 R of this._rowElements)R.replaceChildren()}renderRows(R,j){let A=this._bufferService.buffer,T=A.ybase+A.y,F=Math.min(A.x,this._bufferService.cols-1),D=this._optionsService.rawOptions.cursorBlink,w=this._optionsService.rawOptions.cursorStyle,L=this._optionsService.rawOptions.cursorInactiveStyle;for(let k=R;k<=j;k++){let M=k+A.ydisp,z=this._rowElements[k],q=A.lines.get(M);if(!z||!q)break;z.replaceChildren(...this._rowFactory.createRow(q,M,M===T,w,L,F,D,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${y}${this._terminalClass}`}_handleLinkHover(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!0)}_handleLinkLeave(R){this._setCellUnderline(R.x1,R.x2,R.y1,R.y2,R.cols,!1)}_setCellUnderline(R,j,A,T,F,D){A<0&&(R=0),T<0&&(j=0);let w=this._bufferService.rows-1;A=Math.max(Math.min(A,w),0),T=Math.max(Math.min(T,w),0),F=Math.min(F,this._bufferService.cols);let L=this._bufferService.buffer,k=L.ybase+L.y,M=Math.min(L.x,F-1),z=this._optionsService.rawOptions.cursorBlink,q=this._optionsService.rawOptions.cursorStyle,V=this._optionsService.rawOptions.cursorInactiveStyle;for(let Z=A;Z<=T;++Z){let I=Z+L.ydisp,x=this._rowElements[Z],O=L.lines.get(I);if(!x||!O)break;x.replaceChildren(...this._rowFactory.createRow(O,I,I===k,q,V,M,z,this.dimensions.css.cell.width,this._widthCache,D?Z===A?R:0:-1,D?(Z===T?j:F)-1:-1))}}};i.DomRenderer=H=o([f(7,v.IInstantiationService),f(8,c.ICharSizeService),f(9,v.IOptionsService),f(10,v.IBufferService),f(11,c.ICoreBrowserService),f(12,c.IThemeService)],H)},3787:function(a,i,s){var o=this&&this.__decorate||function(b,C,m,E){var P,B=arguments.length,H=B<3?C:E===null?E=Object.getOwnPropertyDescriptor(C,m):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate(b,C,m,E);else for(var R=b.length-1;R>=0;R--)(P=b[R])&&(H=(B<3?P(H):B>3?P(C,m,H):P(C,m))||H);return B>3&&H&&Object.defineProperty(C,m,H),H},f=this&&this.__param||function(b,C){return function(m,E){C(m,E,b)}};Object.defineProperty(i,"__esModule",{value:!0}),i.DomRendererRowFactory=void 0;let l=s(2223),p=s(643),g=s(511),S=s(2585),_=s(8055),c=s(4725),d=s(4269),h=s(6171),u=s(3734),v=i.DomRendererRowFactory=class{constructor(b,C,m,E,P,B,H){this._document=b,this._characterJoinerService=C,this._optionsService=m,this._coreBrowserService=E,this._coreService=P,this._decorationService=B,this._themeService=H,this._workCell=new g.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(b,C,m){this._selectionStart=b,this._selectionEnd=C,this._columnSelectMode=m}createRow(b,C,m,E,P,B,H,R,j,A,T){let F=[],D=this._characterJoinerService.getJoinedCharacters(C),w=this._themeService.colors,L,k=b.getNoBgTrimmedLength();m&&k<B+1&&(k=B+1);let M=0,z="",q=0,V=0,Z=0,I=!1,x=0,O=!1,N=0,$=[],U=A!==-1&&T!==-1;for(let X=0;X<k;X++){b.loadCell(X,this._workCell);let te=this._workCell.getWidth();if(te===0)continue;let re=!1,Q=X,K=this._workCell;if(D.length>0&&X===D[0][0]){re=!0;let _e=D.shift();K=new d.JoinedCellData(this._workCell,b.translateToString(!0,_e[0],_e[1]),_e[1]-_e[0]),Q=_e[1]-1,te=K.getWidth()}let J=this._isCellInSelection(X,C),oe=m&&X===B,ie=U&&X>=A&&X<=T,ce=!1;this._decorationService.forEachDecorationAtCell(X,C,void 0,(_e=>{ce=!0}));let ye=K.getChars()||p.WHITESPACE_CELL_CHAR;if(ye===" "&&(K.isUnderline()||K.isOverline())&&(ye="\xA0"),N=te*R-j.get(ye,K.isBold(),K.isItalic()),L){if(M&&(J&&O||!J&&!O&&K.bg===q)&&(J&&O&&w.selectionForeground||K.fg===V)&&K.extended.ext===Z&&ie===I&&N===x&&!oe&&!re&&!ce){K.isInvisible()?z+=p.WHITESPACE_CELL_CHAR:z+=ye,M++;continue}M&&(L.textContent=z),L=this._document.createElement("span"),M=0,z=""}else L=this._document.createElement("span");if(q=K.bg,V=K.fg,Z=K.extended.ext,I=ie,x=N,O=J,re&&B>=X&&B<=Q&&(B=X),!this._coreService.isCursorHidden&&oe&&this._coreService.isCursorInitialized){if($.push("xterm-cursor"),this._coreBrowserService.isFocused)H&&$.push("xterm-cursor-blink"),$.push(E==="bar"?"xterm-cursor-bar":E==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(P)switch(P){case"outline":$.push("xterm-cursor-outline");break;case"block":$.push("xterm-cursor-block");break;case"bar":$.push("xterm-cursor-bar");break;case"underline":$.push("xterm-cursor-underline")}}if(K.isBold()&&$.push("xterm-bold"),K.isItalic()&&$.push("xterm-italic"),K.isDim()&&$.push("xterm-dim"),z=K.isInvisible()?p.WHITESPACE_CELL_CHAR:K.getChars()||p.WHITESPACE_CELL_CHAR,K.isUnderline()&&($.push(`xterm-underline-${K.extended.underlineStyle}`),z===" "&&(z="\xA0"),!K.isUnderlineColorDefault()))if(K.isUnderlineColorRGB())L.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(K.getUnderlineColor()).join(",")})`;else{let _e=K.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&K.isBold()&&_e<8&&(_e+=8),L.style.textDecorationColor=w.ansi[_e].css}K.isOverline()&&($.push("xterm-overline"),z===" "&&(z="\xA0")),K.isStrikethrough()&&$.push("xterm-strikethrough"),ie&&(L.style.textDecoration="underline");let de=K.getFgColor(),xe=K.getFgColorMode(),be=K.getBgColor(),Ze=K.getBgColorMode(),Ht=!!K.isInverse();if(Ht){let _e=de;de=be,be=_e;let li=xe;xe=Ze,Ze=li}let $e,Qt,it,Ft=!1;switch(this._decorationService.forEachDecorationAtCell(X,C,void 0,(_e=>{_e.options.layer!=="top"&&Ft||(_e.backgroundColorRGB&&(Ze=50331648,be=_e.backgroundColorRGB.rgba>>8&16777215,$e=_e.backgroundColorRGB),_e.foregroundColorRGB&&(xe=50331648,de=_e.foregroundColorRGB.rgba>>8&16777215,Qt=_e.foregroundColorRGB),Ft=_e.options.layer==="top")})),!Ft&&J&&($e=this._coreBrowserService.isFocused?w.selectionBackgroundOpaque:w.selectionInactiveBackgroundOpaque,be=$e.rgba>>8&16777215,Ze=50331648,Ft=!0,w.selectionForeground&&(xe=50331648,de=w.selectionForeground.rgba>>8&16777215,Qt=w.selectionForeground)),Ft&&$.push("xterm-decoration-top"),Ze){case 16777216:case 33554432:it=w.ansi[be],$.push(`xterm-bg-${be}`);break;case 50331648:it=_.channels.toColor(be>>16,be>>8&255,255&be),this._addStyle(L,`background-color:#${y((be>>>0).toString(16),"0",6)}`);break;default:Ht?(it=w.foreground,$.push(`xterm-bg-${l.INVERTED_DEFAULT_COLOR}`)):it=w.background}switch($e||K.isDim()&&($e=_.color.multiplyOpacity(it,.5)),xe){case 16777216:case 33554432:K.isBold()&&de<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(de+=8),this._applyMinimumContrast(L,it,w.ansi[de],K,$e,void 0)||$.push(`xterm-fg-${de}`);break;case 50331648:let _e=_.channels.toColor(de>>16&255,de>>8&255,255&de);this._applyMinimumContrast(L,it,_e,K,$e,Qt)||this._addStyle(L,`color:#${y(de.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(L,it,w.foreground,K,$e,Qt)||Ht&&$.push(`xterm-fg-${l.INVERTED_DEFAULT_COLOR}`)}$.length&&(L.className=$.join(" "),$.length=0),oe||re||ce?L.textContent=z:M++,N!==this.defaultSpacing&&(L.style.letterSpacing=`${N}px`),F.push(L),X=Q}return L&&M&&(L.textContent=z),F}_applyMinimumContrast(b,C,m,E,P,B){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,h.treatGlyphAsBackgroundColor)(E.getCode()))return!1;let H=this._getContrastCache(E),R;if(P||B||(R=H.getColor(C.rgba,m.rgba)),R===void 0){let j=this._optionsService.rawOptions.minimumContrastRatio/(E.isDim()?2:1);R=_.color.ensureContrastRatio(P||C,B||m,j),H.setColor((P||C).rgba,(B||m).rgba,R??null)}return!!R&&(this._addStyle(b,`color:${R.css}`),!0)}_getContrastCache(b){return b.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(b,C){b.setAttribute("style",`${b.getAttribute("style")||""}${C};`)}_isCellInSelection(b,C){let m=this._selectionStart,E=this._selectionEnd;return!(!m||!E)&&(this._columnSelectMode?m[0]<=E[0]?b>=m[0]&&C>=m[1]&&b<E[0]&&C<=E[1]:b<m[0]&&C>=m[1]&&b>=E[0]&&C<=E[1]:C>m[1]&&C<E[1]||m[1]===E[1]&&C===m[1]&&b>=m[0]&&b<E[0]||m[1]<E[1]&&C===E[1]&&b<E[0]||m[1]<E[1]&&C===m[1]&&b>=m[0])}};function y(b,C,m){for(;b.length<m;)b=C+b;return b}i.DomRendererRowFactory=v=o([f(1,c.ICharacterJoinerService),f(2,S.IOptionsService),f(3,c.ICoreBrowserService),f(4,S.ICoreService),f(5,S.IDecorationService),f(6,c.IThemeService)],v)},2550:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.WidthCache=void 0,i.WidthCache=class{constructor(s,o){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=s.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 f=s.createElement("span");f.classList.add("xterm-char-measure-element");let l=s.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontWeight="bold";let p=s.createElement("span");p.classList.add("xterm-char-measure-element"),p.style.fontStyle="italic";let g=s.createElement("span");g.classList.add("xterm-char-measure-element"),g.style.fontWeight="bold",g.style.fontStyle="italic",this._measureElements=[f,l,p,g],this._container.appendChild(f),this._container.appendChild(l),this._container.appendChild(p),this._container.appendChild(g),o.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(s,o,f,l){s===this._font&&o===this._fontSize&&f===this._weight&&l===this._weightBold||(this._font=s,this._fontSize=o,this._weight=f,this._weightBold=l,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${f}`,this._measureElements[1].style.fontWeight=`${l}`,this._measureElements[2].style.fontWeight=`${f}`,this._measureElements[3].style.fontWeight=`${l}`,this.clear())}get(s,o,f){let l=0;if(!o&&!f&&s.length===1&&(l=s.charCodeAt(0))<256){if(this._flat[l]!==-9999)return this._flat[l];let S=this._measure(s,0);return S>0&&(this._flat[l]=S),S}let p=s;o&&(p+="B"),f&&(p+="I");let g=this._holey.get(p);if(g===void 0){let S=0;o&&(S|=1),f&&(S|=2),g=this._measure(s,S),g>0&&this._holey.set(p,g)}return g}_measure(s,o){let f=this._measureElements[o];return f.textContent=s.repeat(32),f.offsetWidth/32}}},2223:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.TEXT_BASELINE=i.DIM_OPACITY=i.INVERTED_DEFAULT_COLOR=void 0;let o=s(6114);i.INVERTED_DEFAULT_COLOR=257,i.DIM_OPACITY=.5,i.TEXT_BASELINE=o.isFirefox||o.isLegacyEdge?"bottom":"ideographic"},6171:(a,i)=>{function s(f){return 57508<=f&&f<=57558}function o(f){return f>=128512&&f<=128591||f>=127744&&f<=128511||f>=128640&&f<=128767||f>=9728&&f<=9983||f>=9984&&f<=10175||f>=65024&&f<=65039||f>=129280&&f<=129535||f>=127462&&f<=127487}Object.defineProperty(i,"__esModule",{value:!0}),i.computeNextVariantOffset=i.createRenderDimensions=i.treatGlyphAsBackgroundColor=i.allowRescaling=i.isEmoji=i.isRestrictedPowerlineGlyph=i.isPowerlineGlyph=i.throwIfFalsy=void 0,i.throwIfFalsy=function(f){if(!f)throw new Error("value must not be falsy");return f},i.isPowerlineGlyph=s,i.isRestrictedPowerlineGlyph=function(f){return 57520<=f&&f<=57527},i.isEmoji=o,i.allowRescaling=function(f,l,p,g){return l===1&&p>Math.ceil(1.5*g)&&f!==void 0&&f>255&&!o(f)&&!s(f)&&!(function(S){return 57344<=S&&S<=63743})(f)},i.treatGlyphAsBackgroundColor=function(f){return s(f)||(function(l){return 9472<=l&&l<=9631})(f)},i.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},i.computeNextVariantOffset=function(f,l,p=0){return(f-(2*Math.round(l)-p))%(2*Math.round(l))}},6052:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.createSelectionRenderModel=void 0;class s{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(f,l,p,g=!1){if(this.selectionStart=l,this.selectionEnd=p,!l||!p||l[0]===p[0]&&l[1]===p[1])return void this.clear();let S=f.buffers.active.ydisp,_=l[1]-S,c=p[1]-S,d=Math.max(_,0),h=Math.min(c,f.rows-1);d>=f.rows||h<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=g,this.viewportStartRow=_,this.viewportEndRow=c,this.viewportCappedStartRow=d,this.viewportCappedEndRow=h,this.startCol=l[0],this.endCol=p[0])}isCellSelected(f,l,p){return!!this.hasSelection&&(p-=f.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?l>=this.startCol&&p>=this.viewportCappedStartRow&&l<this.endCol&&p<=this.viewportCappedEndRow:l<this.startCol&&p>=this.viewportCappedStartRow&&l>=this.endCol&&p<=this.viewportCappedEndRow:p>this.viewportStartRow&&p<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&p===this.viewportStartRow&&l>=this.startCol&&l<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportEndRow&&l<this.endCol||this.viewportStartRow<this.viewportEndRow&&p===this.viewportStartRow&&l>=this.startCol)}}i.createSelectionRenderModel=function(){return new s}},456:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.SelectionModel=void 0,i.SelectionModel=class{constructor(s){this._bufferService=s,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.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 s=this.selectionStart[0]+this.selectionStartLength;return s>this._bufferService.cols?s%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)-1]:[s%this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)]:[s,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let s=this.selectionStart[0]+this.selectionStartLength;return s>this._bufferService.cols?[s%this._bufferService.cols,this.selectionStart[1]+Math.floor(s/this._bufferService.cols)]:[Math.max(s,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let s=this.selectionStart,o=this.selectionEnd;return!(!s||!o)&&(s[1]>o[1]||s[1]===o[1]&&s[0]>o[0])}handleTrim(s){return this.selectionStart&&(this.selectionStart[1]-=s),this.selectionEnd&&(this.selectionEnd[1]-=s),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(a,i,s){var o=this&&this.__decorate||function(h,u,v,y){var b,C=arguments.length,m=C<3?u:y===null?y=Object.getOwnPropertyDescriptor(u,v):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,y);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(C<3?b(m):C>3?b(u,v,m):b(u,v))||m);return C>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,y){u(v,y,h)}};Object.defineProperty(i,"__esModule",{value:!0}),i.CharSizeService=void 0;let l=s(2585),p=s(8460),g=s(844),S=i.CharSizeService=class extends g.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(h,u,v){super(),this._optionsService=v,this.width=0,this.height=0,this._onCharSizeChange=this.register(new p.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new c(h,u,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){let h=this._measureStrategy.measure();h.width===this.width&&h.height===this.height||(this.width=h.width,this.height=h.height,this._onCharSizeChange.fire())}};i.CharSizeService=S=o([f(2,l.IOptionsService)],S);class _ extends g.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(u,v){u!==void 0&&u>0&&v!==void 0&&v>0&&(this._result.width=u,this._result.height=v)}}class c extends _{constructor(u,v,y){super(),this._document=u,this._parentElement=v,this._optionsService=y,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}}class d extends _{constructor(u){super(),this._optionsService=u,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let v=this._ctx.measureText("W");if(!("width"in v&&"fontBoundingBoxAscent"in v&&"fontBoundingBoxDescent"in v))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let u=this._ctx.measureText("W");return this._validateAndSet(u.width,u.fontBoundingBoxAscent+u.fontBoundingBoxDescent),this._result}}},4269:function(a,i,s){var o=this&&this.__decorate||function(d,h,u,v){var y,b=arguments.length,C=b<3?h:v===null?v=Object.getOwnPropertyDescriptor(h,u):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(d,h,u,v);else for(var m=d.length-1;m>=0;m--)(y=d[m])&&(C=(b<3?y(C):b>3?y(h,u,C):y(h,u))||C);return b>3&&C&&Object.defineProperty(h,u,C),C},f=this&&this.__param||function(d,h){return function(u,v){h(u,v,d)}};Object.defineProperty(i,"__esModule",{value:!0}),i.CharacterJoinerService=i.JoinedCellData=void 0;let l=s(3734),p=s(643),g=s(511),S=s(2585);class _ extends l.AttributeData{constructor(h,u,v){super(),this.content=0,this.combinedData="",this.fg=h.fg,this.bg=h.bg,this.combinedData=u,this._width=v}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(h){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}i.JoinedCellData=_;let c=i.CharacterJoinerService=class jn{constructor(h){this._bufferService=h,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new g.CellData}register(h){let u={id:this._nextCharacterJoinerId++,handler:h};return this._characterJoiners.push(u),u.id}deregister(h){for(let u=0;u<this._characterJoiners.length;u++)if(this._characterJoiners[u].id===h)return this._characterJoiners.splice(u,1),!0;return!1}getJoinedCharacters(h){if(this._characterJoiners.length===0)return[];let u=this._bufferService.buffer.lines.get(h);if(!u||u.length===0)return[];let v=[],y=u.translateToString(!0),b=0,C=0,m=0,E=u.getFg(0),P=u.getBg(0);for(let B=0;B<u.getTrimmedLength();B++)if(u.loadCell(B,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==E||this._workCell.bg!==P){if(B-b>1){let H=this._getJoinedRanges(y,m,C,u,b);for(let R=0;R<H.length;R++)v.push(H[R])}b=B,m=C,E=this._workCell.fg,P=this._workCell.bg}C+=this._workCell.getChars().length||p.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-b>1){let B=this._getJoinedRanges(y,m,C,u,b);for(let H=0;H<B.length;H++)v.push(B[H])}return v}_getJoinedRanges(h,u,v,y,b){let C=h.substring(u,v),m=[];try{m=this._characterJoiners[0].handler(C)}catch(E){console.error(E)}for(let E=1;E<this._characterJoiners.length;E++)try{let P=this._characterJoiners[E].handler(C);for(let B=0;B<P.length;B++)jn._mergeRanges(m,P[B])}catch(P){console.error(P)}return this._stringRangesToCellRanges(m,y,b),m}_stringRangesToCellRanges(h,u,v){let y=0,b=!1,C=0,m=h[y];if(m){for(let E=v;E<this._bufferService.cols;E++){let P=u.getWidth(E),B=u.getString(E).length||p.WHITESPACE_CELL_CHAR.length;if(P!==0){if(!b&&m[0]<=C&&(m[0]=E,b=!0),m[1]<=C){if(m[1]=E,m=h[++y],!m)break;m[0]<=C?(m[0]=E,b=!0):b=!1}C+=B}}m&&(m[1]=this._bufferService.cols)}}static _mergeRanges(h,u){let v=!1;for(let y=0;y<h.length;y++){let b=h[y];if(v){if(u[1]<=b[0])return h[y-1][1]=u[1],h;if(u[1]<=b[1])return h[y-1][1]=Math.max(u[1],b[1]),h.splice(y,1),h;h.splice(y,1),y--}else{if(u[1]<=b[0])return h.splice(y,0,u),h;if(u[1]<=b[1])return b[0]=Math.min(u[0],b[0]),h;u[0]<b[1]&&(b[0]=Math.min(u[0],b[0]),v=!0)}}return v?h[h.length-1][1]=u[1]:h.push(u),h}};i.CharacterJoinerService=c=o([f(0,S.IBufferService)],c)},5114:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CoreBrowserService=void 0;let o=s(844),f=s(8460),l=s(3656);class p extends o.Disposable{constructor(_,c,d){super(),this._textarea=_,this._window=c,this.mainDocument=d,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new g(this._window),this._onDprChange=this.register(new f.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new f.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((h=>this._screenDprMonitor.setWindow(h)))),this.register((0,f.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(_){this._window!==_&&(this._window=_,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}}i.CoreBrowserService=p;class g extends o.Disposable{constructor(_){super(),this._parentWindow=_,this._windowResizeListener=this.register(new o.MutableDisposable),this._onDprChange=this.register(new f.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,o.toDisposable)((()=>this.clearListener())))}setWindow(_){this._parentWindow=_,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,l.addDisposableDomListener)(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)}}},779:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.LinkProviderService=void 0;let o=s(844);class f extends o.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,o.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(p){return this.linkProviders.push(p),{dispose:()=>{let g=this.linkProviders.indexOf(p);g!==-1&&this.linkProviders.splice(g,1)}}}}i.LinkProviderService=f},8934:function(a,i,s){var o=this&&this.__decorate||function(S,_,c,d){var h,u=arguments.length,v=u<3?_:d===null?d=Object.getOwnPropertyDescriptor(_,c):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")v=Reflect.decorate(S,_,c,d);else for(var y=S.length-1;y>=0;y--)(h=S[y])&&(v=(u<3?h(v):u>3?h(_,c,v):h(_,c))||v);return u>3&&v&&Object.defineProperty(_,c,v),v},f=this&&this.__param||function(S,_){return function(c,d){_(c,d,S)}};Object.defineProperty(i,"__esModule",{value:!0}),i.MouseService=void 0;let l=s(4725),p=s(9806),g=i.MouseService=class{constructor(S,_){this._renderService=S,this._charSizeService=_}getCoords(S,_,c,d,h){return(0,p.getCoords)(window,S,_,c,d,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,h)}getMouseReportCoords(S,_){let c=(0,p.getCoordsRelativeToElement)(window,S,_);if(this._charSizeService.hasValidSize)return c[0]=Math.min(Math.max(c[0],0),this._renderService.dimensions.css.canvas.width-1),c[1]=Math.min(Math.max(c[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(c[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(c[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(c[0]),y:Math.floor(c[1])}}};i.MouseService=g=o([f(0,l.IRenderService),f(1,l.ICharSizeService)],g)},3230:function(a,i,s){var o=this&&this.__decorate||function(h,u,v,y){var b,C=arguments.length,m=C<3?u:y===null?y=Object.getOwnPropertyDescriptor(u,v):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,y);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(C<3?b(m):C>3?b(u,v,m):b(u,v))||m);return C>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,y){u(v,y,h)}};Object.defineProperty(i,"__esModule",{value:!0}),i.RenderService=void 0;let l=s(6193),p=s(4725),g=s(8460),S=s(844),_=s(7226),c=s(2585),d=i.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(h,u,v,y,b,C,m,E){super(),this._rowCount=h,this._charSizeService=y,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new _.DebouncedIdleTask,this._observerDisposable=this.register(new S.MutableDisposable),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 g.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new g.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new g.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new g.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new l.RenderDebouncer(((P,B)=>this._renderRows(P,B)),m),this.register(this._renderDebouncer),this.register(m.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(C.onResize((()=>this._fullRefresh()))),this.register(C.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this.register(v.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(b.onDecorationRegistered((()=>this._fullRefresh()))),this.register(b.onDecorationRemoved((()=>this._fullRefresh()))),this.register(v.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(C.cols,C.rows),this._fullRefresh()}))),this.register(v.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(C.buffer.y,C.buffer.y,!0)))),this.register(E.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(m.window,u),this.register(m.onWindowChange((P=>this._registerIntersectionObserver(P,u))))}_registerIntersectionObserver(h,u){if("IntersectionObserver"in h){let v=new h.IntersectionObserver((y=>this._handleIntersectionChange(y[y.length-1])),{threshold:0});v.observe(u),this._observerDisposable.value=(0,S.toDisposable)((()=>v.disconnect()))}}_handleIntersectionChange(h){this._isPaused=h.isIntersecting===void 0?h.intersectionRatio===0:!h.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(h,u,v=!1){this._isPaused?this._needsFullRefresh=!0:(v||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(h,u,this._rowCount))}_renderRows(h,u){this._renderer.value&&(h=Math.min(h,this._rowCount-1),u=Math.min(u,this._rowCount-1),this._renderer.value.renderRows(h,u),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:h,end:u}),this._onRender.fire({start:h,end:u}),this._isNextRenderRedrawOnly=!0)}resize(h,u){this._rowCount=u,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(h){this._renderer.value=h,this._renderer.value&&(this._renderer.value.onRequestRedraw((u=>this.refreshRows(u.start,u.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(h){return this._renderDebouncer.addRefreshCallback(h)}_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(h,u){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(h,u))):this._renderer.value.handleResize(h,u),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(h,u,v){this._selectionState.start=h,this._selectionState.end=u,this._selectionState.columnSelectMode=v,this._renderer.value?.handleSelectionChanged(h,u,v)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};i.RenderService=d=o([f(2,c.IOptionsService),f(3,p.ICharSizeService),f(4,c.IDecorationService),f(5,c.IBufferService),f(6,p.ICoreBrowserService),f(7,p.IThemeService)],d)},9312:function(a,i,s){var o=this&&this.__decorate||function(m,E,P,B){var H,R=arguments.length,j=R<3?E:B===null?B=Object.getOwnPropertyDescriptor(E,P):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(m,E,P,B);else for(var A=m.length-1;A>=0;A--)(H=m[A])&&(j=(R<3?H(j):R>3?H(E,P,j):H(E,P))||j);return R>3&&j&&Object.defineProperty(E,P,j),j},f=this&&this.__param||function(m,E){return function(P,B){E(P,B,m)}};Object.defineProperty(i,"__esModule",{value:!0}),i.SelectionService=void 0;let l=s(9806),p=s(9504),g=s(456),S=s(4725),_=s(8460),c=s(844),d=s(6114),h=s(4841),u=s(511),v=s(2585),y="\xA0",b=new RegExp(y,"g"),C=i.SelectionService=class extends c.Disposable{constructor(m,E,P,B,H,R,j,A,T){super(),this._element=m,this._screenElement=E,this._linkifier=P,this._bufferService=B,this._coreService=H,this._mouseService=R,this._optionsService=j,this._renderService=A,this._coreBrowserService=T,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new _.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new _.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new _.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new _.EventEmitter),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 g.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,c.toDisposable)((()=>{this._removeMouseDownListeners()})))}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 m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;return!(!m||!E||m[0]===E[0]&&m[1]===E[1])}get selectionText(){let m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd;if(!m||!E)return"";let P=this._bufferService.buffer,B=[];if(this._activeSelectionMode===3){if(m[0]===E[0])return"";let H=m[0]<E[0]?m[0]:E[0],R=m[0]<E[0]?E[0]:m[0];for(let j=m[1];j<=E[1];j++){let A=P.translateBufferLineToString(j,!0,H,R);B.push(A)}}else{let H=m[1]===E[1]?E[0]:void 0;B.push(P.translateBufferLineToString(m[1],!0,m[0],H));for(let R=m[1]+1;R<=E[1]-1;R++){let j=P.lines.get(R),A=P.translateBufferLineToString(R,!0);j?.isWrapped?B[B.length-1]+=A:B.push(A)}if(m[1]!==E[1]){let R=P.lines.get(E[1]),j=P.translateBufferLineToString(E[1],!0,0,E[0]);R&&R.isWrapped?B[B.length-1]+=j:B.push(j)}}return B.map((H=>H.replace(b," "))).join(d.isWindows?`\r
6
6
  `:`
7
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(m){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),d.isLinux&&m&&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(m){let E=this._getMouseBufferCoords(m),P=this._model.finalSelectionStart,B=this._model.finalSelectionEnd;return!!(P&&B&&E)&&this._areCoordsInSelection(E,P,B)}isCellInSelection(m,E){let P=this._model.finalSelectionStart,B=this._model.finalSelectionEnd;return!(!P||!B)&&this._areCoordsInSelection([m,E],P,B)}_areCoordsInSelection(m,E,P){return m[1]>E[1]&&m[1]<P[1]||E[1]===P[1]&&m[1]===E[1]&&m[0]>=E[0]&&m[0]<P[0]||E[1]<P[1]&&m[1]===P[1]&&m[0]<P[0]||E[1]<P[1]&&m[1]===E[1]&&m[0]>=E[0]}_selectWordAtCursor(m,E){let P=this._linkifier.currentLink?.link?.range;if(P)return this._model.selectionStart=[P.start.x-1,P.start.y-1],this._model.selectionStartLength=(0,h.getRangeLength)(P,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let B=this._getMouseBufferCoords(m);return!!B&&(this._selectWordAt(B,E),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(m,E){this._model.clearSelection(),m=Math.max(m,0),E=Math.min(E,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,m],this._model.selectionEnd=[this._bufferService.cols,E],this.refresh(),this._onSelectionChange.fire()}_handleTrim(m){this._model.handleTrim(m)&&this.refresh()}_getMouseBufferCoords(m){let E=this._mouseService.getCoords(m,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(E)return E[0]--,E[1]--,E[1]+=this._bufferService.buffer.ydisp,E}_getMouseEventScrollAmount(m){let E=(0,l.getCoordsRelativeToElement)(this._coreBrowserService.window,m,this._screenElement)[1],P=this._renderService.dimensions.css.canvas.height;return E>=0&&E<=P?0:(E>P&&(E-=P),E=Math.min(Math.max(E,-50),50),E/=50,E/Math.abs(E)+Math.round(14*E))}shouldForceSelection(m){return d.isMac?m.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:m.shiftKey}handleMouseDown(m){if(this._mouseDownTimeStamp=m.timeStamp,(m.button!==2||!this.hasSelection)&&m.button===0){if(!this._enabled){if(!this.shouldForceSelection(m))return;m.stopPropagation()}m.preventDefault(),this._dragScrollAmount=0,this._enabled&&m.shiftKey?this._handleIncrementalClick(m):m.detail===1?this._handleSingleClick(m):m.detail===2?this._handleDoubleClick(m):m.detail===3&&this._handleTripleClick(m),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()),50)}_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(m){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(m))}_handleSingleClick(m){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(m)?3:0,this._model.selectionStart=this._getMouseBufferCoords(m),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let E=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);E&&E.length!==this._model.selectionStart[0]&&E.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(m){this._selectWordAtCursor(m,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(m){let E=this._getMouseBufferCoords(m);E&&(this._activeSelectionMode=2,this._selectLineAt(E[1]))}shouldColumnSelect(m){return m.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(m){if(m.stopImmediatePropagation(),!this._model.selectionStart)return;let E=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(m),!this._model.selectionEnd)return void this.refresh(!0);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(m),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let P=this._bufferService.buffer;if(this._model.selectionEnd[1]<P.lines.length){let B=P.lines.get(this._model.selectionEnd[1]);B&&B.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}E&&E[0]===this._model.selectionEnd[0]&&E[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 m=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(m.ydisp+this._bufferService.rows,m.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=m.ydisp),this.refresh()}}_handleMouseUp(m){let E=m.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&E<500&&m.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let P=this._mouseService.getCoords(m,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(P&&P[0]!==void 0&&P[1]!==void 0){let B=(0,p.moveToCellSequence)(P[0]-1,P[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(B,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd,P=!(!m||!E||m[0]===E[0]&&m[1]===E[1]);P?m&&E&&(this._oldSelectionStart&&this._oldSelectionEnd&&m[0]===this._oldSelectionStart[0]&&m[1]===this._oldSelectionStart[1]&&E[0]===this._oldSelectionEnd[0]&&E[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(m,E,P)):this._oldHasSelection&&this._fireOnSelectionChange(m,E,P)}_fireOnSelectionChange(m,E,P){this._oldSelectionStart=m,this._oldSelectionEnd=E,this._oldHasSelection=P,this._onSelectionChange.fire()}_handleBufferActivate(m){this.clearSelection(),this._trimListener.dispose(),this._trimListener=m.activeBuffer.lines.onTrim((E=>this._handleTrim(E)))}_convertViewportColToCharacterIndex(m,E){let P=E;for(let B=0;E>=B;B++){let H=m.loadCell(B,this._workCell).getChars().length;this._workCell.getWidth()===0?P--:H>1&&E!==B&&(P+=H-1)}return P}setSelection(m,E,P){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[m,E],this._model.selectionStartLength=P,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(m){this._isClickInSelection(m)||(this._selectWordAtCursor(m,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(m,E,P=!0,B=!0){if(m[0]>=this._bufferService.cols)return;let H=this._bufferService.buffer,R=H.lines.get(m[1]);if(!R)return;let j=H.translateBufferLineToString(m[1],!1),A=this._convertViewportColToCharacterIndex(R,m[0]),T=A,F=m[0]-A,D=0,w=0,L=0,k=0;if(j.charAt(A)===" "){for(;A>0&&j.charAt(A-1)===" ";)A--;for(;T<j.length&&j.charAt(T+1)===" ";)T++}else{let q=m[0],V=m[0];R.getWidth(q)===0&&(D++,q--),R.getWidth(V)===2&&(w++,V++);let J=R.getString(V).length;for(J>1&&(k+=J-1,T+=J-1);q>0&&A>0&&!this._isCharWordSeparator(R.loadCell(q-1,this._workCell));){R.loadCell(q-1,this._workCell);let N=this._workCell.getChars().length;this._workCell.getWidth()===0?(D++,q--):N>1&&(L+=N-1,A-=N-1),A--,q--}for(;V<R.length&&T+1<j.length&&!this._isCharWordSeparator(R.loadCell(V+1,this._workCell));){R.loadCell(V+1,this._workCell);let N=this._workCell.getChars().length;this._workCell.getWidth()===2?(w++,V++):N>1&&(k+=N-1,T+=N-1),T++,V++}}T++;let M=A+F-D+L,$=Math.min(this._bufferService.cols,T-A+D+w-L-k);if(E||j.slice(A,T).trim()!==""){if(P&&M===0&&R.getCodePoint(0)!==32){let q=H.lines.get(m[1]-1);if(q&&R.isWrapped&&q.getCodePoint(this._bufferService.cols-1)!==32){let V=this._getWordAt([this._bufferService.cols-1,m[1]-1],!1,!0,!1);if(V){let J=this._bufferService.cols-V.start;M-=J,$+=J}}}if(B&&M+$===this._bufferService.cols&&R.getCodePoint(this._bufferService.cols-1)!==32){let q=H.lines.get(m[1]+1);if(q?.isWrapped&&q.getCodePoint(0)!==32){let V=this._getWordAt([0,m[1]+1],!1,!1,!0);V&&($+=V.length)}}return{start:M,length:$}}}_selectWordAt(m,E){let P=this._getWordAt(m,E);if(P){for(;P.start<0;)P.start+=this._bufferService.cols,m[1]--;this._model.selectionStart=[P.start,m[1]],this._model.selectionStartLength=P.length}}_selectToWordAt(m){let E=this._getWordAt(m,!0);if(E){let P=m[1];for(;E.start<0;)E.start+=this._bufferService.cols,P--;if(!this._model.areSelectionValuesReversed())for(;E.start+E.length>this._bufferService.cols;)E.length-=this._bufferService.cols,P++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?E.start:E.start+E.length,P]}}_isCharWordSeparator(m){return m.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(m.getChars())>=0}_selectLineAt(m){let E=this._bufferService.buffer.getWrappedRangeForLine(m),P={start:{x:0,y:E.first},end:{x:this._bufferService.cols-1,y:E.last}};this._model.selectionStart=[0,E.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,h.getRangeLength)(P,this._bufferService.cols)}};r.SelectionService=y=o([f(3,v.IBufferService),f(4,v.ICoreService),f(5,S.IMouseService),f(6,v.IOptionsService),f(7,S.IRenderService),f(8,S.ICoreBrowserService)],y)},4725:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ILinkProviderService=r.IThemeService=r.ICharacterJoinerService=r.ISelectionService=r.IRenderService=r.IMouseService=r.ICoreBrowserService=r.ICharSizeService=void 0;let o=s(8343);r.ICharSizeService=(0,o.createDecorator)("CharSizeService"),r.ICoreBrowserService=(0,o.createDecorator)("CoreBrowserService"),r.IMouseService=(0,o.createDecorator)("MouseService"),r.IRenderService=(0,o.createDecorator)("RenderService"),r.ISelectionService=(0,o.createDecorator)("SelectionService"),r.ICharacterJoinerService=(0,o.createDecorator)("CharacterJoinerService"),r.IThemeService=(0,o.createDecorator)("ThemeService"),r.ILinkProviderService=(0,o.createDecorator)("LinkProviderService")},6731:function(a,r,s){var o=this&&this.__decorate||function(y,m,E,P){var B,H=arguments.length,R=H<3?m:P===null?P=Object.getOwnPropertyDescriptor(m,E):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(y,m,E,P);else for(var j=y.length-1;j>=0;j--)(B=y[j])&&(R=(H<3?B(R):H>3?B(m,E,R):B(m,E))||R);return H>3&&R&&Object.defineProperty(m,E,R),R},f=this&&this.__param||function(y,m){return function(E,P){m(E,P,y)}};Object.defineProperty(r,"__esModule",{value:!0}),r.ThemeService=r.DEFAULT_ANSI_COLORS=void 0;let l=s(7239),p=s(8055),g=s(8460),S=s(844),_=s(2585),c=p.css.toColor("#ffffff"),d=p.css.toColor("#000000"),h=p.css.toColor("#ffffff"),u=p.css.toColor("#000000"),v={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};r.DEFAULT_ANSI_COLORS=Object.freeze((()=>{let y=[p.css.toColor("#2e3436"),p.css.toColor("#cc0000"),p.css.toColor("#4e9a06"),p.css.toColor("#c4a000"),p.css.toColor("#3465a4"),p.css.toColor("#75507b"),p.css.toColor("#06989a"),p.css.toColor("#d3d7cf"),p.css.toColor("#555753"),p.css.toColor("#ef2929"),p.css.toColor("#8ae234"),p.css.toColor("#fce94f"),p.css.toColor("#729fcf"),p.css.toColor("#ad7fa8"),p.css.toColor("#34e2e2"),p.css.toColor("#eeeeec")],m=[0,95,135,175,215,255];for(let E=0;E<216;E++){let P=m[E/36%6|0],B=m[E/6%6|0],H=m[E%6];y.push({css:p.channels.toCss(P,B,H),rgba:p.channels.toRgba(P,B,H)})}for(let E=0;E<24;E++){let P=8+10*E;y.push({css:p.channels.toCss(P,P,P),rgba:p.channels.toRgba(P,P,P)})}return y})());let C=r.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(y){super(),this._optionsService=y,this._contrastCache=new l.ColorContrastCache,this._halfContrastCache=new l.ColorContrastCache,this._onChangeColors=this.register(new g.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:c,background:d,cursor:h,cursorAccent:u,selectionForeground:void 0,selectionBackgroundTransparent:v,selectionBackgroundOpaque:p.color.blend(d,v),selectionInactiveBackgroundTransparent:v,selectionInactiveBackgroundOpaque:p.color.blend(d,v),ansi:r.DEFAULT_ANSI_COLORS.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))))}_setTheme(y={}){let m=this._colors;if(m.foreground=b(y.foreground,c),m.background=b(y.background,d),m.cursor=b(y.cursor,h),m.cursorAccent=b(y.cursorAccent,u),m.selectionBackgroundTransparent=b(y.selectionBackground,v),m.selectionBackgroundOpaque=p.color.blend(m.background,m.selectionBackgroundTransparent),m.selectionInactiveBackgroundTransparent=b(y.selectionInactiveBackground,m.selectionBackgroundTransparent),m.selectionInactiveBackgroundOpaque=p.color.blend(m.background,m.selectionInactiveBackgroundTransparent),m.selectionForeground=y.selectionForeground?b(y.selectionForeground,p.NULL_COLOR):void 0,m.selectionForeground===p.NULL_COLOR&&(m.selectionForeground=void 0),p.color.isOpaque(m.selectionBackgroundTransparent)&&(m.selectionBackgroundTransparent=p.color.opacity(m.selectionBackgroundTransparent,.3)),p.color.isOpaque(m.selectionInactiveBackgroundTransparent)&&(m.selectionInactiveBackgroundTransparent=p.color.opacity(m.selectionInactiveBackgroundTransparent,.3)),m.ansi=r.DEFAULT_ANSI_COLORS.slice(),m.ansi[0]=b(y.black,r.DEFAULT_ANSI_COLORS[0]),m.ansi[1]=b(y.red,r.DEFAULT_ANSI_COLORS[1]),m.ansi[2]=b(y.green,r.DEFAULT_ANSI_COLORS[2]),m.ansi[3]=b(y.yellow,r.DEFAULT_ANSI_COLORS[3]),m.ansi[4]=b(y.blue,r.DEFAULT_ANSI_COLORS[4]),m.ansi[5]=b(y.magenta,r.DEFAULT_ANSI_COLORS[5]),m.ansi[6]=b(y.cyan,r.DEFAULT_ANSI_COLORS[6]),m.ansi[7]=b(y.white,r.DEFAULT_ANSI_COLORS[7]),m.ansi[8]=b(y.brightBlack,r.DEFAULT_ANSI_COLORS[8]),m.ansi[9]=b(y.brightRed,r.DEFAULT_ANSI_COLORS[9]),m.ansi[10]=b(y.brightGreen,r.DEFAULT_ANSI_COLORS[10]),m.ansi[11]=b(y.brightYellow,r.DEFAULT_ANSI_COLORS[11]),m.ansi[12]=b(y.brightBlue,r.DEFAULT_ANSI_COLORS[12]),m.ansi[13]=b(y.brightMagenta,r.DEFAULT_ANSI_COLORS[13]),m.ansi[14]=b(y.brightCyan,r.DEFAULT_ANSI_COLORS[14]),m.ansi[15]=b(y.brightWhite,r.DEFAULT_ANSI_COLORS[15]),y.extendedAnsi){let E=Math.min(m.ansi.length-16,y.extendedAnsi.length);for(let P=0;P<E;P++)m.ansi[P+16]=b(y.extendedAnsi[P],r.DEFAULT_ANSI_COLORS[P+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(y){this._restoreColor(y),this._onChangeColors.fire(this.colors)}_restoreColor(y){if(y!==void 0)switch(y){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[y]=this._restoreColors.ansi[y]}else for(let m=0;m<this._restoreColors.ansi.length;++m)this._colors.ansi[m]=this._restoreColors.ansi[m]}modifyColors(y){y(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()}}};function b(y,m){if(y!==void 0)try{return p.css.toColor(y)}catch{}return m}r.ThemeService=C=o([f(0,_.IOptionsService)],C)},6349:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CircularList=void 0;let o=s(8460),f=s(844);class l extends f.Disposable{constructor(g){super(),this._maxLength=g,this.onDeleteEmitter=this.register(new o.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new o.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new o.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(g){if(this._maxLength===g)return;let S=new Array(g);for(let _=0;_<Math.min(g,this.length);_++)S[_]=this._array[this._getCyclicIndex(_)];this._array=S,this._maxLength=g,this._startIndex=0}get length(){return this._length}set length(g){if(g>this._length)for(let S=this._length;S<g;S++)this._array[S]=void 0;this._length=g}get(g){return this._array[this._getCyclicIndex(g)]}set(g,S){this._array[this._getCyclicIndex(g)]=S}push(g){this._array[this._getCyclicIndex(this._length)]=g,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new 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(g,S,..._){if(S){for(let c=g;c<this._length-S;c++)this._array[this._getCyclicIndex(c)]=this._array[this._getCyclicIndex(c+S)];this._length-=S,this.onDeleteEmitter.fire({index:g,amount:S})}for(let c=this._length-1;c>=g;c--)this._array[this._getCyclicIndex(c+_.length)]=this._array[this._getCyclicIndex(c)];for(let c=0;c<_.length;c++)this._array[this._getCyclicIndex(g+c)]=_[c];if(_.length&&this.onInsertEmitter.fire({index:g,amount:_.length}),this._length+_.length>this._maxLength){let c=this._length+_.length-this._maxLength;this._startIndex+=c,this._length=this._maxLength,this.onTrimEmitter.fire(c)}else this._length+=_.length}trimStart(g){g>this._length&&(g=this._length),this._startIndex+=g,this._length-=g,this.onTrimEmitter.fire(g)}shiftElements(g,S,_){if(!(S<=0)){if(g<0||g>=this._length)throw new Error("start argument out of range");if(g+_<0)throw new Error("Cannot shift elements in list beyond index 0");if(_>0){for(let d=S-1;d>=0;d--)this.set(g+d+_,this.get(g+d));let c=g+S+_-this._length;if(c>0)for(this._length+=c;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let c=0;c<S;c++)this.set(g+c+_,this.get(g+c))}}_getCyclicIndex(g){return(this._startIndex+g)%this._maxLength}}r.CircularList=l},1439:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0,r.clone=function s(o,f=5){if(typeof o!="object")return o;let l=Array.isArray(o)?[]:{};for(let p in o)l[p]=f<=1?o[p]:o[p]&&s(o[p],f-1);return l}},8055:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.contrastRatio=r.toPaddedHex=r.rgba=r.rgb=r.css=r.color=r.channels=r.NULL_COLOR=void 0;let s=0,o=0,f=0,l=0;var p,g,S,_,c;function d(u){let v=u.toString(16);return v.length<2?"0"+v:v}function h(u,v){return u<v?(v+.05)/(u+.05):(u+.05)/(v+.05)}r.NULL_COLOR={css:"#00000000",rgba:0},(function(u){u.toCss=function(v,C,b,y){return y!==void 0?`#${d(v)}${d(C)}${d(b)}${d(y)}`:`#${d(v)}${d(C)}${d(b)}`},u.toRgba=function(v,C,b,y=255){return(v<<24|C<<16|b<<8|y)>>>0},u.toColor=function(v,C,b,y){return{css:u.toCss(v,C,b,y),rgba:u.toRgba(v,C,b,y)}}})(p||(r.channels=p={})),(function(u){function v(C,b){return l=Math.round(255*b),[s,o,f]=c.toChannels(C.rgba),{css:p.toCss(s,o,f,l),rgba:p.toRgba(s,o,f,l)}}u.blend=function(C,b){if(l=(255&b.rgba)/255,l===1)return{css:b.css,rgba:b.rgba};let y=b.rgba>>24&255,m=b.rgba>>16&255,E=b.rgba>>8&255,P=C.rgba>>24&255,B=C.rgba>>16&255,H=C.rgba>>8&255;return s=P+Math.round((y-P)*l),o=B+Math.round((m-B)*l),f=H+Math.round((E-H)*l),{css:p.toCss(s,o,f),rgba:p.toRgba(s,o,f)}},u.isOpaque=function(C){return(255&C.rgba)==255},u.ensureContrastRatio=function(C,b,y){let m=c.ensureContrastRatio(C.rgba,b.rgba,y);if(m)return p.toColor(m>>24&255,m>>16&255,m>>8&255)},u.opaque=function(C){let b=(255|C.rgba)>>>0;return[s,o,f]=c.toChannels(b),{css:p.toCss(s,o,f),rgba:b}},u.opacity=v,u.multiplyOpacity=function(C,b){return l=255&C.rgba,v(C,l*b/255)},u.toColorRGB=function(C){return[C.rgba>>24&255,C.rgba>>16&255,C.rgba>>8&255]}})(g||(r.color=g={})),(function(u){let v,C;try{let b=document.createElement("canvas");b.width=1,b.height=1;let y=b.getContext("2d",{willReadFrequently:!0});y&&(v=y,v.globalCompositeOperation="copy",C=v.createLinearGradient(0,0,1,1))}catch{}u.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return s=parseInt(b.slice(1,2).repeat(2),16),o=parseInt(b.slice(2,3).repeat(2),16),f=parseInt(b.slice(3,4).repeat(2),16),p.toColor(s,o,f);case 5:return s=parseInt(b.slice(1,2).repeat(2),16),o=parseInt(b.slice(2,3).repeat(2),16),f=parseInt(b.slice(3,4).repeat(2),16),l=parseInt(b.slice(4,5).repeat(2),16),p.toColor(s,o,f,l);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}let y=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(y)return s=parseInt(y[1]),o=parseInt(y[2]),f=parseInt(y[3]),l=Math.round(255*(y[5]===void 0?1:parseFloat(y[5]))),p.toColor(s,o,f,l);if(!v||!C)throw new Error("css.toColor: Unsupported css format");if(v.fillStyle=C,v.fillStyle=b,typeof v.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(v.fillRect(0,0,1,1),[s,o,f,l]=v.getImageData(0,0,1,1).data,l!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(s,o,f,l),css:b}}})(S||(r.css=S={})),(function(u){function v(C,b,y){let m=C/255,E=b/255,P=y/255;return .2126*(m<=.03928?m/12.92:Math.pow((m+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(P<=.03928?P/12.92:Math.pow((P+.055)/1.055,2.4))}u.relativeLuminance=function(C){return v(C>>16&255,C>>8&255,255&C)},u.relativeLuminance2=v})(_||(r.rgb=_={})),(function(u){function v(b,y,m){let E=b>>24&255,P=b>>16&255,B=b>>8&255,H=y>>24&255,R=y>>16&255,j=y>>8&255,A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));for(;A<m&&(H>0||R>0||j>0);)H-=Math.max(0,Math.ceil(.1*H)),R-=Math.max(0,Math.ceil(.1*R)),j-=Math.max(0,Math.ceil(.1*j)),A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));return(H<<24|R<<16|j<<8|255)>>>0}function C(b,y,m){let E=b>>24&255,P=b>>16&255,B=b>>8&255,H=y>>24&255,R=y>>16&255,j=y>>8&255,A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));for(;A<m&&(H<255||R<255||j<255);)H=Math.min(255,H+Math.ceil(.1*(255-H))),R=Math.min(255,R+Math.ceil(.1*(255-R))),j=Math.min(255,j+Math.ceil(.1*(255-j))),A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));return(H<<24|R<<16|j<<8|255)>>>0}u.blend=function(b,y){if(l=(255&y)/255,l===1)return y;let m=y>>24&255,E=y>>16&255,P=y>>8&255,B=b>>24&255,H=b>>16&255,R=b>>8&255;return s=B+Math.round((m-B)*l),o=H+Math.round((E-H)*l),f=R+Math.round((P-R)*l),p.toRgba(s,o,f)},u.ensureContrastRatio=function(b,y,m){let E=_.relativeLuminance(b>>8),P=_.relativeLuminance(y>>8);if(h(E,P)<m){if(P<E){let R=v(b,y,m),j=h(E,_.relativeLuminance(R>>8));if(j<m){let A=C(b,y,m);return j>h(E,_.relativeLuminance(A>>8))?R:A}return R}let B=C(b,y,m),H=h(E,_.relativeLuminance(B>>8));if(H<m){let R=v(b,y,m);return H>h(E,_.relativeLuminance(R>>8))?B:R}return B}},u.reduceLuminance=v,u.increaseLuminance=C,u.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}})(c||(r.rgba=c={})),r.toPaddedHex=d,r.contrastRatio=h},8969:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CoreTerminal=void 0;let o=s(844),f=s(2585),l=s(4348),p=s(7866),g=s(744),S=s(7302),_=s(6975),c=s(8460),d=s(1753),h=s(1480),u=s(7994),v=s(9282),C=s(5435),b=s(5981),y=s(2660),m=!1;class E extends o.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new c.EventEmitter),this._onScroll.event((B=>{this._onScrollApi?.fire(B.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(B){for(let H in B)this.optionsService.options[H]=B[H]}constructor(B){super(),this._windowsWrappingHeuristics=this.register(new o.MutableDisposable),this._onBinary=this.register(new c.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new c.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new c.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new c.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new c.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new c.EventEmitter),this._instantiationService=new l.InstantiationService,this.optionsService=this.register(new S.OptionsService(B)),this._instantiationService.setService(f.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(g.BufferService)),this._instantiationService.setService(f.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(p.LogService)),this._instantiationService.setService(f.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(_.CoreService)),this._instantiationService.setService(f.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(f.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(h.UnicodeService)),this._instantiationService.setService(f.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(u.CharsetService),this._instantiationService.setService(f.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(y.OscLinkService),this._instantiationService.setService(f.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new C.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,c.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,c.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,c.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,c.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((H=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((H=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new b.WriteBuffer(((H,R)=>this._inputHandler.parse(H,R)))),this.register((0,c.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(B,H){this._writeBuffer.write(B,H)}writeSync(B,H){this._logService.logLevel<=f.LogLevelEnum.WARN&&!m&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m=!0),this._writeBuffer.writeSync(B,H)}input(B,H=!0){this.coreService.triggerDataEvent(B,H)}resize(B,H){isNaN(B)||isNaN(H)||(B=Math.max(B,g.MINIMUM_COLS),H=Math.max(H,g.MINIMUM_ROWS),this._bufferService.resize(B,H))}scroll(B,H=!1){this._bufferService.scroll(B,H)}scrollLines(B,H,R){this._bufferService.scrollLines(B,H,R)}scrollPages(B){this.scrollLines(B*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(B){let H=B-this._bufferService.buffer.ydisp;H!==0&&this.scrollLines(H)}registerEscHandler(B,H){return this._inputHandler.registerEscHandler(B,H)}registerDcsHandler(B,H){return this._inputHandler.registerDcsHandler(B,H)}registerCsiHandler(B,H){return this._inputHandler.registerCsiHandler(B,H)}registerOscHandler(B,H){return this._inputHandler.registerOscHandler(B,H)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let B=!1,H=this.optionsService.rawOptions.windowsPty;H&&H.buildNumber!==void 0&&H.buildNumber!==void 0?B=H.backend==="conpty"&&H.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(B=!0),B?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let B=[];B.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),B.push(this.registerCsiHandler({final:"H"},(()=>((0,v.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,o.toDisposable)((()=>{for(let H of B)H.dispose()}))}}}r.CoreTerminal=E},8460:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.runAndSubscribe=r.forwardEvent=r.EventEmitter=void 0,r.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=s=>(this._listeners.push(s),{dispose:()=>{if(!this._disposed){for(let o=0;o<this._listeners.length;o++)if(this._listeners[o]===s)return void this._listeners.splice(o,1)}}})),this._event}fire(s,o){let f=[];for(let l=0;l<this._listeners.length;l++)f.push(this._listeners[l]);for(let l=0;l<f.length;l++)f[l].call(void 0,s,o)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},r.forwardEvent=function(s,o){return s((f=>o.fire(f)))},r.runAndSubscribe=function(s,o){return o(void 0),s((f=>o(f)))}},5435:function(a,r,s){var o=this&&this.__decorate||function(D,w,L,k){var M,$=arguments.length,q=$<3?w:k===null?k=Object.getOwnPropertyDescriptor(w,L):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(D,w,L,k);else for(var V=D.length-1;V>=0;V--)(M=D[V])&&(q=($<3?M(q):$>3?M(w,L,q):M(w,L))||q);return $>3&&q&&Object.defineProperty(w,L,q),q},f=this&&this.__param||function(D,w){return function(L,k){w(L,k,D)}};Object.defineProperty(r,"__esModule",{value:!0}),r.InputHandler=r.WindowsOptionsReportType=void 0;let l=s(2584),p=s(7116),g=s(2015),S=s(844),_=s(482),c=s(8437),d=s(8460),h=s(643),u=s(511),v=s(3734),C=s(2585),b=s(1480),y=s(6242),m=s(6351),E=s(5941),P={"(":0,")":1,"*":2,"+":3,"-":1,".":2},B=131072;function H(D,w){if(D>24)return w.setWinLines||!1;switch(D){case 1:return!!w.restoreWin;case 2:return!!w.minimizeWin;case 3:return!!w.setWinPosition;case 4:return!!w.setWinSizePixels;case 5:return!!w.raiseWin;case 6:return!!w.lowerWin;case 7:return!!w.refreshWin;case 8:return!!w.setWinSizeChars;case 9:return!!w.maximizeWin;case 10:return!!w.fullscreenWin;case 11:return!!w.getWinState;case 13:return!!w.getWinPosition;case 14:return!!w.getWinSizePixels;case 15:return!!w.getScreenSizePixels;case 16:return!!w.getCellSizePixels;case 18:return!!w.getWinSizeChars;case 19:return!!w.getScreenSizeChars;case 20:return!!w.getIconTitle;case 21:return!!w.getWinTitle;case 22:return!!w.pushTitle;case 23:return!!w.popTitle;case 24:return!!w.setWinLines}return!1}var R;(function(D){D[D.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",D[D.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(R||(r.WindowsOptionsReportType=R={}));let j=0;class A extends S.Disposable{getAttrData(){return this._curAttrData}constructor(w,L,k,M,$,q,V,J,N=new g.EscapeSequenceParser){super(),this._bufferService=w,this._charsetService=L,this._coreService=k,this._logService=M,this._optionsService=$,this._oscLinkService=q,this._coreMouseService=V,this._unicodeService=J,this._parser=N,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new _.StringToUtf32,this._utf8Decoder=new _.Utf8ToUtf32,this._workCell=new u.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.EventEmitter),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 T(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((x=>this._activeBuffer=x.activeBuffer))),this._parser.setCsiHandlerFallback(((x,I)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(x),params:I.toArray()})})),this._parser.setEscHandlerFallback((x=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(x)})})),this._parser.setExecuteHandlerFallback((x=>{this._logService.debug("Unknown EXECUTE code: ",{code:x})})),this._parser.setOscHandlerFallback(((x,I,O)=>{this._logService.debug("Unknown OSC code: ",{identifier:x,action:I,data:O})})),this._parser.setDcsHandlerFallback(((x,I,O)=>{I==="HOOK"&&(O=O.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(x),action:I,payload:O})})),this._parser.setPrintHandler(((x,I,O)=>this.print(x,I,O))),this._parser.registerCsiHandler({final:"@"},(x=>this.insertChars(x))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(x=>this.scrollLeft(x))),this._parser.registerCsiHandler({final:"A"},(x=>this.cursorUp(x))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(x=>this.scrollRight(x))),this._parser.registerCsiHandler({final:"B"},(x=>this.cursorDown(x))),this._parser.registerCsiHandler({final:"C"},(x=>this.cursorForward(x))),this._parser.registerCsiHandler({final:"D"},(x=>this.cursorBackward(x))),this._parser.registerCsiHandler({final:"E"},(x=>this.cursorNextLine(x))),this._parser.registerCsiHandler({final:"F"},(x=>this.cursorPrecedingLine(x))),this._parser.registerCsiHandler({final:"G"},(x=>this.cursorCharAbsolute(x))),this._parser.registerCsiHandler({final:"H"},(x=>this.cursorPosition(x))),this._parser.registerCsiHandler({final:"I"},(x=>this.cursorForwardTab(x))),this._parser.registerCsiHandler({final:"J"},(x=>this.eraseInDisplay(x,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(x=>this.eraseInDisplay(x,!0))),this._parser.registerCsiHandler({final:"K"},(x=>this.eraseInLine(x,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(x=>this.eraseInLine(x,!0))),this._parser.registerCsiHandler({final:"L"},(x=>this.insertLines(x))),this._parser.registerCsiHandler({final:"M"},(x=>this.deleteLines(x))),this._parser.registerCsiHandler({final:"P"},(x=>this.deleteChars(x))),this._parser.registerCsiHandler({final:"S"},(x=>this.scrollUp(x))),this._parser.registerCsiHandler({final:"T"},(x=>this.scrollDown(x))),this._parser.registerCsiHandler({final:"X"},(x=>this.eraseChars(x))),this._parser.registerCsiHandler({final:"Z"},(x=>this.cursorBackwardTab(x))),this._parser.registerCsiHandler({final:"`"},(x=>this.charPosAbsolute(x))),this._parser.registerCsiHandler({final:"a"},(x=>this.hPositionRelative(x))),this._parser.registerCsiHandler({final:"b"},(x=>this.repeatPrecedingCharacter(x))),this._parser.registerCsiHandler({final:"c"},(x=>this.sendDeviceAttributesPrimary(x))),this._parser.registerCsiHandler({prefix:">",final:"c"},(x=>this.sendDeviceAttributesSecondary(x))),this._parser.registerCsiHandler({final:"d"},(x=>this.linePosAbsolute(x))),this._parser.registerCsiHandler({final:"e"},(x=>this.vPositionRelative(x))),this._parser.registerCsiHandler({final:"f"},(x=>this.hVPosition(x))),this._parser.registerCsiHandler({final:"g"},(x=>this.tabClear(x))),this._parser.registerCsiHandler({final:"h"},(x=>this.setMode(x))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(x=>this.setModePrivate(x))),this._parser.registerCsiHandler({final:"l"},(x=>this.resetMode(x))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(x=>this.resetModePrivate(x))),this._parser.registerCsiHandler({final:"m"},(x=>this.charAttributes(x))),this._parser.registerCsiHandler({final:"n"},(x=>this.deviceStatus(x))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(x=>this.deviceStatusPrivate(x))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(x=>this.softReset(x))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(x=>this.setCursorStyle(x))),this._parser.registerCsiHandler({final:"r"},(x=>this.setScrollRegion(x))),this._parser.registerCsiHandler({final:"s"},(x=>this.saveCursor(x))),this._parser.registerCsiHandler({final:"t"},(x=>this.windowOptions(x))),this._parser.registerCsiHandler({final:"u"},(x=>this.restoreCursor(x))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(x=>this.insertColumns(x))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(x=>this.deleteColumns(x))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(x=>this.selectProtected(x))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(x=>this.requestMode(x,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(x=>this.requestMode(x,!1))),this._parser.setExecuteHandler(l.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(l.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(l.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(l.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(l.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(l.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(l.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(l.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(l.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new y.OscHandler((x=>(this.setTitle(x),this.setIconName(x),!0)))),this._parser.registerOscHandler(1,new y.OscHandler((x=>this.setIconName(x)))),this._parser.registerOscHandler(2,new y.OscHandler((x=>this.setTitle(x)))),this._parser.registerOscHandler(4,new y.OscHandler((x=>this.setOrReportIndexedColor(x)))),this._parser.registerOscHandler(8,new y.OscHandler((x=>this.setHyperlink(x)))),this._parser.registerOscHandler(10,new y.OscHandler((x=>this.setOrReportFgColor(x)))),this._parser.registerOscHandler(11,new y.OscHandler((x=>this.setOrReportBgColor(x)))),this._parser.registerOscHandler(12,new y.OscHandler((x=>this.setOrReportCursorColor(x)))),this._parser.registerOscHandler(104,new y.OscHandler((x=>this.restoreIndexedColor(x)))),this._parser.registerOscHandler(110,new y.OscHandler((x=>this.restoreFgColor(x)))),this._parser.registerOscHandler(111,new y.OscHandler((x=>this.restoreBgColor(x)))),this._parser.registerOscHandler(112,new y.OscHandler((x=>this.restoreCursorColor(x)))),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 x in p.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:x},(()=>this.selectCharset("("+x))),this._parser.registerEscHandler({intermediates:")",final:x},(()=>this.selectCharset(")"+x))),this._parser.registerEscHandler({intermediates:"*",final:x},(()=>this.selectCharset("*"+x))),this._parser.registerEscHandler({intermediates:"+",final:x},(()=>this.selectCharset("+"+x))),this._parser.registerEscHandler({intermediates:"-",final:x},(()=>this.selectCharset("-"+x))),this._parser.registerEscHandler({intermediates:".",final:x},(()=>this.selectCharset("."+x))),this._parser.registerEscHandler({intermediates:"/",final:x},(()=>this.selectCharset("/"+x)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((x=>(this._logService.error("Parsing error: ",x),x))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new m.DcsHandler(((x,I)=>this.requestStatusString(x,I))))}_preserveStack(w,L,k,M){this._parseStack.paused=!0,this._parseStack.cursorStartX=w,this._parseStack.cursorStartY=L,this._parseStack.decodedLength=k,this._parseStack.position=M}_logSlowResolvingAsync(w){this._logService.logLevel<=C.LogLevelEnum.WARN&&Promise.race([w,new Promise(((L,k)=>setTimeout((()=>k("#SLOW_TIMEOUT")),5e3)))]).catch((L=>{if(L!=="#SLOW_TIMEOUT")throw L;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(w,L){let k,M=this._activeBuffer.x,$=this._activeBuffer.y,q=0,V=this._parseStack.paused;if(V){if(k=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,L))return this._logSlowResolvingAsync(k),k;M=this._parseStack.cursorStartX,$=this._parseStack.cursorStartY,this._parseStack.paused=!1,w.length>B&&(q=this._parseStack.position+B)}if(this._logService.logLevel<=C.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof w=="string"?` "${w}"`:` "${Array.prototype.map.call(w,(x=>String.fromCharCode(x))).join("")}"`),typeof w=="string"?w.split("").map((x=>x.charCodeAt(0))):w),this._parseBuffer.length<w.length&&this._parseBuffer.length<B&&(this._parseBuffer=new Uint32Array(Math.min(w.length,B))),V||this._dirtyRowTracker.clearRange(),w.length>B)for(let x=q;x<w.length;x+=B){let I=x+B<w.length?x+B:w.length,O=typeof w=="string"?this._stringDecoder.decode(w.substring(x,I),this._parseBuffer):this._utf8Decoder.decode(w.subarray(x,I),this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,O))return this._preserveStack(M,$,O,x),this._logSlowResolvingAsync(k),k}else if(!V){let x=typeof w=="string"?this._stringDecoder.decode(w,this._parseBuffer):this._utf8Decoder.decode(w,this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,x))return this._preserveStack(M,$,x,0),this._logSlowResolvingAsync(k),k}this._activeBuffer.x===M&&this._activeBuffer.y===$||this._onCursorMove.fire();let J=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),N=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);N<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(N,this._bufferService.rows-1),Math.min(J,this._bufferService.rows-1))}print(w,L,k){let M,$,q=this._charsetService.charset,V=this._optionsService.rawOptions.screenReaderMode,J=this._bufferService.cols,N=this._coreService.decPrivateModes.wraparound,x=this._coreService.modes.insertMode,I=this._curAttrData,O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&k-L>0&&O.getWidth(this._activeBuffer.x-1)===2&&O.setCellFromCodepoint(this._activeBuffer.x-1,0,1,I);let U=this._parser.precedingJoinState;for(let z=L;z<k;++z){if(M=w[z],M<127&&q){let te=q[String.fromCharCode(M)];te&&(M=te.charCodeAt(0))}let X=this._unicodeService.charProperties(M,U);$=b.UnicodeService.extractWidth(X);let Q=b.UnicodeService.extractShouldJoin(X),ie=Q?b.UnicodeService.extractWidth(U):0;if(U=X,V&&this._onA11yChar.fire((0,_.stringFromCodePoint)(M)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+$-ie>J){if(N){let te=O,K=this._activeBuffer.x-ie;for(this._activeBuffer.x=ie,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),O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),ie>0&&O instanceof c.BufferLine&&O.copyCellsFrom(te,K,0,ie,!1);K<J;)te.setCellFromCodepoint(K++,0,1,I)}else if(this._activeBuffer.x=J-1,$===2)continue}if(Q&&this._activeBuffer.x){let te=O.getWidth(this._activeBuffer.x-1)?1:2;O.addCodepointToCell(this._activeBuffer.x-te,M,$);for(let K=$-ie;--K>=0;)O.setCellFromCodepoint(this._activeBuffer.x++,0,0,I)}else if(x&&(O.insertCells(this._activeBuffer.x,$-ie,this._activeBuffer.getNullCell(I)),O.getWidth(J-1)===2&&O.setCellFromCodepoint(J-1,h.NULL_CELL_CODE,h.NULL_CELL_WIDTH,I)),O.setCellFromCodepoint(this._activeBuffer.x++,M,$,I),$>0)for(;--$;)O.setCellFromCodepoint(this._activeBuffer.x++,0,0,I)}this._parser.precedingJoinState=U,this._activeBuffer.x<J&&k-L>0&&O.getWidth(this._activeBuffer.x)===0&&!O.hasContent(this._activeBuffer.x)&&O.setCellFromCodepoint(this._activeBuffer.x,0,1,I),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(w,L){return w.final!=="t"||w.prefix||w.intermediates?this._parser.registerCsiHandler(w,L):this._parser.registerCsiHandler(w,(k=>!H(k.params[0],this._optionsService.rawOptions.windowOptions)||L(k)))}registerDcsHandler(w,L){return this._parser.registerDcsHandler(w,new m.DcsHandler(L))}registerEscHandler(w,L){return this._parser.registerEscHandler(w,L)}registerOscHandler(w,L){return this._parser.registerOscHandler(w,new y.OscHandler(L))}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 w=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);w.hasWidth(this._activeBuffer.x)&&!w.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let w=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-w),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(w=this._bufferService.cols-1){this._activeBuffer.x=Math.min(w,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(w,L){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=w,this._activeBuffer.y=this._activeBuffer.scrollTop+L):(this._activeBuffer.x=w,this._activeBuffer.y=L),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(w,L){this._restrictCursor(),this._setCursor(this._activeBuffer.x+w,this._activeBuffer.y+L)}cursorUp(w){let L=this._activeBuffer.y-this._activeBuffer.scrollTop;return L>=0?this._moveCursor(0,-Math.min(L,w.params[0]||1)):this._moveCursor(0,-(w.params[0]||1)),!0}cursorDown(w){let L=this._activeBuffer.scrollBottom-this._activeBuffer.y;return L>=0?this._moveCursor(0,Math.min(L,w.params[0]||1)):this._moveCursor(0,w.params[0]||1),!0}cursorForward(w){return this._moveCursor(w.params[0]||1,0),!0}cursorBackward(w){return this._moveCursor(-(w.params[0]||1),0),!0}cursorNextLine(w){return this.cursorDown(w),this._activeBuffer.x=0,!0}cursorPrecedingLine(w){return this.cursorUp(w),this._activeBuffer.x=0,!0}cursorCharAbsolute(w){return this._setCursor((w.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(w){return this._setCursor(w.length>=2?(w.params[1]||1)-1:0,(w.params[0]||1)-1),!0}charPosAbsolute(w){return this._setCursor((w.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(w){return this._moveCursor(w.params[0]||1,0),!0}linePosAbsolute(w){return this._setCursor(this._activeBuffer.x,(w.params[0]||1)-1),!0}vPositionRelative(w){return this._moveCursor(0,w.params[0]||1),!0}hVPosition(w){return this.cursorPosition(w),!0}tabClear(w){let L=w.params[0];return L===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:L===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(w){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let L=w.params[0]||1;for(;L--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(w){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let L=w.params[0]||1;for(;L--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(w){let L=w.params[0];return L===1&&(this._curAttrData.bg|=536870912),L!==2&&L!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(w,L,k,M=!1,$=!1){let q=this._activeBuffer.lines.get(this._activeBuffer.ybase+w);q.replaceCells(L,k,this._activeBuffer.getNullCell(this._eraseAttrData()),$),M&&(q.isWrapped=!1)}_resetBufferLine(w,L=!1){let k=this._activeBuffer.lines.get(this._activeBuffer.ybase+w);k&&(k.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),L),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+w),k.isWrapped=!1)}eraseInDisplay(w,L=!1){let k;switch(this._restrictCursor(this._bufferService.cols),w.params[0]){case 0:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,L);k<this._bufferService.rows;k++)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(k);break;case 1:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k,0,this._activeBuffer.x+1,!0,L),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(k+1).isWrapped=!1);k--;)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(0);break;case 2:for(k=this._bufferService.rows,this._dirtyRowTracker.markDirty(k-1);k--;)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(0);break;case 3:let M=this._activeBuffer.lines.length-this._bufferService.rows;M>0&&(this._activeBuffer.lines.trimStart(M),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-M,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-M,0),this._onScroll.fire(0))}return!0}eraseInLine(w,L=!1){switch(this._restrictCursor(this._bufferService.cols),w.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,L);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,L);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,L)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(w){this._restrictCursor();let L=w.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,M=this._bufferService.rows-1-this._activeBuffer.scrollBottom,$=this._bufferService.rows-1+this._activeBuffer.ybase-M+1;for(;L--;)this._activeBuffer.lines.splice($-1,1),this._activeBuffer.lines.splice(k,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(w){this._restrictCursor();let L=w.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,M;for(M=this._bufferService.rows-1-this._activeBuffer.scrollBottom,M=this._bufferService.rows-1+this._activeBuffer.ybase-M;L--;)this._activeBuffer.lines.splice(k,1),this._activeBuffer.lines.splice(M,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.insertCells(this._activeBuffer.x,w.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.deleteCells(this._activeBuffer.x,w.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(w){let L=w.params[0]||1;for(;L--;)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(w){let L=w.params[0]||1;for(;L--;)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(c.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.deleteCells(0,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.insertCells(0,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.insertCells(this._activeBuffer.x,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.deleteCells(this._activeBuffer.x,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(w.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(w){let L=this._parser.precedingJoinState;if(!L)return!0;let k=w.params[0]||1,M=b.UnicodeService.extractWidth(L),$=this._activeBuffer.x-M,q=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString($),V=new Uint32Array(q.length*k),J=0;for(let x=0;x<q.length;){let I=q.codePointAt(x)||0;V[J++]=I,x+=I>65535?2:1}let N=J;for(let x=1;x<k;++x)V.copyWithin(N,0,J),N+=J;return this.print(V,0,N),!0}sendDeviceAttributesPrimary(w){return w.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(l.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(l.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(w){return w.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(l.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(l.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(w.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(l.C0.ESC+"[>83;40003;0c")),!0}_is(w){return(this._optionsService.rawOptions.termName+"").indexOf(w)===0}setMode(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),this._charsetService.setgCharset(1,p.DEFAULT_CHARSET),this._charsetService.setgCharset(2,p.DEFAULT_CHARSET),this._charsetService.setgCharset(3,p.DEFAULT_CHARSET);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 1e3: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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(w){for(let L=0;L<w.length;L++)switch(w.params[L]){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 1e3: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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),w.params[L]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(w,L){let k=this._coreService.decPrivateModes,{activeProtocol:M,activeEncoding:$}=this._coreMouseService,q=this._coreService,{buffers:V,cols:J}=this._bufferService,{active:N,alt:x}=V,I=this._optionsService.rawOptions,O=Q=>Q?1:2,U=w.params[0];return z=U,X=L?U===2?4:U===4?O(q.modes.insertMode):U===12?3:U===20?O(I.convertEol):0:U===1?O(k.applicationCursorKeys):U===3?I.windowOptions.setWinLines?J===80?2:J===132?1:0:0:U===6?O(k.origin):U===7?O(k.wraparound):U===8?3:U===9?O(M==="X10"):U===12?O(I.cursorBlink):U===25?O(!q.isCursorHidden):U===45?O(k.reverseWraparound):U===66?O(k.applicationKeypad):U===67?4:U===1e3?O(M==="VT200"):U===1002?O(M==="DRAG"):U===1003?O(M==="ANY"):U===1004?O(k.sendFocus):U===1005?4:U===1006?O($==="SGR"):U===1015?4:U===1016?O($==="SGR_PIXELS"):U===1048?1:U===47||U===1047||U===1049?O(N===x):U===2004?O(k.bracketedPasteMode):0,q.triggerDataEvent(`${l.C0.ESC}[${L?"":"?"}${z};${X}$y`),!0;var z,X}_updateAttrColor(w,L,k,M,$){return L===2?(w|=50331648,w&=-16777216,w|=v.AttributeData.fromColorRGB([k,M,$])):L===5&&(w&=-50331904,w|=33554432|255&k),w}_extractColor(w,L,k){let M=[0,0,-1,0,0,0],$=0,q=0;do{if(M[q+$]=w.params[L+q],w.hasSubParams(L+q)){let V=w.getSubParams(L+q),J=0;do M[1]===5&&($=1),M[q+J+1+$]=V[J];while(++J<V.length&&J+q+1+$<M.length);break}if(M[1]===5&&q+$>=2||M[1]===2&&q+$>=5)break;M[1]&&($=1)}while(++q+L<w.length&&q+$<M.length);for(let V=2;V<M.length;++V)M[V]===-1&&(M[V]=0);switch(M[0]){case 38:k.fg=this._updateAttrColor(k.fg,M[1],M[3],M[4],M[5]);break;case 48:k.bg=this._updateAttrColor(k.bg,M[1],M[3],M[4],M[5]);break;case 58:k.extended=k.extended.clone(),k.extended.underlineColor=this._updateAttrColor(k.extended.underlineColor,M[1],M[3],M[4],M[5])}return q}_processUnderline(w,L){L.extended=L.extended.clone(),(!~w||w>5)&&(w=1),L.extended.underlineStyle=w,L.fg|=268435456,w===0&&(L.fg&=-268435457),L.updateExtended()}_processSGR0(w){w.fg=c.DEFAULT_ATTR_DATA.fg,w.bg=c.DEFAULT_ATTR_DATA.bg,w.extended=w.extended.clone(),w.extended.underlineStyle=0,w.extended.underlineColor&=-67108864,w.updateExtended()}charAttributes(w){if(w.length===1&&w.params[0]===0)return this._processSGR0(this._curAttrData),!0;let L=w.length,k,M=this._curAttrData;for(let $=0;$<L;$++)k=w.params[$],k>=30&&k<=37?(M.fg&=-50331904,M.fg|=16777216|k-30):k>=40&&k<=47?(M.bg&=-50331904,M.bg|=16777216|k-40):k>=90&&k<=97?(M.fg&=-50331904,M.fg|=16777224|k-90):k>=100&&k<=107?(M.bg&=-50331904,M.bg|=16777224|k-100):k===0?this._processSGR0(M):k===1?M.fg|=134217728:k===3?M.bg|=67108864:k===4?(M.fg|=268435456,this._processUnderline(w.hasSubParams($)?w.getSubParams($)[0]:1,M)):k===5?M.fg|=536870912:k===7?M.fg|=67108864:k===8?M.fg|=1073741824:k===9?M.fg|=2147483648:k===2?M.bg|=134217728:k===21?this._processUnderline(2,M):k===22?(M.fg&=-134217729,M.bg&=-134217729):k===23?M.bg&=-67108865:k===24?(M.fg&=-268435457,this._processUnderline(0,M)):k===25?M.fg&=-536870913:k===27?M.fg&=-67108865:k===28?M.fg&=-1073741825:k===29?M.fg&=2147483647:k===39?(M.fg&=-67108864,M.fg|=16777215&c.DEFAULT_ATTR_DATA.fg):k===49?(M.bg&=-67108864,M.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):k===38||k===48||k===58?$+=this._extractColor(w,$,M):k===53?M.bg|=1073741824:k===55?M.bg&=-1073741825:k===59?(M.extended=M.extended.clone(),M.extended.underlineColor=-1,M.updateExtended()):k===100?(M.fg&=-67108864,M.fg|=16777215&c.DEFAULT_ATTR_DATA.fg,M.bg&=-67108864,M.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",k);return!0}deviceStatus(w){switch(w.params[0]){case 5:this._coreService.triggerDataEvent(`${l.C0.ESC}[0n`);break;case 6:let L=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${l.C0.ESC}[${L};${k}R`)}return!0}deviceStatusPrivate(w){if(w.params[0]===6){let L=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${l.C0.ESC}[?${L};${k}R`)}return!0}softReset(w){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=c.DEFAULT_ATTR_DATA.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(w){let L=w.params[0]||1;switch(L){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}let k=L%2==1;return this._optionsService.options.cursorBlink=k,!0}setScrollRegion(w){let L=w.params[0]||1,k;return(w.length<2||(k=w.params[1])>this._bufferService.rows||k===0)&&(k=this._bufferService.rows),k>L&&(this._activeBuffer.scrollTop=L-1,this._activeBuffer.scrollBottom=k-1,this._setCursor(0,0)),!0}windowOptions(w){if(!H(w.params[0],this._optionsService.rawOptions.windowOptions))return!0;let L=w.length>1?w.params[1]:0;switch(w.params[0]){case 14:L!==2&&this._onRequestWindowsOptionsReport.fire(R.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(R.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${l.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:L!==0&&L!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),L!==0&&L!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:L!==0&&L!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),L!==0&&L!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(w){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(w){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(w){return this._windowTitle=w,this._onTitleChange.fire(w),!0}setIconName(w){return this._iconName=w,!0}setOrReportIndexedColor(w){let L=[],k=w.split(";");for(;k.length>1;){let M=k.shift(),$=k.shift();if(/^\d+$/.exec(M)){let q=parseInt(M);if(F(q))if($==="?")L.push({type:0,index:q});else{let V=(0,E.parseColor)($);V&&L.push({type:1,index:q,color:V})}}}return L.length&&this._onColor.fire(L),!0}setHyperlink(w){let L=w.split(";");return!(L.length<2)&&(L[1]?this._createHyperlink(L[0],L[1]):!L[0]&&this._finishHyperlink())}_createHyperlink(w,L){this._getCurrentLinkId()&&this._finishHyperlink();let k=w.split(":"),M,$=k.findIndex((q=>q.startsWith("id=")));return $!==-1&&(M=k[$].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:M,uri:L}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(w,L){let k=w.split(";");for(let M=0;M<k.length&&!(L>=this._specialColors.length);++M,++L)if(k[M]==="?")this._onColor.fire([{type:0,index:this._specialColors[L]}]);else{let $=(0,E.parseColor)(k[M]);$&&this._onColor.fire([{type:1,index:this._specialColors[L],color:$}])}return!0}setOrReportFgColor(w){return this._setOrReportSpecialColor(w,0)}setOrReportBgColor(w){return this._setOrReportSpecialColor(w,1)}setOrReportCursorColor(w){return this._setOrReportSpecialColor(w,2)}restoreIndexedColor(w){if(!w)return this._onColor.fire([{type:2}]),!0;let L=[],k=w.split(";");for(let M=0;M<k.length;++M)if(/^\d+$/.exec(k[M])){let $=parseInt(k[M]);F($)&&L.push({type:2,index:$})}return L.length&&this._onColor.fire(L),!0}restoreFgColor(w){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(w){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(w){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,p.DEFAULT_CHARSET),!0}selectCharset(w){return w.length!==2?(this.selectDefaultCharset(),!0):(w[0]==="/"||this._charsetService.setgCharset(P[w[0]],p.CHARSETS[w[1]]||p.DEFAULT_CHARSET),!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 w=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,w,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=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(w){return this._charsetService.setgLevel(w),!0}screenAlignmentPattern(){let w=new u.CellData;w.content=4194373,w.fg=this._curAttrData.fg,w.bg=this._curAttrData.bg,this._setCursor(0,0);for(let L=0;L<this._bufferService.rows;++L){let k=this._activeBuffer.ybase+this._activeBuffer.y+L,M=this._activeBuffer.lines.get(k);M&&(M.fill(w),M.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(w,L){let k=this._bufferService.buffer,M=this._optionsService.rawOptions;return($=>(this._coreService.triggerDataEvent(`${l.C0.ESC}${$}${l.C0.ESC}\\`),!0))(w==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:w==='"p'?'P1$r61;1"p':w==="r"?`P1$r${k.scrollTop+1};${k.scrollBottom+1}r`:w==="m"?"P1$r0m":w===" q"?`P1$r${{block:2,underline:4,bar:6}[M.cursorStyle]-(M.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(w,L){this._dirtyRowTracker.markRangeDirty(w,L)}}r.InputHandler=A;let T=class{constructor(D){this._bufferService=D,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(D){D<this.start?this.start=D:D>this.end&&(this.end=D)}markRangeDirty(D,w){D>w&&(j=D,D=w,w=j),D<this.start&&(this.start=D),w>this.end&&(this.end=w)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function F(D){return 0<=D&&D<256}T=o([f(0,C.IBufferService)],T)},844:(a,r)=>{function s(o){for(let f of o)f.dispose();o.length=0}Object.defineProperty(r,"__esModule",{value:!0}),r.getDisposeArrayDisposable=r.disposeArray=r.toDisposable=r.MutableDisposable=r.Disposable=void 0,r.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let o of this._disposables)o.dispose();this._disposables.length=0}register(o){return this._disposables.push(o),o}unregister(o){let f=this._disposables.indexOf(o);f!==-1&&this._disposables.splice(f,1)}},r.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(o){this._isDisposed||o===this._value||(this._value?.dispose(),this._value=o)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},r.toDisposable=function(o){return{dispose:o}},r.disposeArray=s,r.getDisposeArrayDisposable=function(o){return{dispose:()=>s(o)}}},1505:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.FourKeyMap=r.TwoKeyMap=void 0;class s{constructor(){this._data={}}set(f,l,p){this._data[f]||(this._data[f]={}),this._data[f][l]=p}get(f,l){return this._data[f]?this._data[f][l]:void 0}clear(){this._data={}}}r.TwoKeyMap=s,r.FourKeyMap=class{constructor(){this._data=new s}set(o,f,l,p,g){this._data.get(o,f)||this._data.set(o,f,new s),this._data.get(o,f).set(l,p,g)}get(o,f,l,p){return this._data.get(o,f)?.get(l,p)}clear(){this._data.clear()}}},6114:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isChromeOS=r.isLinux=r.isWindows=r.isIphone=r.isIpad=r.isMac=r.getSafariVersion=r.isSafari=r.isLegacyEdge=r.isFirefox=r.isNode=void 0,r.isNode=typeof process<"u"&&"title"in process;let s=r.isNode?"node":navigator.userAgent,o=r.isNode?"node":navigator.platform;r.isFirefox=s.includes("Firefox"),r.isLegacyEdge=s.includes("Edge"),r.isSafari=/^((?!chrome|android).)*safari/i.test(s),r.getSafariVersion=function(){if(!r.isSafari)return 0;let f=s.match(/Version\/(\d+)/);return f===null||f.length<2?0:parseInt(f[1])},r.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(o),r.isIpad=o==="iPad",r.isIphone=o==="iPhone",r.isWindows=["Windows","Win16","Win32","WinCE"].includes(o),r.isLinux=o.indexOf("Linux")>=0,r.isChromeOS=/\bCrOS\b/.test(s)},6106:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.SortedList=void 0;let s=0;r.SortedList=class{constructor(o){this._getKey=o,this._array=[]}clear(){this._array.length=0}insert(o){this._array.length!==0?(s=this._search(this._getKey(o)),this._array.splice(s,0,o)):this._array.push(o)}delete(o){if(this._array.length===0)return!1;let f=this._getKey(o);if(f===void 0||(s=this._search(f),s===-1)||this._getKey(this._array[s])!==f)return!1;do if(this._array[s]===o)return this._array.splice(s,1),!0;while(++s<this._array.length&&this._getKey(this._array[s])===f);return!1}*getKeyIterator(o){if(this._array.length!==0&&(s=this._search(o),!(s<0||s>=this._array.length)&&this._getKey(this._array[s])===o))do yield this._array[s];while(++s<this._array.length&&this._getKey(this._array[s])===o)}forEachByKey(o,f){if(this._array.length!==0&&(s=this._search(o),!(s<0||s>=this._array.length)&&this._getKey(this._array[s])===o))do f(this._array[s]);while(++s<this._array.length&&this._getKey(this._array[s])===o)}values(){return[...this._array].values()}_search(o){let f=0,l=this._array.length-1;for(;l>=f;){let p=f+l>>1,g=this._getKey(this._array[p]);if(g>o)l=p-1;else{if(!(g<o)){for(;p>0&&this._getKey(this._array[p-1])===o;)p--;return p}f=p+1}}return f}}},7226:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DebouncedIdleTask=r.IdleTaskQueue=r.PriorityTaskQueue=void 0;let o=s(6114);class f{constructor(){this._tasks=[],this._i=0}enqueue(g){this._tasks.push(g),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(g){this._idleCallback=void 0;let S=0,_=0,c=g.timeRemaining(),d=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),_=Math.max(S,_),d=g.timeRemaining(),1.5*_>d)return c-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(c-S))}ms`),void this._start();c=d}this.clear()}}class l extends f{_requestCallback(g){return setTimeout((()=>g(this._createDeadline(16))))}_cancelCallback(g){clearTimeout(g)}_createDeadline(g){let S=Date.now()+g;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}r.PriorityTaskQueue=l,r.IdleTaskQueue=!o.isNode&&"requestIdleCallback"in window?class extends f{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:l,r.DebouncedIdleTask=class{constructor(){this._queue=new r.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},9282:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.updateWindowsModeWrappedState=void 0;let o=s(643);r.updateWindowsModeWrappedState=function(f){let l=f.buffer.lines.get(f.buffer.ybase+f.buffer.y-1),p=l?.get(f.cols-1),g=f.buffer.lines.get(f.buffer.ybase+f.buffer.y);g&&p&&(g.isWrapped=p[o.CHAR_DATA_CODE_INDEX]!==o.NULL_CELL_CODE&&p[o.CHAR_DATA_CODE_INDEX]!==o.WHITESPACE_CELL_CODE)}},3734:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ExtendedAttrs=r.AttributeData=void 0;class s{constructor(){this.fg=0,this.bg=0,this.extended=new o}static toColorRGB(l){return[l>>>16&255,l>>>8&255,255&l]}static fromColorRGB(l){return(255&l[0])<<16|(255&l[1])<<8|255&l[2]}clone(){let l=new s;return l.fg=this.fg,l.bg=this.bg,l.extended=this.extended.clone(),l}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}r.AttributeData=s;class o{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(l){this._ext=l}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(l){this._ext&=-469762049,this._ext|=l<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(l){this._ext&=-67108864,this._ext|=67108863&l}get urlId(){return this._urlId}set urlId(l){this._urlId=l}get underlineVariantOffset(){let l=(3758096384&this._ext)>>29;return l<0?4294967288^l:l}set underlineVariantOffset(l){this._ext&=536870911,this._ext|=l<<29&3758096384}constructor(l=0,p=0){this._ext=0,this._urlId=0,this._ext=l,this._urlId=p}clone(){return new o(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}r.ExtendedAttrs=o},9092:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Buffer=r.MAX_BUFFER_SIZE=void 0;let o=s(6349),f=s(7226),l=s(3734),p=s(8437),g=s(4634),S=s(511),_=s(643),c=s(4863),d=s(7116);r.MAX_BUFFER_SIZE=4294967295,r.Buffer=class{constructor(h,u,v){this._hasScrollback=h,this._optionsService=u,this._bufferService=v,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=p.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,_.NULL_CELL_CHAR,_.NULL_CELL_WIDTH,_.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,_.WHITESPACE_CELL_CHAR,_.WHITESPACE_CELL_WIDTH,_.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new f.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new o.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(h){return h?(this._nullCell.fg=h.fg,this._nullCell.bg=h.bg,this._nullCell.extended=h.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new l.ExtendedAttrs),this._nullCell}getWhitespaceCell(h){return h?(this._whitespaceCell.fg=h.fg,this._whitespaceCell.bg=h.bg,this._whitespaceCell.extended=h.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new l.ExtendedAttrs),this._whitespaceCell}getBlankLine(h,u){return new p.BufferLine(this._bufferService.cols,this.getNullCell(h),u)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let h=this.ybase+this.y-this.ydisp;return h>=0&&h<this._rows}_getCorrectBufferLength(h){if(!this._hasScrollback)return h;let u=h+this._optionsService.rawOptions.scrollback;return u>r.MAX_BUFFER_SIZE?r.MAX_BUFFER_SIZE:u}fillViewportRows(h){if(this.lines.length===0){h===void 0&&(h=p.DEFAULT_ATTR_DATA);let u=this._rows;for(;u--;)this.lines.push(this.getBlankLine(h))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new o.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(h,u){let v=this.getNullCell(p.DEFAULT_ATTR_DATA),C=0,b=this._getCorrectBufferLength(u);if(b>this.lines.maxLength&&(this.lines.maxLength=b),this.lines.length>0){if(this._cols<h)for(let m=0;m<this.lines.length;m++)C+=+this.lines.get(m).resize(h,v);let y=0;if(this._rows<u)for(let m=this._rows;m<u;m++)this.lines.length<u+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new p.BufferLine(h,v)):this.ybase>0&&this.lines.length<=this.ybase+this.y+y+1?(this.ybase--,y++,this.ydisp>0&&this.ydisp--):this.lines.push(new p.BufferLine(h,v)));else for(let m=this._rows;m>u;m--)this.lines.length>u+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(b<this.lines.maxLength){let m=this.lines.length-b;m>0&&(this.lines.trimStart(m),this.ybase=Math.max(this.ybase-m,0),this.ydisp=Math.max(this.ydisp-m,0),this.savedY=Math.max(this.savedY-m,0)),this.lines.maxLength=b}this.x=Math.min(this.x,h-1),this.y=Math.min(this.y,u-1),y&&(this.y+=y),this.savedX=Math.min(this.savedX,h-1),this.scrollTop=0}if(this.scrollBottom=u-1,this._isReflowEnabled&&(this._reflow(h,u),this._cols>h))for(let y=0;y<this.lines.length;y++)C+=+this.lines.get(y).resize(h,v);this._cols=h,this._rows=u,this._memoryCleanupQueue.clear(),C>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let h=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,h=!1);let u=0;for(;this._memoryCleanupPosition<this.lines.length;)if(u+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),u>100)return!0;return h}get _isReflowEnabled(){let h=this._optionsService.rawOptions.windowsPty;return h&&h.buildNumber?this._hasScrollback&&h.backend==="conpty"&&h.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(h,u){this._cols!==h&&(h>this._cols?this._reflowLarger(h,u):this._reflowSmaller(h,u))}_reflowLarger(h,u){let v=(0,g.reflowLargerGetLinesToRemove)(this.lines,this._cols,h,this.ybase+this.y,this.getNullCell(p.DEFAULT_ATTR_DATA));if(v.length>0){let C=(0,g.reflowLargerCreateNewLayout)(this.lines,v);(0,g.reflowLargerApplyNewLayout)(this.lines,C.layout),this._reflowLargerAdjustViewport(h,u,C.countRemoved)}}_reflowLargerAdjustViewport(h,u,v){let C=this.getNullCell(p.DEFAULT_ATTR_DATA),b=v;for(;b-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<u&&this.lines.push(new p.BufferLine(h,C))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-v,0)}_reflowSmaller(h,u){let v=this.getNullCell(p.DEFAULT_ATTR_DATA),C=[],b=0;for(let y=this.lines.length-1;y>=0;y--){let m=this.lines.get(y);if(!m||!m.isWrapped&&m.getTrimmedLength()<=h)continue;let E=[m];for(;m.isWrapped&&y>0;)m=this.lines.get(--y),E.unshift(m);let P=this.ybase+this.y;if(P>=y&&P<y+E.length)continue;let B=E[E.length-1].getTrimmedLength(),H=(0,g.reflowSmallerGetNewLineLengths)(E,this._cols,h),R=H.length-E.length,j;j=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+R):Math.max(0,this.lines.length-this.lines.maxLength+R);let A=[];for(let k=0;k<R;k++){let M=this.getBlankLine(p.DEFAULT_ATTR_DATA,!0);A.push(M)}A.length>0&&(C.push({start:y+E.length+b,newLines:A}),b+=A.length),E.push(...A);let T=H.length-1,F=H[T];F===0&&(T--,F=H[T]);let D=E.length-R-1,w=B;for(;D>=0;){let k=Math.min(w,F);if(E[T]===void 0)break;if(E[T].copyCellsFrom(E[D],w-k,F-k,k,!0),F-=k,F===0&&(T--,F=H[T]),w-=k,w===0){D--;let M=Math.max(D,0);w=(0,g.getWrappedLineTrimmedLength)(E,M,this._cols)}}for(let k=0;k<E.length;k++)H[k]<h&&E[k].setCell(H[k],v);let L=R-j;for(;L-- >0;)this.ybase===0?this.y<u-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+b)-u&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+R,this.ybase+u-1)}if(C.length>0){let y=[],m=[];for(let T=0;T<this.lines.length;T++)m.push(this.lines.get(T));let E=this.lines.length,P=E-1,B=0,H=C[B];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+b);let R=0;for(let T=Math.min(this.lines.maxLength-1,E+b-1);T>=0;T--)if(H&&H.start>P+R){for(let F=H.newLines.length-1;F>=0;F--)this.lines.set(T--,H.newLines[F]);T++,y.push({index:P+1,amount:H.newLines.length}),R+=H.newLines.length,H=C[++B]}else this.lines.set(T,m[P--]);let j=0;for(let T=y.length-1;T>=0;T--)y[T].index+=j,this.lines.onInsertEmitter.fire(y[T]),j+=y[T].amount;let A=Math.max(0,E+b-this.lines.maxLength);A>0&&this.lines.onTrimEmitter.fire(A)}}translateBufferLineToString(h,u,v=0,C){let b=this.lines.get(h);return b?b.translateToString(u,v,C):""}getWrappedRangeForLine(h){let u=h,v=h;for(;u>0&&this.lines.get(u).isWrapped;)u--;for(;v+1<this.lines.length&&this.lines.get(v+1).isWrapped;)v++;return{first:u,last:v}}setupTabStops(h){for(h!=null?this.tabs[h]||(h=this.prevStop(h)):(this.tabs={},h=0);h<this._cols;h+=this._optionsService.rawOptions.tabStopWidth)this.tabs[h]=!0}prevStop(h){for(h==null&&(h=this.x);!this.tabs[--h]&&h>0;);return h>=this._cols?this._cols-1:h<0?0:h}nextStop(h){for(h==null&&(h=this.x);!this.tabs[++h]&&h<this._cols;);return h>=this._cols?this._cols-1:h<0?0:h}clearMarkers(h){this._isClearing=!0;for(let u=0;u<this.markers.length;u++)this.markers[u].line===h&&(this.markers[u].dispose(),this.markers.splice(u--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let h=0;h<this.markers.length;h++)this.markers[h].dispose(),this.markers.splice(h--,1);this._isClearing=!1}addMarker(h){let u=new c.Marker(h);return this.markers.push(u),u.register(this.lines.onTrim((v=>{u.line-=v,u.line<0&&u.dispose()}))),u.register(this.lines.onInsert((v=>{u.line>=v.index&&(u.line+=v.amount)}))),u.register(this.lines.onDelete((v=>{u.line>=v.index&&u.line<v.index+v.amount&&u.dispose(),u.line>v.index&&(u.line-=v.amount)}))),u.register(u.onDispose((()=>this._removeMarker(u)))),u}_removeMarker(h){this._isClearing||this.markers.splice(this.markers.indexOf(h),1)}}},8437:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLine=r.DEFAULT_ATTR_DATA=void 0;let o=s(3734),f=s(511),l=s(643),p=s(482);r.DEFAULT_ATTR_DATA=Object.freeze(new o.AttributeData);let g=0;class S{constructor(c,d,h=!1){this.isWrapped=h,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*c);let u=d||f.CellData.fromCharData([0,l.NULL_CELL_CHAR,l.NULL_CELL_WIDTH,l.NULL_CELL_CODE]);for(let v=0;v<c;++v)this.setCell(v,u);this.length=c}get(c){let d=this._data[3*c+0],h=2097151&d;return[this._data[3*c+1],2097152&d?this._combined[c]:h?(0,p.stringFromCodePoint)(h):"",d>>22,2097152&d?this._combined[c].charCodeAt(this._combined[c].length-1):h]}set(c,d){this._data[3*c+1]=d[l.CHAR_DATA_ATTR_INDEX],d[l.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[c]=d[1],this._data[3*c+0]=2097152|c|d[l.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*c+0]=d[l.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|d[l.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(c){return this._data[3*c+0]>>22}hasWidth(c){return 12582912&this._data[3*c+0]}getFg(c){return this._data[3*c+1]}getBg(c){return this._data[3*c+2]}hasContent(c){return 4194303&this._data[3*c+0]}getCodePoint(c){let d=this._data[3*c+0];return 2097152&d?this._combined[c].charCodeAt(this._combined[c].length-1):2097151&d}isCombined(c){return 2097152&this._data[3*c+0]}getString(c){let d=this._data[3*c+0];return 2097152&d?this._combined[c]:2097151&d?(0,p.stringFromCodePoint)(2097151&d):""}isProtected(c){return 536870912&this._data[3*c+2]}loadCell(c,d){return g=3*c,d.content=this._data[g+0],d.fg=this._data[g+1],d.bg=this._data[g+2],2097152&d.content&&(d.combinedData=this._combined[c]),268435456&d.bg&&(d.extended=this._extendedAttrs[c]),d}setCell(c,d){2097152&d.content&&(this._combined[c]=d.combinedData),268435456&d.bg&&(this._extendedAttrs[c]=d.extended),this._data[3*c+0]=d.content,this._data[3*c+1]=d.fg,this._data[3*c+2]=d.bg}setCellFromCodepoint(c,d,h,u){268435456&u.bg&&(this._extendedAttrs[c]=u.extended),this._data[3*c+0]=d|h<<22,this._data[3*c+1]=u.fg,this._data[3*c+2]=u.bg}addCodepointToCell(c,d,h){let u=this._data[3*c+0];2097152&u?this._combined[c]+=(0,p.stringFromCodePoint)(d):2097151&u?(this._combined[c]=(0,p.stringFromCodePoint)(2097151&u)+(0,p.stringFromCodePoint)(d),u&=-2097152,u|=2097152):u=d|4194304,h&&(u&=-12582913,u|=h<<22),this._data[3*c+0]=u}insertCells(c,d,h){if((c%=this.length)&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length-c){let u=new f.CellData;for(let v=this.length-c-d-1;v>=0;--v)this.setCell(c+d+v,this.loadCell(c+v,u));for(let v=0;v<d;++v)this.setCell(c+v,h)}else for(let u=c;u<this.length;++u)this.setCell(u,h);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,h)}deleteCells(c,d,h){if(c%=this.length,d<this.length-c){let u=new f.CellData;for(let v=0;v<this.length-c-d;++v)this.setCell(c+v,this.loadCell(c+d+v,u));for(let v=this.length-d;v<this.length;++v)this.setCell(v,h)}else for(let u=c;u<this.length;++u)this.setCell(u,h);c&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),this.getWidth(c)!==0||this.hasContent(c)||this.setCellFromCodepoint(c,0,1,h)}replaceCells(c,d,h,u=!1){if(u)for(c&&this.getWidth(c-1)===2&&!this.isProtected(c-1)&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length&&this.getWidth(d-1)===2&&!this.isProtected(d)&&this.setCellFromCodepoint(d,0,1,h);c<d&&c<this.length;)this.isProtected(c)||this.setCell(c,h),c++;else for(c&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length&&this.getWidth(d-1)===2&&this.setCellFromCodepoint(d,0,1,h);c<d&&c<this.length;)this.setCell(c++,h)}resize(c,d){if(c===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let h=3*c;if(c>this.length){if(this._data.buffer.byteLength>=4*h)this._data=new Uint32Array(this._data.buffer,0,h);else{let u=new Uint32Array(h);u.set(this._data),this._data=u}for(let u=this.length;u<c;++u)this.setCell(u,d)}else{this._data=this._data.subarray(0,h);let u=Object.keys(this._combined);for(let C=0;C<u.length;C++){let b=parseInt(u[C],10);b>=c&&delete this._combined[b]}let v=Object.keys(this._extendedAttrs);for(let C=0;C<v.length;C++){let b=parseInt(v[C],10);b>=c&&delete this._extendedAttrs[b]}}return this.length=c,4*h*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let c=new Uint32Array(this._data.length);return c.set(this._data),this._data=c,1}return 0}fill(c,d=!1){if(d)for(let h=0;h<this.length;++h)this.isProtected(h)||this.setCell(h,c);else{this._combined={},this._extendedAttrs={};for(let h=0;h<this.length;++h)this.setCell(h,c)}}copyFrom(c){this.length!==c.length?this._data=new Uint32Array(c._data):this._data.set(c._data),this.length=c.length,this._combined={};for(let d in c._combined)this._combined[d]=c._combined[d];this._extendedAttrs={};for(let d in c._extendedAttrs)this._extendedAttrs[d]=c._extendedAttrs[d];this.isWrapped=c.isWrapped}clone(){let c=new S(0);c._data=new Uint32Array(this._data),c.length=this.length;for(let d in this._combined)c._combined[d]=this._combined[d];for(let d in this._extendedAttrs)c._extendedAttrs[d]=this._extendedAttrs[d];return c.isWrapped=this.isWrapped,c}getTrimmedLength(){for(let c=this.length-1;c>=0;--c)if(4194303&this._data[3*c+0])return c+(this._data[3*c+0]>>22);return 0}getNoBgTrimmedLength(){for(let c=this.length-1;c>=0;--c)if(4194303&this._data[3*c+0]||50331648&this._data[3*c+2])return c+(this._data[3*c+0]>>22);return 0}copyCellsFrom(c,d,h,u,v){let C=c._data;if(v)for(let y=u-1;y>=0;y--){for(let m=0;m<3;m++)this._data[3*(h+y)+m]=C[3*(d+y)+m];268435456&C[3*(d+y)+2]&&(this._extendedAttrs[h+y]=c._extendedAttrs[d+y])}else for(let y=0;y<u;y++){for(let m=0;m<3;m++)this._data[3*(h+y)+m]=C[3*(d+y)+m];268435456&C[3*(d+y)+2]&&(this._extendedAttrs[h+y]=c._extendedAttrs[d+y])}let b=Object.keys(c._combined);for(let y=0;y<b.length;y++){let m=parseInt(b[y],10);m>=d&&(this._combined[m-d+h]=c._combined[m])}}translateToString(c,d,h,u){d=d??0,h=h??this.length,c&&(h=Math.min(h,this.getTrimmedLength())),u&&(u.length=0);let v="";for(;d<h;){let C=this._data[3*d+0],b=2097151&C,y=2097152&C?this._combined[d]:b?(0,p.stringFromCodePoint)(b):l.WHITESPACE_CELL_CHAR;if(v+=y,u)for(let m=0;m<y.length;++m)u.push(d);d+=C>>22||1}return u&&u.push(d),v}}r.BufferLine=S},4841:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getRangeLength=void 0,r.getRangeLength=function(s,o){if(s.start.y>s.end.y)throw new Error(`Buffer range end (${s.end.x}, ${s.end.y}) cannot be before start (${s.start.x}, ${s.start.y})`);return o*(s.end.y-s.start.y)+(s.end.x-s.start.x+1)}},4634:(a,r)=>{function s(o,f,l){if(f===o.length-1)return o[f].getTrimmedLength();let p=!o[f].hasContent(l-1)&&o[f].getWidth(l-1)===1,g=o[f+1].getWidth(0)===2;return p&&g?l-1:l}Object.defineProperty(r,"__esModule",{value:!0}),r.getWrappedLineTrimmedLength=r.reflowSmallerGetNewLineLengths=r.reflowLargerApplyNewLayout=r.reflowLargerCreateNewLayout=r.reflowLargerGetLinesToRemove=void 0,r.reflowLargerGetLinesToRemove=function(o,f,l,p,g){let S=[];for(let _=0;_<o.length-1;_++){let c=_,d=o.get(++c);if(!d.isWrapped)continue;let h=[o.get(_)];for(;c<o.length&&d.isWrapped;)h.push(d),d=o.get(++c);if(p>=_&&p<c){_+=h.length-1;continue}let u=0,v=s(h,u,f),C=1,b=0;for(;C<h.length;){let m=s(h,C,f),E=m-b,P=l-v,B=Math.min(E,P);h[u].copyCellsFrom(h[C],b,v,B,!1),v+=B,v===l&&(u++,v=0),b+=B,b===m&&(C++,b=0),v===0&&u!==0&&h[u-1].getWidth(l-1)===2&&(h[u].copyCellsFrom(h[u-1],l-1,v++,1,!1),h[u-1].setCell(l-1,g))}h[u].replaceCells(v,l,g);let y=0;for(let m=h.length-1;m>0&&(m>u||h[m].getTrimmedLength()===0);m--)y++;y>0&&(S.push(_+h.length-y),S.push(y)),_+=h.length-1}return S},r.reflowLargerCreateNewLayout=function(o,f){let l=[],p=0,g=f[p],S=0;for(let _=0;_<o.length;_++)if(g===_){let c=f[++p];o.onDeleteEmitter.fire({index:_-S,amount:c}),_+=c-1,S+=c,g=f[++p]}else l.push(_);return{layout:l,countRemoved:S}},r.reflowLargerApplyNewLayout=function(o,f){let l=[];for(let p=0;p<f.length;p++)l.push(o.get(f[p]));for(let p=0;p<l.length;p++)o.set(p,l[p]);o.length=f.length},r.reflowSmallerGetNewLineLengths=function(o,f,l){let p=[],g=o.map(((d,h)=>s(o,h,f))).reduce(((d,h)=>d+h)),S=0,_=0,c=0;for(;c<g;){if(g-c<l){p.push(g-c);break}S+=l;let d=s(o,_,f);S>d&&(S-=d,_++);let h=o[_].getWidth(S-1)===2;h&&S--;let u=h?l-1:l;p.push(u),c+=u}return p},r.getWrappedLineTrimmedLength=s},5295:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferSet=void 0;let o=s(8460),f=s(844),l=s(9092);class p extends f.Disposable{constructor(S,_){super(),this._optionsService=S,this._bufferService=_,this._onBufferActivate=this.register(new o.EventEmitter),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 l.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new l.Buffer(!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(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),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(S,_){this._normal.resize(S,_),this._alt.resize(S,_),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}r.BufferSet=p},511:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CellData=void 0;let o=s(482),f=s(643),l=s(3734);class p extends l.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new l.ExtendedAttrs,this.combinedData=""}static fromCharData(S){let _=new p;return _.setFromCharData(S),_}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,o.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[f.CHAR_DATA_ATTR_INDEX],this.bg=0;let _=!1;if(S[f.CHAR_DATA_CHAR_INDEX].length>2)_=!0;else if(S[f.CHAR_DATA_CHAR_INDEX].length===2){let c=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=c&&c<=56319){let d=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=d&&d<=57343?this.content=1024*(c-55296)+d-56320+65536|S[f.CHAR_DATA_WIDTH_INDEX]<<22:_=!0}else _=!0}else this.content=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[f.CHAR_DATA_WIDTH_INDEX]<<22;_&&(this.combinedData=S[f.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[f.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}r.CellData=p},643:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WHITESPACE_CELL_CODE=r.WHITESPACE_CELL_WIDTH=r.WHITESPACE_CELL_CHAR=r.NULL_CELL_CODE=r.NULL_CELL_WIDTH=r.NULL_CELL_CHAR=r.CHAR_DATA_CODE_INDEX=r.CHAR_DATA_WIDTH_INDEX=r.CHAR_DATA_CHAR_INDEX=r.CHAR_DATA_ATTR_INDEX=r.DEFAULT_EXT=r.DEFAULT_ATTR=r.DEFAULT_COLOR=void 0,r.DEFAULT_COLOR=0,r.DEFAULT_ATTR=256|r.DEFAULT_COLOR<<9,r.DEFAULT_EXT=0,r.CHAR_DATA_ATTR_INDEX=0,r.CHAR_DATA_CHAR_INDEX=1,r.CHAR_DATA_WIDTH_INDEX=2,r.CHAR_DATA_CODE_INDEX=3,r.NULL_CELL_CHAR="",r.NULL_CELL_WIDTH=1,r.NULL_CELL_CODE=0,r.WHITESPACE_CELL_CHAR=" ",r.WHITESPACE_CELL_WIDTH=1,r.WHITESPACE_CELL_CODE=32},4863:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Marker=void 0;let o=s(8460),f=s(844);class l{get id(){return this._id}constructor(g){this.line=g,this.isDisposed=!1,this._disposables=[],this._id=l._nextId++,this._onDispose=this.register(new o.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,f.disposeArray)(this._disposables),this._disposables.length=0)}register(g){return this._disposables.push(g),g}}r.Marker=l,l._nextId=1},7116:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DEFAULT_CHARSET=r.CHARSETS=void 0,r.CHARSETS={},r.DEFAULT_CHARSET=r.CHARSETS.B,r.CHARSETS[0]={"`":"\u25C6",a:"\u2592",b:"\u2409",c:"\u240C",d:"\u240D",e:"\u240A",f:"\xB0",g:"\xB1",h:"\u2424",i:"\u240B",j:"\u2518",k:"\u2510",l:"\u250C",m:"\u2514",n:"\u253C",o:"\u23BA",p:"\u23BB",q:"\u2500",r:"\u23BC",s:"\u23BD",t:"\u251C",u:"\u2524",v:"\u2534",w:"\u252C",x:"\u2502",y:"\u2264",z:"\u2265","{":"\u03C0","|":"\u2260","}":"\xA3","~":"\xB7"},r.CHARSETS.A={"#":"\xA3"},r.CHARSETS.B=void 0,r.CHARSETS[4]={"#":"\xA3","@":"\xBE","[":"ij","\\":"\xBD","]":"|","{":"\xA8","|":"f","}":"\xBC","~":"\xB4"},r.CHARSETS.C=r.CHARSETS[5]={"[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},r.CHARSETS.R={"#":"\xA3","@":"\xE0","[":"\xB0","\\":"\xE7","]":"\xA7","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xA8"},r.CHARSETS.Q={"@":"\xE0","[":"\xE2","\\":"\xE7","]":"\xEA","^":"\xEE","`":"\xF4","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xFB"},r.CHARSETS.K={"@":"\xA7","[":"\xC4","\\":"\xD6","]":"\xDC","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xDF"},r.CHARSETS.Y={"#":"\xA3","@":"\xA7","[":"\xB0","\\":"\xE7","]":"\xE9","`":"\xF9","{":"\xE0","|":"\xF2","}":"\xE8","~":"\xEC"},r.CHARSETS.E=r.CHARSETS[6]={"@":"\xC4","[":"\xC6","\\":"\xD8","]":"\xC5","^":"\xDC","`":"\xE4","{":"\xE6","|":"\xF8","}":"\xE5","~":"\xFC"},r.CHARSETS.Z={"#":"\xA3","@":"\xA7","[":"\xA1","\\":"\xD1","]":"\xBF","{":"\xB0","|":"\xF1","}":"\xE7"},r.CHARSETS.H=r.CHARSETS[7]={"@":"\xC9","[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},r.CHARSETS["="]={"#":"\xF9","@":"\xE0","[":"\xE9","\\":"\xE7","]":"\xEA","^":"\xEE",_:"\xE8","`":"\xF4","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xFB"}},2584:(a,r)=>{var s,o,f;Object.defineProperty(r,"__esModule",{value:!0}),r.C1_ESCAPED=r.C1=r.C0=void 0,(function(l){l.NUL="\0",l.SOH="",l.STX="",l.ETX="",l.EOT="",l.ENQ="",l.ACK="",l.BEL="\x07",l.BS="\b",l.HT=" ",l.LF=`
8
- `,l.VT="\v",l.FF="\f",l.CR="\r",l.SO="",l.SI="",l.DLE="",l.DC1="",l.DC2="",l.DC3="",l.DC4="",l.NAK="",l.SYN="",l.ETB="",l.CAN="",l.EM="",l.SUB="",l.ESC="\x1B",l.FS="",l.GS="",l.RS="",l.US="",l.SP=" ",l.DEL="\x7F"})(s||(r.C0=s={})),(function(l){l.PAD="\x80",l.HOP="\x81",l.BPH="\x82",l.NBH="\x83",l.IND="\x84",l.NEL="\x85",l.SSA="\x86",l.ESA="\x87",l.HTS="\x88",l.HTJ="\x89",l.VTS="\x8A",l.PLD="\x8B",l.PLU="\x8C",l.RI="\x8D",l.SS2="\x8E",l.SS3="\x8F",l.DCS="\x90",l.PU1="\x91",l.PU2="\x92",l.STS="\x93",l.CCH="\x94",l.MW="\x95",l.SPA="\x96",l.EPA="\x97",l.SOS="\x98",l.SGCI="\x99",l.SCI="\x9A",l.CSI="\x9B",l.ST="\x9C",l.OSC="\x9D",l.PM="\x9E",l.APC="\x9F"})(o||(r.C1=o={})),(function(l){l.ST=`${s.ESC}\\`})(f||(r.C1_ESCAPED=f={}))},7399:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let o=s(2584),f={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:["'",'"']};r.evaluateKeyboardEvent=function(l,p,g,S){let _={type:0,cancel:!1,key:void 0},c=(l.shiftKey?1:0)|(l.altKey?2:0)|(l.ctrlKey?4:0)|(l.metaKey?8:0);switch(l.keyCode){case 0:l.key==="UIKeyInputUpArrow"?_.key=p?o.C0.ESC+"OA":o.C0.ESC+"[A":l.key==="UIKeyInputLeftArrow"?_.key=p?o.C0.ESC+"OD":o.C0.ESC+"[D":l.key==="UIKeyInputRightArrow"?_.key=p?o.C0.ESC+"OC":o.C0.ESC+"[C":l.key==="UIKeyInputDownArrow"&&(_.key=p?o.C0.ESC+"OB":o.C0.ESC+"[B");break;case 8:_.key=l.ctrlKey?"\b":o.C0.DEL,l.altKey&&(_.key=o.C0.ESC+_.key);break;case 9:if(l.shiftKey){_.key=o.C0.ESC+"[Z";break}_.key=o.C0.HT,_.cancel=!0;break;case 13:_.key=l.altKey?o.C0.ESC+o.C0.CR:o.C0.CR,_.cancel=!0;break;case 27:_.key=o.C0.ESC,l.altKey&&(_.key=o.C0.ESC+o.C0.ESC),_.cancel=!0;break;case 37:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"D",_.key===o.C0.ESC+"[1;3D"&&(_.key=o.C0.ESC+(g?"b":"[1;5D"))):_.key=p?o.C0.ESC+"OD":o.C0.ESC+"[D";break;case 39:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"C",_.key===o.C0.ESC+"[1;3C"&&(_.key=o.C0.ESC+(g?"f":"[1;5C"))):_.key=p?o.C0.ESC+"OC":o.C0.ESC+"[C";break;case 38:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"A",g||_.key!==o.C0.ESC+"[1;3A"||(_.key=o.C0.ESC+"[1;5A")):_.key=p?o.C0.ESC+"OA":o.C0.ESC+"[A";break;case 40:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"B",g||_.key!==o.C0.ESC+"[1;3B"||(_.key=o.C0.ESC+"[1;5B")):_.key=p?o.C0.ESC+"OB":o.C0.ESC+"[B";break;case 45:l.shiftKey||l.ctrlKey||(_.key=o.C0.ESC+"[2~");break;case 46:_.key=c?o.C0.ESC+"[3;"+(c+1)+"~":o.C0.ESC+"[3~";break;case 36:_.key=c?o.C0.ESC+"[1;"+(c+1)+"H":p?o.C0.ESC+"OH":o.C0.ESC+"[H";break;case 35:_.key=c?o.C0.ESC+"[1;"+(c+1)+"F":p?o.C0.ESC+"OF":o.C0.ESC+"[F";break;case 33:l.shiftKey?_.type=2:l.ctrlKey?_.key=o.C0.ESC+"[5;"+(c+1)+"~":_.key=o.C0.ESC+"[5~";break;case 34:l.shiftKey?_.type=3:l.ctrlKey?_.key=o.C0.ESC+"[6;"+(c+1)+"~":_.key=o.C0.ESC+"[6~";break;case 112:_.key=c?o.C0.ESC+"[1;"+(c+1)+"P":o.C0.ESC+"OP";break;case 113:_.key=c?o.C0.ESC+"[1;"+(c+1)+"Q":o.C0.ESC+"OQ";break;case 114:_.key=c?o.C0.ESC+"[1;"+(c+1)+"R":o.C0.ESC+"OR";break;case 115:_.key=c?o.C0.ESC+"[1;"+(c+1)+"S":o.C0.ESC+"OS";break;case 116:_.key=c?o.C0.ESC+"[15;"+(c+1)+"~":o.C0.ESC+"[15~";break;case 117:_.key=c?o.C0.ESC+"[17;"+(c+1)+"~":o.C0.ESC+"[17~";break;case 118:_.key=c?o.C0.ESC+"[18;"+(c+1)+"~":o.C0.ESC+"[18~";break;case 119:_.key=c?o.C0.ESC+"[19;"+(c+1)+"~":o.C0.ESC+"[19~";break;case 120:_.key=c?o.C0.ESC+"[20;"+(c+1)+"~":o.C0.ESC+"[20~";break;case 121:_.key=c?o.C0.ESC+"[21;"+(c+1)+"~":o.C0.ESC+"[21~";break;case 122:_.key=c?o.C0.ESC+"[23;"+(c+1)+"~":o.C0.ESC+"[23~";break;case 123:_.key=c?o.C0.ESC+"[24;"+(c+1)+"~":o.C0.ESC+"[24~";break;default:if(!l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)if(g&&!S||!l.altKey||l.metaKey)!g||l.altKey||l.ctrlKey||l.shiftKey||!l.metaKey?l.key&&!l.ctrlKey&&!l.altKey&&!l.metaKey&&l.keyCode>=48&&l.key.length===1?_.key=l.key:l.key&&l.ctrlKey&&(l.key==="_"&&(_.key=o.C0.US),l.key==="@"&&(_.key=o.C0.NUL)):l.keyCode===65&&(_.type=1);else{let d=f[l.keyCode],h=d?.[l.shiftKey?1:0];if(h)_.key=o.C0.ESC+h;else if(l.keyCode>=65&&l.keyCode<=90){let u=l.ctrlKey?l.keyCode-64:l.keyCode+32,v=String.fromCharCode(u);l.shiftKey&&(v=v.toUpperCase()),_.key=o.C0.ESC+v}else if(l.keyCode===32)_.key=o.C0.ESC+(l.ctrlKey?o.C0.NUL:" ");else if(l.key==="Dead"&&l.code.startsWith("Key")){let u=l.code.slice(3,4);l.shiftKey||(u=u.toLowerCase()),_.key=o.C0.ESC+u,_.cancel=!0}}else l.keyCode>=65&&l.keyCode<=90?_.key=String.fromCharCode(l.keyCode-64):l.keyCode===32?_.key=o.C0.NUL:l.keyCode>=51&&l.keyCode<=55?_.key=String.fromCharCode(l.keyCode-51+27):l.keyCode===56?_.key=o.C0.DEL:l.keyCode===219?_.key=o.C0.ESC:l.keyCode===220?_.key=o.C0.FS:l.keyCode===221&&(_.key=o.C0.GS)}return _}},482:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(s){return s>65535?(s-=65536,String.fromCharCode(55296+(s>>10))+String.fromCharCode(s%1024+56320)):String.fromCharCode(s)},r.utf32ToString=function(s,o=0,f=s.length){let l="";for(let p=o;p<f;++p){let g=s[p];g>65535?(g-=65536,l+=String.fromCharCode(55296+(g>>10))+String.fromCharCode(g%1024+56320)):l+=String.fromCharCode(g)}return l},r.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(s,o){let f=s.length;if(!f)return 0;let l=0,p=0;if(this._interim){let g=s.charCodeAt(p++);56320<=g&&g<=57343?o[l++]=1024*(this._interim-55296)+g-56320+65536:(o[l++]=this._interim,o[l++]=g),this._interim=0}for(let g=p;g<f;++g){let S=s.charCodeAt(g);if(55296<=S&&S<=56319){if(++g>=f)return this._interim=S,l;let _=s.charCodeAt(g);56320<=_&&_<=57343?o[l++]=1024*(S-55296)+_-56320+65536:(o[l++]=S,o[l++]=_)}else S!==65279&&(o[l++]=S)}return l}},r.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(s,o){let f=s.length;if(!f)return 0;let l,p,g,S,_=0,c=0,d=0;if(this.interim[0]){let v=!1,C=this.interim[0];C&=(224&C)==192?31:(240&C)==224?15:7;let b,y=0;for(;(b=63&this.interim[++y])&&y<4;)C<<=6,C|=b;let m=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,E=m-y;for(;d<E;){if(d>=f)return 0;if(b=s[d++],(192&b)!=128){d--,v=!0;break}this.interim[y++]=b,C<<=6,C|=63&b}v||(m===2?C<128?d--:o[_++]=C:m===3?C<2048||C>=55296&&C<=57343||C===65279||(o[_++]=C):C<65536||C>1114111||(o[_++]=C)),this.interim.fill(0)}let h=f-4,u=d;for(;u<f;){for(;!(!(u<h)||128&(l=s[u])||128&(p=s[u+1])||128&(g=s[u+2])||128&(S=s[u+3]));)o[_++]=l,o[_++]=p,o[_++]=g,o[_++]=S,u+=4;if(l=s[u++],l<128)o[_++]=l;else if((224&l)==192){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(c=(31&l)<<6|63&p,c<128){u--;continue}o[_++]=c}else if((240&l)==224){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,_;if(g=s[u++],(192&g)!=128){u--;continue}if(c=(15&l)<<12|(63&p)<<6|63&g,c<2048||c>=55296&&c<=57343||c===65279)continue;o[_++]=c}else if((248&l)==240){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,_;if(g=s[u++],(192&g)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,this.interim[2]=g,_;if(S=s[u++],(192&S)!=128){u--;continue}if(c=(7&l)<<18|(63&p)<<12|(63&g)<<6|63&S,c<65536||c>1114111)continue;o[_++]=c}}return _}}},225:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeV6=void 0;let o=s(1480),f=[[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]],l=[[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]],p;r.UnicodeV6=class{constructor(){if(this.version="6",!p){p=new Uint8Array(65536),p.fill(1),p[0]=0,p.fill(0,1,32),p.fill(0,127,160),p.fill(2,4352,4448),p[9001]=2,p[9002]=2,p.fill(2,11904,42192),p[12351]=1,p.fill(2,44032,55204),p.fill(2,63744,64256),p.fill(2,65040,65050),p.fill(2,65072,65136),p.fill(2,65280,65377),p.fill(2,65504,65511);for(let g=0;g<f.length;++g)p.fill(0,f[g][0],f[g][1]+1)}}wcwidth(g){return g<32?0:g<127?1:g<65536?p[g]:(function(S,_){let c,d=0,h=_.length-1;if(S<_[0][0]||S>_[h][1])return!1;for(;h>=d;)if(c=d+h>>1,S>_[c][1])d=c+1;else{if(!(S<_[c][0]))return!0;h=c-1}return!1})(g,l)?0:g>=131072&&g<=196605||g>=196608&&g<=262141?2:1}charProperties(g,S){let _=this.wcwidth(g),c=_===0&&S!==0;if(c){let d=o.UnicodeService.extractWidth(S);d===0?c=!1:d>_&&(_=d)}return o.UnicodeService.createPropertyValue(0,_,c)}}},5981:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.WriteBuffer=void 0;let o=s(8460),f=s(844);class l extends f.Disposable{constructor(g){super(),this._action=g,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new o.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(g,S){if(S!==void 0&&this._syncCalls>S)return void(this._syncCalls=0);if(this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let _;for(this._isSyncWriting=!0;_=this._writeBuffer.shift();){this._action(_);let c=this._callbacks.shift();c&&c()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(g,S){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(S),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(S)}_innerWrite(g=0,S=!0){let _=g||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){let c=this._writeBuffer[this._bufferOffset],d=this._action(c,S);if(d){let u=v=>Date.now()-_>=12?setTimeout((()=>this._innerWrite(0,v))):this._innerWrite(_,v);return void d.catch((v=>(queueMicrotask((()=>{throw v})),Promise.resolve(!1)))).then(u)}let h=this._callbacks[this._bufferOffset];if(h&&h(),this._bufferOffset++,this._pendingData-=c.length,Date.now()-_>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}r.WriteBuffer=l},5941:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.toRgbString=r.parseColor=void 0;let s=/^([\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})$/,o=/^[\da-f]+$/;function f(l,p){let g=l.toString(16),S=g.length<2?"0"+g:g;switch(p){case 4:return g[0];case 8:return S;case 12:return(S+S).slice(0,3);default:return S+S}}r.parseColor=function(l){if(!l)return;let p=l.toLowerCase();if(p.indexOf("rgb:")===0){p=p.slice(4);let g=s.exec(p);if(g){let S=g[1]?15:g[4]?255:g[7]?4095:65535;return[Math.round(parseInt(g[1]||g[4]||g[7]||g[10],16)/S*255),Math.round(parseInt(g[2]||g[5]||g[8]||g[11],16)/S*255),Math.round(parseInt(g[3]||g[6]||g[9]||g[12],16)/S*255)]}}else if(p.indexOf("#")===0&&(p=p.slice(1),o.exec(p)&&[3,6,9,12].includes(p.length))){let g=p.length/3,S=[0,0,0];for(let _=0;_<3;++_){let c=parseInt(p.slice(g*_,g*_+g),16);S[_]=g===1?c<<4:g===2?c:g===3?c>>4:c>>8}return S}},r.toRgbString=function(l,p=16){let[g,S,_]=l;return`rgb:${f(g,p)}/${f(S,p)}/${f(_,p)}`}},5770:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.PAYLOAD_LIMIT=void 0,r.PAYLOAD_LIMIT=1e7},6351:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DcsHandler=r.DcsParser=void 0;let o=s(482),f=s(8742),l=s(5770),p=[];r.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=p,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=p}registerHandler(S,_){this._handlers[S]===void 0&&(this._handlers[S]=[]);let c=this._handlers[S];return c.push(_),{dispose:()=>{let d=c.indexOf(_);d!==-1&&c.splice(d,1)}}}clearHandler(S){this._handlers[S]&&delete this._handlers[S]}setHandlerFallback(S){this._handlerFb=S}reset(){if(this._active.length)for(let S=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;S>=0;--S)this._active[S].unhook(!1);this._stack.paused=!1,this._active=p,this._ident=0}hook(S,_){if(this.reset(),this._ident=S,this._active=this._handlers[S]||p,this._active.length)for(let c=this._active.length-1;c>=0;c--)this._active[c].hook(_);else this._handlerFb(this._ident,"HOOK",_)}put(S,_,c){if(this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].put(S,_,c);else this._handlerFb(this._ident,"PUT",(0,o.utf32ToString)(S,_,c))}unhook(S,_=!0){if(this._active.length){let c=!1,d=this._active.length-1,h=!1;if(this._stack.paused&&(d=this._stack.loopPosition-1,c=_,h=this._stack.fallThrough,this._stack.paused=!1),!h&&c===!1){for(;d>=0&&(c=this._active[d].unhook(S),c!==!0);d--)if(c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!1,c;d--}for(;d>=0;d--)if(c=this._active[d].unhook(!1),c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!0,c}else this._handlerFb(this._ident,"UNHOOK",S);this._active=p,this._ident=0}};let g=new f.Params;g.addParam(0),r.DcsHandler=class{constructor(S){this._handler=S,this._data="",this._params=g,this._hitLimit=!1}hook(S){this._params=S.length>1||S.params[0]?S.clone():g,this._data="",this._hitLimit=!1}put(S,_,c){this._hitLimit||(this._data+=(0,o.utf32ToString)(S,_,c),this._data.length>l.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(S){let _=!1;if(this._hitLimit)_=!1;else if(S&&(_=this._handler(this._data,this._params),_ instanceof Promise))return _.then((c=>(this._params=g,this._data="",this._hitLimit=!1,c)));return this._params=g,this._data="",this._hitLimit=!1,_}}},2015:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.EscapeSequenceParser=r.VT500_TRANSITION_TABLE=r.TransitionTable=void 0;let o=s(844),f=s(8742),l=s(6242),p=s(6351);class g{constructor(d){this.table=new Uint8Array(d)}setDefault(d,h){this.table.fill(d<<4|h)}add(d,h,u,v){this.table[h<<8|d]=u<<4|v}addMany(d,h,u,v){for(let C=0;C<d.length;C++)this.table[h<<8|d[C]]=u<<4|v}}r.TransitionTable=g;let S=160;r.VT500_TRANSITION_TABLE=(function(){let c=new g(4095),d=Array.apply(null,Array(256)).map(((y,m)=>m)),h=(y,m)=>d.slice(y,m),u=h(32,127),v=h(0,24);v.push(25),v.push.apply(v,h(28,32));let C=h(0,14),b;for(b in c.setDefault(1,0),c.addMany(u,0,2,0),C)c.addMany([24,26,153,154],b,3,0),c.addMany(h(128,144),b,3,0),c.addMany(h(144,152),b,3,0),c.add(156,b,0,0),c.add(27,b,11,1),c.add(157,b,4,8),c.addMany([152,158,159],b,0,7),c.add(155,b,11,3),c.add(144,b,11,9);return c.addMany(v,0,3,0),c.addMany(v,1,3,1),c.add(127,1,0,1),c.addMany(v,8,0,8),c.addMany(v,3,3,3),c.add(127,3,0,3),c.addMany(v,4,3,4),c.add(127,4,0,4),c.addMany(v,6,3,6),c.addMany(v,5,3,5),c.add(127,5,0,5),c.addMany(v,2,3,2),c.add(127,2,0,2),c.add(93,1,4,8),c.addMany(u,8,5,8),c.add(127,8,5,8),c.addMany([156,27,24,26,7],8,6,0),c.addMany(h(28,32),8,0,8),c.addMany([88,94,95],1,0,7),c.addMany(u,7,0,7),c.addMany(v,7,0,7),c.add(156,7,0,0),c.add(127,7,0,7),c.add(91,1,11,3),c.addMany(h(64,127),3,7,0),c.addMany(h(48,60),3,8,4),c.addMany([60,61,62,63],3,9,4),c.addMany(h(48,60),4,8,4),c.addMany(h(64,127),4,7,0),c.addMany([60,61,62,63],4,0,6),c.addMany(h(32,64),6,0,6),c.add(127,6,0,6),c.addMany(h(64,127),6,0,0),c.addMany(h(32,48),3,9,5),c.addMany(h(32,48),5,9,5),c.addMany(h(48,64),5,0,6),c.addMany(h(64,127),5,7,0),c.addMany(h(32,48),4,9,5),c.addMany(h(32,48),1,9,2),c.addMany(h(32,48),2,9,2),c.addMany(h(48,127),2,10,0),c.addMany(h(48,80),1,10,0),c.addMany(h(81,88),1,10,0),c.addMany([89,90,92],1,10,0),c.addMany(h(96,127),1,10,0),c.add(80,1,11,9),c.addMany(v,9,0,9),c.add(127,9,0,9),c.addMany(h(28,32),9,0,9),c.addMany(h(32,48),9,9,12),c.addMany(h(48,60),9,8,10),c.addMany([60,61,62,63],9,9,10),c.addMany(v,11,0,11),c.addMany(h(32,128),11,0,11),c.addMany(h(28,32),11,0,11),c.addMany(v,10,0,10),c.add(127,10,0,10),c.addMany(h(28,32),10,0,10),c.addMany(h(48,60),10,8,10),c.addMany([60,61,62,63],10,0,11),c.addMany(h(32,48),10,9,12),c.addMany(v,12,0,12),c.add(127,12,0,12),c.addMany(h(28,32),12,0,12),c.addMany(h(32,48),12,9,12),c.addMany(h(48,64),12,0,11),c.addMany(h(64,127),12,12,13),c.addMany(h(64,127),10,12,13),c.addMany(h(64,127),9,12,13),c.addMany(v,13,13,13),c.addMany(u,13,13,13),c.add(127,13,0,13),c.addMany([27,156,24,26],13,14,0),c.add(S,0,2,0),c.add(S,8,5,8),c.add(S,6,0,6),c.add(S,11,0,11),c.add(S,13,13,13),c})();class _ extends o.Disposable{constructor(d=r.VT500_TRANSITION_TABLE){super(),this._transitions=d,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new f.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(h,u,v)=>{},this._executeHandlerFb=h=>{},this._csiHandlerFb=(h,u)=>{},this._escHandlerFb=h=>{},this._errorHandlerFb=h=>h,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,o.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new l.OscParser),this._dcsParser=this.register(new p.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(d,h=[64,126]){let u=0;if(d.prefix){if(d.prefix.length>1)throw new Error("only one byte as prefix supported");if(u=d.prefix.charCodeAt(0),u&&60>u||u>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(d.intermediates){if(d.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let C=0;C<d.intermediates.length;++C){let b=d.intermediates.charCodeAt(C);if(32>b||b>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");u<<=8,u|=b}}if(d.final.length!==1)throw new Error("final must be a single byte");let v=d.final.charCodeAt(0);if(h[0]>v||v>h[1])throw new Error(`final must be in range ${h[0]} .. ${h[1]}`);return u<<=8,u|=v,u}identToString(d){let h=[];for(;d;)h.push(String.fromCharCode(255&d)),d>>=8;return h.reverse().join("")}setPrintHandler(d){this._printHandler=d}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(d,h){let u=this._identifier(d,[48,126]);this._escHandlers[u]===void 0&&(this._escHandlers[u]=[]);let v=this._escHandlers[u];return v.push(h),{dispose:()=>{let C=v.indexOf(h);C!==-1&&v.splice(C,1)}}}clearEscHandler(d){this._escHandlers[this._identifier(d,[48,126])]&&delete this._escHandlers[this._identifier(d,[48,126])]}setEscHandlerFallback(d){this._escHandlerFb=d}setExecuteHandler(d,h){this._executeHandlers[d.charCodeAt(0)]=h}clearExecuteHandler(d){this._executeHandlers[d.charCodeAt(0)]&&delete this._executeHandlers[d.charCodeAt(0)]}setExecuteHandlerFallback(d){this._executeHandlerFb=d}registerCsiHandler(d,h){let u=this._identifier(d);this._csiHandlers[u]===void 0&&(this._csiHandlers[u]=[]);let v=this._csiHandlers[u];return v.push(h),{dispose:()=>{let C=v.indexOf(h);C!==-1&&v.splice(C,1)}}}clearCsiHandler(d){this._csiHandlers[this._identifier(d)]&&delete this._csiHandlers[this._identifier(d)]}setCsiHandlerFallback(d){this._csiHandlerFb=d}registerDcsHandler(d,h){return this._dcsParser.registerHandler(this._identifier(d),h)}clearDcsHandler(d){this._dcsParser.clearHandler(this._identifier(d))}setDcsHandlerFallback(d){this._dcsParser.setHandlerFallback(d)}registerOscHandler(d,h){return this._oscParser.registerHandler(d,h)}clearOscHandler(d){this._oscParser.clearHandler(d)}setOscHandlerFallback(d){this._oscParser.setHandlerFallback(d)}setErrorHandler(d){this._errorHandler=d}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(d,h,u,v,C){this._parseStack.state=d,this._parseStack.handlers=h,this._parseStack.handlerPos=u,this._parseStack.transition=v,this._parseStack.chunkPos=C}parse(d,h,u){let v,C=0,b=0,y=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,y=this._parseStack.chunkPos+1;else{if(u===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let m=this._parseStack.handlers,E=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(u===!1&&E>-1){for(;E>=0&&(v=m[E](this._params),v!==!0);E--)if(v instanceof Promise)return this._parseStack.handlerPos=E,v}this._parseStack.handlers=[];break;case 4:if(u===!1&&E>-1){for(;E>=0&&(v=m[E](),v!==!0);E--)if(v instanceof Promise)return this._parseStack.handlerPos=E,v}this._parseStack.handlers=[];break;case 6:if(C=d[this._parseStack.chunkPos],v=this._dcsParser.unhook(C!==24&&C!==26,u),v)return v;C===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(C=d[this._parseStack.chunkPos],v=this._oscParser.end(C!==24&&C!==26,u),v)return v;C===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,y=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let m=y;m<h;++m){switch(C=d[m],b=this._transitions.table[this.currentState<<8|(C<160?C:S)],b>>4){case 2:for(let R=m+1;;++R){if(R>=h||(C=d[R])<32||C>126&&C<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(C=d[R])<32||C>126&&C<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(C=d[R])<32||C>126&&C<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(C=d[R])<32||C>126&&C<S){this._printHandler(d,m,R),m=R-1;break}}break;case 3:this._executeHandlers[C]?this._executeHandlers[C]():this._executeHandlerFb(C),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:m,code:C,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let E=this._csiHandlers[this._collect<<8|C],P=E?E.length-1:-1;for(;P>=0&&(v=E[P](this._params),v!==!0);P--)if(v instanceof Promise)return this._preserveStack(3,E,P,b,m),v;P<0&&this._csiHandlerFb(this._collect<<8|C,this._params),this.precedingJoinState=0;break;case 8:do switch(C){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(C-48)}while(++m<h&&(C=d[m])>47&&C<60);m--;break;case 9:this._collect<<=8,this._collect|=C;break;case 10:let B=this._escHandlers[this._collect<<8|C],H=B?B.length-1:-1;for(;H>=0&&(v=B[H](),v!==!0);H--)if(v instanceof Promise)return this._preserveStack(4,B,H,b,m),v;H<0&&this._escHandlerFb(this._collect<<8|C),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|C,this._params);break;case 13:for(let R=m+1;;++R)if(R>=h||(C=d[R])===24||C===26||C===27||C>127&&C<S){this._dcsParser.put(d,m,R),m=R-1;break}break;case 14:if(v=this._dcsParser.unhook(C!==24&&C!==26),v)return this._preserveStack(6,[],0,b,m),v;C===27&&(b|=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 R=m+1;;R++)if(R>=h||(C=d[R])<32||C>127&&C<S){this._oscParser.put(d,m,R),m=R-1;break}break;case 6:if(v=this._oscParser.end(C!==24&&C!==26),v)return this._preserveStack(5,[],0,b,m),v;C===27&&(b|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&b}}}r.EscapeSequenceParser=_},6242:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OscHandler=r.OscParser=void 0;let o=s(5770),f=s(482),l=[];r.OscParser=class{constructor(){this._state=0,this._active=l,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(p,g){this._handlers[p]===void 0&&(this._handlers[p]=[]);let S=this._handlers[p];return S.push(g),{dispose:()=>{let _=S.indexOf(g);_!==-1&&S.splice(_,1)}}}clearHandler(p){this._handlers[p]&&delete this._handlers[p]}setHandlerFallback(p){this._handlerFb=p}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=l}reset(){if(this._state===2)for(let p=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;p>=0;--p)this._active[p].end(!1);this._stack.paused=!1,this._active=l,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||l,this._active.length)for(let p=this._active.length-1;p>=0;p--)this._active[p].start();else this._handlerFb(this._id,"START")}_put(p,g,S){if(this._active.length)for(let _=this._active.length-1;_>=0;_--)this._active[_].put(p,g,S);else this._handlerFb(this._id,"PUT",(0,f.utf32ToString)(p,g,S))}start(){this.reset(),this._state=1}put(p,g,S){if(this._state!==3){if(this._state===1)for(;g<S;){let _=p[g++];if(_===59){this._state=2,this._start();break}if(_<48||57<_)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+_-48}this._state===2&&S-g>0&&this._put(p,g,S)}}end(p,g=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let S=!1,_=this._active.length-1,c=!1;if(this._stack.paused&&(_=this._stack.loopPosition-1,S=g,c=this._stack.fallThrough,this._stack.paused=!1),!c&&S===!1){for(;_>=0&&(S=this._active[_].end(p),S!==!0);_--)if(S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!1,S;_--}for(;_>=0;_--)if(S=this._active[_].end(!1),S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!0,S}else this._handlerFb(this._id,"END",p);this._active=l,this._id=-1,this._state=0}}},r.OscHandler=class{constructor(p){this._handler=p,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(p,g,S){this._hitLimit||(this._data+=(0,f.utf32ToString)(p,g,S),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(p){let g=!1;if(this._hitLimit)g=!1;else if(p&&(g=this._handler(this._data),g instanceof Promise))return g.then((S=>(this._data="",this._hitLimit=!1,S)));return this._data="",this._hitLimit=!1,g}}},8742:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Params=void 0;let s=2147483647;class o{static fromArray(l){let p=new o;if(!l.length)return p;for(let g=Array.isArray(l[0])?1:0;g<l.length;++g){let S=l[g];if(Array.isArray(S))for(let _=0;_<S.length;++_)p.addSubParam(S[_]);else p.addParam(S)}return p}constructor(l=32,p=32){if(this.maxLength=l,this.maxSubParamsLength=p,p>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(l),this.length=0,this._subParams=new Int32Array(p),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(l),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){let l=new o(this.maxLength,this.maxSubParamsLength);return l.params.set(this.params),l.length=this.length,l._subParams.set(this._subParams),l._subParamsLength=this._subParamsLength,l._subParamsIdx.set(this._subParamsIdx),l._rejectDigits=this._rejectDigits,l._rejectSubDigits=this._rejectSubDigits,l._digitIsSub=this._digitIsSub,l}toArray(){let l=[];for(let p=0;p<this.length;++p){l.push(this.params[p]);let g=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-g>0&&l.push(Array.prototype.slice.call(this._subParams,g,S))}return l}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(l){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(l<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=l>s?s:l}}addSubParam(l){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(l<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=l>s?s:l,this._subParamsIdx[this.length-1]++}}hasSubParams(l){return(255&this._subParamsIdx[l])-(this._subParamsIdx[l]>>8)>0}getSubParams(l){let p=this._subParamsIdx[l]>>8,g=255&this._subParamsIdx[l];return g-p>0?this._subParams.subarray(p,g):null}getSubParamsAll(){let l={};for(let p=0;p<this.length;++p){let g=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-g>0&&(l[p]=this._subParams.slice(g,S))}return l}addDigit(l){let p;if(this._rejectDigits||!(p=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let g=this._digitIsSub?this._subParams:this.params,S=g[p-1];g[p-1]=~S?Math.min(10*S+l,s):l}}r.Params=o},5741:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.AddonManager=void 0,r.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let s=this._addons.length-1;s>=0;s--)this._addons[s].instance.dispose()}loadAddon(s,o){let f={instance:o,dispose:o.dispose,isDisposed:!1};this._addons.push(f),o.dispose=()=>this._wrappedAddonDispose(f),o.activate(s)}_wrappedAddonDispose(s){if(s.isDisposed)return;let o=-1;for(let f=0;f<this._addons.length;f++)if(this._addons[f]===s){o=f;break}if(o===-1)throw new Error("Could not dispose an addon that has not been loaded");s.isDisposed=!0,s.dispose.apply(s.instance),this._addons.splice(o,1)}}},8771:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferApiView=void 0;let o=s(3785),f=s(511);r.BufferApiView=class{constructor(l,p){this._buffer=l,this.type=p}init(l){return this._buffer=l,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(l){let p=this._buffer.lines.get(l);if(p)return new o.BufferLineApiView(p)}getNullCell(){return new f.CellData}}},3785:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferLineApiView=void 0;let o=s(511);r.BufferLineApiView=class{constructor(f){this._line=f}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(f,l){if(!(f<0||f>=this._line.length))return l?(this._line.loadCell(f,l),l):this._line.loadCell(f,new o.CellData)}translateToString(f,l,p){return this._line.translateToString(f,l,p)}}},8285:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.BufferNamespaceApi=void 0;let o=s(8771),f=s(8460),l=s(844);class p extends l.Disposable{constructor(S){super(),this._core=S,this._onBufferChange=this.register(new f.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new o.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new o.BufferApiView(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 new 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)}}r.BufferNamespaceApi=p},7975:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ParserApi=void 0,r.ParserApi=class{constructor(s){this._core=s}registerCsiHandler(s,o){return this._core.registerCsiHandler(s,(f=>o(f.toArray())))}addCsiHandler(s,o){return this.registerCsiHandler(s,o)}registerDcsHandler(s,o){return this._core.registerDcsHandler(s,((f,l)=>o(f,l.toArray())))}addDcsHandler(s,o){return this.registerDcsHandler(s,o)}registerEscHandler(s,o){return this._core.registerEscHandler(s,o)}addEscHandler(s,o){return this.registerEscHandler(s,o)}registerOscHandler(s,o){return this._core.registerOscHandler(s,o)}addOscHandler(s,o){return this.registerOscHandler(s,o)}}},7090:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeApi=void 0,r.UnicodeApi=class{constructor(s){this._core=s}register(s){this._core.unicodeService.register(s)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(s){this._core.unicodeService.activeVersion=s}}},744:function(a,r,s){var o=this&&this.__decorate||function(c,d,h,u){var v,C=arguments.length,b=C<3?d:u===null?u=Object.getOwnPropertyDescriptor(d,h):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(c,d,h,u);else for(var y=c.length-1;y>=0;y--)(v=c[y])&&(b=(C<3?v(b):C>3?v(d,h,b):v(d,h))||b);return C>3&&b&&Object.defineProperty(d,h,b),b},f=this&&this.__param||function(c,d){return function(h,u){d(h,u,c)}};Object.defineProperty(r,"__esModule",{value:!0}),r.BufferService=r.MINIMUM_ROWS=r.MINIMUM_COLS=void 0;let l=s(8460),p=s(844),g=s(5295),S=s(2585);r.MINIMUM_COLS=2,r.MINIMUM_ROWS=1;let _=r.BufferService=class extends p.Disposable{get buffer(){return this.buffers.active}constructor(c){super(),this.isUserScrolling=!1,this._onResize=this.register(new l.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new l.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(c.rawOptions.cols||0,r.MINIMUM_COLS),this.rows=Math.max(c.rawOptions.rows||0,r.MINIMUM_ROWS),this.buffers=this.register(new g.BufferSet(c,this))}resize(c,d){this.cols=c,this.rows=d,this.buffers.resize(c,d),this._onResize.fire({cols:c,rows:d})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(c,d=!1){let h=this.buffer,u;u=this._cachedBlankLine,u&&u.length===this.cols&&u.getFg(0)===c.fg&&u.getBg(0)===c.bg||(u=h.getBlankLine(c,d),this._cachedBlankLine=u),u.isWrapped=d;let v=h.ybase+h.scrollTop,C=h.ybase+h.scrollBottom;if(h.scrollTop===0){let b=h.lines.isFull;C===h.lines.length-1?b?h.lines.recycle().copyFrom(u):h.lines.push(u.clone()):h.lines.splice(C+1,0,u.clone()),b?this.isUserScrolling&&(h.ydisp=Math.max(h.ydisp-1,0)):(h.ybase++,this.isUserScrolling||h.ydisp++)}else{let b=C-v+1;h.lines.shiftElements(v+1,b-1,-1),h.lines.set(C,u.clone())}this.isUserScrolling||(h.ydisp=h.ybase),this._onScroll.fire(h.ydisp)}scrollLines(c,d,h){let u=this.buffer;if(c<0){if(u.ydisp===0)return;this.isUserScrolling=!0}else c+u.ydisp>=u.ybase&&(this.isUserScrolling=!1);let v=u.ydisp;u.ydisp=Math.max(Math.min(u.ydisp+c,u.ybase),0),v!==u.ydisp&&(d||this._onScroll.fire(u.ydisp))}};r.BufferService=_=o([f(0,S.IOptionsService)],_)},7994:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.CharsetService=void 0,r.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(s){this.glevel=s,this.charset=this._charsets[s]}setgCharset(s,o){this._charsets[s]=o,this.glevel===s&&(this.charset=o)}}},1753:function(a,r,s){var o=this&&this.__decorate||function(u,v,C,b){var y,m=arguments.length,E=m<3?v:b===null?b=Object.getOwnPropertyDescriptor(v,C):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(u,v,C,b);else for(var P=u.length-1;P>=0;P--)(y=u[P])&&(E=(m<3?y(E):m>3?y(v,C,E):y(v,C))||E);return m>3&&E&&Object.defineProperty(v,C,E),E},f=this&&this.__param||function(u,v){return function(C,b){v(C,b,u)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreMouseService=void 0;let l=s(2585),p=s(8460),g=s(844),S={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:u=>u.button!==4&&u.action===1&&(u.ctrl=!1,u.alt=!1,u.shift=!1,!0)},VT200:{events:19,restrict:u=>u.action!==32},DRAG:{events:23,restrict:u=>u.action!==32||u.button!==3},ANY:{events:31,restrict:u=>!0}};function _(u,v){let C=(u.ctrl?16:0)|(u.shift?4:0)|(u.alt?8:0);return u.button===4?(C|=64,C|=u.action):(C|=3&u.button,4&u.button&&(C|=64),8&u.button&&(C|=128),u.action===32?C|=32:u.action!==0||v||(C|=3)),C}let c=String.fromCharCode,d={DEFAULT:u=>{let v=[_(u,!1)+32,u.col+32,u.row+32];return v[0]>255||v[1]>255||v[2]>255?"":`\x1B[M${c(v[0])}${c(v[1])}${c(v[2])}`},SGR:u=>{let v=u.action===0&&u.button!==4?"m":"M";return`\x1B[<${_(u,!0)};${u.col};${u.row}${v}`},SGR_PIXELS:u=>{let v=u.action===0&&u.button!==4?"m":"M";return`\x1B[<${_(u,!0)};${u.x};${u.y}${v}`}},h=r.CoreMouseService=class extends g.Disposable{constructor(u,v){super(),this._bufferService=u,this._coreService=v,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new p.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(let C of Object.keys(S))this.addProtocol(C,S[C]);for(let C of Object.keys(d))this.addEncoding(C,d[C]);this.reset()}addProtocol(u,v){this._protocols[u]=v}addEncoding(u,v){this._encodings[u]=v}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(u){if(!this._protocols[u])throw new Error(`unknown protocol "${u}"`);this._activeProtocol=u,this._onProtocolChange.fire(this._protocols[u].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(u){if(!this._encodings[u])throw new Error(`unknown encoding "${u}"`);this._activeEncoding=u}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(u){if(u.col<0||u.col>=this._bufferService.cols||u.row<0||u.row>=this._bufferService.rows||u.button===4&&u.action===32||u.button===3&&u.action!==32||u.button!==4&&(u.action===2||u.action===3)||(u.col++,u.row++,u.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,u,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(u))return!1;let v=this._encodings[this._activeEncoding](u);return v&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(v):this._coreService.triggerDataEvent(v,!0)),this._lastEvent=u,!0}explainEvents(u){return{down:!!(1&u),up:!!(2&u),drag:!!(4&u),move:!!(8&u),wheel:!!(16&u)}}_equalEvents(u,v,C){if(C){if(u.x!==v.x||u.y!==v.y)return!1}else if(u.col!==v.col||u.row!==v.row)return!1;return u.button===v.button&&u.action===v.action&&u.ctrl===v.ctrl&&u.alt===v.alt&&u.shift===v.shift}};r.CoreMouseService=h=o([f(0,l.IBufferService),f(1,l.ICoreService)],h)},6975:function(a,r,s){var o=this&&this.__decorate||function(h,u,v,C){var b,y=arguments.length,m=y<3?u:C===null?C=Object.getOwnPropertyDescriptor(u,v):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,C);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(y<3?b(m):y>3?b(u,v,m):b(u,v))||m);return y>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,C){u(v,C,h)}};Object.defineProperty(r,"__esModule",{value:!0}),r.CoreService=void 0;let l=s(1439),p=s(8460),g=s(844),S=s(2585),_=Object.freeze({insertMode:!1}),c=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),d=r.CoreService=class extends g.Disposable{constructor(h,u,v){super(),this._bufferService=h,this._logService=u,this._optionsService=v,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new p.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new p.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new p.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new p.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,l.clone)(_),this.decPrivateModes=(0,l.clone)(c)}reset(){this.modes=(0,l.clone)(_),this.decPrivateModes=(0,l.clone)(c)}triggerDataEvent(h,u=!1){if(this._optionsService.rawOptions.disableStdin)return;let v=this._bufferService.buffer;u&&this._optionsService.rawOptions.scrollOnUserInput&&v.ybase!==v.ydisp&&this._onRequestScrollToBottom.fire(),u&&this._onUserInput.fire(),this._logService.debug(`sending data "${h}"`,(()=>h.split("").map((C=>C.charCodeAt(0))))),this._onData.fire(h)}triggerBinaryEvent(h){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${h}"`,(()=>h.split("").map((u=>u.charCodeAt(0))))),this._onBinary.fire(h))}};r.CoreService=d=o([f(0,S.IBufferService),f(1,S.ILogService),f(2,S.IOptionsService)],d)},9074:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.DecorationService=void 0;let o=s(8055),f=s(8460),l=s(844),p=s(6106),g=0,S=0;class _ extends l.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new p.SortedList((h=>h?.marker.line)),this._onDecorationRegistered=this.register(new f.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new f.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,l.toDisposable)((()=>this.reset())))}registerDecoration(h){if(h.marker.isDisposed)return;let u=new c(h);if(u){let v=u.marker.onDispose((()=>u.dispose()));u.onDispose((()=>{u&&(this._decorations.delete(u)&&this._onDecorationRemoved.fire(u),v.dispose())})),this._decorations.insert(u),this._onDecorationRegistered.fire(u)}return u}reset(){for(let h of this._decorations.values())h.dispose();this._decorations.clear()}*getDecorationsAtCell(h,u,v){let C=0,b=0;for(let y of this._decorations.getKeyIterator(u))C=y.options.x??0,b=C+(y.options.width??1),h>=C&&h<b&&(!v||(y.options.layer??"bottom")===v)&&(yield y)}forEachDecorationAtCell(h,u,v,C){this._decorations.forEachByKey(u,(b=>{g=b.options.x??0,S=g+(b.options.width??1),h>=g&&h<S&&(!v||(b.options.layer??"bottom")===v)&&C(b)}))}}r.DecorationService=_;class c extends l.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=o.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=o.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(h){super(),this.options=h,this.onRenderEmitter=this.register(new f.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=h.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.InstantiationService=r.ServiceCollection=void 0;let o=s(2585),f=s(8343);class l{constructor(...g){this._entries=new Map;for(let[S,_]of g)this.set(S,_)}set(g,S){let _=this._entries.get(g);return this._entries.set(g,S),_}forEach(g){for(let[S,_]of this._entries.entries())g(S,_)}has(g){return this._entries.has(g)}get(g){return this._entries.get(g)}}r.ServiceCollection=l,r.InstantiationService=class{constructor(){this._services=new l,this._services.set(o.IInstantiationService,this)}setService(p,g){this._services.set(p,g)}getService(p){return this._services.get(p)}createInstance(p,...g){let S=(0,f.getServiceDependencies)(p).sort(((d,h)=>d.index-h.index)),_=[];for(let d of S){let h=this._services.get(d.id);if(!h)throw new Error(`[createInstance] ${p.name} depends on UNKNOWN service ${d.id}.`);_.push(h)}let c=S.length>0?S[0].index:g.length;if(g.length!==c)throw new Error(`[createInstance] First service dependency of ${p.name} at position ${c+1} conflicts with ${g.length} static arguments`);return new p(...g,..._)}}},7866:function(a,r,s){var o=this&&this.__decorate||function(c,d,h,u){var v,C=arguments.length,b=C<3?d:u===null?u=Object.getOwnPropertyDescriptor(d,h):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(c,d,h,u);else for(var y=c.length-1;y>=0;y--)(v=c[y])&&(b=(C<3?v(b):C>3?v(d,h,b):v(d,h))||b);return C>3&&b&&Object.defineProperty(d,h,b),b},f=this&&this.__param||function(c,d){return function(h,u){d(h,u,c)}};Object.defineProperty(r,"__esModule",{value:!0}),r.traceCall=r.setTraceLogger=r.LogService=void 0;let l=s(844),p=s(2585),g={trace:p.LogLevelEnum.TRACE,debug:p.LogLevelEnum.DEBUG,info:p.LogLevelEnum.INFO,warn:p.LogLevelEnum.WARN,error:p.LogLevelEnum.ERROR,off:p.LogLevelEnum.OFF},S,_=r.LogService=class extends l.Disposable{get logLevel(){return this._logLevel}constructor(c){super(),this._optionsService=c,this._logLevel=p.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),S=this}_updateLogLevel(){this._logLevel=g[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(c){for(let d=0;d<c.length;d++)typeof c[d]=="function"&&(c[d]=c[d]())}_log(c,d,h){this._evalLazyOptionalParams(h),c.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+d,...h)}trace(c,...d){this._logLevel<=p.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,c,d)}debug(c,...d){this._logLevel<=p.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,c,d)}info(c,...d){this._logLevel<=p.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,c,d)}warn(c,...d){this._logLevel<=p.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,c,d)}error(c,...d){this._logLevel<=p.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,c,d)}};r.LogService=_=o([f(0,p.IOptionsService)],_),r.setTraceLogger=function(c){S=c},r.traceCall=function(c,d,h){if(typeof h.value!="function")throw new Error("not supported");let u=h.value;h.value=function(...v){if(S.logLevel!==p.LogLevelEnum.TRACE)return u.apply(this,v);S.trace(`GlyphRenderer#${u.name}(${v.map((b=>JSON.stringify(b))).join(", ")})`);let C=u.apply(this,v);return S.trace(`GlyphRenderer#${u.name} return`,C),C}}},7302:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.OptionsService=r.DEFAULT_OPTIONS=void 0;let o=s(8460),f=s(844),l=s(6114);r.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:l.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};let p=["normal","bold","100","200","300","400","500","600","700","800","900"];class g extends f.Disposable{constructor(_){super(),this._onOptionChange=this.register(new o.EventEmitter),this.onOptionChange=this._onOptionChange.event;let c={...r.DEFAULT_OPTIONS};for(let d in _)if(d in c)try{let h=_[d];c[d]=this._sanitizeAndValidateOption(d,h)}catch(h){console.error(h)}this.rawOptions=c,this.options={...c},this._setupOptions(),this.register((0,f.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(_,c){return this.onOptionChange((d=>{d===_&&c(this.rawOptions[_])}))}onMultipleOptionChange(_,c){return this.onOptionChange((d=>{_.indexOf(d)!==-1&&c()}))}_setupOptions(){let _=d=>{if(!(d in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);return this.rawOptions[d]},c=(d,h)=>{if(!(d in r.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);h=this._sanitizeAndValidateOption(d,h),this.rawOptions[d]!==h&&(this.rawOptions[d]=h,this._onOptionChange.fire(d))};for(let d in this.rawOptions){let h={get:_.bind(this,d),set:c.bind(this,d)};Object.defineProperty(this.options,d,h)}}_sanitizeAndValidateOption(_,c){switch(_){case"cursorStyle":if(c||(c=r.DEFAULT_OPTIONS[_]),!(function(d){return d==="block"||d==="underline"||d==="bar"})(c))throw new Error(`"${c}" is not a valid value for ${_}`);break;case"wordSeparator":c||(c=r.DEFAULT_OPTIONS[_]);break;case"fontWeight":case"fontWeightBold":if(typeof c=="number"&&1<=c&&c<=1e3)break;c=p.includes(c)?c:r.DEFAULT_OPTIONS[_];break;case"cursorWidth":c=Math.floor(c);case"lineHeight":case"tabStopWidth":if(c<1)throw new Error(`${_} cannot be less than 1, value: ${c}`);break;case"minimumContrastRatio":c=Math.max(1,Math.min(21,Math.round(10*c)/10));break;case"scrollback":if((c=Math.min(c,4294967295))<0)throw new Error(`${_} cannot be less than 0, value: ${c}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(c<=0)throw new Error(`${_} cannot be less than or equal to 0, value: ${c}`);break;case"rows":case"cols":if(!c&&c!==0)throw new Error(`${_} must be numeric, value: ${c}`);break;case"windowsPty":c=c??{}}return c}}r.OptionsService=g},2660:function(a,r,s){var o=this&&this.__decorate||function(g,S,_,c){var d,h=arguments.length,u=h<3?S:c===null?c=Object.getOwnPropertyDescriptor(S,_):c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(g,S,_,c);else for(var v=g.length-1;v>=0;v--)(d=g[v])&&(u=(h<3?d(u):h>3?d(S,_,u):d(S,_))||u);return h>3&&u&&Object.defineProperty(S,_,u),u},f=this&&this.__param||function(g,S){return function(_,c){S(_,c,g)}};Object.defineProperty(r,"__esModule",{value:!0}),r.OscLinkService=void 0;let l=s(2585),p=r.OscLinkService=class{constructor(g){this._bufferService=g,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(g){let S=this._bufferService.buffer;if(g.id===void 0){let v=S.addMarker(S.ybase+S.y),C={data:g,id:this._nextId++,lines:[v]};return v.onDispose((()=>this._removeMarkerFromLink(C,v))),this._dataByLinkId.set(C.id,C),C.id}let _=g,c=this._getEntryIdKey(_),d=this._entriesWithId.get(c);if(d)return this.addLineToLink(d.id,S.ybase+S.y),d.id;let h=S.addMarker(S.ybase+S.y),u={id:this._nextId++,key:this._getEntryIdKey(_),data:_,lines:[h]};return h.onDispose((()=>this._removeMarkerFromLink(u,h))),this._entriesWithId.set(u.key,u),this._dataByLinkId.set(u.id,u),u.id}addLineToLink(g,S){let _=this._dataByLinkId.get(g);if(_&&_.lines.every((c=>c.line!==S))){let c=this._bufferService.buffer.addMarker(S);_.lines.push(c),c.onDispose((()=>this._removeMarkerFromLink(_,c)))}}getLinkData(g){return this._dataByLinkId.get(g)?.data}_getEntryIdKey(g){return`${g.id};;${g.uri}`}_removeMarkerFromLink(g,S){let _=g.lines.indexOf(S);_!==-1&&(g.lines.splice(_,1),g.lines.length===0&&(g.data.id!==void 0&&this._entriesWithId.delete(g.key),this._dataByLinkId.delete(g.id)))}};r.OscLinkService=p=o([f(0,l.IBufferService)],p)},8343:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createDecorator=r.getServiceDependencies=r.serviceRegistry=void 0;let s="di$target",o="di$dependencies";r.serviceRegistry=new Map,r.getServiceDependencies=function(f){return f[o]||[]},r.createDecorator=function(f){if(r.serviceRegistry.has(f))return r.serviceRegistry.get(f);let l=function(p,g,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(_,c,d){c[s]===c?c[o].push({id:_,index:d}):(c[o]=[{id:_,index:d}],c[s]=c)})(l,p,S)};return l.toString=()=>f,r.serviceRegistry.set(f,l),l}},2585:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.IDecorationService=r.IUnicodeService=r.IOscLinkService=r.IOptionsService=r.ILogService=r.LogLevelEnum=r.IInstantiationService=r.ICharsetService=r.ICoreService=r.ICoreMouseService=r.IBufferService=void 0;let o=s(8343);var f;r.IBufferService=(0,o.createDecorator)("BufferService"),r.ICoreMouseService=(0,o.createDecorator)("CoreMouseService"),r.ICoreService=(0,o.createDecorator)("CoreService"),r.ICharsetService=(0,o.createDecorator)("CharsetService"),r.IInstantiationService=(0,o.createDecorator)("InstantiationService"),(function(l){l[l.TRACE=0]="TRACE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.ERROR=4]="ERROR",l[l.OFF=5]="OFF"})(f||(r.LogLevelEnum=f={})),r.ILogService=(0,o.createDecorator)("LogService"),r.IOptionsService=(0,o.createDecorator)("OptionsService"),r.IOscLinkService=(0,o.createDecorator)("OscLinkService"),r.IUnicodeService=(0,o.createDecorator)("UnicodeService"),r.IDecorationService=(0,o.createDecorator)("DecorationService")},1480:(a,r,s)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.UnicodeService=void 0;let o=s(8460),f=s(225);class l{static extractShouldJoin(g){return(1&g)!=0}static extractWidth(g){return g>>1&3}static extractCharKind(g){return g>>3}static createPropertyValue(g,S,_=!1){return(16777215&g)<<3|(3&S)<<1|(_?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new o.EventEmitter,this.onChange=this._onChange.event;let g=new f.UnicodeV6;this.register(g),this._active=g.version,this._activeProvider=g}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(g){if(!this._providers[g])throw new Error(`unknown Unicode version "${g}"`);this._active=g,this._activeProvider=this._providers[g],this._onChange.fire(g)}register(g){this._providers[g.version]=g}wcwidth(g){return this._activeProvider.wcwidth(g)}getStringCellWidth(g){let S=0,_=0,c=g.length;for(let d=0;d<c;++d){let h=g.charCodeAt(d);if(55296<=h&&h<=56319){if(++d>=c)return S+this.wcwidth(h);let C=g.charCodeAt(d);56320<=C&&C<=57343?h=1024*(h-55296)+C-56320+65536:S+=this.wcwidth(C)}let u=this.charProperties(h,_),v=l.extractWidth(u);l.extractShouldJoin(u)&&(v-=l.extractWidth(_)),S+=v,_=u}return S}charProperties(g,S){return this._activeProvider.charProperties(g,S)}}r.UnicodeService=l}},t={};function i(a){var r=t[a];if(r!==void 0)return r.exports;var s=t[a]={exports:{}};return e[a].call(s.exports,s,s.exports,i),s.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.Terminal=void 0;let r=i(9042),s=i(3236),o=i(844),f=i(5741),l=i(8285),p=i(7975),g=i(7090),S=["cols","rows"];class _ extends o.Disposable{constructor(d){super(),this._core=this.register(new s.Terminal(d)),this._addonManager=this.register(new f.AddonManager),this._publicOptions={...this._core.options};let h=v=>this._core.options[v],u=(v,C)=>{this._checkReadonlyOptions(v),this._core.options[v]=C};for(let v in this._core.options){let C={get:h.bind(this,v),set:u.bind(this,v)};Object.defineProperty(this._publicOptions,v,C)}}_checkReadonlyOptions(d){if(S.includes(d))throw new Error(`Option "${d}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new 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 p.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new g.UnicodeApi(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 l.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let d=this._core.coreService.decPrivateModes,h="none";switch(this._core.coreMouseService.activeProtocol){case"X10":h="x10";break;case"VT200":h="vt200";break;case"DRAG":h="drag";break;case"ANY":h="any"}return{applicationCursorKeysMode:d.applicationCursorKeys,applicationKeypadMode:d.applicationKeypad,bracketedPasteMode:d.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:h,originMode:d.origin,reverseWraparoundMode:d.reverseWraparound,sendFocusMode:d.sendFocus,wraparoundMode:d.wraparound}}get options(){return this._publicOptions}set options(d){for(let h in d)this._publicOptions[h]=d[h]}blur(){this._core.blur()}focus(){this._core.focus()}input(d,h=!0){this._core.input(d,h)}resize(d,h){this._verifyIntegers(d,h),this._core.resize(d,h)}open(d){this._core.open(d)}attachCustomKeyEventHandler(d){this._core.attachCustomKeyEventHandler(d)}attachCustomWheelEventHandler(d){this._core.attachCustomWheelEventHandler(d)}registerLinkProvider(d){return this._core.registerLinkProvider(d)}registerCharacterJoiner(d){return this._checkProposedApi(),this._core.registerCharacterJoiner(d)}deregisterCharacterJoiner(d){this._checkProposedApi(),this._core.deregisterCharacterJoiner(d)}registerMarker(d=0){return this._verifyIntegers(d),this._core.registerMarker(d)}registerDecoration(d){return this._checkProposedApi(),this._verifyPositiveIntegers(d.x??0,d.width??0,d.height??0),this._core.registerDecoration(d)}hasSelection(){return this._core.hasSelection()}select(d,h,u){this._verifyIntegers(d,h,u),this._core.select(d,h,u)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(d,h){this._verifyIntegers(d,h),this._core.selectLines(d,h)}dispose(){super.dispose()}scrollLines(d){this._verifyIntegers(d),this._core.scrollLines(d)}scrollPages(d){this._verifyIntegers(d),this._core.scrollPages(d)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(d){this._verifyIntegers(d),this._core.scrollToLine(d)}clear(){this._core.clear()}write(d,h){this._core.write(d,h)}writeln(d,h){this._core.write(d),this._core.write(`\r
9
- `,h)}paste(d){this._core.paste(d)}refresh(d,h){this._verifyIntegers(d,h),this._core.refresh(d,h)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(d){this._addonManager.loadAddon(this,d)}static get strings(){return r}_verifyIntegers(...d){for(let h of d)if(h===1/0||isNaN(h)||h%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...d){for(let h of d)if(h&&(h===1/0||isNaN(h)||h%1!=0||h<0))throw new Error("This API only accepts positive integers")}}a.Terminal=_})(),n})()))});var Pn=Tn((ar,as)=>{(function(e,t){typeof ar=="object"&&typeof as=="object"?as.exports=t():typeof define=="function"&&define.amd?define([],t):typeof ar=="object"?ar.FitAddon=t():e.FitAddon=t()})(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0,t.FitAddon=class{activate(i){this._terminal=i}dispose(){}fit(){let i=this.proposeDimensions();if(!i||!this._terminal||isNaN(i.cols)||isNaN(i.rows))return;let n=this._terminal._core;this._terminal.rows===i.rows&&this._terminal.cols===i.cols||(n._renderService.clear(),this._terminal.resize(i.cols,i.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let i=this._terminal._core,n=i._renderService.dimensions;if(n.css.cell.width===0||n.css.cell.height===0)return;let a=this._terminal.options.scrollback===0?0:i.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(r.getPropertyValue("height")),o=Math.max(0,parseInt(r.getPropertyValue("width"))),f=window.getComputedStyle(this._terminal.element),l=s-(parseInt(f.getPropertyValue("padding-top"))+parseInt(f.getPropertyValue("padding-bottom"))),p=o-(parseInt(f.getPropertyValue("padding-right"))+parseInt(f.getPropertyValue("padding-left")))-a;return{cols:Math.max(2,Math.floor(p/n.css.cell.width)),rows:Math.max(1,Math.floor(l/n.css.cell.height))}}}})(),e})()))});var ja=An(Bn(),1),qa=An(Pn(),1);var Zl=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?On.isErrorNoTelemetry(e)?new On(e.message+`
7
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(m){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),d.isLinux&&m&&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(m){let E=this._getMouseBufferCoords(m),P=this._model.finalSelectionStart,B=this._model.finalSelectionEnd;return!!(P&&B&&E)&&this._areCoordsInSelection(E,P,B)}isCellInSelection(m,E){let P=this._model.finalSelectionStart,B=this._model.finalSelectionEnd;return!(!P||!B)&&this._areCoordsInSelection([m,E],P,B)}_areCoordsInSelection(m,E,P){return m[1]>E[1]&&m[1]<P[1]||E[1]===P[1]&&m[1]===E[1]&&m[0]>=E[0]&&m[0]<P[0]||E[1]<P[1]&&m[1]===P[1]&&m[0]<P[0]||E[1]<P[1]&&m[1]===E[1]&&m[0]>=E[0]}_selectWordAtCursor(m,E){let P=this._linkifier.currentLink?.link?.range;if(P)return this._model.selectionStart=[P.start.x-1,P.start.y-1],this._model.selectionStartLength=(0,h.getRangeLength)(P,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let B=this._getMouseBufferCoords(m);return!!B&&(this._selectWordAt(B,E),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(m,E){this._model.clearSelection(),m=Math.max(m,0),E=Math.min(E,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,m],this._model.selectionEnd=[this._bufferService.cols,E],this.refresh(),this._onSelectionChange.fire()}_handleTrim(m){this._model.handleTrim(m)&&this.refresh()}_getMouseBufferCoords(m){let E=this._mouseService.getCoords(m,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(E)return E[0]--,E[1]--,E[1]+=this._bufferService.buffer.ydisp,E}_getMouseEventScrollAmount(m){let E=(0,l.getCoordsRelativeToElement)(this._coreBrowserService.window,m,this._screenElement)[1],P=this._renderService.dimensions.css.canvas.height;return E>=0&&E<=P?0:(E>P&&(E-=P),E=Math.min(Math.max(E,-50),50),E/=50,E/Math.abs(E)+Math.round(14*E))}shouldForceSelection(m){return d.isMac?m.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:m.shiftKey}handleMouseDown(m){if(this._mouseDownTimeStamp=m.timeStamp,(m.button!==2||!this.hasSelection)&&m.button===0){if(!this._enabled){if(!this.shouldForceSelection(m))return;m.stopPropagation()}m.preventDefault(),this._dragScrollAmount=0,this._enabled&&m.shiftKey?this._handleIncrementalClick(m):m.detail===1?this._handleSingleClick(m):m.detail===2?this._handleDoubleClick(m):m.detail===3&&this._handleTripleClick(m),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()),50)}_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(m){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(m))}_handleSingleClick(m){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(m)?3:0,this._model.selectionStart=this._getMouseBufferCoords(m),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let E=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);E&&E.length!==this._model.selectionStart[0]&&E.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(m){this._selectWordAtCursor(m,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(m){let E=this._getMouseBufferCoords(m);E&&(this._activeSelectionMode=2,this._selectLineAt(E[1]))}shouldColumnSelect(m){return m.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(m){if(m.stopImmediatePropagation(),!this._model.selectionStart)return;let E=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(m),!this._model.selectionEnd)return void this.refresh(!0);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(m),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let P=this._bufferService.buffer;if(this._model.selectionEnd[1]<P.lines.length){let B=P.lines.get(this._model.selectionEnd[1]);B&&B.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}E&&E[0]===this._model.selectionEnd[0]&&E[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 m=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(m.ydisp+this._bufferService.rows,m.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=m.ydisp),this.refresh()}}_handleMouseUp(m){let E=m.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&E<500&&m.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let P=this._mouseService.getCoords(m,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(P&&P[0]!==void 0&&P[1]!==void 0){let B=(0,p.moveToCellSequence)(P[0]-1,P[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(B,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let m=this._model.finalSelectionStart,E=this._model.finalSelectionEnd,P=!(!m||!E||m[0]===E[0]&&m[1]===E[1]);P?m&&E&&(this._oldSelectionStart&&this._oldSelectionEnd&&m[0]===this._oldSelectionStart[0]&&m[1]===this._oldSelectionStart[1]&&E[0]===this._oldSelectionEnd[0]&&E[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(m,E,P)):this._oldHasSelection&&this._fireOnSelectionChange(m,E,P)}_fireOnSelectionChange(m,E,P){this._oldSelectionStart=m,this._oldSelectionEnd=E,this._oldHasSelection=P,this._onSelectionChange.fire()}_handleBufferActivate(m){this.clearSelection(),this._trimListener.dispose(),this._trimListener=m.activeBuffer.lines.onTrim((E=>this._handleTrim(E)))}_convertViewportColToCharacterIndex(m,E){let P=E;for(let B=0;E>=B;B++){let H=m.loadCell(B,this._workCell).getChars().length;this._workCell.getWidth()===0?P--:H>1&&E!==B&&(P+=H-1)}return P}setSelection(m,E,P){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[m,E],this._model.selectionStartLength=P,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(m){this._isClickInSelection(m)||(this._selectWordAtCursor(m,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(m,E,P=!0,B=!0){if(m[0]>=this._bufferService.cols)return;let H=this._bufferService.buffer,R=H.lines.get(m[1]);if(!R)return;let j=H.translateBufferLineToString(m[1],!1),A=this._convertViewportColToCharacterIndex(R,m[0]),T=A,F=m[0]-A,D=0,w=0,L=0,k=0;if(j.charAt(A)===" "){for(;A>0&&j.charAt(A-1)===" ";)A--;for(;T<j.length&&j.charAt(T+1)===" ";)T++}else{let q=m[0],V=m[0];R.getWidth(q)===0&&(D++,q--),R.getWidth(V)===2&&(w++,V++);let Z=R.getString(V).length;for(Z>1&&(k+=Z-1,T+=Z-1);q>0&&A>0&&!this._isCharWordSeparator(R.loadCell(q-1,this._workCell));){R.loadCell(q-1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===0?(D++,q--):I>1&&(L+=I-1,A-=I-1),A--,q--}for(;V<R.length&&T+1<j.length&&!this._isCharWordSeparator(R.loadCell(V+1,this._workCell));){R.loadCell(V+1,this._workCell);let I=this._workCell.getChars().length;this._workCell.getWidth()===2?(w++,V++):I>1&&(k+=I-1,T+=I-1),T++,V++}}T++;let M=A+F-D+L,z=Math.min(this._bufferService.cols,T-A+D+w-L-k);if(E||j.slice(A,T).trim()!==""){if(P&&M===0&&R.getCodePoint(0)!==32){let q=H.lines.get(m[1]-1);if(q&&R.isWrapped&&q.getCodePoint(this._bufferService.cols-1)!==32){let V=this._getWordAt([this._bufferService.cols-1,m[1]-1],!1,!0,!1);if(V){let Z=this._bufferService.cols-V.start;M-=Z,z+=Z}}}if(B&&M+z===this._bufferService.cols&&R.getCodePoint(this._bufferService.cols-1)!==32){let q=H.lines.get(m[1]+1);if(q?.isWrapped&&q.getCodePoint(0)!==32){let V=this._getWordAt([0,m[1]+1],!1,!1,!0);V&&(z+=V.length)}}return{start:M,length:z}}}_selectWordAt(m,E){let P=this._getWordAt(m,E);if(P){for(;P.start<0;)P.start+=this._bufferService.cols,m[1]--;this._model.selectionStart=[P.start,m[1]],this._model.selectionStartLength=P.length}}_selectToWordAt(m){let E=this._getWordAt(m,!0);if(E){let P=m[1];for(;E.start<0;)E.start+=this._bufferService.cols,P--;if(!this._model.areSelectionValuesReversed())for(;E.start+E.length>this._bufferService.cols;)E.length-=this._bufferService.cols,P++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?E.start:E.start+E.length,P]}}_isCharWordSeparator(m){return m.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(m.getChars())>=0}_selectLineAt(m){let E=this._bufferService.buffer.getWrappedRangeForLine(m),P={start:{x:0,y:E.first},end:{x:this._bufferService.cols-1,y:E.last}};this._model.selectionStart=[0,E.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,h.getRangeLength)(P,this._bufferService.cols)}};i.SelectionService=C=o([f(3,v.IBufferService),f(4,v.ICoreService),f(5,S.IMouseService),f(6,v.IOptionsService),f(7,S.IRenderService),f(8,S.ICoreBrowserService)],C)},4725:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ILinkProviderService=i.IThemeService=i.ICharacterJoinerService=i.ISelectionService=i.IRenderService=i.IMouseService=i.ICoreBrowserService=i.ICharSizeService=void 0;let o=s(8343);i.ICharSizeService=(0,o.createDecorator)("CharSizeService"),i.ICoreBrowserService=(0,o.createDecorator)("CoreBrowserService"),i.IMouseService=(0,o.createDecorator)("MouseService"),i.IRenderService=(0,o.createDecorator)("RenderService"),i.ISelectionService=(0,o.createDecorator)("SelectionService"),i.ICharacterJoinerService=(0,o.createDecorator)("CharacterJoinerService"),i.IThemeService=(0,o.createDecorator)("ThemeService"),i.ILinkProviderService=(0,o.createDecorator)("LinkProviderService")},6731:function(a,i,s){var o=this&&this.__decorate||function(C,m,E,P){var B,H=arguments.length,R=H<3?m:P===null?P=Object.getOwnPropertyDescriptor(m,E):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(C,m,E,P);else for(var j=C.length-1;j>=0;j--)(B=C[j])&&(R=(H<3?B(R):H>3?B(m,E,R):B(m,E))||R);return H>3&&R&&Object.defineProperty(m,E,R),R},f=this&&this.__param||function(C,m){return function(E,P){m(E,P,C)}};Object.defineProperty(i,"__esModule",{value:!0}),i.ThemeService=i.DEFAULT_ANSI_COLORS=void 0;let l=s(7239),p=s(8055),g=s(8460),S=s(844),_=s(2585),c=p.css.toColor("#ffffff"),d=p.css.toColor("#000000"),h=p.css.toColor("#ffffff"),u=p.css.toColor("#000000"),v={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};i.DEFAULT_ANSI_COLORS=Object.freeze((()=>{let C=[p.css.toColor("#2e3436"),p.css.toColor("#cc0000"),p.css.toColor("#4e9a06"),p.css.toColor("#c4a000"),p.css.toColor("#3465a4"),p.css.toColor("#75507b"),p.css.toColor("#06989a"),p.css.toColor("#d3d7cf"),p.css.toColor("#555753"),p.css.toColor("#ef2929"),p.css.toColor("#8ae234"),p.css.toColor("#fce94f"),p.css.toColor("#729fcf"),p.css.toColor("#ad7fa8"),p.css.toColor("#34e2e2"),p.css.toColor("#eeeeec")],m=[0,95,135,175,215,255];for(let E=0;E<216;E++){let P=m[E/36%6|0],B=m[E/6%6|0],H=m[E%6];C.push({css:p.channels.toCss(P,B,H),rgba:p.channels.toRgba(P,B,H)})}for(let E=0;E<24;E++){let P=8+10*E;C.push({css:p.channels.toCss(P,P,P),rgba:p.channels.toRgba(P,P,P)})}return C})());let y=i.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(C){super(),this._optionsService=C,this._contrastCache=new l.ColorContrastCache,this._halfContrastCache=new l.ColorContrastCache,this._onChangeColors=this.register(new g.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:c,background:d,cursor:h,cursorAccent:u,selectionForeground:void 0,selectionBackgroundTransparent:v,selectionBackgroundOpaque:p.color.blend(d,v),selectionInactiveBackgroundTransparent:v,selectionInactiveBackgroundOpaque:p.color.blend(d,v),ansi:i.DEFAULT_ANSI_COLORS.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))))}_setTheme(C={}){let m=this._colors;if(m.foreground=b(C.foreground,c),m.background=b(C.background,d),m.cursor=b(C.cursor,h),m.cursorAccent=b(C.cursorAccent,u),m.selectionBackgroundTransparent=b(C.selectionBackground,v),m.selectionBackgroundOpaque=p.color.blend(m.background,m.selectionBackgroundTransparent),m.selectionInactiveBackgroundTransparent=b(C.selectionInactiveBackground,m.selectionBackgroundTransparent),m.selectionInactiveBackgroundOpaque=p.color.blend(m.background,m.selectionInactiveBackgroundTransparent),m.selectionForeground=C.selectionForeground?b(C.selectionForeground,p.NULL_COLOR):void 0,m.selectionForeground===p.NULL_COLOR&&(m.selectionForeground=void 0),p.color.isOpaque(m.selectionBackgroundTransparent)&&(m.selectionBackgroundTransparent=p.color.opacity(m.selectionBackgroundTransparent,.3)),p.color.isOpaque(m.selectionInactiveBackgroundTransparent)&&(m.selectionInactiveBackgroundTransparent=p.color.opacity(m.selectionInactiveBackgroundTransparent,.3)),m.ansi=i.DEFAULT_ANSI_COLORS.slice(),m.ansi[0]=b(C.black,i.DEFAULT_ANSI_COLORS[0]),m.ansi[1]=b(C.red,i.DEFAULT_ANSI_COLORS[1]),m.ansi[2]=b(C.green,i.DEFAULT_ANSI_COLORS[2]),m.ansi[3]=b(C.yellow,i.DEFAULT_ANSI_COLORS[3]),m.ansi[4]=b(C.blue,i.DEFAULT_ANSI_COLORS[4]),m.ansi[5]=b(C.magenta,i.DEFAULT_ANSI_COLORS[5]),m.ansi[6]=b(C.cyan,i.DEFAULT_ANSI_COLORS[6]),m.ansi[7]=b(C.white,i.DEFAULT_ANSI_COLORS[7]),m.ansi[8]=b(C.brightBlack,i.DEFAULT_ANSI_COLORS[8]),m.ansi[9]=b(C.brightRed,i.DEFAULT_ANSI_COLORS[9]),m.ansi[10]=b(C.brightGreen,i.DEFAULT_ANSI_COLORS[10]),m.ansi[11]=b(C.brightYellow,i.DEFAULT_ANSI_COLORS[11]),m.ansi[12]=b(C.brightBlue,i.DEFAULT_ANSI_COLORS[12]),m.ansi[13]=b(C.brightMagenta,i.DEFAULT_ANSI_COLORS[13]),m.ansi[14]=b(C.brightCyan,i.DEFAULT_ANSI_COLORS[14]),m.ansi[15]=b(C.brightWhite,i.DEFAULT_ANSI_COLORS[15]),C.extendedAnsi){let E=Math.min(m.ansi.length-16,C.extendedAnsi.length);for(let P=0;P<E;P++)m.ansi[P+16]=b(C.extendedAnsi[P],i.DEFAULT_ANSI_COLORS[P+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(C){this._restoreColor(C),this._onChangeColors.fire(this.colors)}_restoreColor(C){if(C!==void 0)switch(C){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[C]=this._restoreColors.ansi[C]}else for(let m=0;m<this._restoreColors.ansi.length;++m)this._colors.ansi[m]=this._restoreColors.ansi[m]}modifyColors(C){C(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()}}};function b(C,m){if(C!==void 0)try{return p.css.toColor(C)}catch{}return m}i.ThemeService=y=o([f(0,_.IOptionsService)],y)},6349:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CircularList=void 0;let o=s(8460),f=s(844);class l extends f.Disposable{constructor(g){super(),this._maxLength=g,this.onDeleteEmitter=this.register(new o.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new o.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new o.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(g){if(this._maxLength===g)return;let S=new Array(g);for(let _=0;_<Math.min(g,this.length);_++)S[_]=this._array[this._getCyclicIndex(_)];this._array=S,this._maxLength=g,this._startIndex=0}get length(){return this._length}set length(g){if(g>this._length)for(let S=this._length;S<g;S++)this._array[S]=void 0;this._length=g}get(g){return this._array[this._getCyclicIndex(g)]}set(g,S){this._array[this._getCyclicIndex(g)]=S}push(g){this._array[this._getCyclicIndex(this._length)]=g,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new 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(g,S,..._){if(S){for(let c=g;c<this._length-S;c++)this._array[this._getCyclicIndex(c)]=this._array[this._getCyclicIndex(c+S)];this._length-=S,this.onDeleteEmitter.fire({index:g,amount:S})}for(let c=this._length-1;c>=g;c--)this._array[this._getCyclicIndex(c+_.length)]=this._array[this._getCyclicIndex(c)];for(let c=0;c<_.length;c++)this._array[this._getCyclicIndex(g+c)]=_[c];if(_.length&&this.onInsertEmitter.fire({index:g,amount:_.length}),this._length+_.length>this._maxLength){let c=this._length+_.length-this._maxLength;this._startIndex+=c,this._length=this._maxLength,this.onTrimEmitter.fire(c)}else this._length+=_.length}trimStart(g){g>this._length&&(g=this._length),this._startIndex+=g,this._length-=g,this.onTrimEmitter.fire(g)}shiftElements(g,S,_){if(!(S<=0)){if(g<0||g>=this._length)throw new Error("start argument out of range");if(g+_<0)throw new Error("Cannot shift elements in list beyond index 0");if(_>0){for(let d=S-1;d>=0;d--)this.set(g+d+_,this.get(g+d));let c=g+S+_-this._length;if(c>0)for(this._length+=c;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let c=0;c<S;c++)this.set(g+c+_,this.get(g+c))}}_getCyclicIndex(g){return(this._startIndex+g)%this._maxLength}}i.CircularList=l},1439:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.clone=void 0,i.clone=function s(o,f=5){if(typeof o!="object")return o;let l=Array.isArray(o)?[]:{};for(let p in o)l[p]=f<=1?o[p]:o[p]&&s(o[p],f-1);return l}},8055:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.contrastRatio=i.toPaddedHex=i.rgba=i.rgb=i.css=i.color=i.channels=i.NULL_COLOR=void 0;let s=0,o=0,f=0,l=0;var p,g,S,_,c;function d(u){let v=u.toString(16);return v.length<2?"0"+v:v}function h(u,v){return u<v?(v+.05)/(u+.05):(u+.05)/(v+.05)}i.NULL_COLOR={css:"#00000000",rgba:0},(function(u){u.toCss=function(v,y,b,C){return C!==void 0?`#${d(v)}${d(y)}${d(b)}${d(C)}`:`#${d(v)}${d(y)}${d(b)}`},u.toRgba=function(v,y,b,C=255){return(v<<24|y<<16|b<<8|C)>>>0},u.toColor=function(v,y,b,C){return{css:u.toCss(v,y,b,C),rgba:u.toRgba(v,y,b,C)}}})(p||(i.channels=p={})),(function(u){function v(y,b){return l=Math.round(255*b),[s,o,f]=c.toChannels(y.rgba),{css:p.toCss(s,o,f,l),rgba:p.toRgba(s,o,f,l)}}u.blend=function(y,b){if(l=(255&b.rgba)/255,l===1)return{css:b.css,rgba:b.rgba};let C=b.rgba>>24&255,m=b.rgba>>16&255,E=b.rgba>>8&255,P=y.rgba>>24&255,B=y.rgba>>16&255,H=y.rgba>>8&255;return s=P+Math.round((C-P)*l),o=B+Math.round((m-B)*l),f=H+Math.round((E-H)*l),{css:p.toCss(s,o,f),rgba:p.toRgba(s,o,f)}},u.isOpaque=function(y){return(255&y.rgba)==255},u.ensureContrastRatio=function(y,b,C){let m=c.ensureContrastRatio(y.rgba,b.rgba,C);if(m)return p.toColor(m>>24&255,m>>16&255,m>>8&255)},u.opaque=function(y){let b=(255|y.rgba)>>>0;return[s,o,f]=c.toChannels(b),{css:p.toCss(s,o,f),rgba:b}},u.opacity=v,u.multiplyOpacity=function(y,b){return l=255&y.rgba,v(y,l*b/255)},u.toColorRGB=function(y){return[y.rgba>>24&255,y.rgba>>16&255,y.rgba>>8&255]}})(g||(i.color=g={})),(function(u){let v,y;try{let b=document.createElement("canvas");b.width=1,b.height=1;let C=b.getContext("2d",{willReadFrequently:!0});C&&(v=C,v.globalCompositeOperation="copy",y=v.createLinearGradient(0,0,1,1))}catch{}u.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return s=parseInt(b.slice(1,2).repeat(2),16),o=parseInt(b.slice(2,3).repeat(2),16),f=parseInt(b.slice(3,4).repeat(2),16),p.toColor(s,o,f);case 5:return s=parseInt(b.slice(1,2).repeat(2),16),o=parseInt(b.slice(2,3).repeat(2),16),f=parseInt(b.slice(3,4).repeat(2),16),l=parseInt(b.slice(4,5).repeat(2),16),p.toColor(s,o,f,l);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}let C=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(C)return s=parseInt(C[1]),o=parseInt(C[2]),f=parseInt(C[3]),l=Math.round(255*(C[5]===void 0?1:parseFloat(C[5]))),p.toColor(s,o,f,l);if(!v||!y)throw new Error("css.toColor: Unsupported css format");if(v.fillStyle=y,v.fillStyle=b,typeof v.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(v.fillRect(0,0,1,1),[s,o,f,l]=v.getImageData(0,0,1,1).data,l!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:p.toRgba(s,o,f,l),css:b}}})(S||(i.css=S={})),(function(u){function v(y,b,C){let m=y/255,E=b/255,P=C/255;return .2126*(m<=.03928?m/12.92:Math.pow((m+.055)/1.055,2.4))+.7152*(E<=.03928?E/12.92:Math.pow((E+.055)/1.055,2.4))+.0722*(P<=.03928?P/12.92:Math.pow((P+.055)/1.055,2.4))}u.relativeLuminance=function(y){return v(y>>16&255,y>>8&255,255&y)},u.relativeLuminance2=v})(_||(i.rgb=_={})),(function(u){function v(b,C,m){let E=b>>24&255,P=b>>16&255,B=b>>8&255,H=C>>24&255,R=C>>16&255,j=C>>8&255,A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));for(;A<m&&(H>0||R>0||j>0);)H-=Math.max(0,Math.ceil(.1*H)),R-=Math.max(0,Math.ceil(.1*R)),j-=Math.max(0,Math.ceil(.1*j)),A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));return(H<<24|R<<16|j<<8|255)>>>0}function y(b,C,m){let E=b>>24&255,P=b>>16&255,B=b>>8&255,H=C>>24&255,R=C>>16&255,j=C>>8&255,A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));for(;A<m&&(H<255||R<255||j<255);)H=Math.min(255,H+Math.ceil(.1*(255-H))),R=Math.min(255,R+Math.ceil(.1*(255-R))),j=Math.min(255,j+Math.ceil(.1*(255-j))),A=h(_.relativeLuminance2(H,R,j),_.relativeLuminance2(E,P,B));return(H<<24|R<<16|j<<8|255)>>>0}u.blend=function(b,C){if(l=(255&C)/255,l===1)return C;let m=C>>24&255,E=C>>16&255,P=C>>8&255,B=b>>24&255,H=b>>16&255,R=b>>8&255;return s=B+Math.round((m-B)*l),o=H+Math.round((E-H)*l),f=R+Math.round((P-R)*l),p.toRgba(s,o,f)},u.ensureContrastRatio=function(b,C,m){let E=_.relativeLuminance(b>>8),P=_.relativeLuminance(C>>8);if(h(E,P)<m){if(P<E){let R=v(b,C,m),j=h(E,_.relativeLuminance(R>>8));if(j<m){let A=y(b,C,m);return j>h(E,_.relativeLuminance(A>>8))?R:A}return R}let B=y(b,C,m),H=h(E,_.relativeLuminance(B>>8));if(H<m){let R=v(b,C,m);return H>h(E,_.relativeLuminance(R>>8))?B:R}return B}},u.reduceLuminance=v,u.increaseLuminance=y,u.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}})(c||(i.rgba=c={})),i.toPaddedHex=d,i.contrastRatio=h},8969:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CoreTerminal=void 0;let o=s(844),f=s(2585),l=s(4348),p=s(7866),g=s(744),S=s(7302),_=s(6975),c=s(8460),d=s(1753),h=s(1480),u=s(7994),v=s(9282),y=s(5435),b=s(5981),C=s(2660),m=!1;class E extends o.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new c.EventEmitter),this._onScroll.event((B=>{this._onScrollApi?.fire(B.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(B){for(let H in B)this.optionsService.options[H]=B[H]}constructor(B){super(),this._windowsWrappingHeuristics=this.register(new o.MutableDisposable),this._onBinary=this.register(new c.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new c.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new c.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new c.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new c.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new c.EventEmitter),this._instantiationService=new l.InstantiationService,this.optionsService=this.register(new S.OptionsService(B)),this._instantiationService.setService(f.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(g.BufferService)),this._instantiationService.setService(f.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(p.LogService)),this._instantiationService.setService(f.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(_.CoreService)),this._instantiationService.setService(f.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(f.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(h.UnicodeService)),this._instantiationService.setService(f.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(u.CharsetService),this._instantiationService.setService(f.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(C.OscLinkService),this._instantiationService.setService(f.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new y.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,c.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,c.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,c.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,c.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((H=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((H=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new b.WriteBuffer(((H,R)=>this._inputHandler.parse(H,R)))),this.register((0,c.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(B,H){this._writeBuffer.write(B,H)}writeSync(B,H){this._logService.logLevel<=f.LogLevelEnum.WARN&&!m&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m=!0),this._writeBuffer.writeSync(B,H)}input(B,H=!0){this.coreService.triggerDataEvent(B,H)}resize(B,H){isNaN(B)||isNaN(H)||(B=Math.max(B,g.MINIMUM_COLS),H=Math.max(H,g.MINIMUM_ROWS),this._bufferService.resize(B,H))}scroll(B,H=!1){this._bufferService.scroll(B,H)}scrollLines(B,H,R){this._bufferService.scrollLines(B,H,R)}scrollPages(B){this.scrollLines(B*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(B){let H=B-this._bufferService.buffer.ydisp;H!==0&&this.scrollLines(H)}registerEscHandler(B,H){return this._inputHandler.registerEscHandler(B,H)}registerDcsHandler(B,H){return this._inputHandler.registerDcsHandler(B,H)}registerCsiHandler(B,H){return this._inputHandler.registerCsiHandler(B,H)}registerOscHandler(B,H){return this._inputHandler.registerOscHandler(B,H)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let B=!1,H=this.optionsService.rawOptions.windowsPty;H&&H.buildNumber!==void 0&&H.buildNumber!==void 0?B=H.backend==="conpty"&&H.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(B=!0),B?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let B=[];B.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),B.push(this.registerCsiHandler({final:"H"},(()=>((0,v.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,o.toDisposable)((()=>{for(let H of B)H.dispose()}))}}}i.CoreTerminal=E},8460:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.runAndSubscribe=i.forwardEvent=i.EventEmitter=void 0,i.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=s=>(this._listeners.push(s),{dispose:()=>{if(!this._disposed){for(let o=0;o<this._listeners.length;o++)if(this._listeners[o]===s)return void this._listeners.splice(o,1)}}})),this._event}fire(s,o){let f=[];for(let l=0;l<this._listeners.length;l++)f.push(this._listeners[l]);for(let l=0;l<f.length;l++)f[l].call(void 0,s,o)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},i.forwardEvent=function(s,o){return s((f=>o.fire(f)))},i.runAndSubscribe=function(s,o){return o(void 0),s((f=>o(f)))}},5435:function(a,i,s){var o=this&&this.__decorate||function(D,w,L,k){var M,z=arguments.length,q=z<3?w:k===null?k=Object.getOwnPropertyDescriptor(w,L):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")q=Reflect.decorate(D,w,L,k);else for(var V=D.length-1;V>=0;V--)(M=D[V])&&(q=(z<3?M(q):z>3?M(w,L,q):M(w,L))||q);return z>3&&q&&Object.defineProperty(w,L,q),q},f=this&&this.__param||function(D,w){return function(L,k){w(L,k,D)}};Object.defineProperty(i,"__esModule",{value:!0}),i.InputHandler=i.WindowsOptionsReportType=void 0;let l=s(2584),p=s(7116),g=s(2015),S=s(844),_=s(482),c=s(8437),d=s(8460),h=s(643),u=s(511),v=s(3734),y=s(2585),b=s(1480),C=s(6242),m=s(6351),E=s(5941),P={"(":0,")":1,"*":2,"+":3,"-":1,".":2},B=131072;function H(D,w){if(D>24)return w.setWinLines||!1;switch(D){case 1:return!!w.restoreWin;case 2:return!!w.minimizeWin;case 3:return!!w.setWinPosition;case 4:return!!w.setWinSizePixels;case 5:return!!w.raiseWin;case 6:return!!w.lowerWin;case 7:return!!w.refreshWin;case 8:return!!w.setWinSizeChars;case 9:return!!w.maximizeWin;case 10:return!!w.fullscreenWin;case 11:return!!w.getWinState;case 13:return!!w.getWinPosition;case 14:return!!w.getWinSizePixels;case 15:return!!w.getScreenSizePixels;case 16:return!!w.getCellSizePixels;case 18:return!!w.getWinSizeChars;case 19:return!!w.getScreenSizeChars;case 20:return!!w.getIconTitle;case 21:return!!w.getWinTitle;case 22:return!!w.pushTitle;case 23:return!!w.popTitle;case 24:return!!w.setWinLines}return!1}var R;(function(D){D[D.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",D[D.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(R||(i.WindowsOptionsReportType=R={}));let j=0;class A extends S.Disposable{getAttrData(){return this._curAttrData}constructor(w,L,k,M,z,q,V,Z,I=new g.EscapeSequenceParser){super(),this._bufferService=w,this._charsetService=L,this._coreService=k,this._logService=M,this._optionsService=z,this._oscLinkService=q,this._coreMouseService=V,this._unicodeService=Z,this._parser=I,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new _.StringToUtf32,this._utf8Decoder=new _.Utf8ToUtf32,this._workCell=new u.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.EventEmitter),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 T(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((x=>this._activeBuffer=x.activeBuffer))),this._parser.setCsiHandlerFallback(((x,O)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(x),params:O.toArray()})})),this._parser.setEscHandlerFallback((x=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(x)})})),this._parser.setExecuteHandlerFallback((x=>{this._logService.debug("Unknown EXECUTE code: ",{code:x})})),this._parser.setOscHandlerFallback(((x,O,N)=>{this._logService.debug("Unknown OSC code: ",{identifier:x,action:O,data:N})})),this._parser.setDcsHandlerFallback(((x,O,N)=>{O==="HOOK"&&(N=N.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(x),action:O,payload:N})})),this._parser.setPrintHandler(((x,O,N)=>this.print(x,O,N))),this._parser.registerCsiHandler({final:"@"},(x=>this.insertChars(x))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(x=>this.scrollLeft(x))),this._parser.registerCsiHandler({final:"A"},(x=>this.cursorUp(x))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(x=>this.scrollRight(x))),this._parser.registerCsiHandler({final:"B"},(x=>this.cursorDown(x))),this._parser.registerCsiHandler({final:"C"},(x=>this.cursorForward(x))),this._parser.registerCsiHandler({final:"D"},(x=>this.cursorBackward(x))),this._parser.registerCsiHandler({final:"E"},(x=>this.cursorNextLine(x))),this._parser.registerCsiHandler({final:"F"},(x=>this.cursorPrecedingLine(x))),this._parser.registerCsiHandler({final:"G"},(x=>this.cursorCharAbsolute(x))),this._parser.registerCsiHandler({final:"H"},(x=>this.cursorPosition(x))),this._parser.registerCsiHandler({final:"I"},(x=>this.cursorForwardTab(x))),this._parser.registerCsiHandler({final:"J"},(x=>this.eraseInDisplay(x,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(x=>this.eraseInDisplay(x,!0))),this._parser.registerCsiHandler({final:"K"},(x=>this.eraseInLine(x,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(x=>this.eraseInLine(x,!0))),this._parser.registerCsiHandler({final:"L"},(x=>this.insertLines(x))),this._parser.registerCsiHandler({final:"M"},(x=>this.deleteLines(x))),this._parser.registerCsiHandler({final:"P"},(x=>this.deleteChars(x))),this._parser.registerCsiHandler({final:"S"},(x=>this.scrollUp(x))),this._parser.registerCsiHandler({final:"T"},(x=>this.scrollDown(x))),this._parser.registerCsiHandler({final:"X"},(x=>this.eraseChars(x))),this._parser.registerCsiHandler({final:"Z"},(x=>this.cursorBackwardTab(x))),this._parser.registerCsiHandler({final:"`"},(x=>this.charPosAbsolute(x))),this._parser.registerCsiHandler({final:"a"},(x=>this.hPositionRelative(x))),this._parser.registerCsiHandler({final:"b"},(x=>this.repeatPrecedingCharacter(x))),this._parser.registerCsiHandler({final:"c"},(x=>this.sendDeviceAttributesPrimary(x))),this._parser.registerCsiHandler({prefix:">",final:"c"},(x=>this.sendDeviceAttributesSecondary(x))),this._parser.registerCsiHandler({final:"d"},(x=>this.linePosAbsolute(x))),this._parser.registerCsiHandler({final:"e"},(x=>this.vPositionRelative(x))),this._parser.registerCsiHandler({final:"f"},(x=>this.hVPosition(x))),this._parser.registerCsiHandler({final:"g"},(x=>this.tabClear(x))),this._parser.registerCsiHandler({final:"h"},(x=>this.setMode(x))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(x=>this.setModePrivate(x))),this._parser.registerCsiHandler({final:"l"},(x=>this.resetMode(x))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(x=>this.resetModePrivate(x))),this._parser.registerCsiHandler({final:"m"},(x=>this.charAttributes(x))),this._parser.registerCsiHandler({final:"n"},(x=>this.deviceStatus(x))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(x=>this.deviceStatusPrivate(x))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(x=>this.softReset(x))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(x=>this.setCursorStyle(x))),this._parser.registerCsiHandler({final:"r"},(x=>this.setScrollRegion(x))),this._parser.registerCsiHandler({final:"s"},(x=>this.saveCursor(x))),this._parser.registerCsiHandler({final:"t"},(x=>this.windowOptions(x))),this._parser.registerCsiHandler({final:"u"},(x=>this.restoreCursor(x))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(x=>this.insertColumns(x))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(x=>this.deleteColumns(x))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(x=>this.selectProtected(x))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(x=>this.requestMode(x,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(x=>this.requestMode(x,!1))),this._parser.setExecuteHandler(l.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(l.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(l.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(l.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(l.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(l.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(l.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(l.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(l.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(l.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new C.OscHandler((x=>(this.setTitle(x),this.setIconName(x),!0)))),this._parser.registerOscHandler(1,new C.OscHandler((x=>this.setIconName(x)))),this._parser.registerOscHandler(2,new C.OscHandler((x=>this.setTitle(x)))),this._parser.registerOscHandler(4,new C.OscHandler((x=>this.setOrReportIndexedColor(x)))),this._parser.registerOscHandler(8,new C.OscHandler((x=>this.setHyperlink(x)))),this._parser.registerOscHandler(10,new C.OscHandler((x=>this.setOrReportFgColor(x)))),this._parser.registerOscHandler(11,new C.OscHandler((x=>this.setOrReportBgColor(x)))),this._parser.registerOscHandler(12,new C.OscHandler((x=>this.setOrReportCursorColor(x)))),this._parser.registerOscHandler(104,new C.OscHandler((x=>this.restoreIndexedColor(x)))),this._parser.registerOscHandler(110,new C.OscHandler((x=>this.restoreFgColor(x)))),this._parser.registerOscHandler(111,new C.OscHandler((x=>this.restoreBgColor(x)))),this._parser.registerOscHandler(112,new C.OscHandler((x=>this.restoreCursorColor(x)))),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 x in p.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:x},(()=>this.selectCharset("("+x))),this._parser.registerEscHandler({intermediates:")",final:x},(()=>this.selectCharset(")"+x))),this._parser.registerEscHandler({intermediates:"*",final:x},(()=>this.selectCharset("*"+x))),this._parser.registerEscHandler({intermediates:"+",final:x},(()=>this.selectCharset("+"+x))),this._parser.registerEscHandler({intermediates:"-",final:x},(()=>this.selectCharset("-"+x))),this._parser.registerEscHandler({intermediates:".",final:x},(()=>this.selectCharset("."+x))),this._parser.registerEscHandler({intermediates:"/",final:x},(()=>this.selectCharset("/"+x)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((x=>(this._logService.error("Parsing error: ",x),x))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new m.DcsHandler(((x,O)=>this.requestStatusString(x,O))))}_preserveStack(w,L,k,M){this._parseStack.paused=!0,this._parseStack.cursorStartX=w,this._parseStack.cursorStartY=L,this._parseStack.decodedLength=k,this._parseStack.position=M}_logSlowResolvingAsync(w){this._logService.logLevel<=y.LogLevelEnum.WARN&&Promise.race([w,new Promise(((L,k)=>setTimeout((()=>k("#SLOW_TIMEOUT")),5e3)))]).catch((L=>{if(L!=="#SLOW_TIMEOUT")throw L;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(w,L){let k,M=this._activeBuffer.x,z=this._activeBuffer.y,q=0,V=this._parseStack.paused;if(V){if(k=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,L))return this._logSlowResolvingAsync(k),k;M=this._parseStack.cursorStartX,z=this._parseStack.cursorStartY,this._parseStack.paused=!1,w.length>B&&(q=this._parseStack.position+B)}if(this._logService.logLevel<=y.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof w=="string"?` "${w}"`:` "${Array.prototype.map.call(w,(x=>String.fromCharCode(x))).join("")}"`),typeof w=="string"?w.split("").map((x=>x.charCodeAt(0))):w),this._parseBuffer.length<w.length&&this._parseBuffer.length<B&&(this._parseBuffer=new Uint32Array(Math.min(w.length,B))),V||this._dirtyRowTracker.clearRange(),w.length>B)for(let x=q;x<w.length;x+=B){let O=x+B<w.length?x+B:w.length,N=typeof w=="string"?this._stringDecoder.decode(w.substring(x,O),this._parseBuffer):this._utf8Decoder.decode(w.subarray(x,O),this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,N))return this._preserveStack(M,z,N,x),this._logSlowResolvingAsync(k),k}else if(!V){let x=typeof w=="string"?this._stringDecoder.decode(w,this._parseBuffer):this._utf8Decoder.decode(w,this._parseBuffer);if(k=this._parser.parse(this._parseBuffer,x))return this._preserveStack(M,z,x,0),this._logSlowResolvingAsync(k),k}this._activeBuffer.x===M&&this._activeBuffer.y===z||this._onCursorMove.fire();let Z=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),I=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);I<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(I,this._bufferService.rows-1),Math.min(Z,this._bufferService.rows-1))}print(w,L,k){let M,z,q=this._charsetService.charset,V=this._optionsService.rawOptions.screenReaderMode,Z=this._bufferService.cols,I=this._coreService.decPrivateModes.wraparound,x=this._coreService.modes.insertMode,O=this._curAttrData,N=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&k-L>0&&N.getWidth(this._activeBuffer.x-1)===2&&N.setCellFromCodepoint(this._activeBuffer.x-1,0,1,O);let $=this._parser.precedingJoinState;for(let U=L;U<k;++U){if(M=w[U],M<127&&q){let Q=q[String.fromCharCode(M)];Q&&(M=Q.charCodeAt(0))}let X=this._unicodeService.charProperties(M,$);z=b.UnicodeService.extractWidth(X);let te=b.UnicodeService.extractShouldJoin(X),re=te?b.UnicodeService.extractWidth($):0;if($=X,V&&this._onA11yChar.fire((0,_.stringFromCodePoint)(M)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+z-re>Z){if(I){let Q=N,K=this._activeBuffer.x-re;for(this._activeBuffer.x=re,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),N=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),re>0&&N instanceof c.BufferLine&&N.copyCellsFrom(Q,K,0,re,!1);K<Z;)Q.setCellFromCodepoint(K++,0,1,O)}else if(this._activeBuffer.x=Z-1,z===2)continue}if(te&&this._activeBuffer.x){let Q=N.getWidth(this._activeBuffer.x-1)?1:2;N.addCodepointToCell(this._activeBuffer.x-Q,M,z);for(let K=z-re;--K>=0;)N.setCellFromCodepoint(this._activeBuffer.x++,0,0,O)}else if(x&&(N.insertCells(this._activeBuffer.x,z-re,this._activeBuffer.getNullCell(O)),N.getWidth(Z-1)===2&&N.setCellFromCodepoint(Z-1,h.NULL_CELL_CODE,h.NULL_CELL_WIDTH,O)),N.setCellFromCodepoint(this._activeBuffer.x++,M,z,O),z>0)for(;--z;)N.setCellFromCodepoint(this._activeBuffer.x++,0,0,O)}this._parser.precedingJoinState=$,this._activeBuffer.x<Z&&k-L>0&&N.getWidth(this._activeBuffer.x)===0&&!N.hasContent(this._activeBuffer.x)&&N.setCellFromCodepoint(this._activeBuffer.x,0,1,O),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(w,L){return w.final!=="t"||w.prefix||w.intermediates?this._parser.registerCsiHandler(w,L):this._parser.registerCsiHandler(w,(k=>!H(k.params[0],this._optionsService.rawOptions.windowOptions)||L(k)))}registerDcsHandler(w,L){return this._parser.registerDcsHandler(w,new m.DcsHandler(L))}registerEscHandler(w,L){return this._parser.registerEscHandler(w,L)}registerOscHandler(w,L){return this._parser.registerOscHandler(w,new C.OscHandler(L))}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 w=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);w.hasWidth(this._activeBuffer.x)&&!w.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let w=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-w),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(w=this._bufferService.cols-1){this._activeBuffer.x=Math.min(w,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(w,L){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=w,this._activeBuffer.y=this._activeBuffer.scrollTop+L):(this._activeBuffer.x=w,this._activeBuffer.y=L),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(w,L){this._restrictCursor(),this._setCursor(this._activeBuffer.x+w,this._activeBuffer.y+L)}cursorUp(w){let L=this._activeBuffer.y-this._activeBuffer.scrollTop;return L>=0?this._moveCursor(0,-Math.min(L,w.params[0]||1)):this._moveCursor(0,-(w.params[0]||1)),!0}cursorDown(w){let L=this._activeBuffer.scrollBottom-this._activeBuffer.y;return L>=0?this._moveCursor(0,Math.min(L,w.params[0]||1)):this._moveCursor(0,w.params[0]||1),!0}cursorForward(w){return this._moveCursor(w.params[0]||1,0),!0}cursorBackward(w){return this._moveCursor(-(w.params[0]||1),0),!0}cursorNextLine(w){return this.cursorDown(w),this._activeBuffer.x=0,!0}cursorPrecedingLine(w){return this.cursorUp(w),this._activeBuffer.x=0,!0}cursorCharAbsolute(w){return this._setCursor((w.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(w){return this._setCursor(w.length>=2?(w.params[1]||1)-1:0,(w.params[0]||1)-1),!0}charPosAbsolute(w){return this._setCursor((w.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(w){return this._moveCursor(w.params[0]||1,0),!0}linePosAbsolute(w){return this._setCursor(this._activeBuffer.x,(w.params[0]||1)-1),!0}vPositionRelative(w){return this._moveCursor(0,w.params[0]||1),!0}hVPosition(w){return this.cursorPosition(w),!0}tabClear(w){let L=w.params[0];return L===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:L===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(w){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let L=w.params[0]||1;for(;L--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(w){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let L=w.params[0]||1;for(;L--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(w){let L=w.params[0];return L===1&&(this._curAttrData.bg|=536870912),L!==2&&L!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(w,L,k,M=!1,z=!1){let q=this._activeBuffer.lines.get(this._activeBuffer.ybase+w);q.replaceCells(L,k,this._activeBuffer.getNullCell(this._eraseAttrData()),z),M&&(q.isWrapped=!1)}_resetBufferLine(w,L=!1){let k=this._activeBuffer.lines.get(this._activeBuffer.ybase+w);k&&(k.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),L),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+w),k.isWrapped=!1)}eraseInDisplay(w,L=!1){let k;switch(this._restrictCursor(this._bufferService.cols),w.params[0]){case 0:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,L);k<this._bufferService.rows;k++)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(k);break;case 1:for(k=this._activeBuffer.y,this._dirtyRowTracker.markDirty(k),this._eraseInBufferLine(k,0,this._activeBuffer.x+1,!0,L),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(k+1).isWrapped=!1);k--;)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(0);break;case 2:for(k=this._bufferService.rows,this._dirtyRowTracker.markDirty(k-1);k--;)this._resetBufferLine(k,L);this._dirtyRowTracker.markDirty(0);break;case 3:let M=this._activeBuffer.lines.length-this._bufferService.rows;M>0&&(this._activeBuffer.lines.trimStart(M),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-M,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-M,0),this._onScroll.fire(0))}return!0}eraseInLine(w,L=!1){switch(this._restrictCursor(this._bufferService.cols),w.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,L);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,L);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,L)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(w){this._restrictCursor();let L=w.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,M=this._bufferService.rows-1-this._activeBuffer.scrollBottom,z=this._bufferService.rows-1+this._activeBuffer.ybase-M+1;for(;L--;)this._activeBuffer.lines.splice(z-1,1),this._activeBuffer.lines.splice(k,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(w){this._restrictCursor();let L=w.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let k=this._activeBuffer.ybase+this._activeBuffer.y,M;for(M=this._bufferService.rows-1-this._activeBuffer.scrollBottom,M=this._bufferService.rows-1+this._activeBuffer.ybase-M;L--;)this._activeBuffer.lines.splice(k,1),this._activeBuffer.lines.splice(M,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.insertCells(this._activeBuffer.x,w.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.deleteCells(this._activeBuffer.x,w.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(w){let L=w.params[0]||1;for(;L--;)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(w){let L=w.params[0]||1;for(;L--;)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(c.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.deleteCells(0,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.insertCells(0,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.insertCells(this._activeBuffer.x,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(w){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let L=w.params[0]||1;for(let k=this._activeBuffer.scrollTop;k<=this._activeBuffer.scrollBottom;++k){let M=this._activeBuffer.lines.get(this._activeBuffer.ybase+k);M.deleteCells(this._activeBuffer.x,L,this._activeBuffer.getNullCell(this._eraseAttrData())),M.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(w){this._restrictCursor();let L=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return L&&(L.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(w.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(w){let L=this._parser.precedingJoinState;if(!L)return!0;let k=w.params[0]||1,M=b.UnicodeService.extractWidth(L),z=this._activeBuffer.x-M,q=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(z),V=new Uint32Array(q.length*k),Z=0;for(let x=0;x<q.length;){let O=q.codePointAt(x)||0;V[Z++]=O,x+=O>65535?2:1}let I=Z;for(let x=1;x<k;++x)V.copyWithin(I,0,Z),I+=Z;return this.print(V,0,I),!0}sendDeviceAttributesPrimary(w){return w.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(l.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(l.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(w){return w.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(l.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(l.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(w.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(l.C0.ESC+"[>83;40003;0c")),!0}_is(w){return(this._optionsService.rawOptions.termName+"").indexOf(w)===0}setMode(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,p.DEFAULT_CHARSET),this._charsetService.setgCharset(1,p.DEFAULT_CHARSET),this._charsetService.setgCharset(2,p.DEFAULT_CHARSET),this._charsetService.setgCharset(3,p.DEFAULT_CHARSET);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 1e3: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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(w){for(let L=0;L<w.length;L++)switch(w.params[L]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(w){for(let L=0;L<w.length;L++)switch(w.params[L]){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 1e3: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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),w.params[L]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(w,L){let k=this._coreService.decPrivateModes,{activeProtocol:M,activeEncoding:z}=this._coreMouseService,q=this._coreService,{buffers:V,cols:Z}=this._bufferService,{active:I,alt:x}=V,O=this._optionsService.rawOptions,N=te=>te?1:2,$=w.params[0];return U=$,X=L?$===2?4:$===4?N(q.modes.insertMode):$===12?3:$===20?N(O.convertEol):0:$===1?N(k.applicationCursorKeys):$===3?O.windowOptions.setWinLines?Z===80?2:Z===132?1:0:0:$===6?N(k.origin):$===7?N(k.wraparound):$===8?3:$===9?N(M==="X10"):$===12?N(O.cursorBlink):$===25?N(!q.isCursorHidden):$===45?N(k.reverseWraparound):$===66?N(k.applicationKeypad):$===67?4:$===1e3?N(M==="VT200"):$===1002?N(M==="DRAG"):$===1003?N(M==="ANY"):$===1004?N(k.sendFocus):$===1005?4:$===1006?N(z==="SGR"):$===1015?4:$===1016?N(z==="SGR_PIXELS"):$===1048?1:$===47||$===1047||$===1049?N(I===x):$===2004?N(k.bracketedPasteMode):0,q.triggerDataEvent(`${l.C0.ESC}[${L?"":"?"}${U};${X}$y`),!0;var U,X}_updateAttrColor(w,L,k,M,z){return L===2?(w|=50331648,w&=-16777216,w|=v.AttributeData.fromColorRGB([k,M,z])):L===5&&(w&=-50331904,w|=33554432|255&k),w}_extractColor(w,L,k){let M=[0,0,-1,0,0,0],z=0,q=0;do{if(M[q+z]=w.params[L+q],w.hasSubParams(L+q)){let V=w.getSubParams(L+q),Z=0;do M[1]===5&&(z=1),M[q+Z+1+z]=V[Z];while(++Z<V.length&&Z+q+1+z<M.length);break}if(M[1]===5&&q+z>=2||M[1]===2&&q+z>=5)break;M[1]&&(z=1)}while(++q+L<w.length&&q+z<M.length);for(let V=2;V<M.length;++V)M[V]===-1&&(M[V]=0);switch(M[0]){case 38:k.fg=this._updateAttrColor(k.fg,M[1],M[3],M[4],M[5]);break;case 48:k.bg=this._updateAttrColor(k.bg,M[1],M[3],M[4],M[5]);break;case 58:k.extended=k.extended.clone(),k.extended.underlineColor=this._updateAttrColor(k.extended.underlineColor,M[1],M[3],M[4],M[5])}return q}_processUnderline(w,L){L.extended=L.extended.clone(),(!~w||w>5)&&(w=1),L.extended.underlineStyle=w,L.fg|=268435456,w===0&&(L.fg&=-268435457),L.updateExtended()}_processSGR0(w){w.fg=c.DEFAULT_ATTR_DATA.fg,w.bg=c.DEFAULT_ATTR_DATA.bg,w.extended=w.extended.clone(),w.extended.underlineStyle=0,w.extended.underlineColor&=-67108864,w.updateExtended()}charAttributes(w){if(w.length===1&&w.params[0]===0)return this._processSGR0(this._curAttrData),!0;let L=w.length,k,M=this._curAttrData;for(let z=0;z<L;z++)k=w.params[z],k>=30&&k<=37?(M.fg&=-50331904,M.fg|=16777216|k-30):k>=40&&k<=47?(M.bg&=-50331904,M.bg|=16777216|k-40):k>=90&&k<=97?(M.fg&=-50331904,M.fg|=16777224|k-90):k>=100&&k<=107?(M.bg&=-50331904,M.bg|=16777224|k-100):k===0?this._processSGR0(M):k===1?M.fg|=134217728:k===3?M.bg|=67108864:k===4?(M.fg|=268435456,this._processUnderline(w.hasSubParams(z)?w.getSubParams(z)[0]:1,M)):k===5?M.fg|=536870912:k===7?M.fg|=67108864:k===8?M.fg|=1073741824:k===9?M.fg|=2147483648:k===2?M.bg|=134217728:k===21?this._processUnderline(2,M):k===22?(M.fg&=-134217729,M.bg&=-134217729):k===23?M.bg&=-67108865:k===24?(M.fg&=-268435457,this._processUnderline(0,M)):k===25?M.fg&=-536870913:k===27?M.fg&=-67108865:k===28?M.fg&=-1073741825:k===29?M.fg&=2147483647:k===39?(M.fg&=-67108864,M.fg|=16777215&c.DEFAULT_ATTR_DATA.fg):k===49?(M.bg&=-67108864,M.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):k===38||k===48||k===58?z+=this._extractColor(w,z,M):k===53?M.bg|=1073741824:k===55?M.bg&=-1073741825:k===59?(M.extended=M.extended.clone(),M.extended.underlineColor=-1,M.updateExtended()):k===100?(M.fg&=-67108864,M.fg|=16777215&c.DEFAULT_ATTR_DATA.fg,M.bg&=-67108864,M.bg|=16777215&c.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",k);return!0}deviceStatus(w){switch(w.params[0]){case 5:this._coreService.triggerDataEvent(`${l.C0.ESC}[0n`);break;case 6:let L=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${l.C0.ESC}[${L};${k}R`)}return!0}deviceStatusPrivate(w){if(w.params[0]===6){let L=this._activeBuffer.y+1,k=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${l.C0.ESC}[?${L};${k}R`)}return!0}softReset(w){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=c.DEFAULT_ATTR_DATA.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(w){let L=w.params[0]||1;switch(L){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}let k=L%2==1;return this._optionsService.options.cursorBlink=k,!0}setScrollRegion(w){let L=w.params[0]||1,k;return(w.length<2||(k=w.params[1])>this._bufferService.rows||k===0)&&(k=this._bufferService.rows),k>L&&(this._activeBuffer.scrollTop=L-1,this._activeBuffer.scrollBottom=k-1,this._setCursor(0,0)),!0}windowOptions(w){if(!H(w.params[0],this._optionsService.rawOptions.windowOptions))return!0;let L=w.length>1?w.params[1]:0;switch(w.params[0]){case 14:L!==2&&this._onRequestWindowsOptionsReport.fire(R.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(R.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${l.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:L!==0&&L!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),L!==0&&L!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:L!==0&&L!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),L!==0&&L!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(w){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(w){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(w){return this._windowTitle=w,this._onTitleChange.fire(w),!0}setIconName(w){return this._iconName=w,!0}setOrReportIndexedColor(w){let L=[],k=w.split(";");for(;k.length>1;){let M=k.shift(),z=k.shift();if(/^\d+$/.exec(M)){let q=parseInt(M);if(F(q))if(z==="?")L.push({type:0,index:q});else{let V=(0,E.parseColor)(z);V&&L.push({type:1,index:q,color:V})}}}return L.length&&this._onColor.fire(L),!0}setHyperlink(w){let L=w.split(";");return!(L.length<2)&&(L[1]?this._createHyperlink(L[0],L[1]):!L[0]&&this._finishHyperlink())}_createHyperlink(w,L){this._getCurrentLinkId()&&this._finishHyperlink();let k=w.split(":"),M,z=k.findIndex((q=>q.startsWith("id=")));return z!==-1&&(M=k[z].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:M,uri:L}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(w,L){let k=w.split(";");for(let M=0;M<k.length&&!(L>=this._specialColors.length);++M,++L)if(k[M]==="?")this._onColor.fire([{type:0,index:this._specialColors[L]}]);else{let z=(0,E.parseColor)(k[M]);z&&this._onColor.fire([{type:1,index:this._specialColors[L],color:z}])}return!0}setOrReportFgColor(w){return this._setOrReportSpecialColor(w,0)}setOrReportBgColor(w){return this._setOrReportSpecialColor(w,1)}setOrReportCursorColor(w){return this._setOrReportSpecialColor(w,2)}restoreIndexedColor(w){if(!w)return this._onColor.fire([{type:2}]),!0;let L=[],k=w.split(";");for(let M=0;M<k.length;++M)if(/^\d+$/.exec(k[M])){let z=parseInt(k[M]);F(z)&&L.push({type:2,index:z})}return L.length&&this._onColor.fire(L),!0}restoreFgColor(w){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(w){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(w){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,p.DEFAULT_CHARSET),!0}selectCharset(w){return w.length!==2?(this.selectDefaultCharset(),!0):(w[0]==="/"||this._charsetService.setgCharset(P[w[0]],p.CHARSETS[w[1]]||p.DEFAULT_CHARSET),!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 w=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,w,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=c.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=c.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(w){return this._charsetService.setgLevel(w),!0}screenAlignmentPattern(){let w=new u.CellData;w.content=4194373,w.fg=this._curAttrData.fg,w.bg=this._curAttrData.bg,this._setCursor(0,0);for(let L=0;L<this._bufferService.rows;++L){let k=this._activeBuffer.ybase+this._activeBuffer.y+L,M=this._activeBuffer.lines.get(k);M&&(M.fill(w),M.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(w,L){let k=this._bufferService.buffer,M=this._optionsService.rawOptions;return(z=>(this._coreService.triggerDataEvent(`${l.C0.ESC}${z}${l.C0.ESC}\\`),!0))(w==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:w==='"p'?'P1$r61;1"p':w==="r"?`P1$r${k.scrollTop+1};${k.scrollBottom+1}r`:w==="m"?"P1$r0m":w===" q"?`P1$r${{block:2,underline:4,bar:6}[M.cursorStyle]-(M.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(w,L){this._dirtyRowTracker.markRangeDirty(w,L)}}i.InputHandler=A;let T=class{constructor(D){this._bufferService=D,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(D){D<this.start?this.start=D:D>this.end&&(this.end=D)}markRangeDirty(D,w){D>w&&(j=D,D=w,w=j),D<this.start&&(this.start=D),w>this.end&&(this.end=w)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function F(D){return 0<=D&&D<256}T=o([f(0,y.IBufferService)],T)},844:(a,i)=>{function s(o){for(let f of o)f.dispose();o.length=0}Object.defineProperty(i,"__esModule",{value:!0}),i.getDisposeArrayDisposable=i.disposeArray=i.toDisposable=i.MutableDisposable=i.Disposable=void 0,i.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let o of this._disposables)o.dispose();this._disposables.length=0}register(o){return this._disposables.push(o),o}unregister(o){let f=this._disposables.indexOf(o);f!==-1&&this._disposables.splice(f,1)}},i.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(o){this._isDisposed||o===this._value||(this._value?.dispose(),this._value=o)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},i.toDisposable=function(o){return{dispose:o}},i.disposeArray=s,i.getDisposeArrayDisposable=function(o){return{dispose:()=>s(o)}}},1505:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.FourKeyMap=i.TwoKeyMap=void 0;class s{constructor(){this._data={}}set(f,l,p){this._data[f]||(this._data[f]={}),this._data[f][l]=p}get(f,l){return this._data[f]?this._data[f][l]:void 0}clear(){this._data={}}}i.TwoKeyMap=s,i.FourKeyMap=class{constructor(){this._data=new s}set(o,f,l,p,g){this._data.get(o,f)||this._data.set(o,f,new s),this._data.get(o,f).set(l,p,g)}get(o,f,l,p){return this._data.get(o,f)?.get(l,p)}clear(){this._data.clear()}}},6114:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.isChromeOS=i.isLinux=i.isWindows=i.isIphone=i.isIpad=i.isMac=i.getSafariVersion=i.isSafari=i.isLegacyEdge=i.isFirefox=i.isNode=void 0,i.isNode=typeof process<"u"&&"title"in process;let s=i.isNode?"node":navigator.userAgent,o=i.isNode?"node":navigator.platform;i.isFirefox=s.includes("Firefox"),i.isLegacyEdge=s.includes("Edge"),i.isSafari=/^((?!chrome|android).)*safari/i.test(s),i.getSafariVersion=function(){if(!i.isSafari)return 0;let f=s.match(/Version\/(\d+)/);return f===null||f.length<2?0:parseInt(f[1])},i.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(o),i.isIpad=o==="iPad",i.isIphone=o==="iPhone",i.isWindows=["Windows","Win16","Win32","WinCE"].includes(o),i.isLinux=o.indexOf("Linux")>=0,i.isChromeOS=/\bCrOS\b/.test(s)},6106:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.SortedList=void 0;let s=0;i.SortedList=class{constructor(o){this._getKey=o,this._array=[]}clear(){this._array.length=0}insert(o){this._array.length!==0?(s=this._search(this._getKey(o)),this._array.splice(s,0,o)):this._array.push(o)}delete(o){if(this._array.length===0)return!1;let f=this._getKey(o);if(f===void 0||(s=this._search(f),s===-1)||this._getKey(this._array[s])!==f)return!1;do if(this._array[s]===o)return this._array.splice(s,1),!0;while(++s<this._array.length&&this._getKey(this._array[s])===f);return!1}*getKeyIterator(o){if(this._array.length!==0&&(s=this._search(o),!(s<0||s>=this._array.length)&&this._getKey(this._array[s])===o))do yield this._array[s];while(++s<this._array.length&&this._getKey(this._array[s])===o)}forEachByKey(o,f){if(this._array.length!==0&&(s=this._search(o),!(s<0||s>=this._array.length)&&this._getKey(this._array[s])===o))do f(this._array[s]);while(++s<this._array.length&&this._getKey(this._array[s])===o)}values(){return[...this._array].values()}_search(o){let f=0,l=this._array.length-1;for(;l>=f;){let p=f+l>>1,g=this._getKey(this._array[p]);if(g>o)l=p-1;else{if(!(g<o)){for(;p>0&&this._getKey(this._array[p-1])===o;)p--;return p}f=p+1}}return f}}},7226:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.DebouncedIdleTask=i.IdleTaskQueue=i.PriorityTaskQueue=void 0;let o=s(6114);class f{constructor(){this._tasks=[],this._i=0}enqueue(g){this._tasks.push(g),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(g){this._idleCallback=void 0;let S=0,_=0,c=g.timeRemaining(),d=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),_=Math.max(S,_),d=g.timeRemaining(),1.5*_>d)return c-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(c-S))}ms`),void this._start();c=d}this.clear()}}class l extends f{_requestCallback(g){return setTimeout((()=>g(this._createDeadline(16))))}_cancelCallback(g){clearTimeout(g)}_createDeadline(g){let S=Date.now()+g;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}i.PriorityTaskQueue=l,i.IdleTaskQueue=!o.isNode&&"requestIdleCallback"in window?class extends f{_requestCallback(p){return requestIdleCallback(p)}_cancelCallback(p){cancelIdleCallback(p)}}:l,i.DebouncedIdleTask=class{constructor(){this._queue=new i.IdleTaskQueue}set(p){this._queue.clear(),this._queue.enqueue(p)}flush(){this._queue.flush()}}},9282:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.updateWindowsModeWrappedState=void 0;let o=s(643);i.updateWindowsModeWrappedState=function(f){let l=f.buffer.lines.get(f.buffer.ybase+f.buffer.y-1),p=l?.get(f.cols-1),g=f.buffer.lines.get(f.buffer.ybase+f.buffer.y);g&&p&&(g.isWrapped=p[o.CHAR_DATA_CODE_INDEX]!==o.NULL_CELL_CODE&&p[o.CHAR_DATA_CODE_INDEX]!==o.WHITESPACE_CELL_CODE)}},3734:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ExtendedAttrs=i.AttributeData=void 0;class s{constructor(){this.fg=0,this.bg=0,this.extended=new o}static toColorRGB(l){return[l>>>16&255,l>>>8&255,255&l]}static fromColorRGB(l){return(255&l[0])<<16|(255&l[1])<<8|255&l[2]}clone(){let l=new s;return l.fg=this.fg,l.bg=this.bg,l.extended=this.extended.clone(),l}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}i.AttributeData=s;class o{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(l){this._ext=l}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(l){this._ext&=-469762049,this._ext|=l<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(l){this._ext&=-67108864,this._ext|=67108863&l}get urlId(){return this._urlId}set urlId(l){this._urlId=l}get underlineVariantOffset(){let l=(3758096384&this._ext)>>29;return l<0?4294967288^l:l}set underlineVariantOffset(l){this._ext&=536870911,this._ext|=l<<29&3758096384}constructor(l=0,p=0){this._ext=0,this._urlId=0,this._ext=l,this._urlId=p}clone(){return new o(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}i.ExtendedAttrs=o},9092:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.Buffer=i.MAX_BUFFER_SIZE=void 0;let o=s(6349),f=s(7226),l=s(3734),p=s(8437),g=s(4634),S=s(511),_=s(643),c=s(4863),d=s(7116);i.MAX_BUFFER_SIZE=4294967295,i.Buffer=class{constructor(h,u,v){this._hasScrollback=h,this._optionsService=u,this._bufferService=v,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=p.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,_.NULL_CELL_CHAR,_.NULL_CELL_WIDTH,_.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,_.WHITESPACE_CELL_CHAR,_.WHITESPACE_CELL_WIDTH,_.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new f.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new o.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(h){return h?(this._nullCell.fg=h.fg,this._nullCell.bg=h.bg,this._nullCell.extended=h.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new l.ExtendedAttrs),this._nullCell}getWhitespaceCell(h){return h?(this._whitespaceCell.fg=h.fg,this._whitespaceCell.bg=h.bg,this._whitespaceCell.extended=h.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new l.ExtendedAttrs),this._whitespaceCell}getBlankLine(h,u){return new p.BufferLine(this._bufferService.cols,this.getNullCell(h),u)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let h=this.ybase+this.y-this.ydisp;return h>=0&&h<this._rows}_getCorrectBufferLength(h){if(!this._hasScrollback)return h;let u=h+this._optionsService.rawOptions.scrollback;return u>i.MAX_BUFFER_SIZE?i.MAX_BUFFER_SIZE:u}fillViewportRows(h){if(this.lines.length===0){h===void 0&&(h=p.DEFAULT_ATTR_DATA);let u=this._rows;for(;u--;)this.lines.push(this.getBlankLine(h))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new o.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(h,u){let v=this.getNullCell(p.DEFAULT_ATTR_DATA),y=0,b=this._getCorrectBufferLength(u);if(b>this.lines.maxLength&&(this.lines.maxLength=b),this.lines.length>0){if(this._cols<h)for(let m=0;m<this.lines.length;m++)y+=+this.lines.get(m).resize(h,v);let C=0;if(this._rows<u)for(let m=this._rows;m<u;m++)this.lines.length<u+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new p.BufferLine(h,v)):this.ybase>0&&this.lines.length<=this.ybase+this.y+C+1?(this.ybase--,C++,this.ydisp>0&&this.ydisp--):this.lines.push(new p.BufferLine(h,v)));else for(let m=this._rows;m>u;m--)this.lines.length>u+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(b<this.lines.maxLength){let m=this.lines.length-b;m>0&&(this.lines.trimStart(m),this.ybase=Math.max(this.ybase-m,0),this.ydisp=Math.max(this.ydisp-m,0),this.savedY=Math.max(this.savedY-m,0)),this.lines.maxLength=b}this.x=Math.min(this.x,h-1),this.y=Math.min(this.y,u-1),C&&(this.y+=C),this.savedX=Math.min(this.savedX,h-1),this.scrollTop=0}if(this.scrollBottom=u-1,this._isReflowEnabled&&(this._reflow(h,u),this._cols>h))for(let C=0;C<this.lines.length;C++)y+=+this.lines.get(C).resize(h,v);this._cols=h,this._rows=u,this._memoryCleanupQueue.clear(),y>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let h=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,h=!1);let u=0;for(;this._memoryCleanupPosition<this.lines.length;)if(u+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),u>100)return!0;return h}get _isReflowEnabled(){let h=this._optionsService.rawOptions.windowsPty;return h&&h.buildNumber?this._hasScrollback&&h.backend==="conpty"&&h.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(h,u){this._cols!==h&&(h>this._cols?this._reflowLarger(h,u):this._reflowSmaller(h,u))}_reflowLarger(h,u){let v=(0,g.reflowLargerGetLinesToRemove)(this.lines,this._cols,h,this.ybase+this.y,this.getNullCell(p.DEFAULT_ATTR_DATA));if(v.length>0){let y=(0,g.reflowLargerCreateNewLayout)(this.lines,v);(0,g.reflowLargerApplyNewLayout)(this.lines,y.layout),this._reflowLargerAdjustViewport(h,u,y.countRemoved)}}_reflowLargerAdjustViewport(h,u,v){let y=this.getNullCell(p.DEFAULT_ATTR_DATA),b=v;for(;b-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<u&&this.lines.push(new p.BufferLine(h,y))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-v,0)}_reflowSmaller(h,u){let v=this.getNullCell(p.DEFAULT_ATTR_DATA),y=[],b=0;for(let C=this.lines.length-1;C>=0;C--){let m=this.lines.get(C);if(!m||!m.isWrapped&&m.getTrimmedLength()<=h)continue;let E=[m];for(;m.isWrapped&&C>0;)m=this.lines.get(--C),E.unshift(m);let P=this.ybase+this.y;if(P>=C&&P<C+E.length)continue;let B=E[E.length-1].getTrimmedLength(),H=(0,g.reflowSmallerGetNewLineLengths)(E,this._cols,h),R=H.length-E.length,j;j=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+R):Math.max(0,this.lines.length-this.lines.maxLength+R);let A=[];for(let k=0;k<R;k++){let M=this.getBlankLine(p.DEFAULT_ATTR_DATA,!0);A.push(M)}A.length>0&&(y.push({start:C+E.length+b,newLines:A}),b+=A.length),E.push(...A);let T=H.length-1,F=H[T];F===0&&(T--,F=H[T]);let D=E.length-R-1,w=B;for(;D>=0;){let k=Math.min(w,F);if(E[T]===void 0)break;if(E[T].copyCellsFrom(E[D],w-k,F-k,k,!0),F-=k,F===0&&(T--,F=H[T]),w-=k,w===0){D--;let M=Math.max(D,0);w=(0,g.getWrappedLineTrimmedLength)(E,M,this._cols)}}for(let k=0;k<E.length;k++)H[k]<h&&E[k].setCell(H[k],v);let L=R-j;for(;L-- >0;)this.ybase===0?this.y<u-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+b)-u&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+R,this.ybase+u-1)}if(y.length>0){let C=[],m=[];for(let T=0;T<this.lines.length;T++)m.push(this.lines.get(T));let E=this.lines.length,P=E-1,B=0,H=y[B];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+b);let R=0;for(let T=Math.min(this.lines.maxLength-1,E+b-1);T>=0;T--)if(H&&H.start>P+R){for(let F=H.newLines.length-1;F>=0;F--)this.lines.set(T--,H.newLines[F]);T++,C.push({index:P+1,amount:H.newLines.length}),R+=H.newLines.length,H=y[++B]}else this.lines.set(T,m[P--]);let j=0;for(let T=C.length-1;T>=0;T--)C[T].index+=j,this.lines.onInsertEmitter.fire(C[T]),j+=C[T].amount;let A=Math.max(0,E+b-this.lines.maxLength);A>0&&this.lines.onTrimEmitter.fire(A)}}translateBufferLineToString(h,u,v=0,y){let b=this.lines.get(h);return b?b.translateToString(u,v,y):""}getWrappedRangeForLine(h){let u=h,v=h;for(;u>0&&this.lines.get(u).isWrapped;)u--;for(;v+1<this.lines.length&&this.lines.get(v+1).isWrapped;)v++;return{first:u,last:v}}setupTabStops(h){for(h!=null?this.tabs[h]||(h=this.prevStop(h)):(this.tabs={},h=0);h<this._cols;h+=this._optionsService.rawOptions.tabStopWidth)this.tabs[h]=!0}prevStop(h){for(h==null&&(h=this.x);!this.tabs[--h]&&h>0;);return h>=this._cols?this._cols-1:h<0?0:h}nextStop(h){for(h==null&&(h=this.x);!this.tabs[++h]&&h<this._cols;);return h>=this._cols?this._cols-1:h<0?0:h}clearMarkers(h){this._isClearing=!0;for(let u=0;u<this.markers.length;u++)this.markers[u].line===h&&(this.markers[u].dispose(),this.markers.splice(u--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let h=0;h<this.markers.length;h++)this.markers[h].dispose(),this.markers.splice(h--,1);this._isClearing=!1}addMarker(h){let u=new c.Marker(h);return this.markers.push(u),u.register(this.lines.onTrim((v=>{u.line-=v,u.line<0&&u.dispose()}))),u.register(this.lines.onInsert((v=>{u.line>=v.index&&(u.line+=v.amount)}))),u.register(this.lines.onDelete((v=>{u.line>=v.index&&u.line<v.index+v.amount&&u.dispose(),u.line>v.index&&(u.line-=v.amount)}))),u.register(u.onDispose((()=>this._removeMarker(u)))),u}_removeMarker(h){this._isClearing||this.markers.splice(this.markers.indexOf(h),1)}}},8437:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.BufferLine=i.DEFAULT_ATTR_DATA=void 0;let o=s(3734),f=s(511),l=s(643),p=s(482);i.DEFAULT_ATTR_DATA=Object.freeze(new o.AttributeData);let g=0;class S{constructor(c,d,h=!1){this.isWrapped=h,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*c);let u=d||f.CellData.fromCharData([0,l.NULL_CELL_CHAR,l.NULL_CELL_WIDTH,l.NULL_CELL_CODE]);for(let v=0;v<c;++v)this.setCell(v,u);this.length=c}get(c){let d=this._data[3*c+0],h=2097151&d;return[this._data[3*c+1],2097152&d?this._combined[c]:h?(0,p.stringFromCodePoint)(h):"",d>>22,2097152&d?this._combined[c].charCodeAt(this._combined[c].length-1):h]}set(c,d){this._data[3*c+1]=d[l.CHAR_DATA_ATTR_INDEX],d[l.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[c]=d[1],this._data[3*c+0]=2097152|c|d[l.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*c+0]=d[l.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|d[l.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(c){return this._data[3*c+0]>>22}hasWidth(c){return 12582912&this._data[3*c+0]}getFg(c){return this._data[3*c+1]}getBg(c){return this._data[3*c+2]}hasContent(c){return 4194303&this._data[3*c+0]}getCodePoint(c){let d=this._data[3*c+0];return 2097152&d?this._combined[c].charCodeAt(this._combined[c].length-1):2097151&d}isCombined(c){return 2097152&this._data[3*c+0]}getString(c){let d=this._data[3*c+0];return 2097152&d?this._combined[c]:2097151&d?(0,p.stringFromCodePoint)(2097151&d):""}isProtected(c){return 536870912&this._data[3*c+2]}loadCell(c,d){return g=3*c,d.content=this._data[g+0],d.fg=this._data[g+1],d.bg=this._data[g+2],2097152&d.content&&(d.combinedData=this._combined[c]),268435456&d.bg&&(d.extended=this._extendedAttrs[c]),d}setCell(c,d){2097152&d.content&&(this._combined[c]=d.combinedData),268435456&d.bg&&(this._extendedAttrs[c]=d.extended),this._data[3*c+0]=d.content,this._data[3*c+1]=d.fg,this._data[3*c+2]=d.bg}setCellFromCodepoint(c,d,h,u){268435456&u.bg&&(this._extendedAttrs[c]=u.extended),this._data[3*c+0]=d|h<<22,this._data[3*c+1]=u.fg,this._data[3*c+2]=u.bg}addCodepointToCell(c,d,h){let u=this._data[3*c+0];2097152&u?this._combined[c]+=(0,p.stringFromCodePoint)(d):2097151&u?(this._combined[c]=(0,p.stringFromCodePoint)(2097151&u)+(0,p.stringFromCodePoint)(d),u&=-2097152,u|=2097152):u=d|4194304,h&&(u&=-12582913,u|=h<<22),this._data[3*c+0]=u}insertCells(c,d,h){if((c%=this.length)&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length-c){let u=new f.CellData;for(let v=this.length-c-d-1;v>=0;--v)this.setCell(c+d+v,this.loadCell(c+v,u));for(let v=0;v<d;++v)this.setCell(c+v,h)}else for(let u=c;u<this.length;++u)this.setCell(u,h);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,h)}deleteCells(c,d,h){if(c%=this.length,d<this.length-c){let u=new f.CellData;for(let v=0;v<this.length-c-d;++v)this.setCell(c+v,this.loadCell(c+d+v,u));for(let v=this.length-d;v<this.length;++v)this.setCell(v,h)}else for(let u=c;u<this.length;++u)this.setCell(u,h);c&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),this.getWidth(c)!==0||this.hasContent(c)||this.setCellFromCodepoint(c,0,1,h)}replaceCells(c,d,h,u=!1){if(u)for(c&&this.getWidth(c-1)===2&&!this.isProtected(c-1)&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length&&this.getWidth(d-1)===2&&!this.isProtected(d)&&this.setCellFromCodepoint(d,0,1,h);c<d&&c<this.length;)this.isProtected(c)||this.setCell(c,h),c++;else for(c&&this.getWidth(c-1)===2&&this.setCellFromCodepoint(c-1,0,1,h),d<this.length&&this.getWidth(d-1)===2&&this.setCellFromCodepoint(d,0,1,h);c<d&&c<this.length;)this.setCell(c++,h)}resize(c,d){if(c===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let h=3*c;if(c>this.length){if(this._data.buffer.byteLength>=4*h)this._data=new Uint32Array(this._data.buffer,0,h);else{let u=new Uint32Array(h);u.set(this._data),this._data=u}for(let u=this.length;u<c;++u)this.setCell(u,d)}else{this._data=this._data.subarray(0,h);let u=Object.keys(this._combined);for(let y=0;y<u.length;y++){let b=parseInt(u[y],10);b>=c&&delete this._combined[b]}let v=Object.keys(this._extendedAttrs);for(let y=0;y<v.length;y++){let b=parseInt(v[y],10);b>=c&&delete this._extendedAttrs[b]}}return this.length=c,4*h*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let c=new Uint32Array(this._data.length);return c.set(this._data),this._data=c,1}return 0}fill(c,d=!1){if(d)for(let h=0;h<this.length;++h)this.isProtected(h)||this.setCell(h,c);else{this._combined={},this._extendedAttrs={};for(let h=0;h<this.length;++h)this.setCell(h,c)}}copyFrom(c){this.length!==c.length?this._data=new Uint32Array(c._data):this._data.set(c._data),this.length=c.length,this._combined={};for(let d in c._combined)this._combined[d]=c._combined[d];this._extendedAttrs={};for(let d in c._extendedAttrs)this._extendedAttrs[d]=c._extendedAttrs[d];this.isWrapped=c.isWrapped}clone(){let c=new S(0);c._data=new Uint32Array(this._data),c.length=this.length;for(let d in this._combined)c._combined[d]=this._combined[d];for(let d in this._extendedAttrs)c._extendedAttrs[d]=this._extendedAttrs[d];return c.isWrapped=this.isWrapped,c}getTrimmedLength(){for(let c=this.length-1;c>=0;--c)if(4194303&this._data[3*c+0])return c+(this._data[3*c+0]>>22);return 0}getNoBgTrimmedLength(){for(let c=this.length-1;c>=0;--c)if(4194303&this._data[3*c+0]||50331648&this._data[3*c+2])return c+(this._data[3*c+0]>>22);return 0}copyCellsFrom(c,d,h,u,v){let y=c._data;if(v)for(let C=u-1;C>=0;C--){for(let m=0;m<3;m++)this._data[3*(h+C)+m]=y[3*(d+C)+m];268435456&y[3*(d+C)+2]&&(this._extendedAttrs[h+C]=c._extendedAttrs[d+C])}else for(let C=0;C<u;C++){for(let m=0;m<3;m++)this._data[3*(h+C)+m]=y[3*(d+C)+m];268435456&y[3*(d+C)+2]&&(this._extendedAttrs[h+C]=c._extendedAttrs[d+C])}let b=Object.keys(c._combined);for(let C=0;C<b.length;C++){let m=parseInt(b[C],10);m>=d&&(this._combined[m-d+h]=c._combined[m])}}translateToString(c,d,h,u){d=d??0,h=h??this.length,c&&(h=Math.min(h,this.getTrimmedLength())),u&&(u.length=0);let v="";for(;d<h;){let y=this._data[3*d+0],b=2097151&y,C=2097152&y?this._combined[d]:b?(0,p.stringFromCodePoint)(b):l.WHITESPACE_CELL_CHAR;if(v+=C,u)for(let m=0;m<C.length;++m)u.push(d);d+=y>>22||1}return u&&u.push(d),v}}i.BufferLine=S},4841:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.getRangeLength=void 0,i.getRangeLength=function(s,o){if(s.start.y>s.end.y)throw new Error(`Buffer range end (${s.end.x}, ${s.end.y}) cannot be before start (${s.start.x}, ${s.start.y})`);return o*(s.end.y-s.start.y)+(s.end.x-s.start.x+1)}},4634:(a,i)=>{function s(o,f,l){if(f===o.length-1)return o[f].getTrimmedLength();let p=!o[f].hasContent(l-1)&&o[f].getWidth(l-1)===1,g=o[f+1].getWidth(0)===2;return p&&g?l-1:l}Object.defineProperty(i,"__esModule",{value:!0}),i.getWrappedLineTrimmedLength=i.reflowSmallerGetNewLineLengths=i.reflowLargerApplyNewLayout=i.reflowLargerCreateNewLayout=i.reflowLargerGetLinesToRemove=void 0,i.reflowLargerGetLinesToRemove=function(o,f,l,p,g){let S=[];for(let _=0;_<o.length-1;_++){let c=_,d=o.get(++c);if(!d.isWrapped)continue;let h=[o.get(_)];for(;c<o.length&&d.isWrapped;)h.push(d),d=o.get(++c);if(p>=_&&p<c){_+=h.length-1;continue}let u=0,v=s(h,u,f),y=1,b=0;for(;y<h.length;){let m=s(h,y,f),E=m-b,P=l-v,B=Math.min(E,P);h[u].copyCellsFrom(h[y],b,v,B,!1),v+=B,v===l&&(u++,v=0),b+=B,b===m&&(y++,b=0),v===0&&u!==0&&h[u-1].getWidth(l-1)===2&&(h[u].copyCellsFrom(h[u-1],l-1,v++,1,!1),h[u-1].setCell(l-1,g))}h[u].replaceCells(v,l,g);let C=0;for(let m=h.length-1;m>0&&(m>u||h[m].getTrimmedLength()===0);m--)C++;C>0&&(S.push(_+h.length-C),S.push(C)),_+=h.length-1}return S},i.reflowLargerCreateNewLayout=function(o,f){let l=[],p=0,g=f[p],S=0;for(let _=0;_<o.length;_++)if(g===_){let c=f[++p];o.onDeleteEmitter.fire({index:_-S,amount:c}),_+=c-1,S+=c,g=f[++p]}else l.push(_);return{layout:l,countRemoved:S}},i.reflowLargerApplyNewLayout=function(o,f){let l=[];for(let p=0;p<f.length;p++)l.push(o.get(f[p]));for(let p=0;p<l.length;p++)o.set(p,l[p]);o.length=f.length},i.reflowSmallerGetNewLineLengths=function(o,f,l){let p=[],g=o.map(((d,h)=>s(o,h,f))).reduce(((d,h)=>d+h)),S=0,_=0,c=0;for(;c<g;){if(g-c<l){p.push(g-c);break}S+=l;let d=s(o,_,f);S>d&&(S-=d,_++);let h=o[_].getWidth(S-1)===2;h&&S--;let u=h?l-1:l;p.push(u),c+=u}return p},i.getWrappedLineTrimmedLength=s},5295:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.BufferSet=void 0;let o=s(8460),f=s(844),l=s(9092);class p extends f.Disposable{constructor(S,_){super(),this._optionsService=S,this._bufferService=_,this._onBufferActivate=this.register(new o.EventEmitter),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 l.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new l.Buffer(!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(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),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(S,_){this._normal.resize(S,_),this._alt.resize(S,_),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}i.BufferSet=p},511:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CellData=void 0;let o=s(482),f=s(643),l=s(3734);class p extends l.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new l.ExtendedAttrs,this.combinedData=""}static fromCharData(S){let _=new p;return _.setFromCharData(S),_}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,o.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[f.CHAR_DATA_ATTR_INDEX],this.bg=0;let _=!1;if(S[f.CHAR_DATA_CHAR_INDEX].length>2)_=!0;else if(S[f.CHAR_DATA_CHAR_INDEX].length===2){let c=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=c&&c<=56319){let d=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=d&&d<=57343?this.content=1024*(c-55296)+d-56320+65536|S[f.CHAR_DATA_WIDTH_INDEX]<<22:_=!0}else _=!0}else this.content=S[f.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[f.CHAR_DATA_WIDTH_INDEX]<<22;_&&(this.combinedData=S[f.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[f.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}i.CellData=p},643:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.WHITESPACE_CELL_CODE=i.WHITESPACE_CELL_WIDTH=i.WHITESPACE_CELL_CHAR=i.NULL_CELL_CODE=i.NULL_CELL_WIDTH=i.NULL_CELL_CHAR=i.CHAR_DATA_CODE_INDEX=i.CHAR_DATA_WIDTH_INDEX=i.CHAR_DATA_CHAR_INDEX=i.CHAR_DATA_ATTR_INDEX=i.DEFAULT_EXT=i.DEFAULT_ATTR=i.DEFAULT_COLOR=void 0,i.DEFAULT_COLOR=0,i.DEFAULT_ATTR=256|i.DEFAULT_COLOR<<9,i.DEFAULT_EXT=0,i.CHAR_DATA_ATTR_INDEX=0,i.CHAR_DATA_CHAR_INDEX=1,i.CHAR_DATA_WIDTH_INDEX=2,i.CHAR_DATA_CODE_INDEX=3,i.NULL_CELL_CHAR="",i.NULL_CELL_WIDTH=1,i.NULL_CELL_CODE=0,i.WHITESPACE_CELL_CHAR=" ",i.WHITESPACE_CELL_WIDTH=1,i.WHITESPACE_CELL_CODE=32},4863:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.Marker=void 0;let o=s(8460),f=s(844);class l{get id(){return this._id}constructor(g){this.line=g,this.isDisposed=!1,this._disposables=[],this._id=l._nextId++,this._onDispose=this.register(new o.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,f.disposeArray)(this._disposables),this._disposables.length=0)}register(g){return this._disposables.push(g),g}}i.Marker=l,l._nextId=1},7116:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.DEFAULT_CHARSET=i.CHARSETS=void 0,i.CHARSETS={},i.DEFAULT_CHARSET=i.CHARSETS.B,i.CHARSETS[0]={"`":"\u25C6",a:"\u2592",b:"\u2409",c:"\u240C",d:"\u240D",e:"\u240A",f:"\xB0",g:"\xB1",h:"\u2424",i:"\u240B",j:"\u2518",k:"\u2510",l:"\u250C",m:"\u2514",n:"\u253C",o:"\u23BA",p:"\u23BB",q:"\u2500",r:"\u23BC",s:"\u23BD",t:"\u251C",u:"\u2524",v:"\u2534",w:"\u252C",x:"\u2502",y:"\u2264",z:"\u2265","{":"\u03C0","|":"\u2260","}":"\xA3","~":"\xB7"},i.CHARSETS.A={"#":"\xA3"},i.CHARSETS.B=void 0,i.CHARSETS[4]={"#":"\xA3","@":"\xBE","[":"ij","\\":"\xBD","]":"|","{":"\xA8","|":"f","}":"\xBC","~":"\xB4"},i.CHARSETS.C=i.CHARSETS[5]={"[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},i.CHARSETS.R={"#":"\xA3","@":"\xE0","[":"\xB0","\\":"\xE7","]":"\xA7","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xA8"},i.CHARSETS.Q={"@":"\xE0","[":"\xE2","\\":"\xE7","]":"\xEA","^":"\xEE","`":"\xF4","{":"\xE9","|":"\xF9","}":"\xE8","~":"\xFB"},i.CHARSETS.K={"@":"\xA7","[":"\xC4","\\":"\xD6","]":"\xDC","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xDF"},i.CHARSETS.Y={"#":"\xA3","@":"\xA7","[":"\xB0","\\":"\xE7","]":"\xE9","`":"\xF9","{":"\xE0","|":"\xF2","}":"\xE8","~":"\xEC"},i.CHARSETS.E=i.CHARSETS[6]={"@":"\xC4","[":"\xC6","\\":"\xD8","]":"\xC5","^":"\xDC","`":"\xE4","{":"\xE6","|":"\xF8","}":"\xE5","~":"\xFC"},i.CHARSETS.Z={"#":"\xA3","@":"\xA7","[":"\xA1","\\":"\xD1","]":"\xBF","{":"\xB0","|":"\xF1","}":"\xE7"},i.CHARSETS.H=i.CHARSETS[7]={"@":"\xC9","[":"\xC4","\\":"\xD6","]":"\xC5","^":"\xDC","`":"\xE9","{":"\xE4","|":"\xF6","}":"\xE5","~":"\xFC"},i.CHARSETS["="]={"#":"\xF9","@":"\xE0","[":"\xE9","\\":"\xE7","]":"\xEA","^":"\xEE",_:"\xE8","`":"\xF4","{":"\xE4","|":"\xF6","}":"\xFC","~":"\xFB"}},2584:(a,i)=>{var s,o,f;Object.defineProperty(i,"__esModule",{value:!0}),i.C1_ESCAPED=i.C1=i.C0=void 0,(function(l){l.NUL="\0",l.SOH="",l.STX="",l.ETX="",l.EOT="",l.ENQ="",l.ACK="",l.BEL="\x07",l.BS="\b",l.HT=" ",l.LF=`
8
+ `,l.VT="\v",l.FF="\f",l.CR="\r",l.SO="",l.SI="",l.DLE="",l.DC1="",l.DC2="",l.DC3="",l.DC4="",l.NAK="",l.SYN="",l.ETB="",l.CAN="",l.EM="",l.SUB="",l.ESC="\x1B",l.FS="",l.GS="",l.RS="",l.US="",l.SP=" ",l.DEL="\x7F"})(s||(i.C0=s={})),(function(l){l.PAD="\x80",l.HOP="\x81",l.BPH="\x82",l.NBH="\x83",l.IND="\x84",l.NEL="\x85",l.SSA="\x86",l.ESA="\x87",l.HTS="\x88",l.HTJ="\x89",l.VTS="\x8A",l.PLD="\x8B",l.PLU="\x8C",l.RI="\x8D",l.SS2="\x8E",l.SS3="\x8F",l.DCS="\x90",l.PU1="\x91",l.PU2="\x92",l.STS="\x93",l.CCH="\x94",l.MW="\x95",l.SPA="\x96",l.EPA="\x97",l.SOS="\x98",l.SGCI="\x99",l.SCI="\x9A",l.CSI="\x9B",l.ST="\x9C",l.OSC="\x9D",l.PM="\x9E",l.APC="\x9F"})(o||(i.C1=o={})),(function(l){l.ST=`${s.ESC}\\`})(f||(i.C1_ESCAPED=f={}))},7399:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.evaluateKeyboardEvent=void 0;let o=s(2584),f={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:["'",'"']};i.evaluateKeyboardEvent=function(l,p,g,S){let _={type:0,cancel:!1,key:void 0},c=(l.shiftKey?1:0)|(l.altKey?2:0)|(l.ctrlKey?4:0)|(l.metaKey?8:0);switch(l.keyCode){case 0:l.key==="UIKeyInputUpArrow"?_.key=p?o.C0.ESC+"OA":o.C0.ESC+"[A":l.key==="UIKeyInputLeftArrow"?_.key=p?o.C0.ESC+"OD":o.C0.ESC+"[D":l.key==="UIKeyInputRightArrow"?_.key=p?o.C0.ESC+"OC":o.C0.ESC+"[C":l.key==="UIKeyInputDownArrow"&&(_.key=p?o.C0.ESC+"OB":o.C0.ESC+"[B");break;case 8:_.key=l.ctrlKey?"\b":o.C0.DEL,l.altKey&&(_.key=o.C0.ESC+_.key);break;case 9:if(l.shiftKey){_.key=o.C0.ESC+"[Z";break}_.key=o.C0.HT,_.cancel=!0;break;case 13:_.key=l.altKey?o.C0.ESC+o.C0.CR:o.C0.CR,_.cancel=!0;break;case 27:_.key=o.C0.ESC,l.altKey&&(_.key=o.C0.ESC+o.C0.ESC),_.cancel=!0;break;case 37:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"D",_.key===o.C0.ESC+"[1;3D"&&(_.key=o.C0.ESC+(g?"b":"[1;5D"))):_.key=p?o.C0.ESC+"OD":o.C0.ESC+"[D";break;case 39:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"C",_.key===o.C0.ESC+"[1;3C"&&(_.key=o.C0.ESC+(g?"f":"[1;5C"))):_.key=p?o.C0.ESC+"OC":o.C0.ESC+"[C";break;case 38:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"A",g||_.key!==o.C0.ESC+"[1;3A"||(_.key=o.C0.ESC+"[1;5A")):_.key=p?o.C0.ESC+"OA":o.C0.ESC+"[A";break;case 40:if(l.metaKey)break;c?(_.key=o.C0.ESC+"[1;"+(c+1)+"B",g||_.key!==o.C0.ESC+"[1;3B"||(_.key=o.C0.ESC+"[1;5B")):_.key=p?o.C0.ESC+"OB":o.C0.ESC+"[B";break;case 45:l.shiftKey||l.ctrlKey||(_.key=o.C0.ESC+"[2~");break;case 46:_.key=c?o.C0.ESC+"[3;"+(c+1)+"~":o.C0.ESC+"[3~";break;case 36:_.key=c?o.C0.ESC+"[1;"+(c+1)+"H":p?o.C0.ESC+"OH":o.C0.ESC+"[H";break;case 35:_.key=c?o.C0.ESC+"[1;"+(c+1)+"F":p?o.C0.ESC+"OF":o.C0.ESC+"[F";break;case 33:l.shiftKey?_.type=2:l.ctrlKey?_.key=o.C0.ESC+"[5;"+(c+1)+"~":_.key=o.C0.ESC+"[5~";break;case 34:l.shiftKey?_.type=3:l.ctrlKey?_.key=o.C0.ESC+"[6;"+(c+1)+"~":_.key=o.C0.ESC+"[6~";break;case 112:_.key=c?o.C0.ESC+"[1;"+(c+1)+"P":o.C0.ESC+"OP";break;case 113:_.key=c?o.C0.ESC+"[1;"+(c+1)+"Q":o.C0.ESC+"OQ";break;case 114:_.key=c?o.C0.ESC+"[1;"+(c+1)+"R":o.C0.ESC+"OR";break;case 115:_.key=c?o.C0.ESC+"[1;"+(c+1)+"S":o.C0.ESC+"OS";break;case 116:_.key=c?o.C0.ESC+"[15;"+(c+1)+"~":o.C0.ESC+"[15~";break;case 117:_.key=c?o.C0.ESC+"[17;"+(c+1)+"~":o.C0.ESC+"[17~";break;case 118:_.key=c?o.C0.ESC+"[18;"+(c+1)+"~":o.C0.ESC+"[18~";break;case 119:_.key=c?o.C0.ESC+"[19;"+(c+1)+"~":o.C0.ESC+"[19~";break;case 120:_.key=c?o.C0.ESC+"[20;"+(c+1)+"~":o.C0.ESC+"[20~";break;case 121:_.key=c?o.C0.ESC+"[21;"+(c+1)+"~":o.C0.ESC+"[21~";break;case 122:_.key=c?o.C0.ESC+"[23;"+(c+1)+"~":o.C0.ESC+"[23~";break;case 123:_.key=c?o.C0.ESC+"[24;"+(c+1)+"~":o.C0.ESC+"[24~";break;default:if(!l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)if(g&&!S||!l.altKey||l.metaKey)!g||l.altKey||l.ctrlKey||l.shiftKey||!l.metaKey?l.key&&!l.ctrlKey&&!l.altKey&&!l.metaKey&&l.keyCode>=48&&l.key.length===1?_.key=l.key:l.key&&l.ctrlKey&&(l.key==="_"&&(_.key=o.C0.US),l.key==="@"&&(_.key=o.C0.NUL)):l.keyCode===65&&(_.type=1);else{let d=f[l.keyCode],h=d?.[l.shiftKey?1:0];if(h)_.key=o.C0.ESC+h;else if(l.keyCode>=65&&l.keyCode<=90){let u=l.ctrlKey?l.keyCode-64:l.keyCode+32,v=String.fromCharCode(u);l.shiftKey&&(v=v.toUpperCase()),_.key=o.C0.ESC+v}else if(l.keyCode===32)_.key=o.C0.ESC+(l.ctrlKey?o.C0.NUL:" ");else if(l.key==="Dead"&&l.code.startsWith("Key")){let u=l.code.slice(3,4);l.shiftKey||(u=u.toLowerCase()),_.key=o.C0.ESC+u,_.cancel=!0}}else l.keyCode>=65&&l.keyCode<=90?_.key=String.fromCharCode(l.keyCode-64):l.keyCode===32?_.key=o.C0.NUL:l.keyCode>=51&&l.keyCode<=55?_.key=String.fromCharCode(l.keyCode-51+27):l.keyCode===56?_.key=o.C0.DEL:l.keyCode===219?_.key=o.C0.ESC:l.keyCode===220?_.key=o.C0.FS:l.keyCode===221&&(_.key=o.C0.GS)}return _}},482:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.Utf8ToUtf32=i.StringToUtf32=i.utf32ToString=i.stringFromCodePoint=void 0,i.stringFromCodePoint=function(s){return s>65535?(s-=65536,String.fromCharCode(55296+(s>>10))+String.fromCharCode(s%1024+56320)):String.fromCharCode(s)},i.utf32ToString=function(s,o=0,f=s.length){let l="";for(let p=o;p<f;++p){let g=s[p];g>65535?(g-=65536,l+=String.fromCharCode(55296+(g>>10))+String.fromCharCode(g%1024+56320)):l+=String.fromCharCode(g)}return l},i.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(s,o){let f=s.length;if(!f)return 0;let l=0,p=0;if(this._interim){let g=s.charCodeAt(p++);56320<=g&&g<=57343?o[l++]=1024*(this._interim-55296)+g-56320+65536:(o[l++]=this._interim,o[l++]=g),this._interim=0}for(let g=p;g<f;++g){let S=s.charCodeAt(g);if(55296<=S&&S<=56319){if(++g>=f)return this._interim=S,l;let _=s.charCodeAt(g);56320<=_&&_<=57343?o[l++]=1024*(S-55296)+_-56320+65536:(o[l++]=S,o[l++]=_)}else S!==65279&&(o[l++]=S)}return l}},i.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(s,o){let f=s.length;if(!f)return 0;let l,p,g,S,_=0,c=0,d=0;if(this.interim[0]){let v=!1,y=this.interim[0];y&=(224&y)==192?31:(240&y)==224?15:7;let b,C=0;for(;(b=63&this.interim[++C])&&C<4;)y<<=6,y|=b;let m=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,E=m-C;for(;d<E;){if(d>=f)return 0;if(b=s[d++],(192&b)!=128){d--,v=!0;break}this.interim[C++]=b,y<<=6,y|=63&b}v||(m===2?y<128?d--:o[_++]=y:m===3?y<2048||y>=55296&&y<=57343||y===65279||(o[_++]=y):y<65536||y>1114111||(o[_++]=y)),this.interim.fill(0)}let h=f-4,u=d;for(;u<f;){for(;!(!(u<h)||128&(l=s[u])||128&(p=s[u+1])||128&(g=s[u+2])||128&(S=s[u+3]));)o[_++]=l,o[_++]=p,o[_++]=g,o[_++]=S,u+=4;if(l=s[u++],l<128)o[_++]=l;else if((224&l)==192){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(c=(31&l)<<6|63&p,c<128){u--;continue}o[_++]=c}else if((240&l)==224){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,_;if(g=s[u++],(192&g)!=128){u--;continue}if(c=(15&l)<<12|(63&p)<<6|63&g,c<2048||c>=55296&&c<=57343||c===65279)continue;o[_++]=c}else if((248&l)==240){if(u>=f)return this.interim[0]=l,_;if(p=s[u++],(192&p)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,_;if(g=s[u++],(192&g)!=128){u--;continue}if(u>=f)return this.interim[0]=l,this.interim[1]=p,this.interim[2]=g,_;if(S=s[u++],(192&S)!=128){u--;continue}if(c=(7&l)<<18|(63&p)<<12|(63&g)<<6|63&S,c<65536||c>1114111)continue;o[_++]=c}}return _}}},225:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.UnicodeV6=void 0;let o=s(1480),f=[[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]],l=[[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]],p;i.UnicodeV6=class{constructor(){if(this.version="6",!p){p=new Uint8Array(65536),p.fill(1),p[0]=0,p.fill(0,1,32),p.fill(0,127,160),p.fill(2,4352,4448),p[9001]=2,p[9002]=2,p.fill(2,11904,42192),p[12351]=1,p.fill(2,44032,55204),p.fill(2,63744,64256),p.fill(2,65040,65050),p.fill(2,65072,65136),p.fill(2,65280,65377),p.fill(2,65504,65511);for(let g=0;g<f.length;++g)p.fill(0,f[g][0],f[g][1]+1)}}wcwidth(g){return g<32?0:g<127?1:g<65536?p[g]:(function(S,_){let c,d=0,h=_.length-1;if(S<_[0][0]||S>_[h][1])return!1;for(;h>=d;)if(c=d+h>>1,S>_[c][1])d=c+1;else{if(!(S<_[c][0]))return!0;h=c-1}return!1})(g,l)?0:g>=131072&&g<=196605||g>=196608&&g<=262141?2:1}charProperties(g,S){let _=this.wcwidth(g),c=_===0&&S!==0;if(c){let d=o.UnicodeService.extractWidth(S);d===0?c=!1:d>_&&(_=d)}return o.UnicodeService.createPropertyValue(0,_,c)}}},5981:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.WriteBuffer=void 0;let o=s(8460),f=s(844);class l extends f.Disposable{constructor(g){super(),this._action=g,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new o.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(g,S){if(S!==void 0&&this._syncCalls>S)return void(this._syncCalls=0);if(this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let _;for(this._isSyncWriting=!0;_=this._writeBuffer.shift();){this._action(_);let c=this._callbacks.shift();c&&c()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(g,S){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(S),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=g.length,this._writeBuffer.push(g),this._callbacks.push(S)}_innerWrite(g=0,S=!0){let _=g||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){let c=this._writeBuffer[this._bufferOffset],d=this._action(c,S);if(d){let u=v=>Date.now()-_>=12?setTimeout((()=>this._innerWrite(0,v))):this._innerWrite(_,v);return void d.catch((v=>(queueMicrotask((()=>{throw v})),Promise.resolve(!1)))).then(u)}let h=this._callbacks[this._bufferOffset];if(h&&h(),this._bufferOffset++,this._pendingData-=c.length,Date.now()-_>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}i.WriteBuffer=l},5941:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.toRgbString=i.parseColor=void 0;let s=/^([\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})$/,o=/^[\da-f]+$/;function f(l,p){let g=l.toString(16),S=g.length<2?"0"+g:g;switch(p){case 4:return g[0];case 8:return S;case 12:return(S+S).slice(0,3);default:return S+S}}i.parseColor=function(l){if(!l)return;let p=l.toLowerCase();if(p.indexOf("rgb:")===0){p=p.slice(4);let g=s.exec(p);if(g){let S=g[1]?15:g[4]?255:g[7]?4095:65535;return[Math.round(parseInt(g[1]||g[4]||g[7]||g[10],16)/S*255),Math.round(parseInt(g[2]||g[5]||g[8]||g[11],16)/S*255),Math.round(parseInt(g[3]||g[6]||g[9]||g[12],16)/S*255)]}}else if(p.indexOf("#")===0&&(p=p.slice(1),o.exec(p)&&[3,6,9,12].includes(p.length))){let g=p.length/3,S=[0,0,0];for(let _=0;_<3;++_){let c=parseInt(p.slice(g*_,g*_+g),16);S[_]=g===1?c<<4:g===2?c:g===3?c>>4:c>>8}return S}},i.toRgbString=function(l,p=16){let[g,S,_]=l;return`rgb:${f(g,p)}/${f(S,p)}/${f(_,p)}`}},5770:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.PAYLOAD_LIMIT=void 0,i.PAYLOAD_LIMIT=1e7},6351:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.DcsHandler=i.DcsParser=void 0;let o=s(482),f=s(8742),l=s(5770),p=[];i.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=p,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=p}registerHandler(S,_){this._handlers[S]===void 0&&(this._handlers[S]=[]);let c=this._handlers[S];return c.push(_),{dispose:()=>{let d=c.indexOf(_);d!==-1&&c.splice(d,1)}}}clearHandler(S){this._handlers[S]&&delete this._handlers[S]}setHandlerFallback(S){this._handlerFb=S}reset(){if(this._active.length)for(let S=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;S>=0;--S)this._active[S].unhook(!1);this._stack.paused=!1,this._active=p,this._ident=0}hook(S,_){if(this.reset(),this._ident=S,this._active=this._handlers[S]||p,this._active.length)for(let c=this._active.length-1;c>=0;c--)this._active[c].hook(_);else this._handlerFb(this._ident,"HOOK",_)}put(S,_,c){if(this._active.length)for(let d=this._active.length-1;d>=0;d--)this._active[d].put(S,_,c);else this._handlerFb(this._ident,"PUT",(0,o.utf32ToString)(S,_,c))}unhook(S,_=!0){if(this._active.length){let c=!1,d=this._active.length-1,h=!1;if(this._stack.paused&&(d=this._stack.loopPosition-1,c=_,h=this._stack.fallThrough,this._stack.paused=!1),!h&&c===!1){for(;d>=0&&(c=this._active[d].unhook(S),c!==!0);d--)if(c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!1,c;d--}for(;d>=0;d--)if(c=this._active[d].unhook(!1),c instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=d,this._stack.fallThrough=!0,c}else this._handlerFb(this._ident,"UNHOOK",S);this._active=p,this._ident=0}};let g=new f.Params;g.addParam(0),i.DcsHandler=class{constructor(S){this._handler=S,this._data="",this._params=g,this._hitLimit=!1}hook(S){this._params=S.length>1||S.params[0]?S.clone():g,this._data="",this._hitLimit=!1}put(S,_,c){this._hitLimit||(this._data+=(0,o.utf32ToString)(S,_,c),this._data.length>l.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(S){let _=!1;if(this._hitLimit)_=!1;else if(S&&(_=this._handler(this._data,this._params),_ instanceof Promise))return _.then((c=>(this._params=g,this._data="",this._hitLimit=!1,c)));return this._params=g,this._data="",this._hitLimit=!1,_}}},2015:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.EscapeSequenceParser=i.VT500_TRANSITION_TABLE=i.TransitionTable=void 0;let o=s(844),f=s(8742),l=s(6242),p=s(6351);class g{constructor(d){this.table=new Uint8Array(d)}setDefault(d,h){this.table.fill(d<<4|h)}add(d,h,u,v){this.table[h<<8|d]=u<<4|v}addMany(d,h,u,v){for(let y=0;y<d.length;y++)this.table[h<<8|d[y]]=u<<4|v}}i.TransitionTable=g;let S=160;i.VT500_TRANSITION_TABLE=(function(){let c=new g(4095),d=Array.apply(null,Array(256)).map(((C,m)=>m)),h=(C,m)=>d.slice(C,m),u=h(32,127),v=h(0,24);v.push(25),v.push.apply(v,h(28,32));let y=h(0,14),b;for(b in c.setDefault(1,0),c.addMany(u,0,2,0),y)c.addMany([24,26,153,154],b,3,0),c.addMany(h(128,144),b,3,0),c.addMany(h(144,152),b,3,0),c.add(156,b,0,0),c.add(27,b,11,1),c.add(157,b,4,8),c.addMany([152,158,159],b,0,7),c.add(155,b,11,3),c.add(144,b,11,9);return c.addMany(v,0,3,0),c.addMany(v,1,3,1),c.add(127,1,0,1),c.addMany(v,8,0,8),c.addMany(v,3,3,3),c.add(127,3,0,3),c.addMany(v,4,3,4),c.add(127,4,0,4),c.addMany(v,6,3,6),c.addMany(v,5,3,5),c.add(127,5,0,5),c.addMany(v,2,3,2),c.add(127,2,0,2),c.add(93,1,4,8),c.addMany(u,8,5,8),c.add(127,8,5,8),c.addMany([156,27,24,26,7],8,6,0),c.addMany(h(28,32),8,0,8),c.addMany([88,94,95],1,0,7),c.addMany(u,7,0,7),c.addMany(v,7,0,7),c.add(156,7,0,0),c.add(127,7,0,7),c.add(91,1,11,3),c.addMany(h(64,127),3,7,0),c.addMany(h(48,60),3,8,4),c.addMany([60,61,62,63],3,9,4),c.addMany(h(48,60),4,8,4),c.addMany(h(64,127),4,7,0),c.addMany([60,61,62,63],4,0,6),c.addMany(h(32,64),6,0,6),c.add(127,6,0,6),c.addMany(h(64,127),6,0,0),c.addMany(h(32,48),3,9,5),c.addMany(h(32,48),5,9,5),c.addMany(h(48,64),5,0,6),c.addMany(h(64,127),5,7,0),c.addMany(h(32,48),4,9,5),c.addMany(h(32,48),1,9,2),c.addMany(h(32,48),2,9,2),c.addMany(h(48,127),2,10,0),c.addMany(h(48,80),1,10,0),c.addMany(h(81,88),1,10,0),c.addMany([89,90,92],1,10,0),c.addMany(h(96,127),1,10,0),c.add(80,1,11,9),c.addMany(v,9,0,9),c.add(127,9,0,9),c.addMany(h(28,32),9,0,9),c.addMany(h(32,48),9,9,12),c.addMany(h(48,60),9,8,10),c.addMany([60,61,62,63],9,9,10),c.addMany(v,11,0,11),c.addMany(h(32,128),11,0,11),c.addMany(h(28,32),11,0,11),c.addMany(v,10,0,10),c.add(127,10,0,10),c.addMany(h(28,32),10,0,10),c.addMany(h(48,60),10,8,10),c.addMany([60,61,62,63],10,0,11),c.addMany(h(32,48),10,9,12),c.addMany(v,12,0,12),c.add(127,12,0,12),c.addMany(h(28,32),12,0,12),c.addMany(h(32,48),12,9,12),c.addMany(h(48,64),12,0,11),c.addMany(h(64,127),12,12,13),c.addMany(h(64,127),10,12,13),c.addMany(h(64,127),9,12,13),c.addMany(v,13,13,13),c.addMany(u,13,13,13),c.add(127,13,0,13),c.addMany([27,156,24,26],13,14,0),c.add(S,0,2,0),c.add(S,8,5,8),c.add(S,6,0,6),c.add(S,11,0,11),c.add(S,13,13,13),c})();class _ extends o.Disposable{constructor(d=i.VT500_TRANSITION_TABLE){super(),this._transitions=d,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new f.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(h,u,v)=>{},this._executeHandlerFb=h=>{},this._csiHandlerFb=(h,u)=>{},this._escHandlerFb=h=>{},this._errorHandlerFb=h=>h,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,o.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new l.OscParser),this._dcsParser=this.register(new p.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(d,h=[64,126]){let u=0;if(d.prefix){if(d.prefix.length>1)throw new Error("only one byte as prefix supported");if(u=d.prefix.charCodeAt(0),u&&60>u||u>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(d.intermediates){if(d.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let y=0;y<d.intermediates.length;++y){let b=d.intermediates.charCodeAt(y);if(32>b||b>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");u<<=8,u|=b}}if(d.final.length!==1)throw new Error("final must be a single byte");let v=d.final.charCodeAt(0);if(h[0]>v||v>h[1])throw new Error(`final must be in range ${h[0]} .. ${h[1]}`);return u<<=8,u|=v,u}identToString(d){let h=[];for(;d;)h.push(String.fromCharCode(255&d)),d>>=8;return h.reverse().join("")}setPrintHandler(d){this._printHandler=d}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(d,h){let u=this._identifier(d,[48,126]);this._escHandlers[u]===void 0&&(this._escHandlers[u]=[]);let v=this._escHandlers[u];return v.push(h),{dispose:()=>{let y=v.indexOf(h);y!==-1&&v.splice(y,1)}}}clearEscHandler(d){this._escHandlers[this._identifier(d,[48,126])]&&delete this._escHandlers[this._identifier(d,[48,126])]}setEscHandlerFallback(d){this._escHandlerFb=d}setExecuteHandler(d,h){this._executeHandlers[d.charCodeAt(0)]=h}clearExecuteHandler(d){this._executeHandlers[d.charCodeAt(0)]&&delete this._executeHandlers[d.charCodeAt(0)]}setExecuteHandlerFallback(d){this._executeHandlerFb=d}registerCsiHandler(d,h){let u=this._identifier(d);this._csiHandlers[u]===void 0&&(this._csiHandlers[u]=[]);let v=this._csiHandlers[u];return v.push(h),{dispose:()=>{let y=v.indexOf(h);y!==-1&&v.splice(y,1)}}}clearCsiHandler(d){this._csiHandlers[this._identifier(d)]&&delete this._csiHandlers[this._identifier(d)]}setCsiHandlerFallback(d){this._csiHandlerFb=d}registerDcsHandler(d,h){return this._dcsParser.registerHandler(this._identifier(d),h)}clearDcsHandler(d){this._dcsParser.clearHandler(this._identifier(d))}setDcsHandlerFallback(d){this._dcsParser.setHandlerFallback(d)}registerOscHandler(d,h){return this._oscParser.registerHandler(d,h)}clearOscHandler(d){this._oscParser.clearHandler(d)}setOscHandlerFallback(d){this._oscParser.setHandlerFallback(d)}setErrorHandler(d){this._errorHandler=d}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(d,h,u,v,y){this._parseStack.state=d,this._parseStack.handlers=h,this._parseStack.handlerPos=u,this._parseStack.transition=v,this._parseStack.chunkPos=y}parse(d,h,u){let v,y=0,b=0,C=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,C=this._parseStack.chunkPos+1;else{if(u===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let m=this._parseStack.handlers,E=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(u===!1&&E>-1){for(;E>=0&&(v=m[E](this._params),v!==!0);E--)if(v instanceof Promise)return this._parseStack.handlerPos=E,v}this._parseStack.handlers=[];break;case 4:if(u===!1&&E>-1){for(;E>=0&&(v=m[E](),v!==!0);E--)if(v instanceof Promise)return this._parseStack.handlerPos=E,v}this._parseStack.handlers=[];break;case 6:if(y=d[this._parseStack.chunkPos],v=this._dcsParser.unhook(y!==24&&y!==26,u),v)return v;y===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(y=d[this._parseStack.chunkPos],v=this._oscParser.end(y!==24&&y!==26,u),v)return v;y===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,C=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let m=C;m<h;++m){switch(y=d[m],b=this._transitions.table[this.currentState<<8|(y<160?y:S)],b>>4){case 2:for(let R=m+1;;++R){if(R>=h||(y=d[R])<32||y>126&&y<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(y=d[R])<32||y>126&&y<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(y=d[R])<32||y>126&&y<S){this._printHandler(d,m,R),m=R-1;break}if(++R>=h||(y=d[R])<32||y>126&&y<S){this._printHandler(d,m,R),m=R-1;break}}break;case 3:this._executeHandlers[y]?this._executeHandlers[y]():this._executeHandlerFb(y),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:m,code:y,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let E=this._csiHandlers[this._collect<<8|y],P=E?E.length-1:-1;for(;P>=0&&(v=E[P](this._params),v!==!0);P--)if(v instanceof Promise)return this._preserveStack(3,E,P,b,m),v;P<0&&this._csiHandlerFb(this._collect<<8|y,this._params),this.precedingJoinState=0;break;case 8:do switch(y){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(y-48)}while(++m<h&&(y=d[m])>47&&y<60);m--;break;case 9:this._collect<<=8,this._collect|=y;break;case 10:let B=this._escHandlers[this._collect<<8|y],H=B?B.length-1:-1;for(;H>=0&&(v=B[H](),v!==!0);H--)if(v instanceof Promise)return this._preserveStack(4,B,H,b,m),v;H<0&&this._escHandlerFb(this._collect<<8|y),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|y,this._params);break;case 13:for(let R=m+1;;++R)if(R>=h||(y=d[R])===24||y===26||y===27||y>127&&y<S){this._dcsParser.put(d,m,R),m=R-1;break}break;case 14:if(v=this._dcsParser.unhook(y!==24&&y!==26),v)return this._preserveStack(6,[],0,b,m),v;y===27&&(b|=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 R=m+1;;R++)if(R>=h||(y=d[R])<32||y>127&&y<S){this._oscParser.put(d,m,R),m=R-1;break}break;case 6:if(v=this._oscParser.end(y!==24&&y!==26),v)return this._preserveStack(5,[],0,b,m),v;y===27&&(b|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&b}}}i.EscapeSequenceParser=_},6242:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.OscHandler=i.OscParser=void 0;let o=s(5770),f=s(482),l=[];i.OscParser=class{constructor(){this._state=0,this._active=l,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(p,g){this._handlers[p]===void 0&&(this._handlers[p]=[]);let S=this._handlers[p];return S.push(g),{dispose:()=>{let _=S.indexOf(g);_!==-1&&S.splice(_,1)}}}clearHandler(p){this._handlers[p]&&delete this._handlers[p]}setHandlerFallback(p){this._handlerFb=p}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=l}reset(){if(this._state===2)for(let p=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;p>=0;--p)this._active[p].end(!1);this._stack.paused=!1,this._active=l,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||l,this._active.length)for(let p=this._active.length-1;p>=0;p--)this._active[p].start();else this._handlerFb(this._id,"START")}_put(p,g,S){if(this._active.length)for(let _=this._active.length-1;_>=0;_--)this._active[_].put(p,g,S);else this._handlerFb(this._id,"PUT",(0,f.utf32ToString)(p,g,S))}start(){this.reset(),this._state=1}put(p,g,S){if(this._state!==3){if(this._state===1)for(;g<S;){let _=p[g++];if(_===59){this._state=2,this._start();break}if(_<48||57<_)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+_-48}this._state===2&&S-g>0&&this._put(p,g,S)}}end(p,g=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let S=!1,_=this._active.length-1,c=!1;if(this._stack.paused&&(_=this._stack.loopPosition-1,S=g,c=this._stack.fallThrough,this._stack.paused=!1),!c&&S===!1){for(;_>=0&&(S=this._active[_].end(p),S!==!0);_--)if(S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!1,S;_--}for(;_>=0;_--)if(S=this._active[_].end(!1),S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=_,this._stack.fallThrough=!0,S}else this._handlerFb(this._id,"END",p);this._active=l,this._id=-1,this._state=0}}},i.OscHandler=class{constructor(p){this._handler=p,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(p,g,S){this._hitLimit||(this._data+=(0,f.utf32ToString)(p,g,S),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(p){let g=!1;if(this._hitLimit)g=!1;else if(p&&(g=this._handler(this._data),g instanceof Promise))return g.then((S=>(this._data="",this._hitLimit=!1,S)));return this._data="",this._hitLimit=!1,g}}},8742:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.Params=void 0;let s=2147483647;class o{static fromArray(l){let p=new o;if(!l.length)return p;for(let g=Array.isArray(l[0])?1:0;g<l.length;++g){let S=l[g];if(Array.isArray(S))for(let _=0;_<S.length;++_)p.addSubParam(S[_]);else p.addParam(S)}return p}constructor(l=32,p=32){if(this.maxLength=l,this.maxSubParamsLength=p,p>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(l),this.length=0,this._subParams=new Int32Array(p),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(l),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){let l=new o(this.maxLength,this.maxSubParamsLength);return l.params.set(this.params),l.length=this.length,l._subParams.set(this._subParams),l._subParamsLength=this._subParamsLength,l._subParamsIdx.set(this._subParamsIdx),l._rejectDigits=this._rejectDigits,l._rejectSubDigits=this._rejectSubDigits,l._digitIsSub=this._digitIsSub,l}toArray(){let l=[];for(let p=0;p<this.length;++p){l.push(this.params[p]);let g=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-g>0&&l.push(Array.prototype.slice.call(this._subParams,g,S))}return l}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(l){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(l<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=l>s?s:l}}addSubParam(l){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(l<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=l>s?s:l,this._subParamsIdx[this.length-1]++}}hasSubParams(l){return(255&this._subParamsIdx[l])-(this._subParamsIdx[l]>>8)>0}getSubParams(l){let p=this._subParamsIdx[l]>>8,g=255&this._subParamsIdx[l];return g-p>0?this._subParams.subarray(p,g):null}getSubParamsAll(){let l={};for(let p=0;p<this.length;++p){let g=this._subParamsIdx[p]>>8,S=255&this._subParamsIdx[p];S-g>0&&(l[p]=this._subParams.slice(g,S))}return l}addDigit(l){let p;if(this._rejectDigits||!(p=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let g=this._digitIsSub?this._subParams:this.params,S=g[p-1];g[p-1]=~S?Math.min(10*S+l,s):l}}i.Params=o},5741:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.AddonManager=void 0,i.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let s=this._addons.length-1;s>=0;s--)this._addons[s].instance.dispose()}loadAddon(s,o){let f={instance:o,dispose:o.dispose,isDisposed:!1};this._addons.push(f),o.dispose=()=>this._wrappedAddonDispose(f),o.activate(s)}_wrappedAddonDispose(s){if(s.isDisposed)return;let o=-1;for(let f=0;f<this._addons.length;f++)if(this._addons[f]===s){o=f;break}if(o===-1)throw new Error("Could not dispose an addon that has not been loaded");s.isDisposed=!0,s.dispose.apply(s.instance),this._addons.splice(o,1)}}},8771:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.BufferApiView=void 0;let o=s(3785),f=s(511);i.BufferApiView=class{constructor(l,p){this._buffer=l,this.type=p}init(l){return this._buffer=l,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(l){let p=this._buffer.lines.get(l);if(p)return new o.BufferLineApiView(p)}getNullCell(){return new f.CellData}}},3785:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.BufferLineApiView=void 0;let o=s(511);i.BufferLineApiView=class{constructor(f){this._line=f}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(f,l){if(!(f<0||f>=this._line.length))return l?(this._line.loadCell(f,l),l):this._line.loadCell(f,new o.CellData)}translateToString(f,l,p){return this._line.translateToString(f,l,p)}}},8285:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.BufferNamespaceApi=void 0;let o=s(8771),f=s(8460),l=s(844);class p extends l.Disposable{constructor(S){super(),this._core=S,this._onBufferChange=this.register(new f.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new o.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new o.BufferApiView(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 new 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)}}i.BufferNamespaceApi=p},7975:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.ParserApi=void 0,i.ParserApi=class{constructor(s){this._core=s}registerCsiHandler(s,o){return this._core.registerCsiHandler(s,(f=>o(f.toArray())))}addCsiHandler(s,o){return this.registerCsiHandler(s,o)}registerDcsHandler(s,o){return this._core.registerDcsHandler(s,((f,l)=>o(f,l.toArray())))}addDcsHandler(s,o){return this.registerDcsHandler(s,o)}registerEscHandler(s,o){return this._core.registerEscHandler(s,o)}addEscHandler(s,o){return this.registerEscHandler(s,o)}registerOscHandler(s,o){return this._core.registerOscHandler(s,o)}addOscHandler(s,o){return this.registerOscHandler(s,o)}}},7090:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.UnicodeApi=void 0,i.UnicodeApi=class{constructor(s){this._core=s}register(s){this._core.unicodeService.register(s)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(s){this._core.unicodeService.activeVersion=s}}},744:function(a,i,s){var o=this&&this.__decorate||function(c,d,h,u){var v,y=arguments.length,b=y<3?d:u===null?u=Object.getOwnPropertyDescriptor(d,h):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(c,d,h,u);else for(var C=c.length-1;C>=0;C--)(v=c[C])&&(b=(y<3?v(b):y>3?v(d,h,b):v(d,h))||b);return y>3&&b&&Object.defineProperty(d,h,b),b},f=this&&this.__param||function(c,d){return function(h,u){d(h,u,c)}};Object.defineProperty(i,"__esModule",{value:!0}),i.BufferService=i.MINIMUM_ROWS=i.MINIMUM_COLS=void 0;let l=s(8460),p=s(844),g=s(5295),S=s(2585);i.MINIMUM_COLS=2,i.MINIMUM_ROWS=1;let _=i.BufferService=class extends p.Disposable{get buffer(){return this.buffers.active}constructor(c){super(),this.isUserScrolling=!1,this._onResize=this.register(new l.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new l.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(c.rawOptions.cols||0,i.MINIMUM_COLS),this.rows=Math.max(c.rawOptions.rows||0,i.MINIMUM_ROWS),this.buffers=this.register(new g.BufferSet(c,this))}resize(c,d){this.cols=c,this.rows=d,this.buffers.resize(c,d),this._onResize.fire({cols:c,rows:d})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(c,d=!1){let h=this.buffer,u;u=this._cachedBlankLine,u&&u.length===this.cols&&u.getFg(0)===c.fg&&u.getBg(0)===c.bg||(u=h.getBlankLine(c,d),this._cachedBlankLine=u),u.isWrapped=d;let v=h.ybase+h.scrollTop,y=h.ybase+h.scrollBottom;if(h.scrollTop===0){let b=h.lines.isFull;y===h.lines.length-1?b?h.lines.recycle().copyFrom(u):h.lines.push(u.clone()):h.lines.splice(y+1,0,u.clone()),b?this.isUserScrolling&&(h.ydisp=Math.max(h.ydisp-1,0)):(h.ybase++,this.isUserScrolling||h.ydisp++)}else{let b=y-v+1;h.lines.shiftElements(v+1,b-1,-1),h.lines.set(y,u.clone())}this.isUserScrolling||(h.ydisp=h.ybase),this._onScroll.fire(h.ydisp)}scrollLines(c,d,h){let u=this.buffer;if(c<0){if(u.ydisp===0)return;this.isUserScrolling=!0}else c+u.ydisp>=u.ybase&&(this.isUserScrolling=!1);let v=u.ydisp;u.ydisp=Math.max(Math.min(u.ydisp+c,u.ybase),0),v!==u.ydisp&&(d||this._onScroll.fire(u.ydisp))}};i.BufferService=_=o([f(0,S.IOptionsService)],_)},7994:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.CharsetService=void 0,i.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(s){this.glevel=s,this.charset=this._charsets[s]}setgCharset(s,o){this._charsets[s]=o,this.glevel===s&&(this.charset=o)}}},1753:function(a,i,s){var o=this&&this.__decorate||function(u,v,y,b){var C,m=arguments.length,E=m<3?v:b===null?b=Object.getOwnPropertyDescriptor(v,y):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(u,v,y,b);else for(var P=u.length-1;P>=0;P--)(C=u[P])&&(E=(m<3?C(E):m>3?C(v,y,E):C(v,y))||E);return m>3&&E&&Object.defineProperty(v,y,E),E},f=this&&this.__param||function(u,v){return function(y,b){v(y,b,u)}};Object.defineProperty(i,"__esModule",{value:!0}),i.CoreMouseService=void 0;let l=s(2585),p=s(8460),g=s(844),S={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:u=>u.button!==4&&u.action===1&&(u.ctrl=!1,u.alt=!1,u.shift=!1,!0)},VT200:{events:19,restrict:u=>u.action!==32},DRAG:{events:23,restrict:u=>u.action!==32||u.button!==3},ANY:{events:31,restrict:u=>!0}};function _(u,v){let y=(u.ctrl?16:0)|(u.shift?4:0)|(u.alt?8:0);return u.button===4?(y|=64,y|=u.action):(y|=3&u.button,4&u.button&&(y|=64),8&u.button&&(y|=128),u.action===32?y|=32:u.action!==0||v||(y|=3)),y}let c=String.fromCharCode,d={DEFAULT:u=>{let v=[_(u,!1)+32,u.col+32,u.row+32];return v[0]>255||v[1]>255||v[2]>255?"":`\x1B[M${c(v[0])}${c(v[1])}${c(v[2])}`},SGR:u=>{let v=u.action===0&&u.button!==4?"m":"M";return`\x1B[<${_(u,!0)};${u.col};${u.row}${v}`},SGR_PIXELS:u=>{let v=u.action===0&&u.button!==4?"m":"M";return`\x1B[<${_(u,!0)};${u.x};${u.y}${v}`}},h=i.CoreMouseService=class extends g.Disposable{constructor(u,v){super(),this._bufferService=u,this._coreService=v,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new p.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(let y of Object.keys(S))this.addProtocol(y,S[y]);for(let y of Object.keys(d))this.addEncoding(y,d[y]);this.reset()}addProtocol(u,v){this._protocols[u]=v}addEncoding(u,v){this._encodings[u]=v}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(u){if(!this._protocols[u])throw new Error(`unknown protocol "${u}"`);this._activeProtocol=u,this._onProtocolChange.fire(this._protocols[u].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(u){if(!this._encodings[u])throw new Error(`unknown encoding "${u}"`);this._activeEncoding=u}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(u){if(u.col<0||u.col>=this._bufferService.cols||u.row<0||u.row>=this._bufferService.rows||u.button===4&&u.action===32||u.button===3&&u.action!==32||u.button!==4&&(u.action===2||u.action===3)||(u.col++,u.row++,u.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,u,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(u))return!1;let v=this._encodings[this._activeEncoding](u);return v&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(v):this._coreService.triggerDataEvent(v,!0)),this._lastEvent=u,!0}explainEvents(u){return{down:!!(1&u),up:!!(2&u),drag:!!(4&u),move:!!(8&u),wheel:!!(16&u)}}_equalEvents(u,v,y){if(y){if(u.x!==v.x||u.y!==v.y)return!1}else if(u.col!==v.col||u.row!==v.row)return!1;return u.button===v.button&&u.action===v.action&&u.ctrl===v.ctrl&&u.alt===v.alt&&u.shift===v.shift}};i.CoreMouseService=h=o([f(0,l.IBufferService),f(1,l.ICoreService)],h)},6975:function(a,i,s){var o=this&&this.__decorate||function(h,u,v,y){var b,C=arguments.length,m=C<3?u:y===null?y=Object.getOwnPropertyDescriptor(u,v):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(h,u,v,y);else for(var E=h.length-1;E>=0;E--)(b=h[E])&&(m=(C<3?b(m):C>3?b(u,v,m):b(u,v))||m);return C>3&&m&&Object.defineProperty(u,v,m),m},f=this&&this.__param||function(h,u){return function(v,y){u(v,y,h)}};Object.defineProperty(i,"__esModule",{value:!0}),i.CoreService=void 0;let l=s(1439),p=s(8460),g=s(844),S=s(2585),_=Object.freeze({insertMode:!1}),c=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),d=i.CoreService=class extends g.Disposable{constructor(h,u,v){super(),this._bufferService=h,this._logService=u,this._optionsService=v,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new p.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new p.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new p.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new p.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,l.clone)(_),this.decPrivateModes=(0,l.clone)(c)}reset(){this.modes=(0,l.clone)(_),this.decPrivateModes=(0,l.clone)(c)}triggerDataEvent(h,u=!1){if(this._optionsService.rawOptions.disableStdin)return;let v=this._bufferService.buffer;u&&this._optionsService.rawOptions.scrollOnUserInput&&v.ybase!==v.ydisp&&this._onRequestScrollToBottom.fire(),u&&this._onUserInput.fire(),this._logService.debug(`sending data "${h}"`,(()=>h.split("").map((y=>y.charCodeAt(0))))),this._onData.fire(h)}triggerBinaryEvent(h){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${h}"`,(()=>h.split("").map((u=>u.charCodeAt(0))))),this._onBinary.fire(h))}};i.CoreService=d=o([f(0,S.IBufferService),f(1,S.ILogService),f(2,S.IOptionsService)],d)},9074:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.DecorationService=void 0;let o=s(8055),f=s(8460),l=s(844),p=s(6106),g=0,S=0;class _ extends l.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new p.SortedList((h=>h?.marker.line)),this._onDecorationRegistered=this.register(new f.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new f.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,l.toDisposable)((()=>this.reset())))}registerDecoration(h){if(h.marker.isDisposed)return;let u=new c(h);if(u){let v=u.marker.onDispose((()=>u.dispose()));u.onDispose((()=>{u&&(this._decorations.delete(u)&&this._onDecorationRemoved.fire(u),v.dispose())})),this._decorations.insert(u),this._onDecorationRegistered.fire(u)}return u}reset(){for(let h of this._decorations.values())h.dispose();this._decorations.clear()}*getDecorationsAtCell(h,u,v){let y=0,b=0;for(let C of this._decorations.getKeyIterator(u))y=C.options.x??0,b=y+(C.options.width??1),h>=y&&h<b&&(!v||(C.options.layer??"bottom")===v)&&(yield C)}forEachDecorationAtCell(h,u,v,y){this._decorations.forEachByKey(u,(b=>{g=b.options.x??0,S=g+(b.options.width??1),h>=g&&h<S&&(!v||(b.options.layer??"bottom")===v)&&y(b)}))}}i.DecorationService=_;class c extends l.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=o.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=o.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(h){super(),this.options=h,this.onRenderEmitter=this.register(new f.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=h.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.InstantiationService=i.ServiceCollection=void 0;let o=s(2585),f=s(8343);class l{constructor(...g){this._entries=new Map;for(let[S,_]of g)this.set(S,_)}set(g,S){let _=this._entries.get(g);return this._entries.set(g,S),_}forEach(g){for(let[S,_]of this._entries.entries())g(S,_)}has(g){return this._entries.has(g)}get(g){return this._entries.get(g)}}i.ServiceCollection=l,i.InstantiationService=class{constructor(){this._services=new l,this._services.set(o.IInstantiationService,this)}setService(p,g){this._services.set(p,g)}getService(p){return this._services.get(p)}createInstance(p,...g){let S=(0,f.getServiceDependencies)(p).sort(((d,h)=>d.index-h.index)),_=[];for(let d of S){let h=this._services.get(d.id);if(!h)throw new Error(`[createInstance] ${p.name} depends on UNKNOWN service ${d.id}.`);_.push(h)}let c=S.length>0?S[0].index:g.length;if(g.length!==c)throw new Error(`[createInstance] First service dependency of ${p.name} at position ${c+1} conflicts with ${g.length} static arguments`);return new p(...g,..._)}}},7866:function(a,i,s){var o=this&&this.__decorate||function(c,d,h,u){var v,y=arguments.length,b=y<3?d:u===null?u=Object.getOwnPropertyDescriptor(d,h):u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(c,d,h,u);else for(var C=c.length-1;C>=0;C--)(v=c[C])&&(b=(y<3?v(b):y>3?v(d,h,b):v(d,h))||b);return y>3&&b&&Object.defineProperty(d,h,b),b},f=this&&this.__param||function(c,d){return function(h,u){d(h,u,c)}};Object.defineProperty(i,"__esModule",{value:!0}),i.traceCall=i.setTraceLogger=i.LogService=void 0;let l=s(844),p=s(2585),g={trace:p.LogLevelEnum.TRACE,debug:p.LogLevelEnum.DEBUG,info:p.LogLevelEnum.INFO,warn:p.LogLevelEnum.WARN,error:p.LogLevelEnum.ERROR,off:p.LogLevelEnum.OFF},S,_=i.LogService=class extends l.Disposable{get logLevel(){return this._logLevel}constructor(c){super(),this._optionsService=c,this._logLevel=p.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),S=this}_updateLogLevel(){this._logLevel=g[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(c){for(let d=0;d<c.length;d++)typeof c[d]=="function"&&(c[d]=c[d]())}_log(c,d,h){this._evalLazyOptionalParams(h),c.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+d,...h)}trace(c,...d){this._logLevel<=p.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,c,d)}debug(c,...d){this._logLevel<=p.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,c,d)}info(c,...d){this._logLevel<=p.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,c,d)}warn(c,...d){this._logLevel<=p.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,c,d)}error(c,...d){this._logLevel<=p.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,c,d)}};i.LogService=_=o([f(0,p.IOptionsService)],_),i.setTraceLogger=function(c){S=c},i.traceCall=function(c,d,h){if(typeof h.value!="function")throw new Error("not supported");let u=h.value;h.value=function(...v){if(S.logLevel!==p.LogLevelEnum.TRACE)return u.apply(this,v);S.trace(`GlyphRenderer#${u.name}(${v.map((b=>JSON.stringify(b))).join(", ")})`);let y=u.apply(this,v);return S.trace(`GlyphRenderer#${u.name} return`,y),y}}},7302:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.OptionsService=i.DEFAULT_OPTIONS=void 0;let o=s(8460),f=s(844),l=s(6114);i.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:l.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};let p=["normal","bold","100","200","300","400","500","600","700","800","900"];class g extends f.Disposable{constructor(_){super(),this._onOptionChange=this.register(new o.EventEmitter),this.onOptionChange=this._onOptionChange.event;let c={...i.DEFAULT_OPTIONS};for(let d in _)if(d in c)try{let h=_[d];c[d]=this._sanitizeAndValidateOption(d,h)}catch(h){console.error(h)}this.rawOptions=c,this.options={...c},this._setupOptions(),this.register((0,f.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(_,c){return this.onOptionChange((d=>{d===_&&c(this.rawOptions[_])}))}onMultipleOptionChange(_,c){return this.onOptionChange((d=>{_.indexOf(d)!==-1&&c()}))}_setupOptions(){let _=d=>{if(!(d in i.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);return this.rawOptions[d]},c=(d,h)=>{if(!(d in i.DEFAULT_OPTIONS))throw new Error(`No option with key "${d}"`);h=this._sanitizeAndValidateOption(d,h),this.rawOptions[d]!==h&&(this.rawOptions[d]=h,this._onOptionChange.fire(d))};for(let d in this.rawOptions){let h={get:_.bind(this,d),set:c.bind(this,d)};Object.defineProperty(this.options,d,h)}}_sanitizeAndValidateOption(_,c){switch(_){case"cursorStyle":if(c||(c=i.DEFAULT_OPTIONS[_]),!(function(d){return d==="block"||d==="underline"||d==="bar"})(c))throw new Error(`"${c}" is not a valid value for ${_}`);break;case"wordSeparator":c||(c=i.DEFAULT_OPTIONS[_]);break;case"fontWeight":case"fontWeightBold":if(typeof c=="number"&&1<=c&&c<=1e3)break;c=p.includes(c)?c:i.DEFAULT_OPTIONS[_];break;case"cursorWidth":c=Math.floor(c);case"lineHeight":case"tabStopWidth":if(c<1)throw new Error(`${_} cannot be less than 1, value: ${c}`);break;case"minimumContrastRatio":c=Math.max(1,Math.min(21,Math.round(10*c)/10));break;case"scrollback":if((c=Math.min(c,4294967295))<0)throw new Error(`${_} cannot be less than 0, value: ${c}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(c<=0)throw new Error(`${_} cannot be less than or equal to 0, value: ${c}`);break;case"rows":case"cols":if(!c&&c!==0)throw new Error(`${_} must be numeric, value: ${c}`);break;case"windowsPty":c=c??{}}return c}}i.OptionsService=g},2660:function(a,i,s){var o=this&&this.__decorate||function(g,S,_,c){var d,h=arguments.length,u=h<3?S:c===null?c=Object.getOwnPropertyDescriptor(S,_):c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")u=Reflect.decorate(g,S,_,c);else for(var v=g.length-1;v>=0;v--)(d=g[v])&&(u=(h<3?d(u):h>3?d(S,_,u):d(S,_))||u);return h>3&&u&&Object.defineProperty(S,_,u),u},f=this&&this.__param||function(g,S){return function(_,c){S(_,c,g)}};Object.defineProperty(i,"__esModule",{value:!0}),i.OscLinkService=void 0;let l=s(2585),p=i.OscLinkService=class{constructor(g){this._bufferService=g,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(g){let S=this._bufferService.buffer;if(g.id===void 0){let v=S.addMarker(S.ybase+S.y),y={data:g,id:this._nextId++,lines:[v]};return v.onDispose((()=>this._removeMarkerFromLink(y,v))),this._dataByLinkId.set(y.id,y),y.id}let _=g,c=this._getEntryIdKey(_),d=this._entriesWithId.get(c);if(d)return this.addLineToLink(d.id,S.ybase+S.y),d.id;let h=S.addMarker(S.ybase+S.y),u={id:this._nextId++,key:this._getEntryIdKey(_),data:_,lines:[h]};return h.onDispose((()=>this._removeMarkerFromLink(u,h))),this._entriesWithId.set(u.key,u),this._dataByLinkId.set(u.id,u),u.id}addLineToLink(g,S){let _=this._dataByLinkId.get(g);if(_&&_.lines.every((c=>c.line!==S))){let c=this._bufferService.buffer.addMarker(S);_.lines.push(c),c.onDispose((()=>this._removeMarkerFromLink(_,c)))}}getLinkData(g){return this._dataByLinkId.get(g)?.data}_getEntryIdKey(g){return`${g.id};;${g.uri}`}_removeMarkerFromLink(g,S){let _=g.lines.indexOf(S);_!==-1&&(g.lines.splice(_,1),g.lines.length===0&&(g.data.id!==void 0&&this._entriesWithId.delete(g.key),this._dataByLinkId.delete(g.id)))}};i.OscLinkService=p=o([f(0,l.IBufferService)],p)},8343:(a,i)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.createDecorator=i.getServiceDependencies=i.serviceRegistry=void 0;let s="di$target",o="di$dependencies";i.serviceRegistry=new Map,i.getServiceDependencies=function(f){return f[o]||[]},i.createDecorator=function(f){if(i.serviceRegistry.has(f))return i.serviceRegistry.get(f);let l=function(p,g,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(_,c,d){c[s]===c?c[o].push({id:_,index:d}):(c[o]=[{id:_,index:d}],c[s]=c)})(l,p,S)};return l.toString=()=>f,i.serviceRegistry.set(f,l),l}},2585:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.IDecorationService=i.IUnicodeService=i.IOscLinkService=i.IOptionsService=i.ILogService=i.LogLevelEnum=i.IInstantiationService=i.ICharsetService=i.ICoreService=i.ICoreMouseService=i.IBufferService=void 0;let o=s(8343);var f;i.IBufferService=(0,o.createDecorator)("BufferService"),i.ICoreMouseService=(0,o.createDecorator)("CoreMouseService"),i.ICoreService=(0,o.createDecorator)("CoreService"),i.ICharsetService=(0,o.createDecorator)("CharsetService"),i.IInstantiationService=(0,o.createDecorator)("InstantiationService"),(function(l){l[l.TRACE=0]="TRACE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.ERROR=4]="ERROR",l[l.OFF=5]="OFF"})(f||(i.LogLevelEnum=f={})),i.ILogService=(0,o.createDecorator)("LogService"),i.IOptionsService=(0,o.createDecorator)("OptionsService"),i.IOscLinkService=(0,o.createDecorator)("OscLinkService"),i.IUnicodeService=(0,o.createDecorator)("UnicodeService"),i.IDecorationService=(0,o.createDecorator)("DecorationService")},1480:(a,i,s)=>{Object.defineProperty(i,"__esModule",{value:!0}),i.UnicodeService=void 0;let o=s(8460),f=s(225);class l{static extractShouldJoin(g){return(1&g)!=0}static extractWidth(g){return g>>1&3}static extractCharKind(g){return g>>3}static createPropertyValue(g,S,_=!1){return(16777215&g)<<3|(3&S)<<1|(_?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new o.EventEmitter,this.onChange=this._onChange.event;let g=new f.UnicodeV6;this.register(g),this._active=g.version,this._activeProvider=g}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(g){if(!this._providers[g])throw new Error(`unknown Unicode version "${g}"`);this._active=g,this._activeProvider=this._providers[g],this._onChange.fire(g)}register(g){this._providers[g.version]=g}wcwidth(g){return this._activeProvider.wcwidth(g)}getStringCellWidth(g){let S=0,_=0,c=g.length;for(let d=0;d<c;++d){let h=g.charCodeAt(d);if(55296<=h&&h<=56319){if(++d>=c)return S+this.wcwidth(h);let y=g.charCodeAt(d);56320<=y&&y<=57343?h=1024*(h-55296)+y-56320+65536:S+=this.wcwidth(y)}let u=this.charProperties(h,_),v=l.extractWidth(u);l.extractShouldJoin(u)&&(v-=l.extractWidth(_)),S+=v,_=u}return S}charProperties(g,S){return this._activeProvider.charProperties(g,S)}}i.UnicodeService=l}},t={};function r(a){var i=t[a];if(i!==void 0)return i.exports;var s=t[a]={exports:{}};return e[a].call(s.exports,s,s.exports,r),s.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.Terminal=void 0;let i=r(9042),s=r(3236),o=r(844),f=r(5741),l=r(8285),p=r(7975),g=r(7090),S=["cols","rows"];class _ extends o.Disposable{constructor(d){super(),this._core=this.register(new s.Terminal(d)),this._addonManager=this.register(new f.AddonManager),this._publicOptions={...this._core.options};let h=v=>this._core.options[v],u=(v,y)=>{this._checkReadonlyOptions(v),this._core.options[v]=y};for(let v in this._core.options){let y={get:h.bind(this,v),set:u.bind(this,v)};Object.defineProperty(this._publicOptions,v,y)}}_checkReadonlyOptions(d){if(S.includes(d))throw new Error(`Option "${d}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new 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 p.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new g.UnicodeApi(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 l.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let d=this._core.coreService.decPrivateModes,h="none";switch(this._core.coreMouseService.activeProtocol){case"X10":h="x10";break;case"VT200":h="vt200";break;case"DRAG":h="drag";break;case"ANY":h="any"}return{applicationCursorKeysMode:d.applicationCursorKeys,applicationKeypadMode:d.applicationKeypad,bracketedPasteMode:d.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:h,originMode:d.origin,reverseWraparoundMode:d.reverseWraparound,sendFocusMode:d.sendFocus,wraparoundMode:d.wraparound}}get options(){return this._publicOptions}set options(d){for(let h in d)this._publicOptions[h]=d[h]}blur(){this._core.blur()}focus(){this._core.focus()}input(d,h=!0){this._core.input(d,h)}resize(d,h){this._verifyIntegers(d,h),this._core.resize(d,h)}open(d){this._core.open(d)}attachCustomKeyEventHandler(d){this._core.attachCustomKeyEventHandler(d)}attachCustomWheelEventHandler(d){this._core.attachCustomWheelEventHandler(d)}registerLinkProvider(d){return this._core.registerLinkProvider(d)}registerCharacterJoiner(d){return this._checkProposedApi(),this._core.registerCharacterJoiner(d)}deregisterCharacterJoiner(d){this._checkProposedApi(),this._core.deregisterCharacterJoiner(d)}registerMarker(d=0){return this._verifyIntegers(d),this._core.registerMarker(d)}registerDecoration(d){return this._checkProposedApi(),this._verifyPositiveIntegers(d.x??0,d.width??0,d.height??0),this._core.registerDecoration(d)}hasSelection(){return this._core.hasSelection()}select(d,h,u){this._verifyIntegers(d,h,u),this._core.select(d,h,u)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(d,h){this._verifyIntegers(d,h),this._core.selectLines(d,h)}dispose(){super.dispose()}scrollLines(d){this._verifyIntegers(d),this._core.scrollLines(d)}scrollPages(d){this._verifyIntegers(d),this._core.scrollPages(d)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(d){this._verifyIntegers(d),this._core.scrollToLine(d)}clear(){this._core.clear()}write(d,h){this._core.write(d,h)}writeln(d,h){this._core.write(d),this._core.write(`\r
9
+ `,h)}paste(d){this._core.paste(d)}refresh(d,h){this._verifyIntegers(d,h),this._core.refresh(d,h)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(d){this._addonManager.loadAddon(this,d)}static get strings(){return i}_verifyIntegers(...d){for(let h of d)if(h===1/0||isNaN(h)||h%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...d){for(let h of d)if(h&&(h===1/0||isNaN(h)||h%1!=0||h<0))throw new Error("This API only accepts positive integers")}}a.Terminal=_})(),n})()))});var Kn=zn((hi,fs)=>{(function(e,t){typeof hi=="object"&&typeof fs=="object"?fs.exports=t():typeof define=="function"&&define.amd?define([],t):typeof hi=="object"?hi.FitAddon=t():e.FitAddon=t()})(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0,t.FitAddon=class{activate(r){this._terminal=r}dispose(){}fit(){let r=this.proposeDimensions();if(!r||!this._terminal||isNaN(r.cols)||isNaN(r.rows))return;let n=this._terminal._core;this._terminal.rows===r.rows&&this._terminal.cols===r.cols||(n._renderService.clear(),this._terminal.resize(r.cols,r.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let r=this._terminal._core,n=r._renderService.dimensions;if(n.css.cell.width===0||n.css.cell.height===0)return;let a=this._terminal.options.scrollback===0?0:r.viewport.scrollBarWidth,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),o=Math.max(0,parseInt(i.getPropertyValue("width"))),f=window.getComputedStyle(this._terminal.element),l=s-(parseInt(f.getPropertyValue("padding-top"))+parseInt(f.getPropertyValue("padding-bottom"))),p=o-(parseInt(f.getPropertyValue("padding-right"))+parseInt(f.getPropertyValue("padding-left")))-a;return{cols:Math.max(2,Math.floor(p/n.css.cell.width)),rows:Math.max(1,Math.floor(l/n.css.cell.height))}}}})(),e})()))});var al=Un(qn(),1),ll=Un(Kn(),1);var mc=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Gn.isErrorNoTelemetry(e)?new Gn(e.message+`
10
10
 
11
11
  `+e.stack):new Error(e.message+`
12
12
 
13
- `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(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)}},Ql=new Zl;function ls(e){ec(e)||Ql.onUnexpectedError(e)}var ds="Canceled";function ec(e){return e instanceof tc?!0:e instanceof Error&&e.name===ds&&e.message===ds}var tc=class extends Error{constructor(){super(ds),this.name=this.message}},On=class us extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof us)return t;let i=new us;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}};function ic(e,t,i=0,n=e.length){let a=i,r=n;for(;a<r;){let s=Math.floor((a+r)/2);t(e[s])?a=s+1:r=s}return a-1}var rc=class Gn{constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(Gn.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let i=ic(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=i+1,i===-1?void 0:this._array[i]}};rc.assertInvariants=!1;var fs;(e=>{function t(r){return r<0}e.isLessThan=t;function i(r){return r<=0}e.isLessThanOrEqual=i;function n(r){return r>0}e.isGreaterThan=n;function a(r){return r===0}e.isNeitherLessOrGreaterThan=a,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(fs||(fs={}));function sc(e,t){return(i,n)=>t(e(i),e(n))}var nc=(e,t)=>e-t,In=class _s{constructor(t){this.iterate=t}forEach(t){this.iterate(i=>(t(i),!0))}toArray(){let t=[];return this.iterate(i=>(t.push(i),!0)),t}filter(t){return new _s(i=>this.iterate(n=>t(n)?i(n):!0))}map(t){return new _s(i=>this.iterate(n=>i(t(n))))}some(t){let i=!1;return this.iterate(n=>(i=t(n),!i)),i}findFirst(t){let i;return this.iterate(n=>t(n)?(i=n,!1):!0),i}findLast(t){let i;return this.iterate(n=>(t(n)&&(i=n),!0)),i}findLastMaxBy(t){let i,n=!0;return this.iterate(a=>((n||fs.isGreaterThan(t(a,i)))&&(n=!1,i=a),!0)),i}};In.empty=new In(e=>{});function oc(e,t){let i=Object.create(null);for(let n of e){let a=t(n),r=i[a];r||(r=i[a]=[]),r.push(n)}return i}var Nn,Hn,C_=class{constructor(e,t){this.toKey=t,this._map=new Map,this[Nn]="SetWithKey";for(let i of e)this.add(i)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,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,t){this._map.forEach(i=>e.call(t,i,i,this))}[(Hn=Symbol.iterator,Nn=Symbol.toStringTag,Hn)](){return this.values()}},ac=class{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){let i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){let i=this.map.get(e);i&&i.forEach(t)}get(e){return this.map.get(e)||new Set}};function lc(e,t){let i=this,n=!1,a;return function(){if(n)return a;if(n=!0,t)try{a=e.apply(i,arguments)}finally{t()}else a=e.apply(i,arguments);return a}}var ps;(e=>{function t(b){return b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function n(){return i}e.empty=n;function*a(b){yield b}e.single=a;function r(b){return t(b)?b:a(b)}e.wrap=r;function s(b){return b||i}e.from=s;function*o(b){for(let y=b.length-1;y>=0;y--)yield b[y]}e.reverse=o;function f(b){return!b||b[Symbol.iterator]().next().done===!0}e.isEmpty=f;function l(b){return b[Symbol.iterator]().next().value}e.first=l;function p(b,y){let m=0;for(let E of b)if(y(E,m++))return!0;return!1}e.some=p;function g(b,y){for(let m of b)if(y(m))return m}e.find=g;function*S(b,y){for(let m of b)y(m)&&(yield m)}e.filter=S;function*_(b,y){let m=0;for(let E of b)yield y(E,m++)}e.map=_;function*c(b,y){let m=0;for(let E of b)yield*y(E,m++)}e.flatMap=c;function*d(...b){for(let y of b)yield*y}e.concat=d;function h(b,y,m){let E=m;for(let P of b)E=y(E,P);return E}e.reduce=h;function*u(b,y,m=b.length){for(y<0&&(y+=b.length),m<0?m+=b.length:m>b.length&&(m=b.length);y<m;y++)yield b[y]}e.slice=u;function v(b,y=Number.POSITIVE_INFINITY){let m=[];if(y===0)return[m,b];let E=b[Symbol.iterator]();for(let P=0;P<y;P++){let B=E.next();if(B.done)return[m,e.empty()];m.push(B.value)}return[m,{[Symbol.iterator](){return E}}]}e.consume=v;async function C(b){let y=[];for await(let m of b)y.push(m);return Promise.resolve(y)}e.asyncToArray=C})(ps||(ps={}));var cc=!1,ei=null,hc=class Vn{constructor(){this.livingDisposables=new Map}getDisposableData(t){let i=this.livingDisposables.get(t);return i||(i={parent:null,source:null,isSingleton:!1,value:t,idx:Vn.idx++},this.livingDisposables.set(t,i)),i}trackDisposable(t){let i=this.getDisposableData(t);i.source||(i.source=new Error().stack)}setParent(t,i){let n=this.getDisposableData(t);n.parent=i}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,i){let n=i.get(t);if(n)return n;let a=t.parent?this.getRootParent(this.getDisposableData(t.parent),i):t;return i.set(t,a),a}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,i])=>i.source!==null&&!this.getRootParent(i,t).isSingleton).flatMap(([i])=>i)}computeLeakingDisposables(t=10,i){let n;if(i)n=i;else{let f=new Map,l=[...this.livingDisposables.values()].filter(g=>g.source!==null&&!this.getRootParent(g,f).isSingleton);if(l.length===0)return;let p=new Set(l.map(g=>g.value));if(n=l.filter(g=>!(g.parent&&p.has(g.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function a(f){function l(g,S){for(;g.length>0&&S.some(_=>typeof _=="string"?_===g[0]:g[0].match(_));)g.shift()}let p=f.source.split(`
14
- `).map(g=>g.trim().replace("at ","")).filter(g=>g!=="");return l(p,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),p.reverse()}let r=new ac;for(let f of n){let l=a(f);for(let p=0;p<=l.length;p++)r.add(l.slice(0,p).join(`
15
- `),f)}n.sort(sc(f=>f.idx,nc));let s="",o=0;for(let f of n.slice(0,t)){o++;let l=a(f),p=[];for(let g=0;g<l.length;g++){let S=l[g];S=`(shared with ${r.get(l.slice(0,g+1).join(`
16
- `)).size}/${n.length} leaks) at ${S}`;let _=r.get(l.slice(0,g).join(`
17
- `)),c=oc([..._].map(d=>a(d)[g]),d=>d);delete c[l[g]];for(let[d,h]of Object.entries(c))p.unshift(` - stacktraces of ${h.length} other leaks continue with ${d}`);p.unshift(S)}s+=`
13
+ `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(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)}},bc=new mc;function _s(e){wc(e)||bc.onUnexpectedError(e)}var vs="Canceled";function wc(e){return e instanceof Sc?!0:e instanceof Error&&e.name===vs&&e.message===vs}var Sc=class extends Error{constructor(){super(vs),this.name=this.message}},Gn=class ms extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof ms)return t;let r=new ms;return r.message=t.message,r.stack=t.stack,r}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}};function yc(e,t,r=0,n=e.length){let a=r,i=n;for(;a<i;){let s=Math.floor((a+i)/2);t(e[s])?a=s+1:i=s}return a-1}var Cc=class no{constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(no.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let r=yc(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=r+1,r===-1?void 0:this._array[r]}};Cc.assertInvariants=!1;var bs;(e=>{function t(i){return i<0}e.isLessThan=t;function r(i){return i<=0}e.isLessThanOrEqual=r;function n(i){return i>0}e.isGreaterThan=n;function a(i){return i===0}e.isNeitherLessOrGreaterThan=a,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(bs||(bs={}));function xc(e,t){return(r,n)=>t(e(r),e(n))}var kc=(e,t)=>e-t,Vn=class ws{constructor(t){this.iterate=t}forEach(t){this.iterate(r=>(t(r),!0))}toArray(){let t=[];return this.iterate(r=>(t.push(r),!0)),t}filter(t){return new ws(r=>this.iterate(n=>t(n)?r(n):!0))}map(t){return new ws(r=>this.iterate(n=>r(t(n))))}some(t){let r=!1;return this.iterate(n=>(r=t(n),!r)),r}findFirst(t){let r;return this.iterate(n=>t(n)?(r=n,!1):!0),r}findLast(t){let r;return this.iterate(n=>(t(n)&&(r=n),!0)),r}findLastMaxBy(t){let r,n=!0;return this.iterate(a=>((n||bs.isGreaterThan(t(a,r)))&&(n=!1,r=a),!0)),r}};Vn.empty=new Vn(e=>{});function Ec(e,t){let r=Object.create(null);for(let n of e){let a=t(n),i=r[a];i||(i=r[a]=[]),i.push(n)}return r}var Yn,Xn,q_=class{constructor(e,t){this.toKey=t,this._map=new Map,this[Yn]="SetWithKey";for(let r of e)this.add(r)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,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,t){this._map.forEach(r=>e.call(t,r,r,this))}[(Xn=Symbol.iterator,Yn=Symbol.toStringTag,Xn)](){return this.values()}},Lc=class{constructor(){this.map=new Map}add(e,t){let r=this.map.get(e);r||(r=new Set,this.map.set(e,r)),r.add(t)}delete(e,t){let r=this.map.get(e);r&&(r.delete(t),r.size===0&&this.map.delete(e))}forEach(e,t){let r=this.map.get(e);r&&r.forEach(t)}get(e){return this.map.get(e)||new Set}};function Mc(e,t){let r=this,n=!1,a;return function(){if(n)return a;if(n=!0,t)try{a=e.apply(r,arguments)}finally{t()}else a=e.apply(r,arguments);return a}}var Ss;(e=>{function t(b){return b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}e.is=t;let r=Object.freeze([]);function n(){return r}e.empty=n;function*a(b){yield b}e.single=a;function i(b){return t(b)?b:a(b)}e.wrap=i;function s(b){return b||r}e.from=s;function*o(b){for(let C=b.length-1;C>=0;C--)yield b[C]}e.reverse=o;function f(b){return!b||b[Symbol.iterator]().next().done===!0}e.isEmpty=f;function l(b){return b[Symbol.iterator]().next().value}e.first=l;function p(b,C){let m=0;for(let E of b)if(C(E,m++))return!0;return!1}e.some=p;function g(b,C){for(let m of b)if(C(m))return m}e.find=g;function*S(b,C){for(let m of b)C(m)&&(yield m)}e.filter=S;function*_(b,C){let m=0;for(let E of b)yield C(E,m++)}e.map=_;function*c(b,C){let m=0;for(let E of b)yield*C(E,m++)}e.flatMap=c;function*d(...b){for(let C of b)yield*C}e.concat=d;function h(b,C,m){let E=m;for(let P of b)E=C(E,P);return E}e.reduce=h;function*u(b,C,m=b.length){for(C<0&&(C+=b.length),m<0?m+=b.length:m>b.length&&(m=b.length);C<m;C++)yield b[C]}e.slice=u;function v(b,C=Number.POSITIVE_INFINITY){let m=[];if(C===0)return[m,b];let E=b[Symbol.iterator]();for(let P=0;P<C;P++){let B=E.next();if(B.done)return[m,e.empty()];m.push(B.value)}return[m,{[Symbol.iterator](){return E}}]}e.consume=v;async function y(b){let C=[];for await(let m of b)C.push(m);return Promise.resolve(C)}e.asyncToArray=y})(Ss||(Ss={}));var Rc=!1,tr=null,Tc=class oo{constructor(){this.livingDisposables=new Map}getDisposableData(t){let r=this.livingDisposables.get(t);return r||(r={parent:null,source:null,isSingleton:!1,value:t,idx:oo.idx++},this.livingDisposables.set(t,r)),r}trackDisposable(t){let r=this.getDisposableData(t);r.source||(r.source=new Error().stack)}setParent(t,r){let n=this.getDisposableData(t);n.parent=r}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,r){let n=r.get(t);if(n)return n;let a=t.parent?this.getRootParent(this.getDisposableData(t.parent),r):t;return r.set(t,a),a}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,r])=>r.source!==null&&!this.getRootParent(r,t).isSingleton).flatMap(([r])=>r)}computeLeakingDisposables(t=10,r){let n;if(r)n=r;else{let f=new Map,l=[...this.livingDisposables.values()].filter(g=>g.source!==null&&!this.getRootParent(g,f).isSingleton);if(l.length===0)return;let p=new Set(l.map(g=>g.value));if(n=l.filter(g=>!(g.parent&&p.has(g.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function a(f){function l(g,S){for(;g.length>0&&S.some(_=>typeof _=="string"?_===g[0]:g[0].match(_));)g.shift()}let p=f.source.split(`
14
+ `).map(g=>g.trim().replace("at ","")).filter(g=>g!=="");return l(p,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),p.reverse()}let i=new Lc;for(let f of n){let l=a(f);for(let p=0;p<=l.length;p++)i.add(l.slice(0,p).join(`
15
+ `),f)}n.sort(xc(f=>f.idx,kc));let s="",o=0;for(let f of n.slice(0,t)){o++;let l=a(f),p=[];for(let g=0;g<l.length;g++){let S=l[g];S=`(shared with ${i.get(l.slice(0,g+1).join(`
16
+ `)).size}/${n.length} leaks) at ${S}`;let _=i.get(l.slice(0,g).join(`
17
+ `)),c=Ec([..._].map(d=>a(d)[g]),d=>d);delete c[l[g]];for(let[d,h]of Object.entries(c))p.unshift(` - stacktraces of ${h.length} other leaks continue with ${d}`);p.unshift(S)}s+=`
18
18
 
19
19
 
20
20
  ==================== Leaking disposable ${o}/${n.length}: ${f.value.constructor.name} ====================
@@ -27,20 +27,20 @@ ${p.join(`
27
27
 
28
28
  ... and ${n.length-t} more leaking disposables
29
29
 
30
- `),{leaks:n,details:s}}};hc.idx=0;function dc(e){ei=e}if(cc){let e="__is_disposable_tracked__";dc(new class{trackDisposable(t){let i=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(i)},3e3)}setParent(t,i){if(t&&t!==st.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==st.None)try{t[e]=!0}catch{}}markAsSingleton(t){}})}function pr(e){return ei?.trackDisposable(e),e}function gr(e){ei?.markAsDisposed(e)}function Li(e,t){ei?.setParent(e,t)}function uc(e,t){if(ei)for(let i of e)ei.setParent(i,t)}function Ei(e){if(ps.is(e)){let t=[];for(let i of e)if(i)try{i.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Yn(...e){let t=ti(()=>Ei(e));return uc(e,t),t}function ti(e){let t=pr({dispose:lc(()=>{gr(t),e()})});return t}var Xn=class Jn{constructor(){this._toDispose=new Set,this._isDisposed=!1,pr(this)}dispose(){this._isDisposed||(gr(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Ei(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return Li(t,this),this._isDisposed?Jn.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),Li(t,null))}};Xn.DISABLE_DISPOSED_WARNING=!1;var Cs=Xn,st=class{constructor(){this._store=new Cs,pr(this),Li(this._store,this)}dispose(){gr(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};st.None=Object.freeze({dispose(){}});var fr=class{constructor(){this._isDisposed=!1,pr(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Li(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,gr(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Li(e,null),e}},Fn=class gs{constructor(t){this.element=t,this.next=gs.Undefined,this.prev=gs.Undefined}};Fn.Undefined=new Fn(void 0);var fc=globalThis.performance&&typeof globalThis.performance.now=="function",_c=class Zn{static create(t){return new Zn(t)}constructor(t){this._now=fc&&t===!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}},pc=!1,Wn=!1,gc=!1,_r;(e=>{e.None=()=>st.None;function t(A){if(gc){let{onDidAddListener:T}=A,F=bs.create(),D=0;A.onDidAddListener=()=>{++D===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),F.print()),T?.()}}}function i(A,T){return S(A,()=>{},0,void 0,!0,void 0,T)}e.defer=i;function n(A){return(T,F=null,D)=>{let w=!1,L;return L=A(k=>{if(!w)return L?L.dispose():w=!0,T.call(F,k)},null,D),w&&L.dispose(),L}}e.once=n;function a(A,T,F){return p((D,w=null,L)=>A(k=>D.call(w,T(k)),null,L),F)}e.map=a;function r(A,T,F){return p((D,w=null,L)=>A(k=>{T(k),D.call(w,k)},null,L),F)}e.forEach=r;function s(A,T,F){return p((D,w=null,L)=>A(k=>T(k)&&D.call(w,k),null,L),F)}e.filter=s;function o(A){return A}e.signal=o;function f(...A){return(T,F=null,D)=>{let w=Yn(...A.map(L=>L(k=>T.call(F,k))));return g(w,D)}}e.any=f;function l(A,T,F,D){let w=F;return a(A,L=>(w=T(w,L),w),D)}e.reduce=l;function p(A,T){let F,D={onWillAddFirstListener(){F=A(w.fire,w)},onDidRemoveLastListener(){F?.dispose()}};T||t(D);let w=new rt(D);return T?.add(w),w.event}function g(A,T){return T instanceof Array?T.push(A):T&&T.add(A),A}function S(A,T,F=100,D=!1,w=!1,L,k){let M,$,q,V=0,J,N={leakWarningThreshold:L,onWillAddFirstListener(){M=A(I=>{V++,$=T($,I),D&&!q&&(x.fire($),$=void 0),J=()=>{let O=$;$=void 0,q=void 0,(!D||V>1)&&x.fire(O),V=0},typeof F=="number"?(clearTimeout(q),q=setTimeout(J,F)):q===void 0&&(q=0,queueMicrotask(J))})},onWillRemoveListener(){w&&V>0&&J?.()},onDidRemoveLastListener(){J=void 0,M.dispose()}};k||t(N);let x=new rt(N);return k?.add(x),x.event}e.debounce=S;function _(A,T=0,F){return e.debounce(A,(D,w)=>D?(D.push(w),D):[w],T,void 0,!0,void 0,F)}e.accumulate=_;function c(A,T=(D,w)=>D===w,F){let D=!0,w;return s(A,L=>{let k=D||!T(L,w);return D=!1,w=L,k},F)}e.latch=c;function d(A,T,F){return[e.filter(A,T,F),e.filter(A,D=>!T(D),F)]}e.split=d;function h(A,T=!1,F=[],D){let w=F.slice(),L=A($=>{w?w.push($):M.fire($)});D&&D.add(L);let k=()=>{w?.forEach($=>M.fire($)),w=null},M=new rt({onWillAddFirstListener(){L||(L=A($=>M.fire($)),D&&D.add(L))},onDidAddFirstListener(){w&&(T?setTimeout(k):k())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return D&&D.add(M),M.event}e.buffer=h;function u(A,T){return(F,D,w)=>{let L=T(new C);return A(function(k){let M=L.evaluate(k);M!==v&&F.call(D,M)},void 0,w)}}e.chain=u;let v=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(F=>(T(F),F)),this}filter(T){return this.steps.push(F=>T(F)?F:v),this}reduce(T,F){let D=F;return this.steps.push(w=>(D=T(D,w),D)),this}latch(T=(F,D)=>F===D){let F=!0,D;return this.steps.push(w=>{let L=F||!T(w,D);return F=!1,D=w,L?w:v}),this}evaluate(T){for(let F of this.steps)if(T=F(T),T===v)break;return T}}function b(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.on(T,D),L=()=>A.removeListener(T,D),k=new rt({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromNodeEventEmitter=b;function y(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.addEventListener(T,D),L=()=>A.removeEventListener(T,D),k=new rt({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromDOMEventEmitter=y;function m(A){return new Promise(T=>n(A)(T))}e.toPromise=m;function E(A){let T=new rt;return A.then(F=>{T.fire(F)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}e.fromPromise=E;function P(A,T){return A(F=>T.fire(F))}e.forward=P;function B(A,T,F){return T(F),A(D=>T(D))}e.runAndSubscribe=B;class H{constructor(T,F){this._observable=T,this._counter=0,this._hasChanged=!1;let D={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};F||t(D),this.emitter=new rt(D),F&&F.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,F){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function R(A,T){return new H(A,T).emitter.event}e.fromObservable=R;function j(A){return(T,F,D)=>{let w=0,L=!1,k={beginUpdate(){w++},endUpdate(){w--,w===0&&(A.reportChanges(),L&&(L=!1,T.call(F)))},handlePossibleChange(){},handleChange(){L=!0}};A.addObserver(k),A.reportChanges();let M={dispose(){A.removeObserver(k)}};return D instanceof Cs?D.add(M):Array.isArray(D)&&D.push(M),M}}e.fromObservableLight=j})(_r||(_r={}));var vs=class ms{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ms._idPool++}`,ms.all.add(this)}start(t){this._stopWatch=new _c,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};vs.all=new Set,vs._idPool=0;var vc=vs,$n=-1,Qn=class eo{constructor(t,i,n=(eo._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=i,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,i){let n=this.threshold;if(n<=0||i<n)return;this._stacks||(this._stacks=new Map);let a=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,a+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[r,s]=this.getMostFrequentStack(),o=`[${this.name}] potential listener LEAK detected, having ${i} listeners already. MOST frequent listener (${s}):`;console.warn(o),console.warn(r);let f=new bc(o,r);this._errorHandler(f)}return()=>{let r=this._stacks.get(t.value)||0;this._stacks.set(t.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,i=0;for(let[n,a]of this._stacks)(!t||i<a)&&(t=[n,a],i=a);return t}};Qn._idPool=1;var mc=Qn,bs=class to{constructor(t){this.value=t}static create(){let t=new Error;return new to(t.stack??"")}print(){console.warn(this.value.split(`
30
+ `),{leaks:n,details:s}}};Tc.idx=0;function Ac(e){tr=e}if(Rc){let e="__is_disposable_tracked__";Ac(new class{trackDisposable(t){let r=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(r)},3e3)}setParent(t,r){if(t&&t!==nt.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==nt.None)try{t[e]=!0}catch{}}markAsSingleton(t){}})}function mi(e){return tr?.trackDisposable(e),e}function bi(e){tr?.markAsDisposed(e)}function Tr(e,t){tr?.setParent(e,t)}function Dc(e,t){if(tr)for(let r of e)tr.setParent(r,t)}function Rr(e){if(Ss.is(e)){let t=[];for(let r of e)if(r)try{r.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function ao(...e){let t=rr(()=>Rr(e));return Dc(e,t),t}function rr(e){let t=mi({dispose:Mc(()=>{bi(t),e()})});return t}var lo=class co{constructor(){this._toDispose=new Set,this._isDisposed=!1,mi(this)}dispose(){this._isDisposed||(bi(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Rr(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return Tr(t,this),this._isDisposed?co.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),Tr(t,null))}};lo.DISABLE_DISPOSED_WARNING=!1;var Ms=lo,nt=class{constructor(){this._store=new Ms,mi(this),Tr(this._store,this)}dispose(){bi(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};nt.None=Object.freeze({dispose(){}});var gi=class{constructor(){this._isDisposed=!1,mi(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Tr(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,bi(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Tr(e,null),e}},Jn=class ys{constructor(t){this.element=t,this.next=ys.Undefined,this.prev=ys.Undefined}};Jn.Undefined=new Jn(void 0);var Bc=globalThis.performance&&typeof globalThis.performance.now=="function",Pc=class ho{static create(t){return new ho(t)}constructor(t){this._now=Bc&&t===!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}},Oc=!1,Zn=!1,Ic=!1,vi;(e=>{e.None=()=>nt.None;function t(A){if(Ic){let{onDidAddListener:T}=A,F=ks.create(),D=0;A.onDidAddListener=()=>{++D===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),F.print()),T?.()}}}function r(A,T){return S(A,()=>{},0,void 0,!0,void 0,T)}e.defer=r;function n(A){return(T,F=null,D)=>{let w=!1,L;return L=A(k=>{if(!w)return L?L.dispose():w=!0,T.call(F,k)},null,D),w&&L.dispose(),L}}e.once=n;function a(A,T,F){return p((D,w=null,L)=>A(k=>D.call(w,T(k)),null,L),F)}e.map=a;function i(A,T,F){return p((D,w=null,L)=>A(k=>{T(k),D.call(w,k)},null,L),F)}e.forEach=i;function s(A,T,F){return p((D,w=null,L)=>A(k=>T(k)&&D.call(w,k),null,L),F)}e.filter=s;function o(A){return A}e.signal=o;function f(...A){return(T,F=null,D)=>{let w=ao(...A.map(L=>L(k=>T.call(F,k))));return g(w,D)}}e.any=f;function l(A,T,F,D){let w=F;return a(A,L=>(w=T(w,L),w),D)}e.reduce=l;function p(A,T){let F,D={onWillAddFirstListener(){F=A(w.fire,w)},onDidRemoveLastListener(){F?.dispose()}};T||t(D);let w=new st(D);return T?.add(w),w.event}function g(A,T){return T instanceof Array?T.push(A):T&&T.add(A),A}function S(A,T,F=100,D=!1,w=!1,L,k){let M,z,q,V=0,Z,I={leakWarningThreshold:L,onWillAddFirstListener(){M=A(O=>{V++,z=T(z,O),D&&!q&&(x.fire(z),z=void 0),Z=()=>{let N=z;z=void 0,q=void 0,(!D||V>1)&&x.fire(N),V=0},typeof F=="number"?(clearTimeout(q),q=setTimeout(Z,F)):q===void 0&&(q=0,queueMicrotask(Z))})},onWillRemoveListener(){w&&V>0&&Z?.()},onDidRemoveLastListener(){Z=void 0,M.dispose()}};k||t(I);let x=new st(I);return k?.add(x),x.event}e.debounce=S;function _(A,T=0,F){return e.debounce(A,(D,w)=>D?(D.push(w),D):[w],T,void 0,!0,void 0,F)}e.accumulate=_;function c(A,T=(D,w)=>D===w,F){let D=!0,w;return s(A,L=>{let k=D||!T(L,w);return D=!1,w=L,k},F)}e.latch=c;function d(A,T,F){return[e.filter(A,T,F),e.filter(A,D=>!T(D),F)]}e.split=d;function h(A,T=!1,F=[],D){let w=F.slice(),L=A(z=>{w?w.push(z):M.fire(z)});D&&D.add(L);let k=()=>{w?.forEach(z=>M.fire(z)),w=null},M=new st({onWillAddFirstListener(){L||(L=A(z=>M.fire(z)),D&&D.add(L))},onDidAddFirstListener(){w&&(T?setTimeout(k):k())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return D&&D.add(M),M.event}e.buffer=h;function u(A,T){return(F,D,w)=>{let L=T(new y);return A(function(k){let M=L.evaluate(k);M!==v&&F.call(D,M)},void 0,w)}}e.chain=u;let v=Symbol("HaltChainable");class y{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(F=>(T(F),F)),this}filter(T){return this.steps.push(F=>T(F)?F:v),this}reduce(T,F){let D=F;return this.steps.push(w=>(D=T(D,w),D)),this}latch(T=(F,D)=>F===D){let F=!0,D;return this.steps.push(w=>{let L=F||!T(w,D);return F=!1,D=w,L?w:v}),this}evaluate(T){for(let F of this.steps)if(T=F(T),T===v)break;return T}}function b(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.on(T,D),L=()=>A.removeListener(T,D),k=new st({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromNodeEventEmitter=b;function C(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.addEventListener(T,D),L=()=>A.removeEventListener(T,D),k=new st({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromDOMEventEmitter=C;function m(A){return new Promise(T=>n(A)(T))}e.toPromise=m;function E(A){let T=new st;return A.then(F=>{T.fire(F)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}e.fromPromise=E;function P(A,T){return A(F=>T.fire(F))}e.forward=P;function B(A,T,F){return T(F),A(D=>T(D))}e.runAndSubscribe=B;class H{constructor(T,F){this._observable=T,this._counter=0,this._hasChanged=!1;let D={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};F||t(D),this.emitter=new st(D),F&&F.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,F){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function R(A,T){return new H(A,T).emitter.event}e.fromObservable=R;function j(A){return(T,F,D)=>{let w=0,L=!1,k={beginUpdate(){w++},endUpdate(){w--,w===0&&(A.reportChanges(),L&&(L=!1,T.call(F)))},handlePossibleChange(){},handleChange(){L=!0}};A.addObserver(k),A.reportChanges();let M={dispose(){A.removeObserver(k)}};return D instanceof Ms?D.add(M):Array.isArray(D)&&D.push(M),M}}e.fromObservableLight=j})(vi||(vi={}));var Cs=class xs{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${xs._idPool++}`,xs.all.add(this)}start(t){this._stopWatch=new Pc,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Cs.all=new Set,Cs._idPool=0;var Nc=Cs,Qn=-1,uo=class fo{constructor(t,r,n=(fo._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=r,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,r){let n=this.threshold;if(n<=0||r<n)return;this._stacks||(this._stacks=new Map);let a=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,a+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[i,s]=this.getMostFrequentStack(),o=`[${this.name}] potential listener LEAK detected, having ${r} listeners already. MOST frequent listener (${s}):`;console.warn(o),console.warn(i);let f=new Fc(o,i);this._errorHandler(f)}return()=>{let i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,r=0;for(let[n,a]of this._stacks)(!t||r<a)&&(t=[n,a],r=a);return t}};uo._idPool=1;var Hc=uo,ks=class _o{constructor(t){this.value=t}static create(){let t=new Error;return new _o(t.stack??"")}print(){console.warn(this.value.split(`
31
31
  `).slice(2).join(`
32
- `))}},bc=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},wc=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},Sc=0,cr=class{constructor(e){this.value=e,this.id=Sc++}},Cc=2,yc=(e,t)=>{if(e instanceof cr)t(e);else for(let i=0;i<e.length;i++){let n=e[i];n&&t(n)}},hr;if(pc){let e=[];setInterval(()=>{e.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(e.join(`
33
- `)),e.length=0)},3e3),hr=new FinalizationRegistry(t=>{typeof t=="string"&&e.push(t)})}var rt=class{constructor(e){this._size=0,this._options=e,this._leakageMon=$n>0||this._options?.leakWarningThreshold?new mc(e?.onListenerError??ls,this._options?.leakWarningThreshold??$n):void 0,this._perfMon=this._options?._profName?new vc(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(Wn){let e=this._listeners;queueMicrotask(()=>{yc(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??(this._event=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],l=new wc(`${o}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(this._options?.onListenerError||ls)(l),st.None}if(this._disposed)return st.None;t&&(e=e.bind(t));let n=new cr(e),a,r;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=bs.create(),a=this._leakageMon.check(n.stack,this._size+1)),Wn&&(n.stack=r??bs.create()),this._listeners?this._listeners instanceof cr?(this._deliveryQueue??(this._deliveryQueue=new xc),this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._size++;let s=ti(()=>{hr?.unregister(s),a?.(),this._removeListener(n)});if(i instanceof Cs?i.add(s):Array.isArray(i)&&i.push(s),hr){let o=new Error().stack.split(`
32
+ `))}},Fc=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},Wc=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},$c=0,ui=class{constructor(e){this.value=e,this.id=$c++}},zc=2,Uc=(e,t)=>{if(e instanceof ui)t(e);else for(let r=0;r<e.length;r++){let n=e[r];n&&t(n)}},fi;if(Oc){let e=[];setInterval(()=>{e.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(e.join(`
33
+ `)),e.length=0)},3e3),fi=new FinalizationRegistry(t=>{typeof t=="string"&&e.push(t)})}var st=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Qn>0||this._options?.leakWarningThreshold?new Hc(e?.onListenerError??_s,this._options?.leakWarningThreshold??Qn):void 0,this._perfMon=this._options?._profName?new Nc(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(Zn){let e=this._listeners;queueMicrotask(()=>{Uc(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??(this._event=(e,t,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],l=new Wc(`${o}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(this._options?.onListenerError||_s)(l),nt.None}if(this._disposed)return nt.None;t&&(e=e.bind(t));let n=new ui(e),a,i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=ks.create(),a=this._leakageMon.check(n.stack,this._size+1)),Zn&&(n.stack=i??ks.create()),this._listeners?this._listeners instanceof ui?(this._deliveryQueue??(this._deliveryQueue=new jc),this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._size++;let s=rr(()=>{fi?.unregister(s),a?.(),this._removeListener(n)});if(r instanceof Ms?r.add(s):Array.isArray(r)&&r.push(s),fi){let o=new Error().stack.split(`
34
34
  `).slice(2,3).join(`
35
- `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(o);hr.register(s,f?.[2]??o,s)}return s}),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 t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;let n=this._deliveryQueue.current===this;if(this._size*Cc<=t.length){let a=0;for(let r=0;r<t.length;r++)t[r]?t[a++]=t[r]:n&&(this._deliveryQueue.end--,a<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=a}}_deliver(e,t){if(!e)return;let i=this._options?.onListenerError||ls;if(!i){e.value(t);return}try{e.value(t)}catch(n){i(n)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[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 cr)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}},xc=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},io=Object.freeze(function(e,t){let i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}),zn;(e=>{function t(i){return i===e.None||i===e.Cancelled||i instanceof kc?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:_r.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:io})})(zn||(zn={}));var kc=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?io:(this._emitter||(this._emitter=new rt),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Qt="en",ws=!1,Ss=!1,dr=!1,Ec=!1,Lc=!1,ro=!1,Mc=!1,Rc=!1,Tc=!1,Ac=!1,lr,ur=Qt,Un=Qt,Dc,gt,vt=globalThis,He;typeof vt.vscode<"u"&&typeof vt.vscode.process<"u"?He=vt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(He=process);var so=typeof He?.versions?.electron=="string",Bc=so&&He?.type==="renderer";if(typeof He=="object"){ws=He.platform==="win32",Ss=He.platform==="darwin",dr=He.platform==="linux",Ec=dr&&!!He.env.SNAP&&!!He.env.SNAP_REVISION,Mc=so,Tc=!!He.env.CI||!!He.env.BUILD_ARTIFACTSTAGINGDIRECTORY,lr=Qt,ur=Qt;let e=He.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);lr=t.userLocale,Un=t.osLocale,ur=t.resolvedLanguage||Qt,Dc=t.languagePack?.translationsConfigFile}catch{}Lc=!0}else typeof navigator=="object"&&!Bc?(gt=navigator.userAgent,ws=gt.indexOf("Windows")>=0,Ss=gt.indexOf("Macintosh")>=0,Rc=(gt.indexOf("Macintosh")>=0||gt.indexOf("iPad")>=0||gt.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,dr=gt.indexOf("Linux")>=0,Ac=gt?.indexOf("Mobi")>=0,ro=!0,ur=globalThis._VSCODE_NLS_LANGUAGE||Qt,lr=navigator.language.toLowerCase(),Un=lr):console.error("Unable to resolve platform.");var cs=0;Ss?cs=1:ws?cs=3:dr&&(cs=2);var Pc=ro&&typeof vt.importScripts=="function",y_=Pc?vt.origin:void 0,nt=gt,Lt=ur,jn;(e=>{function t(){return Lt}e.value=t;function i(){return Lt.length===2?Lt==="en":Lt.length>=3?Lt[0]==="e"&&Lt[1]==="n"&&Lt[2]==="-":!1}e.isDefaultVariant=i;function n(){return Lt==="en"}e.isDefault=n})(jn||(jn={}));var Oc=typeof vt.postMessage=="function"&&!vt.importScripts,Ic=(()=>{if(Oc){let e=[];vt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let n=0,a=e.length;n<a;n++){let r=e[n];if(r.id===i.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return i=>{let n=++t;e.push({id:n,callback:i}),vt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),Nc=!!(nt&&nt.indexOf("Chrome")>=0),x_=!!(nt&&nt.indexOf("Firefox")>=0),k_=!!(!Nc&&nt&&nt.indexOf("Safari")>=0),E_=!!(nt&&nt.indexOf("Edg/")>=0),L_=!!(nt&&nt.indexOf("Android")>=0);function no(e,t=0,i){let n=setTimeout(()=>{e(),i&&a.dispose()},t),a=ti(()=>{clearTimeout(n),i?.deleteAndLeak(a)});return i?.add(a),a}var Hc,hs;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?hs=(e,t)=>{Ic(()=>{if(i)return;let n=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,n-Date.now())}}))});let i=!1;return{dispose(){i||(i=!0)}}}:hs=(e,t,i)=>{let n=e.requestIdleCallback(t,typeof i=="number"?{timeout:i}:void 0),a=!1;return{dispose(){a||(a=!0,e.cancelIdleCallback(n))}}},Hc=e=>hs(globalThis,e)})();var qn;(e=>{async function t(n){let a,r=await Promise.all(n.map(s=>s.then(o=>o,o=>{a||(a=o)})));if(typeof a<"u")throw a;return r}e.settled=t;function i(n){return new Promise(async(a,r)=>{try{await n(a,r)}catch(s){r(s)}})}e.withAsyncBody=i})(qn||(qn={}));var Kn=class ze{static fromArray(t){return new ze(i=>{i.emitMany(t)})}static fromPromise(t){return new ze(async i=>{i.emitMany(await t)})}static fromPromises(t){return new ze(async i=>{await Promise.all(t.map(async n=>i.emitOne(await n)))})}static merge(t){return new ze(async i=>{await Promise.all(t.map(async n=>{for await(let a of n)i.emitOne(a)}))})}constructor(t,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new rt,queueMicrotask(async()=>{let n={emitOne:a=>this.emitOne(a),emitMany:a=>this.emitMany(a),reject:a=>this.reject(a)};try{await Promise.resolve(t(n)),this.resolve()}catch(a){this.reject(a)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await _r.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,i){return new ze(async n=>{for await(let a of t)n.emitOne(i(a))})}map(t){return ze.map(this,t)}static filter(t,i){return new ze(async n=>{for await(let a of t)i(a)&&n.emitOne(a)})}filter(t){return ze.filter(this,t)}static coalesce(t){return ze.filter(t,i=>!!i)}coalesce(){return ze.coalesce(this)}static async toPromise(t){let i=[];for await(let n of t)i.push(n);return i}toPromise(){return ze.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};Kn.EMPTY=Kn.fromArray([]);var Fc=class extends st{constructor(e){super(),this._terminal=e,this._linesCacheTimeout=this._register(new fr),this._linesCacheDisposables=this._register(new fr),this._register(ti(()=>this._destroyLinesCache()))}initLinesCache(){this._linesCache||(this._linesCache=new Array(this._terminal.buffer.active.length),this._linesCacheDisposables.value=Yn(this._terminal.onLineFeed(()=>this._destroyLinesCache()),this._terminal.onCursorMove(()=>this._destroyLinesCache()),this._terminal.onResize(()=>this._destroyLinesCache()))),this._linesCacheTimeout.value=no(()=>this._destroyLinesCache(),15e3)}_destroyLinesCache(){this._linesCache=void 0,this._linesCacheDisposables.clear(),this._linesCacheTimeout.clear()}getLineFromCache(e){return this._linesCache?.[e]}setLineInCache(e,t){this._linesCache&&(this._linesCache[e]=t)}translateBufferLineToStringWithWrap(e,t){let i=[],n=[0],a=this._terminal.buffer.active.getLine(e);for(;a;){let r=this._terminal.buffer.active.getLine(e+1),s=r?r.isWrapped:!1,o=a.translateToString(!s&&t);if(s&&r){let f=a.getCell(a.length-1);f&&f.getCode()===0&&f.getWidth()===1&&r.getCell(0)?.getWidth()===2&&(o=o.slice(0,-1))}if(i.push(o),s)n.push(n[n.length-1]+o.length);else break;e++,a=r}return[i.join(""),n]}},Wc=class{get cachedSearchTerm(){return this._cachedSearchTerm}set cachedSearchTerm(e){this._cachedSearchTerm=e}get lastSearchOptions(){return this._lastSearchOptions}set lastSearchOptions(e){this._lastSearchOptions=e}isValidSearchTerm(e){return!!(e&&e.length>0)}didOptionsChange(e){return this._lastSearchOptions?e?this._lastSearchOptions.caseSensitive!==e.caseSensitive||this._lastSearchOptions.regex!==e.regex||this._lastSearchOptions.wholeWord!==e.wholeWord:!1:!0}shouldUpdateHighlighting(e,t){return t?.decorations?this._cachedSearchTerm===void 0||e!==this._cachedSearchTerm||this.didOptionsChange(t):!1}clearCachedTerm(){this._cachedSearchTerm=void 0}reset(){this._cachedSearchTerm=void 0,this._lastSearchOptions=void 0}},$c=class{constructor(e,t){this._terminal=e,this._lineCache=t}find(e,t,i,n){if(!e||e.length===0){this._terminal.clearSelection();return}if(i>this._terminal.cols)throw new Error(`Invalid col: ${i} to search in terminal of ${this._terminal.cols} cols`);this._lineCache.initLinesCache();let a={startRow:t,startCol:i},r=this._findInLine(e,a,n);if(!r)for(let s=t+1;s<this._terminal.buffer.active.baseY+this._terminal.rows&&(a.startRow=s,a.startCol=0,r=this._findInLine(e,a,n),!r);s++);return r}findNextWithSelection(e,t,i){if(!e||e.length===0){this._terminal.clearSelection();return}let n=this._terminal.getSelectionPosition();this._terminal.clearSelection();let a=0,r=0;n&&(i===e?(a=n.end.x,r=n.end.y):(a=n.start.x,r=n.start.y)),this._lineCache.initLinesCache();let s={startRow:r,startCol:a},o=this._findInLine(e,s,t);if(!o)for(let f=r+1;f<this._terminal.buffer.active.baseY+this._terminal.rows&&(s.startRow=f,s.startCol=0,o=this._findInLine(e,s,t),!o);f++);if(!o&&r!==0)for(let f=0;f<r&&(s.startRow=f,s.startCol=0,o=this._findInLine(e,s,t),!o);f++);return!o&&n&&(s.startRow=n.start.y,s.startCol=0,o=this._findInLine(e,s,t)),o}findPreviousWithSelection(e,t,i){if(!e||e.length===0){this._terminal.clearSelection();return}let n=this._terminal.getSelectionPosition();this._terminal.clearSelection();let a=this._terminal.buffer.active.baseY+this._terminal.rows-1,r=this._terminal.cols,s=!0;this._lineCache.initLinesCache();let o={startRow:a,startCol:r},f;if(n&&(o.startRow=a=n.start.y,o.startCol=r=n.start.x,i!==e&&(f=this._findInLine(e,o,t,!1),f||(o.startRow=a=n.end.y,o.startCol=r=n.end.x))),f||(f=this._findInLine(e,o,t,s)),!f){o.startCol=Math.max(o.startCol,this._terminal.cols);for(let l=a-1;l>=0&&(o.startRow=l,f=this._findInLine(e,o,t,s),!f);l--);}if(!f&&a!==this._terminal.buffer.active.baseY+this._terminal.rows-1)for(let l=this._terminal.buffer.active.baseY+this._terminal.rows-1;l>=a&&(o.startRow=l,f=this._findInLine(e,o,t,s),!f);l--);return f}_isWholeWord(e,t,i){return(e===0||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e-1]))&&(e+i.length===t.length||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e+i.length]))}_findInLine(e,t,i={},n=!1){let a=t.startRow,r=t.startCol;if(this._terminal.buffer.active.getLine(a)?.isWrapped){if(n){t.startCol+=this._terminal.cols;return}return t.startRow--,t.startCol+=this._terminal.cols,this._findInLine(e,t,i)}let s=this._lineCache.getLineFromCache(a);s||(s=this._lineCache.translateBufferLineToStringWithWrap(a,!0),this._lineCache.setLineInCache(a,s));let[o,f]=s,l=this._bufferColsToStringOffset(a,r),p=e,g=o;i.regex||(p=i.caseSensitive?e:e.toLowerCase(),g=i.caseSensitive?o:o.toLowerCase());let S=-1;if(i.regex){let _=RegExp(p,i.caseSensitive?"g":"gi"),c;if(n)for(;c=_.exec(g.slice(0,l));)S=_.lastIndex-c[0].length,e=c[0],_.lastIndex-=e.length-1;else c=_.exec(g.slice(l)),c&&c[0].length>0&&(S=l+(_.lastIndex-c[0].length),e=c[0])}else n?l-p.length>=0&&(S=g.lastIndexOf(p,l-p.length)):S=g.indexOf(p,l);if(S>=0){if(i.wholeWord&&!this._isWholeWord(S,g,e))return;let _=0;for(;_<f.length-1&&S>=f[_+1];)_++;let c=_;for(;c<f.length-1&&S+e.length>=f[c+1];)c++;let d=S-f[_],h=S+e.length-f[c],u=this._stringLengthToBufferSize(a+_,d),v=this._stringLengthToBufferSize(a+c,h)-u+this._terminal.cols*(c-_);return{term:e,col:u,row:a+_,size:v}}}_stringLengthToBufferSize(e,t){let i=this._terminal.buffer.active.getLine(e);if(!i)return 0;for(let n=0;n<t;n++){let a=i.getCell(n);if(!a)break;let r=a.getChars();r.length>1&&(t-=r.length-1);let s=i.getCell(n+1);s&&s.getWidth()===0&&t++}return t}_bufferColsToStringOffset(e,t){let i=e,n=0,a=this._terminal.buffer.active.getLine(i);for(;t>0&&a;){for(let r=0;r<t&&r<this._terminal.cols;r++){let s=a.getCell(r);if(!s)break;s.getWidth()&&(n+=s.getCode()===0?1:s.getChars().length)}if(i++,a=this._terminal.buffer.active.getLine(i),a&&!a.isWrapped)break;t-=this._terminal.cols}return n}},zc=class extends st{constructor(e){super(),this._terminal=e,this._highlightDecorations=[],this._highlightedLines=new Set,this._register(ti(()=>this.clearHighlightDecorations()))}createHighlightDecorations(e,t){this.clearHighlightDecorations();for(let i of e){let n=this._createResultDecorations(i,t,!1);if(n)for(let a of n)this._storeDecoration(a,i)}}createActiveDecoration(e,t){let i=this._createResultDecorations(e,t,!0);if(i)return{decorations:i,match:e,dispose(){Ei(i)}}}clearHighlightDecorations(){Ei(this._highlightDecorations),this._highlightDecorations=[],this._highlightedLines.clear()}_storeDecoration(e,t){this._highlightedLines.add(e.marker.line),this._highlightDecorations.push({decoration:e,match:t,dispose(){e.dispose()}})}_applyStyles(e,t,i){e.classList.contains("xterm-find-result-decoration")||(e.classList.add("xterm-find-result-decoration"),t&&(e.style.outline=`1px solid ${t}`)),i&&e.classList.add("xterm-find-active-result-decoration")}_createResultDecorations(e,t,i){let n=[],a=e.col,r=e.size,s=-this._terminal.buffer.active.baseY-this._terminal.buffer.active.cursorY+e.row;for(;r>0;){let f=Math.min(this._terminal.cols-a,r);n.push([s,a,f]),a=0,r-=f,s++}let o=[];for(let f of n){let l=this._terminal.registerMarker(f[0]),p=this._terminal.registerDecoration({marker:l,x:f[1],width:f[2],backgroundColor:i?t.activeMatchBackground:t.matchBackground,overviewRulerOptions:this._highlightedLines.has(l.line)?void 0:{color:i?t.activeMatchColorOverviewRuler:t.matchOverviewRuler,position:"center"}});if(p){let g=[];g.push(l),g.push(p.onRender(S=>this._applyStyles(S,i?t.activeMatchBorder:t.matchBorder,!1))),g.push(p.onDispose(()=>Ei(g))),o.push(p)}}return o.length===0?void 0:o}},Uc=class extends st{constructor(){super(...arguments),this._searchResults=[],this._onDidChangeResults=this._register(new rt)}get onDidChangeResults(){return this._onDidChangeResults.event}get searchResults(){return this._searchResults}get selectedDecoration(){return this._selectedDecoration}set selectedDecoration(e){this._selectedDecoration=e}updateResults(e,t){this._searchResults=e.slice(0,t)}clearResults(){this._searchResults=[]}clearSelectedDecoration(){this._selectedDecoration&&(this._selectedDecoration.dispose(),this._selectedDecoration=void 0)}findResultIndex(e){for(let t=0;t<this._searchResults.length;t++){let i=this._searchResults[t];if(i.row===e.row&&i.col===e.col&&i.size===e.size)return t}return-1}fireResultsChanged(e){if(!e)return;let t=-1;this._selectedDecoration&&(t=this.findResultIndex(this._selectedDecoration.match)),this._onDidChangeResults.fire({resultIndex:t,resultCount:this._searchResults.length})}reset(){this.clearSelectedDecoration(),this.clearResults()}},oo=class extends st{constructor(e){super(),this._highlightTimeout=this._register(new fr),this._lineCache=this._register(new fr),this._state=new Wc,this._resultTracker=this._register(new Uc),this._highlightLimit=e?.highlightLimit??1e3}get onDidChangeResults(){return this._resultTracker.onDidChangeResults}activate(e){this._terminal=e,this._lineCache.value=new Fc(e),this._engine=new $c(e,this._lineCache.value),this._decorationManager=new zc(e),this._register(this._terminal.onWriteParsed(()=>this._updateMatches())),this._register(this._terminal.onResize(()=>this._updateMatches())),this._register(ti(()=>this.clearDecorations()))}_updateMatches(){this._highlightTimeout.clear(),this._state.cachedSearchTerm&&this._state.lastSearchOptions?.decorations&&(this._highlightTimeout.value=no(()=>{let e=this._state.cachedSearchTerm;this._state.clearCachedTerm(),this.findPrevious(e,{...this._state.lastSearchOptions,incremental:!0},{noScroll:!0})},200))}clearDecorations(e){this._resultTracker.clearSelectedDecoration(),this._decorationManager?.clearHighlightDecorations(),this._resultTracker.clearResults(),e||this._state.clearCachedTerm()}clearActiveDecoration(){this._resultTracker.clearSelectedDecoration()}findNext(e,t,i){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let n=this._findNextAndSelect(e,t,i);return this._fireResults(t),this._state.cachedSearchTerm=e,n}_highlightAllMatches(e,t){if(!this._terminal||!this._engine||!this._decorationManager)throw new Error("Cannot use addon until it has been loaded");if(!this._state.isValidSearchTerm(e)){this.clearDecorations();return}this.clearDecorations(!0);let i=[],n,a=this._engine.find(e,0,0,t);for(;a&&(n?.row!==a.row||n?.col!==a.col)&&!(i.length>=this._highlightLimit);)n=a,i.push(n),a=this._engine.find(e,n.col+n.term.length>=this._terminal.cols?n.row+1:n.row,n.col+n.term.length>=this._terminal.cols?0:n.col+1,t);this._resultTracker.updateResults(i,this._highlightLimit),t.decorations&&this._decorationManager.createHighlightDecorations(i,t.decorations)}_findNextAndSelect(e,t,i){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let n=this._engine.findNextWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(n,t?.decorations,i?.noScroll)}findPrevious(e,t,i){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let n=this._findPreviousAndSelect(e,t,i);return this._fireResults(t),this._state.cachedSearchTerm=e,n}_fireResults(e){this._resultTracker.fireResultsChanged(!!e?.decorations)}_findPreviousAndSelect(e,t,i){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let n=this._engine.findPreviousWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(n,t?.decorations,i?.noScroll)}_selectResult(e,t,i){if(!this._terminal||!this._decorationManager)return!1;if(this._resultTracker.clearSelectedDecoration(),!e)return this._terminal.clearSelection(),!1;if(this._terminal.select(e.col,e.row,e.size),t){let n=this._decorationManager.createActiveDecoration(e,t);n&&(this._resultTracker.selectedDecoration=n)}if(!i&&(e.row>=this._terminal.buffer.active.viewportY+this._terminal.rows||e.row<this._terminal.buffer.active.viewportY)){let n=e.row-this._terminal.buffer.active.viewportY;n-=Math.floor(this._terminal.rows/2),this._terminal.scrollLines(n)}return!0}};var jc=class{constructor(e,t,i,n={}){this._terminal=e,this._regex=t,this._handler=i,this._options=n}provideLinks(e,t){let i=Kc.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(i))}_addCallbacks(e){return e.map(t=>(t.leave=this._options.leave,t.hover=(i,n)=>{if(this._options.hover){let{range:a}=t;this._options.hover(i,n,a)}},t))}};function qc(e){try{let t=new URL(e),i=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(i.toLocaleLowerCase())}catch{return!1}}var Kc=class vr{static computeLink(t,i,n,a){let r=new RegExp(i.source,(i.flags||"")+"g"),[s,o]=vr._getWindowedLineStrings(t-1,n),f=s.join(""),l,p=[];for(;l=r.exec(f);){let g=l[0];if(!qc(g))continue;let[S,_]=vr._mapStrIdx(n,o,0,l.index),[c,d]=vr._mapStrIdx(n,S,_,g.length);if(S===-1||_===-1||c===-1||d===-1)continue;let h={start:{x:_+1,y:S+1},end:{x:d,y:c+1}};p.push({range:h,text:g,activate:a})}return p}static _getWindowedLineStrings(t,i){let n,a=t,r=t,s=0,o="",f=[];if(n=i.buffer.active.getLine(t)){let l=n.translateToString(!0);if(n.isWrapped&&l[0]!==" "){for(s=0;(n=i.buffer.active.getLine(--a))&&s<2048&&(o=n.translateToString(!0),s+=o.length,f.push(o),!(!n.isWrapped||o.indexOf(" ")!==-1)););f.reverse()}for(f.push(l),s=0;(n=i.buffer.active.getLine(++r))&&n.isWrapped&&s<2048&&(o=n.translateToString(!0),s+=o.length,f.push(o),o.indexOf(" ")===-1););}return[f,a]}static _mapStrIdx(t,i,n,a){let r=t.buffer.active,s=r.getNullCell(),o=n;for(;a;){let f=r.getLine(i);if(!f)return[-1,-1];for(let l=o;l<f.length;++l){f.getCell(l,s);let p=s.getChars();if(s.getWidth()&&(a-=p.length||1,l===f.length-1&&p==="")){let g=r.getLine(i+1);g&&g.isWrapped&&(g.getCell(0,s),s.getWidth()===2&&(a+=1))}if(a<0)return[i,l]}i++,o=0}return[i,o]}},Gc=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function Vc(e,t){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}var ao=class{constructor(e=Vc,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,i=t.urlRegex||Gc;this._linkProvider=this._terminal.registerLinkProvider(new jc(this._terminal,i,this._handler,t))}dispose(){this._linkProvider?.dispose()}};var Yc=Object.defineProperty,Xc=Object.getOwnPropertyDescriptor,Jc=(e,t,i,n)=>{for(var a=n>1?void 0:n?Xc(t,i):t,r=e.length-1,s;r>=0;r--)(s=e[r])&&(a=(n?s(t,i,a):s(a))||a);return n&&a&&Yc(t,i,a),a},Zc=(e,t)=>(i,n)=>t(i,n,e),Qc=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?lo.isErrorNoTelemetry(e)?new lo(e.message+`
35
+ `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(o);fi.register(s,f?.[2]??o,s)}return s}),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 t=this._listeners,r=t.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[r]=void 0;let n=this._deliveryQueue.current===this;if(this._size*zc<=t.length){let a=0;for(let i=0;i<t.length;i++)t[i]?t[a++]=t[i]:n&&(this._deliveryQueue.end--,a<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=a}}_deliver(e,t){if(!e)return;let r=this._options?.onListenerError||_s;if(!r){e.value(t);return}try{e.value(t)}catch(n){r(n)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[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 ui)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}},jc=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},po=Object.freeze(function(e,t){let r=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(r)}}}),eo;(e=>{function t(r){return r===e.None||r===e.Cancelled||r instanceof qc?!0:!r||typeof r!="object"?!1:typeof r.isCancellationRequested=="boolean"&&typeof r.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:vi.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:po})})(eo||(eo={}));var qc=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?po:(this._emitter||(this._emitter=new st),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},er="en",Es=!1,Ls=!1,_i=!1,Kc=!1,Gc=!1,go=!1,Vc=!1,Yc=!1,Xc=!1,Jc=!1,di,pi=er,to=er,Zc,vt,mt=globalThis,He;typeof mt.vscode<"u"&&typeof mt.vscode.process<"u"?He=mt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(He=process);var vo=typeof He?.versions?.electron=="string",Qc=vo&&He?.type==="renderer";if(typeof He=="object"){Es=He.platform==="win32",Ls=He.platform==="darwin",_i=He.platform==="linux",Kc=_i&&!!He.env.SNAP&&!!He.env.SNAP_REVISION,Vc=vo,Xc=!!He.env.CI||!!He.env.BUILD_ARTIFACTSTAGINGDIRECTORY,di=er,pi=er;let e=He.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);di=t.userLocale,to=t.osLocale,pi=t.resolvedLanguage||er,Zc=t.languagePack?.translationsConfigFile}catch{}Gc=!0}else typeof navigator=="object"&&!Qc?(vt=navigator.userAgent,Es=vt.indexOf("Windows")>=0,Ls=vt.indexOf("Macintosh")>=0,Yc=(vt.indexOf("Macintosh")>=0||vt.indexOf("iPad")>=0||vt.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,_i=vt.indexOf("Linux")>=0,Jc=vt?.indexOf("Mobi")>=0,go=!0,pi=globalThis._VSCODE_NLS_LANGUAGE||er,di=navigator.language.toLowerCase(),to=di):console.error("Unable to resolve platform.");var ps=0;Ls?ps=1:Es?ps=3:_i&&(ps=2);var eh=go&&typeof mt.importScripts=="function",K_=eh?mt.origin:void 0,ot=vt,Mt=pi,ro;(e=>{function t(){return Mt}e.value=t;function r(){return Mt.length===2?Mt==="en":Mt.length>=3?Mt[0]==="e"&&Mt[1]==="n"&&Mt[2]==="-":!1}e.isDefaultVariant=r;function n(){return Mt==="en"}e.isDefault=n})(ro||(ro={}));var th=typeof mt.postMessage=="function"&&!mt.importScripts,rh=(()=>{if(th){let e=[];mt.addEventListener("message",r=>{if(r.data&&r.data.vscodeScheduleAsyncWork)for(let n=0,a=e.length;n<a;n++){let i=e[n];if(i.id===r.data.vscodeScheduleAsyncWork){e.splice(n,1),i.callback();return}}});let t=0;return r=>{let n=++t;e.push({id:n,callback:r}),mt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),ih=!!(ot&&ot.indexOf("Chrome")>=0),G_=!!(ot&&ot.indexOf("Firefox")>=0),V_=!!(!ih&&ot&&ot.indexOf("Safari")>=0),Y_=!!(ot&&ot.indexOf("Edg/")>=0),X_=!!(ot&&ot.indexOf("Android")>=0);function mo(e,t=0,r){let n=setTimeout(()=>{e(),r&&a.dispose()},t),a=rr(()=>{clearTimeout(n),r?.deleteAndLeak(a)});return r?.add(a),a}var sh,gs;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?gs=(e,t)=>{rh(()=>{if(r)return;let n=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,n-Date.now())}}))});let r=!1;return{dispose(){r||(r=!0)}}}:gs=(e,t,r)=>{let n=e.requestIdleCallback(t,typeof r=="number"?{timeout:r}:void 0),a=!1;return{dispose(){a||(a=!0,e.cancelIdleCallback(n))}}},sh=e=>gs(globalThis,e)})();var io;(e=>{async function t(n){let a,i=await Promise.all(n.map(s=>s.then(o=>o,o=>{a||(a=o)})));if(typeof a<"u")throw a;return i}e.settled=t;function r(n){return new Promise(async(a,i)=>{try{await n(a,i)}catch(s){i(s)}})}e.withAsyncBody=r})(io||(io={}));var so=class ze{static fromArray(t){return new ze(r=>{r.emitMany(t)})}static fromPromise(t){return new ze(async r=>{r.emitMany(await t)})}static fromPromises(t){return new ze(async r=>{await Promise.all(t.map(async n=>r.emitOne(await n)))})}static merge(t){return new ze(async r=>{await Promise.all(t.map(async n=>{for await(let a of n)r.emitOne(a)}))})}constructor(t,r){this._state=0,this._results=[],this._error=null,this._onReturn=r,this._onStateChanged=new st,queueMicrotask(async()=>{let n={emitOne:a=>this.emitOne(a),emitMany:a=>this.emitMany(a),reject:a=>this.reject(a)};try{await Promise.resolve(t(n)),this.resolve()}catch(a){this.reject(a)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await vi.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,r){return new ze(async n=>{for await(let a of t)n.emitOne(r(a))})}map(t){return ze.map(this,t)}static filter(t,r){return new ze(async n=>{for await(let a of t)r(a)&&n.emitOne(a)})}filter(t){return ze.filter(this,t)}static coalesce(t){return ze.filter(t,r=>!!r)}coalesce(){return ze.coalesce(this)}static async toPromise(t){let r=[];for await(let n of t)r.push(n);return r}toPromise(){return ze.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};so.EMPTY=so.fromArray([]);var nh=class extends nt{constructor(e){super(),this._terminal=e,this._linesCacheTimeout=this._register(new gi),this._linesCacheDisposables=this._register(new gi),this._register(rr(()=>this._destroyLinesCache()))}initLinesCache(){this._linesCache||(this._linesCache=new Array(this._terminal.buffer.active.length),this._linesCacheDisposables.value=ao(this._terminal.onLineFeed(()=>this._destroyLinesCache()),this._terminal.onCursorMove(()=>this._destroyLinesCache()),this._terminal.onResize(()=>this._destroyLinesCache()))),this._linesCacheTimeout.value=mo(()=>this._destroyLinesCache(),15e3)}_destroyLinesCache(){this._linesCache=void 0,this._linesCacheDisposables.clear(),this._linesCacheTimeout.clear()}getLineFromCache(e){return this._linesCache?.[e]}setLineInCache(e,t){this._linesCache&&(this._linesCache[e]=t)}translateBufferLineToStringWithWrap(e,t){let r=[],n=[0],a=this._terminal.buffer.active.getLine(e);for(;a;){let i=this._terminal.buffer.active.getLine(e+1),s=i?i.isWrapped:!1,o=a.translateToString(!s&&t);if(s&&i){let f=a.getCell(a.length-1);f&&f.getCode()===0&&f.getWidth()===1&&i.getCell(0)?.getWidth()===2&&(o=o.slice(0,-1))}if(r.push(o),s)n.push(n[n.length-1]+o.length);else break;e++,a=i}return[r.join(""),n]}},oh=class{get cachedSearchTerm(){return this._cachedSearchTerm}set cachedSearchTerm(e){this._cachedSearchTerm=e}get lastSearchOptions(){return this._lastSearchOptions}set lastSearchOptions(e){this._lastSearchOptions=e}isValidSearchTerm(e){return!!(e&&e.length>0)}didOptionsChange(e){return this._lastSearchOptions?e?this._lastSearchOptions.caseSensitive!==e.caseSensitive||this._lastSearchOptions.regex!==e.regex||this._lastSearchOptions.wholeWord!==e.wholeWord:!1:!0}shouldUpdateHighlighting(e,t){return t?.decorations?this._cachedSearchTerm===void 0||e!==this._cachedSearchTerm||this.didOptionsChange(t):!1}clearCachedTerm(){this._cachedSearchTerm=void 0}reset(){this._cachedSearchTerm=void 0,this._lastSearchOptions=void 0}},ah=class{constructor(e,t){this._terminal=e,this._lineCache=t}find(e,t,r,n){if(!e||e.length===0){this._terminal.clearSelection();return}if(r>this._terminal.cols)throw new Error(`Invalid col: ${r} to search in terminal of ${this._terminal.cols} cols`);this._lineCache.initLinesCache();let a={startRow:t,startCol:r},i=this._findInLine(e,a,n);if(!i)for(let s=t+1;s<this._terminal.buffer.active.baseY+this._terminal.rows&&(a.startRow=s,a.startCol=0,i=this._findInLine(e,a,n),!i);s++);return i}findNextWithSelection(e,t,r){if(!e||e.length===0){this._terminal.clearSelection();return}let n=this._terminal.getSelectionPosition();this._terminal.clearSelection();let a=0,i=0;n&&(r===e?(a=n.end.x,i=n.end.y):(a=n.start.x,i=n.start.y)),this._lineCache.initLinesCache();let s={startRow:i,startCol:a},o=this._findInLine(e,s,t);if(!o)for(let f=i+1;f<this._terminal.buffer.active.baseY+this._terminal.rows&&(s.startRow=f,s.startCol=0,o=this._findInLine(e,s,t),!o);f++);if(!o&&i!==0)for(let f=0;f<i&&(s.startRow=f,s.startCol=0,o=this._findInLine(e,s,t),!o);f++);return!o&&n&&(s.startRow=n.start.y,s.startCol=0,o=this._findInLine(e,s,t)),o}findPreviousWithSelection(e,t,r){if(!e||e.length===0){this._terminal.clearSelection();return}let n=this._terminal.getSelectionPosition();this._terminal.clearSelection();let a=this._terminal.buffer.active.baseY+this._terminal.rows-1,i=this._terminal.cols,s=!0;this._lineCache.initLinesCache();let o={startRow:a,startCol:i},f;if(n&&(o.startRow=a=n.start.y,o.startCol=i=n.start.x,r!==e&&(f=this._findInLine(e,o,t,!1),f||(o.startRow=a=n.end.y,o.startCol=i=n.end.x))),f||(f=this._findInLine(e,o,t,s)),!f){o.startCol=Math.max(o.startCol,this._terminal.cols);for(let l=a-1;l>=0&&(o.startRow=l,f=this._findInLine(e,o,t,s),!f);l--);}if(!f&&a!==this._terminal.buffer.active.baseY+this._terminal.rows-1)for(let l=this._terminal.buffer.active.baseY+this._terminal.rows-1;l>=a&&(o.startRow=l,f=this._findInLine(e,o,t,s),!f);l--);return f}_isWholeWord(e,t,r){return(e===0||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e-1]))&&(e+r.length===t.length||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(t[e+r.length]))}_findInLine(e,t,r={},n=!1){let a=t.startRow,i=t.startCol;if(this._terminal.buffer.active.getLine(a)?.isWrapped){if(n){t.startCol+=this._terminal.cols;return}return t.startRow--,t.startCol+=this._terminal.cols,this._findInLine(e,t,r)}let s=this._lineCache.getLineFromCache(a);s||(s=this._lineCache.translateBufferLineToStringWithWrap(a,!0),this._lineCache.setLineInCache(a,s));let[o,f]=s,l=this._bufferColsToStringOffset(a,i),p=e,g=o;r.regex||(p=r.caseSensitive?e:e.toLowerCase(),g=r.caseSensitive?o:o.toLowerCase());let S=-1;if(r.regex){let _=RegExp(p,r.caseSensitive?"g":"gi"),c;if(n)for(;c=_.exec(g.slice(0,l));)S=_.lastIndex-c[0].length,e=c[0],_.lastIndex-=e.length-1;else c=_.exec(g.slice(l)),c&&c[0].length>0&&(S=l+(_.lastIndex-c[0].length),e=c[0])}else n?l-p.length>=0&&(S=g.lastIndexOf(p,l-p.length)):S=g.indexOf(p,l);if(S>=0){if(r.wholeWord&&!this._isWholeWord(S,g,e))return;let _=0;for(;_<f.length-1&&S>=f[_+1];)_++;let c=_;for(;c<f.length-1&&S+e.length>=f[c+1];)c++;let d=S-f[_],h=S+e.length-f[c],u=this._stringLengthToBufferSize(a+_,d),v=this._stringLengthToBufferSize(a+c,h)-u+this._terminal.cols*(c-_);return{term:e,col:u,row:a+_,size:v}}}_stringLengthToBufferSize(e,t){let r=this._terminal.buffer.active.getLine(e);if(!r)return 0;for(let n=0;n<t;n++){let a=r.getCell(n);if(!a)break;let i=a.getChars();i.length>1&&(t-=i.length-1);let s=r.getCell(n+1);s&&s.getWidth()===0&&t++}return t}_bufferColsToStringOffset(e,t){let r=e,n=0,a=this._terminal.buffer.active.getLine(r);for(;t>0&&a;){for(let i=0;i<t&&i<this._terminal.cols;i++){let s=a.getCell(i);if(!s)break;s.getWidth()&&(n+=s.getCode()===0?1:s.getChars().length)}if(r++,a=this._terminal.buffer.active.getLine(r),a&&!a.isWrapped)break;t-=this._terminal.cols}return n}},lh=class extends nt{constructor(e){super(),this._terminal=e,this._highlightDecorations=[],this._highlightedLines=new Set,this._register(rr(()=>this.clearHighlightDecorations()))}createHighlightDecorations(e,t){this.clearHighlightDecorations();for(let r of e){let n=this._createResultDecorations(r,t,!1);if(n)for(let a of n)this._storeDecoration(a,r)}}createActiveDecoration(e,t){let r=this._createResultDecorations(e,t,!0);if(r)return{decorations:r,match:e,dispose(){Rr(r)}}}clearHighlightDecorations(){Rr(this._highlightDecorations),this._highlightDecorations=[],this._highlightedLines.clear()}_storeDecoration(e,t){this._highlightedLines.add(e.marker.line),this._highlightDecorations.push({decoration:e,match:t,dispose(){e.dispose()}})}_applyStyles(e,t,r){e.classList.contains("xterm-find-result-decoration")||(e.classList.add("xterm-find-result-decoration"),t&&(e.style.outline=`1px solid ${t}`)),r&&e.classList.add("xterm-find-active-result-decoration")}_createResultDecorations(e,t,r){let n=[],a=e.col,i=e.size,s=-this._terminal.buffer.active.baseY-this._terminal.buffer.active.cursorY+e.row;for(;i>0;){let f=Math.min(this._terminal.cols-a,i);n.push([s,a,f]),a=0,i-=f,s++}let o=[];for(let f of n){let l=this._terminal.registerMarker(f[0]),p=this._terminal.registerDecoration({marker:l,x:f[1],width:f[2],backgroundColor:r?t.activeMatchBackground:t.matchBackground,overviewRulerOptions:this._highlightedLines.has(l.line)?void 0:{color:r?t.activeMatchColorOverviewRuler:t.matchOverviewRuler,position:"center"}});if(p){let g=[];g.push(l),g.push(p.onRender(S=>this._applyStyles(S,r?t.activeMatchBorder:t.matchBorder,!1))),g.push(p.onDispose(()=>Rr(g))),o.push(p)}}return o.length===0?void 0:o}},ch=class extends nt{constructor(){super(...arguments),this._searchResults=[],this._onDidChangeResults=this._register(new st)}get onDidChangeResults(){return this._onDidChangeResults.event}get searchResults(){return this._searchResults}get selectedDecoration(){return this._selectedDecoration}set selectedDecoration(e){this._selectedDecoration=e}updateResults(e,t){this._searchResults=e.slice(0,t)}clearResults(){this._searchResults=[]}clearSelectedDecoration(){this._selectedDecoration&&(this._selectedDecoration.dispose(),this._selectedDecoration=void 0)}findResultIndex(e){for(let t=0;t<this._searchResults.length;t++){let r=this._searchResults[t];if(r.row===e.row&&r.col===e.col&&r.size===e.size)return t}return-1}fireResultsChanged(e){if(!e)return;let t=-1;this._selectedDecoration&&(t=this.findResultIndex(this._selectedDecoration.match)),this._onDidChangeResults.fire({resultIndex:t,resultCount:this._searchResults.length})}reset(){this.clearSelectedDecoration(),this.clearResults()}},bo=class extends nt{constructor(e){super(),this._highlightTimeout=this._register(new gi),this._lineCache=this._register(new gi),this._state=new oh,this._resultTracker=this._register(new ch),this._highlightLimit=e?.highlightLimit??1e3}get onDidChangeResults(){return this._resultTracker.onDidChangeResults}activate(e){this._terminal=e,this._lineCache.value=new nh(e),this._engine=new ah(e,this._lineCache.value),this._decorationManager=new lh(e),this._register(this._terminal.onWriteParsed(()=>this._updateMatches())),this._register(this._terminal.onResize(()=>this._updateMatches())),this._register(rr(()=>this.clearDecorations()))}_updateMatches(){this._highlightTimeout.clear(),this._state.cachedSearchTerm&&this._state.lastSearchOptions?.decorations&&(this._highlightTimeout.value=mo(()=>{let e=this._state.cachedSearchTerm;this._state.clearCachedTerm(),this.findPrevious(e,{...this._state.lastSearchOptions,incremental:!0},{noScroll:!0})},200))}clearDecorations(e){this._resultTracker.clearSelectedDecoration(),this._decorationManager?.clearHighlightDecorations(),this._resultTracker.clearResults(),e||this._state.clearCachedTerm()}clearActiveDecoration(){this._resultTracker.clearSelectedDecoration()}findNext(e,t,r){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let n=this._findNextAndSelect(e,t,r);return this._fireResults(t),this._state.cachedSearchTerm=e,n}_highlightAllMatches(e,t){if(!this._terminal||!this._engine||!this._decorationManager)throw new Error("Cannot use addon until it has been loaded");if(!this._state.isValidSearchTerm(e)){this.clearDecorations();return}this.clearDecorations(!0);let r=[],n,a=this._engine.find(e,0,0,t);for(;a&&(n?.row!==a.row||n?.col!==a.col)&&!(r.length>=this._highlightLimit);)n=a,r.push(n),a=this._engine.find(e,n.col+n.term.length>=this._terminal.cols?n.row+1:n.row,n.col+n.term.length>=this._terminal.cols?0:n.col+1,t);this._resultTracker.updateResults(r,this._highlightLimit),t.decorations&&this._decorationManager.createHighlightDecorations(r,t.decorations)}_findNextAndSelect(e,t,r){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let n=this._engine.findNextWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(n,t?.decorations,r?.noScroll)}findPrevious(e,t,r){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._state.lastSearchOptions=t,this._state.shouldUpdateHighlighting(e,t)&&this._highlightAllMatches(e,t);let n=this._findPreviousAndSelect(e,t,r);return this._fireResults(t),this._state.cachedSearchTerm=e,n}_fireResults(e){this._resultTracker.fireResultsChanged(!!e?.decorations)}_findPreviousAndSelect(e,t,r){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(e))return this._terminal.clearSelection(),this.clearDecorations(),!1;let n=this._engine.findPreviousWithSelection(e,t,this._state.cachedSearchTerm);return this._selectResult(n,t?.decorations,r?.noScroll)}_selectResult(e,t,r){if(!this._terminal||!this._decorationManager)return!1;if(this._resultTracker.clearSelectedDecoration(),!e)return this._terminal.clearSelection(),!1;if(this._terminal.select(e.col,e.row,e.size),t){let n=this._decorationManager.createActiveDecoration(e,t);n&&(this._resultTracker.selectedDecoration=n)}if(!r&&(e.row>=this._terminal.buffer.active.viewportY+this._terminal.rows||e.row<this._terminal.buffer.active.viewportY)){let n=e.row-this._terminal.buffer.active.viewportY;n-=Math.floor(this._terminal.rows/2),this._terminal.scrollLines(n)}return!0}};var hh=class{constructor(e,t,r,n={}){this._terminal=e,this._regex=t,this._handler=r,this._options=n}provideLinks(e,t){let r=uh.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(r))}_addCallbacks(e){return e.map(t=>(t.leave=this._options.leave,t.hover=(r,n)=>{if(this._options.hover){let{range:a}=t;this._options.hover(r,n,a)}},t))}};function dh(e){try{let t=new URL(e),r=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(r.toLocaleLowerCase())}catch{return!1}}var uh=class wi{static computeLink(t,r,n,a){let i=new RegExp(r.source,(r.flags||"")+"g"),[s,o]=wi._getWindowedLineStrings(t-1,n),f=s.join(""),l,p=[];for(;l=i.exec(f);){let g=l[0];if(!dh(g))continue;let[S,_]=wi._mapStrIdx(n,o,0,l.index),[c,d]=wi._mapStrIdx(n,S,_,g.length);if(S===-1||_===-1||c===-1||d===-1)continue;let h={start:{x:_+1,y:S+1},end:{x:d,y:c+1}};p.push({range:h,text:g,activate:a})}return p}static _getWindowedLineStrings(t,r){let n,a=t,i=t,s=0,o="",f=[];if(n=r.buffer.active.getLine(t)){let l=n.translateToString(!0);if(n.isWrapped&&l[0]!==" "){for(s=0;(n=r.buffer.active.getLine(--a))&&s<2048&&(o=n.translateToString(!0),s+=o.length,f.push(o),!(!n.isWrapped||o.indexOf(" ")!==-1)););f.reverse()}for(f.push(l),s=0;(n=r.buffer.active.getLine(++i))&&n.isWrapped&&s<2048&&(o=n.translateToString(!0),s+=o.length,f.push(o),o.indexOf(" ")===-1););}return[f,a]}static _mapStrIdx(t,r,n,a){let i=t.buffer.active,s=i.getNullCell(),o=n;for(;a;){let f=i.getLine(r);if(!f)return[-1,-1];for(let l=o;l<f.length;++l){f.getCell(l,s);let p=s.getChars();if(s.getWidth()&&(a-=p.length||1,l===f.length-1&&p==="")){let g=i.getLine(r+1);g&&g.isWrapped&&(g.getCell(0,s),s.getWidth()===2&&(a+=1))}if(a<0)return[r,l]}r++,o=0}return[r,o]}},fh=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function _h(e,t){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}var wo=class{constructor(e=_h,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,r=t.urlRegex||fh;this._linkProvider=this._terminal.registerLinkProvider(new hh(this._terminal,r,this._handler,t))}dispose(){this._linkProvider?.dispose()}};var ph=Object.defineProperty,gh=Object.getOwnPropertyDescriptor,vh=(e,t,r,n)=>{for(var a=n>1?void 0:n?gh(t,r):t,i=e.length-1,s;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&ph(t,r,a),a},mh=(e,t)=>(r,n)=>t(r,n,e),bh=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?So.isErrorNoTelemetry(e)?new So(e.message+`
36
36
 
37
37
  `+e.stack):new Error(e.message+`
38
38
 
39
- `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(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)}},eh=new Qc;function Cr(e){th(e)||eh.onUnexpectedError(e)}var Ns="Canceled";function th(e){return e instanceof ih?!0:e instanceof Error&&e.name===Ns&&e.message===Ns}var ih=class extends Error{constructor(){super(Ns),this.name=this.message}},lo=class Hs extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Hs)return t;let i=new Hs;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}};function rh(e,t,i=0,n=e.length){let a=i,r=n;for(;a<r;){let s=Math.floor((a+r)/2);t(e[s])?a=s+1:r=s}return a-1}var sh=class Jo{constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(Jo.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let i=rh(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=i+1,i===-1?void 0:this._array[i]}};sh.assertInvariants=!1;var Fs;(e=>{function t(r){return r<0}e.isLessThan=t;function i(r){return r<=0}e.isLessThanOrEqual=i;function n(r){return r>0}e.isGreaterThan=n;function a(r){return r===0}e.isNeitherLessOrGreaterThan=a,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Fs||(Fs={}));function nh(e,t){return(i,n)=>t(e(i),e(n))}var oh=(e,t)=>e-t,co=class Ws{constructor(t){this.iterate=t}forEach(t){this.iterate(i=>(t(i),!0))}toArray(){let t=[];return this.iterate(i=>(t.push(i),!0)),t}filter(t){return new Ws(i=>this.iterate(n=>t(n)?i(n):!0))}map(t){return new Ws(i=>this.iterate(n=>i(t(n))))}some(t){let i=!1;return this.iterate(n=>(i=t(n),!i)),i}findFirst(t){let i;return this.iterate(n=>t(n)?(i=n,!1):!0),i}findLast(t){let i;return this.iterate(n=>(t(n)&&(i=n),!0)),i}findLastMaxBy(t){let i,n=!0;return this.iterate(a=>((n||Fs.isGreaterThan(t(a,i)))&&(n=!1,i=a),!0)),i}};co.empty=new co(e=>{});function ah(e,t){let i=Object.create(null);for(let n of e){let a=t(n),r=i[a];r||(r=i[a]=[]),r.push(n)}return i}var ho,uo,J_=class{constructor(e,t){this.toKey=t,this._map=new Map,this[ho]="SetWithKey";for(let i of e)this.add(i)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,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,t){this._map.forEach(i=>e.call(t,i,i,this))}[(uo=Symbol.iterator,ho=Symbol.toStringTag,uo)](){return this.values()}},lh=class{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){let i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){let i=this.map.get(e);i&&i.forEach(t)}get(e){return this.map.get(e)||new Set}};function ch(e,t){let i=this,n=!1,a;return function(){if(n)return a;if(n=!0,t)try{a=e.apply(i,arguments)}finally{t()}else a=e.apply(i,arguments);return a}}var $s;(e=>{function t(b){return b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function n(){return i}e.empty=n;function*a(b){yield b}e.single=a;function r(b){return t(b)?b:a(b)}e.wrap=r;function s(b){return b||i}e.from=s;function*o(b){for(let y=b.length-1;y>=0;y--)yield b[y]}e.reverse=o;function f(b){return!b||b[Symbol.iterator]().next().done===!0}e.isEmpty=f;function l(b){return b[Symbol.iterator]().next().value}e.first=l;function p(b,y){let m=0;for(let E of b)if(y(E,m++))return!0;return!1}e.some=p;function g(b,y){for(let m of b)if(y(m))return m}e.find=g;function*S(b,y){for(let m of b)y(m)&&(yield m)}e.filter=S;function*_(b,y){let m=0;for(let E of b)yield y(E,m++)}e.map=_;function*c(b,y){let m=0;for(let E of b)yield*y(E,m++)}e.flatMap=c;function*d(...b){for(let y of b)yield*y}e.concat=d;function h(b,y,m){let E=m;for(let P of b)E=y(E,P);return E}e.reduce=h;function*u(b,y,m=b.length){for(y<0&&(y+=b.length),m<0?m+=b.length:m>b.length&&(m=b.length);y<m;y++)yield b[y]}e.slice=u;function v(b,y=Number.POSITIVE_INFINITY){let m=[];if(y===0)return[m,b];let E=b[Symbol.iterator]();for(let P=0;P<y;P++){let B=E.next();if(B.done)return[m,e.empty()];m.push(B.value)}return[m,{[Symbol.iterator](){return E}}]}e.consume=v;async function C(b){let y=[];for await(let m of b)y.push(m);return Promise.resolve(y)}e.asyncToArray=C})($s||($s={}));var hh=!1,li=null,dh=class Zo{constructor(){this.livingDisposables=new Map}getDisposableData(t){let i=this.livingDisposables.get(t);return i||(i={parent:null,source:null,isSingleton:!1,value:t,idx:Zo.idx++},this.livingDisposables.set(t,i)),i}trackDisposable(t){let i=this.getDisposableData(t);i.source||(i.source=new Error().stack)}setParent(t,i){let n=this.getDisposableData(t);n.parent=i}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,i){let n=i.get(t);if(n)return n;let a=t.parent?this.getRootParent(this.getDisposableData(t.parent),i):t;return i.set(t,a),a}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,i])=>i.source!==null&&!this.getRootParent(i,t).isSingleton).flatMap(([i])=>i)}computeLeakingDisposables(t=10,i){let n;if(i)n=i;else{let f=new Map,l=[...this.livingDisposables.values()].filter(g=>g.source!==null&&!this.getRootParent(g,f).isSingleton);if(l.length===0)return;let p=new Set(l.map(g=>g.value));if(n=l.filter(g=>!(g.parent&&p.has(g.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function a(f){function l(g,S){for(;g.length>0&&S.some(_=>typeof _=="string"?_===g[0]:g[0].match(_));)g.shift()}let p=f.source.split(`
40
- `).map(g=>g.trim().replace("at ","")).filter(g=>g!=="");return l(p,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),p.reverse()}let r=new lh;for(let f of n){let l=a(f);for(let p=0;p<=l.length;p++)r.add(l.slice(0,p).join(`
41
- `),f)}n.sort(nh(f=>f.idx,oh));let s="",o=0;for(let f of n.slice(0,t)){o++;let l=a(f),p=[];for(let g=0;g<l.length;g++){let S=l[g];S=`(shared with ${r.get(l.slice(0,g+1).join(`
42
- `)).size}/${n.length} leaks) at ${S}`;let _=r.get(l.slice(0,g).join(`
43
- `)),c=ah([..._].map(d=>a(d)[g]),d=>d);delete c[l[g]];for(let[d,h]of Object.entries(c))p.unshift(` - stacktraces of ${h.length} other leaks continue with ${d}`);p.unshift(S)}s+=`
39
+ `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(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)}},wh=new bh;function ki(e){Sh(e)||wh.onUnexpectedError(e)}var Us="Canceled";function Sh(e){return e instanceof yh?!0:e instanceof Error&&e.name===Us&&e.message===Us}var yh=class extends Error{constructor(){super(Us),this.name=this.message}},So=class js extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof js)return t;let r=new js;return r.message=t.message,r.stack=t.stack,r}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}};function Ch(e,t,r=0,n=e.length){let a=r,i=n;for(;a<i;){let s=Math.floor((a+i)/2);t(e[s])?a=s+1:i=s}return a-1}var xh=class ca{constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(ca.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let r=Ch(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=r+1,r===-1?void 0:this._array[r]}};xh.assertInvariants=!1;var qs;(e=>{function t(i){return i<0}e.isLessThan=t;function r(i){return i<=0}e.isLessThanOrEqual=r;function n(i){return i>0}e.isGreaterThan=n;function a(i){return i===0}e.isNeitherLessOrGreaterThan=a,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(qs||(qs={}));function kh(e,t){return(r,n)=>t(e(r),e(n))}var Eh=(e,t)=>e-t,yo=class Ks{constructor(t){this.iterate=t}forEach(t){this.iterate(r=>(t(r),!0))}toArray(){let t=[];return this.iterate(r=>(t.push(r),!0)),t}filter(t){return new Ks(r=>this.iterate(n=>t(n)?r(n):!0))}map(t){return new Ks(r=>this.iterate(n=>r(t(n))))}some(t){let r=!1;return this.iterate(n=>(r=t(n),!r)),r}findFirst(t){let r;return this.iterate(n=>t(n)?(r=n,!1):!0),r}findLast(t){let r;return this.iterate(n=>(t(n)&&(r=n),!0)),r}findLastMaxBy(t){let r,n=!0;return this.iterate(a=>((n||qs.isGreaterThan(t(a,r)))&&(n=!1,r=a),!0)),r}};yo.empty=new yo(e=>{});function Lh(e,t){let r=Object.create(null);for(let n of e){let a=t(n),i=r[a];i||(i=r[a]=[]),i.push(n)}return r}var Co,xo,wp=class{constructor(e,t){this.toKey=t,this._map=new Map,this[Co]="SetWithKey";for(let r of e)this.add(r)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,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,t){this._map.forEach(r=>e.call(t,r,r,this))}[(xo=Symbol.iterator,Co=Symbol.toStringTag,xo)](){return this.values()}},Mh=class{constructor(){this.map=new Map}add(e,t){let r=this.map.get(e);r||(r=new Set,this.map.set(e,r)),r.add(t)}delete(e,t){let r=this.map.get(e);r&&(r.delete(t),r.size===0&&this.map.delete(e))}forEach(e,t){let r=this.map.get(e);r&&r.forEach(t)}get(e){return this.map.get(e)||new Set}};function Rh(e,t){let r=this,n=!1,a;return function(){if(n)return a;if(n=!0,t)try{a=e.apply(r,arguments)}finally{t()}else a=e.apply(r,arguments);return a}}var Gs;(e=>{function t(b){return b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}e.is=t;let r=Object.freeze([]);function n(){return r}e.empty=n;function*a(b){yield b}e.single=a;function i(b){return t(b)?b:a(b)}e.wrap=i;function s(b){return b||r}e.from=s;function*o(b){for(let C=b.length-1;C>=0;C--)yield b[C]}e.reverse=o;function f(b){return!b||b[Symbol.iterator]().next().done===!0}e.isEmpty=f;function l(b){return b[Symbol.iterator]().next().value}e.first=l;function p(b,C){let m=0;for(let E of b)if(C(E,m++))return!0;return!1}e.some=p;function g(b,C){for(let m of b)if(C(m))return m}e.find=g;function*S(b,C){for(let m of b)C(m)&&(yield m)}e.filter=S;function*_(b,C){let m=0;for(let E of b)yield C(E,m++)}e.map=_;function*c(b,C){let m=0;for(let E of b)yield*C(E,m++)}e.flatMap=c;function*d(...b){for(let C of b)yield*C}e.concat=d;function h(b,C,m){let E=m;for(let P of b)E=C(E,P);return E}e.reduce=h;function*u(b,C,m=b.length){for(C<0&&(C+=b.length),m<0?m+=b.length:m>b.length&&(m=b.length);C<m;C++)yield b[C]}e.slice=u;function v(b,C=Number.POSITIVE_INFINITY){let m=[];if(C===0)return[m,b];let E=b[Symbol.iterator]();for(let P=0;P<C;P++){let B=E.next();if(B.done)return[m,e.empty()];m.push(B.value)}return[m,{[Symbol.iterator](){return E}}]}e.consume=v;async function y(b){let C=[];for await(let m of b)C.push(m);return Promise.resolve(C)}e.asyncToArray=y})(Gs||(Gs={}));var Th=!1,cr=null,Ah=class ha{constructor(){this.livingDisposables=new Map}getDisposableData(t){let r=this.livingDisposables.get(t);return r||(r={parent:null,source:null,isSingleton:!1,value:t,idx:ha.idx++},this.livingDisposables.set(t,r)),r}trackDisposable(t){let r=this.getDisposableData(t);r.source||(r.source=new Error().stack)}setParent(t,r){let n=this.getDisposableData(t);n.parent=r}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,r){let n=r.get(t);if(n)return n;let a=t.parent?this.getRootParent(this.getDisposableData(t.parent),r):t;return r.set(t,a),a}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,r])=>r.source!==null&&!this.getRootParent(r,t).isSingleton).flatMap(([r])=>r)}computeLeakingDisposables(t=10,r){let n;if(r)n=r;else{let f=new Map,l=[...this.livingDisposables.values()].filter(g=>g.source!==null&&!this.getRootParent(g,f).isSingleton);if(l.length===0)return;let p=new Set(l.map(g=>g.value));if(n=l.filter(g=>!(g.parent&&p.has(g.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function a(f){function l(g,S){for(;g.length>0&&S.some(_=>typeof _=="string"?_===g[0]:g[0].match(_));)g.shift()}let p=f.source.split(`
40
+ `).map(g=>g.trim().replace("at ","")).filter(g=>g!=="");return l(p,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),p.reverse()}let i=new Mh;for(let f of n){let l=a(f);for(let p=0;p<=l.length;p++)i.add(l.slice(0,p).join(`
41
+ `),f)}n.sort(kh(f=>f.idx,Eh));let s="",o=0;for(let f of n.slice(0,t)){o++;let l=a(f),p=[];for(let g=0;g<l.length;g++){let S=l[g];S=`(shared with ${i.get(l.slice(0,g+1).join(`
42
+ `)).size}/${n.length} leaks) at ${S}`;let _=i.get(l.slice(0,g).join(`
43
+ `)),c=Lh([..._].map(d=>a(d)[g]),d=>d);delete c[l[g]];for(let[d,h]of Object.entries(c))p.unshift(` - stacktraces of ${h.length} other leaks continue with ${d}`);p.unshift(S)}s+=`
44
44
 
45
45
 
46
46
  ==================== Leaking disposable ${o}/${n.length}: ${f.value.constructor.name} ====================
@@ -53,12 +53,12 @@ ${p.join(`
53
53
 
54
54
  ... and ${n.length-t} more leaking disposables
55
55
 
56
- `),{leaks:n,details:s}}};dh.idx=0;function uh(e){li=e}if(hh){let e="__is_disposable_tracked__";uh(new class{trackDisposable(t){let i=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(i)},3e3)}setParent(t,i){if(t&&t!==We.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==We.None)try{t[e]=!0}catch{}}markAsSingleton(t){}})}function Dr(e){return li?.trackDisposable(e),e}function Br(e){li?.markAsDisposed(e)}function Bi(e,t){li?.setParent(e,t)}function fh(e,t){if(li)for(let i of e)li.setParent(i,t)}function Qo(e){if($s.is(e)){let t=[];for(let i of e)if(i)try{i.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function ea(...e){let t=Te(()=>Qo(e));return fh(e,t),t}function Te(e){let t=Dr({dispose:ch(()=>{Br(t),e()})});return t}var ta=class ia{constructor(){this._toDispose=new Set,this._isDisposed=!1,Dr(this)}dispose(){this._isDisposed||(Br(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Qo(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return Bi(t,this),this._isDisposed?ia.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),Bi(t,null))}};ta.DISABLE_DISPOSED_WARNING=!1;var ai=ta,We=class{constructor(){this._store=new ai,Dr(this),Bi(this._store,this)}dispose(){Br(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};We.None=Object.freeze({dispose(){}});var Mi=class{constructor(){this._isDisposed=!1,Dr(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Bi(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Br(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Bi(e,null),e}},Xs=typeof process<"u"&&"title"in process,Oi=Xs?"node":navigator.userAgent,Js=Xs?"node":navigator.platform,_h=Oi.includes("Firefox"),ph=Oi.includes("Edge"),ra=/^((?!chrome|android).)*safari/i.test(Oi);function gh(){if(!ra)return 0;let e=Oi.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var Z_=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Js),Q_=["Windows","Win16","Win32","WinCE"].includes(Js),ep=Js.indexOf("Linux")>=0,tp=/\bCrOS\b/.test(Oi),vh="",ke=0,Ee=0,Le=0,be=0,Ue={css:"#00000000",rgba:0},De;(e=>{function t(a,r,s,o){return o!==void 0?`#${Ft(a)}${Ft(r)}${Ft(s)}${Ft(o)}`:`#${Ft(a)}${Ft(r)}${Ft(s)}`}e.toCss=t;function i(a,r,s,o=255){return(a<<24|r<<16|s<<8|o)>>>0}e.toRgba=i;function n(a,r,s,o){return{css:e.toCss(a,r,s,o),rgba:e.toRgba(a,r,s,o)}}e.toColor=n})(De||(De={}));var si;(e=>{function t(f,l){if(be=(l.rgba&255)/255,be===1)return{css:l.css,rgba:l.rgba};let p=l.rgba>>24&255,g=l.rgba>>16&255,S=l.rgba>>8&255,_=f.rgba>>24&255,c=f.rgba>>16&255,d=f.rgba>>8&255;ke=_+Math.round((p-_)*be),Ee=c+Math.round((g-c)*be),Le=d+Math.round((S-d)*be);let h=De.toCss(ke,Ee,Le),u=De.toRgba(ke,Ee,Le);return{css:h,rgba:u}}e.blend=t;function i(f){return(f.rgba&255)===255}e.isOpaque=i;function n(f,l,p){let g=Dt.ensureContrastRatio(f.rgba,l.rgba,p);if(g)return De.toColor(g>>24&255,g>>16&255,g>>8&255)}e.ensureContrastRatio=n;function a(f){let l=(f.rgba|255)>>>0;return[ke,Ee,Le]=Dt.toChannels(l),{css:De.toCss(ke,Ee,Le),rgba:l}}e.opaque=a;function r(f,l){return be=Math.round(l*255),[ke,Ee,Le]=Dt.toChannels(f.rgba),{css:De.toCss(ke,Ee,Le,be),rgba:De.toRgba(ke,Ee,Le,be)}}e.opacity=r;function s(f,l){return be=f.rgba&255,r(f,be*l/255)}e.multiplyOpacity=s;function o(f){return[f.rgba>>24&255,f.rgba>>16&255,f.rgba>>8&255]}e.toColorRGB=o})(si||(si={}));var fo;(e=>{let t,i;try{let a=document.createElement("canvas");a.width=1,a.height=1;let r=a.getContext("2d",{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation="copy",i=t.createLinearGradient(0,0,1,1))}catch{}function n(a){if(a.match(/#[\da-f]{3,8}/i))switch(a.length){case 4:return ke=parseInt(a.slice(1,2).repeat(2),16),Ee=parseInt(a.slice(2,3).repeat(2),16),Le=parseInt(a.slice(3,4).repeat(2),16),De.toColor(ke,Ee,Le);case 5:return ke=parseInt(a.slice(1,2).repeat(2),16),Ee=parseInt(a.slice(2,3).repeat(2),16),Le=parseInt(a.slice(3,4).repeat(2),16),be=parseInt(a.slice(4,5).repeat(2),16),De.toColor(ke,Ee,Le,be);case 7:return{css:a,rgba:(parseInt(a.slice(1),16)<<8|255)>>>0};case 9:return{css:a,rgba:parseInt(a.slice(1),16)>>>0}}let r=a.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return ke=parseInt(r[1]),Ee=parseInt(r[2]),Le=parseInt(r[3]),be=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),De.toColor(ke,Ee,Le,be);if(!t||!i)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=i,t.fillStyle=a,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[ke,Ee,Le,be]=t.getImageData(0,0,1,1).data,be!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:De.toRgba(ke,Ee,Le,be),css:a}}e.toColor=n})(fo||(fo={}));var Ae;(e=>{function t(n){return i(n>>16&255,n>>8&255,n&255)}e.relativeLuminance=t;function i(n,a,r){let s=n/255,o=a/255,f=r/255,l=s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4),p=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),g=f<=.03928?f/12.92:Math.pow((f+.055)/1.055,2.4);return l*.2126+p*.7152+g*.0722}e.relativeLuminance2=i})(Ae||(Ae={}));var Dt;(e=>{function t(s,o){if(be=(o&255)/255,be===1)return o;let f=o>>24&255,l=o>>16&255,p=o>>8&255,g=s>>24&255,S=s>>16&255,_=s>>8&255;return ke=g+Math.round((f-g)*be),Ee=S+Math.round((l-S)*be),Le=_+Math.round((p-_)*be),De.toRgba(ke,Ee,Le)}e.blend=t;function i(s,o,f){let l=Ae.relativeLuminance(s>>8),p=Ae.relativeLuminance(o>>8);if(mt(l,p)<f){if(p<l){let _=n(s,o,f),c=mt(l,Ae.relativeLuminance(_>>8));if(c<f){let d=a(s,o,f),h=mt(l,Ae.relativeLuminance(d>>8));return c>h?_:d}return _}let g=a(s,o,f),S=mt(l,Ae.relativeLuminance(g>>8));if(S<f){let _=n(s,o,f),c=mt(l,Ae.relativeLuminance(_>>8));return S>c?g:_}return g}}e.ensureContrastRatio=i;function n(s,o,f){let l=s>>24&255,p=s>>16&255,g=s>>8&255,S=o>>24&255,_=o>>16&255,c=o>>8&255,d=mt(Ae.relativeLuminance2(S,_,c),Ae.relativeLuminance2(l,p,g));for(;d<f&&(S>0||_>0||c>0);)S-=Math.max(0,Math.ceil(S*.1)),_-=Math.max(0,Math.ceil(_*.1)),c-=Math.max(0,Math.ceil(c*.1)),d=mt(Ae.relativeLuminance2(S,_,c),Ae.relativeLuminance2(l,p,g));return(S<<24|_<<16|c<<8|255)>>>0}e.reduceLuminance=n;function a(s,o,f){let l=s>>24&255,p=s>>16&255,g=s>>8&255,S=o>>24&255,_=o>>16&255,c=o>>8&255,d=mt(Ae.relativeLuminance2(S,_,c),Ae.relativeLuminance2(l,p,g));for(;d<f&&(S<255||_<255||c<255);)S=Math.min(255,S+Math.ceil((255-S)*.1)),_=Math.min(255,_+Math.ceil((255-_)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),d=mt(Ae.relativeLuminance2(S,_,c),Ae.relativeLuminance2(l,p,g));return(S<<24|_<<16|c<<8|255)>>>0}e.increaseLuminance=a;function r(s){return[s>>24&255,s>>16&255,s>>8&255,s&255]}e.toChannels=r})(Dt||(Dt={}));function Ft(e){let t=e.toString(16);return t.length<2?"0"+t:t}function mt(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function Ce(e){if(!e)throw new Error("value must not be falsy");return e}function Zs(e){return 57508<=e&&e<=57558}function mh(e){return 57520<=e&&e<=57527}function bh(e){return 57344<=e&&e<=63743}function wh(e){return 9472<=e&&e<=9631}function Sh(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function Ch(e,t,i,n){return t===1&&i>Math.ceil(n*1.5)&&e!==void 0&&e>255&&!Sh(e)&&!Zs(e)&&!bh(e)}function sa(e){return Zs(e)||wh(e)}function yh(){return{css:{canvas:mr(),cell:mr()},device:{canvas:mr(),cell:mr(),char:{width:0,height:0,left:0,top:0}}}}function mr(){return{width:0,height:0}}function xh(e,t,i=0){return(e-(Math.round(t)*2-i))%(Math.round(t)*2)}var Re=0,xe=0,ot=!1,bt=!1,br=!1,Ie,ys=0,kh=class{constructor(e,t,i,n,a,r){this._terminal=e,this._optionService=t,this._selectionRenderModel=i,this._decorationService=n,this._coreBrowserService=a,this._themeService=r,this.result={fg:0,bg:0,ext:0}}resolve(e,t,i,n){if(this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,xe=0,Re=0,bt=!1,ot=!1,br=!1,Ie=this._themeService.colors,ys=0,e.getCode()!==0&&e.extended.underlineStyle===4){let a=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));ys=t*n%(Math.round(a)*2)}if(this._decorationService.forEachDecorationAtCell(t,i,"bottom",a=>{a.backgroundColorRGB&&(xe=a.backgroundColorRGB.rgba>>8&16777215,bt=!0),a.foregroundColorRGB&&(Re=a.foregroundColorRGB.rgba>>8&16777215,ot=!0)}),br=this._selectionRenderModel.isCellSelected(this._terminal,t,i),br){if(this.result.fg&67108864||(this.result.bg&50331648)!==0){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:xe=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:xe=(this.result.fg&16777215)<<8|255;break;default:xe=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:xe=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:xe=(this.result.bg&16777215)<<8|255;break}xe=Dt.blend(xe,(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else xe=(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(bt=!0,Ie.selectionForeground&&(Re=Ie.selectionForeground.rgba>>8&16777215,ot=!0),sa(e.getCode())){if(this.result.fg&67108864&&(this.result.bg&50331648)===0)Re=(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:Re=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:Re=(this.result.bg&16777215)<<8|255;break}else switch(this.result.fg&50331648){case 16777216:case 33554432:Re=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:Re=(this.result.fg&16777215)<<8|255;break;default:Re=this._themeService.colors.foreground.rgba}Re=Dt.blend(Re,(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}ot=!0}}this._decorationService.forEachDecorationAtCell(t,i,"top",a=>{a.backgroundColorRGB&&(xe=a.backgroundColorRGB.rgba>>8&16777215,bt=!0),a.foregroundColorRGB&&(Re=a.foregroundColorRGB.rgba>>8&16777215,ot=!0)}),bt&&(br?xe=e.bg&-16777216&-134217729|xe|50331648:xe=e.bg&-16777216|xe|50331648),ot&&(Re=e.fg&-16777216&-67108865|Re|50331648),this.result.fg&67108864&&(bt&&!ot&&((this.result.bg&50331648)===0?Re=this.result.fg&-134217728|Ie.background.rgba>>8&16777215&16777215|50331648:Re=this.result.fg&-134217728|this.result.bg&67108863,ot=!0),!bt&&ot&&((this.result.fg&50331648)===0?xe=this.result.bg&-67108864|Ie.foreground.rgba>>8&16777215&16777215|50331648:xe=this.result.bg&-67108864|this.result.fg&67108863,bt=!0)),Ie=void 0,this.result.bg=bt?xe:this.result.bg,this.result.fg=ot?Re:this.result.fg,this.result.ext&=536870911,this.result.ext|=ys<<29&3758096384}},Eh=.5,na=_h||ph?"bottom":"ideographic",Lh={"\u2580":[{x:0,y:0,w:8,h:4}],"\u2581":[{x:0,y:7,w:8,h:1}],"\u2582":[{x:0,y:6,w:8,h:2}],"\u2583":[{x:0,y:5,w:8,h:3}],"\u2584":[{x:0,y:4,w:8,h:4}],"\u2585":[{x:0,y:3,w:8,h:5}],"\u2586":[{x:0,y:2,w:8,h:6}],"\u2587":[{x:0,y:1,w:8,h:7}],"\u2588":[{x:0,y:0,w:8,h:8}],"\u2589":[{x:0,y:0,w:7,h:8}],"\u258A":[{x:0,y:0,w:6,h:8}],"\u258B":[{x:0,y:0,w:5,h:8}],"\u258C":[{x:0,y:0,w:4,h:8}],"\u258D":[{x:0,y:0,w:3,h:8}],"\u258E":[{x:0,y:0,w:2,h:8}],"\u258F":[{x:0,y:0,w:1,h:8}],"\u2590":[{x:4,y:0,w:4,h:8}],"\u2594":[{x:0,y:0,w:8,h:1}],"\u2595":[{x:7,y:0,w:1,h:8}],"\u2596":[{x:0,y:4,w:4,h:4}],"\u2597":[{x:4,y:4,w:4,h:4}],"\u2598":[{x:0,y:0,w:4,h:4}],"\u2599":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\u259A":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"\u259B":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"\u259C":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"\u259D":[{x:4,y:0,w:4,h:4}],"\u259E":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"\u259F":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\u{1FB70}":[{x:1,y:0,w:1,h:8}],"\u{1FB71}":[{x:2,y:0,w:1,h:8}],"\u{1FB72}":[{x:3,y:0,w:1,h:8}],"\u{1FB73}":[{x:4,y:0,w:1,h:8}],"\u{1FB74}":[{x:5,y:0,w:1,h:8}],"\u{1FB75}":[{x:6,y:0,w:1,h:8}],"\u{1FB76}":[{x:0,y:1,w:8,h:1}],"\u{1FB77}":[{x:0,y:2,w:8,h:1}],"\u{1FB78}":[{x:0,y:3,w:8,h:1}],"\u{1FB79}":[{x:0,y:4,w:8,h:1}],"\u{1FB7A}":[{x:0,y:5,w:8,h:1}],"\u{1FB7B}":[{x:0,y:6,w:8,h:1}],"\u{1FB7C}":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\u{1FB7D}":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\u{1FB7E}":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\u{1FB7F}":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\u{1FB80}":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"\u{1FB81}":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"\u{1FB82}":[{x:0,y:0,w:8,h:2}],"\u{1FB83}":[{x:0,y:0,w:8,h:3}],"\u{1FB84}":[{x:0,y:0,w:8,h:5}],"\u{1FB85}":[{x:0,y:0,w:8,h:6}],"\u{1FB86}":[{x:0,y:0,w:8,h:7}],"\u{1FB87}":[{x:6,y:0,w:2,h:8}],"\u{1FB88}":[{x:5,y:0,w:3,h:8}],"\u{1FB89}":[{x:3,y:0,w:5,h:8}],"\u{1FB8A}":[{x:2,y:0,w:6,h:8}],"\u{1FB8B}":[{x:1,y:0,w:7,h:8}],"\u{1FB95}":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"\u{1FB96}":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"\u{1FB97}":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]},Mh={"\u2591":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"\u2592":[[1,0],[0,0],[0,1],[0,0]],"\u2593":[[0,1],[1,1],[1,0],[1,1]]},Rh={"\u2500":{1:"M0,.5 L1,.5"},"\u2501":{3:"M0,.5 L1,.5"},"\u2502":{1:"M.5,0 L.5,1"},"\u2503":{3:"M.5,0 L.5,1"},"\u250C":{1:"M0.5,1 L.5,.5 L1,.5"},"\u250F":{3:"M0.5,1 L.5,.5 L1,.5"},"\u2510":{1:"M0,.5 L.5,.5 L.5,1"},"\u2513":{3:"M0,.5 L.5,.5 L.5,1"},"\u2514":{1:"M.5,0 L.5,.5 L1,.5"},"\u2517":{3:"M.5,0 L.5,.5 L1,.5"},"\u2518":{1:"M.5,0 L.5,.5 L0,.5"},"\u251B":{3:"M.5,0 L.5,.5 L0,.5"},"\u251C":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u2523":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u2524":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u252B":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u252C":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2533":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2534":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"\u253B":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"\u253C":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"\u254B":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"\u2574":{1:"M.5,.5 L0,.5"},"\u2578":{3:"M.5,.5 L0,.5"},"\u2575":{1:"M.5,.5 L.5,0"},"\u2579":{3:"M.5,.5 L.5,0"},"\u2576":{1:"M.5,.5 L1,.5"},"\u257A":{3:"M.5,.5 L1,.5"},"\u2577":{1:"M.5,.5 L.5,1"},"\u257B":{3:"M.5,.5 L.5,1"},"\u2550":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u2551":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u2552":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"\u2553":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},"\u2554":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"\u2555":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"\u2556":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},"\u2557":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},"\u2558":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"\u2559":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"\u255A":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},"\u255B":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"\u255C":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},"\u255D":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},"\u255E":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"\u255F":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},"\u2560":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u2561":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"\u2562":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u2563":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},"\u2564":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"\u2565":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},"\u2566":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"\u2567":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u2568":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"\u2569":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u256A":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u256B":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u256C":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u2571":{1:"M1,0 L0,1"},"\u2572":{1:"M0,0 L1,1"},"\u2573":{1:"M1,0 L0,1 M0,0 L1,1"},"\u257C":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u257D":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"\u257E":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u257F":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u250D":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"\u250E":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2511":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"\u2512":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"\u2515":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"\u2516":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u2519":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"\u251A":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"\u251D":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"\u251E":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u251F":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2520":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"\u2521":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"\u2522":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"\u2525":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"\u2526":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u2527":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"\u2528":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"\u2529":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"\u252A":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"\u252D":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u252E":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"\u252F":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"\u2530":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2531":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"\u2532":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"\u2535":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u2536":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u2537":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"\u2538":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u2539":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"\u253A":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"\u253D":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u253E":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u253F":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"\u2540":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u2541":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2542":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"\u2543":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"\u2544":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"\u2545":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"\u2546":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"\u2547":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"\u2548":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2549":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u254A":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u254C":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"\u254D":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"\u2504":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"\u2505":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"\u2508":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"\u2509":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"\u254E":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"\u254F":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"\u2506":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"\u2507":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"\u250A":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"\u250B":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"\u256D":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"\u256E":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"\u256F":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"\u2570":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},Pi={"\uE0A0":{d:"M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655",type:0},"\uE0A1":{d:"M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5",type:0},"\uE0A2":{d:"M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82",type:0},"\uE0B0":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"\uE0B1":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0B2":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"\uE0B3":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0B4":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"\uE0B5":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"\uE0B6":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"\uE0B7":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"\uE0B8":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"\uE0B9":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0BA":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"\uE0BC":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"\uE0BD":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0BE":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}};Pi["\uE0BB"]=Pi["\uE0BD"];Pi["\uE0BF"]=Pi["\uE0B9"];function Th(e,t,i,n,a,r,s,o){let f=Lh[t];if(f)return Ah(e,f,i,n,a,r),!0;let l=Mh[t];if(l)return Dh(e,l,i,n,a,r),!0;let p=Rh[t];if(p)return Bh(e,p,i,n,a,r,o),!0;let g=Pi[t];return g?(Ph(e,g,i,n,a,r,s,o),!0):!1}function Ah(e,t,i,n,a,r){for(let s=0;s<t.length;s++){let o=t[s],f=a/8,l=r/8;e.fillRect(i+o.x*f,n+o.y*l,o.w*f,o.h*l)}}var _o=new Map;function Dh(e,t,i,n,a,r){let s=_o.get(t);s||(s=new Map,_o.set(t,s));let o=e.fillStyle;if(typeof o!="string")throw new Error(`Unexpected fillStyle type "${o}"`);let f=s.get(o);if(!f){let l=t[0].length,p=t.length,g=e.canvas.ownerDocument.createElement("canvas");g.width=l,g.height=p;let S=Ce(g.getContext("2d")),_=new ImageData(l,p),c,d,h,u;if(o.startsWith("#"))c=parseInt(o.slice(1,3),16),d=parseInt(o.slice(3,5),16),h=parseInt(o.slice(5,7),16),u=o.length>7&&parseInt(o.slice(7,9),16)||1;else if(o.startsWith("rgba"))[c,d,h,u]=o.substring(5,o.length-1).split(",").map(v=>parseFloat(v));else throw new Error(`Unexpected fillStyle color format "${o}" when drawing pattern glyph`);for(let v=0;v<p;v++)for(let C=0;C<l;C++)_.data[(v*l+C)*4]=c,_.data[(v*l+C)*4+1]=d,_.data[(v*l+C)*4+2]=h,_.data[(v*l+C)*4+3]=t[v][C]*(u*255);S.putImageData(_,0,0),f=Ce(e.createPattern(g,null)),s.set(o,f)}e.fillStyle=f,e.fillRect(i,n,a,r)}function Bh(e,t,i,n,a,r,s){e.strokeStyle=e.fillStyle;for(let[o,f]of Object.entries(t)){e.beginPath(),e.lineWidth=s*Number.parseInt(o);let l;if(typeof f=="function"){let p=.15/r*a;l=f(.15,p)}else l=f;for(let p of l.split(" ")){let g=p[0],S=oa[g];if(!S){console.error(`Could not find drawing instructions for "${g}"`);continue}let _=p.substring(1).split(",");!_[0]||!_[1]||S(e,aa(_,a,r,i,n,!0,s))}e.stroke(),e.closePath()}}function Ph(e,t,i,n,a,r,s,o){let f=new Path2D;f.rect(i,n,a,r),e.clip(f),e.beginPath();let l=s/12;e.lineWidth=o*l;for(let p of t.d.split(" ")){let g=p[0],S=oa[g];if(!S){console.error(`Could not find drawing instructions for "${g}"`);continue}let _=p.substring(1).split(",");!_[0]||!_[1]||S(e,aa(_,a,r,i,n,!1,o,(t.leftPadding??0)*(l/2),(t.rightPadding??0)*(l/2)))}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function po(e,t,i=0){return Math.max(Math.min(e,t),i)}var oa={C:(e,t)=>e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function aa(e,t,i,n,a,r,s,o=0,f=0){let l=e.map(p=>parseFloat(p)||parseInt(p));if(l.length<2)throw new Error("Too few arguments for instruction");for(let p=0;p<l.length;p+=2)l[p]*=t-o*s-f*s,r&&l[p]!==0&&(l[p]=po(Math.round(l[p]+.5)-.5,t,0)),l[p]+=n+o*s;for(let p=1;p<l.length;p+=2)l[p]*=i,r&&l[p]!==0&&(l[p]=po(Math.round(l[p]+.5)-.5,i,0)),l[p]+=a;return l}var go=class{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},vo=class{constructor(){this._data=new go}set(e,t,i,n,a){this._data.get(e,t)||this._data.set(e,t,new go),this._data.get(e,t).set(i,n,a)}get(e,t,i,n){return this._data.get(e,t)?.get(i,n)}clear(){this._data.clear()}},la=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 t=0,i=0,n=e.timeRemaining(),a=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),i=Math.max(t,i),a=e.timeRemaining(),i*1.5>a){n-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(n-t))}ms`),this._start();return}n=a}this.clear()}},Oh=class extends la{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},Ih=class extends la{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Nh=!Xs&&"requestIdleCallback"in window?Ih:Oh,ni=class ca{constructor(){this.fg=0,this.bg=0,this.extended=new ha}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new ca;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}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}},ha=class da{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new da(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},mo=class zs{constructor(t){this.element=t,this.next=zs.Undefined,this.prev=zs.Undefined}};mo.Undefined=new mo(void 0);var Hh=globalThis.performance&&typeof globalThis.performance.now=="function",Fh=class ua{static create(t){return new ua(t)}constructor(t){this._now=Hh&&t===!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}},Wh=!1,bo=!1,$h=!1,at;(e=>{e.None=()=>We.None;function t(A){if($h){let{onDidAddListener:T}=A,F=qs.create(),D=0;A.onDidAddListener=()=>{++D===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),F.print()),T?.()}}}function i(A,T){return S(A,()=>{},0,void 0,!0,void 0,T)}e.defer=i;function n(A){return(T,F=null,D)=>{let w=!1,L;return L=A(k=>{if(!w)return L?L.dispose():w=!0,T.call(F,k)},null,D),w&&L.dispose(),L}}e.once=n;function a(A,T,F){return p((D,w=null,L)=>A(k=>D.call(w,T(k)),null,L),F)}e.map=a;function r(A,T,F){return p((D,w=null,L)=>A(k=>{T(k),D.call(w,k)},null,L),F)}e.forEach=r;function s(A,T,F){return p((D,w=null,L)=>A(k=>T(k)&&D.call(w,k),null,L),F)}e.filter=s;function o(A){return A}e.signal=o;function f(...A){return(T,F=null,D)=>{let w=ea(...A.map(L=>L(k=>T.call(F,k))));return g(w,D)}}e.any=f;function l(A,T,F,D){let w=F;return a(A,L=>(w=T(w,L),w),D)}e.reduce=l;function p(A,T){let F,D={onWillAddFirstListener(){F=A(w.fire,w)},onDidRemoveLastListener(){F?.dispose()}};T||t(D);let w=new fe(D);return T?.add(w),w.event}function g(A,T){return T instanceof Array?T.push(A):T&&T.add(A),A}function S(A,T,F=100,D=!1,w=!1,L,k){let M,$,q,V=0,J,N={leakWarningThreshold:L,onWillAddFirstListener(){M=A(I=>{V++,$=T($,I),D&&!q&&(x.fire($),$=void 0),J=()=>{let O=$;$=void 0,q=void 0,(!D||V>1)&&x.fire(O),V=0},typeof F=="number"?(clearTimeout(q),q=setTimeout(J,F)):q===void 0&&(q=0,queueMicrotask(J))})},onWillRemoveListener(){w&&V>0&&J?.()},onDidRemoveLastListener(){J=void 0,M.dispose()}};k||t(N);let x=new fe(N);return k?.add(x),x.event}e.debounce=S;function _(A,T=0,F){return e.debounce(A,(D,w)=>D?(D.push(w),D):[w],T,void 0,!0,void 0,F)}e.accumulate=_;function c(A,T=(D,w)=>D===w,F){let D=!0,w;return s(A,L=>{let k=D||!T(L,w);return D=!1,w=L,k},F)}e.latch=c;function d(A,T,F){return[e.filter(A,T,F),e.filter(A,D=>!T(D),F)]}e.split=d;function h(A,T=!1,F=[],D){let w=F.slice(),L=A($=>{w?w.push($):M.fire($)});D&&D.add(L);let k=()=>{w?.forEach($=>M.fire($)),w=null},M=new fe({onWillAddFirstListener(){L||(L=A($=>M.fire($)),D&&D.add(L))},onDidAddFirstListener(){w&&(T?setTimeout(k):k())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return D&&D.add(M),M.event}e.buffer=h;function u(A,T){return(F,D,w)=>{let L=T(new C);return A(function(k){let M=L.evaluate(k);M!==v&&F.call(D,M)},void 0,w)}}e.chain=u;let v=Symbol("HaltChainable");class C{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(F=>(T(F),F)),this}filter(T){return this.steps.push(F=>T(F)?F:v),this}reduce(T,F){let D=F;return this.steps.push(w=>(D=T(D,w),D)),this}latch(T=(F,D)=>F===D){let F=!0,D;return this.steps.push(w=>{let L=F||!T(w,D);return F=!1,D=w,L?w:v}),this}evaluate(T){for(let F of this.steps)if(T=F(T),T===v)break;return T}}function b(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.on(T,D),L=()=>A.removeListener(T,D),k=new fe({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromNodeEventEmitter=b;function y(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.addEventListener(T,D),L=()=>A.removeEventListener(T,D),k=new fe({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromDOMEventEmitter=y;function m(A){return new Promise(T=>n(A)(T))}e.toPromise=m;function E(A){let T=new fe;return A.then(F=>{T.fire(F)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}e.fromPromise=E;function P(A,T){return A(F=>T.fire(F))}e.forward=P;function B(A,T,F){return T(F),A(D=>T(D))}e.runAndSubscribe=B;class H{constructor(T,F){this._observable=T,this._counter=0,this._hasChanged=!1;let D={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};F||t(D),this.emitter=new fe(D),F&&F.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,F){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function R(A,T){return new H(A,T).emitter.event}e.fromObservable=R;function j(A){return(T,F,D)=>{let w=0,L=!1,k={beginUpdate(){w++},endUpdate(){w--,w===0&&(A.reportChanges(),L&&(L=!1,T.call(F)))},handlePossibleChange(){},handleChange(){L=!0}};A.addObserver(k),A.reportChanges();let M={dispose(){A.removeObserver(k)}};return D instanceof ai?D.add(M):Array.isArray(D)&&D.push(M),M}}e.fromObservableLight=j})(at||(at={}));var Us=class js{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${js._idPool++}`,js.all.add(this)}start(t){this._stopWatch=new Fh,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Us.all=new Set,Us._idPool=0;var zh=Us,wo=-1,fa=class _a{constructor(t,i,n=(_a._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=i,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,i){let n=this.threshold;if(n<=0||i<n)return;this._stacks||(this._stacks=new Map);let a=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,a+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[r,s]=this.getMostFrequentStack(),o=`[${this.name}] potential listener LEAK detected, having ${i} listeners already. MOST frequent listener (${s}):`;console.warn(o),console.warn(r);let f=new jh(o,r);this._errorHandler(f)}return()=>{let r=this._stacks.get(t.value)||0;this._stacks.set(t.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,i=0;for(let[n,a]of this._stacks)(!t||i<a)&&(t=[n,a],i=a);return t}};fa._idPool=1;var Uh=fa,qs=class pa{constructor(t){this.value=t}static create(){let t=new Error;return new pa(t.stack??"")}print(){console.warn(this.value.split(`
56
+ `),{leaks:n,details:s}}};Ah.idx=0;function Dh(e){cr=e}if(Th){let e="__is_disposable_tracked__";Dh(new class{trackDisposable(t){let r=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(r)},3e3)}setParent(t,r){if(t&&t!==We.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==We.None)try{t[e]=!0}catch{}}markAsSingleton(t){}})}function Oi(e){return cr?.trackDisposable(e),e}function Ii(e){cr?.markAsDisposed(e)}function Ir(e,t){cr?.setParent(e,t)}function Bh(e,t){if(cr)for(let r of e)cr.setParent(r,t)}function da(e){if(Gs.is(e)){let t=[];for(let r of e)if(r)try{r.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function ua(...e){let t=Ae(()=>da(e));return Bh(e,t),t}function Ae(e){let t=Oi({dispose:Rh(()=>{Ii(t),e()})});return t}var fa=class _a{constructor(){this._toDispose=new Set,this._isDisposed=!1,Oi(this)}dispose(){this._isDisposed||(Ii(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{da(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return Ir(t,this),this._isDisposed?_a.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),Ir(t,null))}};fa.DISABLE_DISPOSED_WARNING=!1;var lr=fa,We=class{constructor(){this._store=new lr,Oi(this),Ir(this._store,this)}dispose(){Ii(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};We.None=Object.freeze({dispose(){}});var Ar=class{constructor(){this._isDisposed=!1,Oi(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Ir(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Ii(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Ir(e,null),e}},rn=typeof process<"u"&&"title"in process,Hr=rn?"node":navigator.userAgent,sn=rn?"node":navigator.platform,Ph=Hr.includes("Firefox"),Oh=Hr.includes("Edge"),pa=/^((?!chrome|android).)*safari/i.test(Hr);function Ih(){if(!pa)return 0;let e=Hr.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var Sp=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(sn),yp=["Windows","Win16","Win32","WinCE"].includes(sn),Cp=sn.indexOf("Linux")>=0,xp=/\bCrOS\b/.test(Hr),Nh="",Le=0,Me=0,Re=0,Se=0,Ue={css:"#00000000",rgba:0},Be;(e=>{function t(a,i,s,o){return o!==void 0?`#${zt(a)}${zt(i)}${zt(s)}${zt(o)}`:`#${zt(a)}${zt(i)}${zt(s)}`}e.toCss=t;function r(a,i,s,o=255){return(a<<24|i<<16|s<<8|o)>>>0}e.toRgba=r;function n(a,i,s,o){return{css:e.toCss(a,i,s,o),rgba:e.toRgba(a,i,s,o)}}e.toColor=n})(Be||(Be={}));var nr;(e=>{function t(f,l){if(Se=(l.rgba&255)/255,Se===1)return{css:l.css,rgba:l.rgba};let p=l.rgba>>24&255,g=l.rgba>>16&255,S=l.rgba>>8&255,_=f.rgba>>24&255,c=f.rgba>>16&255,d=f.rgba>>8&255;Le=_+Math.round((p-_)*Se),Me=c+Math.round((g-c)*Se),Re=d+Math.round((S-d)*Se);let h=Be.toCss(Le,Me,Re),u=Be.toRgba(Le,Me,Re);return{css:h,rgba:u}}e.blend=t;function r(f){return(f.rgba&255)===255}e.isOpaque=r;function n(f,l,p){let g=Bt.ensureContrastRatio(f.rgba,l.rgba,p);if(g)return Be.toColor(g>>24&255,g>>16&255,g>>8&255)}e.ensureContrastRatio=n;function a(f){let l=(f.rgba|255)>>>0;return[Le,Me,Re]=Bt.toChannels(l),{css:Be.toCss(Le,Me,Re),rgba:l}}e.opaque=a;function i(f,l){return Se=Math.round(l*255),[Le,Me,Re]=Bt.toChannels(f.rgba),{css:Be.toCss(Le,Me,Re,Se),rgba:Be.toRgba(Le,Me,Re,Se)}}e.opacity=i;function s(f,l){return Se=f.rgba&255,i(f,Se*l/255)}e.multiplyOpacity=s;function o(f){return[f.rgba>>24&255,f.rgba>>16&255,f.rgba>>8&255]}e.toColorRGB=o})(nr||(nr={}));var ko;(e=>{let t,r;try{let a=document.createElement("canvas");a.width=1,a.height=1;let i=a.getContext("2d",{willReadFrequently:!0});i&&(t=i,t.globalCompositeOperation="copy",r=t.createLinearGradient(0,0,1,1))}catch{}function n(a){if(a.match(/#[\da-f]{3,8}/i))switch(a.length){case 4:return Le=parseInt(a.slice(1,2).repeat(2),16),Me=parseInt(a.slice(2,3).repeat(2),16),Re=parseInt(a.slice(3,4).repeat(2),16),Be.toColor(Le,Me,Re);case 5:return Le=parseInt(a.slice(1,2).repeat(2),16),Me=parseInt(a.slice(2,3).repeat(2),16),Re=parseInt(a.slice(3,4).repeat(2),16),Se=parseInt(a.slice(4,5).repeat(2),16),Be.toColor(Le,Me,Re,Se);case 7:return{css:a,rgba:(parseInt(a.slice(1),16)<<8|255)>>>0};case 9:return{css:a,rgba:parseInt(a.slice(1),16)>>>0}}let i=a.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(i)return Le=parseInt(i[1]),Me=parseInt(i[2]),Re=parseInt(i[3]),Se=Math.round((i[5]===void 0?1:parseFloat(i[5]))*255),Be.toColor(Le,Me,Re,Se);if(!t||!r)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=r,t.fillStyle=a,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[Le,Me,Re,Se]=t.getImageData(0,0,1,1).data,Se!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:Be.toRgba(Le,Me,Re,Se),css:a}}e.toColor=n})(ko||(ko={}));var De;(e=>{function t(n){return r(n>>16&255,n>>8&255,n&255)}e.relativeLuminance=t;function r(n,a,i){let s=n/255,o=a/255,f=i/255,l=s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4),p=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),g=f<=.03928?f/12.92:Math.pow((f+.055)/1.055,2.4);return l*.2126+p*.7152+g*.0722}e.relativeLuminance2=r})(De||(De={}));var Bt;(e=>{function t(s,o){if(Se=(o&255)/255,Se===1)return o;let f=o>>24&255,l=o>>16&255,p=o>>8&255,g=s>>24&255,S=s>>16&255,_=s>>8&255;return Le=g+Math.round((f-g)*Se),Me=S+Math.round((l-S)*Se),Re=_+Math.round((p-_)*Se),Be.toRgba(Le,Me,Re)}e.blend=t;function r(s,o,f){let l=De.relativeLuminance(s>>8),p=De.relativeLuminance(o>>8);if(bt(l,p)<f){if(p<l){let _=n(s,o,f),c=bt(l,De.relativeLuminance(_>>8));if(c<f){let d=a(s,o,f),h=bt(l,De.relativeLuminance(d>>8));return c>h?_:d}return _}let g=a(s,o,f),S=bt(l,De.relativeLuminance(g>>8));if(S<f){let _=n(s,o,f),c=bt(l,De.relativeLuminance(_>>8));return S>c?g:_}return g}}e.ensureContrastRatio=r;function n(s,o,f){let l=s>>24&255,p=s>>16&255,g=s>>8&255,S=o>>24&255,_=o>>16&255,c=o>>8&255,d=bt(De.relativeLuminance2(S,_,c),De.relativeLuminance2(l,p,g));for(;d<f&&(S>0||_>0||c>0);)S-=Math.max(0,Math.ceil(S*.1)),_-=Math.max(0,Math.ceil(_*.1)),c-=Math.max(0,Math.ceil(c*.1)),d=bt(De.relativeLuminance2(S,_,c),De.relativeLuminance2(l,p,g));return(S<<24|_<<16|c<<8|255)>>>0}e.reduceLuminance=n;function a(s,o,f){let l=s>>24&255,p=s>>16&255,g=s>>8&255,S=o>>24&255,_=o>>16&255,c=o>>8&255,d=bt(De.relativeLuminance2(S,_,c),De.relativeLuminance2(l,p,g));for(;d<f&&(S<255||_<255||c<255);)S=Math.min(255,S+Math.ceil((255-S)*.1)),_=Math.min(255,_+Math.ceil((255-_)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),d=bt(De.relativeLuminance2(S,_,c),De.relativeLuminance2(l,p,g));return(S<<24|_<<16|c<<8|255)>>>0}e.increaseLuminance=a;function i(s){return[s>>24&255,s>>16&255,s>>8&255,s&255]}e.toChannels=i})(Bt||(Bt={}));function zt(e){let t=e.toString(16);return t.length<2?"0"+t:t}function bt(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function Ce(e){if(!e)throw new Error("value must not be falsy");return e}function nn(e){return 57508<=e&&e<=57558}function Hh(e){return 57520<=e&&e<=57527}function Fh(e){return 57344<=e&&e<=63743}function Wh(e){return 9472<=e&&e<=9631}function $h(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function zh(e,t,r,n){return t===1&&r>Math.ceil(n*1.5)&&e!==void 0&&e>255&&!$h(e)&&!nn(e)&&!Fh(e)}function ga(e){return nn(e)||Wh(e)}function Uh(){return{css:{canvas:Si(),cell:Si()},device:{canvas:Si(),cell:Si(),char:{width:0,height:0,left:0,top:0}}}}function Si(){return{width:0,height:0}}function jh(e,t,r=0){return(e-(Math.round(t)*2-r))%(Math.round(t)*2)}var Te=0,Ee=0,at=!1,wt=!1,yi=!1,Ie,Rs=0,qh=class{constructor(e,t,r,n,a,i){this._terminal=e,this._optionService=t,this._selectionRenderModel=r,this._decorationService=n,this._coreBrowserService=a,this._themeService=i,this.result={fg:0,bg:0,ext:0}}resolve(e,t,r,n){if(this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,Ee=0,Te=0,wt=!1,at=!1,yi=!1,Ie=this._themeService.colors,Rs=0,e.getCode()!==0&&e.extended.underlineStyle===4){let a=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));Rs=t*n%(Math.round(a)*2)}if(this._decorationService.forEachDecorationAtCell(t,r,"bottom",a=>{a.backgroundColorRGB&&(Ee=a.backgroundColorRGB.rgba>>8&16777215,wt=!0),a.foregroundColorRGB&&(Te=a.foregroundColorRGB.rgba>>8&16777215,at=!0)}),yi=this._selectionRenderModel.isCellSelected(this._terminal,t,r),yi){if(this.result.fg&67108864||(this.result.bg&50331648)!==0){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:Ee=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:Ee=(this.result.fg&16777215)<<8|255;break;default:Ee=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:Ee=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:Ee=(this.result.bg&16777215)<<8|255;break}Ee=Bt.blend(Ee,(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else Ee=(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(wt=!0,Ie.selectionForeground&&(Te=Ie.selectionForeground.rgba>>8&16777215,at=!0),ga(e.getCode())){if(this.result.fg&67108864&&(this.result.bg&50331648)===0)Te=(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:Te=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:Te=(this.result.bg&16777215)<<8|255;break}else switch(this.result.fg&50331648){case 16777216:case 33554432:Te=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:Te=(this.result.fg&16777215)<<8|255;break;default:Te=this._themeService.colors.foreground.rgba}Te=Bt.blend(Te,(this._coreBrowserService.isFocused?Ie.selectionBackgroundOpaque:Ie.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}at=!0}}this._decorationService.forEachDecorationAtCell(t,r,"top",a=>{a.backgroundColorRGB&&(Ee=a.backgroundColorRGB.rgba>>8&16777215,wt=!0),a.foregroundColorRGB&&(Te=a.foregroundColorRGB.rgba>>8&16777215,at=!0)}),wt&&(yi?Ee=e.bg&-16777216&-134217729|Ee|50331648:Ee=e.bg&-16777216|Ee|50331648),at&&(Te=e.fg&-16777216&-67108865|Te|50331648),this.result.fg&67108864&&(wt&&!at&&((this.result.bg&50331648)===0?Te=this.result.fg&-134217728|Ie.background.rgba>>8&16777215&16777215|50331648:Te=this.result.fg&-134217728|this.result.bg&67108863,at=!0),!wt&&at&&((this.result.fg&50331648)===0?Ee=this.result.bg&-67108864|Ie.foreground.rgba>>8&16777215&16777215|50331648:Ee=this.result.bg&-67108864|this.result.fg&67108863,wt=!0)),Ie=void 0,this.result.bg=wt?Ee:this.result.bg,this.result.fg=at?Te:this.result.fg,this.result.ext&=536870911,this.result.ext|=Rs<<29&3758096384}},Kh=.5,va=Ph||Oh?"bottom":"ideographic",Gh={"\u2580":[{x:0,y:0,w:8,h:4}],"\u2581":[{x:0,y:7,w:8,h:1}],"\u2582":[{x:0,y:6,w:8,h:2}],"\u2583":[{x:0,y:5,w:8,h:3}],"\u2584":[{x:0,y:4,w:8,h:4}],"\u2585":[{x:0,y:3,w:8,h:5}],"\u2586":[{x:0,y:2,w:8,h:6}],"\u2587":[{x:0,y:1,w:8,h:7}],"\u2588":[{x:0,y:0,w:8,h:8}],"\u2589":[{x:0,y:0,w:7,h:8}],"\u258A":[{x:0,y:0,w:6,h:8}],"\u258B":[{x:0,y:0,w:5,h:8}],"\u258C":[{x:0,y:0,w:4,h:8}],"\u258D":[{x:0,y:0,w:3,h:8}],"\u258E":[{x:0,y:0,w:2,h:8}],"\u258F":[{x:0,y:0,w:1,h:8}],"\u2590":[{x:4,y:0,w:4,h:8}],"\u2594":[{x:0,y:0,w:8,h:1}],"\u2595":[{x:7,y:0,w:1,h:8}],"\u2596":[{x:0,y:4,w:4,h:4}],"\u2597":[{x:4,y:4,w:4,h:4}],"\u2598":[{x:0,y:0,w:4,h:4}],"\u2599":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\u259A":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"\u259B":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"\u259C":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"\u259D":[{x:4,y:0,w:4,h:4}],"\u259E":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"\u259F":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\u{1FB70}":[{x:1,y:0,w:1,h:8}],"\u{1FB71}":[{x:2,y:0,w:1,h:8}],"\u{1FB72}":[{x:3,y:0,w:1,h:8}],"\u{1FB73}":[{x:4,y:0,w:1,h:8}],"\u{1FB74}":[{x:5,y:0,w:1,h:8}],"\u{1FB75}":[{x:6,y:0,w:1,h:8}],"\u{1FB76}":[{x:0,y:1,w:8,h:1}],"\u{1FB77}":[{x:0,y:2,w:8,h:1}],"\u{1FB78}":[{x:0,y:3,w:8,h:1}],"\u{1FB79}":[{x:0,y:4,w:8,h:1}],"\u{1FB7A}":[{x:0,y:5,w:8,h:1}],"\u{1FB7B}":[{x:0,y:6,w:8,h:1}],"\u{1FB7C}":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\u{1FB7D}":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\u{1FB7E}":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\u{1FB7F}":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\u{1FB80}":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"\u{1FB81}":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"\u{1FB82}":[{x:0,y:0,w:8,h:2}],"\u{1FB83}":[{x:0,y:0,w:8,h:3}],"\u{1FB84}":[{x:0,y:0,w:8,h:5}],"\u{1FB85}":[{x:0,y:0,w:8,h:6}],"\u{1FB86}":[{x:0,y:0,w:8,h:7}],"\u{1FB87}":[{x:6,y:0,w:2,h:8}],"\u{1FB88}":[{x:5,y:0,w:3,h:8}],"\u{1FB89}":[{x:3,y:0,w:5,h:8}],"\u{1FB8A}":[{x:2,y:0,w:6,h:8}],"\u{1FB8B}":[{x:1,y:0,w:7,h:8}],"\u{1FB95}":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"\u{1FB96}":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"\u{1FB97}":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]},Vh={"\u2591":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"\u2592":[[1,0],[0,0],[0,1],[0,0]],"\u2593":[[0,1],[1,1],[1,0],[1,1]]},Yh={"\u2500":{1:"M0,.5 L1,.5"},"\u2501":{3:"M0,.5 L1,.5"},"\u2502":{1:"M.5,0 L.5,1"},"\u2503":{3:"M.5,0 L.5,1"},"\u250C":{1:"M0.5,1 L.5,.5 L1,.5"},"\u250F":{3:"M0.5,1 L.5,.5 L1,.5"},"\u2510":{1:"M0,.5 L.5,.5 L.5,1"},"\u2513":{3:"M0,.5 L.5,.5 L.5,1"},"\u2514":{1:"M.5,0 L.5,.5 L1,.5"},"\u2517":{3:"M.5,0 L.5,.5 L1,.5"},"\u2518":{1:"M.5,0 L.5,.5 L0,.5"},"\u251B":{3:"M.5,0 L.5,.5 L0,.5"},"\u251C":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u2523":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u2524":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u252B":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u252C":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2533":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2534":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"\u253B":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"\u253C":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"\u254B":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"\u2574":{1:"M.5,.5 L0,.5"},"\u2578":{3:"M.5,.5 L0,.5"},"\u2575":{1:"M.5,.5 L.5,0"},"\u2579":{3:"M.5,.5 L.5,0"},"\u2576":{1:"M.5,.5 L1,.5"},"\u257A":{3:"M.5,.5 L1,.5"},"\u2577":{1:"M.5,.5 L.5,1"},"\u257B":{3:"M.5,.5 L.5,1"},"\u2550":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u2551":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u2552":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"\u2553":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},"\u2554":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"\u2555":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"\u2556":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},"\u2557":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},"\u2558":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"\u2559":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"\u255A":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},"\u255B":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"\u255C":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},"\u255D":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},"\u255E":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"\u255F":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},"\u2560":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u2561":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"\u2562":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u2563":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},"\u2564":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"\u2565":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},"\u2566":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"\u2567":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u2568":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"\u2569":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u256A":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"\u256B":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"\u256C":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"\u2571":{1:"M1,0 L0,1"},"\u2572":{1:"M0,0 L1,1"},"\u2573":{1:"M1,0 L0,1 M0,0 L1,1"},"\u257C":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u257D":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"\u257E":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u257F":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u250D":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"\u250E":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2511":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"\u2512":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"\u2515":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"\u2516":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u2519":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"\u251A":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"\u251D":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"\u251E":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u251F":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2520":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"\u2521":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"\u2522":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"\u2525":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"\u2526":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u2527":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"\u2528":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"\u2529":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"\u252A":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"\u252D":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u252E":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"\u252F":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"\u2530":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2531":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"\u2532":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"\u2535":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u2536":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u2537":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"\u2538":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"\u2539":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"\u253A":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"\u253D":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"\u253E":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"\u253F":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"\u2540":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"\u2541":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"\u2542":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"\u2543":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"\u2544":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"\u2545":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"\u2546":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"\u2547":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"\u2548":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"\u2549":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"\u254A":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"\u254C":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"\u254D":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"\u2504":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"\u2505":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"\u2508":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"\u2509":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"\u254E":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"\u254F":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"\u2506":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"\u2507":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"\u250A":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"\u250B":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"\u256D":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"\u256E":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"\u256F":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"\u2570":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},Nr={"\uE0A0":{d:"M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655",type:0},"\uE0A1":{d:"M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5",type:0},"\uE0A2":{d:"M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82",type:0},"\uE0B0":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"\uE0B1":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0B2":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"\uE0B3":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0B4":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"\uE0B5":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"\uE0B6":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"\uE0B7":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"\uE0B8":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"\uE0B9":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0BA":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"\uE0BC":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"\uE0BD":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"\uE0BE":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}};Nr["\uE0BB"]=Nr["\uE0BD"];Nr["\uE0BF"]=Nr["\uE0B9"];function Xh(e,t,r,n,a,i,s,o){let f=Gh[t];if(f)return Jh(e,f,r,n,a,i),!0;let l=Vh[t];if(l)return Zh(e,l,r,n,a,i),!0;let p=Yh[t];if(p)return Qh(e,p,r,n,a,i,o),!0;let g=Nr[t];return g?(ed(e,g,r,n,a,i,s,o),!0):!1}function Jh(e,t,r,n,a,i){for(let s=0;s<t.length;s++){let o=t[s],f=a/8,l=i/8;e.fillRect(r+o.x*f,n+o.y*l,o.w*f,o.h*l)}}var Eo=new Map;function Zh(e,t,r,n,a,i){let s=Eo.get(t);s||(s=new Map,Eo.set(t,s));let o=e.fillStyle;if(typeof o!="string")throw new Error(`Unexpected fillStyle type "${o}"`);let f=s.get(o);if(!f){let l=t[0].length,p=t.length,g=e.canvas.ownerDocument.createElement("canvas");g.width=l,g.height=p;let S=Ce(g.getContext("2d")),_=new ImageData(l,p),c,d,h,u;if(o.startsWith("#"))c=parseInt(o.slice(1,3),16),d=parseInt(o.slice(3,5),16),h=parseInt(o.slice(5,7),16),u=o.length>7&&parseInt(o.slice(7,9),16)||1;else if(o.startsWith("rgba"))[c,d,h,u]=o.substring(5,o.length-1).split(",").map(v=>parseFloat(v));else throw new Error(`Unexpected fillStyle color format "${o}" when drawing pattern glyph`);for(let v=0;v<p;v++)for(let y=0;y<l;y++)_.data[(v*l+y)*4]=c,_.data[(v*l+y)*4+1]=d,_.data[(v*l+y)*4+2]=h,_.data[(v*l+y)*4+3]=t[v][y]*(u*255);S.putImageData(_,0,0),f=Ce(e.createPattern(g,null)),s.set(o,f)}e.fillStyle=f,e.fillRect(r,n,a,i)}function Qh(e,t,r,n,a,i,s){e.strokeStyle=e.fillStyle;for(let[o,f]of Object.entries(t)){e.beginPath(),e.lineWidth=s*Number.parseInt(o);let l;if(typeof f=="function"){let p=.15/i*a;l=f(.15,p)}else l=f;for(let p of l.split(" ")){let g=p[0],S=ma[g];if(!S){console.error(`Could not find drawing instructions for "${g}"`);continue}let _=p.substring(1).split(",");!_[0]||!_[1]||S(e,ba(_,a,i,r,n,!0,s))}e.stroke(),e.closePath()}}function ed(e,t,r,n,a,i,s,o){let f=new Path2D;f.rect(r,n,a,i),e.clip(f),e.beginPath();let l=s/12;e.lineWidth=o*l;for(let p of t.d.split(" ")){let g=p[0],S=ma[g];if(!S){console.error(`Could not find drawing instructions for "${g}"`);continue}let _=p.substring(1).split(",");!_[0]||!_[1]||S(e,ba(_,a,i,r,n,!1,o,(t.leftPadding??0)*(l/2),(t.rightPadding??0)*(l/2)))}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function Lo(e,t,r=0){return Math.max(Math.min(e,t),r)}var ma={C:(e,t)=>e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function ba(e,t,r,n,a,i,s,o=0,f=0){let l=e.map(p=>parseFloat(p)||parseInt(p));if(l.length<2)throw new Error("Too few arguments for instruction");for(let p=0;p<l.length;p+=2)l[p]*=t-o*s-f*s,i&&l[p]!==0&&(l[p]=Lo(Math.round(l[p]+.5)-.5,t,0)),l[p]+=n+o*s;for(let p=1;p<l.length;p+=2)l[p]*=r,i&&l[p]!==0&&(l[p]=Lo(Math.round(l[p]+.5)-.5,r,0)),l[p]+=a;return l}var Mo=class{constructor(){this._data={}}set(e,t,r){this._data[e]||(this._data[e]={}),this._data[e][t]=r}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Ro=class{constructor(){this._data=new Mo}set(e,t,r,n,a){this._data.get(e,t)||this._data.set(e,t,new Mo),this._data.get(e,t).set(r,n,a)}get(e,t,r,n){return this._data.get(e,t)?.get(r,n)}clear(){this._data.clear()}},wa=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 t=0,r=0,n=e.timeRemaining(),a=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),r=Math.max(t,r),a=e.timeRemaining(),r*1.5>a){n-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(n-t))}ms`),this._start();return}n=a}this.clear()}},td=class extends wa{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},rd=class extends wa{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},id=!rn&&"requestIdleCallback"in window?rd:td,or=class Sa{constructor(){this.fg=0,this.bg=0,this.extended=new ya}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new Sa;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}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}},ya=class Ca{constructor(t=0,r=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new Ca(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},To=class Vs{constructor(t){this.element=t,this.next=Vs.Undefined,this.prev=Vs.Undefined}};To.Undefined=new To(void 0);var sd=globalThis.performance&&typeof globalThis.performance.now=="function",nd=class xa{static create(t){return new xa(t)}constructor(t){this._now=sd&&t===!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}},od=!1,Ao=!1,ad=!1,lt;(e=>{e.None=()=>We.None;function t(A){if(ad){let{onDidAddListener:T}=A,F=Js.create(),D=0;A.onDidAddListener=()=>{++D===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),F.print()),T?.()}}}function r(A,T){return S(A,()=>{},0,void 0,!0,void 0,T)}e.defer=r;function n(A){return(T,F=null,D)=>{let w=!1,L;return L=A(k=>{if(!w)return L?L.dispose():w=!0,T.call(F,k)},null,D),w&&L.dispose(),L}}e.once=n;function a(A,T,F){return p((D,w=null,L)=>A(k=>D.call(w,T(k)),null,L),F)}e.map=a;function i(A,T,F){return p((D,w=null,L)=>A(k=>{T(k),D.call(w,k)},null,L),F)}e.forEach=i;function s(A,T,F){return p((D,w=null,L)=>A(k=>T(k)&&D.call(w,k),null,L),F)}e.filter=s;function o(A){return A}e.signal=o;function f(...A){return(T,F=null,D)=>{let w=ua(...A.map(L=>L(k=>T.call(F,k))));return g(w,D)}}e.any=f;function l(A,T,F,D){let w=F;return a(A,L=>(w=T(w,L),w),D)}e.reduce=l;function p(A,T){let F,D={onWillAddFirstListener(){F=A(w.fire,w)},onDidRemoveLastListener(){F?.dispose()}};T||t(D);let w=new ue(D);return T?.add(w),w.event}function g(A,T){return T instanceof Array?T.push(A):T&&T.add(A),A}function S(A,T,F=100,D=!1,w=!1,L,k){let M,z,q,V=0,Z,I={leakWarningThreshold:L,onWillAddFirstListener(){M=A(O=>{V++,z=T(z,O),D&&!q&&(x.fire(z),z=void 0),Z=()=>{let N=z;z=void 0,q=void 0,(!D||V>1)&&x.fire(N),V=0},typeof F=="number"?(clearTimeout(q),q=setTimeout(Z,F)):q===void 0&&(q=0,queueMicrotask(Z))})},onWillRemoveListener(){w&&V>0&&Z?.()},onDidRemoveLastListener(){Z=void 0,M.dispose()}};k||t(I);let x=new ue(I);return k?.add(x),x.event}e.debounce=S;function _(A,T=0,F){return e.debounce(A,(D,w)=>D?(D.push(w),D):[w],T,void 0,!0,void 0,F)}e.accumulate=_;function c(A,T=(D,w)=>D===w,F){let D=!0,w;return s(A,L=>{let k=D||!T(L,w);return D=!1,w=L,k},F)}e.latch=c;function d(A,T,F){return[e.filter(A,T,F),e.filter(A,D=>!T(D),F)]}e.split=d;function h(A,T=!1,F=[],D){let w=F.slice(),L=A(z=>{w?w.push(z):M.fire(z)});D&&D.add(L);let k=()=>{w?.forEach(z=>M.fire(z)),w=null},M=new ue({onWillAddFirstListener(){L||(L=A(z=>M.fire(z)),D&&D.add(L))},onDidAddFirstListener(){w&&(T?setTimeout(k):k())},onDidRemoveLastListener(){L&&L.dispose(),L=null}});return D&&D.add(M),M.event}e.buffer=h;function u(A,T){return(F,D,w)=>{let L=T(new y);return A(function(k){let M=L.evaluate(k);M!==v&&F.call(D,M)},void 0,w)}}e.chain=u;let v=Symbol("HaltChainable");class y{constructor(){this.steps=[]}map(T){return this.steps.push(T),this}forEach(T){return this.steps.push(F=>(T(F),F)),this}filter(T){return this.steps.push(F=>T(F)?F:v),this}reduce(T,F){let D=F;return this.steps.push(w=>(D=T(D,w),D)),this}latch(T=(F,D)=>F===D){let F=!0,D;return this.steps.push(w=>{let L=F||!T(w,D);return F=!1,D=w,L?w:v}),this}evaluate(T){for(let F of this.steps)if(T=F(T),T===v)break;return T}}function b(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.on(T,D),L=()=>A.removeListener(T,D),k=new ue({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromNodeEventEmitter=b;function C(A,T,F=D=>D){let D=(...M)=>k.fire(F(...M)),w=()=>A.addEventListener(T,D),L=()=>A.removeEventListener(T,D),k=new ue({onWillAddFirstListener:w,onDidRemoveLastListener:L});return k.event}e.fromDOMEventEmitter=C;function m(A){return new Promise(T=>n(A)(T))}e.toPromise=m;function E(A){let T=new ue;return A.then(F=>{T.fire(F)},()=>{T.fire(void 0)}).finally(()=>{T.dispose()}),T.event}e.fromPromise=E;function P(A,T){return A(F=>T.fire(F))}e.forward=P;function B(A,T,F){return T(F),A(D=>T(D))}e.runAndSubscribe=B;class H{constructor(T,F){this._observable=T,this._counter=0,this._hasChanged=!1;let D={onWillAddFirstListener:()=>{T.addObserver(this)},onDidRemoveLastListener:()=>{T.removeObserver(this)}};F||t(D),this.emitter=new ue(D),F&&F.add(this.emitter)}beginUpdate(T){this._counter++}handlePossibleChange(T){}handleChange(T,F){this._hasChanged=!0}endUpdate(T){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function R(A,T){return new H(A,T).emitter.event}e.fromObservable=R;function j(A){return(T,F,D)=>{let w=0,L=!1,k={beginUpdate(){w++},endUpdate(){w--,w===0&&(A.reportChanges(),L&&(L=!1,T.call(F)))},handlePossibleChange(){},handleChange(){L=!0}};A.addObserver(k),A.reportChanges();let M={dispose(){A.removeObserver(k)}};return D instanceof lr?D.add(M):Array.isArray(D)&&D.push(M),M}}e.fromObservableLight=j})(lt||(lt={}));var Ys=class Xs{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${Xs._idPool++}`,Xs.all.add(this)}start(t){this._stopWatch=new nd,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Ys.all=new Set,Ys._idPool=0;var ld=Ys,Do=-1,ka=class Ea{constructor(t,r,n=(Ea._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=r,this.name=n,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,r){let n=this.threshold;if(n<=0||r<n)return;this._stacks||(this._stacks=new Map);let a=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,a+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[i,s]=this.getMostFrequentStack(),o=`[${this.name}] potential listener LEAK detected, having ${r} listeners already. MOST frequent listener (${s}):`;console.warn(o),console.warn(i);let f=new hd(o,i);this._errorHandler(f)}return()=>{let i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,r=0;for(let[n,a]of this._stacks)(!t||r<a)&&(t=[n,a],r=a);return t}};ka._idPool=1;var cd=ka,Js=class La{constructor(t){this.value=t}static create(){let t=new Error;return new La(t.stack??"")}print(){console.warn(this.value.split(`
57
57
  `).slice(2).join(`
58
- `))}},jh=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},qh=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},Kh=0,yr=class{constructor(e){this.value=e,this.id=Kh++}},Gh=2,Vh=(e,t)=>{if(e instanceof yr)t(e);else for(let i=0;i<e.length;i++){let n=e[i];n&&t(n)}},xr;if(Wh){let e=[];setInterval(()=>{e.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(e.join(`
59
- `)),e.length=0)},3e3),xr=new FinalizationRegistry(t=>{typeof t=="string"&&e.push(t)})}var fe=class{constructor(e){this._size=0,this._options=e,this._leakageMon=wo>0||this._options?.leakWarningThreshold?new Uh(e?.onListenerError??Cr,this._options?.leakWarningThreshold??wo):void 0,this._perfMon=this._options?._profName?new zh(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(bo){let e=this._listeners;queueMicrotask(()=>{Vh(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??(this._event=(e,t,i)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],l=new qh(`${o}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(this._options?.onListenerError||Cr)(l),We.None}if(this._disposed)return We.None;t&&(e=e.bind(t));let n=new yr(e),a,r;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=qs.create(),a=this._leakageMon.check(n.stack,this._size+1)),bo&&(n.stack=r??qs.create()),this._listeners?this._listeners instanceof yr?(this._deliveryQueue??(this._deliveryQueue=new Yh),this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._size++;let s=Te(()=>{xr?.unregister(s),a?.(),this._removeListener(n)});if(i instanceof ai?i.add(s):Array.isArray(i)&&i.push(s),xr){let o=new Error().stack.split(`
58
+ `))}},hd=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},dd=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},ud=0,Ei=class{constructor(e){this.value=e,this.id=ud++}},fd=2,_d=(e,t)=>{if(e instanceof Ei)t(e);else for(let r=0;r<e.length;r++){let n=e[r];n&&t(n)}},Li;if(od){let e=[];setInterval(()=>{e.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(e.join(`
59
+ `)),e.length=0)},3e3),Li=new FinalizationRegistry(t=>{typeof t=="string"&&e.push(t)})}var ue=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Do>0||this._options?.leakWarningThreshold?new cd(e?.onListenerError??ki,this._options?.leakWarningThreshold??Do):void 0,this._perfMon=this._options?._profName?new ld(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(Ao){let e=this._listeners;queueMicrotask(()=>{_d(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??(this._event=(e,t,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let o=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(o);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],l=new dd(`${o}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(this._options?.onListenerError||ki)(l),We.None}if(this._disposed)return We.None;t&&(e=e.bind(t));let n=new Ei(e),a,i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=Js.create(),a=this._leakageMon.check(n.stack,this._size+1)),Ao&&(n.stack=i??Js.create()),this._listeners?this._listeners instanceof Ei?(this._deliveryQueue??(this._deliveryQueue=new pd),this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._size++;let s=Ae(()=>{Li?.unregister(s),a?.(),this._removeListener(n)});if(r instanceof lr?r.add(s):Array.isArray(r)&&r.push(s),Li){let o=new Error().stack.split(`
60
60
  `).slice(2,3).join(`
61
- `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(o);xr.register(s,f?.[2]??o,s)}return s}),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 t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;let n=this._deliveryQueue.current===this;if(this._size*Gh<=t.length){let a=0;for(let r=0;r<t.length;r++)t[r]?t[a++]=t[r]:n&&(this._deliveryQueue.end--,a<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=a}}_deliver(e,t){if(!e)return;let i=this._options?.onListenerError||Cr;if(!i){e.value(t);return}try{e.value(t)}catch(n){i(n)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[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 yr)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}},Yh=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},So={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},Ri=2,Ti,Tt=class ri{constructor(t,i,n){this._document=t,this._config=i,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new vo,this._cacheMapCombined=new vo,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new ni,this._textureSize=512,this._onAddTextureAtlasCanvas=new fe,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new fe,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=ga(t,this._config.deviceCellWidth*4+Ri*2,this._config.deviceCellHeight+Ri*2),this._tmpCtx=Ce(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let t of this.pages)t.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){let t=new Nh;for(let i=33;i<126;i++)t.enqueue(()=>{if(!this._cacheMap.get(i,0,0,0)){let n=this._drawToCache(i,0,0,0,!1,void 0);this._cacheMap.set(i,0,0,0,n)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(!(this._pages[0].currentRow.x===0&&this._pages[0].currentRow.y===0)){for(let t of this._pages)t.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(ri.maxAtlasPages&&this._pages.length>=Math.max(4,ri.maxAtlasPages)){let i=this._pages.filter(l=>l.canvas.width*2<=(ri.maxTextureSize||4096)).sort((l,p)=>p.canvas.width!==l.canvas.width?p.canvas.width-l.canvas.width:p.percentageUsed-l.percentageUsed),n=-1,a=0;for(let l=0;l<i.length;l++)if(i[l].canvas.width!==a)n=l,a=i[l].canvas.width;else if(l-n===3)break;let r=i.slice(n,n+4),s=r.map(l=>l.glyphs[0].texturePage).sort((l,p)=>l>p?1:-1),o=this.pages.length-r.length,f=this._mergePages(r,o);f.version++;for(let l=s.length-1;l>=0;l--)this._deletePage(s[l]);this.pages.push(f),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(f.canvas)}let t=new xs(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(t,i){let n=t[0].canvas.width*2,a=new xs(this._document,n,t);for(let[r,s]of t.entries()){let o=r*s.canvas.width%n,f=Math.floor(r/2)*s.canvas.height;a.ctx.drawImage(s.canvas,o,f);for(let p of s.glyphs)p.texturePage=i,p.sizeClipSpace.x=p.size.x/n,p.sizeClipSpace.y=p.size.y/n,p.texturePosition.x+=o,p.texturePosition.y+=f,p.texturePositionClipSpace.x=p.texturePosition.x/n,p.texturePositionClipSpace.y=p.texturePosition.y/n;this._onRemoveTextureAtlasCanvas.fire(s.canvas);let l=this._activePages.indexOf(s);l!==-1&&this._activePages.splice(l,1)}return a}_deletePage(t){this._pages.splice(t,1);for(let i=t;i<this._pages.length;i++){let n=this._pages[i];for(let a of n.glyphs)a.texturePage--;n.version++}}getRasterizedGlyphCombinedChar(t,i,n,a,r,s){return this._getFromCacheMap(this._cacheMapCombined,t,i,n,a,r,s)}getRasterizedGlyph(t,i,n,a,r,s){return this._getFromCacheMap(this._cacheMap,t,i,n,a,r,s)}_getFromCacheMap(t,i,n,a,r,s,o){return Ti=t.get(i,n,a,r),Ti||(Ti=this._drawToCache(i,n,a,r,s,o),t.set(i,n,a,r,Ti)),Ti}_getColorFromAnsiIndex(t){if(t>=this._config.colors.ansi.length)throw new Error("No color found for idx "+t);return this._config.colors.ansi[t]}_getBackgroundColor(t,i,n,a){if(this._config.allowTransparency)return Ue;let r;switch(t){case 16777216:case 33554432:r=this._getColorFromAnsiIndex(i);break;case 50331648:let s=ni.toColorRGB(i);r=De.toColor(s[0],s[1],s[2]);break;default:n?r=si.opaque(this._config.colors.foreground):r=this._config.colors.background;break}return this._config.allowTransparency||(r=si.opaque(r)),r}_getForegroundColor(t,i,n,a,r,s,o,f,l,p){let g=this._getMinimumContrastColor(t,i,n,a,r,s,o,l,f,p);if(g)return g;let S;switch(r){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&l&&s<8&&(s+=8),S=this._getColorFromAnsiIndex(s);break;case 50331648:let _=ni.toColorRGB(s);S=De.toColor(_[0],_[1],_[2]);break;default:o?S=this._config.colors.background:S=this._config.colors.foreground}return this._config.allowTransparency&&(S=si.opaque(S)),f&&(S=si.multiplyOpacity(S,Eh)),S}_resolveBackgroundRgba(t,i,n){switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(i).rgba;case 50331648:return i<<8;default:return n?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(t,i,n,a){switch(t){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&a&&i<8&&(i+=8),this._getColorFromAnsiIndex(i).rgba;case 50331648:return i<<8;default:return n?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(t,i,n,a,r,s,o,f,l,p){if(this._config.minimumContrastRatio===1||p)return;let g=this._getContrastCache(l),S=g.getColor(t,a);if(S!==void 0)return S||void 0;let _=this._resolveBackgroundRgba(i,n,o),c=this._resolveForegroundRgba(r,s,o,f),d=Dt.ensureContrastRatio(_,c,this._config.minimumContrastRatio/(l?2:1));if(!d){g.setColor(t,a,null);return}let h=De.toColor(d>>24&255,d>>16&255,d>>8&255);return g.setColor(t,a,h),h}_getContrastCache(t){return t?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,i,n,a,r,s){let o=typeof t=="number"?String.fromCharCode(t):t;s&&this._tmpCanvas.parentElement!==s&&(this._tmpCanvas.style.display="none",s.append(this._tmpCanvas));let f=Math.min(this._config.deviceCellWidth*Math.max(o.length,2)+Ri*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<f&&(this._tmpCanvas.width=f);let l=Math.min(this._config.deviceCellHeight+Ri*4,this._textureSize);if(this._tmpCanvas.height<l&&(this._tmpCanvas.height=l),this._tmpCtx.save(),this._workAttributeData.fg=n,this._workAttributeData.bg=i,this._workAttributeData.extended.ext=a,!!this._workAttributeData.isInvisible())return So;let p=!!this._workAttributeData.isBold(),g=!!this._workAttributeData.isInverse(),S=!!this._workAttributeData.isDim(),_=!!this._workAttributeData.isItalic(),c=!!this._workAttributeData.isUnderline(),d=!!this._workAttributeData.isStrikethrough(),h=!!this._workAttributeData.isOverline(),u=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),C=this._workAttributeData.getBgColor(),b=this._workAttributeData.getBgColorMode();if(g){let M=u;u=C,C=M;let $=v;v=b,b=$}let y=this._getBackgroundColor(b,C,g,S);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=y.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";let m=p?this._config.fontWeightBold:this._config.fontWeight,E=_?"italic":"";this._tmpCtx.font=`${E} ${m} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=na;let P=o.length===1&&Zs(o.charCodeAt(0)),B=o.length===1&&mh(o.charCodeAt(0)),H=this._getForegroundColor(i,b,C,n,v,u,g,S,p,sa(o.charCodeAt(0)));this._tmpCtx.fillStyle=H.css;let R=B?0:Ri*2,j=!1;this._config.customGlyphs!==!1&&(j=Th(this._tmpCtx,o,R,R,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let A=!P,T;if(typeof t=="number"?T=this._unicodeService.wcwidth(t):T=this._unicodeService.getStringCellWidth(t),c){this._tmpCtx.save();let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),$=M%2===1?.5:0;if(this._tmpCtx.lineWidth=M,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())A=!1,this._tmpCtx.strokeStyle=`rgb(${ni.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{A=!1;let I=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&I<8&&(I+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(I).css}this._tmpCtx.beginPath();let q=R,V=Math.ceil(R+this._config.deviceCharHeight)-$-(r?M*2:0),J=V+M,N=V+M*2,x=this._workAttributeData.getUnderlineVariantOffset();for(let I=0;I<T;I++){this._tmpCtx.save();let O=q+I*this._config.deviceCellWidth,U=q+(I+1)*this._config.deviceCellWidth,z=O+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(O,V),this._tmpCtx.lineTo(U,V),this._tmpCtx.moveTo(O,N),this._tmpCtx.lineTo(U,N);break;case 3:let X=M<=1?N:Math.ceil(R+this._config.deviceCharHeight-M/2)-$,Q=M<=1?V:Math.ceil(R+this._config.deviceCharHeight+M/2)-$,ie=new Path2D;ie.rect(O,V,this._config.deviceCellWidth,N-V),this._tmpCtx.clip(ie),this._tmpCtx.moveTo(O-this._config.deviceCellWidth/2,J),this._tmpCtx.bezierCurveTo(O-this._config.deviceCellWidth/2,Q,O,Q,O,J),this._tmpCtx.bezierCurveTo(O,X,z,X,z,J),this._tmpCtx.bezierCurveTo(z,Q,U,Q,U,J),this._tmpCtx.bezierCurveTo(U,X,U+this._config.deviceCellWidth/2,X,U+this._config.deviceCellWidth/2,J);break;case 4:let te=x===0?0:x>=M?M*2-x:M-x;x>=M||te===0?(this._tmpCtx.setLineDash([Math.round(M),Math.round(M)]),this._tmpCtx.moveTo(O+te,V),this._tmpCtx.lineTo(U,V)):(this._tmpCtx.setLineDash([Math.round(M),Math.round(M)]),this._tmpCtx.moveTo(O,V),this._tmpCtx.lineTo(O+te,V),this._tmpCtx.moveTo(O+te+M,V),this._tmpCtx.lineTo(U,V)),x=xh(U-O,M,x);break;case 5:let K=.6,Z=.3,re=U-O,le=Math.floor(K*re),he=Math.floor(Z*re),Se=re-le-he;this._tmpCtx.setLineDash([le,he,Se]),this._tmpCtx.moveTo(O,V),this._tmpCtx.lineTo(U,V);break;default:this._tmpCtx.moveTo(O,V),this._tmpCtx.lineTo(U,V);break}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!j&&this._config.fontSize>=12&&!this._config.allowTransparency&&o!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";let I=this._tmpCtx.measureText(o);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in I&&I.actualBoundingBoxDescent>0){this._tmpCtx.save();let O=new Path2D;O.rect(q,V-Math.ceil(M/2),this._config.deviceCellWidth*T,N-V+Math.ceil(M/2)),this._tmpCtx.clip(O),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=y.css,this._tmpCtx.strokeText(o,R,R+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(h){let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),$=M%2===1?.5:0;this._tmpCtx.lineWidth=M,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(R,R+$),this._tmpCtx.lineTo(R+this._config.deviceCharWidth*T,R+$),this._tmpCtx.stroke()}if(j||this._tmpCtx.fillText(o,R,R+this._config.deviceCharHeight),o==="_"&&!this._config.allowTransparency){let M=ks(this._tmpCtx.getImageData(R,R,this._config.deviceCellWidth,this._config.deviceCellHeight),y,H,A);if(M)for(let $=1;$<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=y.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(o,R,R+this._config.deviceCharHeight-$),M=ks(this._tmpCtx.getImageData(R,R,this._config.deviceCellWidth,this._config.deviceCellHeight),y,H,A),!!M);$++);}if(d){let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),$=this._tmpCtx.lineWidth%2===1?.5:0;this._tmpCtx.lineWidth=M,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(R,R+Math.floor(this._config.deviceCharHeight/2)-$),this._tmpCtx.lineTo(R+this._config.deviceCharWidth*T,R+Math.floor(this._config.deviceCharHeight/2)-$),this._tmpCtx.stroke()}this._tmpCtx.restore();let F=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),D;if(this._config.allowTransparency?D=Xh(F):D=ks(F,y,H,A),D)return So;let w=this._findGlyphBoundingBox(F,this._workBoundingBox,f,B,j,R),L,k;for(;;){if(this._activePages.length===0){let M=this._createNewPage();L=M,k=M.currentRow,k.height=w.size.y;break}L=this._activePages[this._activePages.length-1],k=L.currentRow;for(let M of this._activePages)w.size.y<=M.currentRow.height&&(L=M,k=M.currentRow);for(let M=this._activePages.length-1;M>=0;M--)for(let $ of this._activePages[M].fixedRows)$.height<=k.height&&w.size.y<=$.height&&(L=this._activePages[M],k=$);if(w.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new xs(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),L=this._overflowSizePage,k=this._overflowSizePage.currentRow,k.x+w.size.x>=L.canvas.width&&(k.x=0,k.y+=k.height,k.height=0);break}if(k.y+w.size.y>=L.canvas.height||k.height>w.size.y+2){let M=!1;if(L.currentRow.y+L.currentRow.height+w.size.y>=L.canvas.height){let $;for(let q of this._activePages)if(q.currentRow.y+q.currentRow.height+w.size.y<q.canvas.height){$=q;break}if($)L=$;else if(ri.maxAtlasPages&&this._pages.length>=ri.maxAtlasPages&&k.y+w.size.y<=L.canvas.height&&k.height>=w.size.y&&k.x+w.size.x<=L.canvas.width)M=!0;else{let q=this._createNewPage();L=q,k=q.currentRow,k.height=w.size.y,M=!0}}M||(L.currentRow.height>0&&L.fixedRows.push(L.currentRow),k={x:0,y:L.currentRow.y+L.currentRow.height,height:w.size.y},L.fixedRows.push(k),L.currentRow={x:0,y:k.y+k.height,height:0})}if(k.x+w.size.x<=L.canvas.width)break;k===L.currentRow?(k.x=0,k.y+=k.height,k.height=0):L.fixedRows.splice(L.fixedRows.indexOf(k),1)}return w.texturePage=this._pages.indexOf(L),w.texturePosition.x=k.x,w.texturePosition.y=k.y,w.texturePositionClipSpace.x=k.x/L.canvas.width,w.texturePositionClipSpace.y=k.y/L.canvas.height,w.sizeClipSpace.x/=L.canvas.width,w.sizeClipSpace.y/=L.canvas.height,k.height=Math.max(k.height,w.size.y),k.x+=w.size.x,L.ctx.putImageData(F,w.texturePosition.x-this._workBoundingBox.left,w.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,w.size.x,w.size.y),L.addGlyph(w),L.version++,w}_findGlyphBoundingBox(t,i,n,a,r,s){i.top=0;let o=a?this._config.deviceCellHeight:this._tmpCanvas.height,f=a?this._config.deviceCellWidth:n,l=!1;for(let p=0;p<o;p++){for(let g=0;g<f;g++){let S=p*this._tmpCanvas.width*4+g*4+3;if(t.data[S]!==0){i.top=p,l=!0;break}}if(l)break}i.left=0,l=!1;for(let p=0;p<s+f;p++){for(let g=0;g<o;g++){let S=g*this._tmpCanvas.width*4+p*4+3;if(t.data[S]!==0){i.left=p,l=!0;break}}if(l)break}i.right=f,l=!1;for(let p=s+f-1;p>=s;p--){for(let g=0;g<o;g++){let S=g*this._tmpCanvas.width*4+p*4+3;if(t.data[S]!==0){i.right=p,l=!0;break}}if(l)break}i.bottom=o,l=!1;for(let p=o-1;p>=0;p--){for(let g=0;g<f;g++){let S=p*this._tmpCanvas.width*4+g*4+3;if(t.data[S]!==0){i.bottom=p,l=!0;break}}if(l)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:i.right-i.left+1,y:i.bottom-i.top+1},sizeClipSpace:{x:i.right-i.left+1,y:i.bottom-i.top+1},offset:{x:-i.left+s+(a||r?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-i.top+s+(a||r?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},xs=class{constructor(e,t,i){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],i)for(let n of i)this._glyphs.push(...n.glyphs),this._usedPixels+=n._usedPixels;this.canvas=ga(e,t,t),this.ctx=Ce(this.canvas.getContext("2d",{alpha:!0}))}get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(e){this._glyphs.push(e),this._usedPixels+=e.size.x*e.size.y}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}};function ks(e,t,i,n){let a=t.rgba>>>24,r=t.rgba>>>16&255,s=t.rgba>>>8&255,o=i.rgba>>>24,f=i.rgba>>>16&255,l=i.rgba>>>8&255,p=Math.floor((Math.abs(a-o)+Math.abs(r-f)+Math.abs(s-l))/12),g=!0;for(let S=0;S<e.data.length;S+=4)e.data[S]===a&&e.data[S+1]===r&&e.data[S+2]===s||n&&Math.abs(e.data[S]-a)+Math.abs(e.data[S+1]-r)+Math.abs(e.data[S+2]-s)<p?e.data[S+3]=0:g=!1;return g}function Xh(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function ga(e,t,i){let n=e.createElement("canvas");return n.width=t,n.height=i,n}function Jh(e,t,i,n,a,r,s,o){let f={foreground:r.foreground,background:r.background,cursor:Ue,cursorAccent:Ue,selectionForeground:Ue,selectionBackgroundTransparent:Ue,selectionBackgroundOpaque:Ue,selectionInactiveBackgroundTransparent:Ue,selectionInactiveBackgroundOpaque:Ue,overviewRulerBorder:Ue,scrollbarSliderBackground:Ue,scrollbarSliderHoverBackground:Ue,scrollbarSliderActiveBackground:Ue,ansi:r.ansi.slice(),contrastCache:r.contrastCache,halfContrastCache:r.halfContrastCache};return{customGlyphs:a.customGlyphs,devicePixelRatio:s,deviceMaxTextureSize:o,letterSpacing:a.letterSpacing,lineHeight:a.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:i,deviceCharHeight:n,fontFamily:a.fontFamily,fontSize:a.fontSize,fontWeight:a.fontWeight,fontWeightBold:a.fontWeightBold,allowTransparency:a.allowTransparency,drawBoldTextInBrightColors:a.drawBoldTextInBrightColors,minimumContrastRatio:a.minimumContrastRatio,colors:f}}function Co(e,t){for(let i=0;i<e.colors.ansi.length;i++)if(e.colors.ansi[i].rgba!==t.colors.ansi[i].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function Zh(e){return(e&50331648)===16777216||(e&50331648)===33554432}var qe=[];function va(e,t,i,n,a,r,s,o,f){let l=Jh(n,a,r,s,t,i,o,f);for(let S=0;S<qe.length;S++){let _=qe[S],c=_.ownedBy.indexOf(e);if(c>=0){if(Co(_.config,l))return _.atlas;_.ownedBy.length===1?(_.atlas.dispose(),qe.splice(S,1)):_.ownedBy.splice(c,1);break}}for(let S=0;S<qe.length;S++){let _=qe[S];if(Co(_.config,l))return _.ownedBy.push(e),_.atlas}let p=e._core,g={atlas:new Tt(document,l,p.unicodeService),config:l,ownedBy:[e]};return qe.push(g),g.atlas}function yo(e){for(let t=0;t<qe.length;t++){let i=qe[t].ownedBy.indexOf(e);if(i!==-1){qe[t].ownedBy.length===1?(qe[t].atlas.dispose(),qe.splice(t,1)):qe[t].ownedBy.splice(i,1);break}}}var wr=600,Qh=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(e=wr){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let t=wr-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,t>0){this._restartInterval(t);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let t=wr-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(t);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},wr)},e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}};function xo(e,t,i){let n=new t.ResizeObserver(a=>{let r=a.find(f=>f.target===e);if(!r)return;if(!("devicePixelContentBoxSize"in r)){n?.disconnect(),n=void 0;return}let s=r.devicePixelContentBoxSize[0].inlineSize,o=r.devicePixelContentBoxSize[0].blockSize;s>0&&o>0&&i(s,o)});try{n.observe(e,{box:["device-pixel-content-box"]})}catch{n.disconnect(),n=void 0}return Te(()=>n?.disconnect())}function ed(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var ko=class ma extends ni{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new ha,this.combinedData=""}static fromCharData(t){let i=new ma;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?ed(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let n=t[1].charCodeAt(0);if(55296<=n&&n<=56319){let a=t[1].charCodeAt(1);56320<=a&&a<=57343?this.content=(n-55296)*1024+a-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ba=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function wa(e,t,i){let n=Ce(e.createProgram());if(e.attachShader(n,Ce(Eo(e,e.VERTEX_SHADER,t))),e.attachShader(n,Ce(Eo(e,e.FRAGMENT_SHADER,i))),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS))return n;console.error(e.getProgramInfoLog(n)),e.deleteProgram(n)}function Eo(e,t,i){let n=Ce(e.createShader(t));if(e.shaderSource(n,i),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS))return n;console.error(e.getShaderInfoLog(n)),e.deleteShader(n)}function td(e,t){let i=Math.min(e.length*2,t),n=new Float32Array(i);for(let a=0;a<e.length;a++)n[a]=e[a];return n}var id=class{constructor(e){this.texture=e,this.version=-1}},rd=`#version 300 es
61
+ `).trim(),f=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(o);Li.register(s,f?.[2]??o,s)}return s}),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 t=this._listeners,r=t.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[r]=void 0;let n=this._deliveryQueue.current===this;if(this._size*fd<=t.length){let a=0;for(let i=0;i<t.length;i++)t[i]?t[a++]=t[i]:n&&(this._deliveryQueue.end--,a<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=a}}_deliver(e,t){if(!e)return;let r=this._options?.onListenerError||ki;if(!r){e.value(t);return}try{e.value(t)}catch(n){r(n)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[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 Ei)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}},pd=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Bo={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},Dr=2,Br,At=class sr{constructor(t,r,n){this._document=t,this._config=r,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new Ro,this._cacheMapCombined=new Ro,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new or,this._textureSize=512,this._onAddTextureAtlasCanvas=new ue,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new ue,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=Ma(t,this._config.deviceCellWidth*4+Dr*2,this._config.deviceCellHeight+Dr*2),this._tmpCtx=Ce(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let t of this.pages)t.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){let t=new id;for(let r=33;r<126;r++)t.enqueue(()=>{if(!this._cacheMap.get(r,0,0,0)){let n=this._drawToCache(r,0,0,0,!1,void 0);this._cacheMap.set(r,0,0,0,n)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(!(this._pages[0].currentRow.x===0&&this._pages[0].currentRow.y===0)){for(let t of this._pages)t.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(sr.maxAtlasPages&&this._pages.length>=Math.max(4,sr.maxAtlasPages)){let r=this._pages.filter(l=>l.canvas.width*2<=(sr.maxTextureSize||4096)).sort((l,p)=>p.canvas.width!==l.canvas.width?p.canvas.width-l.canvas.width:p.percentageUsed-l.percentageUsed),n=-1,a=0;for(let l=0;l<r.length;l++)if(r[l].canvas.width!==a)n=l,a=r[l].canvas.width;else if(l-n===3)break;let i=r.slice(n,n+4),s=i.map(l=>l.glyphs[0].texturePage).sort((l,p)=>l>p?1:-1),o=this.pages.length-i.length,f=this._mergePages(i,o);f.version++;for(let l=s.length-1;l>=0;l--)this._deletePage(s[l]);this.pages.push(f),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(f.canvas)}let t=new Ts(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(t,r){let n=t[0].canvas.width*2,a=new Ts(this._document,n,t);for(let[i,s]of t.entries()){let o=i*s.canvas.width%n,f=Math.floor(i/2)*s.canvas.height;a.ctx.drawImage(s.canvas,o,f);for(let p of s.glyphs)p.texturePage=r,p.sizeClipSpace.x=p.size.x/n,p.sizeClipSpace.y=p.size.y/n,p.texturePosition.x+=o,p.texturePosition.y+=f,p.texturePositionClipSpace.x=p.texturePosition.x/n,p.texturePositionClipSpace.y=p.texturePosition.y/n;this._onRemoveTextureAtlasCanvas.fire(s.canvas);let l=this._activePages.indexOf(s);l!==-1&&this._activePages.splice(l,1)}return a}_deletePage(t){this._pages.splice(t,1);for(let r=t;r<this._pages.length;r++){let n=this._pages[r];for(let a of n.glyphs)a.texturePage--;n.version++}}getRasterizedGlyphCombinedChar(t,r,n,a,i,s){return this._getFromCacheMap(this._cacheMapCombined,t,r,n,a,i,s)}getRasterizedGlyph(t,r,n,a,i,s){return this._getFromCacheMap(this._cacheMap,t,r,n,a,i,s)}_getFromCacheMap(t,r,n,a,i,s,o){return Br=t.get(r,n,a,i),Br||(Br=this._drawToCache(r,n,a,i,s,o),t.set(r,n,a,i,Br)),Br}_getColorFromAnsiIndex(t){if(t>=this._config.colors.ansi.length)throw new Error("No color found for idx "+t);return this._config.colors.ansi[t]}_getBackgroundColor(t,r,n,a){if(this._config.allowTransparency)return Ue;let i;switch(t){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(r);break;case 50331648:let s=or.toColorRGB(r);i=Be.toColor(s[0],s[1],s[2]);break;default:n?i=nr.opaque(this._config.colors.foreground):i=this._config.colors.background;break}return this._config.allowTransparency||(i=nr.opaque(i)),i}_getForegroundColor(t,r,n,a,i,s,o,f,l,p){let g=this._getMinimumContrastColor(t,r,n,a,i,s,o,l,f,p);if(g)return g;let S;switch(i){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&l&&s<8&&(s+=8),S=this._getColorFromAnsiIndex(s);break;case 50331648:let _=or.toColorRGB(s);S=Be.toColor(_[0],_[1],_[2]);break;default:o?S=this._config.colors.background:S=this._config.colors.foreground}return this._config.allowTransparency&&(S=nr.opaque(S)),f&&(S=nr.multiplyOpacity(S,Kh)),S}_resolveBackgroundRgba(t,r,n){switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(r).rgba;case 50331648:return r<<8;default:return n?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(t,r,n,a){switch(t){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&a&&r<8&&(r+=8),this._getColorFromAnsiIndex(r).rgba;case 50331648:return r<<8;default:return n?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(t,r,n,a,i,s,o,f,l,p){if(this._config.minimumContrastRatio===1||p)return;let g=this._getContrastCache(l),S=g.getColor(t,a);if(S!==void 0)return S||void 0;let _=this._resolveBackgroundRgba(r,n,o),c=this._resolveForegroundRgba(i,s,o,f),d=Bt.ensureContrastRatio(_,c,this._config.minimumContrastRatio/(l?2:1));if(!d){g.setColor(t,a,null);return}let h=Be.toColor(d>>24&255,d>>16&255,d>>8&255);return g.setColor(t,a,h),h}_getContrastCache(t){return t?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,r,n,a,i,s){let o=typeof t=="number"?String.fromCharCode(t):t;s&&this._tmpCanvas.parentElement!==s&&(this._tmpCanvas.style.display="none",s.append(this._tmpCanvas));let f=Math.min(this._config.deviceCellWidth*Math.max(o.length,2)+Dr*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<f&&(this._tmpCanvas.width=f);let l=Math.min(this._config.deviceCellHeight+Dr*4,this._textureSize);if(this._tmpCanvas.height<l&&(this._tmpCanvas.height=l),this._tmpCtx.save(),this._workAttributeData.fg=n,this._workAttributeData.bg=r,this._workAttributeData.extended.ext=a,!!this._workAttributeData.isInvisible())return Bo;let p=!!this._workAttributeData.isBold(),g=!!this._workAttributeData.isInverse(),S=!!this._workAttributeData.isDim(),_=!!this._workAttributeData.isItalic(),c=!!this._workAttributeData.isUnderline(),d=!!this._workAttributeData.isStrikethrough(),h=!!this._workAttributeData.isOverline(),u=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),y=this._workAttributeData.getBgColor(),b=this._workAttributeData.getBgColorMode();if(g){let M=u;u=y,y=M;let z=v;v=b,b=z}let C=this._getBackgroundColor(b,y,g,S);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=C.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";let m=p?this._config.fontWeightBold:this._config.fontWeight,E=_?"italic":"";this._tmpCtx.font=`${E} ${m} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=va;let P=o.length===1&&nn(o.charCodeAt(0)),B=o.length===1&&Hh(o.charCodeAt(0)),H=this._getForegroundColor(r,b,y,n,v,u,g,S,p,ga(o.charCodeAt(0)));this._tmpCtx.fillStyle=H.css;let R=B?0:Dr*2,j=!1;this._config.customGlyphs!==!1&&(j=Xh(this._tmpCtx,o,R,R,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let A=!P,T;if(typeof t=="number"?T=this._unicodeService.wcwidth(t):T=this._unicodeService.getStringCellWidth(t),c){this._tmpCtx.save();let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),z=M%2===1?.5:0;if(this._tmpCtx.lineWidth=M,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())A=!1,this._tmpCtx.strokeStyle=`rgb(${or.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{A=!1;let O=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&O<8&&(O+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(O).css}this._tmpCtx.beginPath();let q=R,V=Math.ceil(R+this._config.deviceCharHeight)-z-(i?M*2:0),Z=V+M,I=V+M*2,x=this._workAttributeData.getUnderlineVariantOffset();for(let O=0;O<T;O++){this._tmpCtx.save();let N=q+O*this._config.deviceCellWidth,$=q+(O+1)*this._config.deviceCellWidth,U=N+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(N,V),this._tmpCtx.lineTo($,V),this._tmpCtx.moveTo(N,I),this._tmpCtx.lineTo($,I);break;case 3:let X=M<=1?I:Math.ceil(R+this._config.deviceCharHeight-M/2)-z,te=M<=1?V:Math.ceil(R+this._config.deviceCharHeight+M/2)-z,re=new Path2D;re.rect(N,V,this._config.deviceCellWidth,I-V),this._tmpCtx.clip(re),this._tmpCtx.moveTo(N-this._config.deviceCellWidth/2,Z),this._tmpCtx.bezierCurveTo(N-this._config.deviceCellWidth/2,te,N,te,N,Z),this._tmpCtx.bezierCurveTo(N,X,U,X,U,Z),this._tmpCtx.bezierCurveTo(U,te,$,te,$,Z),this._tmpCtx.bezierCurveTo($,X,$+this._config.deviceCellWidth/2,X,$+this._config.deviceCellWidth/2,Z);break;case 4:let Q=x===0?0:x>=M?M*2-x:M-x;x>=M||Q===0?(this._tmpCtx.setLineDash([Math.round(M),Math.round(M)]),this._tmpCtx.moveTo(N+Q,V),this._tmpCtx.lineTo($,V)):(this._tmpCtx.setLineDash([Math.round(M),Math.round(M)]),this._tmpCtx.moveTo(N,V),this._tmpCtx.lineTo(N+Q,V),this._tmpCtx.moveTo(N+Q+M,V),this._tmpCtx.lineTo($,V)),x=jh($-N,M,x);break;case 5:let K=.6,J=.3,oe=$-N,ie=Math.floor(K*oe),ce=Math.floor(J*oe),ye=oe-ie-ce;this._tmpCtx.setLineDash([ie,ce,ye]),this._tmpCtx.moveTo(N,V),this._tmpCtx.lineTo($,V);break;default:this._tmpCtx.moveTo(N,V),this._tmpCtx.lineTo($,V);break}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!j&&this._config.fontSize>=12&&!this._config.allowTransparency&&o!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";let O=this._tmpCtx.measureText(o);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in O&&O.actualBoundingBoxDescent>0){this._tmpCtx.save();let N=new Path2D;N.rect(q,V-Math.ceil(M/2),this._config.deviceCellWidth*T,I-V+Math.ceil(M/2)),this._tmpCtx.clip(N),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=C.css,this._tmpCtx.strokeText(o,R,R+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(h){let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),z=M%2===1?.5:0;this._tmpCtx.lineWidth=M,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(R,R+z),this._tmpCtx.lineTo(R+this._config.deviceCharWidth*T,R+z),this._tmpCtx.stroke()}if(j||this._tmpCtx.fillText(o,R,R+this._config.deviceCharHeight),o==="_"&&!this._config.allowTransparency){let M=As(this._tmpCtx.getImageData(R,R,this._config.deviceCellWidth,this._config.deviceCellHeight),C,H,A);if(M)for(let z=1;z<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=C.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(o,R,R+this._config.deviceCharHeight-z),M=As(this._tmpCtx.getImageData(R,R,this._config.deviceCellWidth,this._config.deviceCellHeight),C,H,A),!!M);z++);}if(d){let M=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),z=this._tmpCtx.lineWidth%2===1?.5:0;this._tmpCtx.lineWidth=M,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(R,R+Math.floor(this._config.deviceCharHeight/2)-z),this._tmpCtx.lineTo(R+this._config.deviceCharWidth*T,R+Math.floor(this._config.deviceCharHeight/2)-z),this._tmpCtx.stroke()}this._tmpCtx.restore();let F=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),D;if(this._config.allowTransparency?D=gd(F):D=As(F,C,H,A),D)return Bo;let w=this._findGlyphBoundingBox(F,this._workBoundingBox,f,B,j,R),L,k;for(;;){if(this._activePages.length===0){let M=this._createNewPage();L=M,k=M.currentRow,k.height=w.size.y;break}L=this._activePages[this._activePages.length-1],k=L.currentRow;for(let M of this._activePages)w.size.y<=M.currentRow.height&&(L=M,k=M.currentRow);for(let M=this._activePages.length-1;M>=0;M--)for(let z of this._activePages[M].fixedRows)z.height<=k.height&&w.size.y<=z.height&&(L=this._activePages[M],k=z);if(w.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new Ts(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),L=this._overflowSizePage,k=this._overflowSizePage.currentRow,k.x+w.size.x>=L.canvas.width&&(k.x=0,k.y+=k.height,k.height=0);break}if(k.y+w.size.y>=L.canvas.height||k.height>w.size.y+2){let M=!1;if(L.currentRow.y+L.currentRow.height+w.size.y>=L.canvas.height){let z;for(let q of this._activePages)if(q.currentRow.y+q.currentRow.height+w.size.y<q.canvas.height){z=q;break}if(z)L=z;else if(sr.maxAtlasPages&&this._pages.length>=sr.maxAtlasPages&&k.y+w.size.y<=L.canvas.height&&k.height>=w.size.y&&k.x+w.size.x<=L.canvas.width)M=!0;else{let q=this._createNewPage();L=q,k=q.currentRow,k.height=w.size.y,M=!0}}M||(L.currentRow.height>0&&L.fixedRows.push(L.currentRow),k={x:0,y:L.currentRow.y+L.currentRow.height,height:w.size.y},L.fixedRows.push(k),L.currentRow={x:0,y:k.y+k.height,height:0})}if(k.x+w.size.x<=L.canvas.width)break;k===L.currentRow?(k.x=0,k.y+=k.height,k.height=0):L.fixedRows.splice(L.fixedRows.indexOf(k),1)}return w.texturePage=this._pages.indexOf(L),w.texturePosition.x=k.x,w.texturePosition.y=k.y,w.texturePositionClipSpace.x=k.x/L.canvas.width,w.texturePositionClipSpace.y=k.y/L.canvas.height,w.sizeClipSpace.x/=L.canvas.width,w.sizeClipSpace.y/=L.canvas.height,k.height=Math.max(k.height,w.size.y),k.x+=w.size.x,L.ctx.putImageData(F,w.texturePosition.x-this._workBoundingBox.left,w.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,w.size.x,w.size.y),L.addGlyph(w),L.version++,w}_findGlyphBoundingBox(t,r,n,a,i,s){r.top=0;let o=a?this._config.deviceCellHeight:this._tmpCanvas.height,f=a?this._config.deviceCellWidth:n,l=!1;for(let p=0;p<o;p++){for(let g=0;g<f;g++){let S=p*this._tmpCanvas.width*4+g*4+3;if(t.data[S]!==0){r.top=p,l=!0;break}}if(l)break}r.left=0,l=!1;for(let p=0;p<s+f;p++){for(let g=0;g<o;g++){let S=g*this._tmpCanvas.width*4+p*4+3;if(t.data[S]!==0){r.left=p,l=!0;break}}if(l)break}r.right=f,l=!1;for(let p=s+f-1;p>=s;p--){for(let g=0;g<o;g++){let S=g*this._tmpCanvas.width*4+p*4+3;if(t.data[S]!==0){r.right=p,l=!0;break}}if(l)break}r.bottom=o,l=!1;for(let p=o-1;p>=0;p--){for(let g=0;g<f;g++){let S=p*this._tmpCanvas.width*4+g*4+3;if(t.data[S]!==0){r.bottom=p,l=!0;break}}if(l)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:r.right-r.left+1,y:r.bottom-r.top+1},sizeClipSpace:{x:r.right-r.left+1,y:r.bottom-r.top+1},offset:{x:-r.left+s+(a||i?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-r.top+s+(a||i?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},Ts=class{constructor(e,t,r){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],r)for(let n of r)this._glyphs.push(...n.glyphs),this._usedPixels+=n._usedPixels;this.canvas=Ma(e,t,t),this.ctx=Ce(this.canvas.getContext("2d",{alpha:!0}))}get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(e){this._glyphs.push(e),this._usedPixels+=e.size.x*e.size.y}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}};function As(e,t,r,n){let a=t.rgba>>>24,i=t.rgba>>>16&255,s=t.rgba>>>8&255,o=r.rgba>>>24,f=r.rgba>>>16&255,l=r.rgba>>>8&255,p=Math.floor((Math.abs(a-o)+Math.abs(i-f)+Math.abs(s-l))/12),g=!0;for(let S=0;S<e.data.length;S+=4)e.data[S]===a&&e.data[S+1]===i&&e.data[S+2]===s||n&&Math.abs(e.data[S]-a)+Math.abs(e.data[S+1]-i)+Math.abs(e.data[S+2]-s)<p?e.data[S+3]=0:g=!1;return g}function gd(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function Ma(e,t,r){let n=e.createElement("canvas");return n.width=t,n.height=r,n}function vd(e,t,r,n,a,i,s,o){let f={foreground:i.foreground,background:i.background,cursor:Ue,cursorAccent:Ue,selectionForeground:Ue,selectionBackgroundTransparent:Ue,selectionBackgroundOpaque:Ue,selectionInactiveBackgroundTransparent:Ue,selectionInactiveBackgroundOpaque:Ue,overviewRulerBorder:Ue,scrollbarSliderBackground:Ue,scrollbarSliderHoverBackground:Ue,scrollbarSliderActiveBackground:Ue,ansi:i.ansi.slice(),contrastCache:i.contrastCache,halfContrastCache:i.halfContrastCache};return{customGlyphs:a.customGlyphs,devicePixelRatio:s,deviceMaxTextureSize:o,letterSpacing:a.letterSpacing,lineHeight:a.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:r,deviceCharHeight:n,fontFamily:a.fontFamily,fontSize:a.fontSize,fontWeight:a.fontWeight,fontWeightBold:a.fontWeightBold,allowTransparency:a.allowTransparency,drawBoldTextInBrightColors:a.drawBoldTextInBrightColors,minimumContrastRatio:a.minimumContrastRatio,colors:f}}function Po(e,t){for(let r=0;r<e.colors.ansi.length;r++)if(e.colors.ansi[r].rgba!==t.colors.ansi[r].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function md(e){return(e&50331648)===16777216||(e&50331648)===33554432}var qe=[];function Ra(e,t,r,n,a,i,s,o,f){let l=vd(n,a,i,s,t,r,o,f);for(let S=0;S<qe.length;S++){let _=qe[S],c=_.ownedBy.indexOf(e);if(c>=0){if(Po(_.config,l))return _.atlas;_.ownedBy.length===1?(_.atlas.dispose(),qe.splice(S,1)):_.ownedBy.splice(c,1);break}}for(let S=0;S<qe.length;S++){let _=qe[S];if(Po(_.config,l))return _.ownedBy.push(e),_.atlas}let p=e._core,g={atlas:new At(document,l,p.unicodeService),config:l,ownedBy:[e]};return qe.push(g),g.atlas}function Oo(e){for(let t=0;t<qe.length;t++){let r=qe[t].ownedBy.indexOf(e);if(r!==-1){qe[t].ownedBy.length===1?(qe[t].atlas.dispose(),qe.splice(t,1)):qe[t].ownedBy.splice(r,1);break}}}var Ci=600,bd=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(e=Ci){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let t=Ci-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,t>0){this._restartInterval(t);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let t=Ci-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(t);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},Ci)},e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}};function Io(e,t,r){let n=new t.ResizeObserver(a=>{let i=a.find(f=>f.target===e);if(!i)return;if(!("devicePixelContentBoxSize"in i)){n?.disconnect(),n=void 0;return}let s=i.devicePixelContentBoxSize[0].inlineSize,o=i.devicePixelContentBoxSize[0].blockSize;s>0&&o>0&&r(s,o)});try{n.observe(e,{box:["device-pixel-content-box"]})}catch{n.disconnect(),n=void 0}return Ae(()=>n?.disconnect())}function wd(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var No=class Ta extends or{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new ya,this.combinedData=""}static fromCharData(t){let r=new Ta;return r.setFromCharData(t),r}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?wd(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let r=!1;if(t[1].length>2)r=!0;else if(t[1].length===2){let n=t[1].charCodeAt(0);if(55296<=n&&n<=56319){let a=t[1].charCodeAt(1);56320<=a&&a<=57343?this.content=(n-55296)*1024+a-56320+65536|t[2]<<22:r=!0}else r=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;r&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Aa=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function Da(e,t,r){let n=Ce(e.createProgram());if(e.attachShader(n,Ce(Ho(e,e.VERTEX_SHADER,t))),e.attachShader(n,Ce(Ho(e,e.FRAGMENT_SHADER,r))),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS))return n;console.error(e.getProgramInfoLog(n)),e.deleteProgram(n)}function Ho(e,t,r){let n=Ce(e.createShader(t));if(e.shaderSource(n,r),e.compileShader(n),e.getShaderParameter(n,e.COMPILE_STATUS))return n;console.error(e.getShaderInfoLog(n)),e.deleteShader(n)}function Sd(e,t){let r=Math.min(e.length*2,t),n=new Float32Array(r);for(let a=0;a<e.length;a++)n[a]=e[a];return n}var yd=class{constructor(e){this.texture=e,this.version=-1}},Cd=`#version 300 es
62
62
  layout (location = 0) in vec2 a_unitquad;
63
63
  layout (location = 1) in vec2 a_cellpos;
64
64
  layout (location = 2) in vec2 a_offset;
@@ -78,7 +78,7 @@ void main() {
78
78
  gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
79
79
  v_texpage = int(a_texpage);
80
80
  v_texcoord = a_texcoord + a_unitquad * a_texsize;
81
- }`;function sd(e){let t="";for(let i=1;i<e;i++)t+=` else if (v_texpage == ${i}) { outColor = texture(u_texture[${i}], v_texcoord); }`;return`#version 300 es
81
+ }`;function xd(e){let t="";for(let r=1;r<e;r++)t+=` else if (v_texpage == ${r}) { outColor = texture(u_texture[${r}], v_texcoord); }`;return`#version 300 es
82
82
  precision lowp float;
83
83
 
84
84
  in vec2 v_texcoord;
@@ -92,7 +92,7 @@ void main() {
92
92
  if (v_texpage == 0) {
93
93
  outColor = texture(u_texture[0], v_texcoord);
94
94
  } ${t}
95
- }`}var At=11,ii=At*Float32Array.BYTES_PER_ELEMENT,nd=2,me=0,ge,Es=0,Ai=0,od=class extends We{constructor(e,t,i,n){super(),this._terminal=e,this._gl=t,this._dimensions=i,this._optionsService=n,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};let a=this._gl;Tt.maxAtlasPages===void 0&&(Tt.maxAtlasPages=Math.min(32,Ce(a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS))),Tt.maxTextureSize=Ce(a.getParameter(a.MAX_TEXTURE_SIZE))),this._program=Ce(wa(a,rd,sd(Tt.maxAtlasPages))),this._register(Te(()=>a.deleteProgram(this._program))),this._projectionLocation=Ce(a.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=Ce(a.getUniformLocation(this._program,"u_resolution")),this._textureLocation=Ce(a.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=a.createVertexArray(),a.bindVertexArray(this._vertexArrayObject);let r=new Float32Array([0,0,1,0,0,1,1,1]),s=a.createBuffer();this._register(Te(()=>a.deleteBuffer(s))),a.bindBuffer(a.ARRAY_BUFFER,s),a.bufferData(a.ARRAY_BUFFER,r,a.STATIC_DRAW),a.enableVertexAttribArray(0),a.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let o=new Uint8Array([0,1,2,3]),f=a.createBuffer();this._register(Te(()=>a.deleteBuffer(f))),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,f),a.bufferData(a.ELEMENT_ARRAY_BUFFER,o,a.STATIC_DRAW),this._attributesBuffer=Ce(a.createBuffer()),this._register(Te(()=>a.deleteBuffer(this._attributesBuffer))),a.bindBuffer(a.ARRAY_BUFFER,this._attributesBuffer),a.enableVertexAttribArray(2),a.vertexAttribPointer(2,2,a.FLOAT,!1,ii,0),a.vertexAttribDivisor(2,1),a.enableVertexAttribArray(3),a.vertexAttribPointer(3,2,a.FLOAT,!1,ii,2*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(3,1),a.enableVertexAttribArray(4),a.vertexAttribPointer(4,1,a.FLOAT,!1,ii,4*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(4,1),a.enableVertexAttribArray(5),a.vertexAttribPointer(5,2,a.FLOAT,!1,ii,5*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(5,1),a.enableVertexAttribArray(6),a.vertexAttribPointer(6,2,a.FLOAT,!1,ii,7*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(6,1),a.enableVertexAttribArray(1),a.vertexAttribPointer(1,2,a.FLOAT,!1,ii,9*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(1,1),a.useProgram(this._program);let l=new Int32Array(Tt.maxAtlasPages);for(let p=0;p<Tt.maxAtlasPages;p++)l[p]=p;a.uniform1iv(this._textureLocation,l),a.uniformMatrix4fv(this._projectionLocation,!1,ba),this._atlasTextures=[];for(let p=0;p<Tt.maxAtlasPages;p++){let g=new id(Ce(a.createTexture()));this._register(Te(()=>a.deleteTexture(g.texture))),a.activeTexture(a.TEXTURE0+p),a.bindTexture(a.TEXTURE_2D,g.texture),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,1,1,0,a.RGBA,a.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[p]=g}a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return this._atlas?this._atlas.beginFrame():!0}updateCell(e,t,i,n,a,r,s,o,f){this._updateCell(this._vertices.attributes,e,t,i,n,a,r,s,o,f)}_updateCell(e,t,i,n,a,r,s,o,f,l){if(me=(i*this._terminal.cols+t)*At,n===0||n===void 0){e.fill(0,me,me+At-1-nd);return}this._atlas&&(o&&o.length>1?ge=this._atlas.getRasterizedGlyphCombinedChar(o,a,r,s,!1,this._terminal.element):ge=this._atlas.getRasterizedGlyph(n,a,r,s,!1,this._terminal.element),Es=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),a!==l&&ge.offset.x>Es?(Ai=ge.offset.x-Es,e[me]=-(ge.offset.x-Ai)+this._dimensions.device.char.left,e[me+1]=-ge.offset.y+this._dimensions.device.char.top,e[me+2]=(ge.size.x-Ai)/this._dimensions.device.canvas.width,e[me+3]=ge.size.y/this._dimensions.device.canvas.height,e[me+4]=ge.texturePage,e[me+5]=ge.texturePositionClipSpace.x+Ai/this._atlas.pages[ge.texturePage].canvas.width,e[me+6]=ge.texturePositionClipSpace.y,e[me+7]=ge.sizeClipSpace.x-Ai/this._atlas.pages[ge.texturePage].canvas.width,e[me+8]=ge.sizeClipSpace.y):(e[me]=-ge.offset.x+this._dimensions.device.char.left,e[me+1]=-ge.offset.y+this._dimensions.device.char.top,e[me+2]=ge.size.x/this._dimensions.device.canvas.width,e[me+3]=ge.size.y/this._dimensions.device.canvas.height,e[me+4]=ge.texturePage,e[me+5]=ge.texturePositionClipSpace.x,e[me+6]=ge.texturePositionClipSpace.y,e[me+7]=ge.sizeClipSpace.x,e[me+8]=ge.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&Ch(n,f,ge.size.x,this._dimensions.device.cell.width)&&(e[me+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*At;this._vertices.count!==t?this._vertices.attributes=new Float32Array(t):this._vertices.attributes.fill(0);let i=0;for(;i<this._vertices.attributesBuffers.length;i++)this._vertices.count!==t?this._vertices.attributesBuffers[i]=new Float32Array(t):this._vertices.attributesBuffers[i].fill(0);this._vertices.count=t,i=0;for(let n=0;n<e.rows;n++)for(let a=0;a<e.cols;a++)this._vertices.attributes[i+9]=a/e.cols,this._vertices.attributes[i+10]=n/e.rows,i+=At}handleResize(){let e=this._gl;e.useProgram(this._program),e.viewport(0,0,e.canvas.width,e.canvas.height),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),this.clear()}render(e){if(!this._atlas)return;let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let i=this._vertices.attributesBuffers[this._activeBuffer],n=0;for(let a=0;a<e.lineLengths.length;a++){let r=a*this._terminal.cols*At,s=this._vertices.attributes.subarray(r,r+e.lineLengths[a]*At);i.set(s,n),n+=s.length}t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,i.subarray(0,n),t.STREAM_DRAW);for(let a=0;a<this._atlas.pages.length;a++)this._atlas.pages[a].version!==this._atlasTextures[a].version&&this._bindAtlasPageTexture(t,this._atlas,a);t.drawElementsInstanced(t.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,n/At)}setAtlas(e){this._atlas=e;for(let t of this._atlasTextures)t.version=-1}_bindAtlasPageTexture(e,t,i){e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,this._atlasTextures[i].texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.pages[i].canvas),e.generateMipmap(e.TEXTURE_2D),this._atlasTextures[i].version=t.pages[i].version}setDimensions(e){this._dimensions=e}},ad=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,t,i,n=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1]){this.clear();return}let a=e.buffers.active.ydisp,r=t[1]-a,s=i[1]-a,o=Math.max(r,0),f=Math.min(s,e.rows-1);if(o>=e.rows||f<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=n,this.viewportStartRow=r,this.viewportEndRow=s,this.viewportCappedStartRow=o,this.viewportCappedEndRow=f,this.startCol=t[0],this.endCol=i[0]}isCellSelected(e,t,i){return this.hasSelection?(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t<this.endCol&&i<=this.viewportCappedEndRow:t<this.startCol&&i>=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol):!1}};function ld(){return new ad}var Ar=4,kr=1,Er=2,Ls=3,cd=2147483648,hd=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=ld()}resize(e,t){let i=e*t*Ar;i!==this.cells.length&&(this.cells=new Uint32Array(i),this.lineLengths=new Uint32Array(t))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},dd=`#version 300 es
95
+ }`}var Dt=11,ir=Dt*Float32Array.BYTES_PER_ELEMENT,kd=2,we=0,ge,Ds=0,Pr=0,Ed=class extends We{constructor(e,t,r,n){super(),this._terminal=e,this._gl=t,this._dimensions=r,this._optionsService=n,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};let a=this._gl;At.maxAtlasPages===void 0&&(At.maxAtlasPages=Math.min(32,Ce(a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS))),At.maxTextureSize=Ce(a.getParameter(a.MAX_TEXTURE_SIZE))),this._program=Ce(Da(a,Cd,xd(At.maxAtlasPages))),this._register(Ae(()=>a.deleteProgram(this._program))),this._projectionLocation=Ce(a.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=Ce(a.getUniformLocation(this._program,"u_resolution")),this._textureLocation=Ce(a.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=a.createVertexArray(),a.bindVertexArray(this._vertexArrayObject);let i=new Float32Array([0,0,1,0,0,1,1,1]),s=a.createBuffer();this._register(Ae(()=>a.deleteBuffer(s))),a.bindBuffer(a.ARRAY_BUFFER,s),a.bufferData(a.ARRAY_BUFFER,i,a.STATIC_DRAW),a.enableVertexAttribArray(0),a.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let o=new Uint8Array([0,1,2,3]),f=a.createBuffer();this._register(Ae(()=>a.deleteBuffer(f))),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,f),a.bufferData(a.ELEMENT_ARRAY_BUFFER,o,a.STATIC_DRAW),this._attributesBuffer=Ce(a.createBuffer()),this._register(Ae(()=>a.deleteBuffer(this._attributesBuffer))),a.bindBuffer(a.ARRAY_BUFFER,this._attributesBuffer),a.enableVertexAttribArray(2),a.vertexAttribPointer(2,2,a.FLOAT,!1,ir,0),a.vertexAttribDivisor(2,1),a.enableVertexAttribArray(3),a.vertexAttribPointer(3,2,a.FLOAT,!1,ir,2*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(3,1),a.enableVertexAttribArray(4),a.vertexAttribPointer(4,1,a.FLOAT,!1,ir,4*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(4,1),a.enableVertexAttribArray(5),a.vertexAttribPointer(5,2,a.FLOAT,!1,ir,5*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(5,1),a.enableVertexAttribArray(6),a.vertexAttribPointer(6,2,a.FLOAT,!1,ir,7*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(6,1),a.enableVertexAttribArray(1),a.vertexAttribPointer(1,2,a.FLOAT,!1,ir,9*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(1,1),a.useProgram(this._program);let l=new Int32Array(At.maxAtlasPages);for(let p=0;p<At.maxAtlasPages;p++)l[p]=p;a.uniform1iv(this._textureLocation,l),a.uniformMatrix4fv(this._projectionLocation,!1,Aa),this._atlasTextures=[];for(let p=0;p<At.maxAtlasPages;p++){let g=new yd(Ce(a.createTexture()));this._register(Ae(()=>a.deleteTexture(g.texture))),a.activeTexture(a.TEXTURE0+p),a.bindTexture(a.TEXTURE_2D,g.texture),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,1,1,0,a.RGBA,a.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[p]=g}a.enable(a.BLEND),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return this._atlas?this._atlas.beginFrame():!0}updateCell(e,t,r,n,a,i,s,o,f){this._updateCell(this._vertices.attributes,e,t,r,n,a,i,s,o,f)}_updateCell(e,t,r,n,a,i,s,o,f,l){if(we=(r*this._terminal.cols+t)*Dt,n===0||n===void 0){e.fill(0,we,we+Dt-1-kd);return}this._atlas&&(o&&o.length>1?ge=this._atlas.getRasterizedGlyphCombinedChar(o,a,i,s,!1,this._terminal.element):ge=this._atlas.getRasterizedGlyph(n,a,i,s,!1,this._terminal.element),Ds=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),a!==l&&ge.offset.x>Ds?(Pr=ge.offset.x-Ds,e[we]=-(ge.offset.x-Pr)+this._dimensions.device.char.left,e[we+1]=-ge.offset.y+this._dimensions.device.char.top,e[we+2]=(ge.size.x-Pr)/this._dimensions.device.canvas.width,e[we+3]=ge.size.y/this._dimensions.device.canvas.height,e[we+4]=ge.texturePage,e[we+5]=ge.texturePositionClipSpace.x+Pr/this._atlas.pages[ge.texturePage].canvas.width,e[we+6]=ge.texturePositionClipSpace.y,e[we+7]=ge.sizeClipSpace.x-Pr/this._atlas.pages[ge.texturePage].canvas.width,e[we+8]=ge.sizeClipSpace.y):(e[we]=-ge.offset.x+this._dimensions.device.char.left,e[we+1]=-ge.offset.y+this._dimensions.device.char.top,e[we+2]=ge.size.x/this._dimensions.device.canvas.width,e[we+3]=ge.size.y/this._dimensions.device.canvas.height,e[we+4]=ge.texturePage,e[we+5]=ge.texturePositionClipSpace.x,e[we+6]=ge.texturePositionClipSpace.y,e[we+7]=ge.sizeClipSpace.x,e[we+8]=ge.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&zh(n,f,ge.size.x,this._dimensions.device.cell.width)&&(e[we+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*Dt;this._vertices.count!==t?this._vertices.attributes=new Float32Array(t):this._vertices.attributes.fill(0);let r=0;for(;r<this._vertices.attributesBuffers.length;r++)this._vertices.count!==t?this._vertices.attributesBuffers[r]=new Float32Array(t):this._vertices.attributesBuffers[r].fill(0);this._vertices.count=t,r=0;for(let n=0;n<e.rows;n++)for(let a=0;a<e.cols;a++)this._vertices.attributes[r+9]=a/e.cols,this._vertices.attributes[r+10]=n/e.rows,r+=Dt}handleResize(){let e=this._gl;e.useProgram(this._program),e.viewport(0,0,e.canvas.width,e.canvas.height),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),this.clear()}render(e){if(!this._atlas)return;let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let r=this._vertices.attributesBuffers[this._activeBuffer],n=0;for(let a=0;a<e.lineLengths.length;a++){let i=a*this._terminal.cols*Dt,s=this._vertices.attributes.subarray(i,i+e.lineLengths[a]*Dt);r.set(s,n),n+=s.length}t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,r.subarray(0,n),t.STREAM_DRAW);for(let a=0;a<this._atlas.pages.length;a++)this._atlas.pages[a].version!==this._atlasTextures[a].version&&this._bindAtlasPageTexture(t,this._atlas,a);t.drawElementsInstanced(t.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,n/Dt)}setAtlas(e){this._atlas=e;for(let t of this._atlasTextures)t.version=-1}_bindAtlasPageTexture(e,t,r){e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,this._atlasTextures[r].texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.pages[r].canvas),e.generateMipmap(e.TEXTURE_2D),this._atlasTextures[r].version=t.pages[r].version}setDimensions(e){this._dimensions=e}},Ld=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,t,r,n=!1){if(this.selectionStart=t,this.selectionEnd=r,!t||!r||t[0]===r[0]&&t[1]===r[1]){this.clear();return}let a=e.buffers.active.ydisp,i=t[1]-a,s=r[1]-a,o=Math.max(i,0),f=Math.min(s,e.rows-1);if(o>=e.rows||f<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=n,this.viewportStartRow=i,this.viewportEndRow=s,this.viewportCappedStartRow=o,this.viewportCappedEndRow=f,this.startCol=t[0],this.endCol=r[0]}isCellSelected(e,t,r){return this.hasSelection?(r-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&r>=this.viewportCappedStartRow&&t<this.endCol&&r<=this.viewportCappedEndRow:t<this.startCol&&r>=this.viewportCappedStartRow&&t>=this.endCol&&r<=this.viewportCappedEndRow:r>this.viewportStartRow&&r<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&r===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&r===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&r===this.viewportStartRow&&t>=this.startCol):!1}};function Md(){return new Ld}var Pi=4,Mi=1,Ri=2,Bs=3,Rd=2147483648,Td=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=Md()}resize(e,t){let r=e*t*Pi;r!==this.cells.length&&(this.cells=new Uint32Array(r),this.lineLengths=new Uint32Array(t))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},Ad=`#version 300 es
96
96
  layout (location = 0) in vec2 a_position;
97
97
  layout (location = 1) in vec2 a_size;
98
98
  layout (location = 2) in vec4 a_color;
@@ -106,7 +106,7 @@ void main() {
106
106
  vec2 zeroToOne = a_position + (a_unitquad * a_size);
107
107
  gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
108
108
  v_color = a_color;
109
- }`,ud=`#version 300 es
109
+ }`,Dd=`#version 300 es
110
110
  precision lowp float;
111
111
 
112
112
  in vec4 v_color;
@@ -115,7 +115,7 @@ out vec4 outColor;
115
115
 
116
116
  void main() {
117
117
  outColor = v_color;
118
- }`,Ct=8,Ms=Ct*Float32Array.BYTES_PER_ELEMENT,fd=20*Ct,Lo=class{constructor(){this.attributes=new Float32Array(fd),this.count=0}},wt=0,Mo=0,Ro=0,To=0,Ao=0,Do=0,Bo=0,_d=class extends We{constructor(e,t,i,n){super(),this._terminal=e,this._gl=t,this._dimensions=i,this._themeService=n,this._vertices=new Lo,this._verticesCursor=new Lo;let a=this._gl;this._program=Ce(wa(a,dd,ud)),this._register(Te(()=>a.deleteProgram(this._program))),this._projectionLocation=Ce(a.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=a.createVertexArray(),a.bindVertexArray(this._vertexArrayObject);let r=new Float32Array([0,0,1,0,0,1,1,1]),s=a.createBuffer();this._register(Te(()=>a.deleteBuffer(s))),a.bindBuffer(a.ARRAY_BUFFER,s),a.bufferData(a.ARRAY_BUFFER,r,a.STATIC_DRAW),a.enableVertexAttribArray(3),a.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let o=new Uint8Array([0,1,2,3]),f=a.createBuffer();this._register(Te(()=>a.deleteBuffer(f))),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,f),a.bufferData(a.ELEMENT_ARRAY_BUFFER,o,a.STATIC_DRAW),this._attributesBuffer=Ce(a.createBuffer()),this._register(Te(()=>a.deleteBuffer(this._attributesBuffer))),a.bindBuffer(a.ARRAY_BUFFER,this._attributesBuffer),a.enableVertexAttribArray(0),a.vertexAttribPointer(0,2,a.FLOAT,!1,Ms,0),a.vertexAttribDivisor(0,1),a.enableVertexAttribArray(1),a.vertexAttribPointer(1,2,a.FLOAT,!1,Ms,2*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(1,1),a.enableVertexAttribArray(2),a.vertexAttribPointer(2,4,a.FLOAT,!1,Ms,4*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(2,1),this._updateCachedColors(n.colors),this._register(this._themeService.onChangeColors(l=>{this._updateCachedColors(l),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,ba),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,e.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let t=this._terminal,i=this._vertices,n=1,a,r,s,o,f,l,p,g,S,_,c;for(a=0;a<t.rows;a++){for(s=-1,o=0,f=0,l=!1,r=0;r<t.cols;r++)p=(a*t.cols+r)*Ar,g=e.cells[p+kr],S=e.cells[p+Er],_=!!(S&67108864),(g!==o||S!==f&&(l||_))&&((o!==0||l&&f!==0)&&(c=n++*Ct,this._updateRectangle(i,c,f,o,s,r,a)),s=r,o=g,f=S,l=_);(o!==0||l&&f!==0)&&(c=n++*Ct,this._updateRectangle(i,c,f,o,s,t.cols,a))}i.count=n}updateCursor(e){let t=this._verticesCursor,i=e.cursor;if(!i||i.style==="block"){t.count=0;return}let n,a=0;(i.style==="bar"||i.style==="outline")&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,i.x*this._dimensions.device.cell.width,i.y*this._dimensions.device.cell.height,i.style==="bar"?i.dpr*i.cursorWidth:i.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(i.style==="underline"||i.style==="outline")&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,i.x*this._dimensions.device.cell.width,(i.y+1)*this._dimensions.device.cell.height-i.dpr,i.width*this._dimensions.device.cell.width,i.dpr,this._cursorFloat)),i.style==="outline"&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,i.x*this._dimensions.device.cell.width,i.y*this._dimensions.device.cell.height,i.width*this._dimensions.device.cell.width,i.dpr,this._cursorFloat),n=a++*Ct,this._addRectangleFloat(t.attributes,n,(i.x+i.width)*this._dimensions.device.cell.width-i.dpr,i.y*this._dimensions.device.cell.height,i.dpr,this._dimensions.device.cell.height,this._cursorFloat)),t.count=a}_updateRectangle(e,t,i,n,a,r,s){if(i&67108864)switch(i&50331648){case 16777216:case 33554432:wt=this._themeService.colors.ansi[i&255].rgba;break;case 50331648:wt=(i&16777215)<<8;break;default:wt=this._themeService.colors.foreground.rgba}else switch(n&50331648){case 16777216:case 33554432:wt=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:wt=(n&16777215)<<8;break;default:wt=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=td(e.attributes,this._terminal.rows*this._terminal.cols*Ct)),Mo=a*this._dimensions.device.cell.width,Ro=s*this._dimensions.device.cell.height,To=(wt>>24&255)/255,Ao=(wt>>16&255)/255,Do=(wt>>8&255)/255,Bo=1,this._addRectangle(e.attributes,t,Mo,Ro,(r-a)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,To,Ao,Do,Bo)}_addRectangle(e,t,i,n,a,r,s,o,f,l){e[t]=i/this._dimensions.device.canvas.width,e[t+1]=n/this._dimensions.device.canvas.height,e[t+2]=a/this._dimensions.device.canvas.width,e[t+3]=r/this._dimensions.device.canvas.height,e[t+4]=s,e[t+5]=o,e[t+6]=f,e[t+7]=l}_addRectangleFloat(e,t,i,n,a,r,s){e[t]=i/this._dimensions.device.canvas.width,e[t+1]=n/this._dimensions.device.canvas.height,e[t+2]=a/this._dimensions.device.canvas.width,e[t+3]=r/this._dimensions.device.canvas.height,e[t+4]=s[0],e[t+5]=s[1],e[t+6]=s[2],e[t+7]=s[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(e.rgba&255)/255])}},pd=class extends We{constructor(e,t,i,n,a,r,s,o){super(),this._container=t,this._alpha=a,this._coreBrowserService=r,this._optionsService=s,this._themeService=o,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${i}-layer`),this._canvas.style.zIndex=n.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(f=>{this._refreshCharAtlas(e,f),this.reset(e)})),this._register(Te(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=Ce(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,i){}handleSelectionChanged(e,t,i,n=!1){}_setTransparency(e,t){if(t===this._alpha)return;let i=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,i),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=va(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,i=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,i*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,i,n){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,n*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,n*this._deviceCellHeight))}_fillCharTrueColor(e,t,i,n){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=na,this._clipCell(i,n,t.getWidth()),this._ctx.fillText(t.getChars(),i*this._deviceCellWidth+this._deviceCharLeft,n*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,i){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,i*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,i){let n=t?e.options.fontWeightBold:e.options.fontWeight;return`${i?"italic":""} ${n} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},gd=class extends pd{constructor(e,t,i,n,a,r,s){super(i,e,"link",t,!0,a,r,s),this._register(n.onShowLinkUnderline(o=>this._handleShowLinkUnderline(o))),this._register(n.onHideLinkUnderline(o=>this._handleHideLinkUnderline(o)))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg!==void 0&&Zh(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},Qe=typeof window=="object"?window:globalThis,Ks=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new fe,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new fe,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,i){if(this.getZoomLevel(i)===t)return;let n=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(n,t),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),t)}setFullscreen(t,i){if(this.isFullscreen(i)===t)return;let n=this.getWindowId(i);this.mapWindowIdToFullScreen.set(n,t),this._onDidChangeFullscreen.fire(n)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Ks.INSTANCE=new Ks;var Sa=Ks;function vd(e,t,i){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",i)}var rp=Sa.INSTANCE.onDidChangeZoomLevel,sp=Sa.INSTANCE.onDidChangeFullscreen,ci=typeof navigator=="object"?navigator.userAgent:"",np=ci.indexOf("Firefox")>=0,Rs=ci.indexOf("AppleWebKit")>=0,md=ci.indexOf("Chrome")>=0,bd=!md&&ci.indexOf("Safari")>=0,op=ci.indexOf("Electron/")>=0,ap=ci.indexOf("Android")>=0,Lr=!1;if(typeof Qe.matchMedia=="function"){let e=Qe.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Qe.matchMedia("(display-mode: fullscreen)");Lr=e.matches,vd(Qe,e,({matches:i})=>{Lr&&t.matches||(Lr=i)})}function wd(){return Lr}var oi="en",Gs=!1,Vs=!1,Mr=!1,Sd=!1,Ca=!1,ya=!1,Cd=!1,yd=!1,xd=!1,kd=!1,Sr,Rr=oi,Po=oi,Ed,St,xt=globalThis,Fe;typeof xt.vscode<"u"&&typeof xt.vscode.process<"u"?Fe=xt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Fe=process);var xa=typeof Fe?.versions?.electron=="string",Ld=xa&&Fe?.type==="renderer";if(typeof Fe=="object"){Gs=Fe.platform==="win32",Vs=Fe.platform==="darwin",Mr=Fe.platform==="linux",Sd=Mr&&!!Fe.env.SNAP&&!!Fe.env.SNAP_REVISION,Cd=xa,xd=!!Fe.env.CI||!!Fe.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Sr=oi,Rr=oi;let e=Fe.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);Sr=t.userLocale,Po=t.osLocale,Rr=t.resolvedLanguage||oi,Ed=t.languagePack?.translationsConfigFile}catch{}Ca=!0}else typeof navigator=="object"&&!Ld?(St=navigator.userAgent,Gs=St.indexOf("Windows")>=0,Vs=St.indexOf("Macintosh")>=0,yd=(St.indexOf("Macintosh")>=0||St.indexOf("iPad")>=0||St.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Mr=St.indexOf("Linux")>=0,kd=St?.indexOf("Mobi")>=0,ya=!0,Rr=globalThis._VSCODE_NLS_LANGUAGE||oi,Sr=navigator.language.toLowerCase(),Po=Sr):console.error("Unable to resolve platform.");var Ts=0;Vs?Ts=1:Gs?Ts=3:Mr&&(Ts=2);var As=Ca,Md=ya&&typeof xt.importScripts=="function",lp=Md?xt.origin:void 0,lt=St,Mt=Rr,Oo;(e=>{function t(){return Mt}e.value=t;function i(){return Mt.length===2?Mt==="en":Mt.length>=3?Mt[0]==="e"&&Mt[1]==="n"&&Mt[2]==="-":!1}e.isDefaultVariant=i;function n(){return Mt==="en"}e.isDefault=n})(Oo||(Oo={}));var Rd=typeof xt.postMessage=="function"&&!xt.importScripts,Td=(()=>{if(Rd){let e=[];xt.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let n=0,a=e.length;n<a;n++){let r=e[n];if(r.id===i.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return i=>{let n=++t;e.push({id:n,callback:i}),xt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),Ad=!!(lt&&lt.indexOf("Chrome")>=0),cp=!!(lt&&lt.indexOf("Firefox")>=0),hp=!!(!Ad&&lt&&lt.indexOf("Safari")>=0),dp=!!(lt&&lt.indexOf("Edg/")>=0),up=!!(lt&&lt.indexOf("Android")>=0),Rt=typeof navigator=="object"?navigator:{},fp={clipboard:{writeText:As||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Rt&&Rt.clipboard&&Rt.clipboard.writeText),readText:As||!!(Rt&&Rt.clipboard&&Rt.clipboard.readText)},keyboard:As||wd()?0:Rt.keyboard||bd?1:2,touch:"ontouchstart"in Qe||Rt.maxTouchPoints>0,pointerEvents:Qe.PointerEvent&&("ontouchstart"in Qe||navigator.maxTouchPoints>0)},Qs=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Ds=new Qs,Io=new Qs,No=new Qs,_p=new Array(230),Ho;(e=>{function t(o){return Ds.keyCodeToStr(o)}e.toString=t;function i(o){return Ds.strToKeyCode(o)}e.fromString=i;function n(o){return Io.keyCodeToStr(o)}e.toUserSettingsUS=n;function a(o){return No.keyCodeToStr(o)}e.toUserSettingsGeneral=a;function r(o){return Io.strToKeyCode(o)||No.strToKeyCode(o)}e.fromUserSettings=r;function s(o){if(o>=98&&o<=113)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ds.keyCodeToStr(o)}e.toElectronAccelerator=s})(Ho||(Ho={}));var ka=Object.freeze(function(e,t){let i=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(i)}}}),Fo;(e=>{function t(i){return i===e.None||i===e.Cancelled||i instanceof Dd?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:at.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ka})})(Fo||(Fo={}));var Dd=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?ka:(this._emitter||(this._emitter=new fe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};var Bd,Bs;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?Bs=(e,t)=>{Td(()=>{if(i)return;let n=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,n-Date.now())}}))});let i=!1;return{dispose(){i||(i=!0)}}}:Bs=(e,t,i)=>{let n=e.requestIdleCallback(t,typeof i=="number"?{timeout:i}:void 0),a=!1;return{dispose(){a||(a=!0,e.cancelIdleCallback(n))}}},Bd=e=>Bs(globalThis,e)})();var Wo;(e=>{async function t(n){let a,r=await Promise.all(n.map(s=>s.then(o=>o,o=>{a||(a=o)})));if(typeof a<"u")throw a;return r}e.settled=t;function i(n){return new Promise(async(a,r)=>{try{await n(a,r)}catch(s){r(s)}})}e.withAsyncBody=i})(Wo||(Wo={}));var $o=class je{static fromArray(t){return new je(i=>{i.emitMany(t)})}static fromPromise(t){return new je(async i=>{i.emitMany(await t)})}static fromPromises(t){return new je(async i=>{await Promise.all(t.map(async n=>i.emitOne(await n)))})}static merge(t){return new je(async i=>{await Promise.all(t.map(async n=>{for await(let a of n)i.emitOne(a)}))})}constructor(t,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new fe,queueMicrotask(async()=>{let n={emitOne:a=>this.emitOne(a),emitMany:a=>this.emitMany(a),reject:a=>this.reject(a)};try{await Promise.resolve(t(n)),this.resolve()}catch(a){this.reject(a)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await at.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,i){return new je(async n=>{for await(let a of t)n.emitOne(i(a))})}map(t){return je.map(this,t)}static filter(t,i){return new je(async n=>{for await(let a of t)i(a)&&n.emitOne(a)})}filter(t){return je.filter(this,t)}static coalesce(t){return je.filter(t,i=>!!i)}coalesce(){return je.coalesce(this)}static async toPromise(t){let i=[];for await(let n of t)i.push(n);return i}toPromise(){return je.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};$o.EMPTY=$o.fromArray([]);function Pd(e){return 55296<=e&&e<=56319}function zo(e){return 56320<=e&&e<=57343}function Od(e,t){return(e-55296<<10)+(t-56320)+65536}function Id(e){return en(e,0)}function en(e,t){switch(typeof e){case"object":return e===null?yt(349,t):Array.isArray(e)?Hd(e,t):Fd(e,t);case"string":return Ea(e,t);case"boolean":return Nd(e,t);case"number":return yt(e,t);case"undefined":return yt(937,t);default:return yt(617,t)}}function yt(e,t){return(t<<5)-t+e|0}function Nd(e,t){return yt(e?433:863,t)}function Ea(e,t){t=yt(149417,t);for(let i=0,n=e.length;i<n;i++)t=yt(e.charCodeAt(i),t);return t}function Hd(e,t){return t=yt(104579,t),e.reduce((i,n)=>en(n,i),t)}function Fd(e,t){return t=yt(181387,t),Object.keys(e).sort().reduce((i,n)=>(i=Ea(n,i),en(e[n],i)),t)}function Ps(e,t,i=32){let n=i-t,a=~((1<<n)-1);return(e<<t|(a&e)>>>n)>>>0}function Uo(e,t=0,i=e.byteLength,n=0){for(let a=0;a<i;a++)e[t+a]=n}function Wd(e,t,i="0"){for(;e.length<t;)e=i+e;return e}function Di(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map(i=>i.toString(16).padStart(2,"0")).join(""):Wd((e>>>0).toString(16),t/4)}var $d=class La{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(t){let i=t.length;if(i===0)return;let n=this._buff,a=this._buffLen,r=this._leftoverHighSurrogate,s,o;for(r!==0?(s=r,o=-1,r=0):(s=t.charCodeAt(0),o=0);;){let f=s;if(Pd(s))if(o+1<i){let l=t.charCodeAt(o+1);zo(l)?(o++,f=Od(s,l)):f=65533}else{r=s;break}else zo(s)&&(f=65533);if(a=this._push(n,a,f),o++,o<i)s=t.charCodeAt(o);else break}this._buffLen=a,this._leftoverHighSurrogate=r}_push(t,i,n){return n<128?t[i++]=n:n<2048?(t[i++]=192|(n&1984)>>>6,t[i++]=128|(n&63)>>>0):n<65536?(t[i++]=224|(n&61440)>>>12,t[i++]=128|(n&4032)>>>6,t[i++]=128|(n&63)>>>0):(t[i++]=240|(n&1835008)>>>18,t[i++]=128|(n&258048)>>>12,t[i++]=128|(n&4032)>>>6,t[i++]=128|(n&63)>>>0),i>=64&&(this._step(),i-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),i}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()),Di(this._h0)+Di(this._h1)+Di(this._h2)+Di(this._h3)+Di(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Uo(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Uo(this._buff));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=La._bigBlock32,i=this._buffDV;for(let g=0;g<64;g+=4)t.setUint32(g,i.getUint32(g,!1),!1);for(let g=64;g<320;g+=4)t.setUint32(g,Ps(t.getUint32(g-12,!1)^t.getUint32(g-32,!1)^t.getUint32(g-56,!1)^t.getUint32(g-64,!1),1),!1);let n=this._h0,a=this._h1,r=this._h2,s=this._h3,o=this._h4,f,l,p;for(let g=0;g<80;g++)g<20?(f=a&r|~a&s,l=1518500249):g<40?(f=a^r^s,l=1859775393):g<60?(f=a&r|a&s|r&s,l=2400959708):(f=a^r^s,l=3395469782),p=Ps(n,5)+f+o+l+t.getUint32(g*4,!1)&4294967295,o=s,s=r,r=Ps(a,30),a=n,n=p;this._h0=this._h0+n&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+r&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+o&4294967295}};$d._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:pp,getWindow:zd,getDocument:gp,getWindows:vp,getWindowsCount:mp,getWindowId:jo,getWindowById:bp,hasWindow:wp,onDidRegisterWindow:Sp,onWillUnregisterWindow:Cp,onDidUnregisterWindow:yp}=(function(){let e=new Map,t={window:Qe,disposables:new ai};e.set(Qe.vscodeWindowId,t);let i=new fe,n=new fe,a=new fe;function r(s,o){return(typeof s=="number"?e.get(s):void 0)??(o?t:void 0)}return{onDidRegisterWindow:i.event,onWillUnregisterWindow:a.event,onDidUnregisterWindow:n.event,registerWindow(s){if(e.has(s.vscodeWindowId))return We.None;let o=new ai,f={window:s,disposables:o.add(new ai)};return e.set(s.vscodeWindowId,f),o.add(Te(()=>{e.delete(s.vscodeWindowId),n.fire(s)})),o.add(Ys(s,qd.BEFORE_UNLOAD,()=>{a.fire(s)})),i.fire(f),o},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(s){return s.vscodeWindowId},hasWindow(s){return e.has(s)},getWindowById:r,getWindow(s){let o=s;if(o?.ownerDocument?.defaultView)return o.ownerDocument.defaultView.window;let f=s;return f?.view?f.view.window:Qe},getDocument(s){return zd(s).document}}})(),Ud=class{constructor(e,t,i,n){this._node=e,this._type=t,this._handler=i,this._options=n||!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 Ys(e,t,i,n){return new Ud(e,t,i,n)}var jd,qo,Os=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){Cr(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,i=new Map,n=new Map,a=r=>{i.set(r,!1);let s=e.get(r)??[];for(t.set(r,s),e.set(r,[]),n.set(r,!0);s.length>0;)s.sort(Os.sort),s.shift().execute();n.set(r,!1)};qo=(r,s,o=0)=>{let f=jo(r),l=new Os(s,o),p=e.get(f);return p||(p=[],e.set(f,p)),p.push(l),i.get(f)||(i.set(f,!0),r.requestAnimationFrame(()=>a(f))),l},jd=(r,s,o)=>{let f=jo(r);if(n.get(f)){let l=new Os(s,o),p=t.get(f);return p||(p=[],t.set(f,p)),p.push(l),l}else return qo(r,s,o)}})();var Ko=class Tr{constructor(t,i){this.width=t,this.height=i}with(t=this.width,i=this.height){return t!==this.width||i!==this.height?new Tr(t,i):this}static is(t){return typeof t=="object"&&typeof t.height=="number"&&typeof t.width=="number"}static lift(t){return t instanceof Tr?t:new Tr(t.width,t.height)}static equals(t,i){return t===i?!0:!t||!i?!1:t.width===i.width&&t.height===i.height}};Ko.None=new Ko(0,0);var xp=new class{constructor(){this.mutationObservers=new Map}observe(e,t,i){let n=this.mutationObservers.get(e);n||(n=new Map,this.mutationObservers.set(e,n));let a=Id(i),r=n.get(a);if(r)r.users+=1;else{let s=new fe,o=new MutationObserver(l=>s.fire(l));o.observe(e,i);let f=r={users:1,observer:o,onDidMutate:s.event};t.add(Te(()=>{f.users-=1,f.users===0&&(s.dispose(),o.disconnect(),n?.delete(a),n?.size===0&&this.mutationObservers.delete(e))})),n.set(a,r)}return r.onDidMutate}},qd={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:Rs?"webkitAnimationStart":"animationstart",ANIMATION_END:Rs?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Rs?"webkitAnimationIteration":"animationiteration"},Kd=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Ma(e,t,i,...n){let a=Kd.exec(t);if(!a)throw new Error("Bad use of emmet");let r=a[1]||"div",s;return e!=="http://www.w3.org/1999/xhtml"?s=document.createElementNS(e,r):s=document.createElement(r),a[3]&&(s.id=a[3]),a[4]&&(s.className=a[4].replace(/\./g," ").trim()),i&&Object.entries(i).forEach(([o,f])=>{typeof f>"u"||(/^on\w+$/.test(o)?s[o]=f:o==="selected"?f&&s.setAttribute(o,"true"):s.setAttribute(o,f))}),s.append(...n),s}function Gd(e,t,...i){return Ma("http://www.w3.org/1999/xhtml",e,t,...i)}Gd.SVG=function(e,t,...i){return Ma("http://www.w3.org/2000/svg",e,t,...i)};var Vd=class extends We{constructor(e,t,i,n,a,r,s,o,f){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=i,this._coreBrowserService=n,this._coreService=a,this._decorationService=r,this._optionsService=s,this._themeService=o,this._cursorBlinkStateManager=new Mi,this._charAtlasDisposable=this._register(new Mi),this._observerDisposable=this._register(new Mi),this._model=new hd,this._workCell=new ko,this._workCell2=new ko,this._rectangleRenderer=this._register(new Mi),this._glyphRenderer=this._register(new Mi),this._onChangeTextureAtlas=this._register(new fe),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new fe),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new fe),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new fe),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new fe),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");let l={antialias:!1,depth:!1,preserveDrawingBuffer:f};if(this._gl=this._canvas.getContext("webgl2",l),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new kh(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new gd(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,s,this._themeService)],this.dimensions=yh(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(s.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(Ys(this._canvas,"webglcontextlost",p=>{console.log("webglcontextlost event received"),p.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(p)},3e3)})),this._register(Ys(this._canvas,"webglcontextrestored",p=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,yo(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=xo(this._canvas,this._coreBrowserService.window,(p,g)=>this._setCanvasDevicePixelDimensions(p,g)),this._register(this._coreBrowserService.onWindowChange(p=>{this._observerDisposable.value=xo(this._canvas,p,(g,S)=>this._setCanvasDevicePixelDimensions(g,S))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(Te(()=>{for(let p of this._renderLayers)p.dispose();this._canvas.parentElement?.removeChild(this._canvas),yo(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let i of this._renderLayers)i.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,t,i){for(let n of this._renderLayers)n.handleSelectionChanged(this._terminal,e,t,i);this._model.selection.update(this._core,e,t,i),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new _d(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new od(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=va(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=ea(at.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),at.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached)if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return;for(let i of this._renderLayers)i.handleGridChanged(this._terminal,e,t);!this._glyphRenderer.value||!this._rectangleRenderer.value||(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new Qh(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let i=this._core,n=this._workCell,a,r,s,o,f,l,p=0,g=!0,S,_,c,d,h,u,v,C,b;e=Go(e,i.rows-1,0),t=Go(t,i.rows-1,0);let y=this._coreService.decPrivateModes.cursorStyle??i.options.cursorStyle??"block",m=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,E=m-i.buffer.ydisp,P=Math.min(this._terminal.buffer.active.cursorX,i.cols-1),B=-1,H=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let R=!1;for(r=e;r<=t;r++)for(s=r+i.buffer.ydisp,o=i.buffer.lines.get(s),this._model.lineLengths[r]=0,c=m===s,p=0,f=this._characterJoinerService.getJoinedCharacters(s),C=0;C<i.cols;C++){if(a=this._cellColorResolver.result.bg,o.loadCell(C,n),C===0&&(a=this._cellColorResolver.result.bg),l=!1,g=C>=p,S=C,f.length>0&&C===f[0][0]&&g){_=f.shift();let j=this._model.selection.isCellSelected(this._terminal,_[0],s);for(v=_[0]+1;v<_[1];v++)g&&(g=j===this._model.selection.isCellSelected(this._terminal,v,s));g&&(g=!c||P<_[0]||P>=_[1]),g?(l=!0,n=new Yd(n,o.translateToString(!0,_[0],_[1]),_[1]-_[0]),S=_[1]-1):p=_[1]}if(d=n.getChars(),h=n.getCode(),v=(r*i.cols+C)*Ar,this._cellColorResolver.resolve(n,C,s,this.dimensions.device.cell.width),H&&s===m&&(C===P&&(this._model.cursor={x:P,y:E,width:n.getWidth(),style:this._coreBrowserService.isFocused?y:i.options.cursorInactiveStyle,cursorWidth:i.options.cursorWidth,dpr:this._devicePixelRatio},B=P+n.getWidth()-1),C>=P&&C<=B&&(this._coreBrowserService.isFocused&&y==="block"||this._coreBrowserService.isFocused===!1&&i.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),h!==0&&(this._model.lineLengths[r]=C+1),!(this._model.cells[v]===h&&this._model.cells[v+kr]===this._cellColorResolver.result.bg&&this._model.cells[v+Er]===this._cellColorResolver.result.fg&&this._model.cells[v+Ls]===this._cellColorResolver.result.ext)&&(R=!0,d.length>1&&(h|=cd),this._model.cells[v]=h,this._model.cells[v+kr]=this._cellColorResolver.result.bg,this._model.cells[v+Er]=this._cellColorResolver.result.fg,this._model.cells[v+Ls]=this._cellColorResolver.result.ext,u=n.getWidth(),this._glyphRenderer.value.updateCell(C,r,h,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,d,u,a),l)){for(n=this._workCell,C++;C<=S;C++)b=(r*i.cols+C)*Ar,this._glyphRenderer.value.updateCell(C,r,0,0,0,0,vh,0,0),this._model.cells[b]=0,this._model.cells[b+kr]=this._cellColorResolver.result.bg,this._model.cells[b+Er]=this._cellColorResolver.result.fg,this._model.cells[b+Ls]=this._cellColorResolver.result.ext;C--}}R&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){!this._charSizeService.width||!this._charSizeService.height||(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},Yd=class extends ni{constructor(e,t,i){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function Go(e,t,i=0){return Math.max(Math.min(e,t),i)}var Vo="di$target",Yo="di$dependencies",Is=new Map;function ct(e){if(Is.has(e))return Is.get(e);let t=function(i,n,a){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Xd(t,i,a)};return t._id=e,Is.set(e,t),t}function Xd(e,t,i){t[Vo]===t?t[Yo].push({id:e,index:i}):(t[Yo]=[{id:e,index:i}],t[Vo]=t)}var kp=ct("BufferService"),Ep=ct("CoreMouseService"),Lp=ct("CoreService"),Mp=ct("CharsetService"),Rp=ct("InstantiationService"),Tp=ct("LogService"),Jd=ct("OptionsService"),Ap=ct("OscLinkService"),Dp=ct("UnicodeService"),Bp=ct("DecorationService"),Zd={trace:0,debug:1,info:2,warn:3,error:4,off:5},Qd="xterm.js: ",Xo=class extends We{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),Ra=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Zd[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]=="function"&&(e[t]=e[t]())}_log(e,t,i){this._evalLazyOptionalParams(i),e.call(console,(this._optionsService.options.logger?"":Qd)+t,...i)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};Xo=Jc([Zc(0,Jd)],Xo);var Ra;function eu(e){Ra=e}var Ta=class extends We{constructor(e){if(ra&&gh()<16){let t={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",t))throw new Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new fe),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new fe),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new fe),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new fe),this.onContextLoss=this._onContextLoss.event}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let i=t.coreService,n=t.optionsService,a=t,r=a._renderService,s=a._characterJoinerService,o=a._charSizeService,f=a._coreBrowserService,l=a._decorationService,p=a._logService,g=a._themeService;eu(p),this._renderer=this._register(new Vd(e,s,o,f,i,l,n,g,this._preserveDrawingBuffer)),this._register(at.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(at.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(at.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(at.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),r.setRenderer(this._renderer),this._register(Te(()=>{if(this._terminal._core._store._isDisposed)return;let S=this._terminal._core._renderService;S.setRenderer(this._terminal._core._createRenderer()),S.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};var Aa=`/**
118
+ }`,Ct=8,Ps=Ct*Float32Array.BYTES_PER_ELEMENT,Bd=20*Ct,Fo=class{constructor(){this.attributes=new Float32Array(Bd),this.count=0}},St=0,Wo=0,$o=0,zo=0,Uo=0,jo=0,qo=0,Pd=class extends We{constructor(e,t,r,n){super(),this._terminal=e,this._gl=t,this._dimensions=r,this._themeService=n,this._vertices=new Fo,this._verticesCursor=new Fo;let a=this._gl;this._program=Ce(Da(a,Ad,Dd)),this._register(Ae(()=>a.deleteProgram(this._program))),this._projectionLocation=Ce(a.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=a.createVertexArray(),a.bindVertexArray(this._vertexArrayObject);let i=new Float32Array([0,0,1,0,0,1,1,1]),s=a.createBuffer();this._register(Ae(()=>a.deleteBuffer(s))),a.bindBuffer(a.ARRAY_BUFFER,s),a.bufferData(a.ARRAY_BUFFER,i,a.STATIC_DRAW),a.enableVertexAttribArray(3),a.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let o=new Uint8Array([0,1,2,3]),f=a.createBuffer();this._register(Ae(()=>a.deleteBuffer(f))),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,f),a.bufferData(a.ELEMENT_ARRAY_BUFFER,o,a.STATIC_DRAW),this._attributesBuffer=Ce(a.createBuffer()),this._register(Ae(()=>a.deleteBuffer(this._attributesBuffer))),a.bindBuffer(a.ARRAY_BUFFER,this._attributesBuffer),a.enableVertexAttribArray(0),a.vertexAttribPointer(0,2,a.FLOAT,!1,Ps,0),a.vertexAttribDivisor(0,1),a.enableVertexAttribArray(1),a.vertexAttribPointer(1,2,a.FLOAT,!1,Ps,2*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(1,1),a.enableVertexAttribArray(2),a.vertexAttribPointer(2,4,a.FLOAT,!1,Ps,4*Float32Array.BYTES_PER_ELEMENT),a.vertexAttribDivisor(2,1),this._updateCachedColors(n.colors),this._register(this._themeService.onChangeColors(l=>{this._updateCachedColors(l),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,Aa),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,e.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let t=this._terminal,r=this._vertices,n=1,a,i,s,o,f,l,p,g,S,_,c;for(a=0;a<t.rows;a++){for(s=-1,o=0,f=0,l=!1,i=0;i<t.cols;i++)p=(a*t.cols+i)*Pi,g=e.cells[p+Mi],S=e.cells[p+Ri],_=!!(S&67108864),(g!==o||S!==f&&(l||_))&&((o!==0||l&&f!==0)&&(c=n++*Ct,this._updateRectangle(r,c,f,o,s,i,a)),s=i,o=g,f=S,l=_);(o!==0||l&&f!==0)&&(c=n++*Ct,this._updateRectangle(r,c,f,o,s,t.cols,a))}r.count=n}updateCursor(e){let t=this._verticesCursor,r=e.cursor;if(!r||r.style==="block"){t.count=0;return}let n,a=0;(r.style==="bar"||r.style==="outline")&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,r.x*this._dimensions.device.cell.width,r.y*this._dimensions.device.cell.height,r.style==="bar"?r.dpr*r.cursorWidth:r.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(r.style==="underline"||r.style==="outline")&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,r.x*this._dimensions.device.cell.width,(r.y+1)*this._dimensions.device.cell.height-r.dpr,r.width*this._dimensions.device.cell.width,r.dpr,this._cursorFloat)),r.style==="outline"&&(n=a++*Ct,this._addRectangleFloat(t.attributes,n,r.x*this._dimensions.device.cell.width,r.y*this._dimensions.device.cell.height,r.width*this._dimensions.device.cell.width,r.dpr,this._cursorFloat),n=a++*Ct,this._addRectangleFloat(t.attributes,n,(r.x+r.width)*this._dimensions.device.cell.width-r.dpr,r.y*this._dimensions.device.cell.height,r.dpr,this._dimensions.device.cell.height,this._cursorFloat)),t.count=a}_updateRectangle(e,t,r,n,a,i,s){if(r&67108864)switch(r&50331648){case 16777216:case 33554432:St=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:St=(r&16777215)<<8;break;default:St=this._themeService.colors.foreground.rgba}else switch(n&50331648){case 16777216:case 33554432:St=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:St=(n&16777215)<<8;break;default:St=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=Sd(e.attributes,this._terminal.rows*this._terminal.cols*Ct)),Wo=a*this._dimensions.device.cell.width,$o=s*this._dimensions.device.cell.height,zo=(St>>24&255)/255,Uo=(St>>16&255)/255,jo=(St>>8&255)/255,qo=1,this._addRectangle(e.attributes,t,Wo,$o,(i-a)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,zo,Uo,jo,qo)}_addRectangle(e,t,r,n,a,i,s,o,f,l){e[t]=r/this._dimensions.device.canvas.width,e[t+1]=n/this._dimensions.device.canvas.height,e[t+2]=a/this._dimensions.device.canvas.width,e[t+3]=i/this._dimensions.device.canvas.height,e[t+4]=s,e[t+5]=o,e[t+6]=f,e[t+7]=l}_addRectangleFloat(e,t,r,n,a,i,s){e[t]=r/this._dimensions.device.canvas.width,e[t+1]=n/this._dimensions.device.canvas.height,e[t+2]=a/this._dimensions.device.canvas.width,e[t+3]=i/this._dimensions.device.canvas.height,e[t+4]=s[0],e[t+5]=s[1],e[t+6]=s[2],e[t+7]=s[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(e.rgba&255)/255])}},Od=class extends We{constructor(e,t,r,n,a,i,s,o){super(),this._container=t,this._alpha=a,this._coreBrowserService=i,this._optionsService=s,this._themeService=o,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${r}-layer`),this._canvas.style.zIndex=n.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(f=>{this._refreshCharAtlas(e,f),this.reset(e)})),this._register(Ae(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=Ce(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,r){}handleSelectionChanged(e,t,r,n=!1){}_setTransparency(e,t){if(t===this._alpha)return;let r=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,r),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=Ra(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,r=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,r*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,r,n){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,n*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,n*this._deviceCellHeight))}_fillCharTrueColor(e,t,r,n){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=va,this._clipCell(r,n,t.getWidth()),this._ctx.fillText(t.getChars(),r*this._deviceCellWidth+this._deviceCharLeft,n*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,r){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,r){let n=t?e.options.fontWeightBold:e.options.fontWeight;return`${r?"italic":""} ${n} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},Id=class extends Od{constructor(e,t,r,n,a,i,s){super(r,e,"link",t,!0,a,i,s),this._register(n.onShowLinkUnderline(o=>this._handleShowLinkUnderline(o))),this._register(n.onHideLinkUnderline(o=>this._handleHideLinkUnderline(o)))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg!==void 0&&md(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},Qe=typeof window=="object"?window:globalThis,Zs=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new ue,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new ue,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,r){if(this.getZoomLevel(r)===t)return;let n=this.getWindowId(r);this.mapWindowIdToZoomLevel.set(n,t),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,r){this.mapWindowIdToZoomFactor.set(this.getWindowId(r),t)}setFullscreen(t,r){if(this.isFullscreen(r)===t)return;let n=this.getWindowId(r);this.mapWindowIdToFullScreen.set(n,t),this._onDidChangeFullscreen.fire(n)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Zs.INSTANCE=new Zs;var Ba=Zs;function Nd(e,t,r){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",r)}var Ep=Ba.INSTANCE.onDidChangeZoomLevel,Lp=Ba.INSTANCE.onDidChangeFullscreen,hr=typeof navigator=="object"?navigator.userAgent:"",Mp=hr.indexOf("Firefox")>=0,Os=hr.indexOf("AppleWebKit")>=0,Hd=hr.indexOf("Chrome")>=0,Fd=!Hd&&hr.indexOf("Safari")>=0,Rp=hr.indexOf("Electron/")>=0,Tp=hr.indexOf("Android")>=0,Ti=!1;if(typeof Qe.matchMedia=="function"){let e=Qe.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Qe.matchMedia("(display-mode: fullscreen)");Ti=e.matches,Nd(Qe,e,({matches:r})=>{Ti&&t.matches||(Ti=r)})}function Wd(){return Ti}var ar="en",Qs=!1,en=!1,Ai=!1,$d=!1,Pa=!1,Oa=!1,zd=!1,Ud=!1,jd=!1,qd=!1,xi,Di=ar,Ko=ar,Kd,yt,kt=globalThis,Fe;typeof kt.vscode<"u"&&typeof kt.vscode.process<"u"?Fe=kt.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Fe=process);var Ia=typeof Fe?.versions?.electron=="string",Gd=Ia&&Fe?.type==="renderer";if(typeof Fe=="object"){Qs=Fe.platform==="win32",en=Fe.platform==="darwin",Ai=Fe.platform==="linux",$d=Ai&&!!Fe.env.SNAP&&!!Fe.env.SNAP_REVISION,zd=Ia,jd=!!Fe.env.CI||!!Fe.env.BUILD_ARTIFACTSTAGINGDIRECTORY,xi=ar,Di=ar;let e=Fe.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);xi=t.userLocale,Ko=t.osLocale,Di=t.resolvedLanguage||ar,Kd=t.languagePack?.translationsConfigFile}catch{}Pa=!0}else typeof navigator=="object"&&!Gd?(yt=navigator.userAgent,Qs=yt.indexOf("Windows")>=0,en=yt.indexOf("Macintosh")>=0,Ud=(yt.indexOf("Macintosh")>=0||yt.indexOf("iPad")>=0||yt.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Ai=yt.indexOf("Linux")>=0,qd=yt?.indexOf("Mobi")>=0,Oa=!0,Di=globalThis._VSCODE_NLS_LANGUAGE||ar,xi=navigator.language.toLowerCase(),Ko=xi):console.error("Unable to resolve platform.");var Is=0;en?Is=1:Qs?Is=3:Ai&&(Is=2);var Ns=Pa,Vd=Oa&&typeof kt.importScripts=="function",Ap=Vd?kt.origin:void 0,ct=yt,Rt=Di,Go;(e=>{function t(){return Rt}e.value=t;function r(){return Rt.length===2?Rt==="en":Rt.length>=3?Rt[0]==="e"&&Rt[1]==="n"&&Rt[2]==="-":!1}e.isDefaultVariant=r;function n(){return Rt==="en"}e.isDefault=n})(Go||(Go={}));var Yd=typeof kt.postMessage=="function"&&!kt.importScripts,Xd=(()=>{if(Yd){let e=[];kt.addEventListener("message",r=>{if(r.data&&r.data.vscodeScheduleAsyncWork)for(let n=0,a=e.length;n<a;n++){let i=e[n];if(i.id===r.data.vscodeScheduleAsyncWork){e.splice(n,1),i.callback();return}}});let t=0;return r=>{let n=++t;e.push({id:n,callback:r}),kt.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})(),Jd=!!(ct&&ct.indexOf("Chrome")>=0),Dp=!!(ct&&ct.indexOf("Firefox")>=0),Bp=!!(!Jd&&ct&&ct.indexOf("Safari")>=0),Pp=!!(ct&&ct.indexOf("Edg/")>=0),Op=!!(ct&&ct.indexOf("Android")>=0),Tt=typeof navigator=="object"?navigator:{},Ip={clipboard:{writeText:Ns||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(Tt&&Tt.clipboard&&Tt.clipboard.writeText),readText:Ns||!!(Tt&&Tt.clipboard&&Tt.clipboard.readText)},keyboard:Ns||Wd()?0:Tt.keyboard||Fd?1:2,touch:"ontouchstart"in Qe||Tt.maxTouchPoints>0,pointerEvents:Qe.PointerEvent&&("ontouchstart"in Qe||navigator.maxTouchPoints>0)},on=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Hs=new on,Vo=new on,Yo=new on,Np=new Array(230),Xo;(e=>{function t(o){return Hs.keyCodeToStr(o)}e.toString=t;function r(o){return Hs.strToKeyCode(o)}e.fromString=r;function n(o){return Vo.keyCodeToStr(o)}e.toUserSettingsUS=n;function a(o){return Yo.keyCodeToStr(o)}e.toUserSettingsGeneral=a;function i(o){return Vo.strToKeyCode(o)||Yo.strToKeyCode(o)}e.fromUserSettings=i;function s(o){if(o>=98&&o<=113)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Hs.keyCodeToStr(o)}e.toElectronAccelerator=s})(Xo||(Xo={}));var Na=Object.freeze(function(e,t){let r=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(r)}}}),Jo;(e=>{function t(r){return r===e.None||r===e.Cancelled||r instanceof Zd?!0:!r||typeof r!="object"?!1:typeof r.isCancellationRequested=="boolean"&&typeof r.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:lt.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Na})})(Jo||(Jo={}));var Zd=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?Na:(this._emitter||(this._emitter=new ue),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};var Qd,Fs;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?Fs=(e,t)=>{Xd(()=>{if(r)return;let n=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,n-Date.now())}}))});let r=!1;return{dispose(){r||(r=!0)}}}:Fs=(e,t,r)=>{let n=e.requestIdleCallback(t,typeof r=="number"?{timeout:r}:void 0),a=!1;return{dispose(){a||(a=!0,e.cancelIdleCallback(n))}}},Qd=e=>Fs(globalThis,e)})();var Zo;(e=>{async function t(n){let a,i=await Promise.all(n.map(s=>s.then(o=>o,o=>{a||(a=o)})));if(typeof a<"u")throw a;return i}e.settled=t;function r(n){return new Promise(async(a,i)=>{try{await n(a,i)}catch(s){i(s)}})}e.withAsyncBody=r})(Zo||(Zo={}));var Qo=class je{static fromArray(t){return new je(r=>{r.emitMany(t)})}static fromPromise(t){return new je(async r=>{r.emitMany(await t)})}static fromPromises(t){return new je(async r=>{await Promise.all(t.map(async n=>r.emitOne(await n)))})}static merge(t){return new je(async r=>{await Promise.all(t.map(async n=>{for await(let a of n)r.emitOne(a)}))})}constructor(t,r){this._state=0,this._results=[],this._error=null,this._onReturn=r,this._onStateChanged=new ue,queueMicrotask(async()=>{let n={emitOne:a=>this.emitOne(a),emitMany:a=>this.emitMany(a),reject:a=>this.reject(a)};try{await Promise.resolve(t(n)),this.resolve()}catch(a){this.reject(a)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await lt.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,r){return new je(async n=>{for await(let a of t)n.emitOne(r(a))})}map(t){return je.map(this,t)}static filter(t,r){return new je(async n=>{for await(let a of t)r(a)&&n.emitOne(a)})}filter(t){return je.filter(this,t)}static coalesce(t){return je.filter(t,r=>!!r)}coalesce(){return je.coalesce(this)}static async toPromise(t){let r=[];for await(let n of t)r.push(n);return r}toPromise(){return je.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};Qo.EMPTY=Qo.fromArray([]);function eu(e){return 55296<=e&&e<=56319}function ea(e){return 56320<=e&&e<=57343}function tu(e,t){return(e-55296<<10)+(t-56320)+65536}function ru(e){return an(e,0)}function an(e,t){switch(typeof e){case"object":return e===null?xt(349,t):Array.isArray(e)?su(e,t):nu(e,t);case"string":return Ha(e,t);case"boolean":return iu(e,t);case"number":return xt(e,t);case"undefined":return xt(937,t);default:return xt(617,t)}}function xt(e,t){return(t<<5)-t+e|0}function iu(e,t){return xt(e?433:863,t)}function Ha(e,t){t=xt(149417,t);for(let r=0,n=e.length;r<n;r++)t=xt(e.charCodeAt(r),t);return t}function su(e,t){return t=xt(104579,t),e.reduce((r,n)=>an(n,r),t)}function nu(e,t){return t=xt(181387,t),Object.keys(e).sort().reduce((r,n)=>(r=Ha(n,r),an(e[n],r)),t)}function Ws(e,t,r=32){let n=r-t,a=~((1<<n)-1);return(e<<t|(a&e)>>>n)>>>0}function ta(e,t=0,r=e.byteLength,n=0){for(let a=0;a<r;a++)e[t+a]=n}function ou(e,t,r="0"){for(;e.length<t;)e=r+e;return e}function Or(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map(r=>r.toString(16).padStart(2,"0")).join(""):ou((e>>>0).toString(16),t/4)}var au=class Fa{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(t){let r=t.length;if(r===0)return;let n=this._buff,a=this._buffLen,i=this._leftoverHighSurrogate,s,o;for(i!==0?(s=i,o=-1,i=0):(s=t.charCodeAt(0),o=0);;){let f=s;if(eu(s))if(o+1<r){let l=t.charCodeAt(o+1);ea(l)?(o++,f=tu(s,l)):f=65533}else{i=s;break}else ea(s)&&(f=65533);if(a=this._push(n,a,f),o++,o<r)s=t.charCodeAt(o);else break}this._buffLen=a,this._leftoverHighSurrogate=i}_push(t,r,n){return n<128?t[r++]=n:n<2048?(t[r++]=192|(n&1984)>>>6,t[r++]=128|(n&63)>>>0):n<65536?(t[r++]=224|(n&61440)>>>12,t[r++]=128|(n&4032)>>>6,t[r++]=128|(n&63)>>>0):(t[r++]=240|(n&1835008)>>>18,t[r++]=128|(n&258048)>>>12,t[r++]=128|(n&4032)>>>6,t[r++]=128|(n&63)>>>0),r>=64&&(this._step(),r-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),r}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()),Or(this._h0)+Or(this._h1)+Or(this._h2)+Or(this._h3)+Or(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,ta(this._buff,this._buffLen),this._buffLen>56&&(this._step(),ta(this._buff));let t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=Fa._bigBlock32,r=this._buffDV;for(let g=0;g<64;g+=4)t.setUint32(g,r.getUint32(g,!1),!1);for(let g=64;g<320;g+=4)t.setUint32(g,Ws(t.getUint32(g-12,!1)^t.getUint32(g-32,!1)^t.getUint32(g-56,!1)^t.getUint32(g-64,!1),1),!1);let n=this._h0,a=this._h1,i=this._h2,s=this._h3,o=this._h4,f,l,p;for(let g=0;g<80;g++)g<20?(f=a&i|~a&s,l=1518500249):g<40?(f=a^i^s,l=1859775393):g<60?(f=a&i|a&s|i&s,l=2400959708):(f=a^i^s,l=3395469782),p=Ws(n,5)+f+o+l+t.getUint32(g*4,!1)&4294967295,o=s,s=i,i=Ws(a,30),a=n,n=p;this._h0=this._h0+n&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+i&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+o&4294967295}};au._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:Hp,getWindow:lu,getDocument:Fp,getWindows:Wp,getWindowsCount:$p,getWindowId:ra,getWindowById:zp,hasWindow:Up,onDidRegisterWindow:jp,onWillUnregisterWindow:qp,onDidUnregisterWindow:Kp}=(function(){let e=new Map,t={window:Qe,disposables:new lr};e.set(Qe.vscodeWindowId,t);let r=new ue,n=new ue,a=new ue;function i(s,o){return(typeof s=="number"?e.get(s):void 0)??(o?t:void 0)}return{onDidRegisterWindow:r.event,onWillUnregisterWindow:a.event,onDidUnregisterWindow:n.event,registerWindow(s){if(e.has(s.vscodeWindowId))return We.None;let o=new lr,f={window:s,disposables:o.add(new lr)};return e.set(s.vscodeWindowId,f),o.add(Ae(()=>{e.delete(s.vscodeWindowId),n.fire(s)})),o.add(tn(s,du.BEFORE_UNLOAD,()=>{a.fire(s)})),r.fire(f),o},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(s){return s.vscodeWindowId},hasWindow(s){return e.has(s)},getWindowById:i,getWindow(s){let o=s;if(o?.ownerDocument?.defaultView)return o.ownerDocument.defaultView.window;let f=s;return f?.view?f.view.window:Qe},getDocument(s){return lu(s).document}}})(),cu=class{constructor(e,t,r,n){this._node=e,this._type=t,this._handler=r,this._options=n||!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 tn(e,t,r,n){return new cu(e,t,r,n)}var hu,ia,$s=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){ki(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,r=new Map,n=new Map,a=i=>{r.set(i,!1);let s=e.get(i)??[];for(t.set(i,s),e.set(i,[]),n.set(i,!0);s.length>0;)s.sort($s.sort),s.shift().execute();n.set(i,!1)};ia=(i,s,o=0)=>{let f=ra(i),l=new $s(s,o),p=e.get(f);return p||(p=[],e.set(f,p)),p.push(l),r.get(f)||(r.set(f,!0),i.requestAnimationFrame(()=>a(f))),l},hu=(i,s,o)=>{let f=ra(i);if(n.get(f)){let l=new $s(s,o),p=t.get(f);return p||(p=[],t.set(f,p)),p.push(l),l}else return ia(i,s,o)}})();var sa=class Bi{constructor(t,r){this.width=t,this.height=r}with(t=this.width,r=this.height){return t!==this.width||r!==this.height?new Bi(t,r):this}static is(t){return typeof t=="object"&&typeof t.height=="number"&&typeof t.width=="number"}static lift(t){return t instanceof Bi?t:new Bi(t.width,t.height)}static equals(t,r){return t===r?!0:!t||!r?!1:t.width===r.width&&t.height===r.height}};sa.None=new sa(0,0);var Gp=new class{constructor(){this.mutationObservers=new Map}observe(e,t,r){let n=this.mutationObservers.get(e);n||(n=new Map,this.mutationObservers.set(e,n));let a=ru(r),i=n.get(a);if(i)i.users+=1;else{let s=new ue,o=new MutationObserver(l=>s.fire(l));o.observe(e,r);let f=i={users:1,observer:o,onDidMutate:s.event};t.add(Ae(()=>{f.users-=1,f.users===0&&(s.dispose(),o.disconnect(),n?.delete(a),n?.size===0&&this.mutationObservers.delete(e))})),n.set(a,i)}return i.onDidMutate}},du={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:Os?"webkitAnimationStart":"animationstart",ANIMATION_END:Os?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:Os?"webkitAnimationIteration":"animationiteration"},uu=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function Wa(e,t,r,...n){let a=uu.exec(t);if(!a)throw new Error("Bad use of emmet");let i=a[1]||"div",s;return e!=="http://www.w3.org/1999/xhtml"?s=document.createElementNS(e,i):s=document.createElement(i),a[3]&&(s.id=a[3]),a[4]&&(s.className=a[4].replace(/\./g," ").trim()),r&&Object.entries(r).forEach(([o,f])=>{typeof f>"u"||(/^on\w+$/.test(o)?s[o]=f:o==="selected"?f&&s.setAttribute(o,"true"):s.setAttribute(o,f))}),s.append(...n),s}function fu(e,t,...r){return Wa("http://www.w3.org/1999/xhtml",e,t,...r)}fu.SVG=function(e,t,...r){return Wa("http://www.w3.org/2000/svg",e,t,...r)};var _u=class extends We{constructor(e,t,r,n,a,i,s,o,f){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=r,this._coreBrowserService=n,this._coreService=a,this._decorationService=i,this._optionsService=s,this._themeService=o,this._cursorBlinkStateManager=new Ar,this._charAtlasDisposable=this._register(new Ar),this._observerDisposable=this._register(new Ar),this._model=new Td,this._workCell=new No,this._workCell2=new No,this._rectangleRenderer=this._register(new Ar),this._glyphRenderer=this._register(new Ar),this._onChangeTextureAtlas=this._register(new ue),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ue),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ue),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new ue),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new ue),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");let l={antialias:!1,depth:!1,preserveDrawingBuffer:f};if(this._gl=this._canvas.getContext("webgl2",l),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new qh(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new Id(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,s,this._themeService)],this.dimensions=Uh(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(s.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(tn(this._canvas,"webglcontextlost",p=>{console.log("webglcontextlost event received"),p.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(p)},3e3)})),this._register(tn(this._canvas,"webglcontextrestored",p=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,Oo(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=Io(this._canvas,this._coreBrowserService.window,(p,g)=>this._setCanvasDevicePixelDimensions(p,g)),this._register(this._coreBrowserService.onWindowChange(p=>{this._observerDisposable.value=Io(this._canvas,p,(g,S)=>this._setCanvasDevicePixelDimensions(g,S))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(Ae(()=>{for(let p of this._renderLayers)p.dispose();this._canvas.parentElement?.removeChild(this._canvas),Oo(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let r of this._renderLayers)r.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,t,r){for(let n of this._renderLayers)n.handleSelectionChanged(this._terminal,e,t,r);this._model.selection.update(this._core,e,t,r),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new Pd(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new Ed(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=Ra(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=ua(lt.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),lt.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached)if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return;for(let r of this._renderLayers)r.handleGridChanged(this._terminal,e,t);!this._glyphRenderer.value||!this._rectangleRenderer.value||(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new bd(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let r=this._core,n=this._workCell,a,i,s,o,f,l,p=0,g=!0,S,_,c,d,h,u,v,y,b;e=na(e,r.rows-1,0),t=na(t,r.rows-1,0);let C=this._coreService.decPrivateModes.cursorStyle??r.options.cursorStyle??"block",m=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,E=m-r.buffer.ydisp,P=Math.min(this._terminal.buffer.active.cursorX,r.cols-1),B=-1,H=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let R=!1;for(i=e;i<=t;i++)for(s=i+r.buffer.ydisp,o=r.buffer.lines.get(s),this._model.lineLengths[i]=0,c=m===s,p=0,f=this._characterJoinerService.getJoinedCharacters(s),y=0;y<r.cols;y++){if(a=this._cellColorResolver.result.bg,o.loadCell(y,n),y===0&&(a=this._cellColorResolver.result.bg),l=!1,g=y>=p,S=y,f.length>0&&y===f[0][0]&&g){_=f.shift();let j=this._model.selection.isCellSelected(this._terminal,_[0],s);for(v=_[0]+1;v<_[1];v++)g&&(g=j===this._model.selection.isCellSelected(this._terminal,v,s));g&&(g=!c||P<_[0]||P>=_[1]),g?(l=!0,n=new pu(n,o.translateToString(!0,_[0],_[1]),_[1]-_[0]),S=_[1]-1):p=_[1]}if(d=n.getChars(),h=n.getCode(),v=(i*r.cols+y)*Pi,this._cellColorResolver.resolve(n,y,s,this.dimensions.device.cell.width),H&&s===m&&(y===P&&(this._model.cursor={x:P,y:E,width:n.getWidth(),style:this._coreBrowserService.isFocused?C:r.options.cursorInactiveStyle,cursorWidth:r.options.cursorWidth,dpr:this._devicePixelRatio},B=P+n.getWidth()-1),y>=P&&y<=B&&(this._coreBrowserService.isFocused&&C==="block"||this._coreBrowserService.isFocused===!1&&r.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),h!==0&&(this._model.lineLengths[i]=y+1),!(this._model.cells[v]===h&&this._model.cells[v+Mi]===this._cellColorResolver.result.bg&&this._model.cells[v+Ri]===this._cellColorResolver.result.fg&&this._model.cells[v+Bs]===this._cellColorResolver.result.ext)&&(R=!0,d.length>1&&(h|=Rd),this._model.cells[v]=h,this._model.cells[v+Mi]=this._cellColorResolver.result.bg,this._model.cells[v+Ri]=this._cellColorResolver.result.fg,this._model.cells[v+Bs]=this._cellColorResolver.result.ext,u=n.getWidth(),this._glyphRenderer.value.updateCell(y,i,h,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,d,u,a),l)){for(n=this._workCell,y++;y<=S;y++)b=(i*r.cols+y)*Pi,this._glyphRenderer.value.updateCell(y,i,0,0,0,0,Nh,0,0),this._model.cells[b]=0,this._model.cells[b+Mi]=this._cellColorResolver.result.bg,this._model.cells[b+Ri]=this._cellColorResolver.result.fg,this._model.cells[b+Bs]=this._cellColorResolver.result.ext;y--}}R&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){!this._charSizeService.width||!this._charSizeService.height||(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},pu=class extends or{constructor(e,t,r){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=r}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function na(e,t,r=0){return Math.max(Math.min(e,t),r)}var oa="di$target",aa="di$dependencies",zs=new Map;function ht(e){if(zs.has(e))return zs.get(e);let t=function(r,n,a){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");gu(t,r,a)};return t._id=e,zs.set(e,t),t}function gu(e,t,r){t[oa]===t?t[aa].push({id:e,index:r}):(t[aa]=[{id:e,index:r}],t[oa]=t)}var Vp=ht("BufferService"),Yp=ht("CoreMouseService"),Xp=ht("CoreService"),Jp=ht("CharsetService"),Zp=ht("InstantiationService"),Qp=ht("LogService"),vu=ht("OptionsService"),eg=ht("OscLinkService"),tg=ht("UnicodeService"),rg=ht("DecorationService"),mu={trace:0,debug:1,info:2,warn:3,error:4,off:5},bu="xterm.js: ",la=class extends We{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),$a=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=mu[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]=="function"&&(e[t]=e[t]())}_log(e,t,r){this._evalLazyOptionalParams(r),e.call(console,(this._optionsService.options.logger?"":bu)+t,...r)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};la=vh([mh(0,vu)],la);var $a;function wu(e){$a=e}var za=class extends We{constructor(e){if(pa&&Ih()<16){let t={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",t))throw new Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new ue),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ue),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ue),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new ue),this.onContextLoss=this._onContextLoss.event}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let r=t.coreService,n=t.optionsService,a=t,i=a._renderService,s=a._characterJoinerService,o=a._charSizeService,f=a._coreBrowserService,l=a._decorationService,p=a._logService,g=a._themeService;wu(p),this._renderer=this._register(new _u(e,s,o,f,r,l,n,g,this._preserveDrawingBuffer)),this._register(lt.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(lt.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(lt.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(lt.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),i.setRenderer(this._renderer),this._register(Ae(()=>{if(this._terminal._core._store._isDisposed)return;let S=this._terminal._core._renderService;S.setRenderer(this._terminal._core._createRenderer()),S.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};var Ua=`/**
119
119
  * Copyright (c) 2014 The xterm.js authors. All rights reserved.
120
120
  * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
121
121
  * https://github.com/chjj/term.js
@@ -333,7 +333,7 @@ void main() {
333
333
  z-index: 2;
334
334
  position: relative;
335
335
  }
336
- `;var Da=`/* eslint-disable */
336
+ `;var ja=`/* eslint-disable */
337
337
  /**
338
338
  * @hyzyn/dsh-tty \u2014 \u9762\u677F\u6837\u5F0F\u8868\u3002
339
339
  *
@@ -1347,9 +1347,13 @@ void main() {
1347
1347
  z-index: 4; /* \u9AD8\u4E8E .tt_term(1)\u3001\u4F4E\u4E8E .tt_overlay(5)\uFF1A\u51FA\u9519\u6D6E\u5C42\u4ECD\u80FD\u76D6\u4F4F */
1348
1348
  display: flex;
1349
1349
  align-items: center;
1350
+ /* \u7A84\u7A97\u53E3\uFF080.19.0\uFF09\uFF1A\u6761\u76EE\u53EF\u6A2A\u5411\u6EDA\u52A8\u5230\u8FBE\uFF08\u6EDA\u52A8\u6761\u9690\u85CF\uFF0C\u6EDA\u8F6E/\u89E6\u63A7\u677F\u6A2A\u626B\uFF09\uFF0C
1351
+ \u4E0D\u518D\u9759\u9ED8\u88C1\u6389\u53F3\u4FA7\uFF1B\u6761\u76EE\u540C\u65F6\u5E26 title\u3002\u4E0D\u6362\u884C\u2014\u2014\u6761\u9AD8\u662F\u7EC8\u7AEF top \u504F\u79FB\u7684\u57FA\u51C6 */
1352
+ overflow-x: auto;
1353
+ overflow-y: hidden;
1354
+ scrollbar-width: none;
1350
1355
  height: var(--tt-statsbar-h);
1351
1356
  padding: 0 var(--tt-gap-lg);
1352
- overflow: hidden;
1353
1357
  white-space: nowrap;
1354
1358
  font-family: var(--tt-mono);
1355
1359
  font-size: 11px;
@@ -1358,6 +1362,9 @@ void main() {
1358
1362
  background: rgba(255, 255, 255, .04);
1359
1363
  border-bottom: 1px solid rgba(255, 255, 255, .08);
1360
1364
  }
1365
+ .tt_statsBar::-webkit-scrollbar {
1366
+ display: none;
1367
+ }
1361
1368
  /*
1362
1369
  * \u663E\u5F0F\u515C\u5E95\uFF1A\u4E0A\u9762\u7684 display:flex \u662F\u4F5C\u8005\u6837\u5F0F\uFF0C\u800C [hidden] \u7684 display:none \u6765\u81EA
1363
1370
  * UA \u8868\u2014\u2014\u65B0\u5F15\u64CE\u7528 !important \u5B9E\u73B0\uFF08\u91CF\u8FC7 bounding box \u4E3A 0\uFF09\uFF0C\u4F46\u8001\u5F15\u64CE/\u5185\u5D4C
@@ -2546,8 +2553,8 @@ void main() {
2546
2553
  transition: none !important;
2547
2554
  }
2548
2555
  }
2549
- `;var tn="\0global";function hi(e,t){return e===null?tn:typeof e=="string"&&e!==""?e:typeof t=="string"&&t!==""?t:tn}function rn(e,t){return e===tn?!0:typeof t=="string"&&t!==""&&e===t}function ru(e){let t=e?.byId;if(!(t===null||typeof t!="object"))for(let i of Object.keys(t)){let n=t[i]?.retainedBy?.mainView??0;if(typeof n=="number"&&n>0)return i}}function su(e){let t=e?.current;return typeof t=="string"&&t!==""?t:ru(e)}function Ba(e){let t=su(e);if(t===void 0)return;let i=e?.byId?.[t]?.cwd;return typeof i=="string"&&i!==""?i:void 0}var nu="/api/dsh-tty/ws";function ou(){return(location.protocol==="https:"?"wss:":"ws:")+"//"+location.host+nu}function sn(e){return String(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function au(e,t,i,n){let a=sn(i),r=sn(e);if(a===""||r==="")return"";let s=sn(t),o=["DSH_TTY",a,r];return s!==""&&s!=="22"&&o.push(s),o.push(n),o.join("_")}function bi(){return ft!==null&&typeof ft.describe=="function"?ft:null}function _i(e){let t=String(e??"").trim();return t.startsWith("env:")?t.slice(4).trim():""}function lu(){let e=new Set;for(let t of Et)for(let i of[t?.password,t?.passphrase]){let n=_i(i);n!==""&&e.add(n)}return[...e]}async function cu(){try{let t=await(await fetch("/api/dsh-tty/credential-refs",{cache:"no-store"})).json();if(t.ok&&Array.isArray(t.names))return t.names.filter(i=>typeof i=="string"&&i!=="")}catch{}return[]}async function Ka(){return[...new Set([...lu(),...await cu()])].sort()}async function Ga(e){let t=bi();if(t===null)return{error:ft===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574"};try{let i=await t.describe([e]),n=i?.ok===!0?i.value?.[e]:void 0;return n===void 0?{unreported:!0}:{view:{configured:n.configured===!0,writable:n.writable===!0,source:typeof n.source=="string"?n.source:""}}}catch(i){return{error:i instanceof Error?i.message:String(i)}}}async function hu(e,t){let i=bi();if(i===null||typeof i.set!="function")return{error:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u65E0\u6CD5\u5B58\u5165"};try{return await i.set(e,t),{value:"env:"+e}}catch(n){return{error:"\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u5931\u8D25\uFF1A"+(n instanceof Error?n.message:String(n))}}}async function Va(e){let t=bi();if(t===null||typeof t.unset!="function")return{error:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u65E0\u6CD5\u6E05\u9664"};try{return await t.unset(e),{}}catch(i){return{error:"\u6E05\u9664\u5931\u8D25\uFF1A"+(i instanceof Error?i.message:String(i))}}}async function Ya(e,t,i,n,a,r){if(e!==!0)return{};let s=String(t??"").trim();if(s===""||s.startsWith("env:"))return{};let o=au(i,n,a,r);return o===""?{error:"\u5148\u586B\u300C\u4E3B\u673A\u300D\u548C\u300C\u7528\u6237\u540D\u300D\u518D\u5B58\u5165\u2014\u2014\u5F15\u7528\u540D\u7531\u8FD9\u4E24\u8005\u6D3E\u751F"}:hu(o,s)}function Jr(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"t"+Date.now().toString(36)+Math.random().toString(36).slice(2,10)}var Pr;function Qi(){document.getElementById("dsh-tty-style")||(Pr=document.createElement("style"),Pr.id="dsh-tty-style",Pr.textContent=Da+`
2550
- `+Aa,document.head.appendChild(Pr))}var Zr='<svg viewBox="0 0 16 16" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 5l3.5 3L3 11"/><path d="M8.5 11H13"/></svg>',du='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><circle cx="7" cy="7" r="4.4"/><path d="M10.4 10.4L14 14"/></svg>',uu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2.5 4.5h11"/><path d="M6 4.5V3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5"/><path d="M4.5 4.5l.7 8.1a1 1 0 0 0 1 .9h3.6a1 1 0 0 0 1-.9l.7-8.1"/></svg>',fu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.4"/><path d="M3.5 10.5h-1v-8h8v1"/></svg>',_u='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="3" width="9" height="11" rx="1.4"/><rect x="5.5" y="1.5" width="5" height="3" rx="1" fill="var(--dsw-alias-bg-base,#fff)"/></svg>',pu='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M13.5 8a5.5 5.5 0 1 1-1.6-3.9"/><path d="M13.7 1.8v2.7H11"/></svg>',gu='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M1.8 12.8V4.2a1 1 0 0 1 1-1h3l1.4 1.6h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H2.8a1 1 0 0 1-1-1z"/></svg>',vu='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4.5 5.5L2 8l2.5 2.5"/><path d="M11.5 5.5L14 8l-2.5 2.5"/><path d="M2.8 8h10.4"/></svg>',mu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M4 8h8"/></svg>',Qr='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M4.5 4.5l7 7"/><path d="M11.5 4.5l-7 7"/></svg>',bu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M8 3.6v8.8"/><path d="M3.6 8h8.8"/></svg>',Ki='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 12.4V3.9a.9.9 0 0 1 .9-.9h2.9l1.4 1.6h5.9a.9.9 0 0 1 .9.9v6.9a.9.9 0 0 1-.9.9H2.9a.9.9 0 0 1-.9-.9z"/></svg>',Xa='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 2.6h4.4l3.6 3.6v7.2a.9.9 0 0 1-.9.9H4.9a.9.9 0 0 1-.9-.9V3.5a.9.9 0 0 1 .9-.9z"/><path d="M8.2 2.7v3.4h3.4"/></svg>',Ja='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6.4 9.6l3.2-3.2"/><path d="M9.2 4.6l1-1a2.5 2.5 0 0 1 3.5 3.5l-1 1"/><path d="M6.8 11.4l-1 1a2.5 2.5 0 0 1-3.5-3.5l1-1"/></svg>',vn='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 12.6V4.2"/><path d="M4.4 7.8L8 4.2l3.6 3.6"/></svg>',Za='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v7.2"/><path d="M5 7.4L8 10.4l3-3"/><path d="M3.4 12.8h9.2"/></svg>',wu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 10.4V3.2"/><path d="M5 6.2L8 3.2l3 3"/><path d="M3.4 12.8h9.2"/></svg>',mn='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M11.2 2.9l1.9 1.9-7.3 7.3-2.4.5.5-2.4z"/></svg>',pi='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 4.6h10"/><path d="M6.2 4.6V3.4a.8.8 0 0 1 .8-.8h2a.8.8 0 0 1 .8.8v1.2"/><path d="M4.6 4.6l.6 8a.9.9 0 0 0 .9.8h3.8a.9.9 0 0 0 .9-.8l.6-8"/></svg>',bn='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M13.2 8a5.2 5.2 0 1 1-1.5-3.7"/><path d="M13.4 2.2v2.6h-2.6"/></svg>',Qa='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 12.4V3.9a.9.9 0 0 1 .9-.9h2.9l1.4 1.6h5.9a.9.9 0 0 1 .9.9v6.9a.9.9 0 0 1-.9.9H2.9a.9.9 0 0 1-.9-.9z"/><path d="M8 6.6v3.6"/><path d="M6.2 8.4h3.6"/></svg>',el='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3.4 8h9"/><path d="M9.2 4.8L12.4 8l-3.2 3.2"/></svg>',tl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12.6 8h-9"/><path d="M6.8 4.8L3.6 8l3.2 3.2"/></svg>',Su='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3.4v9"/><path d="M4.8 9.2L8 12.4l3.2-3.2"/></svg>',Cu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2.4" y="3.2" width="11.2" height="4" rx="1.2"/><rect x="2.4" y="8.8" width="11.2" height="4" rx="1.2"/><path d="M5 5.2h.01"/><path d="M5 10.8h.01"/></svg>',yu='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 2.6l5.8 10.4H2.2z"/><path d="M8 6.4v3.2"/><path d="M8 11.6h.01"/></svg>',xu='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="5.6"/><path d="M8 7.2v3.6"/><path d="M8 5.1h.01"/></svg>',il='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="8" cy="8" r="5.6"/><path d="M6 6l4 4"/><path d="M10 6l-4 4"/></svg>',ku='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 2.8v5"/><path d="M11.6 4.6a5.2 5.2 0 1 1-7.2 0"/></svg>',rl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="5.6" cy="6" r="2.8"/><path d="M7.8 7.9l5.4 5.4"/><path d="M10.6 10.7l1.2-1.2"/></svg>',sl=null,ue=null,se=null,Wr=null,ft=null,zt=null,Kt=null,kt=null,Ni=null,Hi=null,$r=null,Ke=null,Fi=null,Ge=null,Ve=null,Ne=null,gi=null,Gi=!1,Wi=null,Oe=!1,Be=null,zr=null,wi=null,Gt=null,Ur=null,Ut=null,$i=1e3,jr="dsh-tty:tabs",ae=new Map,er=new Set,wn=()=>er.size>0,on=new Set,Pe=null,es=0,Or=!1,Ye=null,vi=null,Et=[],qr=!0,dt=null,et=null,zi=null,Eu=3e3,an=new Set;function ts(e){return an.add(e),()=>an.delete(e)}ts(({tab:e,addAction:t})=>{qt&&e.exited&&t(pu,"\u91CD\u65B0\u6253\u5F00","\u4EE5\u539F\u8FDE\u63A5\u4FE1\u606F\u91CD\u5F00\u4F1A\u8BDD",()=>Sn(e.sid))});ts(({tab:e,addAction:t})=>{qt&&t(gu,"SFTP","\u6253\u5F00\u8BE5\u8FDE\u63A5\u7684\u6587\u4EF6\u6D4F\u89C8\uFF08SFTP\uFF09",()=>rs(e.spawnSpec,e.sid))});ts(({bookName:e,addAction:t})=>{if(!qt)return;let i=e!==""?ml(e):0;i>0&&t(vu,"\u96A7\u9053 "+i,"\u67E5\u770B\u8BE5\u8FDE\u63A5\u7684\u7AEF\u53E3\u8F6C\u53D1\u96A7\u9053",n=>tf(n.currentTarget,e))});function Wt(e,t){if(zt===null)return;zt.textContent=e.split("\u2014\u2014")[0],zt.title=e,Kt.dataset.state=t,Wr!==null&&(Wr.style.display=t==="connected"?"none":""),wi!==null&&(wi.textContent=e),Gt!==null&&(Gt.dataset.state=t);let i=document.querySelector("[data-dsh-tty-entry] .tt_sidebarBadgeDot");i!==null&&(i.dataset.state=t)}function we(e){ue!==null&&ue.readyState===WebSocket.OPEN&&ue.send(JSON.stringify(e))}function Lu(e){return Number.isFinite(e)?e>=90?"danger":e>=70?"warn":"":""}function Pa(e){return!Number.isFinite(e)||e<0?"\u65E0":e<1024?Math.round(e)+" B/s":Fr(e)||"\u65E0"}function Mu(e){if(!Number.isFinite(e)||e<0)return"\u65E0";let t=Math.floor(e),i=Math.floor(t/604800),n=Math.floor(t%604800/86400),a=Math.floor(t%86400/3600),r=Math.floor(t%3600/60),s=[];return i>0&&s.push(i+"w"),(i>0||n>0)&&s.push(n+"d"),(i>0||n>0||a>0)&&s.push(a+"h"),(i>0||n>0||a>0||r>0)&&s.push(r+"m"),s.length>0?s.join(""):t+"s"}function ht(e,t,i){let n=Number.isFinite(i)?'<span class="tt_statsMeter" data-level="'+Lu(i)+'"><span class="tt_statsMeterFill" style="width:'+Math.max(0,Math.min(100,i)).toFixed(1)+'%"></span></span>':"";return'<span class="tt_statsItem"><span class="tt_statsLabel">'+e+"</span>"+n+'<span class="tt_statsValue">'+t+"</span></span>"}function Oa(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?"\u65E0":(Je(e)||"0 B")+"/"+(Je(t)||"0 B")}function nl(e,t){let i=e[t];return Number.isFinite(i)?t==="tempC"?i>-100&&i<200?i:null:t==="cores"?i>=1&&i<=4096?i:null:t==="cpuPct"||t==="memPct"||t==="diskPct"?i>=0&&i<=100?i:null:t==="uptimeSec"?i>=0&&i<=100*365*24*3600?i:null:t==="tcpConns"?i>=0&&i<=1e7?i:null:t==="rxRate"||t==="txRate"?i>=0&&i<=2**40?i:null:i>=0&&i<=2**50?i:null:null}var Ru=["cpuPct","cores","memUsed","memTotal","memPct","diskUsed","diskTotal","diskPct","uptimeSec","tcpConns","rxRate","txRate","tempC"];function Tu(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Ru.some(t=>nl(e,t)!==null)}function Au(e){let t=e!==void 0&&e.stats!==null&&typeof e.stats=="object"?e.stats:{},i=f=>nl(t,f),n=f=>{let l=i(f);return l===null?"\u65E0":Math.round(l)+"%"},a=[ht("CPU",n("cpuPct"),i("cpuPct")),ht("\u5185\u5B58",n("memPct"),i("memPct")),ht("\u78C1\u76D8",n("diskPct"),i("diskPct")),ht("\u6838\u5FC3",i("cores")===null?"\u65E0":String(i("cores")),null),ht("\u5185\u5B58",Oa(i("memUsed"),i("memTotal")),null),ht("\u5728\u7EBF",Mu(i("uptimeSec")),null),ht("TCP",i("tcpConns")===null?"\u65E0":String(i("tcpConns")),null),ht("\u78C1\u76D8",Oa(i("diskUsed"),i("diskTotal")),null),ht("CPU\u6E29\u5EA6",i("tempC")===null?"\u65E0":i("tempC").toFixed(1)+"\xB0C",null)],r=i("rxRate"),s=i("txRate"),o=r===null&&s===null?"\u65E0":"\u2193"+Pa(r)+" \u2191"+Pa(s);return a.push(ht("\u7F51\u7EDC",o,null)),a.join("")}function Du(){if(se===null||Oe||!qr)return!1;let e=Xe();return e===void 0||e.embedded===!0||e.exited===!0||e.stats===null||e.stats===void 0?!1:Date.now()-(e.statsAt||0)<=Eu}function Ia(){let e=Xe();if(!(e===void 0||e.embedded===!0||e.fit===null)){try{e.fit.fit()}catch{return}try{e.spawned&&!e.exited&&Ci(e)}catch{}}}function Vt(){try{Bu()}catch(e){console.warn("[dsh-tty] \u72B6\u6001\u6761\u6E32\u67D3\u5931\u8D25\uFF08\u5DF2\u6536\u8D77\uFF09: "+(e instanceof Error?e.message:String(e)));try{dt!==null&&(dt.hidden=!0,dt.textContent=""),Ge!==null&&delete Ge.dataset.stats}catch{}}}function Bu(){if(Ge===null||dt===null)return;let e=Du(),t=Ge.dataset.stats!==void 0!==e;if(!e){t&&delete Ge.dataset.stats,dt.hidden=!0,dt.textContent="",t&&Ia();return}dt.hidden=!1,dt.innerHTML=Au(Xe()),t&&(Ge.dataset.stats="",Ia())}function Pu(){zi===null&&(zi=setInterval(()=>Vt(),1e3))}function Ou(){zi!==null&&(clearInterval(zi),zi=null)}function ol(){if(se===null||Oe||!qr)return null;let e=Xe();return e===void 0||e.embedded===!0||e.exited===!0?null:e.sid}function tr(){let e=ol();e!==et&&(et!==null&&we({t:"statsOff",sid:et}),et=e,e!==null&&we({t:"statsOn",sid:e}))}function Iu(e){if(e!==ol()){tr();return}et!==null&&et!==e&&we({t:"statsOff",sid:et}),et=e,we({t:"statsOn",sid:e})}function Xe(){return Pe!==null?ae.get(Pe):void 0}function Na(){try{return Ba(sl?.list?.getSnapshot?.())}catch{return}}function Nu(e){if(!(e.term===null||e.exited)){try{if(e.term.buffer.active.length<=e.term.rows)return}catch{return}e.term.reset(),we({t:"refresh",sid:e.sid})}}var Ir=null;function al(e){Ir!==null&&clearTimeout(Ir),Ir=setTimeout(()=>{Ir=null;let t=Xe();t!==void 0&&Nu(t)},e??200)}function Yt(){try{let e=[...ae.values()].filter(t=>!t.exited&&t.embedded!==!0).map(t=>({sid:t.sid,spawnSpec:t.spawnSpec,label:t.label}));e.length===0||se===null?sessionStorage.removeItem(jr):sessionStorage.setItem(jr,JSON.stringify(e)),Hu([...ae.values()].filter(t=>t.embedded!==!0).map(t=>({spawnSpec:t.spawnSpec,label:t.label})))}catch{}}var ln="dsh-tty:persist-specs";function Hu(e){try{let t=e.filter(i=>rr(i.spawnSpec)).map(i=>({spawnSpec:i.spawnSpec,label:i.label}));t.length===0?localStorage.removeItem(ln):localStorage.setItem(ln,JSON.stringify(t))}catch{}}function Fu(){try{let e=localStorage.getItem(ln);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(i=>i!==null&&typeof i=="object"&&rr(i.spawnSpec)):[]}catch{return[]}}function Wu(){try{let e=sessionStorage.getItem(jr);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(i=>i!==null&&typeof i=="object"&&typeof i.sid=="string"&&i.sid!==""&&i.spawnSpec!==null&&typeof i.spawnSpec=="object"):[]}catch{return[]}}function Kr(e,t){return new Promise(i=>{let n=r=>{let s;try{s=JSON.parse(r.data)}catch{return}s.t===e&&(clearTimeout(a),ue.removeEventListener("message",n),i(s))},a=setTimeout(()=>{ue.removeEventListener("message",n),i(null)},t);ue.addEventListener("message",n)})}function Ci(e){if(e===void 0||e.fit===void 0)return;let t=e.fit.proposeDimensions();t!==void 0&&we({t:"resize",sid:e.sid,cols:t.cols,rows:t.rows})}function $u(e){if(e===void 0||e.fit===void 0)return;let t=e.term,i=t!==null&&t.buffer!==void 0?t.buffer.active:null,n=i==null?null:{atBottom:i.viewportY>=i.baseY,line:i.viewportY};try{e.fit.fit()}catch{return}if(n!==null)try{n.atBottom?t.scrollToBottom():t.scrollToLine(Math.min(n.line,t.buffer.active.baseY))}catch{}e.exited||Ci(e)}function di(e,t,i,n){if(e.overlayEl===null||e.overlayEl===void 0)return;let a=e.overlayEl;if(t===""||t===void 0){a.textContent="";return}let r=n==="error"||n==="info"?n:"exited";a.innerHTML='<div class="tt_overlayCard" data-kind="'+r+'"><span class="tt_overlayIcon">'+(r==="error"?il:r==="info"?bn:ku)+'</span><span class="tt_overlayText"><span class="tt_overlayMain"></span>'+(i===void 0||i===""?"":'<span class="tt_overlayHint"></span>')+"</span></div>",a.querySelector(".tt_overlayMain").textContent=t,i!==void 0&&i!==""&&(a.querySelector(".tt_overlayHint").textContent=i)}function zu(e,t){try{let i=getComputedStyle(document.documentElement).getPropertyValue(e).trim();return i!==""?i:t}catch{return t}}function ir(e){let t=zu("--dsw-alias-state-business-primary","#7c9cff"),i=new ja.Terminal({cursorBlink:!0,cursorStyle:"bar",cursorInactiveStyle:"outline",fontSize:13,fontFamily:'"JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace',fontWeight:400,fontWeightBold:600,lineHeight:1.35,scrollback:5e3,convertEol:!1,allowProposedApi:!0,theme:{background:"#0b0e14",foreground:"#d7dce5",cursor:t,cursorAccent:"#0b0e14",selectionBackground:"rgba(124, 156, 255, .30)",black:"#1b2028",red:"#f07178",green:"#7ec699",yellow:"#e6b673",blue:"#7aa2f7",magenta:"#c792ea",cyan:"#7fdbca",white:"#c8d0dc",brightBlack:"#556070",brightRed:"#ff8b92",brightGreen:"#9fe0b4",brightYellow:"#f5cc8c",brightBlue:"#9ab8ff",brightMagenta:"#dbb3ff",brightCyan:"#a3f0e2",brightWhite:"#eef2f8"}}),n=new qa.FitAddon,a=new oo;i.loadAddon(n),i.loadAddon(a),i.loadAddon(new ao);let r=document.createElement("div");r.className="tt_term";let s=document.createElement("div");s.className="tt_overlay",s.addEventListener("click",()=>{s.textContent="",Sn(e.sid)}),r.appendChild(s),i.open(r);try{n.fit()}catch{}try{let o=new Ta;o.onContextLoss(()=>{try{o.dispose()}catch{}}),i.loadAddon(o)}catch{}i.onData(o=>{we({t:"input",sid:e.sid,d:o})}),i.onResize(()=>{rr(e.spawnSpec)&&al(200)}),i.attachCustomKeyEventHandler(o=>e.embedded===!0?!0:(o.ctrlKey||o.metaKey)&&o.key.toLowerCase()==="f"?(o.preventDefault(),Ml(),!1):!0),e.term=i,e.fit=n,e.search=a,e.termEl=r,e.overlayEl=s}function Ha(e){return e===null||typeof e!="object"?"":["t","name","host","port","username","command","cwd","persist","persistName"].map(i=>i+"="+String(e[i]??"")).join("\0")}function Uu(e){let t=Ha(e);if(t==="")return null;for(let i of ae.values())if(i.exited!==!0&&i.embedded!==!0&&Ha(i.spawnSpec)===t)return i;return null}function Vi(e,t){let i=Jr(),n={sid:i,term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e??gf(),label:t};return ir(n),ae.set(i,n),es+=1,pt(),Jt(i),is(n),Yt(),n}function ju(e){let t={sid:e.sid,term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e.spawnSpec,label:typeof e.label=="string"?e.label:void 0};ir(t),ae.set(t.sid,t),es+=1,pt(),Jt(t.sid),we({t:"attach",sid:t.sid})}function is(e){let t=e.fit!==null?e.fit.proposeDimensions():void 0,i={...e.spawnSpec,sid:e.sid,cols:t!==void 0?t.cols:80,rows:t!==void 0?t.rows:24};if(ue===null||ue.readyState!==WebSocket.OPEN){on.add({tab:e,frame:i});return}we(i)}function Fa(e){let t={sid:Jr(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e.spawnSpec,label:typeof e.label=="string"?e.label:void 0};ir(t),ae.set(t.sid,t),es+=1,pt(),Jt(t.sid),is(t)}function Sn(e){let t=ae.get(e);if(t===void 0)return;if(t.embedded===!0){dl(t);return}let i=t.spawnSpec,n=t.label;if(t.exited||we({t:"kill",sid:e}),t.term!==null)try{t.term.dispose()}catch{}t.termEl!==null&&t.termEl.remove(),ae.delete(e);let a={sid:Jr(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:i,label:n};ir(a),ae.set(a.sid,a),pt(),Jt(a.sid),is(a),Yt()}function qu(e){let t=ae.get(e);if(t!==void 0){if(tt!==null&&tt.ownerKey===e&&ji(!0),t.exited||we({t:"kill",sid:e}),ae.delete(e),er.delete(e),t.term!==null)try{t.term.dispose()}catch{}if(t.termEl!==null&&t.termEl.remove(),Pe===e){Pe=null;let i=[...ae.keys()].pop()??null;i!==null&&Jt(i)}pt(),[...ae.values()].some(i=>i.embedded!==!0)?Yt():Zi()}}function ll(e){let t=typeof e?.command=="string"?e.command.trim():"";if(t==="")throw new Error("ttyTerminal \u9700\u8981 command");if(/[\r\n\0]/.test(t))throw new Error("command \u5FC5\u987B\u662F\u5355\u884C");return t}function cl(e,t){return typeof e?.book=="string"&&e.book!==""?{t:"ssh",name:e.book,command:t}:e?.spec!==null&&typeof e?.spec=="object"?{t:"ssh",...e.spec,command:t}:{t:"spawn",...typeof e?.cwd=="string"&&e.cwd!==""?{cwd:e.cwd}:{},command:t}}function Ku(e){let t=e.controller;t===void 0||t.observer!==null||(t.observer=new ResizeObserver(()=>{if(!(t.disposed||t.tab!==e||e.term===null)){try{e.fit.fit()}catch{return}e.spawned&&!e.exited&&Ci(e)}}),t.observer.observe(t.hostEl))}function hl(e,t,i){let n={sid:Jr(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,embedded:!0,controller:e,spawnSpec:t,label:i};return ir(n),ae.set(n.sid,n),er.add(n.sid),e.hostEl.appendChild(n.termEl),Ku(n),is(n),n}function dl(e){let t=e.controller;if(!(t===void 0||t.disposed)){e.exited||we({t:"kill",sid:e.sid});try{e.term?.dispose()}catch{}return e.termEl?.remove(),ae.delete(e.sid),er.delete(e.sid),t.observer!==null&&(t.observer.disconnect(),t.observer=null),t.tab=hl(t,e.spawnSpec,e.label),t.tab}}function Gu(e,t){if(!(e instanceof HTMLElement))throw new Error("ttyTerminal.mount \u9700\u8981 HTMLElement \u4F5C\u4E3A\u6302\u8F7D\u70B9");let i=ll(t),n=cl(t,i),a=typeof t?.label=="string"&&t.label!==""?t.label:void 0;Qi();let r={hostEl:e,tab:null,observer:null,disposed:!1};return r.tab=hl(r,n,a),vf(),()=>Vu(r)}function Vu(e){if(e.disposed)return;e.disposed=!0,e.observer!==null&&(e.observer.disconnect(),e.observer=null);let t=e.tab;if(t!==null){t.exited||we({t:"kill",sid:t.sid});try{t.term?.dispose()}catch{}t.termEl?.remove(),ae.delete(t.sid),er.delete(t.sid),e.tab=null}if(se===null&&!wn()&&ue!==null){Gi=!0;try{ue.close()}catch{}ue=null}}var Yu=460,Xu=280,Ju=320,Zu=160,tt=null,ui=Yu,fi=Ju;function Cn(){let e=se!==null?se.querySelector(".tt_modal"):null,t=e!==null?e:se;return t!==null?t.getBoundingClientRect():null}var yn=e=>e==="bottom"?Zu:Xu;function Qu(e){let t=Cn();if(t===null)return 900;let i=e==="bottom"?t.height:t.width;return Math.max(yn(e),Math.round(i*.72))}function Ui(e,t){return Math.min(Qu(e),Math.max(yn(e),Math.round(t)))}function Nr(){let e=tt;if(e!==null){if(e.collapsed){e.el.style.width="",e.el.style.height="",e.el.style.flexBasis="";return}if(e.side==="bottom"){fi=Ui("bottom",fi),e.el.style.width="",e.el.style.height=String(fi)+"px",e.el.style.flexBasis=String(fi)+"px";return}ui=Ui("right",ui),e.el.style.height="",e.el.style.width=String(ui)+"px",e.el.style.flexBasis=String(ui)+"px"}}function ji(e){let t=tt;if(t!==null){if(tt=null,t.disposed=!0,e&&t.onClose!==null)try{t.onClose()}catch(i){console.warn("[dsh-tty] ttyPanel.onClose \u629B\u9519\uFF1A"+(i instanceof Error?i.message:String(i)))}try{t.el.remove()}catch{}Ve!==null&&delete Ve.dataset.side}}function ul(e){if(gn(),Ve===null)throw new Error("ttyPanel.mountPane\uFF1A\u7EC8\u7AEF\u9762\u677F\u672A\u5C31\u7EEA");tt!==null&&ji(!0),Qi();let t=hi(e?.ownerSid,Pe),i=e?.side==="bottom"?"bottom":"right",n=Math.max(i==="bottom"?120:200,Math.round(typeof e?.min=="number"&&Number.isFinite(e.min)?e.min:yn(i)));if(typeof e?.size=="number"&&Number.isFinite(e.size)){let c=Ui(i,e.size);i==="bottom"?fi=c:ui=c}let a=document.createElement("div");a.className="tt_dockPane",a.dataset.side=i,Ve.dataset.side=i,a.innerHTML='<div class="tt_dockPaneResize" title="'+(i==="bottom"?"\u62D6\u52A8\u8C03\u6574\u9AD8\u5EA6":"\u62D6\u52A8\u8C03\u6574\u5BBD\u5EA6")+'"></div><div class="tt_dockPaneHead"><span class="tt_dockPaneTitle"></span><span class="tt_dockPaneHint"></span><span class="tt_dockPaneSpacer"></span><button class="tt_dockPaneFold" type="button"></button><button class="tt_dockPaneClose" type="button" title="\u5173\u95ED\u4FA7\u680F">'+Qr+'</button></div><div class="tt_dockPaneBody"></div>',Ve.appendChild(a);let r=a.querySelector(".tt_dockPaneTitle"),s=a.querySelector(".tt_dockPaneHint"),o=a.querySelector(".tt_dockPaneBody"),f=a.querySelector(".tt_dockPaneFold"),l=a.querySelector(".tt_dockPaneClose"),p=a.querySelector(".tt_dockPaneResize"),g={el:a,element:o,disposed:!1,collapsed:!1,side:i,minSize:n,ownerKey:t,onClose:typeof e?.onClose=="function"?e.onClose:null},S=()=>i==="bottom"?g.collapsed?vn:Su:g.collapsed?tl:el,_=c=>{g.collapsed=c===!0,g.collapsed?a.dataset.collapsed="1":delete a.dataset.collapsed,f.innerHTML=S(),f.title=g.collapsed?"\u5C55\u5F00\u4FA7\u680F":"\u6536\u8D77\u4FA7\u680F",f.setAttribute("aria-label",f.title),Nr()};return g.setTitle=c=>{r.textContent=typeof c=="string"?c:""},g.setHint=c=>{s.textContent=typeof c=="string"?c:""},g.isCollapsed=()=>g.collapsed===!0,g.collapse=()=>_(!0),g.expand=()=>_(!1),g.toggle=()=>_(!g.collapsed),g.dispose=()=>{g.disposed||tt!==g||ji(!1)},p.addEventListener("mousedown",c=>{if(c.button!==0||g.collapsed)return;c.preventDefault();let d=c.clientX,h=c.clientY,u=a.getBoundingClientRect(),v=b=>{i==="bottom"?fi=Ui("bottom",Math.max(n,u.height+(h-b.clientY))):ui=Ui("right",Math.max(n,u.width+(d-b.clientX))),Nr()},C=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",C),document.body.style.userSelect=""};document.body.style.userSelect="none",document.addEventListener("mousemove",v),document.addEventListener("mouseup",C)}),p.addEventListener("dblclick",()=>_(!g.collapsed)),f.addEventListener("click",()=>_(!g.collapsed)),l.addEventListener("click",()=>ji(!0)),g.setTitle(typeof e?.title=="string"?e.title:""),g.setHint(typeof e?.hint=="string"?e.hint:""),_(e?.collapsed===!0),tt=g,Nr(),fl(),g}function fl(){let e=tt;if(e!==null){if(rn(e.ownerKey,Pe)){delete e.el.dataset.dockHidden,Ve!==null&&(Ve.dataset.side=e.side);return}e.el.dataset.dockHidden="1",Ve!==null&&delete Ve.dataset.side}}function Jt(e){let t=ae.get(e);if(t!==void 0){Pe=e;for(let[i,n]of ae)n.embedded!==!0&&n.termEl!==null&&(n.termEl.style.display=i===e?"":"none");t.embedded!==!0&&Ge!==null&&t.termEl!==null&&t.termEl.parentElement!==Ge&&Ge.appendChild(t.termEl),tr(),Vt(),pt(),jt(),fl();try{t.fit.fit()}catch{}t.spawned&&!t.exited&&Ci(t),di(t,t.exited?"\u4F1A\u8BDD\u5DF2\u9000\u51FA":"",t.exited?"\u70B9\u51FB\u91CD\u65B0\u6253\u5F00":"","exited")}}function nn(e){if(kt===null)return;let t=ae.get(e);if(t===void 0)return;let n=kt.querySelector(`[data-sid="${e}"]`)?.querySelector(".tt_tabDot");n!=null&&(n.dataset.state=t.exited?"exited":t.live===!0?"connected":t.errored===!0?"error":"connecting")}function pt(){if(kt===null)return;kt.textContent="";for(let[i,n]of ae){if(n.embedded===!0)continue;let a=document.createElement("button");a.className="tt_tab",a.dataset.sid=i,i===Pe&&(a.dataset.active="");let r=document.createElement("span");r.className="tt_tabDot",r.dataset.state=n.exited?"exited":n.live===!0?"connected":n.errored===!0?"error":"connecting",a.appendChild(r);let s=document.createElement("span");s.className="tt_tabLabel",s.textContent=n.label||"\u7EC8\u7AEF "+_l(i),s.addEventListener("dblclick",f=>{f.stopPropagation(),rf(i,a)});let o=document.createElement("span");o.className="tt_tabClose",o.title="\u5173\u95ED",o.textContent="\u2715",a.title=s.textContent,a.appendChild(s),a.appendChild(o),a.addEventListener("click",f=>{if(f.target.closest(".tt_tabClose")!==null){f.stopPropagation(),qu(i);return}Jt(i)}),kt.appendChild(a)}let e=kt.querySelector("[data-active]");e!==null&&typeof e.scrollIntoView=="function"&&e.scrollIntoView({block:"nearest",inline:"nearest"});let t=document.createElement("button");t.className="tt_tabAdd",t.title="\u65B0\u5EFA\uFF08\u672C\u5730 / SSH\uFF09",t.innerHTML=bu,t.addEventListener("click",()=>{af(t)}),kt.appendChild(t)}function ef(e){return e?.direction==="remote"?`\u8FDC\u7A0B:${e.remoteHost||"127.0.0.1"}:${String(e.remotePort??0)} \u2192 \u672C\u673A:${String(e.localTargetPort??0)}`:`\u672C\u673A:${String(e?.localPort??0)} \u2192 ${e?.remoteHost??"?"}:${String(e?.remotePort??0)}`}function jt(){if(Ni===null||$r===null||Fi===null||Hi===null)return;Fi.textContent="";let e=Xe(),t=e?.spawnSpec??{};if(e===void 0||t.t!=="ssh"){Ni.dataset.hidden="";return}delete Ni.dataset.hidden;let i=Number(t.port);$r.textContent=typeof e.target=="string"&&e.target!==""?e.target:typeof t.name=="string"&&t.name!==""?t.name:String(t.username??"")+"@"+String(t.host??"")+(Number.isInteger(i)&&i!==22?":"+i:""),Ke!==null&&(e.persistTmux===!0?(Ke.textContent="tmux",Ke.dataset.state="ok",Ke.title="\u5DF2\u7531 tmux \u6258\u7BA1 \u2014 \u65AD\u7EBF / \u5BBF\u4E3B\u91CD\u542F\u540E\u6309\u540D\u63A5\u56DE\u73B0\u573A"):t.persist===!0&&e.spawned===!0?(Ke.textContent="\u672A\u6301\u4E45\u5316",Ke.dataset.state="warn",Ke.title="\u8BF7\u6C42\u4E86\u6301\u4E45\u4F1A\u8BDD\uFF0C\u4F46 tmux \u4E0D\u53EF\u7528 \u2014 \u5F53\u524D\u4E3A\u666E\u901A\u4F1A\u8BDD"):(Ke.textContent="",delete Ke.dataset.state,Ke.removeAttribute("title")));let n=e.exited?"exited":e.live===!0?"connected":e.errored===!0?"error":"connecting";Hi.dataset.state=n,Hi.title=n==="connected"?"\u5DF2\u8FDE\u63A5":n==="connecting"?"\u8FDE\u63A5\u4E2D":n==="error"?"\u8FDE\u63A5\u51FA\u9519":"\u4F1A\u8BDD\u5DF2\u9000\u51FA";let a=(s,o,f,l)=>{let p=document.createElement("button");p.type="button",p.className="tt_toolBtn tt_connAct",p.title=f,p.innerHTML=s+"<span></span>",p.lastElementChild.textContent=o,p.addEventListener("click",l),Fi.appendChild(p)};if(typeof t.command=="string"&&t.command!=="")return;let r=typeof t.name=="string"?t.name:"";for(let s of an)try{s({tab:e,spec:t,bookName:r,addAction:a})}catch(o){console.warn("[dsh-tty] connbar action failed: "+(o instanceof Error?o.message:String(o)))}}var $t=null,Hr=null;function cn(){Hr!==null&&(document.removeEventListener("mousedown",Hr,!0),Hr=null),$t!==null&&($t.remove(),$t=null)}function tf(e,t){if($t!==null){cn();return}let i=document.createElement("div");i.className="tt_tunnelPop";let n=document.createElement("div");n.className="tt_tunnelPopTitle",n.textContent="\u7AEF\u53E3\u8F6C\u53D1 \u2014 "+t,i.appendChild(n);let a=document.createElement("div");a.textContent="\u52A0\u8F7D\u4E2D\u2026",i.appendChild(a);let r=document.createElement("span");r.className="tt_cardHint",r.textContent="\u589E\u5220/\u542F\u505C\u5728 \u63D2\u4EF6\u914D\u7F6E \u2192 \u7EC8\u7AEF\u9762\u677F \u7684\u7AEF\u53E3\u8F6C\u53D1\u533A\u5757\u7EF4\u62A4",i.appendChild(r),document.body.appendChild(i),$t=i;let s=e.getBoundingClientRect();i.style.top=String(s.bottom+6)+"px",i.style.left=String(Math.max(8,s.right-340))+"px";let o=f=>{$t===i&&(i.contains(f.target)||e.contains(f.target)||cn())};Hr=o,setTimeout(()=>document.addEventListener("mousedown",o,!0),0),(async()=>{let f=[];try{let g=await(await fetch("/api/dsh-tty/tunnels",{cache:"no-store"})).json();g.ok&&Array.isArray(g.tunnels)&&(f=g.tunnels)}catch{}if($t!==i)return;a.textContent="";let l=xn.filter(p=>p?.bookName===t&&p?.enabled!==!1);if(l.length===0){let p=document.createElement("span");p.className="tt_cardHint",p.textContent="\u8BE5\u8FDE\u63A5\u6682\u65E0\u542F\u7528\u7684\u96A7\u9053",a.appendChild(p);return}for(let p of l){let g=f.find(h=>h?.name===p?.name),S=g?.state??"stopped",_=document.createElement("div");_.className="tt_tunnelPopRow";let c=document.createElement("span");c.className="tt_connDot",c.dataset.state=S==="active"?"connected":S==="error"?"error":"connecting";let d=document.createElement("span");d.className="tt_connTarget",d.title=String(g?.error??g?.lastForwardError??""),d.textContent=ef(p)+" \xB7 "+S,_.appendChild(c),_.appendChild(d),a.appendChild(_)}})()}function _l(e){let t=1;for(let i of ae.keys()){if(i===e)return String(t);t+=1}return String(t)}function rf(e,t){let i=ae.get(e);if(i===void 0||t.querySelector(".tt_tabRename")!==null)return;let n=t.querySelector(".tt_tabLabel");if(n===null)return;let a=document.createElement("input");a.className="tt_tabRename",a.value=i.label||"\u7EC8\u7AEF "+_l(e),n.replaceWith(a),a.focus(),a.select();let r=!1,s=()=>{if(r)return;r=!0;let f=a.value.trim();i.label=f!==""?f:void 0,pt(),Yt()},o=()=>{r||(r=!0,pt())};a.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?s():f.key==="Escape"&&o()}),a.addEventListener("blur",s),a.addEventListener("click",f=>f.stopPropagation())}var xn=[],pl="dialog",Ot="off",It={maxDownloadMb:1024,maxUploadMb:2048,maxUploadFiles:1e3},mi=null,Pt=null,Gr=null,qt=!1;function gl(e){qt=e,Gr!==null&&Gr.set(e)}function sf(e){gl(!(e!==null&&typeof e=="object"&&e.enabled===!1)),e!==null&&typeof e=="object"&&typeof e.statsEnabled=="boolean"&&e.statsEnabled!==qr&&(qr=e.statsEnabled,tr(),Vt())}function Yi(e){sf(e),e!==null&&typeof e=="object"&&Array.isArray(e.sshHosts)&&(Et=e.sshHosts),e!==null&&typeof e=="object"&&Array.isArray(e.tunnels)&&(xn=e.tunnels),e!==null&&typeof e=="object"&&(e.sftpStyle==="dual"||e.sftpStyle==="dialog")&&(pl=e.sftpStyle),e!==null&&typeof e=="object"&&(e.persistence==="tmux"||e.persistence==="off")&&(Ot=e.persistence),e!==null&&typeof e=="object"&&typeof e.sftpLimits=="object"&&e.sftpLimits!==null&&(It={...It,...e.sftpLimits}),e!==null&&typeof e=="object"&&Number.isInteger(e.maxSessions)&&e.maxSessions>=1&&(mi=e.maxSessions)}function nf(e,t){let i=t==="error"||t==="info"?t:"warn",n=document.createElement("div");n.className="tt_toast",n.dataset.kind=i,n.innerHTML='<span class="tt_toastIcon">'+(i==="error"?il:i==="info"?xu:yu)+'</span><span class="tt_toastText"></span>',n.lastElementChild.textContent=e,document.body.appendChild(n),setTimeout(()=>n.remove(),4e3)}async function vl(){try{we({t:"sessions"});let e=await Kr("sessions",3e3);if(e!==null&&Array.isArray(e.list))return Pt=e.list.length,Pt}catch{}return null}async function Vr(){if(await vl(),mi===null||Pt===null||Pt<mi)return null;let e=[...ae.values()].filter(n=>!n.exited).length,t=Math.max(0,Pt-e),i=`\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\uFF08\u5171 ${Pt} \u4E2A / \u4E0A\u9650 ${mi}\uFF1A\u672C\u7A97\u53E3 ${e} \u4E2A${t>0?" + \u5176\u4ED6\u7A97\u53E3 "+t+" \u4E2A":""}\uFF09\u2014\u2014\u5173\u95ED\u4E0D\u7528\u7684\u7A97\u53E3/\u6807\u7B7E\uFF0C\u6216\u5728\u8BBE\u7F6E\u5361\u7247\u8C03\u5927\u300C\u5E76\u53D1\u4F1A\u8BDD\u4E0A\u9650\u300D`;return nf(i),i}function of(){return mi!==null&&Pt!==null&&Pt>=mi}function kn(){return Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4)}function ml(e){return xn.filter(t=>t?.bookName===e&&t?.enabled!==!1).length}function hn(e){let t=Number(e?.port),i=Number.isInteger(t)&&t!==22?":"+t:"",n=e?.auth==="key"?"key":e?.auth==="password"?"password":"agent",a=e?.agentForward===!0?" \xB7 fwd":"";return String(e?.username??"")+"@"+String(e?.host??"")+i+" \xB7 "+n+a}async function dn(e,t){let i=await fetch("/api/dsh-tty/probe",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e,bookRecord:t===!0})}),n=await i.json().catch(()=>({}));return n&&n.ok===!1&&n.error?{error:String(n.error)}:n&&n.result?{result:n.result}:{error:String(n&&n.error?n.error:"\u8FDE\u63A5\u6D4B\u8BD5\u5931\u8D25\uFF08HTTP "+i.status+"\uFF09")}}function un(e,t){if(!e)return"\u8FDE\u63A5\u6D4B\u8BD5\u2026";let i=e,n=typeof i.tcp?.ms=="number"?i.tcp.ms:null,a=typeof i.auth?.ms=="number"?i.auth.ms:null,r=[];i.tcp?.ok&&r.push("TCP "+(n!==null?n+"ms":"\u901A")),i.banner?.ok&&r.push("banner \u6B63\u5E38");let s=i.hostkey?.state;if(s==="matched"?r.push("\u4E3B\u673A\u5BC6\u94A5\u5339\u914D"):s==="recorded"?r.push("\u4E3B\u673A\u5BC6\u94A5\u5DF2\u8BB0\u5F55\uFF08TOFU\uFF09"):s==="mismatch"&&r.push("\u4E3B\u673A\u5BC6\u94A5\u4E0D\u5339\u914D\uFF01"),i.auth?.ok)return"\u2705 \u8FDE\u63A5\u6210\u529F\uFF1A"+(a!==null?"\u8BA4\u8BC1\u901A\u8FC7\uFF08"+a+"ms\uFF09":"\u8BA4\u8BC1\u901A\u8FC7")+(r.length?" \xB7 "+r.join(" \xB7 "):"");let o=i.auth?.error||i.tcp?.error||"\u672A\u77E5\u9519\u8BEF";return(t?.prefix||"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A")+o+(r.length?" \xB7 "+r.join(" \xB7 "):"")}async function En(){try{let t=await(await fetch("/api/dsh-tty/config",{cache:"no-store"})).json();if(t.ok&&typeof t.config=="object"&&t.config!==null){let i=Et;Yi(t.config),Ye!==null&&Et!==i&&fn(Ye)}}catch{}}function bl(e){Ye!==null&&(e.target instanceof Element&&(Ye.contains(e.target)||e.target.closest(".tt_tabAdd")!==null)||ut())}function af(e){if(Ye!==null){ut();return}En(),vl().then(()=>{Ye!==null&&fn(Ye)});let t=document.createElement("div");t.className="tt_addMenu",Ye=t,fn(t),document.body.appendChild(t);let i=e.getBoundingClientRect(),n=t.offsetWidth,r=i.left+n>window.innerWidth-8?i.right-n:i.left;t.style.left=Math.max(8,Math.min(r,window.innerWidth-n-8))+"px",t.style.top=i.bottom+6+"px",document.addEventListener("mousedown",bl,!0)}function ut(){Ye!==null&&(document.removeEventListener("mousedown",bl,!0),Ye.remove(),Ye=null)}function Wa(e,t,i,n,a,r){let s=document.createElement("button");if(s.type="button",s.className="tt_addMenuItem",a===!0&&(s.setAttribute("data-soldout",""),s.title="\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\u2014\u2014\u70B9\u51FB\u67E5\u770B\u600E\u4E48\u529E"),r!==void 0){let l=document.createElement("span");l.className="tt_addMenuIcon",l.innerHTML=r,s.appendChild(l)}let o=document.createElement("span");o.className="tt_addMenuText";let f=document.createElement("span");if(f.className="tt_addMenuMain",f.textContent=t,o.appendChild(f),i!==""){let l=document.createElement("span");l.className="tt_addMenuSub",l.textContent=i,o.appendChild(l)}s.appendChild(o),s.addEventListener("click",n),e.appendChild(s)}function fn(e){e.textContent="";let t=of();Wa(e,"\u672C\u5730\u7EC8\u7AEF",Ot==="tmux"?"tmux \u6258\u7BA1 \xB7 \u5BBF\u4E3B\u91CD\u542F\u540E\u53EF\u6062\u590D":"\u5728\u5F53\u524D\u4F1A\u8BDD\u5DE5\u4F5C\u76EE\u5F55\u6253\u5F00",async()=>{await Vr()||(ut(),Vi())},t,Zr);let i=document.createElement("div");i.className="tt_addMenuSep",e.appendChild(i);let n=document.createElement("div");n.className="tt_addMenuTitle",n.textContent="SSH \u8FDE\u63A5\u7C3F",e.appendChild(n);for(let r of Et){if(r===null||typeof r!="object"||typeof r.name!="string"||r.name==="")continue;let s=document.createElement("div");s.className="tt_addMenuRow";let o=document.createElement("button");o.type="button",o.className="tt_addMenuItem",t&&(o.setAttribute("data-soldout",""),o.title="\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\u2014\u2014\u70B9\u51FB\u67E5\u770B\u600E\u4E48\u529E");let f=document.createElement("span");f.className="tt_addMenuIcon",f.innerHTML=Cu;let l=document.createElement("span");l.className="tt_addMenuText";let p=document.createElement("span");p.className="tt_addMenuMain",p.textContent=r.name;let g=document.createElement("span");g.className="tt_addMenuSub";let S=ml(r.name);g.textContent=hn(r)+(S>0?" \xB7 \u21C4"+String(S):""),l.appendChild(p),l.appendChild(g),o.appendChild(f),o.appendChild(l),o.addEventListener("click",async()=>{if(await Vr())return;ut();let d=Ot==="tmux"&&r.persist!==!1?{persist:!0,persistName:kn()}:{};Vi({t:"ssh",name:r.name,...d},r.name)});let _=document.createElement("button");_.type="button",_.className="tt_addMenuEdit",_.title="SFTP \u6587\u4EF6\u6D4F\u89C8",_.innerHTML=Ki,_.addEventListener("click",()=>{ut(),rs({name:r.name})});let c=document.createElement("button");c.type="button",c.className="tt_addMenuEdit",c.title="\u7F16\u8F91\u8FDE\u63A5",c.innerHTML=mn,c.addEventListener("click",()=>{ut(),$a(r)}),s.appendChild(o),s.appendChild(_),s.appendChild(c),e.appendChild(s)}if(Et.length===0){let r=document.createElement("div");r.className="tt_addMenuTitle",r.textContent="\uFF08\u7A7A \u2014 \u5728\u8BBE\u7F6E\u5361\u7247\u6216\u300CSSH \u8FDE\u63A5\u2026\u300D\u91CC\u4FDD\u5B58\uFF09",e.appendChild(r)}let a=document.createElement("div");a.className="tt_addMenuSep",e.appendChild(a),Wa(e,"SSH \u8FDE\u63A5\u2026","\u624B\u52A8\u586B\u5199\u4E3B\u673A / \u7528\u6237 / \u8BA4\u8BC1\u65B9\u5F0F",()=>{ut(),$a()},!1,rl)}function $a(e){if(vi!==null)return;let t=e!==null&&typeof e=="object"?e:null,i=t!==null,n=document.createElement("div");n.className="tt_sshBackdrop";let a=document.createElement("div");a.className="tt_sshCard";let r=document.createElement("div");r.className="tt_sshTitle",r.innerHTML=rl+"<span></span>",r.lastElementChild.textContent=i?"\u7F16\u8F91\u8FDE\u63A5 \xB7 "+String(t.name??""):"SSH \u8FDE\u63A5",a.appendChild(r);let s=N=>{let x=document.createElement("div");return x.className="tt_sshSection",x.textContent=N,x},o={},f=(N,x,I)=>{let O=document.createElement("label");O.className="tt_sshRow";let U=document.createElement("span");U.className="tt_cardLabel",U.textContent=x,O.appendChild(U);let z;if(I?.select!==void 0){z=document.createElement("select");for(let X of I.select){let Q=document.createElement("option");Q.value=X.value,Q.textContent=X.label,z.appendChild(Q)}}else z=document.createElement("input"),z.type=I?.type??"text",z.placeholder=I?.placeholder??"";return z.className="tt_cardInput",z.autocomplete="off",z.spellcheck=!1,O.appendChild(z),o[N]=z,O};a.appendChild(s("\u8FDE\u63A5"));let l=document.createElement("div");l.className="tt_sshGrid",l.appendChild(f("host","\u4E3B\u673A",{placeholder:"example.com \u6216 IP"})),l.appendChild(f("port","\u7AEF\u53E3",{placeholder:"22"})),a.appendChild(l),a.appendChild(f("username","\u7528\u6237\u540D",{placeholder:"root"})),a.appendChild(s("\u8BA4\u8BC1")),a.appendChild(f("auth","\u8BA4\u8BC1\u65B9\u5F0F",{select:[{value:"agent",label:"agent \u2014 \u4F7F\u7528\u672C\u673A ssh-agent"},{value:"key",label:"key \u2014 \u79C1\u94A5\u6587\u4EF6"},{value:"password",label:"password \u2014 \u5BC6\u7801"}]}));let p=f("keyPath","\u79C1\u94A5\u8DEF\u5F84",{placeholder:"~/.ssh/id_ed25519"}),g=f("passphrase","\u79C1\u94A5\u53E3\u4EE4\uFF08\u53EF\u7A7A\uFF09",{type:"password"}),S=f("password","\u5BC6\u7801",{type:"password"}),_=(N,x)=>{let I=document.createElement("div");I.className="tt_sshRow tt_envRow";let O=document.createElement("input");O.type="text",O.className="tt_cardInput",O.placeholder="\u6216\uFF1A\u9009\u62E9\u51ED\u636E\u5B58\u50A8\u91CC\u7684\u5F15\u7528\u540D",O.title="\u5019\u9009 = \u51ED\u636E\u5B58\u50A8\u91CC\u5DF2\u6709\u7684\u5F15\u7528\u540D + \u672C\u673A\u8FDE\u63A5\u7C3F\u91CC\u5728\u7528\u7684\u5F15\u7528\u540D",O.autocomplete="off",O.spellcheck=!1;let U=document.createElement("span");U.className="tt_cardHint tt_envEmpty",U.textContent=x,U.hidden=!0,O.hidden=!0;let z=document.createElement("div");z.className="tt_envList",z.dataset.hidden="";let X=[],Q=()=>{if(z.textContent="",X.length===0){let K=document.createElement("span");K.className="tt_cardHint",K.textContent=x,z.appendChild(K);return}let ie=O.value.trim().toUpperCase(),te=ie===""?X:X.filter(K=>K.toUpperCase().includes(ie));for(let K of te.slice(0,30)){let Z=document.createElement("button");Z.type="button",Z.className="tt_envItem",Z.textContent=K;let re="env:"+K,le=null,he=()=>{le!==null&&(clearTimeout(le),le=null),Z.textContent=K,delete Z.dataset.danger};Z.addEventListener("mousedown",Se=>Se.preventDefault()),Z.addEventListener("click",()=>{let Se=N.value;if(Se===""||Se.startsWith("env:")||le!==null){he(),N.value=re,N.focus(),N.dispatchEvent(new Event("change"));return}Z.textContent=K+"\uFF08\u518D\u70B9\u8986\u76D6\u5DF2\u586B\uFF09",Z.dataset.danger="",le=setTimeout(he,4e3)}),z.appendChild(Z)}if(te.length>30){let K=document.createElement("span");K.className="tt_envMore",K.textContent="\u8FD8\u6709 "+(te.length-30)+" \u4E2A \u2014 \u7EE7\u7EED\u8F93\u5165\u7B5B\u9009",z.appendChild(K)}else if(te.length===0){let K=document.createElement("span");K.className="tt_envMore",K.textContent="\u6CA1\u6709\u5339\u914D\u7684\u5F15\u7528",z.appendChild(K)}};return O.addEventListener("input",Q),O.addEventListener("focus",()=>{X.length>0&&delete z.dataset.hidden}),O.addEventListener("blur",()=>{O.value.trim()===""&&(z.dataset.hidden="")}),I.appendChild(O),I.appendChild(U),I.appendChild(z),{row:I,setNames(ie){X=Array.isArray(ie)?ie:[];let te=X.length>0;O.hidden=!te,U.hidden=te,Q()}}},c=(N,x)=>{let I=document.createElement("div");I.className="tt_sshRow tt_credRow";let O=document.createElement("label");O.className="tt_credToggle";let U=document.createElement("input");U.type="checkbox",U.className="tt_cardCheckbox";let z=document.createElement("span");z.textContent="\u4FDD\u5B58\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8",O.appendChild(U),O.appendChild(z),U.checked=ft!==null,O.title="\u52FE\u9009\u540E\uFF0C\u70B9\u300C\u4FDD\u5B58\u4FEE\u6539\u300D\u6216\u300C\u8FDE\u63A5\uFF08\u5E76\u4FDD\u5B58\uFF09\u300D\u65F6\u628A\u5BC6\u7801\u5199\u8FDB\u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF0C\u5B57\u6BB5\u91CC\u53EA\u7559 env: \u5F15\u7528\uFF08\u503C\u5728 ~/.dsh/.credentials.yaml\uFF0C\u4E0D\u8FDB\u73AF\u5883\u3001\u4E0D\u56DE\u4F20\u6D4F\u89C8\u5668\uFF1B\u6321\u4E0D\u4F4F\u540C\u7528\u6237\u8FDB\u7A0B\u4E0E agent\uFF09\u3002\u4E0D\u52FE\u9009\u5219\u6309\u73B0\u72B6\u660E\u6587\u5199\u8FDB\u8BBE\u7F6E\u6587\u4EF6\u3002\u80FD\u7528\u5BC6\u94A5 / agent \u5C31\u522B\u5B58\u5BC6\u7801\u3002";let X=document.createElement("button");X.type="button",X.className="tt_toolBtn tt_credClear",X.textContent="\u6E05\u9664\u5DF2\u5B58\u51ED\u636E",X.dataset.hidden="";let Q=document.createElement("span");Q.className="tt_credStatus",I.appendChild(O),I.appendChild(X),I.appendChild(Q);let ie=(Z,re)=>{Q.textContent=Z,Q.dataset.kind=re},te=async()=>{let Z=_i(N.value),re=Z!=="";if(O.hidden=re,X.hidden=!re,Q.hidden=!1,bi()===null){U.disabled=!0,U.checked=!1,X.disabled=!0,ie(ft===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58","muted");return}if(U.disabled=!1,!re){Q.hidden=!0,ie("","plain");return}let le=await Ga(Z);if(le.unreported===!0){ie("\u5F15\u7528 "+Z+"\uFF1A\u5BBF\u4E3B\u672A\u62A5\u544A\u72B6\u6001","plain");return}if(le.error!==void 0){ie("\u8BFB\u53D6\u51ED\u636E\u72B6\u6001\u5931\u8D25\uFF1A"+le.error,"error");return}let he=le.view;ie(he.configured?"\u5DF2\u5B58\u5165"+(he.source!==""?"\uFF08\u6765\u6E90 "+he.source+"\uFF09":"")+" \xB7 "+Z:"\u5F15\u7528 "+Z+"\uFF1A\u5B58\u50A8\u91CC\u8FD8\u6CA1\u6709\u8FD9\u4E2A\u503C",he.configured?"ok":"plain"),X.disabled=he.configured!==!0||he.writable!==!0};X.addEventListener("click",()=>{(async()=>{let Z=_i(N.value);if(Z==="")return;let re=await Va(Z);if(re.error!==void 0){ie(re.error,"error");return}N.value="",await te()})()});let K=async()=>{let Z=await Ya(U.checked===!0,N.value,o.host.value,o.port.value,o.username.value,x);return Z.value!==void 0&&(N.value=Z.value,await te()),Z};return N.addEventListener("change",()=>{te()}),{row:I,refresh:te,storeIfRequested:K}},d=_(o.passphrase,"\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u53EF\u5728\u79C1\u94A5\u53E3\u4EE4\u6846\u76F4\u63A5\u624B\u8F93 env:NAME"),h=_(o.password,"\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u52FE\u4E0A\u9762\u7684\u300C\u4FDD\u5B58\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u300D\u65B0\u5EFA\u4E00\u4E2A\uFF0C\u6216\u76F4\u63A5\u5728\u5BC6\u7801\u6846\u624B\u8F93 env:NAME"),u=c(o.password,"PASSWORD");(async()=>{let N=await Ka();d.setNames(N),h.setNames(N)})(),a.appendChild(p),a.appendChild(g),a.appendChild(d.row),a.appendChild(S),a.appendChild(u.row),a.appendChild(h.row),a.appendChild(s("\u9009\u9879"));let v=document.createElement("label");v.className="tt_cardRow";let C=document.createElement("input");C.type="checkbox",C.className="tt_cardCheckbox";let b=document.createElement("span");b.className="tt_cardLabel",b.textContent="agent forwarding\uFF08\u8FDC\u7A0B\u53EF\u7528\u672C\u5730 ssh-agent \u94A5\u5319\uFF0C\u5982\u8FDC\u7A0B git clone\uFF09",v.appendChild(C),v.appendChild(b),a.appendChild(v);let y=document.createElement("label");y.className="tt_cardRow";let m=document.createElement("input");m.type="checkbox",m.className="tt_cardCheckbox";let E=document.createElement("span");E.className="tt_cardLabel",E.textContent="\u6301\u4E45\u4F1A\u8BDD\uFF08tmux \u6258\u7BA1\uFF0C\u65AD\u7EBF/\u91CD\u542F\u540E\u6062\u590D\u73B0\u573A\uFF1B\u8FDC\u7A0B\u9700\u5B89\u88C5 tmux\uFF09",y.appendChild(m),y.appendChild(E),m.checked=Ot==="tmux",Ot==="tmux"&&a.appendChild(y);let P=document.createElement("label");P.className="tt_cardRow";let B=document.createElement("input");B.type="checkbox",B.className="tt_cardCheckbox";let H=document.createElement("span");H.className="tt_cardLabel",H.textContent="\u4FDD\u5B58\u5230\u8FDE\u63A5\u7C3F\uFF08\u540C\u540D\u8986\u76D6\uFF09",P.appendChild(B),P.appendChild(H),a.appendChild(P);let R=f("name","\u8FDE\u63A5\u7C3F\u540D\u79F0",{placeholder:"\u7559\u7A7A\u5219\u7528\u4E3B\u673A\u540D"});R.style.display="none",a.appendChild(R),B.addEventListener("change",()=>{R.style.display=B.checked?"":"none",B.checked&&o.name.value.trim()===""&&o.host.value.trim()!==""&&(o.name.value=o.host.value.trim()),B.checked&&o.name.focus()}),i&&(P.style.display="none",o.name.value=String(t.name??""),R.style.display="",o.host.value=String(t.host??""),o.port.value=String(t.port??22),o.username.value=String(t.username??""),o.auth.value=t.auth==="key"||t.auth==="password"?String(t.auth):"agent",o.keyPath.value=String(t.keyPath??""),o.passphrase.value=String(t.passphrase??""),o.password.value=String(t.password??""),C.checked=t.agentForward===!0,m.checked=Ot==="tmux");let j=document.createElement("div");j.className="tt_sshStatus";let A=document.createElement("div");A.className="tt_sshError";let T=document.createElement("div");T.className="tt_sshProbeResult",j.appendChild(A),j.appendChild(T),a.appendChild(j);let F=()=>{A.textContent="";let N=o.host.value.trim(),x=o.username.value.trim(),I=Number(o.port.value);if((!Number.isInteger(I)||I<1||I>65535)&&(I=22),N===""||x==="")return A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B",null;let O=o.auth.value,U={host:N,port:I,username:x,auth:O};if(O==="key"){let z=o.keyPath.value.trim();if(z==="")return A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84",null;U.keyPath=z;let X=o.passphrase.value;X!==""&&(U.passphrase=X)}if(O==="password"){let z=o.password.value;if(z==="")return A.textContent="auth=password \u9700\u8981\u5BC6\u7801",null;U.password=z}return C.checked&&(U.agentForward=!0),U},D=document.createElement("div");D.className="tt_sshActions";let w=document.createElement("div");w.className="tt_sshActionsGroup";let L=document.createElement("div");L.className="tt_sshActionsGroup",D.appendChild(w),D.appendChild(L);let k=document.createElement("button");k.type="button",k.className="tt_toolBtn",k.textContent="\u53D6\u6D88";let M=document.createElement("button");M.type="button",M.className="tt_cardSave",M.textContent="\u8FDE\u63A5",w.appendChild(k);let $=document.createElement("button");$.type="button",$.className="tt_toolBtn",$.textContent="\u6587\u4EF6\u6D4F\u89C8",$.title="\u4E0D\u52A8\u7EC8\u7AEF\uFF0C\u76F4\u63A5\u4EE5\u5F53\u524D\u586B\u5199\u7684\u4FE1\u606F\u6253\u5F00 SFTP \u6587\u4EF6\u6D4F\u89C8",$.addEventListener("click",()=>{A.textContent="";let N=o.host.value.trim(),x=o.username.value.trim(),I=Number(o.port.value);if((!Number.isInteger(I)||I<1||I>65535)&&(I=22),N===""||x===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let O=o.auth.value,U={host:N,port:I,username:x,auth:O};if(O==="key"){let z=o.keyPath.value.trim();if(z===""){A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84";return}U.keyPath=z;let X=o.passphrase.value;X!==""&&(U.passphrase=X)}if(O==="password"){let z=o.password.value;if(z===""){A.textContent="auth=password \u9700\u8981\u5BC6\u7801";return}U.password=z}C.checked&&(U.agentForward=!0),Bt(),rs(U)}),w.appendChild($);let q=null;i&&(q=document.createElement("button"),q.type="button",q.className="tt_toolBtn",q.textContent="\u4FDD\u5B58\u4FEE\u6539",q.addEventListener("click",()=>{A.textContent="";let N=o.host.value.trim(),x=o.username.value.trim();if(N===""||x===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let I=Number(o.port.value);(!Number.isInteger(I)||I<1||I>65535)&&(I=22);let O=o.auth.value,z={name:o.name.value.trim()||N,host:N,port:I,username:x,auth:O,keyPath:O==="key"?o.keyPath.value.trim():"",passphrase:o.passphrase.value,password:o.password.value,agentForward:C.checked,persist:m.checked};if(O==="key"&&z.keyPath===""){A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84";return}q!==null&&(q.disabled=!0),(async()=>{let X=await u.storeIfRequested();if(X.error!==void 0){A.textContent=X.error,q!==null&&(q.disabled=!1);return}X.value!==void 0&&(z.password=X.value);let Q=await cf(String(t.name??""),z);if(q!==null&&(q.disabled=!1),Q!==void 0){A.textContent="\u4FDD\u5B58\u5931\u8D25\uFF1A"+Q;return}Bt()})()}),w.appendChild(q));let V=document.createElement("button");V.type="button",V.className="tt_toolBtn",V.textContent="\u8BD5\u8FDE",V.title="\u6309\u5F53\u524D\u586B\u5199\u8BCA\u65AD\u8FDE\u63A5\uFF08TCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\uFF09\uFF1B\u4E0D\u4F1A\u65B0\u5EFA\u4F1A\u8BDD\uFF0C\u4E5F\u4E0D\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9",V.addEventListener("click",()=>{let N=F();N!==null&&(T.className="tt_sshProbeResult",T.textContent="\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026",V.disabled=!0,dn(N,!1).then(x=>{V.disabled=!1,x.result?(T.className="tt_sshProbeResult"+(x.result.auth?.ok===!0?" tt_sshProbeOk":" tt_sshProbeBad"),T.textContent=un(x.result)):(T.className="tt_sshProbeResult tt_sshProbeBad",T.textContent="\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(x.error||"\u672A\u77E5\u9519\u8BEF"))}))}),w.appendChild(V),L.appendChild(M),a.appendChild(D);let J=()=>{p.style.display=o.auth.value==="key"?"":"none",g.style.display=o.auth.value==="key"?"":"none",d.row.style.display=o.auth.value==="key"?"":"none",S.style.display=o.auth.value==="password"?"":"none",h.row.style.display=o.auth.value==="password"?"":"none",u.row.style.display=o.auth.value==="password"?"":"none"};o.auth.addEventListener("change",J),J(),u.refresh(),k.addEventListener("click",()=>Bt()),n.addEventListener("mousedown",N=>{N.target===n&&Bt()}),M.addEventListener("click",async()=>{A.textContent="";let N=await Vr();if(N!==null){A.textContent=N;return}let x=o.host.value.trim(),I=o.username.value.trim(),O=Number(o.port.value);if((!Number.isInteger(O)||O<1||O>65535)&&(O=22),x===""||I===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let U=o.auth.value,z={t:"ssh",host:x,port:O,username:I,auth:U};if(U==="key"){let te=o.keyPath.value.trim();te!==""&&(z.keyPath=te);let K=o.passphrase.value;K!==""&&(z.passphrase=K)}if(U==="password"){let te=o.password.value;te!==""&&(z.password=te)}C.checked&&(z.agentForward=!0),m.checked&&(z.persist=!0,z.persistName=kn());let X=O!==22?I+"@"+x+":"+O:I+"@"+x,Q=te=>{Bt(),se!==null&&Vi(z,te!==""?te:X)};if(!B.checked){Q("");return}let ie=o.name.value.trim()||x;M.disabled=!0,(async()=>{let te=await u.storeIfRequested();if(te.error!==void 0){A.textContent=te.error,M.disabled=!1;return}let K=te.value??z.password??"",Z=await lf({name:ie,host:x,port:O,username:I,auth:U,keyPath:z.keyPath??"",passphrase:z.passphrase??"",password:K,agentForward:C.checked,persist:m.checked});if(M.disabled=!1,Z!==void 0){A.textContent="\u4FDD\u5B58\u8FDE\u63A5\u7C3F\u5931\u8D25\uFF1A"+Z;return}Q(ie)})()}),n.appendChild(a),document.body.appendChild(n),vi=n,o.host.focus()}function Bt(){vi!==null&&(vi.remove(),vi=null)}async function lf(e){let t=[...Et.filter(i=>i?.name!==e.name),e];try{let i=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sshHosts:t})}),n=await i.json().catch(()=>({}));if(!i.ok||!n.ok)return String(n.error||"HTTP "+i.status);Yi(n.config);return}catch(i){return String(i&&i.message?i.message:i)}}async function cf(e,t){if(t.name!==e&&Et.some(n=>n?.name===t.name))return"\u8FDE\u63A5\u7C3F\u91CC\u5DF2\u6709\u540C\u540D\u6761\u76EE: "+t.name;let i=Et.map(n=>n?.name===e?t:n);try{let n=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sshHosts:i})}),a=await n.json().catch(()=>({}));if(!n.ok||!a.ok)return String(a.error||"HTTP "+n.status);Yi(a.config);return}catch(n){return String(n&&n.message?n.message:n)}}function hf(e,t,i){let n=hi(i,Pe);if(Sl(n))return;let a=document.createElement("div");a.className="tt_sftpDualCard";let r=document.createElement("div");r.className="tt_sftpTitleRow";let s=document.createElement("div");s.className="tt_sshTitle",s.innerHTML=Ki+"<span></span>",s.lastElementChild.textContent="SFTP \u53CC\u680F \xB7 "+t;let o=document.createElement("button");o.type="button",o.className="tt_close",o.title="\u5173\u95ED",o.innerHTML=Qr,o.addEventListener("click",()=>Xt(n)),r.appendChild(s),r.appendChild(o),a.appendChild(r);let f=document.createElement("div");f.className="tt_sftpStatus";let l=(w,L)=>{f.textContent=w,L===void 0?delete f.dataset.state:f.dataset.state=L},p=!1,g=(w,L)=>{if(!(p||_.local.busy||_.remote.busy)){p=!0;for(let k of[_.local,_.remote])k.setBusy(!0);l(w,"busy"),Promise.resolve().then(L).catch(k=>{(k===null||typeof k!="object"||k.name!=="TransferCanceledError")&&A.fail("\u5931\u8D25"),l(String(k&&k.message?k.message:k),"error")}).finally(()=>{p=!1;for(let k of[_.local,_.remote])k.setBusy(!1)})}},S=w=>{_[w].bar.after(d),d.style.display="",h.focus(),h.select()},_={},c=(w,L)=>{let k={kind:w,path:"",busy:!1},M=document.createElement("div");M.className="tt_sftpPane";let $=document.createElement("div");$.className="tt_sftpPaneHead";let q=document.createElement("span");q.textContent=L;let V=document.createElement("span");V.className="tt_sftpPaneMeta",$.appendChild(q),$.appendChild(V),M.appendChild($);let J=document.createElement("div");J.className="tt_sftpBar";let N=document.createElement("input");N.type="text",N.className="tt_sftpPath",N.placeholder=w==="local"?"\u672C\u673A\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09":"\u8FDC\u7A0B\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09",N.spellcheck=!1,N.autocomplete="off";let x=document.createElement("button");x.type="button",x.className="tt_toolBtn",x.innerHTML=bn+"<span>\u5237\u65B0</span>";let I=document.createElement("button");I.type="button",I.className="tt_toolBtn",I.innerHTML=Qa+"<span>\u65B0\u5EFA\u76EE\u5F55</span>",J.appendChild(N),J.appendChild(x),J.appendChild(I),M.appendChild(J);let O=document.createElement("div");O.className="tt_sftpList",M.appendChild(O),k.bar=J;let U=K=>{k.busy=K;for(let Z of[x,I])Z.disabled=K;N.disabled=K},z=async(K,Z)=>{let re=w==="local"?"/api/dsh-tty/local-fs/":"/api/dsh-tty/sftp/",le=w==="local"?Z:{...e,...Z},he=await fetch(re+K,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(le)}),Se=await he.json().catch(()=>({}));if(!he.ok||Se.ok!==!0)throw new Error(String(Se.error||"HTTP "+he.status));return Se},X=(K,Z)=>{if(!(k.busy||p))return U(!0),l(K,"busy"),Promise.resolve().then(Z).catch(re=>l(String(re&&re.message?re.message:re),"error")).finally(()=>U(!1))},Q=(K,Z)=>K.endsWith("/")||K.endsWith("\\")?K+Z:K+"/"+Z,ie=K=>{let Z=Q(k.path,K.name),re=[];K.isDir===!0?re.push("\u76EE\u5F55"):re.push(Je(Number(K.size))||"\u2014");let le=yl(Number(K.mtime));le!==""&&re.push(le);let he=y(K.isDir?Ki:K.isSymlink?Ja:Xa,K.name,re.join(" \xB7 "),K.isDir===!0?"dir":K.isSymlink===!0?"link":"file"),Se=()=>k.loadDir(k.path),de=w==="local"?_.remote:_.local;return K.isDir===!0&&he.addEventListener("click",ye=>{ye.target instanceof Element&&ye.target.closest(".tt_sftpAct")!==null||k.loadDir(Z)}),m(he,w==="local"?el:tl,"\u4F20\u8F93\u5230"+(w==="local"?"\u8FDC\u7A0B":"\u672C\u673A")+"\uFF1A"+de.path,()=>{A.reset(),A.pulse(0),g("\u4F20\u8F93 "+K.name+"\u2026",async()=>{let ye=await fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"start",direction:w==="local"?"up":"down",...e,localPath:w==="local"?Z:Q(de.path,K.name),remotePath:w==="local"?Q(de.path,K.name):Z})}),ve=await ye.json().catch(()=>({}));if(!ye.ok||ve.ok!==!0)throw A.fail("\u4F20\u8F93\u5931\u8D25"),new Error(String(ve.error||"HTTP "+ye.status));let Ze=ve.job?.id;if(typeof Ze!="string"||Ze==="")throw A.fail("\u4F20\u8F93\u5931\u8D25"),new Error("\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE\u4EFB\u52A1 id");await T(Ze,K.name)==="canceled"?(A.reset(),l("\u5DF2\u53D6\u6D88\u4F20\u8F93 "+K.name)):(A.done("\u5B8C\u6210"),setTimeout(()=>A.reset(),1500),l("\u5DF2\u4F20\u8F93 "+K.name)),await de.loadDir(de.path)})}),w!=="local"&&K.isDir!==!0&&m(he,Za,"\u4E0B\u8F7D "+K.name,()=>{P(K,Z)}),m(he,mn,"\u91CD\u547D\u540D "+K.name,()=>{h.placeholder="\u65B0\u540D\u79F0",h.value=K.name,S(w),C=async()=>{let ye=h.value.trim();ye===""||ye===K.name||(b(),await k.runTask("\u91CD\u547D\u540D "+K.name+"\u2026",async()=>{await z("rename",{from:Z,to:Q(k.path,ye)}),await Se()}))}}),E(he,()=>k.runTask("\u5220\u9664 "+K.name+"\u2026",async()=>{await z("remove",{path:Z,recursive:K.isDir===!0}),await Se(),l("\u5DF2\u5220\u9664 "+K.name)}),K),he},te=K=>{if(O.textContent="",k.path!==""&&k.path!=="/"&&/^[A-Za-z]:[\\/]?$/.test(k.path)===!1){let re=y(vn,"..\uFF08\u4E0A\u7EA7\u76EE\u5F55\uFF09","","up");re.addEventListener("click",()=>{k.loadDir(xl(k.path))}),O.appendChild(re)}let Z=Array.isArray(K)?K:[];if(Z.length===0){let re=document.createElement("div");re.className="tt_addMenuTitle",re.textContent="\uFF08\u7A7A\u76EE\u5F55\uFF09",O.appendChild(re);return}for(let re of Z)re===null||typeof re!="object"||typeof re.name!="string"||re.name===""||O.appendChild(ie(re))};return k.loadDir=async K=>{try{let Z=await z("list",{path:K??k.path});k.path=typeof Z.path=="string"&&Z.path!==""?Z.path:k.path,N.value=k.path;let re=Array.isArray(Z.entries)?Z.entries.length:0;te(Z.entries),V.textContent=String(re)+" \u9879",l(k.path)}catch(Z){l(String(Z&&Z.message?Z.message:Z),"error")}},k.runTask=X,k.setBusy=U,_[w]=k,x.addEventListener("click",()=>{k.runTask("\u52A0\u8F7D\u4E2D\u2026",()=>k.loadDir(k.path))}),I.addEventListener("click",()=>{k.busy||p||(h.placeholder="\u65B0\u76EE\u5F55\u540D\uFF08\u76F8\u5BF9\u5F53\u524D\u76EE\u5F55\uFF09",h.value="",S(w),C=async()=>{let K=h.value.trim();K!==""&&(b(),await k.runTask("\u521B\u5EFA\u76EE\u5F55 "+K+"\u2026",async()=>{await z("mkdir",{path:Q(k.path,K),parents:!0}),await k.loadDir(k.path)}))})}),N.addEventListener("keydown",K=>{if(K.key!=="Enter"||(K.preventDefault(),k.busy||p))return;let Z=N.value.trim();Z!==""&&k.runTask("\u52A0\u8F7D\u4E2D\u2026",()=>k.loadDir(Z))}),M},d=document.createElement("div");d.className="tt_sftpEditor",d.style.display="none";let h=document.createElement("input");h.type="text",h.className="tt_cardInput",h.spellcheck=!1,h.autocomplete="off";let u=document.createElement("button");u.type="button",u.className="tt_toolBtn",u.textContent="\u786E\u5B9A";let v=document.createElement("button");v.type="button",v.className="tt_toolBtn",v.textContent="\u53D6\u6D88",d.appendChild(h),d.appendChild(u),d.appendChild(v);let C=null,b=()=>{d.style.display="none",h.value="",C=null};u.addEventListener("click",()=>{C?.()}),v.addEventListener("click",b),h.addEventListener("keydown",w=>{w.key==="Enter"?(w.preventDefault(),C?.()):w.key==="Escape"&&(w.stopPropagation(),b())});let y=(w,L,k,M)=>{let $=document.createElement("button");$.type="button",$.className="tt_sftpRow";let q=document.createElement("span");q.className="tt_sftpIcon",q.innerHTML=w,M!==void 0&&(q.dataset.kind=M);let V=document.createElement("span");if(V.className="tt_sftpName",V.textContent=L,V.title=L,$.appendChild(q),$.appendChild(V),k!==""){let J=document.createElement("span");J.className="tt_sftpMeta",J.textContent=k,$.appendChild(J)}return $},m=(w,L,k,M)=>{let $=document.createElement("button");$.type="button",$.className="tt_sftpAct",$.innerHTML=L,$.title=k,$.addEventListener("click",q=>{q.stopPropagation(),M()}),w.appendChild($)},E=(w,L,k)=>{let M=document.createElement("button");M.type="button",M.className="tt_sftpAct",M.innerHTML=pi,M.title="\u5220\u9664 "+k.name+(k.isDir?"\uFF08\u542B\u5185\u5BB9\uFF09":"");let $=null;M.addEventListener("click",q=>{if(q.stopPropagation(),$!==null){clearTimeout($),$=null,M.innerHTML=pi,delete M.dataset.danger,L();return}M.textContent="\u786E\u8BA4?",M.dataset.danger="",$=setTimeout(()=>{$=null,M.innerHTML=pi,delete M.dataset.danger},4e3)}),w.appendChild(M)},P=(w,L)=>_.remote.runTask("\u4E0B\u8F7D "+w.name+"\u2026",async()=>{A.reset();let k;try{k=await El("/api/dsh-tty/sftp/download",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e,path:L})},(M,$)=>{A.set(M,$)},It.maxDownloadMb,M=>A.setCancel(M))}catch(M){if(_n(M)){A.reset(),l("\u5DF2\u53D6\u6D88\u4E0B\u8F7D "+w.name);return}throw A.fail("\u4E0B\u8F7D\u5931\u8D25"),M}A.done("\u5B8C\u6210"),Ll(k,w.name),setTimeout(()=>A.reset(),1500),l("\u5DF2\u4E0B\u8F7D "+w.name+"\uFF08"+(Je(k.size)||String(k.size)+" B")+"\uFF09")}),B=c("local","\u672C\u673A"),H=c("remote","\u8FDC\u7A0B");_.local.wrap=B,_.remote.wrap=H;let R=document.createElement("div");R.className="tt_sftpDual",R.appendChild(B),R.appendChild(H),a.appendChild(R),a.appendChild(d);let j=document.createElement("div");j.className="tt_sftpFoot";let A=kl();j.appendChild(A.el),j.appendChild(f),a.appendChild(j);let T=async(w,L)=>{let k=!1;A.setCancel(()=>{k||(k=!0,fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"cancel",job:w})}).catch(()=>{}))});try{for(;;){await new Promise(V=>setTimeout(V,400));let M=await fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"status",job:w})}),$=await M.json().catch(()=>({}));if(!M.ok||$.ok!==!0){if(k)return"canceled";throw new Error(String($.error||"HTTP "+M.status))}let q=$.job;if(q===null||typeof q!="object")throw new Error("\u670D\u52A1\u7AEF\u8FD4\u56DE\u4E86\u975E\u6CD5\u7684\u4EFB\u52A1\u72B6\u6001");if(q.state==="running"){let V=typeof q.current=="string"&&q.current!==""?q.current:L;l("\u4F20\u8F93 "+V+"\u2026","busy"),Number.isFinite(q.total)&&q.total>0?A.set(Number(q.bytes)||0,q.total):A.pulse(Number(q.bytes)||0);continue}if(q.state==="canceled")return"canceled";if(q.state!=="done")throw new Error(String(q.error||"\u4F20\u8F93\u5931\u8D25"));return"done"}}finally{A.setCancel(null)}},F=Cn(),D=F===null?420:Math.round(F.height*.56);Cl(a,"SFTP \u53CC\u680F \xB7 "+t,D,n),_.local.loadDir(""),_.remote.loadDir("")}var Xi=null,_t=null;function wl(){return _t!==null&&rn(_t.ownerKey,Pe)?_t.ownerKey:hi(void 0,Pe)}var Sl=(e=wl())=>Xi!==null||_t!==null&&_t.ownerKey===e;function Cl(e,t,i,n){let a=hi(n,Pe),r=tt!==null&&tt.ownerKey===a;if(se!==null&&!Oe&&Ve!==null&&!r)try{let o=ul({title:t,side:"bottom",size:i,min:200,ownerSid:a,onClose:()=>Xt(a)});o.element.appendChild(e),_t=o;return}catch(o){console.warn("[dsh-tty] SFTP \u6302\u5230\u7EC8\u7AEF\u6302\u8F7D\u4F4D\u5931\u8D25\uFF0C\u56DE\u9000\u5BF9\u8BDD\u6846\uFF1A"+(o instanceof Error?o.message:String(o)))}let s=document.createElement("div");s.className="tt_sshBackdrop",s.appendChild(e),s.addEventListener("mousedown",o=>{o.target===s&&Xt()}),document.body.appendChild(s),Xi=s}var qi=null;function df(){let e=qi;if(qi=null,e!==null)try{e.click()}catch{}}function uf(e){let t=new TextEncoder().encode(e),i="";for(let n of t)i+=String.fromCharCode(n);return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Je(e){if(!Number.isFinite(e)||e<=0)return"";if(e<1024)return String(e)+" B";let t=["KB","MB","GB","TB"],i=e,n=-1;do i/=1024,n+=1;while(i>=1024&&n<t.length-1);return(i>=100?i.toFixed(0):i.toFixed(1))+" "+t[n]}function Fr(e){if(!Number.isFinite(e)||e<=0)return"";if(e<1024)return"<1 KB/s";let t=["KB","MB","GB","TB"],i=e,n=-1;do i/=1024,n+=1;while(i>=1024&&n<t.length-1);return(i>=100?i.toFixed(0):i.toFixed(1))+" "+t[n]+"/s"}function yl(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let i=n=>String(n).padStart(2,"0");return t.getFullYear()+"-"+i(t.getMonth()+1)+"-"+i(t.getDate())+" "+i(t.getHours())+":"+i(t.getMinutes())}function xl(e){let t=String(e).replace(/\/+$/,""),i=t.lastIndexOf("/");return i<=0?"/":t.slice(0,i)}function Ii(e,t){return e.endsWith("/")?e+t:e+"/"+t}function kl(){let e=document.createElement("div");e.className="tt_sftpProgress";let t=document.createElement("div");t.className="tt_sftpTrack";let i=document.createElement("div");i.className="tt_sftpFill",t.appendChild(i);let n=document.createElement("span");n.className="tt_sftpPct",n.textContent="";let a=document.createElement("button");a.type="button",a.className="tt_sftpCancel",a.title="\u53D6\u6D88\u4F20\u8F93",a.textContent="\u2715",a.style.display="none";let r=null;a.addEventListener("click",_=>{_.stopPropagation();let c=r;c!==null&&(a.disabled=!0,c())}),e.appendChild(t),e.appendChild(n),e.appendChild(a);let s=_=>{n.textContent=_},o="",f=-1,l=_=>{_!==o&&(o=_,n.textContent=_)},p=_=>{let c=Math.round(_);c!==f&&(f=c,i.style.width=c+"%")},g=()=>{r=null,qi===a&&(qi=null),a.style.display="none",a.disabled=!1};return{el:e,reset(){delete e.dataset.active,delete e.dataset.state,o="",f=-1,this._last=void 0,this._lastAt=0,this._rate=void 0,i.style.width="0%",n.textContent="",g()},setCancel(_){if(_==null){g();return}r=_,qi=a,a.disabled=!1,a.style.display=""},set(_,c){e.dataset.active="",delete e.dataset.state;let d=Date.now();if(this._last!==void 0&&d>this._lastAt){let h=(_-this._last)/((d-this._lastAt)/1e3);this._rate=this._rate===void 0?h:this._rate*.7+h*.3}if(this._last=_,this._lastAt=d,Number.isFinite(c)&&c>0){let h=Math.min(100,Math.max(0,_/c*100));p(h);let u=this._rate!==void 0&&this._rate>=0?Fr(this._rate):"";l(Math.round(h)+"%"+(u!==""?" \xB7 "+u:""))}else{i.style.width="";let h=this._rate!==void 0&&this._rate>=0?Fr(this._rate):"";l(Je(_)+(h!==""?" \xB7 "+h:""))}},pulse(_){e.dataset.active="",delete e.dataset.state,i.style.width="45%",i.style.transition="none",setTimeout(()=>{i.style.transition="width .15s linear"},30);let c=Date.now();if(this._last!==void 0&&c>this._lastAt){let h=(_-this._last)/((c-this._lastAt)/1e3);this._rate=this._rate===void 0?h:this._rate*.7+h*.3}this._last=_,this._lastAt=c;let d=this._rate!==void 0&&this._rate>=0?Fr(this._rate):"";l((Number.isFinite(_)?Je(_):"\u2026")+(d!==""?" \xB7 "+d:""))},done(_){e.dataset.active="",e.dataset.state="done",i.style.width="100%",f=100,g(),l(_!==void 0&&_!==""?_:"\u5B8C\u6210")},fail(_){e.dataset.active="",e.dataset.state="error",g(),l(_!==void 0&&_!==""?_:"\u5931\u8D25")},text(_){delete e.dataset.state,_===void 0||_===""?(e.dataset.active="",o="",n.textContent=""):(e.dataset.active="",i.style.width="",f=-1,l(_))}}}async function El(e,t,i,n=0,a=null){let r=n>0?n*1024*1024:0,s=typeof AbortController=="function"?new AbortController:null,o=!1;s!==null&&(t={...t,signal:s.signal},typeof a=="function"&&a(()=>{o=!0,s.abort()}));let f=await fetch(e,t);if(!f.ok){let d="HTTP "+f.status;try{let h=await f.json();h!==null&&typeof h=="object"&&typeof h.error=="string"&&(d=h.error)}catch{}throw new Error(d)}let l=Number(f.headers.get("content-length")),p=Number.isFinite(l)&&l>0;if(r>0&&p&&l>r){try{await f.body?.cancel()}catch{}throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(r)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync")}let g=f.body;if(g===null||typeof g.getReader!="function"){let d=await f.blob();if(r>0&&d.size>r)throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(r)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync");return p&&i(l,l),d}let S=g.getReader(),_=[],c=0;try{for(;;){let{done:d,value:h}=await S.read();if(d)break;if(h!==void 0&&h.byteLength>0){if(c+=h.byteLength,r>0&&c>r){try{await S.cancel()}catch{}throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(r)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync")}_.push(h),i(c,p?l:NaN)}}}catch(d){if(o||d!==null&&typeof d=="object"&&d.name==="AbortError"){try{await S.cancel()}catch{}throw new Si}throw d}return new Blob(_,{type:"application/octet-stream"})}var Si=class extends Error{constructor(){super("\u5DF2\u53D6\u6D88"),this.name="TransferCanceledError"}};function _n(e){return e instanceof Si}function Ll(e,t){let i=URL.createObjectURL(e),n=document.createElement("a");n.href=i,n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(i),3e4)}async function ff(e){if(e==null)return[];let t=typeof e.items<"u"?[...e.items]:[],i=[];for(let l of t){let p=typeof l.webkitGetAsEntry=="function"?l.webkitGetAsEntry():null;p!==null&&i.push(p)}if(i.length===0)return[...e.files??[]].map(l=>({relPath:l.name,file:l}));let n=[],a=It.maxUploadFiles,r=It.maxUploadMb>0?It.maxUploadMb*1024*1024:0,s=()=>a>0&&n.length>=a,o=0,f=(l,p)=>new Promise(g=>{if(s()){g();return}if(l.isFile===!0){l.file(c=>{r>0&&o+(c.size??0)>r?n._limitExceeded=!0:(n.push({relPath:p+l.name,file:c}),o+=c.size??0),g()},()=>g());return}if(l.isDirectory!==!0){g();return}let S=l.createReader(),_=()=>{S.readEntries(async c=>{if(c.length===0){g();return}for(let d of c){if(s())break;await f(d,p+l.name+"/")}if(s()){g();return}_()},()=>g())};_()});for(let l of i)await f(l,"");return n}function rs(e,t){let i=hi(t,Pe);if(Sl(i))return;let n=e!==null&&typeof e=="object"?e:{},a={};if(typeof n.name=="string"&&n.name!=="")a.name=n.name;else{for(let I of["host","username","auth","keyPath","passphrase","password"])typeof n[I]=="string"&&n[I]!==""&&(a[I]=n[I]);let x=Number(n.port);Number.isInteger(x)&&x>=1&&x<=65535&&(a.port=x),n.agentForward===!0&&(a.agentForward=!0)}let r=a.name??(a.username!==void 0?a.username+"@"+String(a.host??""):String(a.host??""));if(pl==="dual"){hf(a,r,i);return}let s=document.createElement("div");s.className="tt_sftpCard";let o=document.createElement("div");o.className="tt_sftpTitleRow";let f=document.createElement("div");f.className="tt_sshTitle",f.innerHTML=Ki+"<span></span>",f.lastElementChild.textContent="SFTP \xB7 "+r;let l=document.createElement("button");l.type="button",l.className="tt_close",l.title="\u5173\u95ED",l.innerHTML=Qr,l.addEventListener("click",()=>Xt(i)),o.appendChild(f),o.appendChild(l),s.appendChild(o);let p=document.createElement("div");p.className="tt_sftpBar";let g=document.createElement("input");g.type="text",g.className="tt_sftpPath",g.placeholder="\u8FDC\u7A0B\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09",g.spellcheck=!1,g.autocomplete="off";let S=document.createElement("button");S.type="button",S.className="tt_toolBtn",S.innerHTML=bn+"<span>\u5237\u65B0</span>";let _=document.createElement("button");_.type="button",_.className="tt_toolBtn",_.innerHTML=Qa+"<span>\u65B0\u5EFA\u76EE\u5F55</span>";let c=document.createElement("button");c.type="button",c.className="tt_toolBtn",c.innerHTML=wu+"<span>\u4E0A\u4F20</span>",c.title="\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20\uFF1B\u4E5F\u53EF\u4EE5\u628A\u6587\u4EF6 / \u6587\u4EF6\u5939\u76F4\u63A5\u62D6\u8FDB\u5217\u8868";let d=document.createElement("input");d.type="file",d.multiple=!0,d.style.display="none",p.appendChild(g),p.appendChild(S),p.appendChild(_),p.appendChild(c),s.appendChild(p),s.appendChild(d);let h=document.createElement("div");h.className="tt_sftpEditor",h.style.display="none";let u=document.createElement("input");u.type="text",u.className="tt_cardInput",u.spellcheck=!1,u.autocomplete="off";let v=document.createElement("button");v.type="button",v.className="tt_toolBtn",v.textContent="\u786E\u5B9A";let C=document.createElement("button");C.type="button",C.className="tt_toolBtn",C.textContent="\u53D6\u6D88",h.appendChild(u),h.appendChild(v),h.appendChild(C),s.appendChild(h);let b=null,y=()=>{h.style.display="none",b=null};v.addEventListener("click",()=>{b?.()}),C.addEventListener("click",y),u.addEventListener("keydown",x=>{x.key==="Enter"?(x.preventDefault(),b?.()):x.key==="Escape"&&(x.stopPropagation(),y())});let m=document.createElement("div");m.className="tt_sftpList",s.appendChild(m);let E=document.createElement("div");E.className="tt_sftpFoot";let P=document.createElement("div");P.className="tt_sftpStatus";let B=kl();E.appendChild(B.el),E.appendChild(P),s.appendChild(E);let H={path:"",busy:!1},R=(x,I)=>{P.textContent=x,I===void 0?delete P.dataset.state:P.dataset.state=I},j=x=>{H.busy=x;for(let I of[S,_,c])I.disabled=x;g.disabled=x},A=async(x,I)=>{let O=await fetch("/api/dsh-tty/sftp/"+x,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...a,...I})}),U=await O.json().catch(()=>({}));if(!O.ok||U.ok!==!0)throw new Error(String(U.error||"HTTP "+O.status));return U},T=async(x,I)=>{if(!H.busy){j(!0),R(x,"busy");try{await I()}catch(O){R(String(O&&O.message?O.message:O),"error")}finally{j(!1)}}},F=(x,I,O,U)=>{let z=document.createElement("button");z.type="button",z.className="tt_sftpRow";let X=document.createElement("span");X.className="tt_sftpIcon",X.innerHTML=x,U!==void 0&&(X.dataset.kind=U);let Q=document.createElement("span");if(Q.className="tt_sftpName",Q.textContent=I,Q.title=I,z.appendChild(X),z.appendChild(Q),O!==""){let ie=document.createElement("span");ie.className="tt_sftpMeta",ie.textContent=O,z.appendChild(ie)}return z},D=(x,I,O,U)=>{let z=document.createElement("button");z.type="button",z.className="tt_sftpAct",z.innerHTML=I,z.title=O,z.addEventListener("click",X=>{X.stopPropagation(),U()}),x.appendChild(z)},w=(x,I,O)=>{let U=document.createElement("button");U.type="button",U.className="tt_sftpAct",U.innerHTML=pi,U.title="\u5220\u9664 "+I.name+(I.isDir?"\uFF08\u542B\u5185\u5BB9\uFF09":"");let z=null;U.addEventListener("click",X=>{if(X.stopPropagation(),!H.busy){if(z!==null){clearTimeout(z),z=null,U.innerHTML=pi,delete U.dataset.danger,T("\u5220\u9664 "+I.name+"\u2026",async()=>{await A("remove",{path:O,recursive:I.isDir===!0}),await k(H.path),R("\u5DF2\u5220\u9664 "+I.name)});return}U.textContent="\u786E\u8BA4?",U.dataset.danger="",z=setTimeout(()=>{z=null,U.innerHTML=pi,delete U.dataset.danger},4e3)}}),x.appendChild(U)},L=x=>{if(m.textContent="",H.path!==""&&H.path!=="/"){let O=F(vn,"..\uFF08\u4E0A\u7EA7\u76EE\u5F55\uFF09","","up");O.addEventListener("click",()=>{T("\u52A0\u8F7D\u4E2D\u2026",()=>k(xl(H.path)))}),m.appendChild(O)}let I=Array.isArray(x)?x:[];if(I.length===0){let O=document.createElement("div");O.className="tt_addMenuTitle",O.textContent="\uFF08\u7A7A\u76EE\u5F55\uFF09",m.appendChild(O);return}for(let O of I){if(O===null||typeof O!="object"||typeof O.name!="string"||O.name==="")continue;let U=Ii(H.path,O.name),z=[];O.isDir===!0?z.push("\u76EE\u5F55"):z.push(Je(Number(O.size))||"\u2014");let X=yl(Number(O.mtime));X!==""&&z.push(X);let Q=F(O.isDir?Ki:O.isSymlink?Ja:Xa,O.name,z.join(" \xB7 "),O.isDir===!0?"dir":O.isSymlink===!0?"link":"file");O.isDir===!0?Q.addEventListener("click",ie=>{ie.target instanceof Element&&ie.target.closest(".tt_sftpAct")!==null||T("\u52A0\u8F7D\u4E2D\u2026",()=>k(U))}):(Q.addEventListener("click",ie=>{ie.target instanceof Element&&ie.target.closest(".tt_sftpAct")!==null||M(O,U)}),D(Q,Za,"\u4E0B\u8F7D "+O.name,()=>{M(O,U)})),D(Q,mn,"\u91CD\u547D\u540D "+O.name,()=>{u.placeholder="\u65B0\u540D\u79F0",u.value=O.name,h.style.display="",u.focus(),u.select(),b=async()=>{let ie=u.value.trim();ie===""||ie===O.name||(y(),await T("\u91CD\u547D\u540D "+O.name+"\u2026",async()=>{await A("rename",{from:U,to:Ii(H.path,ie)}),await k(H.path)}))}}),w(Q,O,U),m.appendChild(Q)}},k=async x=>{try{let I=await A("list",{path:x??H.path});H.path=typeof I.path=="string"&&I.path!==""?I.path:"/",g.value=H.path;let O=Array.isArray(I.entries)?I.entries.length:0;L(I.entries),R(H.path+" \u2014 "+String(O)+" \u9879")}catch(I){R(String(I&&I.message?I.message:I),"error")}},M=(x,I)=>T("\u4E0B\u8F7D "+x.name+"\u2026",async()=>{B.reset();let O;try{O=await El("/api/dsh-tty/sftp/download",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...a,path:I})},(U,z)=>{B.set(U,z)},It.maxDownloadMb,U=>B.setCancel(U))}catch(U){if(_n(U)){B.reset(),R("\u5DF2\u53D6\u6D88\u4E0B\u8F7D "+x.name);return}throw B.fail("\u4E0B\u8F7D\u5931\u8D25"),U}B.done("\u5B8C\u6210"),Ll(O,x.name),setTimeout(()=>B.reset(),1500),R("\u5DF2\u4E0B\u8F7D "+x.name+"\uFF08"+(Je(O.size)||String(O.size)+" B")+"\uFF09")}),$=(x,I,O,U,z)=>new Promise((X,Q)=>{let ie=uf(JSON.stringify({...a,path:Ii(H.path,I)})),te=new XMLHttpRequest;z.abort=()=>{z.stopped=!0,te.abort()},te.open("POST","/api/dsh-tty/sftp/upload"),te.setRequestHeader("x-dsh-sftp-meta",ie);let K=U>1?String(O)+"/"+String(U)+" ":"";R("\u4E0A\u4F20 "+K+I,"busy"),te.upload.addEventListener("progress",le=>{le.lengthComputable?B.set(le.loaded,le.total):B.pulse(0)});let Z=!1,re=le=>{Z||(Z=!0,le===null?X():Q(le))};te.addEventListener("load",()=>{if(te.status===200){U===1&&B.done("\u4E0A\u4F20\u5B8C\u6210"),re(null);return}if(z.stopped)return;B.fail("\u4E0A\u4F20\u5931\u8D25");let le="HTTP "+te.status;try{let he=JSON.parse(te.responseText);he!==null&&typeof he=="object"&&typeof he.error=="string"&&(le=he.error)}catch{}re(new Error(le))}),te.addEventListener("error",()=>{if(z.stopped){re(new Si);return}B.fail("\u4E0A\u4F20\u5931\u8D25"),re(new Error("\u7F51\u7EDC\u9519\u8BEF"))}),te.addEventListener("abort",()=>{re(new Si)}),te.send(x)}),q=async x=>T("\u4E0A\u4F20\u4E2D\u2026",async()=>{let I=It;if(I.maxUploadFiles>0&&x.length>I.maxUploadFiles){R("\u6587\u4EF6\u6570\u8D85\u8FC7\u4E0A\u9650\uFF08"+String(I.maxUploadFiles)+"\uFF09\uFF1A\u672C\u6B21 "+String(x.length)+" \u4E2A\uFF0C\u8BF7\u5206\u6279\u4E0A\u4F20","error"),B.fail("\u8D85\u9650");return}let O=I.maxUploadMb>0?I.maxUploadMb*1024*1024:0,U=x.find(te=>O>0&&(te.file?.size??0)>O);if(U!==void 0){R("\u6587\u4EF6\u8D85\u8FC7\u4E0A\u4F20\u4E0A\u9650\uFF08"+Je(O)+"\uFF09\uFF1A"+String(U.relPath??"")+"\uFF0C\u8BF7\u7528\u53CC\u680F \u21E8 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync","error"),B.fail("\u8D85\u9650");return}if(x._limitExceeded===!0){R("\u6587\u4EF6\u603B\u5927\u5C0F\u8D85\u8FC7\u4E0A\u4F20\u4E0A\u9650\uFF1A\u8BF7\u5206\u6279\u4E0A\u4F20\uFF08\u6216\u7528\u53CC\u680F \u21E8 \u76F4\u4F20\uFF09","error"),B.fail("\u8D85\u9650");return}let z=new Set;for(let te of x){let K=te.relPath.lastIndexOf("/");if(K<=0)continue;let Z=te.relPath.slice(0,K);z.has(Z)||(z.add(Z),await A("mkdir",{path:Ii(H.path,Z),parents:!0}).catch(()=>{}))}B.reset();let X={stopped:!1,abort:null};B.setCancel(()=>X.abort?.());let Q=0,ie=0;try{for(let te of x){if(X.stopped)break;Q+=1,X.abort=null;try{await $(te.file,te.relPath,Q,x.length,X),ie+=1}catch(K){if(_n(K)||X.stopped)break;throw K}}}finally{B.setCancel(null)}if(X.stopped){B.reset(),R("\u5DF2\u53D6\u6D88\u4E0A\u4F20\uFF08\u5DF2\u4F20 "+String(ie)+"/"+String(x.length)+" \u4E2A\uFF09"),await k(H.path);return}B.done("\u5168\u90E8\u5B8C\u6210"),setTimeout(()=>B.reset(),1500),R("\u4E0A\u4F20\u5B8C\u6210 "+String(x.length)+" \u4E2A\u6587\u4EF6"),await k(H.path)});S.addEventListener("click",()=>{T("\u52A0\u8F7D\u4E2D\u2026",()=>k(H.path))}),_.addEventListener("click",()=>{H.busy||(u.placeholder="\u65B0\u76EE\u5F55\u540D\uFF08\u76F8\u5BF9\u5F53\u524D\u76EE\u5F55\uFF09",u.value="",h.style.display="",u.focus(),b=async()=>{let x=u.value.trim();x!==""&&(y(),await T("\u521B\u5EFA\u76EE\u5F55 "+x+"\u2026",async()=>{await A("mkdir",{path:Ii(H.path,x)}),await k(H.path)}))})}),c.addEventListener("click",()=>{H.busy===!1&&d.click()}),d.addEventListener("change",()=>{let x=[...d.files??[]].map(I=>({relPath:I.name,file:I}));d.value="",x.length>0&&q(x)});let V=0,J=x=>{x?m.dataset.drag="":delete m.dataset.drag};s.addEventListener("dragenter",x=>{x.preventDefault(),V+=1,J(!0)}),s.addEventListener("dragover",x=>{x.preventDefault()}),s.addEventListener("dragleave",()=>{V=Math.max(0,V-1),V===0&&J(!1)}),s.addEventListener("drop",x=>{x.preventDefault(),V=0,J(!1),!H.busy&&ff(x.dataTransfer).then(I=>{(I.length>0||I._limitExceeded===!0)&&q(I)})}),g.addEventListener("keydown",x=>{if(x.key!=="Enter"||(x.preventDefault(),H.busy))return;let I=g.value.trim();I!==""&&T("\u52A0\u8F7D\u4E2D\u2026",()=>k(I))});let N=Cn();Cl(s,"SFTP \xB7 "+r,N===null?340:Math.round(N.height*.46),i),T("\u8FDE\u63A5\u4E2D\u2026",()=>k(""))}function Xt(e){let t=e===void 0?wl():e,i=Xi,n=_t!==null&&_t.ownerKey===t?_t:null;i===null&&n===null||(df(),Xi=null,n!==null&&(_t=null),i!==null&&i.remove(),n!==null&&n.dispose())}function Ml(){if(Ne===null)return;let e=Ne.style.display==="none"||Ne.style.display==="";Ne.style.display=e?"":"none";let t=se!==null?se.querySelector("[data-act=search]"):null;t!==null&&(e?t.dataset.on="":delete t.dataset.on),e&&Ne.focus()}var _f={matchBackground:"#3d2b00",matchBorder:"#8a5a00",activeMatchBackground:"#b06a00",activeMatchBorder:"#ffb84d",matchOverviewRuler:"#8a5a00",activeMatchColorOverviewRuler:"#ffb84d"};function pf(e){let t=Xe();if(t===void 0||t.search===void 0)return;let i=Ne.value;if(i==="")return;let n={decorations:_f};e?t.search.findPrevious(i,n):t.search.findNext(i,n)}function za(){Gi||se===null&&!wn()||Ut!==null||(Ut=setTimeout(()=>{Ut=null,Yr()},$i),$i=Math.min($i*2,5e3))}function rr(e){return e!==null&&typeof e=="object"&&e.persist===!0&&typeof e.persistName=="string"&&e.persistName!==""}function pn(e){return rr(e)||e!==null&&typeof e=="object"&&typeof e.command=="string"&&e.command!==""}function gf(){return Ot==="tmux"?{t:"spawn",cwd:Na(),persist:!0,persistName:kn()}:{t:"spawn",cwd:Na()}}async function Rl(){if(await En(),se===null){await mf();return}let e=Wu(),t=Fu();if(![...ae.values()].some(s=>s.embedded!==!0)){if(e.length>0||t.length>0){we({t:"sessions"});let s=await Kr("sessions",4e3),o=new Map;if(s!==null&&Array.isArray(s.list))for(let l of s.list)l!==null&&typeof l=="object"&&l.attachable===!0&&o.set(l.sid,l);let f=new Set;for(let l of e){if(o.has(l.sid))ju(l);else if(pn(l.spawnSpec))Fa(l);else continue;rr(l.spawnSpec)&&f.add(l.spawnSpec.persistName)}for(let l of t){let p=l.spawnSpec.persistName;f.has(p)||(Fa(l),f.add(p))}Yt()}if(![...ae.values()].some(s=>s.embedded!==!0)){if(await Vr())return;Vi()}return}let i=[...ae.values()].filter(s=>!s.exited&&(s.embedded!==!0||s.spawned===!0)),n=i.filter(s=>pn(s.spawnSpec)),a=null;if(n.length>0){we({t:"sessions"});let s=await Kr("sessions",4e3),o=new Set((s!==null&&Array.isArray(s.list)?s.list:[]).map(f=>f?.sid).filter(f=>typeof f=="string"));a=n.filter(f=>!o.has(f.sid));for(let f of a)Sn(f.sid)}let r=a!==null?new Set(a.map(s=>s.sid)):new Set;for(let s of i)r.has(s.sid)||we({t:"attach",sid:s.sid})}function vf(){ue!==null&&(ue.readyState===WebSocket.OPEN||ue.readyState===WebSocket.CONNECTING)||Yr()}async function mf(){let e=[...ae.values()].filter(n=>n.embedded===!0&&!n.exited);if(e.length===0)return;we({t:"sessions"});let t=await Kr("sessions",4e3),i=new Set((t!==null&&Array.isArray(t.list)?t.list:[]).map(n=>n?.sid).filter(n=>typeof n=="string"));for(let n of e)n.spawned===!0&&(i.has(n.sid)?we({t:"attach",sid:n.sid}):pn(n.spawnSpec)?dl(n):(n.exited=!0,n.live=!1,di(n,"\u4F1A\u8BDD\u5DF2\u7ED3\u675F","\u70B9\u51FB\u91CD\u65B0\u6267\u884C","exited")))}function Yr(){if(ue!==null){try{ue.close()}catch{}ue=null}Gi=!1,clearTimeout(Ut),Ut=null,Or=!0,Wt("\u8FDE\u63A5\u4E2D\u2026","");try{ue=new WebSocket(ou())}catch(e){Or=!1,Wt("\u8FDE\u63A5\u5931\u8D25\uFF1A"+e.message,"error"),za();return}ue.onopen=()=>{Or=!1,$i=1e3,et=null,Wt("\u5DF2\u8FDE\u63A5","connected");for(let e of[...on])on.delete(e),ae.has(e.tab.sid)&&we(e.frame);Rl()},ue.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}let i=t.sid;if(t.t==="ready"){let n=typeof t.target=="string"?t.target:"";Wt(t.kind==="ssh"?"SSH "+(n!==""?n+" ":"")+"\u5DF2\u8FDE\u63A5":"\u5DF2\u8FDE\u63A5 pid="+t.pid,"connected");let a=ae.get(i);if(a!==void 0){if(a.exited=!1,a.spawned=!0,a.live=!0,a.errored=!1,a.target=n,a.persistTmux=t.persist===!0,t.kind==="ssh"&&n!==""&&!a.label&&(a.label=n,pt()),jt(),nn(i),di(a,""),Ci(a),t.persist===!0){let r=document.fonts!==void 0&&document.fonts.ready!==void 0?document.fonts.ready:Promise.resolve();Promise.race([r,new Promise(s=>setTimeout(s,500))]).then(()=>al(150))}Ji(),Iu(i),Yt()}}else if(t.t==="data"){let n=ae.get(i);n!==void 0&&n.term!==null&&(n.term.write(String(t.d??"")),Sf())}else if(t.t==="exit"){let n=ae.get(i);if(n!==void 0){n.exited=!0,n.live=!1,n.stats=null,i===Pe&&Vt();let a=t.code!==null&&t.code!==void 0?"code="+t.code:"",r=t.signal!==null&&t.signal!==void 0?"signal="+t.signal:"";Wt("\u5DF2\u9000\u51FA "+[a,r].filter(Boolean).join(" "),""),jt(),nn(i),di(n,"\u4F1A\u8BDD\u5DF2\u9000\u51FA","\u70B9\u51FB\u91CD\u65B0\u6253\u5F00","exited"),Ji(),Yt()}}else if(t.t==="stats")try{let n=ae.get(i);if(n!==void 0){let a=t.stats;n.stats=Tu(a)?a:null,n.statsAt=Date.now(),i===Pe&&Vt()}}catch(n){console.warn("[dsh-tty] stats \u5E27\u5904\u7406\u5931\u8D25\uFF08\u5DF2\u5FFD\u7565\uFF09: "+(n instanceof Error?n.message:String(n)))}else if(t.t==="error")if(Wt("\u9519\u8BEF\uFF1A"+String(t.m??""),"error"),typeof i=="string"){let n=ae.get(i);n!==void 0&&(n.live||(n.errored=!0),jt(),nn(i),di(n,"\u8FDE\u63A5\u51FA\u9519",String(t.m??"")+" \xB7 \u70B9\u51FB\u91CD\u8BD5","error"))}else bf("\u70B9\u51FB\u91CD\u8BD5")},ue.onclose=()=>{if(Or=!1,!Gi){Wt("\u8FDE\u63A5\u65AD\u5F00 \u2014 \u81EA\u52A8\u91CD\u8FDE\u4E2D","error");for(let e of ae.values())e.exited||di(e,"\u8FDE\u63A5\u65AD\u5F00","\u81EA\u52A8\u91CD\u8FDE\u4E2D\u2026","info");za()}},ue.onerror=()=>{}}function bf(e){gi!==null&&(gi.textContent=e)}function gn(){(se===null||Oe)&&Tl()}function Tl(){if(se!==null){Oe&&Al();return}Qi(),se=document.createElement("div"),se.className="tt_modalBackdrop",se.innerHTML='<div class="tt_modal"><div class="tt_header"><span class="tt_titleIcon">'+Zr+'</span><div class="tt_tabs"></div><div class="tt_status"><span class="tt_statusDot"></span><span class="tt_statusText">\u521D\u59CB\u5316\u2026</span></div><input class="tt_searchInput" style="display:none" placeholder="\u641C\u7D22 (Enter \u4E0B\u4E00\u4E2A, Shift+Enter \u4E0A\u4E00\u4E2A)" /><span class="tt_toolGroup"><button class="tt_toolBtn tt_iconBtn" data-act="search" title="\u641C\u7D22 (Ctrl+F)">'+du+'</button><button class="tt_toolBtn tt_iconBtn" data-act="clear" title="\u6E05\u5C4F">'+uu+'</button><button class="tt_toolBtn tt_iconBtn" data-act="copy" title="\u590D\u5236\u9009\u4E2D\u5185\u5BB9">'+fu+'</button><button class="tt_toolBtn tt_iconBtn" data-act="paste" title="\u7C98\u8D34">'+_u+'</button></span><span class="tt_winGroup"><button class="tt_min" title="\u6700\u5C0F\u5316\uFF08\u4F1A\u8BDD\u4FDD\u6301\u8FD0\u884C\uFF0C\u72B6\u6001\u5E76\u5165\u4FA7\u8FB9\u680F\u5165\u53E3\uFF09">'+mu+'</button><button class="tt_close" title="\u5173\u95ED\u9762\u677F\uFF08\u7ED3\u675F\u4F1A\u8BDD\uFF0C\u6807\u7B7E\u4FDD\u7559\uFF0C\u91CD\u5F00\u5373\u6062\u590D\u5217\u8868\uFF09">'+Qr+'</button></span></div><div class="tt_connbar" data-hidden><div class="tt_connArea"><span class="tt_connDot"></span><span class="tt_connTarget">\u2014</span><span class="tt_connBadge"></span></div><div class="tt_connActions"></div></div><div class="tt_work"><div class="tt_body"><div class="tt_statsBar" hidden></div><div class="tt_overlay"></div></div></div></div>',document.body.appendChild(se),Wr=se.querySelector(".tt_status"),zt=se.querySelector(".tt_statusText"),Kt=se.querySelector(".tt_statusDot"),kt=se.querySelector(".tt_tabs"),Ni=se.querySelector(".tt_connbar"),Hi=se.querySelector(".tt_connDot"),$r=se.querySelector(".tt_connTarget"),Ke=se.querySelector(".tt_connBadge"),Fi=se.querySelector(".tt_connActions"),Ve=se.querySelector(".tt_work"),Ge=se.querySelector(".tt_body"),dt=se.querySelector(".tt_statsBar"),et=null,Pu(),gi=se.querySelector(".tt_body > .tt_overlay"),Ne=se.querySelector(".tt_searchInput"),gi.addEventListener("click",()=>{gi.textContent="",Yr()});let e=se.querySelector("[data-act=search]");e.addEventListener("click",()=>{Ml(),Ne.style.display!=="none"&&Ne.focus()}),e.dataset.on="",Ne.addEventListener("keydown",t=>{t.key==="Enter"?(t.preventDefault(),pf(t.shiftKey)):t.key==="Escape"&&(t.stopPropagation(),Ne.style.display="none")}),se.querySelector("[data-act=clear]").addEventListener("click",()=>{let t=Xe();t!==void 0&&t.term!==null&&t.term.clear()}),se.querySelector("[data-act=copy]").addEventListener("click",()=>{let t=Xe();if(t===void 0||t.term===null)return;let i=t.term.getSelection();i!==""&&navigator.clipboard.writeText(i).catch(()=>{})}),se.querySelector("[data-act=paste]").addEventListener("click",()=>{let t=Xe();t!==void 0&&navigator.clipboard.readText().then(i=>{we({t:"input",sid:t.sid,d:i})}).catch(()=>{})}),se.querySelector(".tt_min").addEventListener("click",()=>{Xr()}),se.querySelector(".tt_close").addEventListener("click",()=>{Zi()}),se.addEventListener("mousedown",t=>{t.target===se&&Xr()}),document.addEventListener("keydown",Dl),Wi=new ResizeObserver(()=>{Oe||(Nr(),$u(Xe()))}),Wi.observe(Ge),pt(),jt(),ue!==null&&ue.readyState===WebSocket.OPEN?Rl():Yr()}function wf(){Be=document.createElement("div"),Be.className="tt_dock",Be.title="\u70B9\u51FB\u6062\u590D\u7EC8\u7AEF\u7A97\u53E3",Be.innerHTML='<span class="tt_dockTitle">'+Zr+'<span>\u7EC8\u7AEF</span><span class="tt_dockCount"></span></span><span class="tt_dockStatus"></span><span class="tt_dockDot"></span><button class="tt_dockClose" title="\u5173\u95ED\u9762\u677F\uFF08\u7ED3\u675F\u4F1A\u8BDD\uFF0C\u6807\u7B7E\u4FDD\u7559\uFF0C\u91CD\u5F00\u5373\u6062\u590D\u5217\u8868\uFF09">\u2715</button>',zr=Be.querySelector(".tt_dockCount"),wi=Be.querySelector(".tt_dockStatus"),Gt=Be.querySelector(".tt_dockDot");let e=[...ae.values()].filter(t=>!t.exited).length;zr.textContent=ae.size>0?"\xB7 "+e+"/"+ae.size:"",zt!==null&&(wi.textContent=zt.textContent),Kt!==null&&(Gt.dataset.state=Kt.dataset.state??""),Be.addEventListener("click",t=>{if(t.target.closest(".tt_dockClose")!==null){t.stopPropagation(),Zi();return}Al()}),document.body.appendChild(Be)}function Xr(){se===null||Oe||(ut(),Bt(),Xt(),Oe=!0,Ne!==null&&(Ne.style.display="none"),se.dataset.minimized="",tr(),Vt(),document.querySelector("[data-dsh-tty-entry]")!==null?Ji():(wf(),Be.classList.add("tt_dockCompact")))}function Ji(){let e=document.querySelector("[data-dsh-tty-entry]");if(e===null)return;let t=e.querySelector(".tt_sidebarEntryBadge");if(!Oe){t!==null&&t.remove(),delete e.dataset.minimized,e.removeAttribute("title");return}t===null&&(t=document.createElement("span"),t.className="tt_sidebarEntryBadge",t.innerHTML='<span class="tt_sidebarBadgeDot"></span><span class="tt_sidebarBadgeCount"></span>',e.appendChild(t)),e.dataset.minimized="",e.title="\u7EC8\u7AEF\u5DF2\u6700\u5C0F\u5316 \u2014 \u70B9\u51FB\u6062\u590D";let i=[...ae.values()].filter(a=>!a.exited).length;t.querySelector(".tt_sidebarBadgeCount").textContent=i+"/"+ae.size;let n=t.querySelector(".tt_sidebarBadgeDot");n!==null&&Kt!==null&&(n.dataset.state=Kt.dataset.state??"")}function Sf(){if(!Oe)return;let e=document.querySelector("[data-dsh-tty-entry] .tt_sidebarBadgeDot")??Gt;e!==null&&(e.dataset.active="",clearTimeout(Ur),Ur=setTimeout(()=>{delete e.dataset.active},900))}function Al(){if(se===null||!Oe)return;Oe=!1,delete se.dataset.minimized,clearTimeout(Ur),Be!==null&&(Be.remove(),Be=null),zr=null,wi=null,Gt=null,Ji(),tr(),Vt();let e=Xe();if(e!==void 0&&e.fit!==void 0){try{e.fit.fit()}catch{}e.spawned&&!e.exited&&Ci(e)}e!==void 0&&e.term!==null&&e.term.focus()}function Zi(){if(se===null)return;ji(!0);let e=wn();if(Gi=!e,Oe=!1,ut(),Bt(),Xt(),clearTimeout(Ur),clearTimeout(Ut),Ut=null,$i=1e3,Be!==null&&(Be.remove(),Be=null),zr=null,wi=null,Gt=null,Ji(),ue!==null){for(let t of ae.values())!t.exited&&t.embedded!==!0&&we({t:"kill",sid:t.sid});if(!e){try{ue.close()}catch{}ue=null}}Wi!==null&&(Wi.disconnect(),Wi=null);for(let[t,i]of[...ae])if(i.embedded!==!0){if(i.term!==null)try{i.term.dispose()}catch{}ae.delete(t)}Pe=null,document.removeEventListener("keydown",Dl),se.remove(),se=null,Ve=null,Wr=null,zt=null,Kt=null,kt=null,Ni=null,Hi=null,$r=null,Ke=null,Fi=null,cn(),Ou(),dt=null,et=null,Ge=null,gi=null,Ne=null,es=0;try{sessionStorage.removeItem(jr)}catch{}}function Dl(e){if(e.key==="Escape"&&se!==null){if(e.preventDefault(),Xi!==null){Xt();return}if(vi!==null){Bt();return}if(Ye!==null){ut();return}Xr()}}function Cf(){let e=document.querySelector('[data-pane="sidebar"], [class*="sidebarCol"]');if(e!==null)return e.querySelector('[class*="logoRow"]')?.parentElement??e.firstElementChild}function yf(e){let t=e.querySelector('button[class*="newSession"]');if(t!==null)return t;for(let i of e.children)if(i.tagName==="BUTTON")return i}function xf(){let e=document.createElement("div");return e.dataset.dshTtyEntry="",e.className="tt_sidebarEntry",e.setAttribute("role","button"),e.setAttribute("aria-label","\u7EC8\u7AEF"),e.innerHTML='<span class="tt_sidebarEntryIcon">'+Zr+'</span><span class="tt_sidebarEntryLabel">\u7EC8\u7AEF</span>',e.addEventListener("click",t=>{t.preventDefault(),Tl()}),e}function Ua(e,t){let i=yf(e);if(i===void 0)return!1;if(t.parentElement!==e){let n=i.closest('[class*="logoRow"]'),a=n!==null&&n.parentElement===e?n:i,r=Array.from(e.children).filter(s=>s instanceof HTMLElement&&s.matches("[data-dsh-global-search-entry], [data-dsh-rss-entry], [data-dsh-taskboard-entry], [data-dsh-ssh-entry], [data-dsh-tty-entry]"));if(r.length>0){let s=r[r.length-1];e.insertBefore(t,s.nextSibling)}else e.insertBefore(t,a.nextElementSibling)}return!0}function kf(){if(Qi(),typeof document<"u"&&document.querySelector("[data-dsh-tty-entry]")!==null)return()=>{};let e=xf(),t,i=!1,n=()=>{if(t!==void 0&&!t.isConnected&&(r.disconnect(),t=void 0,i=!1),i){if(document.body.contains(e))return;r.disconnect(),t=void 0,i=!1}t??(t=Cf()),t!==void 0&&(i=Ua(t,e),i&&r.observe(t,{childList:!0,subtree:!0}))},a=new MutationObserver(()=>{n()});a.observe(document.body,{childList:!0,subtree:!0});let r=new MutationObserver(()=>{if(t===void 0||!t.isConnected){i=!1,n();return}t.contains(e)||(i=Ua(t,e))});return n(),()=>{a.disconnect(),r.disconnect(),e.remove()}}window.__ModuleLoader__.load({id:"@hyzyn/dsh-tty",factory:e=>{let t={},i=e("react"),{jsx:n,jsxs:a}=e("react/jsx-runtime"),r="M11.8486 5.5L11.4238 5.92383L8.69727 8.65137C8.44157 8.90706 8.21562 9.13382 8.01172 9.29785C7.79912 9.46883 7.55595 9.61756 7.25 9.66602C7.08435 9.69222 6.91565 9.69222 6.75 9.66602C6.44405 9.61756 6.20088 9.46883 5.98828 9.29785C5.78438 9.13382 5.55843 9.13382 5.30273 8.65137L2.57617 5.92383L2.15137 5.5L3 4.65137L3.42383 5.07617L6.15137 7.80273C6.42595 8.07732 6.59876 8.24849 6.74023 8.3623C6.87291 8.46904 6.92272 8.47813 6.9375 8.48047C6.97895 8.48703 7.02105 8.48703 7.0625 8.48047C7.07728 8.47813 7.12709 8.46904 7.25977 8.3623C7.40124 8.24849 7.57405 8.07732 7.84863 7.80273L10.5762 5.07617L11 4.65137L11.8486 5.5Z";function s(f){let l=f&&f.view,p=l==="page",[g,S]=i.useState(p),[_,c]=i.useState(null),[d,h]=i.useState(!1),[u,v]=i.useState(!1),[C,b]=i.useState({kind:"",text:""}),[y,m]=i.useState([]),[E,P]=i.useState(!1),B=W=>n("div",{className:"tt_cardSection",children:W}),H=async()=>{try{let G=await(await fetch("/api/dsh-tty/config",{cache:"no-store"})).json();G.ok&&typeof G.config=="object"&&G.config!==null?(c(G.config),Yi(G.config)):b({kind:"error",text:String(G.error||"\u8BFB\u53D6\u914D\u7F6E\u5931\u8D25")})}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},R=async()=>{try{let G=await(await fetch("/api/dsh-tty/shells",{cache:"no-store"})).json();G.ok&&Array.isArray(G.shells)&&m(G.shells)}catch{}};i.useEffect(()=>{g&&!d&&(h(!0),H(),R())},[g]);let j=(W,G)=>c(Y=>({...Y||{},[W]:G})),A=(W,G)=>c(Y=>({...Y||{},sftpLimits:{...Y?.sftpLimits??{},[W]:G}})),[T,F]=i.useState(null),[D,w]=i.useState(null),[L,k]=i.useState(""),[M,$]=i.useState(null),[q,V]=i.useState(""),[J,N]=i.useState(""),[x,I]=i.useState(""),O=i.useRef(null),[U,z]=i.useState(!1),[X,Q]=i.useState({text:"",kind:""}),[ie,te]=i.useState(!1),[K,Z]=i.useState({running:!1,ok:!1,text:""}),[re,le]=i.useState({}),[he,Se]=i.useState([]),[de,ye]=i.useState({direction:"local",localPort:"",remoteHost:"",remotePort:"",localTargetPort:"",bookName:""});i.useEffect(()=>{if(!g)return;let W=!0,G=async()=>{try{let ce=await(await fetch("/api/dsh-tty/tunnels",{cache:"no-store"})).json();W&&ce.ok&&Array.isArray(ce.tunnels)&&Se(ce.tunnels)}catch{}};G();let Y=setInterval(G,2e3);return()=>{W=!1,clearInterval(Y)}},[g]);let ve=W=>G=>ye(Y=>({...Y||{},[W]:G.target.value})),Ze=W=>W?.direction==="remote"?`\u8FDC\u7A0B:${W.remoteHost||"127.0.0.1"}:${String(W.remotePort??0)} \u2192 \u672C\u673A:${String(W.localTargetPort??0)}`:`\u672C\u673A:${String(W?.localPort??0)} \u2192 ${W?.remoteHost??"?"}:${String(W?.remotePort??0)}`,Nt=(_?.sshHosts??[]).find(W=>W?.name===de?.bookName),$e=async W=>{try{let G=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({tunnels:W})}),Y=await G.json().catch(()=>({}));return!G.ok||!Y.ok?(b({kind:"error",text:String(Y.error||"\u4FDD\u5B58\u96A7\u9053\u5931\u8D25")}),!1):!0}catch(G){return b({kind:"error",text:String(G&&G.message?G.message:G)}),!1}},Zt=()=>{b({kind:"",text:""});let W=de||{},G=W.bookName||(Array.isArray(_?.sshHosts)?_.sshHosts[0]?.name:"")||"";if(G===""){b({kind:"error",text:"\u8BF7\u5148\u5728\u8FDE\u63A5\u7C3F\u91CC\u6DFB\u52A0 SSH \u6761\u76EE"});return}let Y=Me=>{let nr=Number(Me);return Number.isInteger(nr)&&nr>=1&&nr<=65535?nr:0},ee;if(W.direction==="remote"){if(ee={name:"",bookName:G,direction:"remote",remotePort:Y(W.remotePort),localTargetHost:"",localTargetPort:Y(W.localTargetPort),enabled:!0},ee.remotePort<1||ee.localTargetPort<1){b({kind:"error",text:"\u8FDC\u7A0B\u76D1\u542C\u7AEF\u53E3\u4E0E\u672C\u5730\u76EE\u6807\u7AEF\u53E3\u5FC5\u586B\uFF081~65535\uFF09"});return}ee.name=`${G}-R${String(ee.remotePort)}`}else{if(ee={name:"",bookName:G,direction:"local",localPort:Y(W.localPort),remoteHost:W.remoteHost.trim(),remotePort:Y(W.remotePort),enabled:!0},ee.localPort<1||ee.remoteHost===""||ee.remotePort<1){b({kind:"error",text:"\u672C\u5730\u7AEF\u53E3\u3001\u8FDC\u7A0B\u4E3B\u673A\u3001\u8FDC\u7A0B\u7AEF\u53E3\u5FC5\u586B"});return}ee.name=`${G}-L${String(ee.localPort)}`}let ce=new Set((Array.isArray(_?.tunnels)?_.tunnels:[]).map(Me=>Me?.name)),ne=ee.name,pe=2;for(;ce.has(ne);)ne=`${ee.name}-${String(pe)}`,pe+=1;ee.name=ne;let oe=[...Array.isArray(_?.tunnels)?_.tunnels:[],ee];c(Me=>({...Me||{},tunnels:oe})),ye(Me=>({...Me||{},localPort:"",remoteHost:"",remotePort:"",localTargetPort:""})),$e(oe).then(Me=>{Me&&b({kind:"ok",text:`\u96A7\u9053\u300C${ne}\u300D\u5DF2\u751F\u6548`})})},it=W=>{let G=(Array.isArray(_?.tunnels)?_.tunnels:[]).filter(Y=>Y?.name!==W);c(Y=>({...Y||{},tunnels:G})),$e(G)},Ht=(W,G)=>{let Y=(Array.isArray(_?.tunnels)?_.tunnels:[]).map(ee=>ee?.name===W?{...ee,enabled:G}:ee);c(ee=>({...ee||{},tunnels:Y})),$e(Y)},_e=W=>{F(W?.name??null),k(""),Z({running:!1,ok:!1,text:""}),V(""),N(""),ss(),z(ft!==null),w({name:W?.name??"",host:W?.host??"",port:String(W?.port??22),username:W?.username??"",auth:W?.auth==="key"||W?.auth==="password"?W.auth:"agent",keyPath:W?.keyPath??"",passphrase:W?.passphrase??"",password:W?.password??"",agentForward:W?.agentForward===!0,persist:W?.persist!==!1}),Ka().then(G=>$(G)),ns(W?.password??"")},sr=()=>{F(null),w(null),k(""),Z({running:!1,ok:!1,text:""}),V(""),N(""),ss()},Bl=async()=>{if(D===null)return;let W=D.name.trim(),G=D.host.trim(),Y=D.username.trim();if(W===""||G===""||Y===""){k("\u540D\u79F0\u3001\u4E3B\u673A\u3001\u7528\u6237\u540D\u5FC5\u586B");return}let ee=Number(D.port);if((!Number.isInteger(ee)||ee<1||ee>65535)&&(ee=22),(_?.sshHosts??[]).some(ne=>ne?.name===W&&W!==T)){k("\u8FDE\u63A5\u7C3F\u91CC\u5DF2\u6709\u540C\u540D\u6761\u76EE: "+W);return}if(D.auth==="key"&&D.keyPath.trim()===""){k("auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84");return}k("");let ce=D.password;if(D.auth==="password"){let ne=await Ya(U,D.password,G,ee,Y,"PASSWORD");if(ne.error!==void 0){k(ne.error);return}ne.value!==void 0&&(ce=ne.value)}c(ne=>({...ne||{},sshHosts:(Array.isArray(ne?.sshHosts)?ne.sshHosts:[]).map(pe=>pe?.name===T?{name:W,host:G,port:ee,username:Y,auth:D.auth,keyPath:D.keyPath.trim(),passphrase:D.passphrase,password:ce,agentForward:D.agentForward,persist:D.persist===!0}:pe)})),le(ne=>{let pe={...ne};return delete pe[W],T!==W&&delete pe[T],pe}),F(null),w(null),Z({running:!1,ok:!1,text:""}),b({kind:"ok",text:"\u5DF2\u4FEE\u6539\u6761\u76EE\u300C"+W+"\u300D\u2014 \u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})},Pl=W=>{T===W&&sr(),le(G=>{let Y={...G};return delete Y[W],Y}),c(G=>({...G||{},sshHosts:(Array.isArray(G?.sshHosts)?G.sshHosts:[]).filter(Y=>Y?.name!==W)}))},Ol=async W=>{let G=W?.name??"";if(G==="")return;let Y={host:W?.host??"",port:Number(W?.port)||22,username:W?.username??"",auth:W?.auth==="key"||W?.auth==="password"?W.auth:"agent",keyPath:W?.keyPath??"",passphrase:W?.passphrase??"",password:W?.password??"",agentForward:W?.agentForward===!0};le(ce=>({...ce,[G]:{running:!0,text:"\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026"}}));let ee=await dn(Y,!0);le(ce=>{let ne=ce[G]||{};if(ee.result){let pe=ee.result.auth?.ok===!0;return{...ce,[G]:{running:!1,ok:pe,text:un(ee.result)}}}return{...ce,[G]:{running:!1,ok:!1,text:"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(ee.error||"\u672A\u77E5\u9519\u8BEF")}}})},Il=async W=>{let G=(Array.isArray(_?.hostKeys)?_.hostKeys:[]).filter(Y=>!(Y?.host===W?.host&&Number(Y?.port)===Number(W?.port)));c(Y=>({...Y||{},hostKeys:G}));try{let Y=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({hostKeys:G})}),ee=await Y.json().catch(()=>({}));!Y.ok||!ee.ok?b({kind:"error",text:String(ee.error||"\u5220\u9664\u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\u5931\u8D25")}):b({kind:"ok",text:"\u5DF2\u5220\u9664\u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\uFF08\u4E0B\u6B21\u8FDE\u63A5\u91CD\u65B0\u8BB0\u5F55\u6307\u7EB9\uFF09"})}catch(Y){b({kind:"error",text:String(Y&&Y.message?Y.message:Y)})}},Nl=async()=>{b({kind:"",text:""});try{let G=await(await fetch("/api/dsh-tty/ssh-config",{cache:"no-store"})).json();if(!G.ok){b({kind:"error",text:String(G.error||"\u8BFB\u53D6 ~/.ssh/config \u5931\u8D25")});return}let Y=Array.isArray(G.entries)?G.entries:[],ee=[...Array.isArray(_?.sshHosts)?_.sshHosts:[]],ce=new Set(ee.map(oe=>oe?.name)),ne=0,pe=0;for(let oe of Y)if(!(oe===null||typeof oe!="object"||typeof oe.name!="string")){if(ce.has(oe.name)){pe+=1;continue}ce.add(oe.name),ee.push({name:oe.name,host:String(oe.host??oe.name),port:Number(oe.port)||22,username:String(oe.username??""),auth:oe.auth==="key"?"key":"agent",keyPath:String(oe.keyPath??""),passphrase:"",password:"",agentForward:!1}),ne+=1}c(oe=>({...oe||{},sshHosts:ee})),b(ne===0?{kind:"ok",text:pe>0?`\u6CA1\u6709\u65B0\u6761\u76EE\uFF08${pe} \u6761\u540C\u540D\u8DF3\u8FC7\uFF09`:"~/.ssh/config \u91CC\u6CA1\u6709\u53EF\u5BFC\u5165\u7684\u5177\u4F53\u4E3B\u673A"}:{kind:"ok",text:`\u5DF2\u5BFC\u5165 ${ne} \u6761\uFF08\u540C\u540D\u8DF3\u8FC7 ${pe} \u6761\uFF09\uFF0C\u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E`})}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},Hl=async()=>{b({kind:"",text:""});try{let G=await(await fetch("/api/dsh-tty/known-hosts",{cache:"no-store"})).json();if(!G.ok){b({kind:"error",text:String(G.error||"\u8BFB\u53D6 ~/.ssh/known_hosts \u5931\u8D25")});return}let Y=Array.isArray(G.entries)?G.entries:[],ee=[...Array.isArray(_?.hostKeys)?_.hostKeys:[]],ce=new Set(ee.map(oe=>String(oe?.host??"")+":"+String(oe?.port??22))),ne=0,pe=0;for(let oe of Y){if(oe===null||typeof oe!="object"||typeof oe.host!="string"||typeof oe.fingerprint!="string")continue;let Me=oe.host+":"+String(oe.port??22);if(ce.has(Me)){pe+=1;continue}ce.add(Me),ee.push({host:oe.host,port:Number(oe.port)||22,fingerprint:oe.fingerprint}),ne+=1}if(ne===0){b({kind:"ok",text:pe>0?`\u6CA1\u6709\u65B0\u6307\u7EB9\uFF08${pe} \u6761\u5DF2\u5B58\u5728\uFF09`:"known_hosts \u91CC\u6CA1\u6709\u53EF\u5BFC\u5165\u7684\u5177\u4F53\u4E3B\u673A"});return}c(oe=>({...oe||{},hostKeys:ee}));try{let oe=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({hostKeys:ee})}),Me=await oe.json().catch(()=>({}));if(!oe.ok||!Me.ok){b({kind:"error",text:String(Me.error||"\u4FDD\u5B58 hostKeys \u5931\u8D25")});return}b({kind:"ok",text:`\u5DF2\u5BFC\u5165 ${ne} \u6761\u6307\u7EB9\uFF08\u8DF3\u8FC7 ${pe} \u6761\u5DF2\u5B58\u5728\uFF09`})}catch(oe){b({kind:"error",text:String(oe&&oe.message?oe.message:oe)})}}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},Fl=async()=>{v(!0),b({kind:"",text:""});let W={};for(let G of["enabled","announceToAgent","maxSessions","shell","term","colorTerm","cwd","reconnectGraceSec","shellIntegration","sftpStyle","persistence","endOnPageClose","statsEnabled"]){let Y=(_||{})[G];Y!==void 0&&Y!==""&&(W[G]=Y)}W.sshHosts=Array.isArray(_?.sshHosts)?_.sshHosts:[],W.tunnels=Array.isArray(_?.tunnels)?_.tunnels:[],_?.sftpLimits&&typeof _.sftpLimits=="object"&&(W.sftpLimits={maxDownloadMb:Number(_.sftpLimits.maxDownloadMb)||0,maxUploadMb:Number(_.sftpLimits.maxUploadMb)||0,maxUploadFiles:Number(_.sftpLimits.maxUploadFiles)||0});try{let G=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(W)}),Y=await G.json();!G.ok||!Y.ok?b({kind:"error",text:String(Y.error||"\u4FDD\u5B58\u5931\u8D25")}):(b({kind:"ok",text:"\u5DF2\u4FDD\u5B58\u5E76\u70ED\u751F\u6548"}),Y.config&&(c(Y.config),Yi(Y.config)))}catch(G){b({kind:"error",text:String(G&&G.message?G.message:G)})}v(!1)},ss=()=>{O.current!==null&&(clearTimeout(O.current),O.current=null),I("")},ns=async W=>{let G=_i(W);if(bi()===null){z(!1),te(!1),Q({text:ft===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58",kind:"muted"});return}if(G===""){te(!1),Q({text:"",kind:""});return}let Y=await Ga(G);if(Y.unreported===!0){te(!1),Q({text:"\u5F15\u7528 "+G+"\uFF1A\u5BBF\u4E3B\u672A\u62A5\u544A\u72B6\u6001",kind:"plain"});return}if(Y.error!==void 0){te(!1),Q({text:"\u8BFB\u53D6\u51ED\u636E\u72B6\u6001\u5931\u8D25\uFF1A"+Y.error,kind:"error"});return}let ee=Y.view;Q({text:ee.configured?"\u5DF2\u5B58\u5165"+(ee.source!==""?"\uFF08\u6765\u6E90 "+ee.source+"\uFF09":"")+" \xB7 "+G:"\u5F15\u7528 "+G+"\uFF1A\u5B58\u50A8\u91CC\u8FD8\u6CA1\u6709\u8FD9\u4E2A\u503C",kind:ee.configured?"ok":"plain"}),te(ee.configured===!0&&ee.writable===!0)},Wl=async()=>{let W=_i(D?.password??"");if(W==="")return;let G=await Va(W);if(G.error!==void 0){Q({text:G.error,kind:"error"});return}w(Y=>({...Y||{},password:""})),Q({text:"",kind:""}),te(!1)},$l=(W,G)=>{let Y=String(D?.[W]??"");if(Y===""||Y.startsWith("env:")||x===G){ss(),w(ee=>({...ee||{},[W]:"env:"+G})),V(""),W==="password"&&ns("env:"+G);return}I(G),O.current!==null&&clearTimeout(O.current),O.current=setTimeout(()=>{O.current=null,I("")},4e3)},Ln=(W,G)=>{if(M===null)return null;if(M.length===0)return n("span",{className:"tt_cardHint",children:G});let Y=q===W,ee=J.trim().toUpperCase(),ce=ee===""?M:M.filter(ne=>ne.toUpperCase().includes(ee));return a("div",{className:"tt_credPicker",children:[n("input",{className:"tt_cardInput",value:Y?J:"",placeholder:"\u6216\uFF1A\u9009\u62E9\u51ED\u636E\u5B58\u50A8\u91CC\u7684\u5F15\u7528\u540D",title:"\u5019\u9009 = \u51ED\u636E\u5B58\u50A8\u91CC\u5DF2\u6709\u7684\u5F15\u7528\u540D + \u672C\u673A\u8FDE\u63A5\u7C3F\u91CC\u5728\u7528\u7684\u5F15\u7528\u540D",autoComplete:"off",spellCheck:!1,onFocus:()=>{V(W),N("")},onBlur:ne=>{ne.currentTarget.parentElement.contains(ne.relatedTarget)||V("")},onChange:ne=>{N(ne.target.value),V(W)}}),...Y?[n("div",{className:"tt_envList",children:[...ce.length===0?[n("span",{className:"tt_envMore",children:"\u6CA1\u6709\u5339\u914D\u7684\u5F15\u7528"})]:ce.slice(0,30).map(ne=>n("button",{type:"button",className:"tt_envItem","data-danger":x===ne?"":void 0,onMouseDown:pe=>pe.preventDefault(),onClick:()=>$l(W,ne),children:x===ne?ne+"\uFF08\u518D\u70B9\u8986\u76D6\u5DF2\u586B\uFF09":ne},ne)),...ce.length>30?[n("span",{className:"tt_envMore",children:"\u8FD8\u6709 "+(ce.length-30)+" \u4E2A \u2014 \u7EE7\u7EED\u8F93\u5165\u7B5B\u9009"})]:[]]},"cred-list-"+W)]:[]]})},zl=()=>{let G=_i(D?.password??"")!=="",Y=bi()===null;return a("div",{className:"tt_sshRow tt_credRow",children:[G?n("button",{type:"button",className:"tt_toolBtn tt_credClear",disabled:ie!==!0,onClick:()=>{Wl()},children:"\u6E05\u9664\u5DF2\u5B58\u51ED\u636E"}):n("label",{className:"tt_credToggle",title:"\u52FE\u9009\u540E\uFF0C\u70B9\u300C\u5E94\u7528\u300D\u65F6\u628A\u5BC6\u7801\u5199\u8FDB\u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF0C\u5B57\u6BB5\u91CC\u53EA\u7559 env: \u5F15\u7528\uFF08\u503C\u5728 ~/.dsh/.credentials.yaml\uFF0C\u4E0D\u8FDB\u73AF\u5883\u3001\u4E0D\u56DE\u4F20\u6D4F\u89C8\u5668\uFF1B\u6321\u4E0D\u4F4F\u540C\u7528\u6237\u8FDB\u7A0B\u4E0E agent\uFF09\u3002\u4E0D\u52FE\u9009\u5219\u6309\u73B0\u72B6\u660E\u6587\u5199\u8FDB\u8BBE\u7F6E\u6587\u4EF6\u3002\u80FD\u7528\u5BC6\u94A5 / agent \u5C31\u522B\u5B58\u5BC6\u7801\u3002",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:U,disabled:Y,onChange:ee=>z(ee.target.checked)}),n("span",{children:"\u5E94\u7528\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8"})]}),X.text===""?null:n("span",{className:"tt_credStatus","data-kind":X.kind,children:X.text}),Y&&X.text===""?n("span",{className:"tt_credStatus","data-kind":"muted",children:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58"}):null]})},Mn=()=>{let W=String(D?.host??"").trim(),G=String(D?.username??"").trim(),Y=Number(D?.port);if((!Number.isInteger(Y)||Y<1||Y>65535)&&(Y=22),W===""||G==="")return k("\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B"),null;let ee=D?.auth,ce={host:W,port:Y,username:G,auth:ee};if(ee==="key"){let ne=String(D?.keyPath??"").trim();if(ne==="")return k("auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84"),null;ce.keyPath=ne,D?.passphrase!==""&&(ce.passphrase=D.passphrase)}if(ee==="password"){let ne=String(D?.password??"");if(ne==="")return k("auth=password \u9700\u8981\u5BC6\u7801"),null;ce.password=ne}return D?.agentForward===!0&&(ce.agentForward=!0),ce},Ul=()=>{k("");let W=Mn();W!==null&&(Z({running:!0,ok:!1,text:"\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026"}),dn(W,!1).then(G=>{if(G.result){let Y=G.result.auth?.ok===!0;Z({running:!1,ok:Y,text:un(G.result)});return}Z({running:!1,ok:!1,text:"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(G.error||"\u672A\u77E5\u9519\u8BEF")})}))},jl=()=>{k("");let W=Mn();W!==null&&rs(W)},ql=()=>{if(D===null)return null;let W=(G,Y,ee,ce,ne)=>a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:G}),n("input",{className:"tt_cardInput",type:ce??"text",value:D[Y]??"",placeholder:ee??"",autoComplete:"off",spellCheck:!1,onChange:pe=>{let oe=pe.target.value;w(Me=>({...Me||{},[Y]:oe}))},...ne??{}})]});return a("div",{className:"tt_sshEdit",children:[n("div",{className:"tt_sshSection",children:"\u8FDE\u63A5"}),a("div",{className:"tt_sshGrid",children:[W("\u540D\u79F0","name","\u540C\u540D\u51B2\u7A81\u4F1A\u88AB\u62D2\u7EDD"),W("\u7AEF\u53E3","port","22")]}),W("\u4E3B\u673A","host","example.com \u6216 IP"),W("\u7528\u6237\u540D","username","root"),n("div",{className:"tt_sshSection",children:"\u8BA4\u8BC1"}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u8BA4\u8BC1\u65B9\u5F0F"}),a("select",{className:"tt_cardInput",value:D.auth,onChange:G=>w(Y=>({...Y||{},auth:G.target.value})),children:[n("option",{value:"agent",children:"agent \u2014 \u4F7F\u7528\u672C\u673A ssh-agent"}),n("option",{value:"key",children:"key \u2014 \u79C1\u94A5\u6587\u4EF6"}),n("option",{value:"password",children:"password \u2014 \u5BC6\u7801"})]})]}),...D.auth==="key"?[W("\u79C1\u94A5\u8DEF\u5F84","keyPath","~/.ssh/id_ed25519"),W("\u79C1\u94A5\u53E3\u4EE4\uFF08\u53EF\u7A7A\uFF09","passphrase","","password"),Ln("passphrase","\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u53EF\u5728\u79C1\u94A5\u53E3\u4EE4\u6846\u76F4\u63A5\u624B\u8F93 env:NAME")]:[],...D.auth==="password"?[W("\u5BC6\u7801","password","","password",{onBlur:()=>{ns(D.password)}}),zl(),Ln("password","\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u52FE\u4E0A\u9762\u7684\u300C\u5E94\u7528\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u300D\u65B0\u5EFA\u4E00\u4E2A\uFF0C\u6216\u76F4\u63A5\u5728\u5BC6\u7801\u6846\u624B\u8F93 env:NAME")]:[],n("div",{className:"tt_sshSection",children:"\u9009\u9879"}),a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:D.agentForward===!0,onChange:G=>w(Y=>({...Y||{},agentForward:G.target.checked}))}),n("span",{className:"tt_cardLabel",children:"agent forwarding\uFF08\u8FDC\u7A0B\u53EF\u7528\u672C\u5730 ssh-agent \u94A5\u5319\uFF0C\u5982\u8FDC\u7A0B git clone\uFF09"})]}),Ot==="tmux"?a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:D.persist===!0,onChange:G=>w(Y=>({...Y||{},persist:G.target.checked}))}),n("span",{className:"tt_cardLabel",children:"\u6301\u4E45\u4F1A\u8BDD\uFF08tmux \u6258\u7BA1\uFF0C\u65AD\u7EBF/\u91CD\u542F\u540E\u6062\u590D\u73B0\u573A\uFF1B\u8FDC\u7A0B\u9700\u5B89\u88C5 tmux\uFF09"})]}):null,K.text!==""?n("div",{className:"tt_sshProbeResult"+(!K.running&&K.ok?" tt_sshProbeOk":"")+(!K.running&&!K.ok?" tt_sshProbeBad":""),children:K.text}):null,L!==""?n("span",{className:"tt_cardMessage tt_cardMessageError",children:L}):null,a("div",{className:"tt_sshActions",children:[a("div",{className:"tt_sshActionsGroup",children:[n("button",{type:"button",className:"tt_toolBtn",onClick:sr,children:"\u53D6\u6D88"}),n("button",{type:"button",className:"tt_toolBtn",title:"\u4E0D\u52A8\u7EC8\u7AEF\uFF0C\u76F4\u63A5\u4EE5\u5F53\u524D\u586B\u5199\u7684\u4FE1\u606F\u6253\u5F00 SFTP \u6587\u4EF6\u6D4F\u89C8",onClick:jl,children:"\u6587\u4EF6\u6D4F\u89C8"}),n("button",{type:"button",className:"tt_toolBtn",disabled:K.running,title:"\u6309\u5F53\u524D\u586B\u5199\u8BCA\u65AD\u8FDE\u63A5\uFF08TCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\uFF09\uFF1B\u4E0D\u4F1A\u65B0\u5EFA\u4F1A\u8BDD\uFF0C\u4E5F\u4E0D\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9",onClick:Ul,children:K.running?"\u8BD5\u8FDE\u4E2D\u2026":"\u8BD5\u8FDE"})]}),a("div",{className:"tt_sshActionsGroup",children:[n("button",{type:"button",className:"tt_cardSave",onClick:()=>{Bl()},children:"\u5E94\u7528"}),n("span",{className:"tt_cardHint",children:"\u968F\u5361\u7247\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})]})]})]})},yi=(W,G,Y,ee)=>a("label",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:W}),n("input",{className:"tt_cardInput",value:_[G]??"",placeholder:Y??"",onChange:ce=>j(G,ce.target.value)}),ee?n("span",{className:"tt_cardHint",children:ee}):null]}),xi=(W,G)=>a("label",{className:"tt_cardField tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:_[G]===!0,onChange:Y=>j(G,Y.target.checked)}),n("span",{className:"tt_cardLabel",children:W})]}),ki=_?.platform==="win32";return l==="summary"?"xterm \u7EC8\u7AEF\u9762\u677F\uFF1A\u591A\u6807\u7B7E\u9875\u3001\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\u3001cwd \u8DDF\u968F\u4F1A\u8BDD\u3001SSH \u8FDE\u63A5\u7C3F\u4E0E\u4E3B\u673A\u6307\u7EB9\u9489\u624E\u3001tmux \u4F1A\u8BDD\u6301\u4E45\u5316\u3002":a(p?"div":"li",{className:p?"tt_pageHost":g?"tt_card tt_cardOpen":"tt_card",children:[p?null:a("button",{type:"button",className:"tt_cardHeader","aria-expanded":g,onClick:()=>S(W=>!W),children:[a("span",{className:"tt_cardHeadText",children:[n("span",{className:"tt_cardName",children:"\u7EC8\u7AEF\u9762\u677F"}),n("span",{className:"tt_cardDescription",children:"xterm \u7EC8\u7AEF\u9762\u677F\uFF1A\u591A\u6807\u7B7E\u9875\u3001\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\u3001cwd \u8DDF\u968F\u4F1A\u8BDD\u3001SSH \u8FDE\u63A5\u7C3F\u4E0E\u4E3B\u673A\u6307\u7EB9\u9489\u624E\u3001tmux \u4F1A\u8BDD\u6301\u4E45\u5316\uFF1Bshell / TERM / \u5E76\u53D1\u4E0A\u9650\u7B49\u4FDD\u5B58\u5373\u70ED\u751F\u6548\u3002"})]}),n("span",{className:"dshkit_badge",children:"Kit"}),n("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:g?"tt_cardChevron tt_cardChevronOpen":"tt_cardChevron",children:n("path",{d:r,fill:"currentColor"})})]}),p||g?a("div",{className:"tt_cardBody",children:[_===null?n("div",{className:"tt_cardMessage",children:"\u52A0\u8F7D\u914D\u7F6E\u4E2D\u2026"}):a("div",{children:[B("\u57FA\u7840"),xi("\u542F\u7528\u63D2\u4EF6\uFF08\u4FDD\u5B58\u5373\u70ED\u751F\u6548\uFF1A\u5DE5\u5177\u4E0E\u9762\u677F\u5165\u53E3\u7ACB\u523B\u6536\u8D77\uFF0C\u4F1A\u8BDD\u8F6C\u4FDD\u6D3B\uFF09","enabled"),xi("\u5411 agent \u516C\u544A\u7EC8\u7AEF\u9762\u677F\u80FD\u529B","announceToAgent"),ki?a("div",{className:"tt_cardField",children:[a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:!1,disabled:!0}),n("span",{className:"tt_cardLabel",children:"shell \u96C6\u6210\uFF08OSC 133/7 \u6CE8\u5165\uFF09"})]}),n("span",{className:"tt_cardHint",children:"Windows \u5BBF\u4E3B\u4E0A\u4E0D\u9002\u7528\uFF1A\u6CE8\u5165\u8D70\u7684\u662F POSIX \u7684 `-c` \u5305\u88C5\u5C42\u4E0E rc \u6869\uFF0Ccmd / PowerShell \u4E0A\u90FD\u4E0D\u6210\u7ACB\uFF08\u5B9E\u6D4B cmd \u5FFD\u7565 `-c` \u7A7A\u8DD1\u3001PowerShell \u62A5 export \u4E0D\u5B58\u5728\uFF09\u3002\u56E0\u6B64**\u672C\u5730**\u6807\u7B7E\u7684 cwd \u8DDF\u968F\u4E0E tty_capture{last} \u4E0D\u53EF\u7528\uFF1B\u8FDC\u7A0B Linux / macOS \u4E3B\u673A\u7167\u65E7\u652F\u6301\u3002"})]}):xi("shell \u96C6\u6210\uFF08OSC 133/7 \u6CE8\u5165\uFF0Ctty_capture{last} \u4E0E cwd \u8DDF\u968F\u4F9D\u8D56\u5B83\uFF09","shellIntegration"),B("SFTP \u6587\u4EF6\u4F20\u8F93"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SFTP \u6587\u4EF6\u6D4F\u89C8\u98CE\u683C"}),a("select",{className:"tt_cardInput",value:_.sftpStyle==="dual"?"dual":"dialog",onChange:W=>j("sftpStyle",W.target.value),children:[n("option",{value:"dialog",children:"\u5355\u7A97\u4F53 \u2014 \u8FDC\u7A0B\u76EE\u5F55 + \u4E0A\u4F20/\u4E0B\u8F7D/\u62D6\u62FD"}),n("option",{value:"dual",children:"\u53CC\u680F \u2014 \u5DE6\u672C\u673A / \u53F3\u8FDC\u7A0B\uFF0C\u9009\u4E2D\u76F4\u4F20"})]}),n("span",{className:"tt_cardHint",children:"\u53CC\u680F\u5728\u672C\u673A\u4E0E\u8FDC\u7A0B\u4E4B\u95F4\u5BF9\u62F7\u6587\u4EF6\uFF08\u76EE\u5F55\u9012\u5F52\u3001\u540C\u540D\u8986\u76D6\uFF09\uFF1B\u91CD\u65B0\u6253\u5F00 SFTP \u540E\u751F\u6548"})]}),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SFTP \u4F20\u8F93\u9650\u5236\uFF080 = \u4E0D\u9650\uFF09"}),a("div",{className:"tt_limitGrid",children:[a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u4E0B\u8F7D\u4E0A\u9650 (MB)"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxDownloadMb))?Number(_.sftpLimits.maxDownloadMb):1024),onChange:W=>A("maxDownloadMb",Number(W.target.value)||0)})]}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u4E0A\u4F20\u4E0A\u9650 (MB)"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxUploadMb))?Number(_.sftpLimits.maxUploadMb):2048),onChange:W=>A("maxUploadMb",Number(W.target.value)||0)})]}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u6279\u91CF\u6587\u4EF6\u6570\u4E0A\u9650"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxUploadFiles))?Number(_.sftpLimits.maxUploadFiles):1e3),onChange:W=>A("maxUploadFiles",Number(W.target.value)||0)})]})]}),n("span",{className:"tt_cardHint",children:"\u6D4F\u89C8\u5668\u4FA7\u4FDD\u62A4\uFF1A\u5355\u4E2A\u6587\u4EF6\u8D85\u8FC7\u4E0A\u9650\u65F6\u4E2D\u6B62\u4E0B\u8F7D/\u4E0A\u4F20\uFF08\u5927\u6587\u4EF6\u8BF7\u7528\u53CC\u680F \u21E8/\u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync\uFF0C\u4E0D\u5360\u6D4F\u89C8\u5668\u5185\u5B58\uFF09\uFF1B\u6587\u4EF6\u6570\u4E0A\u9650\u9488\u5BF9\u4E00\u6B21\u6279\u91CF/\u62D6\u62FD\u4E0A\u4F20\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"})]}),B("\u4F1A\u8BDD"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"\u4F1A\u8BDD\u6301\u4E45\u5316\uFF08tmux\uFF09"}),a("select",{className:"tt_cardInput",value:_.persistence==="tmux"?"tmux":"off",onChange:W=>j("persistence",W.target.value),children:[n("option",{value:"off",children:"\u5173\u95ED \u2014 \u4F1A\u8BDD\u968F\u9762\u677F/\u5BBF\u4E3B\u7ED3\u675F\uFF08\u9ED8\u8BA4\uFF09"}),n("option",{value:"tmux",children:"tmux \u2014 \u65B0\u5F00\u7684\u7EC8\u7AEF/SSH \u6807\u7B7E\u9ED8\u8BA4\u6301\u4E45\u5316"})]}),n("span",{className:"tt_cardHint",children:"\u5F00\u542F\u540E\u6240\u6709\u65B0\u6807\u7B7E\uFF08\u672C\u5730/SSH \u8FDE\u63A5\u7C3F/SSH \u8FDE\u63A5\u5BF9\u8BDD\u6846\uFF09\u9ED8\u8BA4\u7531 tmux \u6258\u7BA1\u3001\u53EF\u8DE8\u5BBF\u4E3B\u91CD\u542F\u6062\u590D\uFF1B\u9700\u672C\u673A/\u8FDC\u7A0B\u5B89\u88C5 tmux\uFF1BSSH \u5BF9\u8BDD\u6846\u53EF\u5BF9\u5355\u6B21\u8FDE\u63A5\u53D6\u6D88\u52FE\u9009\uFF1B\u5DF2\u6709\u6807\u7B7E\u4E0D\u53D7\u5F71\u54CD"+(ki?"\uFF1BWindows \u5BBF\u4E3B\u4E0A tmux \u4E0D\u53EF\u7528\uFF0C\u672C\u5730\u6807\u7B7E\u4F1A\u7167\u5E38\u6253\u5F00\u4F46\u4E0D\u53D7\u6258\u7BA1":"")}),xi("\u5173\u95ED\u9875\u9762\u540E\u7ED3\u675F\u6301\u4E45\u4F1A\u8BDD\uFF08\u4E0D\u4FDD\u6D3B\uFF09","endOnPageClose"),xi("\u670D\u52A1\u5668\u72B6\u6001\u6761\uFF08CPU / \u5185\u5B58 / \u78C1\u76D8 / \u5728\u7EBF / TCP / \u7F51\u901F\uFF1B\u91C7\u4E0D\u5230\u7684\u9879\u663E\u793A\u300C\u65E0\u300D\uFF09","statsEnabled"),n("span",{className:"tt_cardHint",children:"\u9ED8\u8BA4\u5173\u95ED\uFF1A\u6574\u4E2A\u9875\u9762\u5173\u95ED\u65F6\u6301\u4E45\u4F1A\u8BDD\u7559\u5B58\uFF08\u4FDD\u6D3B\u671F\u540E\u53EF\u518D\u6062\u590D\uFF09\uFF1B\u5F00\u542F\u5219\u9875\u9762\u65AD\u5F00\u4E14\u4FDD\u6D3B\u671F\u7ED3\u675F\u65F6\u8FDE tmux \u4F1A\u8BDD\u4E00\u8D77\u7ED3\u675F\u2014\u2014\u6CE8\u610F\u5237\u65B0\u9875\u9762\u5728\u4FDD\u6D3B\u671F\u5185\u4E0D\u53D7\u5F71\u54CD"})]}),yi("\u5E76\u53D1\u4F1A\u8BDD\u4E0A\u9650\uFF081~16\uFF09","maxSessions","4","\u8D85\u8FC7\u4E0A\u9650\u7684\u65B0\u6807\u7B7E\u4F1A\u88AB\u62D2\u7EDD\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"),a("div",{className:"tt_cardField",onBlur:W=>{W.currentTarget.contains(W.relatedTarget)||P(!1)},children:[n("span",{className:"tt_cardLabel",children:ki?"Shell \u8DEF\u5F84\uFF08\u9ED8\u8BA4 %COMSPEC%\uFF09":"Shell \u8DEF\u5F84\uFF08\u9ED8\u8BA4 $SHELL\uFF09"}),n("input",{className:"tt_cardInput",value:_.shell??"",placeholder:ki?"\u7559\u7A7A\u4F7F\u7528 %COMSPEC%\uFF08\u4E5F\u53EF\u586B powershell.exe / pwsh.exe \u5B8C\u6574\u8DEF\u5F84\uFF09":"\u7559\u7A7A\u4F7F\u7528 $SHELL",autoComplete:"off",spellCheck:!1,onFocus:()=>P(!0),onClick:()=>P(!0),onKeyDown:W=>{W.key==="Escape"&&P(!1)},onChange:W=>{j("shell",W.target.value),P(!0)}}),...E?[n("div",{className:"tt_envList tt_shellList",children:(()=>{let W=(_.shell??"").trim().toLowerCase(),G=W===""?y:y.filter(Y=>Y.toLowerCase().includes(W));return G.length===0?n("span",{className:"tt_envMore",children:"\u6CA1\u6709\u5339\u914D\u7684\u5019\u9009 \u2014 \u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\u5373\u53EF"}):G.map(Y=>n("button",{type:"button",className:"tt_envItem",onMouseDown:ee=>ee.preventDefault(),onClick:()=>{j("shell",Y),P(!1)},children:Y},Y))})()},"shell-list")]:[],n("span",{className:"tt_cardHint",children:ki?"Windows \u5BBF\u4E3B\uFF1A\u5019\u9009\u6765\u81EA %COMSPEC% \u4E0E\u5DF2\u5B89\u88C5\u7684 PowerShell\uFF08Windows PowerShell 5.1 / PowerShell 7\uFF09\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\uFF1Bcmd / PowerShell \u6CA1\u6709 POSIX \u7684\u547D\u4EE4\u8FB9\u754C\u94A9\u5B50\uFF0C\u6240\u4EE5\u8FD9\u4E24\u8005\u4E0D\u652F\u6301 shell \u96C6\u6210":"\u53EF\u4E0B\u62C9\u9009\u62E9\u672C\u673A\u5DF2\u5B89\u88C5 shell\uFF08$SHELL \u4F18\u5148\uFF09\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\uFF1Bzsh / bash \u652F\u6301 shell \u96C6\u6210"})]},"shell-field"),yi("TERM","term","xterm-256color","TUI \u7A0B\u5E8F\u4F9D\u8D56\u6B64\u503C"),yi("COLORTERM","colorTerm","truecolor",""),yi("\u515C\u5E95\u5DE5\u4F5C\u76EE\u5F55\uFF08\u5BA2\u6237\u7AEF\u5F53\u524D\u4F1A\u8BDD cwd \u4F18\u5148\uFF09","cwd","","\u7559\u7A7A\u4F7F\u7528\u5BBF\u4E3B\u8FDB\u7A0B\u542F\u52A8\u76EE\u5F55"),yi("\u65AD\u7EBF\u4FDD\u6D3B\uFF08\u79D2\uFF0C0 = \u7ACB\u5373\u7ED3\u675F\uFF09","reconnectGraceSec","120","\u5237\u65B0\u9875\u9762/\u7F51\u7EDC\u6296\u52A8\u540E\u4F1A\u8BDD\u4FDD\u6D3B\u7B49\u5F85\u91CD\u8FDE\uFF0C\u8D85\u65F6\u540E\u7ED3\u675F\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"),B("SSH \u8FDE\u63A5"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SSH \u8FDE\u63A5\u7C3F"}),...Array.isArray(_.sshHosts)&&_.sshHosts.length>0?[n("div",{className:"tt_hostList","data-editing":T!==null?"":void 0,children:_.sshHosts.map(W=>a("div",{children:[a("div",{className:"tt_sshHostRow",children:[n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:W?.name??""}),n("span",{className:"tt_sshHostTarget",children:hn(W??{})})]}),n("button",{type:"button",className:"tt_toolBtn",disabled:re[W?.name]?.running===!0,onClick:()=>{Ol(W)},title:"\u8BD5\u8FDE\u8BE5\u6761\u76EE\uFF1ATCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\u9010\u6BB5\u8BCA\u65AD",children:re[W?.name]?.running===!0?"\u6D4B\u8BD5\u4E2D\u2026":"\u6D4B\u8BD5"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>_e(W),children:"\u7F16\u8F91"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>Pl(W?.name),children:"\u5220\u9664"})]}),re[W?.name]&&re[W?.name].text?n("div",{className:"tt_sshProbeResult"+(re[W?.name].ok?" tt_sshProbeOk":" tt_sshProbeBad"),children:re[W?.name].text}):null,T===W?.name?ql():null]},String(W?.name??"")))})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u6761\u76EE \u2014 \u7EC8\u7AEF\u9762\u677F\u300C+\u300D\u2192 SSH \u8FDE\u63A5\u2026 \u52FE\u9009\u300C\u4FDD\u5B58\u5230\u8FDE\u63A5\u7C3F\u300D\u5373\u53EF\u6DFB\u52A0"})],a("div",{className:"tt_cardRow",children:[n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{Nl()},children:"\u4ECE ~/.ssh/config \u5BFC\u5165"}),n("span",{className:"tt_cardHint",children:"\u540C\u540D\u8DF3\u8FC7\uFF1B\u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})]}),n("span",{className:"tt_cardHint",children:"\u968F\u300C\u4FDD\u5B58\u300D\u4E00\u5E76\u5199\u5165\u914D\u7F6E\uFF1B\u5BC6\u7801/\u53E3\u4EE4\u652F\u6301 env:VAR \u5F15\u7528\uFF0C\u907F\u514D\u660E\u6587\u5165\u5E93"})]}),a("div",{className:"tt_cardField",children:[a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"\u7AEF\u53E3\u8F6C\u53D1"}),...Array.isArray(_.tunnels)&&_.tunnels.length>0?[n("div",{children:_.tunnels.map(W=>{let G=he.find(ee=>ee.name===W?.name),Y=G?.state??"stopped";return a("div",{className:"tt_sshHostRow",children:[n("span",{className:"tt_tunnelDot","data-state":Y,title:Y}),n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:(W?.name??"")+" \xB7 "+Ze(W??{})}),n("span",{className:"tt_sshHostTarget",children:(W?.bookName??"")+(G?.error?" \xB7 "+G.error:"")+(G?.lastForwardError?" \xB7 "+G.lastForwardError:"")})]}),n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:W?.enabled!==!1,title:"\u542F\u7528",onChange:ee=>Ht(W?.name,ee.target.checked)}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>it(W?.name),children:"\u5220\u9664"})]},String(W?.name??""))})})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u96A7\u9053 \u2014 \u628A\u8FDC\u7A0B\u6570\u636E\u5E93/\u5185\u90E8\u670D\u52A1\u6620\u5C04\u5230\u672C\u5730\u7AEF\u53E3"})],a("div",{className:"tt_sshEdit",children:[a("div",{className:"tt_cardRow",children:[a("select",{className:"tt_cardInput",value:de.direction,onChange:ve("direction"),children:[n("option",{value:"local",children:"\u672C\u5730\u8F6C\u53D1\uFF08-L\uFF09\uFF1A\u672C\u673A\u7AEF\u53E3 \u2192 \u8FDC\u7A0B\u670D\u52A1"}),n("option",{value:"remote",children:"\u8FDC\u7A0B\u8F6C\u53D1\uFF08-R\uFF09\uFF1A\u8FDC\u7A0B\u7AEF\u53E3 \u2192 \u672C\u673A\u670D\u52A1"})]}),a("select",{className:"tt_cardInput",value:de.bookName,onChange:ve("bookName"),children:[n("option",{value:"",children:"\u9009\u62E9\u8FDE\u63A5\u7C3F\u6761\u76EE"}),...Array.isArray(_?.sshHosts)?_.sshHosts.map(W=>n("option",{value:W?.name??"",children:W?.name??""})):[]]})]}),n("span",{className:"tt_cardHint",children:Nt!==void 0?"\u7ECF "+hn(Nt)+" \u8FDE\u63A5 \u2014 \u96A7\u9053\u7684\u4E3B\u673A\u4E0E\u8BA4\u8BC1\u53D6\u81EA\u8BE5\u8FDE\u63A5\u7C3F\u6761\u76EE":"\u9009\u62E9\u8FD9\u6761\u96A7\u9053\u8981\u8D70\u54EA\u53F0 SSH \u8FDE\u63A5\uFF08\u4E3B\u673A\u4E0E\u8BA4\u8BC1\u53D6\u81EA\u8FDE\u63A5\u7C3F\uFF09"}),de.direction==="local"?a("div",{className:"tt_tunnelGridLocal",children:[n("input",{className:"tt_cardInput",placeholder:"\u672C\u5730\u7AEF\u53E3",value:de.localPort,autoComplete:"off",onChange:ve("localPort")}),n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u4E3B\u673A\uFF08\u4ECE\u670D\u52A1\u5668\u4FA7\u8BBF\u95EE\uFF0C\u5982 db.internal\uFF09",value:de.remoteHost,autoComplete:"off",onChange:ve("remoteHost")}),n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u7AEF\u53E3",value:de.remotePort,autoComplete:"off",onChange:ve("remotePort")})]}):a("div",{className:"tt_tunnelGrid",children:[n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u76D1\u542C\u7AEF\u53E3",value:de.remotePort,autoComplete:"off",onChange:ve("remotePort")}),n("input",{className:"tt_cardInput",placeholder:"\u672C\u5730\u76EE\u6807\u7AEF\u53E3",value:de.localTargetPort,autoComplete:"off",onChange:ve("localTargetPort")})]}),n("div",{className:"tt_cardRow",children:[n("button",{type:"button",className:"tt_cardSave",onClick:Zt,children:"\u6DFB\u52A0\u96A7\u9053"}),n("span",{className:"tt_cardHint",children:"\u6DFB\u52A0\u540E\u7ACB\u5373\u751F\u6548\uFF1B\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\uFF1B\u672C\u5730\u7AEF\u53E3\u5EFA\u8BAE 1024 \u4EE5\u4E0A\uFF1B\u8FDC\u7A0B\u4E3B\u673A\u7531 SSH \u670D\u52A1\u5668\u4FA7\u8BBF\u95EE\uFF08127.0.0.1 = \u670D\u52A1\u5668\u81EA\u8EAB\uFF09"})]})]})]}),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SSH \u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\uFF08TOFU\uFF09"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{Hl()},children:"\u4ECE known_hosts \u5BFC\u5165"})]}),...Array.isArray(_.hostKeys)&&_.hostKeys.length>0?[n("div",{className:"tt_hostList",children:_.hostKeys.map(W=>a("div",{className:"tt_sshHostRow",children:[n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:String(W?.host??"")+":"+String(W?.port??22)}),n("span",{className:"tt_sshHostTarget",children:"sha256:"+String(W?.fingerprint??"")})]}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{Il(W)},children:"\u5220\u9664"})]},String(W?.host??"")+":"+String(W?.port??22)))})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u8BB0\u5F55 \u2014 \u9996\u6B21 SSH \u8FDE\u63A5\u6210\u529F\u540E\u81EA\u52A8\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9"})],n("span",{className:"tt_cardHint",children:"\u4E3B\u673A\u6307\u7EB9\u53D8\u66F4\u65F6\u8FDE\u63A5\u4F1A\u88AB\u62D2\u7EDD\uFF08\u9632\u4E2D\u95F4\u4EBA\uFF09\uFF1B\u786E\u8BA4\u5B89\u5168\u540E\u5220\u9664\u5BF9\u5E94\u8BB0\u5F55\u5373\u53EF\u91CD\u8FDE"})]}),a("div",{className:"tt_cardField tt_cardRow",children:[n("button",{className:"tt_cardSave",disabled:u,onClick:()=>{Fl()},children:u?"\u4FDD\u5B58\u4E2D\u2026":"\u4FDD\u5B58"}),n("span",{className:"tt_cardMessage"+(C.kind==="ok"?" tt_cardMessageOk":C.kind==="error"?" tt_cardMessageError":""),children:C.text})]})]})]}):null]})}t.inject=["slots","sessions"];let o=["@hyzyn/dsh-tty#tty","@hyzyn/dsh-all#tty"];return t.apply=f=>{sl=f.sessions,f.inject(["remote","remote.credentials"],c=>(ft=c.remote?.credentials??c["remote.credentials"]??null,()=>{ft=null}));let l=!1,p=()=>{};Gr={set(c){if(c!==l){if(l=c,c){p=kf();return}p(),p=()=>{},Zi(),jt()}}},gl(!0),En();for(let c of o)f.slots.inject("plugins.row.config",()=>f.slots.register({name:"plugins.row.config",key:c},s));f.slots.inject("settings.kit.item",()=>f.slots.register({name:"settings.kit.item",id:"tty",order:80,label:()=>"\u7EC8\u7AEF\u9762\u677F"},s)),f.slots.inject("settings.plugin.item",()=>f.slots.register({name:"settings.plugin.item",key:"tty",order:100},s));let g=f.provide("ttyConnbar",{version:1,addAction:ts,requestRender(){jt()}}),S=f.provide("ttyTerminal",{version:3,open(c){if(!qt)return;let d=ll(c),h=cl(c,d),u=typeof c?.label=="string"&&c.label!==""?c.label:void 0;if(Qi(),c?.reuse!==!1){let v=Uu(h);if(v!==null)return gn(),Jt(v.sid),v}gn(),Vi(h,u)},mount(c,d){return qt?Gu(c,d):()=>{}}}),_=f.provide("ttyPanel",{version:2,isOpen(){return se!==null&&!Oe},mountPane(c){return ul(c)},minimize(){return Xr(),se!==null&&Oe}});return()=>{Gr=null,qt=!1,p(),_(),S(),g(),Zi()}},t}});})();
2556
+ `;var ln="\0global";function dr(e,t){return e===null?ln:typeof e=="string"&&e!==""?e:typeof t=="string"&&t!==""?t:ln}function cn(e,t){return e===ln?!0:typeof t=="string"&&t!==""&&e===t}function Cu(e){let t=e?.byId;if(!(t===null||typeof t!="object"))for(let r of Object.keys(t)){let n=t[r]?.retainedBy?.mainView??0;if(typeof n=="number"&&n>0)return r}}function xu(e){let t=e?.current;return typeof t=="string"&&t!==""?t:Cu(e)}function qa(e){let t=xu(e);if(t===void 0)return;let r=e?.byId?.[t]?.cwd;return typeof r=="string"&&r!==""?r:void 0}function Ka(e){return e==null?{text:"",state:""}:e.exited===!0?{text:e.statusText??"\u4F1A\u8BDD\u5DF2\u9000\u51FA",state:e.statusState??""}:e.live===!0?{text:e.statusText??"\u5DF2\u8FDE\u63A5",state:e.statusState??"connected"}:e.errored===!0?{text:e.statusText??"\u8FDE\u63A5\u51FA\u9519",state:e.statusState??"error"}:{text:e.statusText??"\u8FDE\u63A5\u4E2D\u2026",state:e.statusState??""}}function Ga(e,t){return typeof e!="string"||e===""?!0:e===t}function Va(e,t){return e===null?!1:e!==t}var ku="/api/dsh-tty/ws";function Eu(){return(location.protocol==="https:"?"wss:":"ws:")+"//"+location.host+ku}function hn(e){return String(e??"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function Lu(e,t,r,n){let a=hn(r),i=hn(e);if(a===""||i==="")return"";let s=hn(t),o=["DSH_TTY",a,i];return s!==""&&s!=="22"&&o.push(s),o.push(n),o.join("_")}function wr(){return pt!==null&&typeof pt.describe=="function"?pt:null}function pr(e){let t=String(e??"").trim();return t.startsWith("env:")?t.slice(4).trim():""}function Mu(){let e=new Set;for(let t of Et)for(let r of[t?.password,t?.passphrase]){let n=pr(r);n!==""&&e.add(n)}return[...e]}async function Ru(){try{let t=await(await fetch("/api/dsh-tty/credential-refs",{cache:"no-store"})).json();if(t.ok&&Array.isArray(t.names))return t.names.filter(r=>typeof r=="string"&&r!=="")}catch{}return[]}async function cl(){return[...new Set([...Mu(),...await Ru()])].sort()}async function hl(e){let t=wr();if(t===null)return{error:pt===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574"};try{let r=await t.describe([e]),n=r?.ok===!0?r.value?.[e]:void 0;return n===void 0?{unreported:!0}:{view:{configured:n.configured===!0,writable:n.writable===!0,source:typeof n.source=="string"?n.source:""}}}catch(r){return{error:r instanceof Error?r.message:String(r)}}}async function Tu(e,t){let r=wr();if(r===null||typeof r.set!="function")return{error:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u65E0\u6CD5\u5B58\u5165"};try{return await r.set(e,t),{value:"env:"+e}}catch(n){return{error:"\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u5931\u8D25\uFF1A"+(n instanceof Error?n.message:String(n))}}}async function dl(e){let t=wr();if(t===null||typeof t.unset!="function")return{error:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u65E0\u6CD5\u6E05\u9664"};try{return await t.unset(e),{}}catch(r){return{error:"\u6E05\u9664\u5931\u8D25\uFF1A"+(r instanceof Error?r.message:String(r))}}}async function ul(e,t,r,n,a,i){if(e!==!0)return{};let s=String(t??"").trim();if(s===""||s.startsWith("env:"))return{};let o=Lu(r,n,a,i);return o===""?{error:"\u5148\u586B\u300C\u4E3B\u673A\u300D\u548C\u300C\u7528\u6237\u540D\u300D\u518D\u5B58\u5165\u2014\u2014\u5F15\u7528\u540D\u7531\u8FD9\u4E24\u8005\u6D3E\u751F"}:Tu(o,s)}function rs(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"t"+Date.now().toString(36)+Math.random().toString(36).slice(2,10)}var Ni;function ri(){document.getElementById("dsh-tty-style")||(Ni=document.createElement("style"),Ni.id="dsh-tty-style",Ni.textContent=ja+`
2557
+ `+Ua,document.head.appendChild(Ni))}var is='<svg viewBox="0 0 16 16" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 5l3.5 3L3 11"/><path d="M8.5 11H13"/></svg>',Au='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><circle cx="7" cy="7" r="4.4"/><path d="M10.4 10.4L14 14"/></svg>',Du='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2.5 4.5h11"/><path d="M6 4.5V3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5"/><path d="M4.5 4.5l.7 8.1a1 1 0 0 0 1 .9h3.6a1 1 0 0 0 1-.9l.7-8.1"/></svg>',Bu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="5.5" y="5.5" width="8" height="8" rx="1.4"/><path d="M3.5 10.5h-1v-8h8v1"/></svg>',Pu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="3" width="9" height="11" rx="1.4"/><rect x="5.5" y="1.5" width="5" height="3" rx="1" fill="var(--dsw-alias-bg-base,#fff)"/></svg>',Ou='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M13.5 8a5.5 5.5 0 1 1-1.6-3.9"/><path d="M13.7 1.8v2.7H11"/></svg>',Iu='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M1.8 12.8V4.2a1 1 0 0 1 1-1h3l1.4 1.6h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H2.8a1 1 0 0 1-1-1z"/></svg>',Nu='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4.5 5.5L2 8l2.5 2.5"/><path d="M11.5 5.5L14 8l-2.5 2.5"/><path d="M2.8 8h10.4"/></svg>',Hu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M4 8h8"/></svg>',ss='<svg viewBox="0 0 16 16" width="13" height="13" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M4.5 4.5l7 7"/><path d="M11.5 4.5l-7 7"/></svg>',Fu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><path d="M8 3.6v8.8"/><path d="M3.6 8h8.8"/></svg>',Yr='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 12.4V3.9a.9.9 0 0 1 .9-.9h2.9l1.4 1.6h5.9a.9.9 0 0 1 .9.9v6.9a.9.9 0 0 1-.9.9H2.9a.9.9 0 0 1-.9-.9z"/></svg>',fl='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 2.6h4.4l3.6 3.6v7.2a.9.9 0 0 1-.9.9H4.9a.9.9 0 0 1-.9-.9V3.5a.9.9 0 0 1 .9-.9z"/><path d="M8.2 2.7v3.4h3.4"/></svg>',_l='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6.4 9.6l3.2-3.2"/><path d="M9.2 4.6l1-1a2.5 2.5 0 0 1 3.5 3.5l-1 1"/><path d="M6.8 11.4l-1 1a2.5 2.5 0 0 1-3.5-3.5l1-1"/></svg>',Ln='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 12.6V4.2"/><path d="M4.4 7.8L8 4.2l3.6 3.6"/></svg>',pl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v7.2"/><path d="M5 7.4L8 10.4l3-3"/><path d="M3.4 12.8h9.2"/></svg>',Wu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 10.4V3.2"/><path d="M5 6.2L8 3.2l3 3"/><path d="M3.4 12.8h9.2"/></svg>',Mn='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M11.2 2.9l1.9 1.9-7.3 7.3-2.4.5.5-2.4z"/></svg>',gr='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 4.6h10"/><path d="M6.2 4.6V3.4a.8.8 0 0 1 .8-.8h2a.8.8 0 0 1 .8.8v1.2"/><path d="M4.6 4.6l.6 8a.9.9 0 0 0 .9.8h3.8a.9.9 0 0 0 .9-.8l.6-8"/></svg>',Rn='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M13.2 8a5.2 5.2 0 1 1-1.5-3.7"/><path d="M13.4 2.2v2.6h-2.6"/></svg>',gl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 12.4V3.9a.9.9 0 0 1 .9-.9h2.9l1.4 1.6h5.9a.9.9 0 0 1 .9.9v6.9a.9.9 0 0 1-.9.9H2.9a.9.9 0 0 1-.9-.9z"/><path d="M8 6.6v3.6"/><path d="M6.2 8.4h3.6"/></svg>',vl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3.4 8h9"/><path d="M9.2 4.8L12.4 8l-3.2 3.2"/></svg>',ml='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12.6 8h-9"/><path d="M6.8 4.8L3.6 8l3.2 3.2"/></svg>',$u='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3.4v9"/><path d="M4.8 9.2L8 12.4l3.2-3.2"/></svg>',zu='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="2.4" y="3.2" width="11.2" height="4" rx="1.2"/><rect x="2.4" y="8.8" width="11.2" height="4" rx="1.2"/><path d="M5 5.2h.01"/><path d="M5 10.8h.01"/></svg>',Uu='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 2.6l5.8 10.4H2.2z"/><path d="M8 6.4v3.2"/><path d="M8 11.6h.01"/></svg>',ju='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="5.6"/><path d="M8 7.2v3.6"/><path d="M8 5.1h.01"/></svg>',bl='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="8" cy="8" r="5.6"/><path d="M6 6l4 4"/><path d="M10 6l-4 4"/></svg>',qu='<svg viewBox="0 0 16 16" width="15" height="15" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 2.8v5"/><path d="M11.6 4.6a5.2 5.2 0 1 1-7.2 0"/></svg>',wl='<svg viewBox="0 0 16 16" width="14" height="14" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="5.6" cy="6" r="2.8"/><path d="M7.8 7.9l5.4 5.4"/><path d="M10.6 10.7l1.2-1.2"/></svg>',Sl=null,fe=null,ne=null,ji=null,Xr=null,pt=null,jt=null,Vt=null,ut=null,Wr=null,$r=null,qi=null,Ke=null,zr=null,Ge=null,Ve=null,Ne=null,vr=null,Jr=!1,Ur=null,Oe=!1,Pe=null,Ki=null,Sr=null,Yt=null,Gi=null,qt=null,jr=1e3,Vi="dsh-tty:tabs",le=new Map,ii=new Set,Tn=()=>ii.size>0,pn=new Set,ve=null,ns=0,Hi=!1,Ye=null,mr=null,Et=[],Yi=!0,ft=null,et=null,qr=null,Ku=3e3,gn=new Set;function os(e){return gn.add(e),()=>gn.delete(e)}os(({tab:e,addAction:t})=>{Gt&&e.exited&&t(Ou,"\u91CD\u65B0\u6253\u5F00","\u4EE5\u539F\u8FDE\u63A5\u4FE1\u606F\u91CD\u5F00\u4F1A\u8BDD",()=>Ji(e.sid))});os(({tab:e,addAction:t})=>{Gt&&t(Iu,"SFTP","\u6253\u5F00\u8BE5\u8FDE\u63A5\u7684\u6587\u4EF6\u6D4F\u89C8\uFF08SFTP\uFF09",()=>ls(e.spawnSpec,e.sid))});os(({bookName:e,addAction:t})=>{if(!Gt)return;let r=e!==""?Hl(e):0;r>0&&t(Nu,"\u96A7\u9053 "+r,"\u67E5\u770B\u8BE5\u8FDE\u63A5\u7684\u7AEF\u53E3\u8F6C\u53D1\u96A7\u9053",n=>Sf(n.currentTarget,e))});function si(e,t){if(jt===null)return;jt.textContent=e.split("\u2014\u2014")[0],jt.title=e,Vt.dataset.state=t,ji!==null&&(ji.style.display=t==="connected"?"none":""),Sr!==null&&(Sr.textContent=e),Yt!==null&&(Yt.dataset.state=t);let r=document.querySelector("[data-dsh-tty-entry] .tt_sidebarBadgeDot");r!==null&&(r.dataset.state=t)}function dn(e,t,r){let n=typeof e=="string"&&e!==""?e:null;if(n!==null){let a=le.get(n);a!==void 0&&(a.statusText=t,a.statusState=r)}Ga(n,ve)&&(Xr=n,si(t,r))}function Fi(e,t){Xr=null,si(e,t)}function An(){if(!Va(Xr,ve))return;let e=ve===null?void 0:le.get(ve);Xr=e===void 0?null:ve;let t=Ka(e);si(t.text,t.state)}function me(e){fe!==null&&fe.readyState===WebSocket.OPEN&&fe.send(JSON.stringify(e))}function Gu(e){return Number.isFinite(e)?e>=90?"danger":e>=70?"warn":"":""}function Ya(e){return!Number.isFinite(e)||e<0?"\u65E0":e<1024?Math.round(e)+" B/s":Ui(e)||"\u65E0"}function Vu(e){if(!Number.isFinite(e)||e<0)return"\u65E0";let t=Math.floor(e),r=Math.floor(t/604800),n=Math.floor(t%604800/86400),a=Math.floor(t%86400/3600),i=Math.floor(t%3600/60),s=[];return r>0&&s.push(r+"w"),(r>0||n>0)&&s.push(n+"d"),(r>0||n>0||a>0)&&s.push(a+"h"),(r>0||n>0||a>0||i>0)&&s.push(i+"m"),s.length>0?s.join(""):t+"s"}function dt(e,t,r){let n=Number.isFinite(r)?'<span class="tt_statsMeter" data-level="'+Gu(r)+'"><span class="tt_statsMeterFill" style="width:'+Math.max(0,Math.min(100,r)).toFixed(1)+'%"></span></span>':"";return'<span class="tt_statsItem" title="'+(e+": "+String(t)).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")+'"><span class="tt_statsLabel">'+e+"</span>"+n+'<span class="tt_statsValue">'+t+"</span></span>"}function Xa(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?"\u65E0":(Je(e)||"0 B")+"/"+(Je(t)||"0 B")}function yl(e,t){let r=e[t];return Number.isFinite(r)?t==="tempC"?r>-100&&r<200?r:null:t==="cores"?r>=1&&r<=4096?r:null:t==="cpuPct"||t==="memPct"||t==="diskPct"?r>=0&&r<=100?r:null:t==="uptimeSec"?r>=0&&r<=100*365*24*3600?r:null:t==="tcpConns"?r>=0&&r<=1e7?r:null:t==="rxRate"||t==="txRate"?r>=0&&r<=2**40?r:null:r>=0&&r<=2**50?r:null:null}var Yu=["cpuPct","cores","memUsed","memTotal","memPct","diskUsed","diskTotal","diskPct","uptimeSec","tcpConns","rxRate","txRate","tempC"];function Xu(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Yu.some(t=>yl(e,t)!==null)}function Ju(e){let t=e!==void 0&&e.stats!==null&&typeof e.stats=="object"?e.stats:{},r=f=>yl(t,f),n=f=>{let l=r(f);return l===null?"\u65E0":Math.round(l)+"%"},a=[dt("CPU",n("cpuPct"),r("cpuPct")),dt("\u5185\u5B58",n("memPct"),r("memPct")),dt("\u78C1\u76D8",n("diskPct"),r("diskPct")),dt("\u6838\u5FC3",r("cores")===null?"\u65E0":String(r("cores")),null),dt("\u5185\u5B58",Xa(r("memUsed"),r("memTotal")),null),dt("\u5728\u7EBF",Vu(r("uptimeSec")),null),dt("TCP",r("tcpConns")===null?"\u65E0":String(r("tcpConns")),null),dt("\u78C1\u76D8",Xa(r("diskUsed"),r("diskTotal")),null),dt("CPU\u6E29\u5EA6",r("tempC")===null?"\u65E0":r("tempC").toFixed(1)+"\xB0C",null)],i=r("rxRate"),s=r("txRate"),o=i===null&&s===null?"\u65E0":"\u2193"+Ya(i)+" \u2191"+Ya(s);return a.push(dt("\u7F51\u7EDC",o,null)),a.join("")}function Zu(){if(ne===null||Oe||!Yi)return!1;let e=Xe();return e===void 0||e.embedded===!0||e.exited===!0||e.stats===null||e.stats===void 0?!1:Date.now()-(e.statsAt||0)<=Ku}function Ja(){if(Oe)return;let e=Xe();if(!(e===void 0||e.embedded===!0||e.fit===null)){try{e.fit.fit()}catch{return}try{e.spawned&&!e.exited&&xr(e)}catch{}}}function Xt(){try{Qu()}catch(e){console.warn("[dsh-tty] \u72B6\u6001\u6761\u6E32\u67D3\u5931\u8D25\uFF08\u5DF2\u6536\u8D77\uFF09: "+(e instanceof Error?e.message:String(e)));try{ft!==null&&(ft.hidden=!0,ft.textContent=""),Ge!==null&&delete Ge.dataset.stats}catch{}}}function Qu(){if(Ge===null||ft===null)return;let e=Zu(),t=Ge.dataset.stats!==void 0!==e;if(!e){t&&delete Ge.dataset.stats,ft.hidden=!0,ft.textContent="",t&&Ja();return}ft.hidden=!1,ft.innerHTML=Ju(Xe()),t&&(Ge.dataset.stats="",Ja())}function Cl(){qr===null&&(qr=setInterval(()=>Xt(),1e3))}function xl(){qr!==null&&(clearInterval(qr),qr=null)}function kl(){if(ne===null||Oe||!Yi)return null;let e=Xe();return e===void 0||e.embedded===!0||e.exited===!0?null:e.sid}function ni(){let e=kl();e!==et&&(et!==null&&me({t:"statsOff",sid:et}),et=e,e!==null&&me({t:"statsOn",sid:e}))}function ef(e){if(e!==kl()){ni();return}et!==null&&et!==e&&me({t:"statsOff",sid:et}),et=e,me({t:"statsOn",sid:e})}function Xe(){return ve!==null?le.get(ve):void 0}function Za(){try{return qa(Sl?.list?.getSnapshot?.())}catch{return}}function tf(e){if(!(e.term===null||e.exited)){try{if(e.term.buffer.active.length<=e.term.rows)return}catch{return}e.term.reset(),me({t:"refresh",sid:e.sid})}}var Wi=null;function El(e){Wi!==null&&clearTimeout(Wi),Wi=setTimeout(()=>{Wi=null;let t=Xe();t!==void 0&&tf(t)},e??200)}var rf=["password","passphrase"];function Qa(e){if(e===null||typeof e!="object"||e.t!=="ssh")return e;let t=e.credsStripped===!0,r={...e};for(let n of rf){let a=r[n];typeof a=="string"&&a!==""&&!a.startsWith("env:")&&(delete r[n],t=!0)}return t&&(r.credsStripped=!0),r}var Ll=1;function Jt(){try{let e=[...le.values()].filter(t=>!t.exited&&t.embedded!==!0).map(t=>({sid:t.sid,spawnSpec:Qa(t.spawnSpec),label:t.label}));e.length===0||ne===null?sessionStorage.removeItem(Vi):sessionStorage.setItem(Vi,JSON.stringify({v:Ll,tabs:e})),sf([...le.values()].filter(t=>t.embedded!==!0).map(t=>({spawnSpec:Qa(t.spawnSpec),label:t.label})))}catch(e){console.warn("[dsh-tty] \u6807\u7B7E\u6301\u4E45\u5316\u5931\u8D25\uFF08\u672C\u6B21\u5237\u65B0\u540E\u6807\u7B7E\u5217\u8868\u53EF\u80FD\u4E22\u5931\uFF09: "+(e instanceof Error?e.message:String(e)))}}var vn="dsh-tty:persist-specs";function sf(e){try{let t=e.filter(r=>ai(r.spawnSpec)).map(r=>({spawnSpec:r.spawnSpec,label:r.label}));t.length===0?localStorage.removeItem(vn):localStorage.setItem(vn,JSON.stringify(t))}catch{}}function nf(){try{let e=localStorage.getItem(vn);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(r=>r!==null&&typeof r=="object"&&ai(r.spawnSpec)):[]}catch{return[]}}function of(){try{let e=sessionStorage.getItem(Vi);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(r=>r!==null&&typeof r=="object"&&typeof r.sid=="string"&&r.sid!==""&&r.spawnSpec!==null&&typeof r.spawnSpec=="object"):t!==null&&typeof t=="object"&&t.v===Ll&&Array.isArray(t.tabs)?t.tabs.filter(r=>r!==null&&typeof r=="object"&&typeof r.sid=="string"&&r.sid!==""&&r.spawnSpec!==null&&typeof r.spawnSpec=="object"):[]}catch{return[]}}function Xi(e,t){let r=fe;return new Promise(n=>{let a=null,i=s=>{let o;try{o=JSON.parse(s.data)}catch{return}o.t===e&&(a!==null&&clearTimeout(a),r.removeEventListener("message",i),n(r===fe?o:null))};a=setTimeout(()=>{r.removeEventListener("message",i),n(null)},t),r.addEventListener("message",i)})}function xr(e){if(e===void 0||e.fit===void 0)return;let t=e.fit.proposeDimensions();t!==void 0&&me({t:"resize",sid:e.sid,cols:t.cols,rows:t.rows})}function af(e){if(e===void 0||e.fit===void 0)return;let t=e.term,r=t!==null&&t.buffer!==void 0?t.buffer.active:null,n=r==null?null:{atBottom:r.viewportY>=r.baseY,line:r.viewportY};try{e.fit.fit()}catch{return}if(n!==null)try{n.atBottom?t.scrollToBottom():t.scrollToLine(Math.min(n.line,t.buffer.active.baseY))}catch{}e.exited||xr(e)}function ur(e,t,r,n){if(e.overlayEl===null||e.overlayEl===void 0)return;let a=e.overlayEl;if(t===""||t===void 0){a.textContent="";return}let i=n==="error"||n==="info"?n:"exited";a.innerHTML='<div class="tt_overlayCard" data-kind="'+i+'"><span class="tt_overlayIcon">'+(i==="error"?bl:i==="info"?Rn:qu)+'</span><span class="tt_overlayText"><span class="tt_overlayMain"></span>'+(r===void 0||r===""?"":'<span class="tt_overlayHint"></span>')+"</span></div>",a.querySelector(".tt_overlayMain").textContent=t,r!==void 0&&r!==""&&(a.querySelector(".tt_overlayHint").textContent=r)}function lf(e,t){try{let r=getComputedStyle(document.documentElement).getPropertyValue(e).trim();return r!==""?r:t}catch{return t}}function oi(e){let t=lf("--dsw-alias-state-business-primary","#7c9cff"),r=new al.Terminal({cursorBlink:!0,cursorStyle:"bar",cursorInactiveStyle:"outline",fontSize:13,fontFamily:'"JetBrains Mono", "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace',fontWeight:400,fontWeightBold:600,lineHeight:1.35,scrollback:5e3,convertEol:!1,allowProposedApi:!0,theme:{background:"#0b0e14",foreground:"#d7dce5",cursor:t,cursorAccent:"#0b0e14",selectionBackground:"rgba(124, 156, 255, .30)",black:"#1b2028",red:"#f07178",green:"#7ec699",yellow:"#e6b673",blue:"#7aa2f7",magenta:"#c792ea",cyan:"#7fdbca",white:"#c8d0dc",brightBlack:"#556070",brightRed:"#ff8b92",brightGreen:"#9fe0b4",brightYellow:"#f5cc8c",brightBlue:"#9ab8ff",brightMagenta:"#dbb3ff",brightCyan:"#a3f0e2",brightWhite:"#eef2f8"}}),n=new ll.FitAddon,a=new bo;r.loadAddon(n),r.loadAddon(a),r.loadAddon(new wo);let i=document.createElement("div");i.className="tt_term";let s=document.createElement("div");s.className="tt_overlay",s.addEventListener("click",()=>{s.textContent="",Ji(e.sid)}),s.setAttribute("role","button"),s.setAttribute("aria-label","\u91CD\u65B0\u6253\u5F00\u4F1A\u8BDD"),s.tabIndex=0,s.addEventListener("keydown",o=>{(o.key==="Enter"||o.key===" "||o.key==="Spacebar")&&(o.preventDefault(),s.textContent="",Ji(e.sid))}),i.appendChild(s),r.open(i);try{n.fit()}catch{}try{let o=new za;o.onContextLoss(()=>{try{o.dispose()}catch{}}),r.loadAddon(o)}catch{}r.onData(o=>{me({t:"input",sid:e.sid,d:o})}),r.onResize(()=>{ai(e.spawnSpec)&&El(200)}),r.attachCustomKeyEventHandler(o=>e.embedded===!0?!0:(o.ctrlKey||o.metaKey)&&o.key.toLowerCase()==="f"?(o.preventDefault(),Vl(),!1):!0),e.term=r,e.fit=n,e.search=a,e.termEl=i,e.overlayEl=s}function el(e){return e===null||typeof e!="object"?"":["t","name","host","port","username","command","cwd","persist","persistName"].map(r=>r+"="+String(e[r]??"")).join("\0")}function cf(e){let t=el(e);if(t==="")return null;for(let r of le.values())if(r.exited!==!0&&r.embedded!==!0&&el(r.spawnSpec)===t)return r;return null}function Zr(e,t){let r=rs(),n={sid:r,term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e??If(),label:t};return oi(n),le.set(r,n),ns+=1,rt(),Zt(r),as(n),Jt(),n}function hf(e){if(le.has(e.sid))return le.get(e.sid);let t={sid:e.sid,term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e.spawnSpec,label:typeof e.label=="string"?e.label:void 0};oi(t),le.set(t.sid,t),ns+=1,rt(),Zt(t.sid),me({t:"attach",sid:t.sid})}function df(e){if(!(e?.spawnSpec?.credsStripped!==!0||e.term===null))try{e.term.writeln("\x1B[2m[dsh-tty] \u51FA\u4E8E\u5B89\u5168\u8003\u8651\uFF0C\u660E\u6587\u5BC6\u7801/\u53E3\u4EE4\u4E0D\u968F\u6D4F\u89C8\u5668\u5B58\u50A8\u4FDD\u7559\uFF0C\u672C\u6B21\u8FDE\u63A5\u9700\u8981\u91CD\u65B0\u8F93\u5165\uFF1A\u91CD\u5F00\u6807\u7B7E\u65F6\u518D\u586B\u4E00\u6B21\uFF0C\u6216\u5728\u8BBE\u7F6E\u5361\u7247\u628A\u51ED\u636E\u6362\u6210 env: \u5F15\u7528\uFF08\u503C\u5B58\u5BBF\u4E3B\u51ED\u636E\u5B58\u50A8\uFF09\u3002\x1B[0m")}catch{}}function as(e){df(e);let t=e.fit!==null?e.fit.proposeDimensions():void 0,r={...e.spawnSpec,sid:e.sid,cols:t!==void 0?t.cols:80,rows:t!==void 0?t.rows:24};if(fe===null||fe.readyState!==WebSocket.OPEN){pn.add({tab:e,frame:r});return}me(r)}function tl(e){let t={sid:rs(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:e.spawnSpec,label:typeof e.label=="string"?e.label:void 0};oi(t),le.set(t.sid,t),ns+=1,rt(),Zt(t.sid),as(t)}function Ji(e){let t=le.get(e);if(t===void 0)return;if(t.embedded===!0){Al(t);return}let r=t.spawnSpec,n=t.label;if(t.exited||me({t:"kill",sid:e}),t.term!==null)try{t.term.dispose()}catch{}t.termEl!==null&&t.termEl.remove(),le.delete(e);let a={sid:rs(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,spawnSpec:r,label:n};oi(a),le.set(a.sid,a),rt(),Zt(a.sid),as(a),Jt()}function rl(e){let t=le.get(e);if(t!==void 0){if(tt!==null&&tt.ownerKey===e&&Gr(!0),t.exited||me({t:"kill",sid:e}),le.delete(e),ii.delete(e),t.term!==null)try{t.term.dispose()}catch{}if(t.termEl!==null&&t.termEl.remove(),ve===e){ve=null;let r=[...le.entries()].filter(([,n])=>n.embedded!==!0).map(([n])=>n).pop()??null;r!==null&&Zt(r)}rt(),An(),[...le.values()].some(r=>r.embedded!==!0)?Jt():ti()}}function Ml(e){let t=typeof e?.command=="string"?e.command.trim():"";if(t==="")throw new Error("ttyTerminal \u9700\u8981 command");if(/[\r\n\0]/.test(t))throw new Error("command \u5FC5\u987B\u662F\u5355\u884C");return t}function Rl(e,t){return typeof e?.book=="string"&&e.book!==""?{t:"ssh",name:e.book,command:t}:e?.spec!==null&&typeof e?.spec=="object"?{t:"ssh",...e.spec,command:t}:{t:"spawn",...typeof e?.cwd=="string"&&e.cwd!==""?{cwd:e.cwd}:{},command:t}}function uf(e){let t=e.controller;t===void 0||t.observer!==null||(t.observer=new ResizeObserver(()=>{if(!(t.disposed||t.tab!==e||e.term===null)){try{e.fit.fit()}catch{return}e.spawned&&!e.exited&&xr(e)}}),t.observer.observe(t.hostEl))}function Tl(e,t,r){let n={sid:rs(),term:null,fit:null,search:null,termEl:null,overlayEl:null,exited:!1,spawned:!1,embedded:!0,controller:e,spawnSpec:t,label:r};return oi(n),le.set(n.sid,n),ii.add(n.sid),e.hostEl.appendChild(n.termEl),uf(n),as(n),n}function Al(e){let t=e.controller;if(!(t===void 0||t.disposed)){e.exited||me({t:"kill",sid:e.sid});try{e.term?.dispose()}catch{}return e.termEl?.remove(),le.delete(e.sid),ii.delete(e.sid),t.observer!==null&&(t.observer.disconnect(),t.observer=null),t.tab=Tl(t,e.spawnSpec,e.label),ve===e.sid&&(ve=t.tab.sid,An()),t.tab}}function ff(e,t){if(!(e instanceof HTMLElement))throw new Error("ttyTerminal.mount \u9700\u8981 HTMLElement \u4F5C\u4E3A\u6302\u8F7D\u70B9");let r=Ml(t),n=Rl(t,r),a=typeof t?.label=="string"&&t.label!==""?t.label:void 0;ri();let i={hostEl:e,tab:null,observer:null,disposed:!1};return i.tab=Tl(i,n,a),Hf(),()=>_f(i)}function _f(e){if(e.disposed)return;e.disposed=!0,e.observer!==null&&(e.observer.disconnect(),e.observer=null);let t=e.tab;if(t!==null){t.exited||me({t:"kill",sid:t.sid});try{t.term?.dispose()}catch{}t.termEl?.remove(),le.delete(t.sid),ii.delete(t.sid),e.tab=null}if(ne===null&&!Tn()&&fe!==null){Jr=!0;try{fe.close()}catch{}fe=null}}var pf=460,gf=280,vf=320,mf=160,tt=null,fr=pf,_r=vf;function Dn(){let e=ne!==null?ne.querySelector(".tt_modal"):null,t=e!==null?e:ne;return t!==null?t.getBoundingClientRect():null}var Bn=e=>e==="bottom"?mf:gf;function bf(e){let t=Dn();if(t===null)return 900;let r=e==="bottom"?t.height:t.width;return Math.max(Bn(e),Math.round(r*.72))}function Kr(e,t){return Math.min(bf(e),Math.max(Bn(e),Math.round(t)))}function $i(){let e=tt;if(e!==null){if(e.collapsed){e.el.style.width="",e.el.style.height="",e.el.style.flexBasis="";return}if(e.side==="bottom"){_r=Kr("bottom",_r),e.el.style.width="",e.el.style.height=String(_r)+"px",e.el.style.flexBasis=String(_r)+"px";return}fr=Kr("right",fr),e.el.style.height="",e.el.style.width=String(fr)+"px",e.el.style.flexBasis=String(fr)+"px"}}function Gr(e){let t=tt;if(t!==null){if(tt=null,t.disposed=!0,e&&t.onClose!==null)try{t.onClose()}catch(r){console.warn("[dsh-tty] ttyPanel.onClose \u629B\u9519\uFF1A"+(r instanceof Error?r.message:String(r)))}try{t.el.remove()}catch{}Ve!==null&&delete Ve.dataset.side}}function Dl(e){if(kn(),Ve===null)throw new Error("ttyPanel.mountPane\uFF1A\u7EC8\u7AEF\u9762\u677F\u672A\u5C31\u7EEA");tt!==null&&Gr(!0),ri();let t=dr(e?.ownerSid,ve),r=e?.side==="bottom"?"bottom":"right",n=Math.max(r==="bottom"?120:200,Math.round(typeof e?.min=="number"&&Number.isFinite(e.min)?e.min:Bn(r)));if(typeof e?.size=="number"&&Number.isFinite(e.size)){let c=Kr(r,e.size);r==="bottom"?_r=c:fr=c}let a=document.createElement("div");a.className="tt_dockPane",a.dataset.side=r,Ve.dataset.side=r,a.innerHTML='<div class="tt_dockPaneResize" title="'+(r==="bottom"?"\u62D6\u52A8\u8C03\u6574\u9AD8\u5EA6":"\u62D6\u52A8\u8C03\u6574\u5BBD\u5EA6")+'"></div><div class="tt_dockPaneHead"><span class="tt_dockPaneTitle"></span><span class="tt_dockPaneHint"></span><span class="tt_dockPaneSpacer"></span><button class="tt_dockPaneFold" type="button"></button><button class="tt_dockPaneClose" type="button" title="\u5173\u95ED\u4FA7\u680F">'+ss+'</button></div><div class="tt_dockPaneBody"></div>',Ve.appendChild(a);let i=a.querySelector(".tt_dockPaneTitle"),s=a.querySelector(".tt_dockPaneHint"),o=a.querySelector(".tt_dockPaneBody"),f=a.querySelector(".tt_dockPaneFold"),l=a.querySelector(".tt_dockPaneClose"),p=a.querySelector(".tt_dockPaneResize"),g={el:a,element:o,disposed:!1,collapsed:!1,side:r,minSize:n,ownerKey:t,onClose:typeof e?.onClose=="function"?e.onClose:null},S=()=>r==="bottom"?g.collapsed?Ln:$u:g.collapsed?ml:vl,_=c=>{g.collapsed=c===!0,g.collapsed?a.dataset.collapsed="1":delete a.dataset.collapsed,f.innerHTML=S(),f.title=g.collapsed?"\u5C55\u5F00\u4FA7\u680F":"\u6536\u8D77\u4FA7\u680F",f.setAttribute("aria-label",f.title),$i()};return g.setTitle=c=>{i.textContent=typeof c=="string"?c:""},g.setHint=c=>{s.textContent=typeof c=="string"?c:""},g.isCollapsed=()=>g.collapsed===!0,g.collapse=()=>_(!0),g.expand=()=>_(!1),g.toggle=()=>_(!g.collapsed),g.dispose=()=>{g.disposed||tt!==g||Gr(!1)},p.addEventListener("mousedown",c=>{if(c.button!==0||g.collapsed)return;c.preventDefault();let d=c.clientX,h=c.clientY,u=a.getBoundingClientRect(),v=b=>{r==="bottom"?_r=Kr("bottom",Math.max(n,u.height+(h-b.clientY))):fr=Kr("right",Math.max(n,u.width+(d-b.clientX))),$i()},y=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),document.body.style.userSelect=""};document.body.style.userSelect="none",document.addEventListener("mousemove",v),document.addEventListener("mouseup",y)}),p.addEventListener("dblclick",()=>_(!g.collapsed)),f.addEventListener("click",()=>_(!g.collapsed)),l.addEventListener("click",()=>Gr(!0)),g.setTitle(typeof e?.title=="string"?e.title:""),g.setHint(typeof e?.hint=="string"?e.hint:""),_(e?.collapsed===!0),tt=g,$i(),Bl(),g}function Bl(){let e=tt;if(e!==null){if(cn(e.ownerKey,ve)){delete e.el.dataset.dockHidden,Ve!==null&&(Ve.dataset.side=e.side);return}e.el.dataset.dockHidden="1",Ve!==null&&delete Ve.dataset.side}}function Zt(e){let t=le.get(e);if(t!==void 0&&t.embedded!==!0){ve=e;for(let[r,n]of le)n.embedded!==!0&&n.termEl!==null&&(n.termEl.style.display=r===e?"":"none");t.embedded!==!0&&Ge!==null&&t.termEl!==null&&t.termEl.parentElement!==Ge&&Ge.appendChild(t.termEl),ni(),Xt(),rt(),Kt(),Bl();try{t.fit.fit()}catch{}t.spawned&&!t.exited&&xr(t),ur(t,t.exited?"\u4F1A\u8BDD\u5DF2\u9000\u51FA":"",t.exited?"\u70B9\u51FB\u91CD\u65B0\u6253\u5F00":"","exited"),An()}}function un(e){if(ut===null)return;let t=le.get(e);if(t===void 0)return;let n=ut.querySelector(`[data-sid="${e}"]`)?.querySelector(".tt_tabDot");n!=null&&(n.dataset.state=t.exited?"exited":t.live===!0?"connected":t.errored===!0?"error":"connecting")}var fn=!1;function rt(){if(ut===null)return;if(ut.querySelector(".tt_tabRename")!==null){fn||(fn=!0,setTimeout(()=>{fn=!1,rt()},1e3));return}ut.textContent="";for(let[r,n]of le){if(n.embedded===!0)continue;let a=document.createElement("button");a.className="tt_tab",a.dataset.sid=r,r===ve&&(a.dataset.active="");let i=document.createElement("span");i.className="tt_tabDot",i.dataset.state=n.exited?"exited":n.live===!0?"connected":n.errored===!0?"error":"connecting",a.appendChild(i);let s=document.createElement("span");s.className="tt_tabLabel",s.textContent=n.label||"\u7EC8\u7AEF "+Pl(r),s.addEventListener("dblclick",f=>{f.stopPropagation(),yf(r,a)});let o=document.createElement("span");o.className="tt_tabClose",o.title="\u5173\u95ED",o.textContent="\u2715",o.setAttribute("role","button"),o.setAttribute("aria-label","\u5173\u95ED\u6807\u7B7E\uFF1A"+(n.label||"")),o.tabIndex=0,o.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" "||f.key==="Spacebar")&&(f.preventDefault(),f.stopPropagation(),rl(r))}),a.title=s.textContent,a.appendChild(s),a.appendChild(o),a.addEventListener("click",f=>{if(f.target.closest(".tt_tabClose")!==null){f.stopPropagation(),rl(r);return}Zt(r)}),ut.appendChild(a)}let e=ut.querySelector("[data-active]");e!==null&&typeof e.scrollIntoView=="function"&&e.scrollIntoView({block:"nearest",inline:"nearest"});let t=document.createElement("button");t.className="tt_tabAdd",t.title="\u65B0\u5EFA\uFF08\u672C\u5730 / SSH\uFF09",t.innerHTML=Fu,t.addEventListener("click",()=>{Ef(t)}),ut.appendChild(t)}function wf(e){return e?.direction==="remote"?`\u8FDC\u7A0B:${e.remoteHost||"127.0.0.1"}:${String(e.remotePort??0)} \u2192 \u672C\u673A:${String(e.localTargetPort??0)}`:`\u672C\u673A:${String(e?.localPort??0)} \u2192 ${e?.remoteHost??"?"}:${String(e?.remotePort??0)}`}function Kt(){if(Wr===null||qi===null||zr===null||$r===null)return;zr.textContent="";let e=Xe(),t=e?.spawnSpec??{};if(e===void 0||t.t!=="ssh"){Wr.dataset.hidden="";return}delete Wr.dataset.hidden;let r=Number(t.port);qi.textContent=typeof e.target=="string"&&e.target!==""?e.target:typeof t.name=="string"&&t.name!==""?t.name:String(t.username??"")+"@"+String(t.host??"")+(Number.isInteger(r)&&r!==22?":"+r:""),Ke!==null&&(e.persistTmux===!0?(Ke.textContent="tmux",Ke.dataset.state="ok",Ke.title="\u5DF2\u7531 tmux \u6258\u7BA1 \u2014 \u65AD\u7EBF / \u5BBF\u4E3B\u91CD\u542F\u540E\u6309\u540D\u63A5\u56DE\u73B0\u573A"):t.persist===!0&&e.spawned===!0?(Ke.textContent="\u672A\u6301\u4E45\u5316",Ke.dataset.state="warn",Ke.title="\u8BF7\u6C42\u4E86\u6301\u4E45\u4F1A\u8BDD\uFF0C\u4F46 tmux \u4E0D\u53EF\u7528 \u2014 \u5F53\u524D\u4E3A\u666E\u901A\u4F1A\u8BDD"):(Ke.textContent="",delete Ke.dataset.state,Ke.removeAttribute("title")));let n=e.exited?"exited":e.live===!0?"connected":e.errored===!0?"error":"connecting";$r.dataset.state=n,$r.title=n==="connected"?"\u5DF2\u8FDE\u63A5":n==="connecting"?"\u8FDE\u63A5\u4E2D":n==="error"?"\u8FDE\u63A5\u51FA\u9519":"\u4F1A\u8BDD\u5DF2\u9000\u51FA";let a=(s,o,f,l)=>{let p=document.createElement("button");p.type="button",p.className="tt_toolBtn tt_connAct",p.title=f,p.innerHTML=s+"<span></span>",p.lastElementChild.textContent=o,p.addEventListener("click",l),zr.appendChild(p)};if(typeof t.command=="string"&&t.command!=="")return;let i=typeof t.name=="string"?t.name:"";for(let s of gn)try{s({tab:e,spec:t,bookName:i,addAction:a})}catch(o){console.warn("[dsh-tty] connbar action failed: "+(o instanceof Error?o.message:String(o)))}}var Ut=null,zi=null;function mn(){zi!==null&&(document.removeEventListener("mousedown",zi,!0),zi=null),Ut!==null&&(Ut.remove(),Ut=null)}function Sf(e,t){if(Ut!==null){mn();return}let r=document.createElement("div");r.className="tt_tunnelPop";let n=document.createElement("div");n.className="tt_tunnelPopTitle",n.textContent="\u7AEF\u53E3\u8F6C\u53D1 \u2014 "+t,r.appendChild(n);let a=document.createElement("div");a.textContent="\u52A0\u8F7D\u4E2D\u2026",r.appendChild(a);let i=document.createElement("span");i.className="tt_cardHint",i.textContent="\u589E\u5220/\u542F\u505C\u5728 \u63D2\u4EF6\u914D\u7F6E \u2192 \u7EC8\u7AEF\u9762\u677F \u7684\u7AEF\u53E3\u8F6C\u53D1\u533A\u5757\u7EF4\u62A4",r.appendChild(i),document.body.appendChild(r),Ut=r;let s=e.getBoundingClientRect();r.style.top=String(s.bottom+6)+"px",r.style.left=String(Math.max(8,s.right-340))+"px";let o=f=>{Ut===r&&(r.contains(f.target)||e.contains(f.target)||mn())};zi=o,setTimeout(()=>document.addEventListener("mousedown",o,!0),0),(async()=>{let f=[];try{let g=await(await fetch("/api/dsh-tty/tunnels",{cache:"no-store"})).json();g.ok&&Array.isArray(g.tunnels)&&(f=g.tunnels)}catch{}if(Ut!==r)return;a.textContent="";let l=Pn.filter(p=>p?.bookName===t&&p?.enabled!==!1);if(l.length===0){let p=document.createElement("span");p.className="tt_cardHint",p.textContent="\u8BE5\u8FDE\u63A5\u6682\u65E0\u542F\u7528\u7684\u96A7\u9053",a.appendChild(p);return}for(let p of l){let g=f.find(h=>h?.name===p?.name),S=g?.state??"stopped",_=document.createElement("div");_.className="tt_tunnelPopRow";let c=document.createElement("span");c.className="tt_connDot",c.dataset.state=S==="active"?"connected":S==="error"?"error":"connecting";let d=document.createElement("span");d.className="tt_connTarget",d.title=String(g?.error??g?.lastForwardError??""),d.textContent=wf(p)+" \xB7 "+S,_.appendChild(c),_.appendChild(d),a.appendChild(_)}})()}function Pl(e){let t=1;for(let r of le.keys()){if(r===e)return String(t);t+=1}return String(t)}function yf(e,t){let r=le.get(e);if(r===void 0||t.querySelector(".tt_tabRename")!==null)return;let n=t.querySelector(".tt_tabLabel");if(n===null)return;let a=document.createElement("input");a.className="tt_tabRename",a.value=r.label||"\u7EC8\u7AEF "+Pl(e),n.replaceWith(a),a.focus(),a.select();let i=!1,s=()=>{if(i)return;i=!0;let f=a.value.trim();r.label=f!==""?f:void 0,rt(),Jt()},o=()=>{i||(i=!0,rt())};a.addEventListener("keydown",f=>{f.stopPropagation(),f.key==="Enter"?s():f.key==="Escape"&&o()}),a.addEventListener("blur",s),a.addEventListener("click",f=>f.stopPropagation())}var Pn=[],Ol="dialog",It="off",Nt={maxDownloadMb:1024,maxUploadMb:2048,maxUploadFiles:1e3},br=null,Ot=null,Zi=null,Gt=!1;function Il(e){Gt=e,Zi!==null&&Zi.set(e)}function Cf(e){Il(!(e!==null&&typeof e=="object"&&e.enabled===!1)),e!==null&&typeof e=="object"&&typeof e.statsEnabled=="boolean"&&e.statsEnabled!==Yi&&(Yi=e.statsEnabled,ni(),Xt())}function Qr(e){Cf(e),e!==null&&typeof e=="object"&&Array.isArray(e.sshHosts)&&(Et=e.sshHosts),e!==null&&typeof e=="object"&&Array.isArray(e.tunnels)&&(Pn=e.tunnels),e!==null&&typeof e=="object"&&(e.sftpStyle==="dual"||e.sftpStyle==="dialog")&&(Ol=e.sftpStyle),e!==null&&typeof e=="object"&&(e.persistence==="tmux"||e.persistence==="off")&&(It=e.persistence),e!==null&&typeof e=="object"&&typeof e.sftpLimits=="object"&&e.sftpLimits!==null&&(Nt={...Nt,...e.sftpLimits}),e!==null&&typeof e=="object"&&Number.isInteger(e.maxSessions)&&e.maxSessions>=1&&(br=e.maxSessions)}function xf(e,t){let r=t==="error"||t==="info"?t:"warn",n=document.createElement("div");n.className="tt_toast",n.dataset.kind=r,n.innerHTML='<span class="tt_toastIcon">'+(r==="error"?bl:r==="info"?ju:Uu)+'</span><span class="tt_toastText"></span>',n.lastElementChild.textContent=e,document.body.appendChild(n),setTimeout(()=>n.remove(),4e3)}async function Nl(){try{me({t:"sessions"});let e=await Xi("sessions",3e3);if(e!==null&&Array.isArray(e.list))return Ot=e.list.length,Ot}catch{}return null}async function Qi(){if(await Nl(),br===null||Ot===null||Ot<br)return null;let e=[...le.values()].filter(n=>!n.exited).length,t=Math.max(0,Ot-e),r=`\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\uFF08\u5171 ${Ot} \u4E2A / \u4E0A\u9650 ${br}\uFF1A\u672C\u7A97\u53E3 ${e} \u4E2A${t>0?" + \u5176\u4ED6\u7A97\u53E3 "+t+" \u4E2A":""}\uFF09\u2014\u2014\u5173\u95ED\u4E0D\u7528\u7684\u7A97\u53E3/\u6807\u7B7E\uFF0C\u6216\u5728\u8BBE\u7F6E\u5361\u7247\u8C03\u5927\u300C\u5E76\u53D1\u4F1A\u8BDD\u4E0A\u9650\u300D`;return xf(r),r}function kf(){return br!==null&&Ot!==null&&Ot>=br}function On(){return Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4)}function Hl(e){return Pn.filter(t=>t?.bookName===e&&t?.enabled!==!1).length}function bn(e){let t=Number(e?.port),r=Number.isInteger(t)&&t!==22?":"+t:"",n=e?.auth==="key"?"key":e?.auth==="password"?"password":"agent",a=e?.agentForward===!0?" \xB7 fwd":"";return String(e?.username??"")+"@"+String(e?.host??"")+r+" \xB7 "+n+a}async function wn(e,t){let r=await fetch("/api/dsh-tty/probe",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e,bookRecord:t===!0})}),n=await r.json().catch(()=>({}));return n&&n.ok===!1&&n.error?{error:String(n.error)}:n&&n.result?{result:n.result}:{error:String(n&&n.error?n.error:"\u8FDE\u63A5\u6D4B\u8BD5\u5931\u8D25\uFF08HTTP "+r.status+"\uFF09")}}function Sn(e,t){if(!e)return"\u8FDE\u63A5\u6D4B\u8BD5\u2026";let r=e,n=typeof r.tcp?.ms=="number"?r.tcp.ms:null,a=typeof r.auth?.ms=="number"?r.auth.ms:null,i=[];r.tcp?.ok&&i.push("TCP "+(n!==null?n+"ms":"\u901A")),r.banner?.ok&&i.push("banner \u6B63\u5E38");let s=r.hostkey?.state;if(s==="matched"?i.push("\u4E3B\u673A\u5BC6\u94A5\u5339\u914D"):s==="recorded"?i.push("\u4E3B\u673A\u5BC6\u94A5\u5DF2\u8BB0\u5F55\uFF08TOFU\uFF09"):s==="mismatch"&&i.push("\u4E3B\u673A\u5BC6\u94A5\u4E0D\u5339\u914D\uFF01"),r.auth?.ok)return"\u2705 \u8FDE\u63A5\u6210\u529F\uFF1A"+(a!==null?"\u8BA4\u8BC1\u901A\u8FC7\uFF08"+a+"ms\uFF09":"\u8BA4\u8BC1\u901A\u8FC7")+(i.length?" \xB7 "+i.join(" \xB7 "):"");let o=r.auth?.error||r.tcp?.error||"\u672A\u77E5\u9519\u8BEF";return(t?.prefix||"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A")+o+(i.length?" \xB7 "+i.join(" \xB7 "):"")}async function In(){try{let t=await(await fetch("/api/dsh-tty/config",{cache:"no-store"})).json();if(t.ok&&typeof t.config=="object"&&t.config!==null){let r=Et;Qr(t.config),Ye!==null&&Et!==r&&yn(Ye)}}catch{}}function Fl(e){Ye!==null&&(e.target instanceof Element&&(Ye.contains(e.target)||e.target.closest(".tt_tabAdd")!==null)||_t())}function Ef(e){if(Ye!==null){_t();return}In(),Nl().then(()=>{Ye!==null&&yn(Ye)});let t=document.createElement("div");t.className="tt_addMenu",Ye=t,yn(t),document.body.appendChild(t);let r=e.getBoundingClientRect(),n=t.offsetWidth,i=r.left+n>window.innerWidth-8?r.right-n:r.left;t.style.left=Math.max(8,Math.min(i,window.innerWidth-n-8))+"px",t.style.top=r.bottom+6+"px",document.addEventListener("mousedown",Fl,!0)}function _t(){Ye!==null&&(document.removeEventListener("mousedown",Fl,!0),Ye.remove(),Ye=null)}function il(e,t,r,n,a,i){let s=document.createElement("button");if(s.type="button",s.className="tt_addMenuItem",a===!0&&(s.setAttribute("data-soldout",""),s.title="\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\u2014\u2014\u70B9\u51FB\u67E5\u770B\u600E\u4E48\u529E"),i!==void 0){let l=document.createElement("span");l.className="tt_addMenuIcon",l.innerHTML=i,s.appendChild(l)}let o=document.createElement("span");o.className="tt_addMenuText";let f=document.createElement("span");if(f.className="tt_addMenuMain",f.textContent=t,o.appendChild(f),r!==""){let l=document.createElement("span");l.className="tt_addMenuSub",l.textContent=r,o.appendChild(l)}s.appendChild(o),s.addEventListener("click",n),e.appendChild(s)}function yn(e){e.textContent="";let t=kf();il(e,"\u672C\u5730\u7EC8\u7AEF",It==="tmux"?"tmux \u6258\u7BA1 \xB7 \u5BBF\u4E3B\u91CD\u542F\u540E\u53EF\u6062\u590D":"\u5728\u5F53\u524D\u4F1A\u8BDD\u5DE5\u4F5C\u76EE\u5F55\u6253\u5F00",async()=>{await Qi()||(_t(),Zr())},t,is);let r=document.createElement("div");r.className="tt_addMenuSep",e.appendChild(r);let n=document.createElement("div");n.className="tt_addMenuTitle",n.textContent="SSH \u8FDE\u63A5\u7C3F",e.appendChild(n);for(let i of Et){if(i===null||typeof i!="object"||typeof i.name!="string"||i.name==="")continue;let s=document.createElement("div");s.className="tt_addMenuRow";let o=document.createElement("button");o.type="button",o.className="tt_addMenuItem",t&&(o.setAttribute("data-soldout",""),o.title="\u4F1A\u8BDD\u6570\u5DF2\u8FBE\u4E0A\u9650\u2014\u2014\u70B9\u51FB\u67E5\u770B\u600E\u4E48\u529E");let f=document.createElement("span");f.className="tt_addMenuIcon",f.innerHTML=zu;let l=document.createElement("span");l.className="tt_addMenuText";let p=document.createElement("span");p.className="tt_addMenuMain",p.textContent=i.name;let g=document.createElement("span");g.className="tt_addMenuSub";let S=Hl(i.name);g.textContent=bn(i)+(S>0?" \xB7 \u21C4"+String(S):""),l.appendChild(p),l.appendChild(g),o.appendChild(f),o.appendChild(l),o.addEventListener("click",async()=>{if(await Qi())return;_t();let d=It==="tmux"&&i.persist!==!1?{persist:!0,persistName:On()}:{};Zr({t:"ssh",name:i.name,...d},i.name)});let _=document.createElement("button");_.type="button",_.className="tt_addMenuEdit",_.title="SFTP \u6587\u4EF6\u6D4F\u89C8",_.innerHTML=Yr,_.addEventListener("click",()=>{_t(),ls({name:i.name})});let c=document.createElement("button");c.type="button",c.className="tt_addMenuEdit",c.title="\u7F16\u8F91\u8FDE\u63A5",c.innerHTML=Mn,c.addEventListener("click",()=>{_t(),sl(i)}),s.appendChild(o),s.appendChild(_),s.appendChild(c),e.appendChild(s)}if(Et.length===0){let i=document.createElement("div");i.className="tt_addMenuTitle",i.textContent="\uFF08\u7A7A \u2014 \u5728\u8BBE\u7F6E\u5361\u7247\u6216\u300CSSH \u8FDE\u63A5\u2026\u300D\u91CC\u4FDD\u5B58\uFF09",e.appendChild(i)}let a=document.createElement("div");a.className="tt_addMenuSep",e.appendChild(a),il(e,"SSH \u8FDE\u63A5\u2026","\u624B\u52A8\u586B\u5199\u4E3B\u673A / \u7528\u6237 / \u8BA4\u8BC1\u65B9\u5F0F",()=>{_t(),sl()},!1,wl)}function sl(e){if(mr!==null)return;let t=e!==null&&typeof e=="object"?e:null,r=t!==null,n=document.createElement("div");n.className="tt_sshBackdrop";let a=document.createElement("div");a.className="tt_sshCard";let i=document.createElement("div");i.className="tt_sshTitle",i.innerHTML=wl+"<span></span>",i.lastElementChild.textContent=r?"\u7F16\u8F91\u8FDE\u63A5 \xB7 "+String(t.name??""):"SSH \u8FDE\u63A5",a.appendChild(i);let s=I=>{let x=document.createElement("div");return x.className="tt_sshSection",x.textContent=I,x},o={},f=(I,x,O)=>{let N=document.createElement("label");N.className="tt_sshRow";let $=document.createElement("span");$.className="tt_cardLabel",$.textContent=x,N.appendChild($);let U;if(O?.select!==void 0){U=document.createElement("select");for(let X of O.select){let te=document.createElement("option");te.value=X.value,te.textContent=X.label,U.appendChild(te)}}else U=document.createElement("input"),U.type=O?.type??"text",U.placeholder=O?.placeholder??"";return U.className="tt_cardInput",U.autocomplete="off",U.spellcheck=!1,N.appendChild(U),o[I]=U,N};a.appendChild(s("\u8FDE\u63A5"));let l=document.createElement("div");l.className="tt_sshGrid",l.appendChild(f("host","\u4E3B\u673A",{placeholder:"example.com \u6216 IP"})),l.appendChild(f("port","\u7AEF\u53E3",{placeholder:"22"})),a.appendChild(l),a.appendChild(f("username","\u7528\u6237\u540D",{placeholder:"root"})),a.appendChild(s("\u8BA4\u8BC1")),a.appendChild(f("auth","\u8BA4\u8BC1\u65B9\u5F0F",{select:[{value:"agent",label:"agent \u2014 \u4F7F\u7528\u672C\u673A ssh-agent"},{value:"key",label:"key \u2014 \u79C1\u94A5\u6587\u4EF6"},{value:"password",label:"password \u2014 \u5BC6\u7801"}]}));let p=f("keyPath","\u79C1\u94A5\u8DEF\u5F84",{placeholder:"~/.ssh/id_ed25519"}),g=f("passphrase","\u79C1\u94A5\u53E3\u4EE4\uFF08\u53EF\u7A7A\uFF09",{type:"password"}),S=f("password","\u5BC6\u7801",{type:"password"}),_=(I,x)=>{let O=document.createElement("div");O.className="tt_sshRow tt_envRow";let N=document.createElement("input");N.type="text",N.className="tt_cardInput",N.placeholder="\u6216\uFF1A\u9009\u62E9\u51ED\u636E\u5B58\u50A8\u91CC\u7684\u5F15\u7528\u540D",N.title="\u5019\u9009 = \u51ED\u636E\u5B58\u50A8\u91CC\u5DF2\u6709\u7684\u5F15\u7528\u540D + \u672C\u673A\u8FDE\u63A5\u7C3F\u91CC\u5728\u7528\u7684\u5F15\u7528\u540D",N.autocomplete="off",N.spellcheck=!1;let $=document.createElement("span");$.className="tt_cardHint tt_envEmpty",$.textContent=x,$.hidden=!0,N.hidden=!0;let U=document.createElement("div");U.className="tt_envList",U.dataset.hidden="";let X=[],te=()=>{if(U.textContent="",X.length===0){let K=document.createElement("span");K.className="tt_cardHint",K.textContent=x,U.appendChild(K);return}let re=N.value.trim().toUpperCase(),Q=re===""?X:X.filter(K=>K.toUpperCase().includes(re));for(let K of Q.slice(0,30)){let J=document.createElement("button");J.type="button",J.className="tt_envItem",J.textContent=K;let oe="env:"+K,ie=null,ce=()=>{ie!==null&&(clearTimeout(ie),ie=null),J.textContent=K,delete J.dataset.danger};J.addEventListener("mousedown",ye=>ye.preventDefault()),J.addEventListener("click",()=>{let ye=I.value;if(ye===""||ye.startsWith("env:")||ie!==null){ce(),I.value=oe,I.focus(),I.dispatchEvent(new Event("change"));return}J.textContent=K+"\uFF08\u518D\u70B9\u8986\u76D6\u5DF2\u586B\uFF09",J.dataset.danger="",ie=setTimeout(ce,4e3)}),U.appendChild(J)}if(Q.length>30){let K=document.createElement("span");K.className="tt_envMore",K.textContent="\u8FD8\u6709 "+(Q.length-30)+" \u4E2A \u2014 \u7EE7\u7EED\u8F93\u5165\u7B5B\u9009",U.appendChild(K)}else if(Q.length===0){let K=document.createElement("span");K.className="tt_envMore",K.textContent="\u6CA1\u6709\u5339\u914D\u7684\u5F15\u7528",U.appendChild(K)}};return N.addEventListener("input",te),N.addEventListener("focus",()=>{X.length>0&&delete U.dataset.hidden}),N.addEventListener("blur",()=>{N.value.trim()===""&&(U.dataset.hidden="")}),O.appendChild(N),O.appendChild($),O.appendChild(U),{row:O,setNames(re){X=Array.isArray(re)?re:[];let Q=X.length>0;N.hidden=!Q,$.hidden=Q,te()}}},c=(I,x)=>{let O=document.createElement("div");O.className="tt_sshRow tt_credRow";let N=document.createElement("label");N.className="tt_credToggle";let $=document.createElement("input");$.type="checkbox",$.className="tt_cardCheckbox";let U=document.createElement("span");U.textContent="\u4FDD\u5B58\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8",N.appendChild($),N.appendChild(U),$.checked=pt!==null,N.title="\u52FE\u9009\u540E\uFF0C\u70B9\u300C\u4FDD\u5B58\u4FEE\u6539\u300D\u6216\u300C\u8FDE\u63A5\uFF08\u5E76\u4FDD\u5B58\uFF09\u300D\u65F6\u628A\u5BC6\u7801\u5199\u8FDB\u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF0C\u5B57\u6BB5\u91CC\u53EA\u7559 env: \u5F15\u7528\uFF08\u503C\u5728 ~/.dsh/.credentials.yaml\uFF0C\u4E0D\u8FDB\u73AF\u5883\u3001\u4E0D\u56DE\u4F20\u6D4F\u89C8\u5668\uFF1B\u6321\u4E0D\u4F4F\u540C\u7528\u6237\u8FDB\u7A0B\u4E0E agent\uFF09\u3002\u4E0D\u52FE\u9009\u5219\u6309\u73B0\u72B6\u660E\u6587\u5199\u8FDB\u8BBE\u7F6E\u6587\u4EF6\u3002\u80FD\u7528\u5BC6\u94A5 / agent \u5C31\u522B\u5B58\u5BC6\u7801\u3002";let X=document.createElement("button");X.type="button",X.className="tt_toolBtn tt_credClear",X.textContent="\u6E05\u9664\u5DF2\u5B58\u51ED\u636E",X.dataset.hidden="";let te=document.createElement("span");te.className="tt_credStatus",O.appendChild(N),O.appendChild(X),O.appendChild(te);let re=(J,oe)=>{te.textContent=J,te.dataset.kind=oe},Q=async()=>{let J=pr(I.value),oe=J!=="";if(N.hidden=oe,X.hidden=!oe,te.hidden=!1,wr()===null){$.disabled=!0,$.checked=!1,X.disabled=!0,re(pt===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58","muted");return}if($.disabled=!1,!oe){te.hidden=!0,re("","plain");return}let ie=await hl(J);if(ie.unreported===!0){re("\u5F15\u7528 "+J+"\uFF1A\u5BBF\u4E3B\u672A\u62A5\u544A\u72B6\u6001","plain");return}if(ie.error!==void 0){re("\u8BFB\u53D6\u51ED\u636E\u72B6\u6001\u5931\u8D25\uFF1A"+ie.error,"error");return}let ce=ie.view;re(ce.configured?"\u5DF2\u5B58\u5165"+(ce.source!==""?"\uFF08\u6765\u6E90 "+ce.source+"\uFF09":"")+" \xB7 "+J:"\u5F15\u7528 "+J+"\uFF1A\u5B58\u50A8\u91CC\u8FD8\u6CA1\u6709\u8FD9\u4E2A\u503C",ce.configured?"ok":"plain"),X.disabled=ce.configured!==!0||ce.writable!==!0};X.addEventListener("click",()=>{(async()=>{let J=pr(I.value);if(J==="")return;let oe=await dl(J);if(oe.error!==void 0){re(oe.error,"error");return}I.value="",await Q()})()});let K=async()=>{let J=await ul($.checked===!0,I.value,o.host.value,o.port.value,o.username.value,x);return J.value!==void 0&&(I.value=J.value,await Q()),J};return I.addEventListener("change",()=>{Q()}),{row:O,refresh:Q,storeIfRequested:K}},d=_(o.passphrase,"\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u53EF\u5728\u79C1\u94A5\u53E3\u4EE4\u6846\u76F4\u63A5\u624B\u8F93 env:NAME"),h=_(o.password,"\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u52FE\u4E0A\u9762\u7684\u300C\u4FDD\u5B58\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u300D\u65B0\u5EFA\u4E00\u4E2A\uFF0C\u6216\u76F4\u63A5\u5728\u5BC6\u7801\u6846\u624B\u8F93 env:NAME"),u=c(o.password,"PASSWORD");(async()=>{let I=await cl();d.setNames(I),h.setNames(I)})(),a.appendChild(p),a.appendChild(g),a.appendChild(d.row),a.appendChild(S),a.appendChild(u.row),a.appendChild(h.row),a.appendChild(s("\u9009\u9879"));let v=document.createElement("label");v.className="tt_cardRow";let y=document.createElement("input");y.type="checkbox",y.className="tt_cardCheckbox";let b=document.createElement("span");b.className="tt_cardLabel",b.textContent="agent forwarding\uFF08\u8FDC\u7A0B\u53EF\u7528\u672C\u5730 ssh-agent \u94A5\u5319\uFF0C\u5982\u8FDC\u7A0B git clone\uFF09",v.appendChild(y),v.appendChild(b),a.appendChild(v);let C=document.createElement("label");C.className="tt_cardRow";let m=document.createElement("input");m.type="checkbox",m.className="tt_cardCheckbox";let E=document.createElement("span");E.className="tt_cardLabel",E.textContent="\u6301\u4E45\u4F1A\u8BDD\uFF08tmux \u6258\u7BA1\uFF0C\u65AD\u7EBF/\u91CD\u542F\u540E\u6062\u590D\u73B0\u573A\uFF1B\u8FDC\u7A0B\u9700\u5B89\u88C5 tmux\uFF09",C.appendChild(m),C.appendChild(E),m.checked=It==="tmux",It==="tmux"&&a.appendChild(C);let P=document.createElement("label");P.className="tt_cardRow";let B=document.createElement("input");B.type="checkbox",B.className="tt_cardCheckbox";let H=document.createElement("span");H.className="tt_cardLabel",H.textContent="\u4FDD\u5B58\u5230\u8FDE\u63A5\u7C3F\uFF08\u540C\u540D\u8986\u76D6\uFF09",P.appendChild(B),P.appendChild(H),a.appendChild(P);let R=f("name","\u8FDE\u63A5\u7C3F\u540D\u79F0",{placeholder:"\u7559\u7A7A\u5219\u7528\u4E3B\u673A\u540D"});R.style.display="none",a.appendChild(R),B.addEventListener("change",()=>{R.style.display=B.checked?"":"none",B.checked&&o.name.value.trim()===""&&o.host.value.trim()!==""&&(o.name.value=o.host.value.trim()),B.checked&&o.name.focus()}),r&&(P.style.display="none",o.name.value=String(t.name??""),R.style.display="",o.host.value=String(t.host??""),o.port.value=String(t.port??22),o.username.value=String(t.username??""),o.auth.value=t.auth==="key"||t.auth==="password"?String(t.auth):"agent",o.keyPath.value=String(t.keyPath??""),o.passphrase.value=String(t.passphrase??""),o.password.value=String(t.password??""),y.checked=t.agentForward===!0,m.checked=It==="tmux");let j=document.createElement("div");j.className="tt_sshStatus";let A=document.createElement("div");A.className="tt_sshError";let T=document.createElement("div");T.className="tt_sshProbeResult",j.appendChild(A),j.appendChild(T),a.appendChild(j);let F=()=>{A.textContent="";let I=o.host.value.trim(),x=o.username.value.trim(),O=Number(o.port.value);if((!Number.isInteger(O)||O<1||O>65535)&&(O=22),I===""||x==="")return A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B",null;let N=o.auth.value,$={host:I,port:O,username:x,auth:N};if(N==="key"){let U=o.keyPath.value.trim();if(U==="")return A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84",null;$.keyPath=U;let X=o.passphrase.value;X!==""&&($.passphrase=X)}if(N==="password"){let U=o.password.value;if(U==="")return A.textContent="auth=password \u9700\u8981\u5BC6\u7801",null;$.password=U}return y.checked&&($.agentForward=!0),$},D=document.createElement("div");D.className="tt_sshActions";let w=document.createElement("div");w.className="tt_sshActionsGroup";let L=document.createElement("div");L.className="tt_sshActionsGroup",D.appendChild(w),D.appendChild(L);let k=document.createElement("button");k.type="button",k.className="tt_toolBtn",k.textContent="\u53D6\u6D88";let M=document.createElement("button");M.type="button",M.className="tt_cardSave",M.textContent="\u8FDE\u63A5",w.appendChild(k);let z=document.createElement("button");z.type="button",z.className="tt_toolBtn",z.textContent="\u6587\u4EF6\u6D4F\u89C8",z.title="\u4E0D\u52A8\u7EC8\u7AEF\uFF0C\u76F4\u63A5\u4EE5\u5F53\u524D\u586B\u5199\u7684\u4FE1\u606F\u6253\u5F00 SFTP \u6587\u4EF6\u6D4F\u89C8",z.addEventListener("click",()=>{A.textContent="";let I=o.host.value.trim(),x=o.username.value.trim(),O=Number(o.port.value);if((!Number.isInteger(O)||O<1||O>65535)&&(O=22),I===""||x===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let N=o.auth.value,$={host:I,port:O,username:x,auth:N};if(N==="key"){let U=o.keyPath.value.trim();if(U===""){A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84";return}$.keyPath=U;let X=o.passphrase.value;X!==""&&($.passphrase=X)}if(N==="password"){let U=o.password.value;if(U===""){A.textContent="auth=password \u9700\u8981\u5BC6\u7801";return}$.password=U}y.checked&&($.agentForward=!0),Pt(),ls($)}),w.appendChild(z);let q=null;r&&(q=document.createElement("button"),q.type="button",q.className="tt_toolBtn",q.textContent="\u4FDD\u5B58\u4FEE\u6539",q.addEventListener("click",()=>{A.textContent="";let I=o.host.value.trim(),x=o.username.value.trim();if(I===""||x===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let O=Number(o.port.value);(!Number.isInteger(O)||O<1||O>65535)&&(O=22);let N=o.auth.value,U={name:o.name.value.trim()||I,host:I,port:O,username:x,auth:N,keyPath:N==="key"?o.keyPath.value.trim():"",passphrase:o.passphrase.value,password:o.password.value,agentForward:y.checked,persist:m.checked};if(N==="key"&&U.keyPath===""){A.textContent="auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84";return}q!==null&&(q.disabled=!0),(async()=>{let X=await u.storeIfRequested();if(X.error!==void 0){A.textContent=X.error,q!==null&&(q.disabled=!1);return}X.value!==void 0&&(U.password=X.value);let te=await Mf(String(t.name??""),U);if(q!==null&&(q.disabled=!1),te!==void 0){A.textContent="\u4FDD\u5B58\u5931\u8D25\uFF1A"+te;return}Pt()})()}),w.appendChild(q));let V=document.createElement("button");V.type="button",V.className="tt_toolBtn",V.textContent="\u8BD5\u8FDE",V.title="\u6309\u5F53\u524D\u586B\u5199\u8BCA\u65AD\u8FDE\u63A5\uFF08TCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\uFF09\uFF1B\u4E0D\u4F1A\u65B0\u5EFA\u4F1A\u8BDD\uFF0C\u4E5F\u4E0D\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9",V.addEventListener("click",()=>{let I=F();I!==null&&(T.className="tt_sshProbeResult",T.textContent="\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026",V.disabled=!0,wn(I,!1).then(x=>{V.disabled=!1,x.result?(T.className="tt_sshProbeResult"+(x.result.auth?.ok===!0?" tt_sshProbeOk":" tt_sshProbeBad"),T.textContent=Sn(x.result)):(T.className="tt_sshProbeResult tt_sshProbeBad",T.textContent="\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(x.error||"\u672A\u77E5\u9519\u8BEF"))}))}),w.appendChild(V),L.appendChild(M),a.appendChild(D);let Z=()=>{p.style.display=o.auth.value==="key"?"":"none",g.style.display=o.auth.value==="key"?"":"none",d.row.style.display=o.auth.value==="key"?"":"none",S.style.display=o.auth.value==="password"?"":"none",h.row.style.display=o.auth.value==="password"?"":"none",u.row.style.display=o.auth.value==="password"?"":"none"};o.auth.addEventListener("change",Z),Z(),u.refresh(),k.addEventListener("click",()=>Pt()),n.addEventListener("mousedown",I=>{I.target===n&&Pt()}),M.addEventListener("click",async()=>{A.textContent="";let I=await Qi();if(I!==null){A.textContent=I;return}let x=o.host.value.trim(),O=o.username.value.trim(),N=Number(o.port.value);if((!Number.isInteger(N)||N<1||N>65535)&&(N=22),x===""||O===""){A.textContent="\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B";return}let $=o.auth.value,U={t:"ssh",host:x,port:N,username:O,auth:$};if($==="key"){let Q=o.keyPath.value.trim();Q!==""&&(U.keyPath=Q);let K=o.passphrase.value;K!==""&&(U.passphrase=K)}if($==="password"){let Q=o.password.value;Q!==""&&(U.password=Q)}y.checked&&(U.agentForward=!0),m.checked&&(U.persist=!0,U.persistName=On());let X=N!==22?O+"@"+x+":"+N:O+"@"+x,te=Q=>{Pt(),ne!==null&&Zr(U,Q!==""?Q:X)};if(!B.checked){te("");return}let re=o.name.value.trim()||x;M.disabled=!0,(async()=>{let Q=await u.storeIfRequested();if(Q.error!==void 0){A.textContent=Q.error,M.disabled=!1;return}let K=Q.value??U.password??"",J=await Lf({name:re,host:x,port:N,username:O,auth:$,keyPath:U.keyPath??"",passphrase:U.passphrase??"",password:K,agentForward:y.checked,persist:m.checked});if(M.disabled=!1,J!==void 0){A.textContent="\u4FDD\u5B58\u8FDE\u63A5\u7C3F\u5931\u8D25\uFF1A"+J;return}te(re)})()}),n.appendChild(a),document.body.appendChild(n),mr=n,o.host.focus()}function Pt(){mr!==null&&(mr.remove(),mr=null)}async function Lf(e){let t=[...Et.filter(r=>r?.name!==e.name),e];try{let r=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sshHosts:t})}),n=await r.json().catch(()=>({}));if(!r.ok||!n.ok)return String(n.error||"HTTP "+r.status);Qr(n.config);return}catch(r){return String(r&&r.message?r.message:r)}}async function Mf(e,t){if(t.name!==e&&Et.some(n=>n?.name===t.name))return"\u8FDE\u63A5\u7C3F\u91CC\u5DF2\u6709\u540C\u540D\u6761\u76EE: "+t.name;let r=Et.map(n=>n?.name===e?t:n);try{let n=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sshHosts:r})}),a=await n.json().catch(()=>({}));if(!n.ok||!a.ok)return String(a.error||"HTTP "+n.status);Qr(a.config);return}catch(n){return String(n&&n.message?n.message:n)}}function Rf(e,t,r){let n=dr(r,ve);if($l(n))return;let a=document.createElement("div");a.className="tt_sftpDualCard";let i=document.createElement("div");i.className="tt_sftpTitleRow";let s=document.createElement("div");s.className="tt_sshTitle",s.innerHTML=Yr+"<span></span>",s.lastElementChild.textContent="SFTP \u53CC\u680F \xB7 "+t;let o=document.createElement("button");o.type="button",o.className="tt_close",o.title="\u5173\u95ED",o.innerHTML=ss,o.addEventListener("click",()=>Cr(n)),i.appendChild(s),i.appendChild(o),a.appendChild(i);let f=document.createElement("div");f.className="tt_sftpStatus";let l=(w,L)=>{f.textContent=w,L===void 0?delete f.dataset.state:f.dataset.state=L},p=!1,g=(w,L)=>{if(!(p||_.local.busy||_.remote.busy)){p=!0;for(let k of[_.local,_.remote])k.setBusy(!0);l(w,"busy"),Promise.resolve().then(L).catch(k=>{(k===null||typeof k!="object"||k.name!=="TransferCanceledError")&&A.fail("\u5931\u8D25"),l(String(k&&k.message?k.message:k),"error")}).finally(()=>{p=!1;for(let k of[_.local,_.remote])k.setBusy(!1)})}},S=w=>{_[w].bar.after(d),d.style.display="",h.focus(),h.select()},_={},c=(w,L)=>{let k={kind:w,path:"",busy:!1},M=document.createElement("div");M.className="tt_sftpPane";let z=document.createElement("div");z.className="tt_sftpPaneHead";let q=document.createElement("span");q.textContent=L;let V=document.createElement("span");V.className="tt_sftpPaneMeta",z.appendChild(q),z.appendChild(V),M.appendChild(z);let Z=document.createElement("div");Z.className="tt_sftpBar";let I=document.createElement("input");I.type="text",I.className="tt_sftpPath",I.placeholder=w==="local"?"\u672C\u673A\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09":"\u8FDC\u7A0B\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09",I.spellcheck=!1,I.autocomplete="off";let x=document.createElement("button");x.type="button",x.className="tt_toolBtn",x.innerHTML=Rn+"<span>\u5237\u65B0</span>";let O=document.createElement("button");O.type="button",O.className="tt_toolBtn",O.innerHTML=gl+"<span>\u65B0\u5EFA\u76EE\u5F55</span>",Z.appendChild(I),Z.appendChild(x),Z.appendChild(O),M.appendChild(Z);let N=document.createElement("div");N.className="tt_sftpList",M.appendChild(N),k.bar=Z;let $=K=>{k.busy=K;for(let J of[x,O])J.disabled=K;I.disabled=K},U=async(K,J)=>{let oe=w==="local"?"/api/dsh-tty/local-fs/":"/api/dsh-tty/sftp/",ie=w==="local"?J:{...e,...J},ce=await fetch(oe+K,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(ie)}),ye=await ce.json().catch(()=>({}));if(!ce.ok||ye.ok!==!0)throw new Error(String(ye.error||"HTTP "+ce.status));return ye},X=(K,J)=>{if(!(k.busy||p))return $(!0),l(K,"busy"),Promise.resolve().then(J).catch(oe=>l(String(oe&&oe.message?oe.message:oe),"error")).finally(()=>$(!1))},te=(K,J)=>{if(K===void 0||K==="")throw new Error("\u76EE\u5F55\u5C1A\u672A\u5B9A\u4F4D\u5B8C\u6210");return K.endsWith("/")||K.endsWith("\\")?K+J:K+"/"+J},re=K=>{let J=te(k.path,K.name),oe=[];K.isDir===!0?oe.push("\u76EE\u5F55"):oe.push(Je(Number(K.size))||"\u2014");let ie=Ul(Number(K.mtime));ie!==""&&oe.push(ie);let ce=C(K.isDir?Yr:K.isSymlink?_l:fl,K.name,oe.join(" \xB7 "),K.isDir===!0?"dir":K.isSymlink===!0?"link":"file"),ye=()=>k.loadDir(k.path),de=w==="local"?_.remote:_.local;return K.isDir===!0&&ce.addEventListener("click",xe=>{xe.target instanceof Element&&xe.target.closest(".tt_sftpAct")!==null||k.loadDir(J)}),m(ce,w==="local"?vl:ml,"\u4F20\u8F93\u5230"+(w==="local"?"\u8FDC\u7A0B":"\u672C\u673A")+"\uFF1A"+de.path,()=>{if(k.path===""||de.path===""){l("\u4E24\u4FA7\u76EE\u5F55\u5C1A\u672A\u5B9A\u4F4D\u5B8C\u6210\uFF0C\u7B49\u5217\u8868\u52A0\u8F7D\u540E\u518D\u4F20\u8F93","error");return}A.reset(),A.pulse(0),g("\u4F20\u8F93 "+K.name+"\u2026",async()=>{let xe=await fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"start",direction:w==="local"?"up":"down",...e,localPath:w==="local"?J:te(de.path,K.name),remotePath:w==="local"?te(de.path,K.name):J})}),be=await xe.json().catch(()=>({}));if(!xe.ok||be.ok!==!0)throw A.fail("\u4F20\u8F93\u5931\u8D25"),new Error(String(be.error||"HTTP "+xe.status));let Ze=be.job?.id;if(typeof Ze!="string"||Ze==="")throw A.fail("\u4F20\u8F93\u5931\u8D25"),new Error("\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE\u4EFB\u52A1 id");await T(Ze,K.name)==="canceled"?(A.reset(),l("\u5DF2\u53D6\u6D88\u4F20\u8F93 "+K.name)):(A.done("\u5B8C\u6210"),setTimeout(()=>A.reset(),1500),l("\u5DF2\u4F20\u8F93 "+K.name)),await de.loadDir(de.path)})}),w!=="local"&&K.isDir!==!0&&m(ce,pl,"\u4E0B\u8F7D "+K.name,()=>{P(K,J)}),m(ce,Mn,"\u91CD\u547D\u540D "+K.name,()=>{h.placeholder="\u65B0\u540D\u79F0",h.value=K.name,S(w),y=async()=>{let xe=h.value.trim();xe===""||xe===K.name||(b(),await k.runTask("\u91CD\u547D\u540D "+K.name+"\u2026",async()=>{await U("rename",{from:J,to:te(k.path,xe)}),await ye()}))}}),E(ce,()=>k.runTask("\u5220\u9664 "+K.name+"\u2026",async()=>{await U("remove",{path:J,recursive:K.isDir===!0}),await ye(),l("\u5DF2\u5220\u9664 "+K.name)}),K),ce},Q=K=>{if(N.textContent="",k.path!==""&&k.path!=="/"&&/^[A-Za-z]:[\\/]?$/.test(k.path)===!1){let ie=C(Ln,"..\uFF08\u4E0A\u7EA7\u76EE\u5F55\uFF09","","up");ie.addEventListener("click",()=>{let ce=w==="local"?Df(k.path):jl(k.path);ce!==null&&k.loadDir(ce)}),N.appendChild(ie)}let J=Array.isArray(K)?K:[];if(J.length===0){let ie=document.createElement("div");ie.className="tt_addMenuTitle",ie.textContent="\uFF08\u7A7A\u76EE\u5F55\uFF09",N.appendChild(ie);return}let oe=500;for(let ie of J.slice(0,oe))ie===null||typeof ie!="object"||typeof ie.name!="string"||ie.name===""||N.appendChild(re(ie));if(J.length>oe){let ie=document.createElement("div");ie.className="tt_addMenuTitle",ie.textContent=`\u2026\u5176\u4F59 ${String(J.length-oe)} \u9879\u672A\u6E32\u67D3\uFF08\u5171 ${String(J.length)} \u9879\uFF09\u2014\u2014\u7528\u4E0A\u65B9\u8DEF\u5F84\u6846\u8DF3\u8F6C\u5230\u5B50\u76EE\u5F55\u5B9A\u4F4D`,N.appendChild(ie)}};return k.loadDir=async K=>{try{let J=await U("list",{path:K??k.path});k.path=typeof J.path=="string"&&J.path!==""?J.path:k.path,I.value=k.path;let oe=Array.isArray(J.entries)?J.entries.length:0;Q(J.entries),V.textContent=String(oe)+" \u9879",l(k.path)}catch(J){l(String(J&&J.message?J.message:J),"error")}},k.runTask=X,k.setBusy=$,_[w]=k,x.addEventListener("click",()=>{k.runTask("\u52A0\u8F7D\u4E2D\u2026",()=>k.loadDir(k.path))}),O.addEventListener("click",()=>{k.busy||p||(h.placeholder="\u65B0\u76EE\u5F55\u540D\uFF08\u76F8\u5BF9\u5F53\u524D\u76EE\u5F55\uFF09",h.value="",S(w),y=async()=>{let K=h.value.trim();K!==""&&(b(),await k.runTask("\u521B\u5EFA\u76EE\u5F55 "+K+"\u2026",async()=>{await U("mkdir",{path:te(k.path,K),parents:!0}),await k.loadDir(k.path)}))})}),I.addEventListener("keydown",K=>{if(K.key!=="Enter"||(K.preventDefault(),k.busy||p))return;let J=I.value.trim();J!==""&&k.runTask("\u52A0\u8F7D\u4E2D\u2026",()=>k.loadDir(J))}),M},d=document.createElement("div");d.className="tt_sftpEditor",d.style.display="none";let h=document.createElement("input");h.type="text",h.className="tt_cardInput",h.spellcheck=!1,h.autocomplete="off";let u=document.createElement("button");u.type="button",u.className="tt_toolBtn",u.textContent="\u786E\u5B9A";let v=document.createElement("button");v.type="button",v.className="tt_toolBtn",v.textContent="\u53D6\u6D88",d.appendChild(h),d.appendChild(u),d.appendChild(v);let y=null,b=()=>{d.style.display="none",h.value="",y=null};u.addEventListener("click",()=>{y?.()}),v.addEventListener("click",b),h.addEventListener("keydown",w=>{w.key==="Enter"?(w.preventDefault(),y?.()):w.key==="Escape"&&(w.stopPropagation(),b())});let C=(w,L,k,M)=>{let z=document.createElement("button");z.type="button",z.className="tt_sftpRow";let q=document.createElement("span");q.className="tt_sftpIcon",q.innerHTML=w,M!==void 0&&(q.dataset.kind=M);let V=document.createElement("span");if(V.className="tt_sftpName",V.textContent=L,V.title=L,z.appendChild(q),z.appendChild(V),k!==""){let Z=document.createElement("span");Z.className="tt_sftpMeta",Z.textContent=k,z.appendChild(Z)}return z},m=(w,L,k,M)=>{let z=document.createElement("button");z.type="button",z.className="tt_sftpAct",z.innerHTML=L,z.title=k,z.addEventListener("click",q=>{q.stopPropagation(),M()}),w.appendChild(z)},E=(w,L,k)=>{let M=document.createElement("button");M.type="button",M.className="tt_sftpAct",M.innerHTML=gr,M.title="\u5220\u9664 "+k.name+(k.isDir?"\uFF08\u542B\u5185\u5BB9\uFF09":"");let z=null;M.addEventListener("click",q=>{if(q.stopPropagation(),z!==null){clearTimeout(z),z=null,M.innerHTML=gr,delete M.dataset.danger,L();return}M.textContent="\u786E\u8BA4?",M.dataset.danger="",z=setTimeout(()=>{z=null,M.innerHTML=gr,delete M.dataset.danger},4e3)}),w.appendChild(M)},P=(w,L)=>_.remote.runTask("\u4E0B\u8F7D "+w.name+"\u2026",async()=>{A.reset();let k;try{k=await Kl("/api/dsh-tty/sftp/download",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e,path:L})},(M,z)=>{A.set(M,z)},Nt.maxDownloadMb,M=>A.setCancel(M))}catch(M){if(Cn(M)){A.reset(),l("\u5DF2\u53D6\u6D88\u4E0B\u8F7D "+w.name);return}throw A.fail("\u4E0B\u8F7D\u5931\u8D25"),M}A.done("\u5B8C\u6210"),Gl(k,w.name),setTimeout(()=>A.reset(),1500),l("\u5DF2\u4E0B\u8F7D "+w.name+"\uFF08"+(Je(k.size)||String(k.size)+" B")+"\uFF09")}),B=c("local","\u672C\u673A"),H=c("remote","\u8FDC\u7A0B");_.local.wrap=B,_.remote.wrap=H;let R=document.createElement("div");R.className="tt_sftpDual",R.appendChild(B),R.appendChild(H),a.appendChild(R),a.appendChild(d);let j=document.createElement("div");j.className="tt_sftpFoot";let A=ql();j.appendChild(A.el),j.appendChild(f),a.appendChild(j);let T=async(w,L)=>{let k=!1;A.setCancel(()=>{k||(k=!0,fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"cancel",job:w})}).catch(()=>{}))});try{for(;;){await new Promise(V=>setTimeout(V,400));let M=await fetch("/api/dsh-tty/local-fs/transfer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"status",job:w})}),z=await M.json().catch(()=>({}));if(!M.ok||z.ok!==!0){if(k)return"canceled";throw new Error(String(z.error||"HTTP "+M.status))}let q=z.job;if(q===null||typeof q!="object")throw new Error("\u670D\u52A1\u7AEF\u8FD4\u56DE\u4E86\u975E\u6CD5\u7684\u4EFB\u52A1\u72B6\u6001");if(q.state==="running"){let V=typeof q.current=="string"&&q.current!==""?q.current:L;l("\u4F20\u8F93 "+V+"\u2026","busy"),Number.isFinite(q.total)&&q.total>0?A.set(Number(q.bytes)||0,q.total):A.pulse(Number(q.bytes)||0);continue}if(q.state==="canceled")return"canceled";if(q.state!=="done")throw new Error(String(q.error||"\u4F20\u8F93\u5931\u8D25"));return"done"}}finally{A.setCancel(null)}},F=Dn(),D=F===null?420:Math.round(F.height*.56);zl(a,"SFTP \u53CC\u680F \xB7 "+t,D,n),_.local.loadDir(""),_.remote.loadDir("")}var Lt=null,gt=null;function Wl(){return gt!==null&&cn(gt.ownerKey,ve)?gt.ownerKey:dr(void 0,ve)}var $l=(e=Wl())=>Lt!==null||gt!==null&&gt.ownerKey===e;function zl(e,t,r,n){let a=dr(n,ve),i=tt!==null&&tt.ownerKey===a;if(ne!==null&&!Oe&&Ve!==null&&!i)try{let o=Dl({title:t,side:"bottom",size:r,min:200,ownerSid:a,onClose:()=>Cr(a)});o.element.appendChild(e),gt=o;return}catch(o){console.warn("[dsh-tty] SFTP \u6302\u5230\u7EC8\u7AEF\u6302\u8F7D\u4F4D\u5931\u8D25\uFF0C\u56DE\u9000\u5BF9\u8BDD\u6846\uFF1A"+(o instanceof Error?o.message:String(o)))}let s=document.createElement("div");s.className="tt_sshBackdrop",s.appendChild(e),s.addEventListener("mousedown",o=>{o.target===s&&Cr()}),document.body.appendChild(s),Lt=s}var Vr=null;function Tf(){let e=Vr;if(Vr=null,e!==null)try{e.click()}catch{}}function Af(e){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function Je(e){if(!Number.isFinite(e)||e<=0)return"";if(e<1024)return String(e)+" B";let t=["KB","MB","GB","TB"],r=e,n=-1;do r/=1024,n+=1;while(r>=1024&&n<t.length-1);return(r>=100?r.toFixed(0):r.toFixed(1))+" "+t[n]}function Ui(e){if(!Number.isFinite(e)||e<=0)return"";if(e<1024)return"<1 KB/s";let t=["KB","MB","GB","TB"],r=e,n=-1;do r/=1024,n+=1;while(r>=1024&&n<t.length-1);return(r>=100?r.toFixed(0):r.toFixed(1))+" "+t[n]+"/s"}function Ul(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=n=>String(n).padStart(2,"0");return t.getFullYear()+"-"+r(t.getMonth()+1)+"-"+r(t.getDate())+" "+r(t.getHours())+":"+r(t.getMinutes())}function jl(e){let t=String(e).replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?"/":t.slice(0,r)}function Df(e){let t=String(e).trim();if(t===""||(t=t.replace(/[\\/]+$/,""),t===""))return null;let r=t.match(/^([A-Za-z]:)(.*)$/);if(r!==null){let a=r[2];if(a==="")return null;let i=Math.max(a.lastIndexOf("\\"),a.lastIndexOf("/"));return i<=0?r[1]+"\\":r[1]+a.slice(0,i)}if(t.startsWith("\\\\")||t.startsWith("//")){let a=t.slice(2);if(a.split(/[\\/]/).filter(o=>o!=="").length<=2)return null;let s=Math.max(a.lastIndexOf("\\"),a.lastIndexOf("/"));return t.slice(0,2)+a.slice(0,s)}let n=t.lastIndexOf("/");return n<=0?n===0?"/":null:t.slice(0,n)}function Fr(e,t){return e.endsWith("/")?e+t:e+"/"+t}function ql(){let e=document.createElement("div");e.className="tt_sftpProgress";let t=document.createElement("div");t.className="tt_sftpTrack";let r=document.createElement("div");r.className="tt_sftpFill",t.appendChild(r);let n=document.createElement("span");n.className="tt_sftpPct",n.textContent="";let a=document.createElement("button");a.type="button",a.className="tt_sftpCancel",a.title="\u53D6\u6D88\u4F20\u8F93",a.textContent="\u2715",a.style.display="none";let i=null;a.addEventListener("click",_=>{_.stopPropagation();let c=i;c!==null&&(a.disabled=!0,c())}),e.appendChild(t),e.appendChild(n),e.appendChild(a);let s=_=>{n.textContent=_},o="",f=-1,l=_=>{_!==o&&(o=_,n.textContent=_)},p=_=>{let c=Math.round(_);c!==f&&(f=c,r.style.width=c+"%")},g=()=>{i=null,Vr===a&&(Vr=null),a.style.display="none",a.disabled=!1};return{el:e,reset(){delete e.dataset.active,delete e.dataset.state,o="",f=-1,this._last=void 0,this._lastAt=0,this._rate=void 0,r.style.width="0%",n.textContent="",g()},setCancel(_){if(_==null){g();return}i=_,Vr=a,a.disabled=!1,a.style.display=""},set(_,c){e.dataset.active="",delete e.dataset.state;let d=Date.now();if(this._last!==void 0&&d>this._lastAt){let h=(_-this._last)/((d-this._lastAt)/1e3);this._rate=this._rate===void 0?h:this._rate*.7+h*.3}if(this._last=_,this._lastAt=d,Number.isFinite(c)&&c>0){let h=Math.min(100,Math.max(0,_/c*100));p(h);let u=this._rate!==void 0&&this._rate>=0?Ui(this._rate):"";l(Math.round(h)+"%"+(u!==""?" \xB7 "+u:""))}else{r.style.width="";let h=this._rate!==void 0&&this._rate>=0?Ui(this._rate):"";l(Je(_)+(h!==""?" \xB7 "+h:""))}},pulse(_){e.dataset.active="",delete e.dataset.state,r.style.width="45%",r.style.transition="none",setTimeout(()=>{r.style.transition="width .15s linear"},30);let c=Date.now();if(this._last!==void 0&&c>this._lastAt){let h=(_-this._last)/((c-this._lastAt)/1e3);this._rate=this._rate===void 0?h:this._rate*.7+h*.3}this._last=_,this._lastAt=c;let d=this._rate!==void 0&&this._rate>=0?Ui(this._rate):"";l((Number.isFinite(_)?Je(_):"\u2026")+(d!==""?" \xB7 "+d:""))},done(_){e.dataset.active="",e.dataset.state="done",r.style.width="100%",f=100,g(),l(_!==void 0&&_!==""?_:"\u5B8C\u6210")},fail(_){e.dataset.active="",e.dataset.state="error",g(),l(_!==void 0&&_!==""?_:"\u5931\u8D25")},text(_){delete e.dataset.state,_===void 0||_===""?(e.dataset.active="",o="",n.textContent=""):(e.dataset.active="",r.style.width="",f=-1,l(_))}}}async function Kl(e,t,r,n=0,a=null){let i=n>0?n*1024*1024:0,s=typeof AbortController=="function"?new AbortController:null,o=!1;s!==null&&(t={...t,signal:s.signal},typeof a=="function"&&a(()=>{o=!0,s.abort()}));let f=await fetch(e,t);if(!f.ok){let d="HTTP "+f.status;try{let h=await f.json();h!==null&&typeof h=="object"&&typeof h.error=="string"&&(d=h.error)}catch{}throw new Error(d)}let l=Number(f.headers.get("content-length")),p=Number.isFinite(l)&&l>0;if(i>0&&p&&l>i){try{await f.body?.cancel()}catch{}throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(i)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync")}let g=f.body;if(g===null||typeof g.getReader!="function"){let d=await f.blob();if(i>0&&d.size>i)throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(i)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync");return p&&r(l,l),d}let S=g.getReader(),_=[],c=0;try{for(;;){let{done:d,value:h}=await S.read();if(d)break;if(h!==void 0&&h.byteLength>0){if(c+=h.byteLength,i>0&&c>i){try{await S.cancel()}catch{}throw new Error("\u6587\u4EF6\u8D85\u8FC7\u4E0B\u8F7D\u4E0A\u9650\uFF08"+Je(i)+"\uFF09\uFF1A\u8BF7\u7528\u53CC\u680F \u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync")}_.push(h),r(c,p?l:NaN)}}}catch(d){if(o||d!==null&&typeof d=="object"&&d.name==="AbortError"){try{await S.cancel()}catch{}throw new yr}throw d}return new Blob(_,{type:"application/octet-stream"})}var yr=class extends Error{constructor(){super("\u5DF2\u53D6\u6D88"),this.name="TransferCanceledError"}};function Cn(e){return e instanceof yr}function Gl(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(r),3e4)}async function Bf(e){if(e==null)return[];let t=typeof e.items<"u"?[...e.items]:[],r=[];for(let l of t){let p=typeof l.webkitGetAsEntry=="function"?l.webkitGetAsEntry():null;p!==null&&r.push(p)}if(r.length===0)return[...e.files??[]].map(l=>({relPath:l.name,file:l}));let n=[],a=Nt.maxUploadFiles,i=Nt.maxUploadMb>0?Nt.maxUploadMb*1024*1024:0,s=()=>a>0&&n.length>=a,o=0,f=(l,p)=>new Promise(g=>{if(s()){g();return}if(l.isFile===!0){l.file(c=>{i>0&&o+(c.size??0)>i?n._limitExceeded=!0:(n.push({relPath:p+l.name,file:c}),o+=c.size??0),g()},()=>g());return}if(l.isDirectory!==!0){g();return}let S=l.createReader(),_=()=>{S.readEntries(async c=>{if(c.length===0){g();return}for(let d of c){if(s())break;await f(d,p+l.name+"/")}if(s()){g();return}_()},()=>g())};_()});for(let l of r)await f(l,"");return n}function ls(e,t){let r=dr(t,ve);if($l(r))return;let n=e!==null&&typeof e=="object"?e:{},a={};if(typeof n.name=="string"&&n.name!=="")a.name=n.name;else{for(let O of["host","username","auth","keyPath","passphrase","password"])typeof n[O]=="string"&&n[O]!==""&&(a[O]=n[O]);let x=Number(n.port);Number.isInteger(x)&&x>=1&&x<=65535&&(a.port=x),n.agentForward===!0&&(a.agentForward=!0)}let i=a.name??(a.username!==void 0?a.username+"@"+String(a.host??""):String(a.host??""));if(Ol==="dual"){Rf(a,i,r);return}let s=document.createElement("div");s.className="tt_sftpCard";let o=document.createElement("div");o.className="tt_sftpTitleRow";let f=document.createElement("div");f.className="tt_sshTitle",f.innerHTML=Yr+"<span></span>",f.lastElementChild.textContent="SFTP \xB7 "+i;let l=document.createElement("button");l.type="button",l.className="tt_close",l.title="\u5173\u95ED",l.innerHTML=ss,l.addEventListener("click",()=>Cr(r)),o.appendChild(f),o.appendChild(l),s.appendChild(o);let p=document.createElement("div");p.className="tt_sftpBar";let g=document.createElement("input");g.type="text",g.className="tt_sftpPath",g.placeholder="\u8FDC\u7A0B\u8DEF\u5F84\uFF08\u56DE\u8F66\u8DF3\u8F6C\uFF09",g.spellcheck=!1,g.autocomplete="off";let S=document.createElement("button");S.type="button",S.className="tt_toolBtn",S.innerHTML=Rn+"<span>\u5237\u65B0</span>";let _=document.createElement("button");_.type="button",_.className="tt_toolBtn",_.innerHTML=gl+"<span>\u65B0\u5EFA\u76EE\u5F55</span>";let c=document.createElement("button");c.type="button",c.className="tt_toolBtn",c.innerHTML=Wu+"<span>\u4E0A\u4F20</span>",c.title="\u9009\u62E9\u6587\u4EF6\u4E0A\u4F20\uFF1B\u4E5F\u53EF\u4EE5\u628A\u6587\u4EF6 / \u6587\u4EF6\u5939\u76F4\u63A5\u62D6\u8FDB\u5217\u8868";let d=document.createElement("input");d.type="file",d.multiple=!0,d.style.display="none",p.appendChild(g),p.appendChild(S),p.appendChild(_),p.appendChild(c),s.appendChild(p),s.appendChild(d);let h=document.createElement("div");h.className="tt_sftpEditor",h.style.display="none";let u=document.createElement("input");u.type="text",u.className="tt_cardInput",u.spellcheck=!1,u.autocomplete="off";let v=document.createElement("button");v.type="button",v.className="tt_toolBtn",v.textContent="\u786E\u5B9A";let y=document.createElement("button");y.type="button",y.className="tt_toolBtn",y.textContent="\u53D6\u6D88",h.appendChild(u),h.appendChild(v),h.appendChild(y),s.appendChild(h);let b=null,C=()=>{h.style.display="none",b=null};v.addEventListener("click",()=>{b?.()}),y.addEventListener("click",C),u.addEventListener("keydown",x=>{x.key==="Enter"?(x.preventDefault(),b?.()):x.key==="Escape"&&(x.stopPropagation(),C())});let m=document.createElement("div");m.className="tt_sftpList",s.appendChild(m);let E=document.createElement("div");E.className="tt_sftpFoot";let P=document.createElement("div");P.className="tt_sftpStatus";let B=ql();E.appendChild(B.el),E.appendChild(P),s.appendChild(E);let H={path:"",busy:!1},R=(x,O)=>{P.textContent=x,O===void 0?delete P.dataset.state:P.dataset.state=O},j=x=>{H.busy=x;for(let O of[S,_,c])O.disabled=x;g.disabled=x},A=async(x,O)=>{let N=await fetch("/api/dsh-tty/sftp/"+x,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...a,...O})}),$=await N.json().catch(()=>({}));if(!N.ok||$.ok!==!0)throw new Error(String($.error||"HTTP "+N.status));return $},T=async(x,O)=>{if(!H.busy){j(!0),R(x,"busy");try{await O()}catch(N){R(String(N&&N.message?N.message:N),"error")}finally{j(!1)}}},F=(x,O,N,$)=>{let U=document.createElement("button");U.type="button",U.className="tt_sftpRow";let X=document.createElement("span");X.className="tt_sftpIcon",X.innerHTML=x,$!==void 0&&(X.dataset.kind=$);let te=document.createElement("span");if(te.className="tt_sftpName",te.textContent=O,te.title=O,U.appendChild(X),U.appendChild(te),N!==""){let re=document.createElement("span");re.className="tt_sftpMeta",re.textContent=N,U.appendChild(re)}return U},D=(x,O,N,$)=>{let U=document.createElement("button");U.type="button",U.className="tt_sftpAct",U.innerHTML=O,U.title=N,U.addEventListener("click",X=>{X.stopPropagation(),$()}),x.appendChild(U)},w=(x,O,N)=>{let $=document.createElement("button");$.type="button",$.className="tt_sftpAct",$.innerHTML=gr,$.title="\u5220\u9664 "+O.name+(O.isDir?"\uFF08\u542B\u5185\u5BB9\uFF09":"");let U=null;$.addEventListener("click",X=>{if(X.stopPropagation(),!H.busy){if(U!==null){clearTimeout(U),U=null,$.innerHTML=gr,delete $.dataset.danger,T("\u5220\u9664 "+O.name+"\u2026",async()=>{await A("remove",{path:N,recursive:O.isDir===!0}),await k(H.path),R("\u5DF2\u5220\u9664 "+O.name)});return}$.textContent="\u786E\u8BA4?",$.dataset.danger="",U=setTimeout(()=>{U=null,$.innerHTML=gr,delete $.dataset.danger},4e3)}}),x.appendChild($)},L=x=>{if(m.textContent="",H.path!==""&&H.path!=="/"){let $=F(Ln,"..\uFF08\u4E0A\u7EA7\u76EE\u5F55\uFF09","","up");$.addEventListener("click",()=>{T("\u52A0\u8F7D\u4E2D\u2026",()=>k(jl(H.path)))}),m.appendChild($)}let O=Array.isArray(x)?x:[];if(O.length===0){let $=document.createElement("div");$.className="tt_addMenuTitle",$.textContent="\uFF08\u7A7A\u76EE\u5F55\uFF09",m.appendChild($);return}let N=500;for(let $ of O.slice(0,N)){if($===null||typeof $!="object"||typeof $.name!="string"||$.name==="")continue;let U=Fr(H.path,$.name),X=[];$.isDir===!0?X.push("\u76EE\u5F55"):X.push(Je(Number($.size))||"\u2014");let te=Ul(Number($.mtime));te!==""&&X.push(te);let re=F($.isDir?Yr:$.isSymlink?_l:fl,$.name,X.join(" \xB7 "),$.isDir===!0?"dir":$.isSymlink===!0?"link":"file");$.isDir===!0?re.addEventListener("click",Q=>{Q.target instanceof Element&&Q.target.closest(".tt_sftpAct")!==null||T("\u52A0\u8F7D\u4E2D\u2026",()=>k(U))}):(re.addEventListener("click",Q=>{Q.target instanceof Element&&Q.target.closest(".tt_sftpAct")!==null||M($,U)}),D(re,pl,"\u4E0B\u8F7D "+$.name,()=>{M($,U)})),D(re,Mn,"\u91CD\u547D\u540D "+$.name,()=>{u.placeholder="\u65B0\u540D\u79F0",u.value=$.name,h.style.display="",u.focus(),u.select(),b=async()=>{let Q=u.value.trim();Q===""||Q===$.name||(C(),await T("\u91CD\u547D\u540D "+$.name+"\u2026",async()=>{await A("rename",{from:U,to:Fr(H.path,Q)}),await k(H.path)}))}}),w(re,$,U),m.appendChild(re)}if(O.length>N){let $=document.createElement("div");$.className="tt_addMenuTitle",$.textContent=`\u2026\u5176\u4F59 ${String(O.length-N)} \u9879\u672A\u6E32\u67D3\uFF08\u5171 ${String(O.length)} \u9879\uFF09\u2014\u2014\u7528\u4E0A\u65B9\u8DEF\u5F84\u6846\u8DF3\u8F6C\u5230\u5B50\u76EE\u5F55\u5B9A\u4F4D`,m.appendChild($)}},k=async x=>{try{let O=await A("list",{path:x??H.path});H.path=typeof O.path=="string"&&O.path!==""?O.path:"/",g.value=H.path;let N=Array.isArray(O.entries)?O.entries.length:0;L(O.entries),R(H.path+" \u2014 "+String(N)+" \u9879")}catch(O){R(String(O&&O.message?O.message:O),"error")}},M=(x,O)=>T("\u4E0B\u8F7D "+x.name+"\u2026",async()=>{B.reset();let N;try{N=await Kl("/api/dsh-tty/sftp/download",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...a,path:O})},($,U)=>{B.set($,U)},Nt.maxDownloadMb,$=>B.setCancel($))}catch($){if(Cn($)){B.reset(),R("\u5DF2\u53D6\u6D88\u4E0B\u8F7D "+x.name);return}throw B.fail("\u4E0B\u8F7D\u5931\u8D25"),$}B.done("\u5B8C\u6210"),Gl(N,x.name),setTimeout(()=>B.reset(),1500),R("\u5DF2\u4E0B\u8F7D "+x.name+"\uFF08"+(Je(N.size)||String(N.size)+" B")+"\uFF09")}),z=(x,O,N,$,U)=>new Promise((X,te)=>{let re=Af(JSON.stringify({...a,path:Fr(H.path,O)})),Q=new XMLHttpRequest;U.abort=()=>{U.stopped=!0,Q.abort()},Q.open("POST","/api/dsh-tty/sftp/upload"),Q.setRequestHeader("x-dsh-sftp-meta",re);let K=$>1?String(N)+"/"+String($)+" ":"";R("\u4E0A\u4F20 "+K+O,"busy"),Q.upload.addEventListener("progress",ie=>{ie.lengthComputable?B.set(ie.loaded,ie.total):B.pulse(0)});let J=!1,oe=ie=>{J||(J=!0,ie===null?X():te(ie))};Q.addEventListener("load",()=>{if(Q.status===200){$===1&&B.done("\u4E0A\u4F20\u5B8C\u6210"),oe(null);return}if(U.stopped)return;B.fail("\u4E0A\u4F20\u5931\u8D25");let ie="HTTP "+Q.status;try{let ce=JSON.parse(Q.responseText);ce!==null&&typeof ce=="object"&&typeof ce.error=="string"&&(ie=ce.error)}catch{}oe(new Error(ie))}),Q.addEventListener("error",()=>{if(U.stopped){oe(new yr);return}B.fail("\u4E0A\u4F20\u5931\u8D25"),oe(new Error("\u7F51\u7EDC\u9519\u8BEF"))}),Q.addEventListener("abort",()=>{oe(new yr)}),Q.send(x)}),q=async x=>T("\u4E0A\u4F20\u4E2D\u2026",async()=>{let O=Nt;if(O.maxUploadFiles>0&&x.length>O.maxUploadFiles){R("\u6587\u4EF6\u6570\u8D85\u8FC7\u4E0A\u9650\uFF08"+String(O.maxUploadFiles)+"\uFF09\uFF1A\u672C\u6B21 "+String(x.length)+" \u4E2A\uFF0C\u8BF7\u5206\u6279\u4E0A\u4F20","error"),B.fail("\u8D85\u9650");return}let N=O.maxUploadMb>0?O.maxUploadMb*1024*1024:0,$=x.find(Q=>N>0&&(Q.file?.size??0)>N);if($!==void 0){R("\u6587\u4EF6\u8D85\u8FC7\u4E0A\u4F20\u4E0A\u9650\uFF08"+Je(N)+"\uFF09\uFF1A"+String($.relPath??"")+"\uFF0C\u8BF7\u7528\u53CC\u680F \u21E8 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync","error"),B.fail("\u8D85\u9650");return}if(x._limitExceeded===!0){R("\u6587\u4EF6\u603B\u5927\u5C0F\u8D85\u8FC7\u4E0A\u4F20\u4E0A\u9650\uFF1A\u8BF7\u5206\u6279\u4E0A\u4F20\uFF08\u6216\u7528\u53CC\u680F \u21E8 \u76F4\u4F20\uFF09","error"),B.fail("\u8D85\u9650");return}let U=new Set;for(let Q of x){let K=Q.relPath.lastIndexOf("/");if(K<=0)continue;let J=Q.relPath.slice(0,K);U.has(J)||(U.add(J),await A("mkdir",{path:Fr(H.path,J),parents:!0}).catch(()=>{}))}B.reset();let X={stopped:!1,abort:null};B.setCancel(()=>X.abort?.());let te=0,re=0;try{for(let Q of x){if(X.stopped)break;te+=1,X.abort=null;try{await z(Q.file,Q.relPath,te,x.length,X),re+=1}catch(K){if(Cn(K)||X.stopped)break;throw K}}}finally{B.setCancel(null)}if(X.stopped){B.reset(),R("\u5DF2\u53D6\u6D88\u4E0A\u4F20\uFF08\u5DF2\u4F20 "+String(re)+"/"+String(x.length)+" \u4E2A\uFF09"),await k(H.path);return}B.done("\u5168\u90E8\u5B8C\u6210"),setTimeout(()=>B.reset(),1500),R("\u4E0A\u4F20\u5B8C\u6210 "+String(x.length)+" \u4E2A\u6587\u4EF6"),await k(H.path)});S.addEventListener("click",()=>{T("\u52A0\u8F7D\u4E2D\u2026",()=>k(H.path))}),_.addEventListener("click",()=>{H.busy||(u.placeholder="\u65B0\u76EE\u5F55\u540D\uFF08\u76F8\u5BF9\u5F53\u524D\u76EE\u5F55\uFF09",u.value="",h.style.display="",u.focus(),b=async()=>{let x=u.value.trim();x!==""&&(C(),await T("\u521B\u5EFA\u76EE\u5F55 "+x+"\u2026",async()=>{await A("mkdir",{path:Fr(H.path,x)}),await k(H.path)}))})}),c.addEventListener("click",()=>{H.busy===!1&&d.click()}),d.addEventListener("change",()=>{let x=[...d.files??[]].map(O=>({relPath:O.name,file:O}));d.value="",x.length>0&&q(x)});let V=0,Z=x=>{x?m.dataset.drag="":delete m.dataset.drag};s.addEventListener("dragenter",x=>{x.preventDefault(),V+=1,Z(!0)}),s.addEventListener("dragover",x=>{x.preventDefault()}),s.addEventListener("dragleave",()=>{V=Math.max(0,V-1),V===0&&Z(!1)}),s.addEventListener("drop",x=>{x.preventDefault(),V=0,Z(!1),!H.busy&&Bf(x.dataTransfer).then(O=>{(O.length>0||O._limitExceeded===!0)&&q(O)})}),g.addEventListener("keydown",x=>{if(x.key!=="Enter"||(x.preventDefault(),H.busy))return;let O=g.value.trim();O!==""&&T("\u52A0\u8F7D\u4E2D\u2026",()=>k(O))});let I=Dn();zl(s,"SFTP \xB7 "+i,I===null?340:Math.round(I.height*.46),r),T("\u8FDE\u63A5\u4E2D\u2026",()=>k(""))}function Cr(e){let t=e===void 0?Wl():e,r=Lt,n=gt!==null&&gt.ownerKey===t?gt:null;r===null&&n===null||(Tf(),Lt=null,n!==null&&(gt=null),r!==null&&r.remove(),n!==null&&n.dispose())}function Vl(){if(Ne===null)return;let e=Ne.style.display==="none"||Ne.style.display==="";Ne.style.display=e?"":"none";let t=ne!==null?ne.querySelector("[data-act=search]"):null;t!==null&&(e?t.dataset.on="":delete t.dataset.on),e&&Ne.focus()}var Pf={matchBackground:"#3d2b00",matchBorder:"#8a5a00",activeMatchBackground:"#b06a00",activeMatchBorder:"#ffb84d",matchOverviewRuler:"#8a5a00",activeMatchColorOverviewRuler:"#ffb84d"};function Of(e){let t=Xe();if(t===void 0||t.search===void 0)return;let r=Ne.value;if(r==="")return;let n={decorations:Pf};e?t.search.findPrevious(r,n):t.search.findNext(r,n)}function nl(){Jr||ne===null&&!Tn()||qt!==null||(qt=setTimeout(()=>{qt=null,es()},jr),jr=Math.min(jr*2,5e3))}function ai(e){return e!==null&&typeof e=="object"&&e.persist===!0&&typeof e.persistName=="string"&&e.persistName!==""}function xn(e){return ai(e)||e!==null&&typeof e=="object"&&typeof e.command=="string"&&e.command!==""}function If(){return It==="tmux"?{t:"spawn",cwd:Za(),persist:!0,persistName:On()}:{t:"spawn",cwd:Za()}}async function Yl(){if(!_n){_n=!0;try{await Nf()}finally{_n=!1}}}var _n=!1;async function Nf(){if(await In(),ne===null){await Ff();return}let e=of(),t=nf();if(![...le.values()].some(s=>s.embedded!==!0)){if(e.length>0||t.length>0){me({t:"sessions"});let s=await Xi("sessions",4e3),o=new Map;if(s!==null&&Array.isArray(s.list))for(let l of s.list)l!==null&&typeof l=="object"&&l.attachable===!0&&o.set(l.sid,l);let f=new Set;for(let l of e){if(o.has(l.sid))hf(l);else if(xn(l.spawnSpec))tl(l);else continue;ai(l.spawnSpec)&&f.add(l.spawnSpec.persistName)}for(let l of t){let p=l.spawnSpec.persistName;f.has(p)||(tl(l),f.add(p))}Jt()}if(![...le.values()].some(s=>s.embedded!==!0)){if(await Qi())return;Zr()}return}let r=[...le.values()].filter(s=>!s.exited&&(s.embedded!==!0||s.spawned===!0)),n=r.filter(s=>xn(s.spawnSpec)),a=null;if(n.length>0){me({t:"sessions"});let s=await Xi("sessions",4e3),o=new Set((s!==null&&Array.isArray(s.list)?s.list:[]).map(f=>f?.sid).filter(f=>typeof f=="string"));a=n.filter(f=>!o.has(f.sid));for(let f of a)Ji(f.sid)}let i=a!==null?new Set(a.map(s=>s.sid)):new Set;for(let s of r)i.has(s.sid)||me({t:"attach",sid:s.sid})}function Hf(){fe!==null&&(fe.readyState===WebSocket.OPEN||fe.readyState===WebSocket.CONNECTING)||es()}async function Ff(){let e=[...le.values()].filter(n=>n.embedded===!0&&!n.exited);if(e.length===0)return;me({t:"sessions"});let t=await Xi("sessions",4e3),r=new Set((t!==null&&Array.isArray(t.list)?t.list:[]).map(n=>n?.sid).filter(n=>typeof n=="string"));for(let n of e)n.spawned===!0&&(r.has(n.sid)?me({t:"attach",sid:n.sid}):xn(n.spawnSpec)?Al(n):(n.exited=!0,n.live=!1,ur(n,"\u4F1A\u8BDD\u5DF2\u7ED3\u675F","\u70B9\u51FB\u91CD\u65B0\u6267\u884C","exited")))}function es(){if(fe!==null){try{fe.close()}catch{}fe=null}Jr=!1,clearTimeout(qt),qt=null,Hi=!0,Fi("\u8FDE\u63A5\u4E2D\u2026","");try{fe=new WebSocket(Eu())}catch(e){Hi=!1,Fi("\u8FDE\u63A5\u5931\u8D25\uFF1A"+e.message,"error"),nl();return}fe.onopen=()=>{Hi=!1,jr=1e3,et=null,Fi("\u5DF2\u8FDE\u63A5","connected");for(let e of[...pn])pn.delete(e),le.has(e.tab.sid)&&me(e.frame);Yl()},fe.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=t.sid;if(t.t==="ready"){let n=typeof t.target=="string"?t.target:"";dn(r,t.kind==="ssh"?"SSH "+(n!==""?n+" ":"")+"\u5DF2\u8FDE\u63A5":"\u5DF2\u8FDE\u63A5 pid="+t.pid,"connected");let a=le.get(r);if(a!==void 0){if(a.exited=!1,a.spawned=!0,a.live=!0,a.errored=!1,a.target=n,a.persistTmux=t.persist===!0,t.kind==="ssh"&&n!==""&&!a.label&&(a.label=n,rt()),Kt(),un(r),ur(a,""),xr(a),t.persist===!0){let i=document.fonts!==void 0&&document.fonts.ready!==void 0?document.fonts.ready:Promise.resolve();Promise.race([i,new Promise(s=>setTimeout(s,500))]).then(()=>El(150))}ei(),ef(r),Jt()}}else if(t.t==="data"){let n=le.get(r);n!==void 0&&n.term!==null&&(n.term.write(String(t.d??"")),jf())}else if(t.t==="exit"){let n=le.get(r);if(n!==void 0){n.exited=!0,n.live=!1,n.stats=null,r===ve&&Xt();let a=t.code!==null&&t.code!==void 0?"code="+t.code:"",i=t.signal!==null&&t.signal!==void 0?"signal="+t.signal:"";dn(r,"\u5DF2\u9000\u51FA "+[a,i].filter(Boolean).join(" "),""),Kt(),un(r),ur(n,"\u4F1A\u8BDD\u5DF2\u9000\u51FA","\u70B9\u51FB\u91CD\u65B0\u6253\u5F00","exited"),ei(),Jt()}}else if(t.t==="stats")try{let n=le.get(r);if(n!==void 0){let a=t.stats;n.stats=Xu(a)?a:null,n.statsAt=Date.now(),r===ve&&Xt()}}catch(n){console.warn("[dsh-tty] stats \u5E27\u5904\u7406\u5931\u8D25\uFF08\u5DF2\u5FFD\u7565\uFF09: "+(n instanceof Error?n.message:String(n)))}else if(t.t==="error")if(dn(r,"\u9519\u8BEF\uFF1A"+String(t.m??""),"error"),typeof r=="string"){let n=le.get(r);n!==void 0&&(n.live||(n.errored=!0),Kt(),un(r),ur(n,"\u8FDE\u63A5\u51FA\u9519",String(t.m??"")+" \xB7 \u70B9\u51FB\u91CD\u8BD5","error"))}else Wf("\u70B9\u51FB\u91CD\u8BD5")},fe.onclose=()=>{if(Hi=!1,!Jr){Fi("\u8FDE\u63A5\u65AD\u5F00 \u2014 \u81EA\u52A8\u91CD\u8FDE\u4E2D","error");for(let e of le.values())e.exited||ur(e,"\u8FDE\u63A5\u65AD\u5F00","\u81EA\u52A8\u91CD\u8FDE\u4E2D\u2026","info");nl()}},fe.onerror=()=>{}}function Wf(e){vr!==null&&(vr.textContent=e)}function kn(){(ne===null||Oe)&&En()}function Xl(){return typeof navigator<"u"&&navigator.clipboard!==void 0&&typeof navigator.clipboard.writeText=="function"}async function $f(e){if(Xl())try{return await navigator.clipboard.writeText(e),!0}catch{}let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let r=!1;try{r=document.execCommand("copy")}catch{r=!1}return t.remove(),r||si("\u590D\u5236\u5931\u8D25\uFF1A\u5F53\u524D\u73AF\u5883\u4E0D\u5141\u8BB8\u8BBF\u95EE\u526A\u8D34\u677F\uFF08http \u8BBF\u95EE\u65F6\u8BF7\u6539\u7528 localhost \u6216\u7EC8\u7AEF\u5185\u5FEB\u6377\u952E\uFF09","error"),r}async function zf(e){if(Xl()&&typeof navigator.clipboard.readText=="function")try{let n=await navigator.clipboard.readText();return n!==""&&me({t:"input",sid:e.sid,d:n}),!0}catch{}let t=document.createElement("textarea");t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.focus();let r=!1;try{r=document.execCommand("paste");let n=r?t.value:"";n!==""&&me({t:"input",sid:e.sid,d:n})}catch{r=!1}return t.remove(),r||si("\u6D4F\u89C8\u5668\u4E0D\u5141\u8BB8\u7F51\u9875\u8BFB\u53D6\u526A\u8D34\u677F\uFF08http \u8BBF\u95EE\u65F6\u5E38\u89C1\uFF09\uFF1A\u8BF7\u5728\u7EC8\u7AEF\u91CC\u6309 Ctrl+V / Cmd+V \u7C98\u8D34","error"),r}function En(){if(ne!==null){Oe&&Jl();return}ri(),ne=document.createElement("div"),ne.className="tt_modalBackdrop",ne.innerHTML='<div class="tt_modal"><div class="tt_header"><span class="tt_titleIcon">'+is+'</span><div class="tt_tabs"></div><div class="tt_status"><span class="tt_statusDot"></span><span class="tt_statusText">\u521D\u59CB\u5316\u2026</span></div><input class="tt_searchInput" style="display:none" placeholder="\u641C\u7D22 (Enter \u4E0B\u4E00\u4E2A, Shift+Enter \u4E0A\u4E00\u4E2A)" /><span class="tt_toolGroup"><button class="tt_toolBtn tt_iconBtn" data-act="search" title="\u641C\u7D22 (Ctrl+F)">'+Au+'</button><button class="tt_toolBtn tt_iconBtn" data-act="clear" title="\u6E05\u5C4F">'+Du+'</button><button class="tt_toolBtn tt_iconBtn" data-act="copy" title="\u590D\u5236\u9009\u4E2D\u5185\u5BB9">'+Bu+'</button><button class="tt_toolBtn tt_iconBtn" data-act="paste" title="\u7C98\u8D34">'+Pu+'</button></span><span class="tt_winGroup"><button class="tt_min" title="\u6700\u5C0F\u5316\uFF08\u4F1A\u8BDD\u4FDD\u6301\u8FD0\u884C\uFF0C\u72B6\u6001\u5E76\u5165\u4FA7\u8FB9\u680F\u5165\u53E3\uFF09">'+Hu+'</button><button class="tt_close" title="\u5173\u95ED\u9762\u677F\uFF08\u7ED3\u675F\u4F1A\u8BDD\uFF0C\u6807\u7B7E\u4FDD\u7559\uFF0C\u91CD\u5F00\u5373\u6062\u590D\u5217\u8868\uFF09">'+ss+'</button></span></div><div class="tt_connbar" data-hidden><div class="tt_connArea"><span class="tt_connDot"></span><span class="tt_connTarget">\u2014</span><span class="tt_connBadge"></span></div><div class="tt_connActions"></div></div><div class="tt_work"><div class="tt_body"><div class="tt_statsBar" hidden></div><div class="tt_overlay"></div></div></div></div>',document.body.appendChild(ne),ji=ne.querySelector(".tt_status"),jt=ne.querySelector(".tt_statusText"),Vt=ne.querySelector(".tt_statusDot"),ut=ne.querySelector(".tt_tabs"),Wr=ne.querySelector(".tt_connbar"),$r=ne.querySelector(".tt_connDot"),qi=ne.querySelector(".tt_connTarget"),Ke=ne.querySelector(".tt_connBadge"),zr=ne.querySelector(".tt_connActions"),Ve=ne.querySelector(".tt_work"),Ge=ne.querySelector(".tt_body"),ft=ne.querySelector(".tt_statsBar"),et=null,Cl(),vr=ne.querySelector(".tt_body > .tt_overlay"),Ne=ne.querySelector(".tt_searchInput"),vr.addEventListener("click",()=>{vr.textContent="",es()});let e=ne.querySelector("[data-act=search]");e.addEventListener("click",()=>{Vl(),Ne.style.display!=="none"&&Ne.focus()}),e.dataset.on="",Ne.addEventListener("keydown",t=>{t.key==="Enter"?(t.preventDefault(),Of(t.shiftKey)):t.key==="Escape"&&(t.stopPropagation(),Ne.style.display="none")}),ne.querySelector("[data-act=clear]").addEventListener("click",()=>{let t=Xe();t!==void 0&&t.term!==null&&t.term.clear()}),ne.querySelector("[data-act=copy]").addEventListener("click",()=>{let t=Xe();if(t===void 0||t.term===null)return;let r=t.term.getSelection();r!==""&&$f(r)}),ne.querySelector("[data-act=paste]").addEventListener("click",()=>{let t=Xe();t!==void 0&&zf(t)}),ne.querySelector(".tt_min").addEventListener("click",()=>{ts()}),ne.querySelector(".tt_close").addEventListener("click",()=>{ti()}),ne.addEventListener("mousedown",t=>{t.target===ne&&ts()}),document.addEventListener("keydown",Zl),Ur=new ResizeObserver(()=>{Oe||($i(),af(Xe()))}),Ur.observe(Ge),rt(),Kt(),fe!==null&&fe.readyState===WebSocket.OPEN?Yl():es()}function Uf(){Pe=document.createElement("div"),Pe.className="tt_dock",Pe.title="\u70B9\u51FB\u6062\u590D\u7EC8\u7AEF\u7A97\u53E3",Pe.innerHTML='<span class="tt_dockTitle">'+is+'<span>\u7EC8\u7AEF</span><span class="tt_dockCount"></span></span><span class="tt_dockStatus"></span><span class="tt_dockDot"></span><button class="tt_dockClose" title="\u5173\u95ED\u9762\u677F\uFF08\u7ED3\u675F\u4F1A\u8BDD\uFF0C\u6807\u7B7E\u4FDD\u7559\uFF0C\u91CD\u5F00\u5373\u6062\u590D\u5217\u8868\uFF09">\u2715</button>',Ki=Pe.querySelector(".tt_dockCount"),Sr=Pe.querySelector(".tt_dockStatus"),Yt=Pe.querySelector(".tt_dockDot");let e=[...le.values()].filter(t=>!t.exited).length;Ki.textContent=le.size>0?"\xB7 "+e+"/"+le.size:"",jt!==null&&(Sr.textContent=jt.textContent),Vt!==null&&(Yt.dataset.state=Vt.dataset.state??""),Pe.addEventListener("click",t=>{if(t.target.closest(".tt_dockClose")!==null){t.stopPropagation(),ti();return}Jl()}),document.body.appendChild(Pe)}function ts(){ne===null||Oe||(_t(),Pt(),Oe=!0,Lt!==null&&(Lt.style.display="none"),Ne!==null&&(Ne.style.display="none"),ne.dataset.minimized="",xl(),ni(),Xt(),document.querySelector("[data-dsh-tty-entry]")!==null?ei():(Uf(),Pe.classList.add("tt_dockCompact")))}function ei(){let e=document.querySelector("[data-dsh-tty-entry]");if(e===null)return;let t=e.querySelector(".tt_sidebarEntryBadge");if(!Oe){t!==null&&t.remove(),delete e.dataset.minimized,e.removeAttribute("title");return}t===null&&(t=document.createElement("span"),t.className="tt_sidebarEntryBadge",t.innerHTML='<span class="tt_sidebarBadgeDot"></span><span class="tt_sidebarBadgeCount"></span>',e.appendChild(t)),e.dataset.minimized="",e.title="\u7EC8\u7AEF\u5DF2\u6700\u5C0F\u5316 \u2014 \u70B9\u51FB\u6062\u590D";let r=[...le.values()].filter(a=>!a.exited).length;t.querySelector(".tt_sidebarBadgeCount").textContent=r+"/"+le.size;let n=t.querySelector(".tt_sidebarBadgeDot");n!==null&&Vt!==null&&(n.dataset.state=Vt.dataset.state??"")}function jf(){if(!Oe)return;let e=document.querySelector("[data-dsh-tty-entry] .tt_sidebarBadgeDot")??Yt;e!==null&&(e.dataset.active="",clearTimeout(Gi),Gi=setTimeout(()=>{delete e.dataset.active},900))}function Jl(){if(ne===null||!Oe)return;Oe=!1,delete ne.dataset.minimized,Lt!==null&&(Lt.style.display=""),clearTimeout(Gi),Pe!==null&&(Pe.remove(),Pe=null),Ki=null,Sr=null,Yt=null,ei(),Cl(),ni(),Xt();let e=Xe();if(e!==void 0&&e.fit!==void 0){try{e.fit.fit()}catch{}e.spawned&&!e.exited&&xr(e)}e!==void 0&&e.term!==null&&e.term.focus()}function ti(){if(ne===null)return;Gr(!0);let e=Tn();if(Jr=!e,Oe=!1,_t(),Pt(),Cr(),clearTimeout(Gi),clearTimeout(qt),qt=null,jr=1e3,Pe!==null&&(Pe.remove(),Pe=null),Ki=null,Sr=null,Yt=null,ei(),fe!==null){for(let t of le.values())!t.exited&&t.embedded!==!0&&me({t:"kill",sid:t.sid});if(!e){try{fe.close()}catch{}fe=null}}Ur!==null&&(Ur.disconnect(),Ur=null);for(let[t,r]of[...le])if(r.embedded!==!0){if(r.term!==null)try{r.term.dispose()}catch{}le.delete(t)}ve=null,Xr=null,document.removeEventListener("keydown",Zl),ne.remove(),ne=null,Ve=null,ji=null,jt=null,Vt=null,ut=null,Wr=null,$r=null,qi=null,Ke=null,zr=null,mn(),xl(),ft=null,et=null,Ge=null,vr=null,Ne=null,ns=0;try{sessionStorage.removeItem(Vi)}catch{}}function Zl(e){if(e.key==="Escape"&&ne!==null){if(e.preventDefault(),Lt!==null){Cr();return}if(mr!==null){Pt();return}if(Ye!==null){_t();return}ts()}}function qf(){let e=document.querySelector('[data-pane="sidebar"], [class*="sidebarCol"]');if(e!==null)return e.querySelector('[class*="logoRow"]')?.parentElement??e.firstElementChild}function Kf(e){let t=e.querySelector('button[class*="newSession"]');if(t!==null)return t;for(let r of e.children)if(r.tagName==="BUTTON")return r}function Gf(){let e=document.createElement("div");return e.dataset.dshTtyEntry="",e.className="tt_sidebarEntry",e.setAttribute("role","button"),e.setAttribute("aria-label","\u7EC8\u7AEF"),e.tabIndex=0,e.innerHTML='<span class="tt_sidebarEntryIcon">'+is+'</span><span class="tt_sidebarEntryLabel">\u7EC8\u7AEF</span>',e.addEventListener("click",t=>{t.preventDefault(),En()}),e.addEventListener("keydown",t=>{(t.key==="Enter"||t.key===" "||t.key==="Spacebar")&&(t.preventDefault(),En())}),e}function ol(e,t){let r=Kf(e);if(r===void 0)return!1;if(t.parentElement!==e){let n=r.closest('[class*="logoRow"]'),a=n!==null&&n.parentElement===e?n:r,i=Array.from(e.children).filter(s=>s instanceof HTMLElement&&s.matches("[data-dsh-global-search-entry], [data-dsh-rss-entry], [data-dsh-taskboard-entry], [data-dsh-ssh-entry], [data-dsh-tty-entry]"));if(i.length>0){let s=i[i.length-1];e.insertBefore(t,s.nextSibling)}else e.insertBefore(t,a.nextElementSibling)}return!0}function Vf(){if(ri(),typeof document<"u"&&document.querySelector("[data-dsh-tty-entry]")!==null)return()=>{};let e=Gf(),t,r=!1,n=()=>{if(t!==void 0&&!t.isConnected&&(i.disconnect(),t=void 0,r=!1),r){if(document.body.contains(e))return;i.disconnect(),t=void 0,r=!1}t??(t=qf()),t!==void 0&&(r=ol(t,e),r&&i.observe(t,{childList:!0,subtree:!0}))},a=new MutationObserver(()=>{n()});a.observe(document.body,{childList:!0,subtree:!0});let i=new MutationObserver(()=>{if(t===void 0||!t.isConnected){r=!1,n();return}t.contains(e)||(r=ol(t,e))});return n(),()=>{a.disconnect(),i.disconnect(),e.remove()}}window.__ModuleLoader__.load({id:"@hyzyn/dsh-tty",factory:e=>{let t={},r=e("react"),{jsx:n,jsxs:a}=e("react/jsx-runtime"),i="M11.8486 5.5L11.4238 5.92383L8.69727 8.65137C8.44157 8.90706 8.21562 9.13382 8.01172 9.29785C7.79912 9.46883 7.55595 9.61756 7.25 9.66602C7.08435 9.69222 6.91565 9.69222 6.75 9.66602C6.44405 9.61756 6.20088 9.46883 5.98828 9.29785C5.78438 9.13382 5.55843 9.13382 5.30273 8.65137L2.57617 5.92383L2.15137 5.5L3 4.65137L3.42383 5.07617L6.15137 7.80273C6.42595 8.07732 6.59876 8.24849 6.74023 8.3623C6.87291 8.46904 6.92272 8.47813 6.9375 8.48047C6.97895 8.48703 7.02105 8.48703 7.0625 8.48047C7.07728 8.47813 7.12709 8.46904 7.25977 8.3623C7.40124 8.24849 7.57405 8.07732 7.84863 7.80273L10.5762 5.07617L11 4.65137L11.8486 5.5Z";function s(f){let l=f&&f.view,p=l==="page",[g,S]=r.useState(p),[_,c]=r.useState(null),[d,h]=r.useState(!1),[u,v]=r.useState(!1),[y,b]=r.useState({kind:"",text:""}),[C,m]=r.useState([]),[E,P]=r.useState(!1),B=W=>n("div",{className:"tt_cardSection",children:W}),H=async()=>{try{let G=await(await fetch("/api/dsh-tty/config",{cache:"no-store"})).json();G.ok&&typeof G.config=="object"&&G.config!==null?(c(G.config),Qr(G.config)):b({kind:"error",text:String(G.error||"\u8BFB\u53D6\u914D\u7F6E\u5931\u8D25")})}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},R=async()=>{try{let G=await(await fetch("/api/dsh-tty/shells",{cache:"no-store"})).json();G.ok&&Array.isArray(G.shells)&&m(G.shells)}catch{}};r.useEffect(()=>{g&&!d&&(h(!0),H(),R())},[g]);let j=(W,G)=>c(Y=>({...Y||{},[W]:G})),A=(W,G)=>c(Y=>({...Y||{},sftpLimits:{...Y?.sftpLimits??{},[W]:G}})),[T,F]=r.useState(null),[D,w]=r.useState(null),[L,k]=r.useState(""),[M,z]=r.useState(null),[q,V]=r.useState(""),[Z,I]=r.useState(""),[x,O]=r.useState(""),N=r.useRef(null),[$,U]=r.useState(!1),[X,te]=r.useState({text:"",kind:""}),[re,Q]=r.useState(!1),[K,J]=r.useState({running:!1,ok:!1,text:""}),[oe,ie]=r.useState({}),[ce,ye]=r.useState([]),[de,xe]=r.useState({direction:"local",localPort:"",remoteHost:"",remotePort:"",localTargetPort:"",bookName:""});r.useEffect(()=>{if(!g)return;let W=!0,G=async()=>{try{let he=await(await fetch("/api/dsh-tty/tunnels",{cache:"no-store"})).json();W&&he.ok&&Array.isArray(he.tunnels)&&ye(he.tunnels)}catch{}};G();let Y=setInterval(G,2e3);return()=>{W=!1,clearInterval(Y)}},[g]);let be=W=>G=>xe(Y=>({...Y||{},[W]:G.target.value})),Ze=W=>W?.direction==="remote"?`\u8FDC\u7A0B:${W.remoteHost||"127.0.0.1"}:${String(W.remotePort??0)} \u2192 \u672C\u673A:${String(W.localTargetPort??0)}`:`\u672C\u673A:${String(W?.localPort??0)} \u2192 ${W?.remoteHost??"?"}:${String(W?.remotePort??0)}`,Ht=(_?.sshHosts??[]).find(W=>W?.name===de?.bookName),$e=async W=>{try{let G=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({tunnels:W})}),Y=await G.json().catch(()=>({}));return!G.ok||!Y.ok?(b({kind:"error",text:String(Y.error||"\u4FDD\u5B58\u96A7\u9053\u5931\u8D25")}),!1):!0}catch(G){return b({kind:"error",text:String(G&&G.message?G.message:G)}),!1}},Qt=()=>{b({kind:"",text:""});let W=de||{},G=W.bookName||(Array.isArray(_?.sshHosts)?_.sshHosts[0]?.name:"")||"";if(G===""){b({kind:"error",text:"\u8BF7\u5148\u5728\u8FDE\u63A5\u7C3F\u91CC\u6DFB\u52A0 SSH \u6761\u76EE"});return}let Y=ke=>{let Wt=Number(ke);return Number.isInteger(Wt)&&Wt>=1&&Wt<=65535?Wt:0},ee;if(W.direction==="remote"){if(ee={name:"",bookName:G,direction:"remote",remotePort:Y(W.remotePort),localTargetHost:"",localTargetPort:Y(W.localTargetPort),enabled:!0},ee.remotePort<1||ee.localTargetPort<1){b({kind:"error",text:"\u8FDC\u7A0B\u76D1\u542C\u7AEF\u53E3\u4E0E\u672C\u5730\u76EE\u6807\u7AEF\u53E3\u5FC5\u586B\uFF081~65535\uFF09"});return}ee.name=`${G}-R${String(ee.remotePort)}`}else{if(ee={name:"",bookName:G,direction:"local",localPort:Y(W.localPort),remoteHost:W.remoteHost.trim(),remotePort:Y(W.remotePort),enabled:!0},ee.localPort<1||ee.remoteHost===""||ee.remotePort<1){b({kind:"error",text:"\u672C\u5730\u7AEF\u53E3\u3001\u8FDC\u7A0B\u4E3B\u673A\u3001\u8FDC\u7A0B\u7AEF\u53E3\u5FC5\u586B"});return}ee.name=`${G}-L${String(ee.localPort)}`}let he=new Set((Array.isArray(_?.tunnels)?_.tunnels:[]).map(ke=>ke?.name)),ae=ee.name,pe=2;for(;he.has(ae);)ae=`${ee.name}-${String(pe)}`,pe+=1;ee.name=ae;let se=[...Array.isArray(_?.tunnels)?_.tunnels:[],ee];c(ke=>({...ke||{},tunnels:se})),xe(ke=>({...ke||{},localPort:"",remoteHost:"",remotePort:"",localTargetPort:""})),$e(se).then(ke=>{ke&&b({kind:"ok",text:`\u96A7\u9053\u300C${ae}\u300D\u5DF2\u751F\u6548`})})},it=W=>{let G=(Array.isArray(_?.tunnels)?_.tunnels:[]).filter(Y=>Y?.name!==W);c(Y=>({...Y||{},tunnels:G})),$e(G)},Ft=(W,G)=>{let Y=(Array.isArray(_?.tunnels)?_.tunnels:[]).map(ee=>ee?.name===W?{...ee,enabled:G}:ee);c(ee=>({...ee||{},tunnels:Y})),$e(Y)},_e=W=>{F(W?.name??null),k(""),J({running:!1,ok:!1,text:""}),V(""),I(""),cs(),U(pt!==null),w({name:W?.name??"",host:W?.host??"",port:String(W?.port??22),username:W?.username??"",auth:W?.auth==="key"||W?.auth==="password"?W.auth:"agent",keyPath:W?.keyPath??"",passphrase:W?.passphrase??"",password:W?.password??"",agentForward:W?.agentForward===!0,persist:W?.persist!==!1}),cl().then(G=>z(G)),hs(W?.password??"")},li=()=>{F(null),w(null),k(""),J({running:!1,ok:!1,text:""}),V(""),I(""),cs()},Ql=async()=>{if(D===null)return;let W=D.name.trim(),G=D.host.trim(),Y=D.username.trim();if(W===""||G===""||Y===""){k("\u540D\u79F0\u3001\u4E3B\u673A\u3001\u7528\u6237\u540D\u5FC5\u586B");return}let ee=Number(D.port);if((!Number.isInteger(ee)||ee<1||ee>65535)&&(ee=22),(_?.sshHosts??[]).some(ae=>ae?.name===W&&W!==T)){k("\u8FDE\u63A5\u7C3F\u91CC\u5DF2\u6709\u540C\u540D\u6761\u76EE: "+W);return}if(D.auth==="key"&&D.keyPath.trim()===""){k("auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84");return}k("");let he=D.password;if(D.auth==="password"){let ae=await ul($,D.password,G,ee,Y,"PASSWORD");if(ae.error!==void 0){k(ae.error);return}ae.value!==void 0&&(he=ae.value)}c(ae=>({...ae||{},sshHosts:(Array.isArray(ae?.sshHosts)?ae.sshHosts:[]).map(pe=>pe?.name===T?{name:W,host:G,port:ee,username:Y,auth:D.auth,keyPath:D.keyPath.trim(),passphrase:D.passphrase,password:he,agentForward:D.agentForward,persist:D.persist===!0}:pe)})),ie(ae=>{let pe={...ae};return delete pe[W],T!==W&&delete pe[T],pe}),F(null),w(null),J({running:!1,ok:!1,text:""}),b({kind:"ok",text:"\u5DF2\u4FEE\u6539\u6761\u76EE\u300C"+W+"\u300D\u2014 \u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})},ec=W=>{T===W&&li(),ie(G=>{let Y={...G};return delete Y[W],Y}),c(G=>({...G||{},sshHosts:(Array.isArray(G?.sshHosts)?G.sshHosts:[]).filter(Y=>Y?.name!==W)}))},tc=async W=>{let G=W?.name??"";if(G==="")return;let Y={host:W?.host??"",port:Number(W?.port)||22,username:W?.username??"",auth:W?.auth==="key"||W?.auth==="password"?W.auth:"agent",keyPath:W?.keyPath??"",passphrase:W?.passphrase??"",password:W?.password??"",agentForward:W?.agentForward===!0};ie(he=>({...he,[G]:{running:!0,text:"\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026"}}));let ee=await wn(Y,!0);ie(he=>{let ae=he[G]||{};if(ee.result){let pe=ee.result.auth?.ok===!0;return{...he,[G]:{running:!1,ok:pe,text:Sn(ee.result)}}}return{...he,[G]:{running:!1,ok:!1,text:"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(ee.error||"\u672A\u77E5\u9519\u8BEF")}}})},rc=async W=>{let G=(Array.isArray(_?.hostKeys)?_.hostKeys:[]).filter(Y=>!(Y?.host===W?.host&&Number(Y?.port)===Number(W?.port)));c(Y=>({...Y||{},hostKeys:G}));try{let Y=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({hostKeys:G})}),ee=await Y.json().catch(()=>({}));!Y.ok||!ee.ok?b({kind:"error",text:String(ee.error||"\u5220\u9664\u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\u5931\u8D25")}):b({kind:"ok",text:"\u5DF2\u5220\u9664\u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\uFF08\u4E0B\u6B21\u8FDE\u63A5\u91CD\u65B0\u8BB0\u5F55\u6307\u7EB9\uFF09"})}catch(Y){b({kind:"error",text:String(Y&&Y.message?Y.message:Y)})}},ic=async()=>{b({kind:"",text:""});try{let G=await(await fetch("/api/dsh-tty/ssh-config",{cache:"no-store"})).json();if(!G.ok){b({kind:"error",text:String(G.error||"\u8BFB\u53D6 ~/.ssh/config \u5931\u8D25")});return}let Y=Array.isArray(G.entries)?G.entries:[],ee=[...Array.isArray(_?.sshHosts)?_.sshHosts:[]],he=new Set(ee.map(se=>se?.name)),ae=0,pe=0;for(let se of Y)if(!(se===null||typeof se!="object"||typeof se.name!="string")){if(he.has(se.name)){pe+=1;continue}he.add(se.name),ee.push({name:se.name,host:String(se.host??se.name),port:Number(se.port)||22,username:String(se.username??""),auth:se.auth==="key"?"key":"agent",keyPath:String(se.keyPath??""),passphrase:"",password:"",agentForward:!1}),ae+=1}c(se=>({...se||{},sshHosts:ee})),b(ae===0?{kind:"ok",text:pe>0?`\u6CA1\u6709\u65B0\u6761\u76EE\uFF08${pe} \u6761\u540C\u540D\u8DF3\u8FC7\uFF09`:"~/.ssh/config \u91CC\u6CA1\u6709\u53EF\u5BFC\u5165\u7684\u5177\u4F53\u4E3B\u673A"}:{kind:"ok",text:`\u5DF2\u5BFC\u5165 ${ae} \u6761\uFF08\u540C\u540D\u8DF3\u8FC7 ${pe} \u6761\uFF09\uFF0C\u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E`})}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},Nn=W=>W===null||typeof W!="object"?[]:Array.isArray(W.fingerprints)?W.fingerprints.filter(G=>typeof G=="string"&&G!==""):typeof W.fingerprint=="string"&&W.fingerprint!==""?[W.fingerprint]:[],sc=async()=>{b({kind:"",text:""});try{let G=await(await fetch("/api/dsh-tty/known-hosts",{cache:"no-store"})).json();if(!G.ok){b({kind:"error",text:String(G.error||"\u8BFB\u53D6 ~/.ssh/known_hosts \u5931\u8D25")});return}let Y=Array.isArray(G.entries)?G.entries:[],ee=[...Array.isArray(_?.hostKeys)?_.hostKeys:[]],he=new Map;for(let se of ee)se===null||typeof se!="object"||he.set(String(se.host??"")+":"+String(se.port??22),{record:se,fps:new Set(Nn(se))});let ae=0,pe=0;for(let se of Y){if(se===null||typeof se!="object"||typeof se.host!="string")continue;let ke=Array.isArray(se.fingerprints)?se.fingerprints.filter(Mr=>typeof Mr=="string"&&Mr!==""):[];if(typeof se.fingerprint=="string"&&se.fingerprint!==""&&ke.push(se.fingerprint),ke.length===0)continue;let Wt=se.host+":"+String(se.port??22),$t=he.get(Wt);if($t!==void 0){let Mr=!1;for(let Wn of ke)$t.fps.has(Wn)||$t.fps.size>=8||($t.fps.add(Wn),Mr=!0);if(!Mr){pe+=1;continue}delete $t.record.fingerprint,$t.record.fingerprints=[...$t.fps],ae+=1;continue}let ds={host:se.host,port:Number(se.port)||22,fingerprints:[...new Set(ke)].slice(0,8)};he.set(Wt,{record:ds,fps:new Set(ds.fingerprints)}),ee.push(ds),ae+=1}if(ae===0){b({kind:"ok",text:pe>0?`\u6CA1\u6709\u65B0\u6307\u7EB9\uFF08${pe} \u6761\u5DF2\u5B58\u5728\uFF09`:"known_hosts \u91CC\u6CA1\u6709\u53EF\u5BFC\u5165\u7684\u5177\u4F53\u4E3B\u673A"});return}c(se=>({...se||{},hostKeys:ee}));try{let se=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({hostKeys:ee})}),ke=await se.json().catch(()=>({}));if(!se.ok||!ke.ok){b({kind:"error",text:String(ke.error||"\u4FDD\u5B58 hostKeys \u5931\u8D25")});return}b({kind:"ok",text:`\u5DF2\u5BFC\u5165 ${ae} \u6761\u4E3B\u673A\u7684\u6307\u7EB9\uFF08\u8DF3\u8FC7 ${pe} \u6761\u5DF2\u5B58\u5728\uFF09`+(G.truncated===!0?"\uFF1B\u6CE8\u610F\uFF1Aknown_hosts \u8D85\u8FC7 500 \u6761\u4E3B\u673A\uFF0C\u672C\u6B21\u4EC5\u5BFC\u5165\u524D 500 \u6761":"")})}catch(se){b({kind:"error",text:String(se&&se.message?se.message:se)})}}catch(W){b({kind:"error",text:String(W&&W.message?W.message:W)})}},nc=async()=>{v(!0),b({kind:"",text:""});let W={};for(let G of["enabled","announceToAgent","maxSessions","shell","term","colorTerm","cwd","reconnectGraceSec","shellIntegration","sftpStyle","persistence","endOnPageClose","statsEnabled"]){let Y=(_||{})[G];Y!==void 0&&Y!==""&&(W[G]=Y)}W.sshHosts=Array.isArray(_?.sshHosts)?_.sshHosts:[],W.tunnels=Array.isArray(_?.tunnels)?_.tunnels:[],_?.sftpLimits&&typeof _.sftpLimits=="object"&&(W.sftpLimits={maxDownloadMb:Number(_.sftpLimits.maxDownloadMb)||0,maxUploadMb:Number(_.sftpLimits.maxUploadMb)||0,maxUploadFiles:Number(_.sftpLimits.maxUploadFiles)||0});try{let G=await fetch("/api/dsh-tty/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(W)}),Y=await G.json();!G.ok||!Y.ok?b({kind:"error",text:String(Y.error||"\u4FDD\u5B58\u5931\u8D25")}):(b({kind:"ok",text:"\u5DF2\u4FDD\u5B58\u5E76\u70ED\u751F\u6548"}),Y.config&&(c(Y.config),Qr(Y.config)))}catch(G){b({kind:"error",text:String(G&&G.message?G.message:G)})}v(!1)},cs=()=>{N.current!==null&&(clearTimeout(N.current),N.current=null),O("")},hs=async W=>{let G=pr(W);if(wr()===null){U(!1),Q(!1),te({text:pt===null?"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58":"\u51ED\u636E\u670D\u52A1\u4E0D\u5B8C\u6574\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58",kind:"muted"});return}if(G===""){Q(!1),te({text:"",kind:""});return}let Y=await hl(G);if(Y.unreported===!0){Q(!1),te({text:"\u5F15\u7528 "+G+"\uFF1A\u5BBF\u4E3B\u672A\u62A5\u544A\u72B6\u6001",kind:"plain"});return}if(Y.error!==void 0){Q(!1),te({text:"\u8BFB\u53D6\u51ED\u636E\u72B6\u6001\u5931\u8D25\uFF1A"+Y.error,kind:"error"});return}let ee=Y.view;te({text:ee.configured?"\u5DF2\u5B58\u5165"+(ee.source!==""?"\uFF08\u6765\u6E90 "+ee.source+"\uFF09":"")+" \xB7 "+G:"\u5F15\u7528 "+G+"\uFF1A\u5B58\u50A8\u91CC\u8FD8\u6CA1\u6709\u8FD9\u4E2A\u503C",kind:ee.configured?"ok":"plain"}),Q(ee.configured===!0&&ee.writable===!0)},oc=async()=>{let W=pr(D?.password??"");if(W==="")return;let G=await dl(W);if(G.error!==void 0){te({text:G.error,kind:"error"});return}w(Y=>({...Y||{},password:""})),te({text:"",kind:""}),Q(!1)},ac=(W,G)=>{let Y=String(D?.[W]??"");if(Y===""||Y.startsWith("env:")||x===G){cs(),w(ee=>({...ee||{},[W]:"env:"+G})),V(""),W==="password"&&hs("env:"+G);return}O(G),N.current!==null&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,O("")},4e3)},Hn=(W,G)=>{if(M===null)return null;if(M.length===0)return n("span",{className:"tt_cardHint",children:G});let Y=q===W,ee=Z.trim().toUpperCase(),he=ee===""?M:M.filter(ae=>ae.toUpperCase().includes(ee));return a("div",{className:"tt_credPicker",children:[n("input",{className:"tt_cardInput",value:Y?Z:"",placeholder:"\u6216\uFF1A\u9009\u62E9\u51ED\u636E\u5B58\u50A8\u91CC\u7684\u5F15\u7528\u540D",title:"\u5019\u9009 = \u51ED\u636E\u5B58\u50A8\u91CC\u5DF2\u6709\u7684\u5F15\u7528\u540D + \u672C\u673A\u8FDE\u63A5\u7C3F\u91CC\u5728\u7528\u7684\u5F15\u7528\u540D",autoComplete:"off",spellCheck:!1,onFocus:()=>{V(W),I("")},onBlur:ae=>{ae.currentTarget.parentElement.contains(ae.relatedTarget)||V("")},onChange:ae=>{I(ae.target.value),V(W)}}),...Y?[n("div",{className:"tt_envList",children:[...he.length===0?[n("span",{className:"tt_envMore",children:"\u6CA1\u6709\u5339\u914D\u7684\u5F15\u7528"})]:he.slice(0,30).map(ae=>n("button",{type:"button",className:"tt_envItem","data-danger":x===ae?"":void 0,onMouseDown:pe=>pe.preventDefault(),onClick:()=>ac(W,ae),children:x===ae?ae+"\uFF08\u518D\u70B9\u8986\u76D6\u5DF2\u586B\uFF09":ae},ae)),...he.length>30?[n("span",{className:"tt_envMore",children:"\u8FD8\u6709 "+(he.length-30)+" \u4E2A \u2014 \u7EE7\u7EED\u8F93\u5165\u7B5B\u9009"})]:[]]},"cred-list-"+W)]:[]]})},lc=()=>{let G=pr(D?.password??"")!=="",Y=wr()===null;return a("div",{className:"tt_sshRow tt_credRow",children:[G?n("button",{type:"button",className:"tt_toolBtn tt_credClear",disabled:re!==!0,onClick:()=>{oc()},children:"\u6E05\u9664\u5DF2\u5B58\u51ED\u636E"}):n("label",{className:"tt_credToggle",title:"\u52FE\u9009\u540E\uFF0C\u70B9\u300C\u5E94\u7528\u300D\u65F6\u628A\u5BC6\u7801\u5199\u8FDB\u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF0C\u5B57\u6BB5\u91CC\u53EA\u7559 env: \u5F15\u7528\uFF08\u503C\u5728 ~/.dsh/.credentials.yaml\uFF0C\u4E0D\u8FDB\u73AF\u5883\u3001\u4E0D\u56DE\u4F20\u6D4F\u89C8\u5668\uFF1B\u6321\u4E0D\u4F4F\u540C\u7528\u6237\u8FDB\u7A0B\u4E0E agent\uFF09\u3002\u4E0D\u52FE\u9009\u5219\u6309\u73B0\u72B6\u660E\u6587\u5199\u8FDB\u8BBE\u7F6E\u6587\u4EF6\u3002\u80FD\u7528\u5BC6\u94A5 / agent \u5C31\u522B\u5B58\u5BC6\u7801\u3002",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:$,disabled:Y,onChange:ee=>U(ee.target.checked)}),n("span",{children:"\u5E94\u7528\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8"})]}),X.text===""?null:n("span",{className:"tt_credStatus","data-kind":X.kind,children:X.text}),Y&&X.text===""?n("span",{className:"tt_credStatus","data-kind":"muted",children:"\u5BBF\u4E3B\u672A\u63D0\u4F9B\u51ED\u636E\u670D\u52A1\uFF08remote.credentials\uFF09\uFF0C\u53EA\u80FD\u660E\u6587\u4FDD\u5B58"}):null]})},Fn=()=>{let W=String(D?.host??"").trim(),G=String(D?.username??"").trim(),Y=Number(D?.port);if((!Number.isInteger(Y)||Y<1||Y>65535)&&(Y=22),W===""||G==="")return k("\u4E3B\u673A\u4E0E\u7528\u6237\u540D\u5FC5\u586B"),null;let ee=D?.auth,he={host:W,port:Y,username:G,auth:ee};if(ee==="key"){let ae=String(D?.keyPath??"").trim();if(ae==="")return k("auth=key \u9700\u8981\u79C1\u94A5\u8DEF\u5F84"),null;he.keyPath=ae,D?.passphrase!==""&&(he.passphrase=D.passphrase)}if(ee==="password"){let ae=String(D?.password??"");if(ae==="")return k("auth=password \u9700\u8981\u5BC6\u7801"),null;he.password=ae}return D?.agentForward===!0&&(he.agentForward=!0),he},cc=()=>{k("");let W=Fn();W!==null&&(J({running:!0,ok:!1,text:"\u8FDE\u63A5\u6D4B\u8BD5\u4E2D\u2026"}),wn(W,!1).then(G=>{if(G.result){let Y=G.result.auth?.ok===!0;J({running:!1,ok:Y,text:Sn(G.result)});return}J({running:!1,ok:!1,text:"\u274C \u8FDE\u63A5\u5931\u8D25\uFF1A"+String(G.error||"\u672A\u77E5\u9519\u8BEF")})}))},hc=()=>{k("");let W=Fn();W!==null&&ls(W)},dc=()=>{if(D===null)return null;let W=(G,Y,ee,he,ae)=>a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:G}),n("input",{className:"tt_cardInput",type:he??"text",value:D[Y]??"",placeholder:ee??"",autoComplete:"off",spellCheck:!1,onChange:pe=>{let se=pe.target.value;w(ke=>({...ke||{},[Y]:se}))},...ae??{}})]});return a("div",{className:"tt_sshEdit",children:[n("div",{className:"tt_sshSection",children:"\u8FDE\u63A5"}),a("div",{className:"tt_sshGrid",children:[W("\u540D\u79F0","name","\u540C\u540D\u51B2\u7A81\u4F1A\u88AB\u62D2\u7EDD"),W("\u7AEF\u53E3","port","22")]}),W("\u4E3B\u673A","host","example.com \u6216 IP"),W("\u7528\u6237\u540D","username","root"),n("div",{className:"tt_sshSection",children:"\u8BA4\u8BC1"}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u8BA4\u8BC1\u65B9\u5F0F"}),a("select",{className:"tt_cardInput",value:D.auth,onChange:G=>w(Y=>({...Y||{},auth:G.target.value})),children:[n("option",{value:"agent",children:"agent \u2014 \u4F7F\u7528\u672C\u673A ssh-agent"}),n("option",{value:"key",children:"key \u2014 \u79C1\u94A5\u6587\u4EF6"}),n("option",{value:"password",children:"password \u2014 \u5BC6\u7801"})]})]}),...D.auth==="key"?[W("\u79C1\u94A5\u8DEF\u5F84","keyPath","~/.ssh/id_ed25519"),W("\u79C1\u94A5\u53E3\u4EE4\uFF08\u53EF\u7A7A\uFF09","passphrase","","password"),Hn("passphrase","\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u53EF\u5728\u79C1\u94A5\u53E3\u4EE4\u6846\u76F4\u63A5\u624B\u8F93 env:NAME")]:[],...D.auth==="password"?[W("\u5BC6\u7801","password","","password",{onBlur:()=>{hs(D.password)}}),lc(),Hn("password","\u8FD8\u6CA1\u6709\u522B\u7684\u8FDE\u63A5\u7528\u8FC7\u51ED\u636E\u5F15\u7528 \u2014 \u52FE\u4E0A\u9762\u7684\u300C\u5E94\u7528\u65F6\u5B58\u5165\u51ED\u636E\u5B58\u50A8\u300D\u65B0\u5EFA\u4E00\u4E2A\uFF0C\u6216\u76F4\u63A5\u5728\u5BC6\u7801\u6846\u624B\u8F93 env:NAME")]:[],n("div",{className:"tt_sshSection",children:"\u9009\u9879"}),a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:D.agentForward===!0,onChange:G=>w(Y=>({...Y||{},agentForward:G.target.checked}))}),n("span",{className:"tt_cardLabel",children:"agent forwarding\uFF08\u8FDC\u7A0B\u53EF\u7528\u672C\u5730 ssh-agent \u94A5\u5319\uFF0C\u5982\u8FDC\u7A0B git clone\uFF09"})]}),It==="tmux"?a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:D.persist===!0,onChange:G=>w(Y=>({...Y||{},persist:G.target.checked}))}),n("span",{className:"tt_cardLabel",children:"\u6301\u4E45\u4F1A\u8BDD\uFF08tmux \u6258\u7BA1\uFF0C\u65AD\u7EBF/\u91CD\u542F\u540E\u6062\u590D\u73B0\u573A\uFF1B\u8FDC\u7A0B\u9700\u5B89\u88C5 tmux\uFF09"})]}):null,K.text!==""?n("div",{className:"tt_sshProbeResult"+(!K.running&&K.ok?" tt_sshProbeOk":"")+(!K.running&&!K.ok?" tt_sshProbeBad":""),children:K.text}):null,L!==""?n("span",{className:"tt_cardMessage tt_cardMessageError",children:L}):null,a("div",{className:"tt_sshActions",children:[a("div",{className:"tt_sshActionsGroup",children:[n("button",{type:"button",className:"tt_toolBtn",onClick:li,children:"\u53D6\u6D88"}),n("button",{type:"button",className:"tt_toolBtn",title:"\u4E0D\u52A8\u7EC8\u7AEF\uFF0C\u76F4\u63A5\u4EE5\u5F53\u524D\u586B\u5199\u7684\u4FE1\u606F\u6253\u5F00 SFTP \u6587\u4EF6\u6D4F\u89C8",onClick:hc,children:"\u6587\u4EF6\u6D4F\u89C8"}),n("button",{type:"button",className:"tt_toolBtn",disabled:K.running,title:"\u6309\u5F53\u524D\u586B\u5199\u8BCA\u65AD\u8FDE\u63A5\uFF08TCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\uFF09\uFF1B\u4E0D\u4F1A\u65B0\u5EFA\u4F1A\u8BDD\uFF0C\u4E5F\u4E0D\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9",onClick:cc,children:K.running?"\u8BD5\u8FDE\u4E2D\u2026":"\u8BD5\u8FDE"})]}),a("div",{className:"tt_sshActionsGroup",children:[n("button",{type:"button",className:"tt_cardSave",onClick:()=>{Ql()},children:"\u5E94\u7528"}),n("span",{className:"tt_cardHint",children:"\u968F\u5361\u7247\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})]})]})]})},kr=(W,G,Y,ee)=>a("label",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:W}),n("input",{className:"tt_cardInput",value:_[G]??"",placeholder:Y??"",onChange:he=>j(G,he.target.value)}),ee?n("span",{className:"tt_cardHint",children:ee}):null]}),Er=(W,G)=>a("label",{className:"tt_cardField tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:_[G]===!0,onChange:Y=>j(G,Y.target.checked)}),n("span",{className:"tt_cardLabel",children:W})]}),Lr=_?.platform==="win32";return l==="summary"?"xterm \u7EC8\u7AEF\u9762\u677F\uFF1A\u591A\u6807\u7B7E\u9875\u3001\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\u3001cwd \u8DDF\u968F\u4F1A\u8BDD\u3001SSH \u8FDE\u63A5\u7C3F\u4E0E\u4E3B\u673A\u6307\u7EB9\u9489\u624E\u3001tmux \u4F1A\u8BDD\u6301\u4E45\u5316\u3002":a(p?"div":"li",{className:p?"tt_pageHost":g?"tt_card tt_cardOpen":"tt_card",children:[p?null:a("button",{type:"button",className:"tt_cardHeader","aria-expanded":g,onClick:()=>S(W=>!W),children:[a("span",{className:"tt_cardHeadText",children:[n("span",{className:"tt_cardName",children:"\u7EC8\u7AEF\u9762\u677F"}),n("span",{className:"tt_cardDescription",children:"xterm \u7EC8\u7AEF\u9762\u677F\uFF1A\u591A\u6807\u7B7E\u9875\u3001\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\u3001cwd \u8DDF\u968F\u4F1A\u8BDD\u3001SSH \u8FDE\u63A5\u7C3F\u4E0E\u4E3B\u673A\u6307\u7EB9\u9489\u624E\u3001tmux \u4F1A\u8BDD\u6301\u4E45\u5316\uFF1Bshell / TERM / \u5E76\u53D1\u4E0A\u9650\u7B49\u4FDD\u5B58\u5373\u70ED\u751F\u6548\u3002"})]}),n("span",{className:"dshkit_badge",children:"Kit"}),n("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:g?"tt_cardChevron tt_cardChevronOpen":"tt_cardChevron",children:n("path",{d:i,fill:"currentColor"})})]}),p||g?a("div",{className:"tt_cardBody",children:[_===null?n("div",{className:"tt_cardMessage",children:"\u52A0\u8F7D\u914D\u7F6E\u4E2D\u2026"}):a("div",{children:[B("\u57FA\u7840"),Er("\u542F\u7528\u63D2\u4EF6\uFF08\u4FDD\u5B58\u5373\u70ED\u751F\u6548\uFF1A\u5DE5\u5177\u4E0E\u9762\u677F\u5165\u53E3\u7ACB\u523B\u6536\u8D77\uFF0C\u4F1A\u8BDD\u8F6C\u4FDD\u6D3B\uFF09","enabled"),Er("\u5411 agent \u516C\u544A\u7EC8\u7AEF\u9762\u677F\u80FD\u529B","announceToAgent"),Lr?a("div",{className:"tt_cardField",children:[a("label",{className:"tt_cardRow",children:[n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:!1,disabled:!0}),n("span",{className:"tt_cardLabel",children:"shell \u96C6\u6210\uFF08OSC 133/7 \u6CE8\u5165\uFF09"})]}),n("span",{className:"tt_cardHint",children:"Windows \u5BBF\u4E3B\u4E0A\u4E0D\u9002\u7528\uFF1A\u6CE8\u5165\u8D70\u7684\u662F POSIX \u7684 `-c` \u5305\u88C5\u5C42\u4E0E rc \u6869\uFF0Ccmd / PowerShell \u4E0A\u90FD\u4E0D\u6210\u7ACB\uFF08\u5B9E\u6D4B cmd \u5FFD\u7565 `-c` \u7A7A\u8DD1\u3001PowerShell \u62A5 export \u4E0D\u5B58\u5728\uFF09\u3002\u56E0\u6B64**\u672C\u5730**\u6807\u7B7E\u7684 cwd \u8DDF\u968F\u4E0E tty_capture{last} \u4E0D\u53EF\u7528\uFF1B\u8FDC\u7A0B Linux / macOS \u4E3B\u673A\u7167\u65E7\u652F\u6301\u3002"})]}):Er("shell \u96C6\u6210\uFF08OSC 133/7 \u6CE8\u5165\uFF0Ctty_capture{last} \u4E0E cwd \u8DDF\u968F\u4F9D\u8D56\u5B83\uFF09","shellIntegration"),B("SFTP \u6587\u4EF6\u4F20\u8F93"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SFTP \u6587\u4EF6\u6D4F\u89C8\u98CE\u683C"}),a("select",{className:"tt_cardInput",value:_.sftpStyle==="dual"?"dual":"dialog",onChange:W=>j("sftpStyle",W.target.value),children:[n("option",{value:"dialog",children:"\u5355\u7A97\u4F53 \u2014 \u8FDC\u7A0B\u76EE\u5F55 + \u4E0A\u4F20/\u4E0B\u8F7D/\u62D6\u62FD"}),n("option",{value:"dual",children:"\u53CC\u680F \u2014 \u5DE6\u672C\u673A / \u53F3\u8FDC\u7A0B\uFF0C\u9009\u4E2D\u76F4\u4F20"})]}),n("span",{className:"tt_cardHint",children:"\u53CC\u680F\u5728\u672C\u673A\u4E0E\u8FDC\u7A0B\u4E4B\u95F4\u5BF9\u62F7\u6587\u4EF6\uFF08\u76EE\u5F55\u9012\u5F52\u3001\u540C\u540D\u8986\u76D6\uFF09\uFF1B\u91CD\u65B0\u6253\u5F00 SFTP \u540E\u751F\u6548"})]}),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SFTP \u4F20\u8F93\u9650\u5236\uFF080 = \u4E0D\u9650\uFF09"}),a("div",{className:"tt_limitGrid",children:[a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u4E0B\u8F7D\u4E0A\u9650 (MB)"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxDownloadMb))?Number(_.sftpLimits.maxDownloadMb):1024),onChange:W=>A("maxDownloadMb",Number(W.target.value)||0)})]}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u4E0A\u4F20\u4E0A\u9650 (MB)"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxUploadMb))?Number(_.sftpLimits.maxUploadMb):2048),onChange:W=>A("maxUploadMb",Number(W.target.value)||0)})]}),a("label",{className:"tt_sshRow",children:[n("span",{className:"tt_cardLabel",children:"\u6279\u91CF\u6587\u4EF6\u6570\u4E0A\u9650"}),n("input",{className:"tt_cardInput",type:"number",min:0,value:String(Number.isFinite(Number(_?.sftpLimits?.maxUploadFiles))?Number(_.sftpLimits.maxUploadFiles):1e3),onChange:W=>A("maxUploadFiles",Number(W.target.value)||0)})]})]}),n("span",{className:"tt_cardHint",children:"\u6D4F\u89C8\u5668\u4FA7\u4FDD\u62A4\uFF1A\u5355\u4E2A\u6587\u4EF6\u8D85\u8FC7\u4E0A\u9650\u65F6\u4E2D\u6B62\u4E0B\u8F7D/\u4E0A\u4F20\uFF08\u5927\u6587\u4EF6\u8BF7\u7528\u53CC\u680F \u21E8/\u21E6 \u76F4\u4F20\u6216\u7EC8\u7AEF scp/rsync\uFF0C\u4E0D\u5360\u6D4F\u89C8\u5668\u5185\u5B58\uFF09\uFF1B\u6587\u4EF6\u6570\u4E0A\u9650\u9488\u5BF9\u4E00\u6B21\u6279\u91CF/\u62D6\u62FD\u4E0A\u4F20\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"})]}),B("\u4F1A\u8BDD"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"\u4F1A\u8BDD\u6301\u4E45\u5316\uFF08tmux\uFF09"}),a("select",{className:"tt_cardInput",value:_.persistence==="tmux"?"tmux":"off",onChange:W=>j("persistence",W.target.value),children:[n("option",{value:"off",children:"\u5173\u95ED \u2014 \u4F1A\u8BDD\u968F\u9762\u677F/\u5BBF\u4E3B\u7ED3\u675F\uFF08\u9ED8\u8BA4\uFF09"}),n("option",{value:"tmux",children:"tmux \u2014 \u65B0\u5F00\u7684\u7EC8\u7AEF/SSH \u6807\u7B7E\u9ED8\u8BA4\u6301\u4E45\u5316"})]}),n("span",{className:"tt_cardHint",children:"\u5F00\u542F\u540E\u6240\u6709\u65B0\u6807\u7B7E\uFF08\u672C\u5730/SSH \u8FDE\u63A5\u7C3F/SSH \u8FDE\u63A5\u5BF9\u8BDD\u6846\uFF09\u9ED8\u8BA4\u7531 tmux \u6258\u7BA1\u3001\u53EF\u8DE8\u5BBF\u4E3B\u91CD\u542F\u6062\u590D\uFF1B\u9700\u672C\u673A/\u8FDC\u7A0B\u5B89\u88C5 tmux\uFF1BSSH \u5BF9\u8BDD\u6846\u53EF\u5BF9\u5355\u6B21\u8FDE\u63A5\u53D6\u6D88\u52FE\u9009\uFF1B\u5DF2\u6709\u6807\u7B7E\u4E0D\u53D7\u5F71\u54CD"+(Lr?"\uFF1BWindows \u5BBF\u4E3B\u4E0A tmux \u4E0D\u53EF\u7528\uFF0C\u672C\u5730\u6807\u7B7E\u4F1A\u7167\u5E38\u6253\u5F00\u4F46\u4E0D\u53D7\u6258\u7BA1":"")}),Er("\u5173\u95ED\u9875\u9762\u540E\u7ED3\u675F\u6301\u4E45\u4F1A\u8BDD\uFF08\u4E0D\u4FDD\u6D3B\uFF09","endOnPageClose"),Er("\u670D\u52A1\u5668\u72B6\u6001\u6761\uFF08CPU / \u5185\u5B58 / \u78C1\u76D8 / \u5728\u7EBF / TCP / \u7F51\u901F\uFF1B\u91C7\u4E0D\u5230\u7684\u9879\u663E\u793A\u300C\u65E0\u300D\uFF09","statsEnabled"),n("span",{className:"tt_cardHint",children:"\u9ED8\u8BA4\u5173\u95ED\uFF1A\u6574\u4E2A\u9875\u9762\u5173\u95ED\u65F6\u6301\u4E45\u4F1A\u8BDD\u7559\u5B58\uFF08\u4FDD\u6D3B\u671F\u540E\u53EF\u518D\u6062\u590D\uFF09\uFF1B\u5F00\u542F\u5219\u9875\u9762\u65AD\u5F00\u4E14\u4FDD\u6D3B\u671F\u7ED3\u675F\u65F6\u8FDE tmux \u4F1A\u8BDD\u4E00\u8D77\u7ED3\u675F\u2014\u2014\u6CE8\u610F\u5237\u65B0\u9875\u9762\u5728\u4FDD\u6D3B\u671F\u5185\u4E0D\u53D7\u5F71\u54CD"})]}),kr("\u5E76\u53D1\u4F1A\u8BDD\u4E0A\u9650\uFF081~16\uFF09","maxSessions","4","\u8D85\u8FC7\u4E0A\u9650\u7684\u65B0\u6807\u7B7E\u4F1A\u88AB\u62D2\u7EDD\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"),a("div",{className:"tt_cardField",onBlur:W=>{W.currentTarget.contains(W.relatedTarget)||P(!1)},children:[n("span",{className:"tt_cardLabel",children:Lr?"Shell \u8DEF\u5F84\uFF08\u9ED8\u8BA4 %COMSPEC%\uFF09":"Shell \u8DEF\u5F84\uFF08\u9ED8\u8BA4 $SHELL\uFF09"}),n("input",{className:"tt_cardInput",value:_.shell??"",placeholder:Lr?"\u7559\u7A7A\u4F7F\u7528 %COMSPEC%\uFF08\u4E5F\u53EF\u586B powershell.exe / pwsh.exe \u5B8C\u6574\u8DEF\u5F84\uFF09":"\u7559\u7A7A\u4F7F\u7528 $SHELL",autoComplete:"off",spellCheck:!1,onFocus:()=>P(!0),onClick:()=>P(!0),onKeyDown:W=>{W.key==="Escape"&&P(!1)},onChange:W=>{j("shell",W.target.value),P(!0)}}),...E?[n("div",{className:"tt_envList tt_shellList",children:(()=>{let W=(_.shell??"").trim().toLowerCase(),G=W===""?C:C.filter(Y=>Y.toLowerCase().includes(W));return G.length===0?n("span",{className:"tt_envMore",children:"\u6CA1\u6709\u5339\u914D\u7684\u5019\u9009 \u2014 \u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\u5373\u53EF"}):G.map(Y=>n("button",{type:"button",className:"tt_envItem",onMouseDown:ee=>ee.preventDefault(),onClick:()=>{j("shell",Y),P(!1)},children:Y},Y))})()},"shell-list")]:[],n("span",{className:"tt_cardHint",children:Lr?"Windows \u5BBF\u4E3B\uFF1A\u5019\u9009\u6765\u81EA %COMSPEC% \u4E0E\u5DF2\u5B89\u88C5\u7684 PowerShell\uFF08Windows PowerShell 5.1 / PowerShell 7\uFF09\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\uFF1Bcmd / PowerShell \u6CA1\u6709 POSIX \u7684\u547D\u4EE4\u8FB9\u754C\u94A9\u5B50\uFF0C\u6240\u4EE5\u8FD9\u4E24\u8005\u4E0D\u652F\u6301 shell \u96C6\u6210":"\u53EF\u4E0B\u62C9\u9009\u62E9\u672C\u673A\u5DF2\u5B89\u88C5 shell\uFF08$SHELL \u4F18\u5148\uFF09\uFF0C\u4E5F\u53EF\u76F4\u63A5\u8F93\u5165\u4EFB\u610F\u8DEF\u5F84\uFF1Bzsh / bash \u652F\u6301 shell \u96C6\u6210"})]},"shell-field"),kr("TERM","term","xterm-256color","TUI \u7A0B\u5E8F\u4F9D\u8D56\u6B64\u503C"),kr("COLORTERM","colorTerm","truecolor",""),kr("\u515C\u5E95\u5DE5\u4F5C\u76EE\u5F55\uFF08\u5BA2\u6237\u7AEF\u5F53\u524D\u4F1A\u8BDD cwd \u4F18\u5148\uFF09","cwd","","\u7559\u7A7A\u4F7F\u7528\u5BBF\u4E3B\u8FDB\u7A0B\u542F\u52A8\u76EE\u5F55"),kr("\u65AD\u7EBF\u4FDD\u6D3B\uFF08\u79D2\uFF0C0 = \u7ACB\u5373\u7ED3\u675F\uFF09","reconnectGraceSec","120","\u5237\u65B0\u9875\u9762/\u7F51\u7EDC\u6296\u52A8\u540E\u4F1A\u8BDD\u4FDD\u6D3B\u7B49\u5F85\u91CD\u8FDE\uFF0C\u8D85\u65F6\u540E\u7ED3\u675F\uFF1B\u4FDD\u5B58\u5373\u70ED\u751F\u6548"),B("SSH \u8FDE\u63A5"),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SSH \u8FDE\u63A5\u7C3F"}),...Array.isArray(_.sshHosts)&&_.sshHosts.length>0?[n("div",{className:"tt_hostList","data-editing":T!==null?"":void 0,children:_.sshHosts.map(W=>a("div",{children:[a("div",{className:"tt_sshHostRow",children:[n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:W?.name??""}),n("span",{className:"tt_sshHostTarget",children:bn(W??{})})]}),n("button",{type:"button",className:"tt_toolBtn",disabled:oe[W?.name]?.running===!0,onClick:()=>{tc(W)},title:"\u8BD5\u8FDE\u8BE5\u6761\u76EE\uFF1ATCP \u2192 \u4E3B\u673A\u5BC6\u94A5 \u2192 \u8BA4\u8BC1\u9010\u6BB5\u8BCA\u65AD",children:oe[W?.name]?.running===!0?"\u6D4B\u8BD5\u4E2D\u2026":"\u6D4B\u8BD5"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>_e(W),children:"\u7F16\u8F91"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>ec(W?.name),children:"\u5220\u9664"})]}),oe[W?.name]&&oe[W?.name].text?n("div",{className:"tt_sshProbeResult"+(oe[W?.name].ok?" tt_sshProbeOk":" tt_sshProbeBad"),children:oe[W?.name].text}):null,T===W?.name?dc():null]},String(W?.name??"")))})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u6761\u76EE \u2014 \u7EC8\u7AEF\u9762\u677F\u300C+\u300D\u2192 SSH \u8FDE\u63A5\u2026 \u52FE\u9009\u300C\u4FDD\u5B58\u5230\u8FDE\u63A5\u7C3F\u300D\u5373\u53EF\u6DFB\u52A0"})],a("div",{className:"tt_cardRow",children:[n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{ic()},children:"\u4ECE ~/.ssh/config \u5BFC\u5165"}),n("span",{className:"tt_cardHint",children:"\u540C\u540D\u8DF3\u8FC7\uFF1B\u968F\u300C\u4FDD\u5B58\u300D\u5199\u5165\u914D\u7F6E"})]}),n("span",{className:"tt_cardHint",children:"\u968F\u300C\u4FDD\u5B58\u300D\u4E00\u5E76\u5199\u5165\u914D\u7F6E\uFF1B\u5BC6\u7801/\u53E3\u4EE4\u652F\u6301 env:VAR \u5F15\u7528\uFF0C\u907F\u514D\u660E\u6587\u5165\u5E93"})]}),a("div",{className:"tt_cardField",children:[a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"\u7AEF\u53E3\u8F6C\u53D1"}),...Array.isArray(_.tunnels)&&_.tunnels.length>0?[n("div",{children:_.tunnels.map(W=>{let G=ce.find(ee=>ee.name===W?.name),Y=G?.state??"stopped";return a("div",{className:"tt_sshHostRow",children:[n("span",{className:"tt_tunnelDot","data-state":Y,title:Y}),n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:(W?.name??"")+" \xB7 "+Ze(W??{})}),n("span",{className:"tt_sshHostTarget",children:(W?.bookName??"")+(G?.error?" \xB7 "+G.error:"")+(G?.lastForwardError?" \xB7 "+G.lastForwardError:"")})]}),n("input",{type:"checkbox",className:"tt_cardCheckbox",checked:W?.enabled!==!1,title:"\u542F\u7528",onChange:ee=>Ft(W?.name,ee.target.checked)}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>it(W?.name),children:"\u5220\u9664"})]},String(W?.name??""))})})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u96A7\u9053 \u2014 \u628A\u8FDC\u7A0B\u6570\u636E\u5E93/\u5185\u90E8\u670D\u52A1\u6620\u5C04\u5230\u672C\u5730\u7AEF\u53E3"})],a("div",{className:"tt_sshEdit",children:[a("div",{className:"tt_cardRow",children:[a("select",{className:"tt_cardInput",value:de.direction,onChange:be("direction"),children:[n("option",{value:"local",children:"\u672C\u5730\u8F6C\u53D1\uFF08-L\uFF09\uFF1A\u672C\u673A\u7AEF\u53E3 \u2192 \u8FDC\u7A0B\u670D\u52A1"}),n("option",{value:"remote",children:"\u8FDC\u7A0B\u8F6C\u53D1\uFF08-R\uFF09\uFF1A\u8FDC\u7A0B\u7AEF\u53E3 \u2192 \u672C\u673A\u670D\u52A1"})]}),a("select",{className:"tt_cardInput",value:de.bookName,onChange:be("bookName"),children:[n("option",{value:"",children:"\u9009\u62E9\u8FDE\u63A5\u7C3F\u6761\u76EE"}),...Array.isArray(_?.sshHosts)?_.sshHosts.map(W=>n("option",{value:W?.name??"",children:W?.name??""})):[]]})]}),n("span",{className:"tt_cardHint",children:Ht!==void 0?"\u7ECF "+bn(Ht)+" \u8FDE\u63A5 \u2014 \u96A7\u9053\u7684\u4E3B\u673A\u4E0E\u8BA4\u8BC1\u53D6\u81EA\u8BE5\u8FDE\u63A5\u7C3F\u6761\u76EE":"\u9009\u62E9\u8FD9\u6761\u96A7\u9053\u8981\u8D70\u54EA\u53F0 SSH \u8FDE\u63A5\uFF08\u4E3B\u673A\u4E0E\u8BA4\u8BC1\u53D6\u81EA\u8FDE\u63A5\u7C3F\uFF09"}),de.direction==="local"?a("div",{className:"tt_tunnelGridLocal",children:[n("input",{className:"tt_cardInput",placeholder:"\u672C\u5730\u7AEF\u53E3",value:de.localPort,autoComplete:"off",onChange:be("localPort")}),n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u4E3B\u673A\uFF08\u4ECE\u670D\u52A1\u5668\u4FA7\u8BBF\u95EE\uFF0C\u5982 db.internal\uFF09",value:de.remoteHost,autoComplete:"off",onChange:be("remoteHost")}),n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u7AEF\u53E3",value:de.remotePort,autoComplete:"off",onChange:be("remotePort")})]}):a("div",{className:"tt_tunnelGrid",children:[n("input",{className:"tt_cardInput",placeholder:"\u8FDC\u7A0B\u76D1\u542C\u7AEF\u53E3",value:de.remotePort,autoComplete:"off",onChange:be("remotePort")}),n("input",{className:"tt_cardInput",placeholder:"\u672C\u5730\u76EE\u6807\u7AEF\u53E3",value:de.localTargetPort,autoComplete:"off",onChange:be("localTargetPort")})]}),n("div",{className:"tt_cardRow",children:[n("button",{type:"button",className:"tt_cardSave",onClick:Qt,children:"\u6DFB\u52A0\u96A7\u9053"}),n("span",{className:"tt_cardHint",children:"\u6DFB\u52A0\u540E\u7ACB\u5373\u751F\u6548\uFF1B\u65AD\u7EBF\u81EA\u52A8\u91CD\u8FDE\uFF1B\u672C\u5730\u7AEF\u53E3\u5EFA\u8BAE 1024 \u4EE5\u4E0A\uFF1B\u8FDC\u7A0B\u4E3B\u673A\u7531 SSH \u670D\u52A1\u5668\u4FA7\u8BBF\u95EE\uFF08127.0.0.1 = \u670D\u52A1\u5668\u81EA\u8EAB\uFF09"})]})]})]}),a("div",{className:"tt_cardField",children:[n("span",{className:"tt_cardLabel",children:"SSH \u4E3B\u673A\u5BC6\u94A5\u8BB0\u5F55\uFF08TOFU\uFF09"}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{sc()},children:"\u4ECE known_hosts \u5BFC\u5165"})]}),...Array.isArray(_.hostKeys)&&_.hostKeys.length>0?[n("div",{className:"tt_hostList",children:_.hostKeys.map((W,G)=>a("div",{className:"tt_sshHostRow",children:[n("div",{className:"tt_sshHostMeta",children:[n("span",{className:"tt_sshHostName",children:String(W?.host??"")+":"+String(W?.port??22)}),n("span",{className:"tt_sshHostTarget",children:Nn(W).map(Y=>"sha256:"+Y).join(" / ")})]}),n("button",{type:"button",className:"tt_toolBtn",onClick:()=>{rc(W)},children:"\u5220\u9664"})]},String(W?.host??"")+":"+String(W?.port??22)+"#"+String(G)))})]:[n("span",{className:"tt_cardHint",children:"\u6682\u65E0\u8BB0\u5F55 \u2014 \u9996\u6B21 SSH \u8FDE\u63A5\u6210\u529F\u540E\u81EA\u52A8\u8BB0\u5F55\u4E3B\u673A\u6307\u7EB9"})],n("span",{className:"tt_cardHint",children:"\u4E00\u673A\u591A\u628A\u94A5\u5319\uFF08\u5982 rsa + ed25519\uFF09\u5404\u8BB0\u4E00\u6761\u6307\u7EB9\uFF0C\u4EFB\u4E00\u5339\u914D\u5373\u653E\u884C\uFF1B\u6307\u7EB9\u53D8\u66F4\u65F6\u8FDE\u63A5\u4F1A\u88AB\u62D2\u7EDD\uFF08\u9632\u4E2D\u95F4\u4EBA\uFF09\uFF0C\u786E\u8BA4\u5B89\u5168\u540E\u5220\u9664\u5BF9\u5E94\u8BB0\u5F55\u5373\u53EF\u91CD\u8FDE"})]}),a("div",{className:"tt_cardField tt_cardRow",children:[n("button",{className:"tt_cardSave",disabled:u,onClick:()=>{nc()},children:u?"\u4FDD\u5B58\u4E2D\u2026":"\u4FDD\u5B58"}),n("span",{className:"tt_cardMessage"+(y.kind==="ok"?" tt_cardMessageOk":y.kind==="error"?" tt_cardMessageError":""),children:y.text})]})]})]}):null]})}t.inject=["slots","sessions"];let o=["@hyzyn/dsh-tty#tty","@hyzyn/dsh-all#tty"];return t.apply=f=>{Sl=f.sessions,f.inject(["remote","remote.credentials"],c=>(pt=c.remote?.credentials??c["remote.credentials"]??null,()=>{pt=null}));let l=!1,p=()=>{};Zi={set(c){if(c!==l){if(l=c,c){p=Vf();return}p(),p=()=>{},ti(),Kt()}}},Il(!0),In();for(let c of o)f.slots.inject("plugins.row.config",()=>f.slots.register({name:"plugins.row.config",key:c},s));f.slots.inject("settings.kit.item",()=>f.slots.register({name:"settings.kit.item",id:"tty",order:80,label:()=>"\u7EC8\u7AEF\u9762\u677F"},s)),f.slots.inject("settings.plugin.item",()=>f.slots.register({name:"settings.plugin.item",key:"tty",order:100},s));let g=f.provide("ttyConnbar",{version:1,addAction:os,requestRender(){Kt()}}),S=f.provide("ttyTerminal",{version:3,open(c){if(!Gt)return;let d=Ml(c),h=Rl(c,d),u=typeof c?.label=="string"&&c.label!==""?c.label:void 0;if(ri(),c?.reuse!==!1){let v=cf(h);if(v!==null)return kn(),Zt(v.sid),v}return kn(),Zr(h,u)},mount(c,d){return Gt?ff(c,d):()=>{}}}),_=f.provide("ttyPanel",{version:2,isOpen(){return ne!==null&&!Oe},mountPane(c){return Dl(c)},minimize(){return ts(),ne!==null&&Oe}});return()=>{Zi=null,Gt=!1,p(),_(),S(),g(),ti()}},t}});})();
2551
2558
  /*! Bundled license information:
2552
2559
 
2553
2560
  @xterm/addon-search/lib/addon-search.mjs: