diff --git a/.gitignore b/.gitignore index 6d8396d..e344053 100644 --- a/.gitignore +++ b/.gitignore @@ -130,9 +130,6 @@ dmypy.json # textual-webterm specific textual.log -# Node.js / Bun +# Node.js / Bun (for development only) node_modules/ bun.lockb - -# Built JS bundle (regenerate with: bun run build) -src/textual_webterm/static/js/terminal.js diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index df501cd..8b6ef75 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -2,6 +2,20 @@ This document outlines the plan for bundling xterm.js 6.0 directly, replacing the dependency on textual-serve's bundled `textual.js`. +## Status: ✅ Complete + +The migration has been implemented on the `upstream-xterm` branch. + +**Key changes:** +- Removed `textual-serve` dependency +- Added `@xterm/xterm` 6.0 with all addons +- Created `terminal.ts` client with full WebSocket protocol support +- Pre-built `terminal.js` bundle committed to repo (no Bun required for users) +- Scrollback history now works (default 1000 lines, configurable) +- Custom font family configured directly (no monkey-patch workarounds) + +--- + ## Current State Analysis ### What textual-serve Provides diff --git a/src/textual_webterm/static/js/terminal.js b/src/textual_webterm/static/js/terminal.js new file mode 100644 index 0000000..17f1a21 --- /dev/null +++ b/src/textual_webterm/static/js/terminal.js @@ -0,0 +1,93 @@ +var O8=Object.create;var{getPrototypeOf:S8,defineProperty:V6,getOwnPropertyNames:y8}=Object;var w8=Object.prototype.hasOwnProperty;var _3=(q,G,Y)=>{Y=q!=null?O8(S8(q)):{};let J=G||!q||!q.__esModule?V6(Y,"default",{value:q,enumerable:!0}):Y;for(let X of y8(q))if(!w8.call(J,X))V6(J,X,{get:()=>q[X],enumerable:!0});return J};var f3=(q,G)=>()=>(G||q((G={exports:{}}).exports,G),G.exports);var r7=f3((f4,r5)=>{(function(q,G){typeof f4=="object"&&typeof r5=="object"?r5.exports=G():typeof define=="function"&&define.amd?define([],G):typeof f4=="object"?f4.FitAddon=G():q.FitAddon=G()})(self,()=>(()=>{var q={};return(()=>{var G=q;Object.defineProperty(G,"__esModule",{value:!0}),G.FitAddon=void 0,G.FitAddon=class{activate(Y){this._terminal=Y}dispose(){}fit(){let Y=this.proposeDimensions();if(!Y||!this._terminal||isNaN(Y.cols)||isNaN(Y.rows))return;let J=this._terminal._core;this._terminal.rows===Y.rows&&this._terminal.cols===Y.cols||(J._renderService.clear(),this._terminal.resize(Y.cols,Y.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;let Y=this._terminal._core,J=Y._renderService.dimensions;if(J.css.cell.width===0||J.css.cell.height===0)return;let X=this._terminal.options.scrollback===0?0:Y.viewport.scrollBarWidth,Z=window.getComputedStyle(this._terminal.element.parentElement),V=parseInt(Z.getPropertyValue("height")),j=Math.max(0,parseInt(Z.getPropertyValue("width"))),K=window.getComputedStyle(this._terminal.element),z=V-(parseInt(K.getPropertyValue("padding-top"))+parseInt(K.getPropertyValue("padding-bottom"))),D=j-(parseInt(K.getPropertyValue("padding-right"))+parseInt(K.getPropertyValue("padding-left")))-X;return{cols:Math.max(2,Math.floor(D/J.css.cell.width)),rows:Math.max(1,Math.floor(z/J.css.cell.height))}}}})(),q})())});var i7=f3((p4,i5)=>{(function(q,G){typeof p4=="object"&&typeof i5=="object"?i5.exports=G():typeof define=="function"&&define.amd?define([],G):typeof p4=="object"?p4.WebglAddon=G():q.WebglAddon=G()})(self,()=>(()=>{var q={965:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.GlyphRenderer=void 0;let j=V(374),K=V(509),z=V(855),D=V(859),C=V(381),R=11,H=R*Float32Array.BYTES_PER_ELEMENT,M,A=0,W=0,B=0;class L extends D.Disposable{constructor(P,k,N,F){super(),this._terminal=P,this._gl=k,this._dimensions=N,this._optionsService=F,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};let $=this._gl;K.TextureAtlas.maxAtlasPages===void 0&&(K.TextureAtlas.maxAtlasPages=Math.min(32,(0,j.throwIfFalsy)($.getParameter($.MAX_TEXTURE_IMAGE_UNITS))),K.TextureAtlas.maxTextureSize=(0,j.throwIfFalsy)($.getParameter($.MAX_TEXTURE_SIZE))),this._program=(0,j.throwIfFalsy)((0,C.createProgram)($,`#version 300 es +layout (location = 0) in vec2 a_unitquad; +layout (location = 1) in vec2 a_cellpos; +layout (location = 2) in vec2 a_offset; +layout (location = 3) in vec2 a_size; +layout (location = 4) in float a_texpage; +layout (location = 5) in vec2 a_texcoord; +layout (location = 6) in vec2 a_texsize; + +uniform mat4 u_projection; +uniform vec2 u_resolution; + +out vec2 v_texcoord; +flat out int v_texpage; + +void main() { + vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size); + gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0); + v_texpage = int(a_texpage); + v_texcoord = a_texcoord + a_unitquad * a_texsize; +}`,function(S){let y="";for(let I=1;I$.deleteProgram(this._program))),this._projectionLocation=(0,j.throwIfFalsy)($.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=(0,j.throwIfFalsy)($.getUniformLocation(this._program,"u_resolution")),this._textureLocation=(0,j.throwIfFalsy)($.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=$.createVertexArray(),$.bindVertexArray(this._vertexArrayObject);let O=new Float32Array([0,0,1,0,0,1,1,1]),Q=$.createBuffer();this.register((0,D.toDisposable)(()=>$.deleteBuffer(Q))),$.bindBuffer($.ARRAY_BUFFER,Q),$.bufferData($.ARRAY_BUFFER,O,$.STATIC_DRAW),$.enableVertexAttribArray(0),$.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let w=new Uint8Array([0,1,2,3]),U=$.createBuffer();this.register((0,D.toDisposable)(()=>$.deleteBuffer(U))),$.bindBuffer($.ELEMENT_ARRAY_BUFFER,U),$.bufferData($.ELEMENT_ARRAY_BUFFER,w,$.STATIC_DRAW),this._attributesBuffer=(0,j.throwIfFalsy)($.createBuffer()),this.register((0,D.toDisposable)(()=>$.deleteBuffer(this._attributesBuffer))),$.bindBuffer($.ARRAY_BUFFER,this._attributesBuffer),$.enableVertexAttribArray(2),$.vertexAttribPointer(2,2,$.FLOAT,!1,H,0),$.vertexAttribDivisor(2,1),$.enableVertexAttribArray(3),$.vertexAttribPointer(3,2,$.FLOAT,!1,H,2*Float32Array.BYTES_PER_ELEMENT),$.vertexAttribDivisor(3,1),$.enableVertexAttribArray(4),$.vertexAttribPointer(4,1,$.FLOAT,!1,H,4*Float32Array.BYTES_PER_ELEMENT),$.vertexAttribDivisor(4,1),$.enableVertexAttribArray(5),$.vertexAttribPointer(5,2,$.FLOAT,!1,H,5*Float32Array.BYTES_PER_ELEMENT),$.vertexAttribDivisor(5,1),$.enableVertexAttribArray(6),$.vertexAttribPointer(6,2,$.FLOAT,!1,H,7*Float32Array.BYTES_PER_ELEMENT),$.vertexAttribDivisor(6,1),$.enableVertexAttribArray(1),$.vertexAttribPointer(1,2,$.FLOAT,!1,H,9*Float32Array.BYTES_PER_ELEMENT),$.vertexAttribDivisor(1,1),$.useProgram(this._program);let E=new Int32Array(K.TextureAtlas.maxAtlasPages);for(let S=0;S$.deleteTexture(y.texture))),$.activeTexture($.TEXTURE0+S),$.bindTexture($.TEXTURE_2D,y.texture),$.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_S,$.CLAMP_TO_EDGE),$.texParameteri($.TEXTURE_2D,$.TEXTURE_WRAP_T,$.CLAMP_TO_EDGE),$.texImage2D($.TEXTURE_2D,0,$.RGBA,1,1,0,$.RGBA,$.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[S]=y}$.enable($.BLEND),$.blendFunc($.SRC_ALPHA,$.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(P,k,N,F,$,O,Q,w,U){this._updateCell(this._vertices.attributes,P,k,N,F,$,O,Q,w,U)}_updateCell(P,k,N,F,$,O,Q,w,U,E){A=(N*this._terminal.cols+k)*R,F!==z.NULL_CELL_CODE&&F!==void 0?this._atlas&&(M=w&&w.length>1?this._atlas.getRasterizedGlyphCombinedChar(w,$,O,Q,!1):this._atlas.getRasterizedGlyph(F,$,O,Q,!1),W=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),$!==E&&M.offset.x>W?(B=M.offset.x-W,P[A]=-(M.offset.x-B)+this._dimensions.device.char.left,P[A+1]=-M.offset.y+this._dimensions.device.char.top,P[A+2]=(M.size.x-B)/this._dimensions.device.canvas.width,P[A+3]=M.size.y/this._dimensions.device.canvas.height,P[A+4]=M.texturePage,P[A+5]=M.texturePositionClipSpace.x+B/this._atlas.pages[M.texturePage].canvas.width,P[A+6]=M.texturePositionClipSpace.y,P[A+7]=M.sizeClipSpace.x-B/this._atlas.pages[M.texturePage].canvas.width,P[A+8]=M.sizeClipSpace.y):(P[A]=-M.offset.x+this._dimensions.device.char.left,P[A+1]=-M.offset.y+this._dimensions.device.char.top,P[A+2]=M.size.x/this._dimensions.device.canvas.width,P[A+3]=M.size.y/this._dimensions.device.canvas.height,P[A+4]=M.texturePage,P[A+5]=M.texturePositionClipSpace.x,P[A+6]=M.texturePositionClipSpace.y,P[A+7]=M.sizeClipSpace.x,P[A+8]=M.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,j.allowRescaling)(F,U,M.size.x,this._dimensions.device.cell.width)&&(P[A+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width)):P.fill(0,A,A+R-1-2)}clear(){let P=this._terminal,k=P.cols*P.rows*R;this._vertices.count!==k?this._vertices.attributes=new Float32Array(k):this._vertices.attributes.fill(0);let N=0;for(;N{Object.defineProperty(Z,"__esModule",{value:!0}),Z.RectangleRenderer=void 0;let j=V(374),K=V(859),z=V(310),D=V(381),C=8*Float32Array.BYTES_PER_ELEMENT;class R{constructor(){this.attributes=new Float32Array(160),this.count=0}}let H=0,M=0,A=0,W=0,B=0,L=0,P=0;class k extends K.Disposable{constructor(N,F,$,O){super(),this._terminal=N,this._gl=F,this._dimensions=$,this._themeService=O,this._vertices=new R,this._verticesCursor=new R;let Q=this._gl;this._program=(0,j.throwIfFalsy)((0,D.createProgram)(Q,`#version 300 es +layout (location = 0) in vec2 a_position; +layout (location = 1) in vec2 a_size; +layout (location = 2) in vec4 a_color; +layout (location = 3) in vec2 a_unitquad; + +uniform mat4 u_projection; + +out vec4 v_color; + +void main() { + vec2 zeroToOne = a_position + (a_unitquad * a_size); + gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0); + v_color = a_color; +}`,`#version 300 es +precision lowp float; + +in vec4 v_color; + +out vec4 outColor; + +void main() { + outColor = v_color; +}`)),this.register((0,K.toDisposable)(()=>Q.deleteProgram(this._program))),this._projectionLocation=(0,j.throwIfFalsy)(Q.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=Q.createVertexArray(),Q.bindVertexArray(this._vertexArrayObject);let w=new Float32Array([0,0,1,0,0,1,1,1]),U=Q.createBuffer();this.register((0,K.toDisposable)(()=>Q.deleteBuffer(U))),Q.bindBuffer(Q.ARRAY_BUFFER,U),Q.bufferData(Q.ARRAY_BUFFER,w,Q.STATIC_DRAW),Q.enableVertexAttribArray(3),Q.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let E=new Uint8Array([0,1,2,3]),S=Q.createBuffer();this.register((0,K.toDisposable)(()=>Q.deleteBuffer(S))),Q.bindBuffer(Q.ELEMENT_ARRAY_BUFFER,S),Q.bufferData(Q.ELEMENT_ARRAY_BUFFER,E,Q.STATIC_DRAW),this._attributesBuffer=(0,j.throwIfFalsy)(Q.createBuffer()),this.register((0,K.toDisposable)(()=>Q.deleteBuffer(this._attributesBuffer))),Q.bindBuffer(Q.ARRAY_BUFFER,this._attributesBuffer),Q.enableVertexAttribArray(0),Q.vertexAttribPointer(0,2,Q.FLOAT,!1,C,0),Q.vertexAttribDivisor(0,1),Q.enableVertexAttribArray(1),Q.vertexAttribPointer(1,2,Q.FLOAT,!1,C,2*Float32Array.BYTES_PER_ELEMENT),Q.vertexAttribDivisor(1,1),Q.enableVertexAttribArray(2),Q.vertexAttribPointer(2,4,Q.FLOAT,!1,C,4*Float32Array.BYTES_PER_ELEMENT),Q.vertexAttribDivisor(2,1),this._updateCachedColors(O.colors),this.register(this._themeService.onChangeColors((y)=>{this._updateCachedColors(y),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(N){let F=this._gl;F.useProgram(this._program),F.bindVertexArray(this._vertexArrayObject),F.uniformMatrix4fv(this._projectionLocation,!1,D.PROJECTION_MATRIX),F.bindBuffer(F.ARRAY_BUFFER,this._attributesBuffer),F.bufferData(F.ARRAY_BUFFER,N.attributes,F.DYNAMIC_DRAW),F.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,F.UNSIGNED_BYTE,0,N.count)}handleResize(){this._updateViewportRectangle()}setDimensions(N){this._dimensions=N}_updateCachedColors(N){this._bgFloat=this._colorToFloat32Array(N.background),this._cursorFloat=this._colorToFloat32Array(N.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(N){let F=this._terminal,$=this._vertices,O,Q,w,U,E,S,y,I,T,b,x,f=1;for(O=0;O>24&255)/255,B=(H>>16&255)/255,L=(H>>8&255)/255,P=1,this._addRectangle(N.attributes,F,M,A,(w-Q)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,W,B,L,P)}_addRectangle(N,F,$,O,Q,w,U,E,S,y){N[F]=$/this._dimensions.device.canvas.width,N[F+1]=O/this._dimensions.device.canvas.height,N[F+2]=Q/this._dimensions.device.canvas.width,N[F+3]=w/this._dimensions.device.canvas.height,N[F+4]=U,N[F+5]=E,N[F+6]=S,N[F+7]=y}_addRectangleFloat(N,F,$,O,Q,w,U){N[F]=$/this._dimensions.device.canvas.width,N[F+1]=O/this._dimensions.device.canvas.height,N[F+2]=Q/this._dimensions.device.canvas.width,N[F+3]=w/this._dimensions.device.canvas.height,N[F+4]=U[0],N[F+5]=U[1],N[F+6]=U[2],N[F+7]=U[3]}_colorToFloat32Array(N){return new Float32Array([(N.rgba>>24&255)/255,(N.rgba>>16&255)/255,(N.rgba>>8&255)/255,(255&N.rgba)/255])}}Z.RectangleRenderer=k},310:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.RenderModel=Z.COMBINED_CHAR_BIT_MASK=Z.RENDER_MODEL_EXT_OFFSET=Z.RENDER_MODEL_FG_OFFSET=Z.RENDER_MODEL_BG_OFFSET=Z.RENDER_MODEL_INDICIES_PER_CELL=void 0;let j=V(296);Z.RENDER_MODEL_INDICIES_PER_CELL=4,Z.RENDER_MODEL_BG_OFFSET=1,Z.RENDER_MODEL_FG_OFFSET=2,Z.RENDER_MODEL_EXT_OFFSET=3,Z.COMBINED_CHAR_BIT_MASK=2147483648,Z.RenderModel=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=(0,j.createSelectionRenderModel)()}resize(K,z){let D=K*z*Z.RENDER_MODEL_INDICIES_PER_CELL;D!==this.cells.length&&(this.cells=new Uint32Array(D),this.lineLengths=new Uint32Array(z))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}}},666:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.JoinedCellData=Z.WebglRenderer=void 0;let j=V(820),K=V(274),z=V(627),D=V(457),C=V(56),R=V(374),H=V(345),M=V(859),A=V(147),W=V(782),B=V(855),L=V(965),P=V(742),k=V(310),N=V(733);class F extends M.Disposable{constructor(Q,w,U,E,S,y,I,T,b){super(),this._terminal=Q,this._characterJoinerService=w,this._charSizeService=U,this._coreBrowserService=E,this._coreService=S,this._decorationService=y,this._optionsService=I,this._themeService=T,this._cursorBlinkStateManager=new M.MutableDisposable,this._charAtlasDisposable=this.register(new M.MutableDisposable),this._observerDisposable=this.register(new M.MutableDisposable),this._model=new k.RenderModel,this._workCell=new W.CellData,this._workCell2=new W.CellData,this._rectangleRenderer=this.register(new M.MutableDisposable),this._glyphRenderer=this.register(new M.MutableDisposable),this._onChangeTextureAtlas=this.register(new H.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new H.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new H.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this.register(new H.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this.register(new H.EventEmitter),this.onContextLoss=this._onContextLoss.event,this.register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new K.CellColorResolver(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new N.LinkRenderLayer(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,I,this._themeService)],this.dimensions=(0,R.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this.register(I.onOptionChange(()=>this._handleOptionsChanged())),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");let x={antialias:!1,depth:!1,preserveDrawingBuffer:b};if(this._gl=this._canvas.getContext("webgl2",x),!this._gl)throw Error("WebGL2 not supported "+this._gl);this.register((0,j.addDisposableDomListener)(this._canvas,"webglcontextlost",(f)=>{console.log("webglcontextlost event received"),f.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(f)},3000)})),this.register((0,j.addDisposableDomListener)(this._canvas,"webglcontextrestored",(f)=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,(0,z.removeTerminalFromCache)(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=(0,C.observeDevicePixelDimensions)(this._canvas,this._coreBrowserService.window,(f,g)=>this._setCanvasDevicePixelDimensions(f,g)),this.register(this._coreBrowserService.onWindowChange((f)=>{this._observerDisposable.value=(0,C.observeDevicePixelDimensions)(this._canvas,f,(g,a)=>this._setCanvasDevicePixelDimensions(g,a))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._coreBrowserService.window.document.body.contains(this._core.screenElement),this.register((0,M.toDisposable)(()=>{for(let f of this._renderLayers)f.dispose();this._canvas.parentElement?.removeChild(this._canvas),(0,z.removeTerminalFromCache)(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(Q,w){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let U of this._renderLayers)U.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 Q of this._renderLayers)Q.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let Q of this._renderLayers)Q.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(Q,w,U){for(let E of this._renderLayers)E.handleSelectionChanged(this._terminal,Q,w,U);this._model.selection.update(this._core,Q,w,U),this._requestRedrawViewport()}handleCursorMove(){for(let Q of this._renderLayers)Q.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new P.RectangleRenderer(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new L.GlyphRenderer(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)return void(this._isAttached=!1);let Q=(0,z.acquireTextureAtlas)(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._charAtlas!==Q&&(this._onChangeTextureAtlas.fire(Q.pages[0].canvas),this._charAtlasDisposable.value=(0,M.getDisposeArrayDisposable)([(0,H.forwardEvent)(Q.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),(0,H.forwardEvent)(Q.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)])),this._charAtlas=Q,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(Q){this._model.clear(),Q&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let Q of this._renderLayers)Q.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}registerCharacterJoiner(Q){return-1}deregisterCharacterJoiner(Q){return!1}renderRows(Q,w){if(!this._isAttached){if(!(this._coreBrowserService.window.document.body.contains(this._core.screenElement)&&this._charSizeService.width&&this._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}for(let U of this._renderLayers)U.handleGridChanged(this._terminal,Q,w);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(Q,w),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),this._cursorBlinkStateManager.value&&!this._cursorBlinkStateManager.value.isCursorVisible||this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new D.CursorBlinkStateManager(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(Q,w){let U=this._core,E,S,y,I,T,b,x,f,g,a,n,Y0,l,Z0,G0=this._workCell;Q=O(Q,U.rows-1,0),w=O(w,U.rows-1,0);let J0=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,V0=J0-U.buffer.ydisp,B0=Math.min(this._terminal.buffer.active.cursorX,U.cols-1),w0=-1,h=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let R0=!1;for(S=Q;S<=w;S++)for(y=S+U.buffer.ydisp,I=U.buffer.lines.get(y),this._model.lineLengths[S]=0,T=this._characterJoinerService.getJoinedCharacters(y),l=0;l0&&l===T[0][0]&&(b=!0,f=T.shift(),G0=new $(G0,I.translateToString(!0,f[0],f[1]),f[1]-f[0]),x=f[1]-1),g=G0.getChars(),a=G0.getCode(),Y0=(S*U.cols+l)*k.RENDER_MODEL_INDICIES_PER_CELL,this._cellColorResolver.resolve(G0,l,y,this.dimensions.device.cell.width),h&&y===J0&&(l===B0&&(this._model.cursor={x:B0,y:V0,width:G0.getWidth(),style:this._coreBrowserService.isFocused?U.options.cursorStyle||"block":U.options.cursorInactiveStyle,cursorWidth:U.options.cursorWidth,dpr:this._devicePixelRatio},w0=B0+G0.getWidth()-1),l>=B0&&l<=w0&&(this._coreBrowserService.isFocused&&(U.options.cursorStyle||"block")==="block"||this._coreBrowserService.isFocused===!1&&U.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)),a!==B.NULL_CELL_CODE&&(this._model.lineLengths[S]=l+1),(this._model.cells[Y0]!==a||this._model.cells[Y0+k.RENDER_MODEL_BG_OFFSET]!==this._cellColorResolver.result.bg||this._model.cells[Y0+k.RENDER_MODEL_FG_OFFSET]!==this._cellColorResolver.result.fg||this._model.cells[Y0+k.RENDER_MODEL_EXT_OFFSET]!==this._cellColorResolver.result.ext)&&(R0=!0,g.length>1&&(a|=k.COMBINED_CHAR_BIT_MASK),this._model.cells[Y0]=a,this._model.cells[Y0+k.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[Y0+k.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[Y0+k.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext,n=G0.getWidth(),this._glyphRenderer.value.updateCell(l,S,a,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,g,n,E),b))for(G0=this._workCell,l++;l{Object.defineProperty(Z,"__esModule",{value:!0}),Z.GLTexture=Z.expandFloat32Array=Z.createShader=Z.createProgram=Z.PROJECTION_MATRIX=void 0;let j=V(374);function K(z,D,C){let R=(0,j.throwIfFalsy)(z.createShader(D));if(z.shaderSource(R,C),z.compileShader(R),z.getShaderParameter(R,z.COMPILE_STATUS))return R;console.error(z.getShaderInfoLog(R)),z.deleteShader(R)}Z.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),Z.createProgram=function(z,D,C){let R=(0,j.throwIfFalsy)(z.createProgram());if(z.attachShader(R,(0,j.throwIfFalsy)(K(z,z.VERTEX_SHADER,D))),z.attachShader(R,(0,j.throwIfFalsy)(K(z,z.FRAGMENT_SHADER,C))),z.linkProgram(R),z.getProgramParameter(R,z.LINK_STATUS))return R;console.error(z.getProgramInfoLog(R)),z.deleteProgram(R)},Z.createShader=K,Z.expandFloat32Array=function(z,D){let C=Math.min(2*z.length,D),R=new Float32Array(C);for(let H=0;H{Object.defineProperty(Z,"__esModule",{value:!0}),Z.BaseRenderLayer=void 0;let j=V(627),K=V(237),z=V(374),D=V(859);class C extends D.Disposable{constructor(R,H,M,A,W,B,L,P){super(),this._container=H,this._alpha=W,this._coreBrowserService=B,this._optionsService=L,this._themeService=P,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-${M}-layer`),this._canvas.style.zIndex=A.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this.register(this._themeService.onChangeColors((k)=>{this._refreshCharAtlas(R,k),this.reset(R)})),this.register((0,D.toDisposable)(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=(0,z.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(R){}handleFocus(R){}handleCursorMove(R){}handleGridChanged(R,H,M){}handleSelectionChanged(R,H,M,A=!1){}_setTransparency(R,H){if(H===this._alpha)return;let M=this._canvas;this._alpha=H,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,M),this._refreshCharAtlas(R,this._themeService.colors),this.handleGridChanged(R,0,R.rows-1)}_refreshCharAtlas(R,H){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=(0,j.acquireTextureAtlas)(R,this._optionsService.rawOptions,H,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlas.warmUp())}resize(R,H){this._deviceCellWidth=H.device.cell.width,this._deviceCellHeight=H.device.cell.height,this._deviceCharWidth=H.device.char.width,this._deviceCharHeight=H.device.char.height,this._deviceCharLeft=H.device.char.left,this._deviceCharTop=H.device.char.top,this._canvas.width=H.device.canvas.width,this._canvas.height=H.device.canvas.height,this._canvas.style.width=`${H.css.canvas.width}px`,this._canvas.style.height=`${H.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(R,this._themeService.colors)}_fillBottomLineAtCells(R,H,M=1){this._ctx.fillRect(R*this._deviceCellWidth,(H+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,M*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(R,H,M,A){this._alpha?this._ctx.clearRect(R*this._deviceCellWidth,H*this._deviceCellHeight,M*this._deviceCellWidth,A*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(R*this._deviceCellWidth,H*this._deviceCellHeight,M*this._deviceCellWidth,A*this._deviceCellHeight))}_fillCharTrueColor(R,H,M,A){this._ctx.font=this._getFont(R,!1,!1),this._ctx.textBaseline=K.TEXT_BASELINE,this._clipCell(M,A,H.getWidth()),this._ctx.fillText(H.getChars(),M*this._deviceCellWidth+this._deviceCharLeft,A*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(R,H,M){this._ctx.beginPath(),this._ctx.rect(R*this._deviceCellWidth,H*this._deviceCellHeight,M*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(R,H,M){return`${M?"italic":""} ${H?R.options.fontWeightBold:R.options.fontWeight} ${R.options.fontSize*this._coreBrowserService.dpr}px ${R.options.fontFamily}`}}Z.BaseRenderLayer=C},733:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.LinkRenderLayer=void 0;let j=V(197),K=V(237),z=V(592);class D extends z.BaseRenderLayer{constructor(C,R,H,M,A,W,B){super(H,C,"link",R,!0,A,W,B),this.register(M.onShowLinkUnderline((L)=>this._handleShowLinkUnderline(L))),this.register(M.onHideLinkUnderline((L)=>this._handleHideLinkUnderline(L)))}resize(C,R){super.resize(C,R),this._state=void 0}reset(C){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let C=this._state.y2-this._state.y1-1;C>0&&this._clearCells(0,this._state.y1+1,this._state.cols,C),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(C){if(C.fg===K.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:C.fg!==void 0&&(0,j.is256Color)(C.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[C.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,C.y1===C.y2)this._fillBottomLineAtCells(C.x1,C.y1,C.x2-C.x1);else{this._fillBottomLineAtCells(C.x1,C.y1,C.cols-C.x1);for(let R=C.y1+1;R{Object.defineProperty(Z,"__esModule",{value:!0}),Z.addDisposableDomListener=void 0,Z.addDisposableDomListener=function(V,j,K,z){V.addEventListener(j,K,z);let D=!1;return{dispose:()=>{D||(D=!0,V.removeEventListener(j,K,z))}}}},274:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CellColorResolver=void 0;let j=V(855),K=V(160),z=V(374),D,C=0,R=0,H=!1,M=!1,A=!1,W=0;Z.CellColorResolver=class{constructor(B,L,P,k,N,F){this._terminal=B,this._optionService=L,this._selectionRenderModel=P,this._decorationService=k,this._coreBrowserService=N,this._themeService=F,this.result={fg:0,bg:0,ext:0}}resolve(B,L,P,k){if(this.result.bg=B.bg,this.result.fg=B.fg,this.result.ext=268435456&B.bg?B.extended.ext:0,R=0,C=0,M=!1,H=!1,A=!1,D=this._themeService.colors,W=0,B.getCode()!==j.NULL_CELL_CODE&&B.extended.underlineStyle===4){let N=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));W=L*k%(2*Math.round(N))}if(this._decorationService.forEachDecorationAtCell(L,P,"bottom",(N)=>{N.backgroundColorRGB&&(R=N.backgroundColorRGB.rgba>>8&16777215,M=!0),N.foregroundColorRGB&&(C=N.foregroundColorRGB.rgba>>8&16777215,H=!0)}),A=this._selectionRenderModel.isCellSelected(this._terminal,L,P),A){if(67108864&this.result.fg||(50331648&this.result.bg)!=0){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:R=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:R=(16777215&this.result.fg)<<8|255;break;default:R=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:R=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:R=(16777215&this.result.bg)<<8|255}R=K.rgba.blend(R,4294967040&(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else R=(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(M=!0,D.selectionForeground&&(C=D.selectionForeground.rgba>>8&16777215,H=!0),(0,z.treatGlyphAsBackgroundColor)(B.getCode())){if(67108864&this.result.fg&&(50331648&this.result.bg)==0)C=(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:C=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:C=(16777215&this.result.fg)<<8|255;break;default:C=this._themeService.colors.foreground.rgba}C=K.rgba.blend(C,4294967040&(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}H=!0}}this._decorationService.forEachDecorationAtCell(L,P,"top",(N)=>{N.backgroundColorRGB&&(R=N.backgroundColorRGB.rgba>>8&16777215,M=!0),N.foregroundColorRGB&&(C=N.foregroundColorRGB.rgba>>8&16777215,H=!0)}),M&&(R=A?-16777216&B.bg&-134217729|R|50331648:-16777216&B.bg|R|50331648),H&&(C=-16777216&B.fg&-67108865|C|50331648),67108864&this.result.fg&&(M&&!H&&(C=(50331648&this.result.bg)==0?-134217728&this.result.fg|16777215&D.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,H=!0),!M&&H&&(R=(50331648&this.result.fg)==0?-67108864&this.result.bg|16777215&D.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,M=!0)),D=void 0,this.result.bg=M?R:this.result.bg,this.result.fg=H?C:this.result.fg,this.result.ext&=536870911,this.result.ext|=W<<29&3758096384}}},627:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.removeTerminalFromCache=Z.acquireTextureAtlas=void 0;let j=V(509),K=V(197),z=[];Z.acquireTextureAtlas=function(D,C,R,H,M,A,W,B){let L=(0,K.generateConfig)(H,M,A,W,C,R,B);for(let N=0;N=0){if((0,K.configEquals)(F.config,L))return F.atlas;F.ownedBy.length===1?(F.atlas.dispose(),z.splice(N,1)):F.ownedBy.splice($,1);break}}for(let N=0;N{Object.defineProperty(Z,"__esModule",{value:!0}),Z.is256Color=Z.configEquals=Z.generateConfig=void 0;let j=V(160);Z.generateConfig=function(K,z,D,C,R,H,M){let A={foreground:H.foreground,background:H.background,cursor:j.NULL_COLOR,cursorAccent:j.NULL_COLOR,selectionForeground:j.NULL_COLOR,selectionBackgroundTransparent:j.NULL_COLOR,selectionBackgroundOpaque:j.NULL_COLOR,selectionInactiveBackgroundTransparent:j.NULL_COLOR,selectionInactiveBackgroundOpaque:j.NULL_COLOR,ansi:H.ansi.slice(),contrastCache:H.contrastCache,halfContrastCache:H.halfContrastCache};return{customGlyphs:R.customGlyphs,devicePixelRatio:M,letterSpacing:R.letterSpacing,lineHeight:R.lineHeight,deviceCellWidth:K,deviceCellHeight:z,deviceCharWidth:D,deviceCharHeight:C,fontFamily:R.fontFamily,fontSize:R.fontSize,fontWeight:R.fontWeight,fontWeightBold:R.fontWeightBold,allowTransparency:R.allowTransparency,drawBoldTextInBrightColors:R.drawBoldTextInBrightColors,minimumContrastRatio:R.minimumContrastRatio,colors:A}},Z.configEquals=function(K,z){for(let D=0;D{Object.defineProperty(Z,"__esModule",{value:!0}),Z.TEXT_BASELINE=Z.DIM_OPACITY=Z.INVERTED_DEFAULT_COLOR=void 0;let j=V(399);Z.INVERTED_DEFAULT_COLOR=257,Z.DIM_OPACITY=0.5,Z.TEXT_BASELINE=j.isFirefox||j.isLegacyEdge?"bottom":"ideographic"},457:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CursorBlinkStateManager=void 0,Z.CursorBlinkStateManager=class{constructor(V,j){this._renderCallback=V,this._coreBrowserService=j,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(V=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let j=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,j>0)return void this._restartInterval(j)}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 j=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(j)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},V)}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()}}},860:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.tryDrawCustomChar=Z.powerlineDefinitions=Z.boxDrawingDefinitions=Z.blockElementDefinitions=void 0;let j=V(374);Z.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\uD83E\uDF70":[{x:1,y:0,w:1,h:8}],"\uD83E\uDF71":[{x:2,y:0,w:1,h:8}],"\uD83E\uDF72":[{x:3,y:0,w:1,h:8}],"\uD83E\uDF73":[{x:4,y:0,w:1,h:8}],"\uD83E\uDF74":[{x:5,y:0,w:1,h:8}],"\uD83E\uDF75":[{x:6,y:0,w:1,h:8}],"\uD83E\uDF76":[{x:0,y:1,w:8,h:1}],"\uD83E\uDF77":[{x:0,y:2,w:8,h:1}],"\uD83E\uDF78":[{x:0,y:3,w:8,h:1}],"\uD83E\uDF79":[{x:0,y:4,w:8,h:1}],"\uD83E\uDF7A":[{x:0,y:5,w:8,h:1}],"\uD83E\uDF7B":[{x:0,y:6,w:8,h:1}],"\uD83E\uDF7C":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\uD83E\uDF7D":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\uD83E\uDF7E":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\uD83E\uDF7F":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\uD83E\uDF80":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"\uD83E\uDF81":[{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}],"\uD83E\uDF82":[{x:0,y:0,w:8,h:2}],"\uD83E\uDF83":[{x:0,y:0,w:8,h:3}],"\uD83E\uDF84":[{x:0,y:0,w:8,h:5}],"\uD83E\uDF85":[{x:0,y:0,w:8,h:6}],"\uD83E\uDF86":[{x:0,y:0,w:8,h:7}],"\uD83E\uDF87":[{x:6,y:0,w:2,h:8}],"\uD83E\uDF88":[{x:5,y:0,w:3,h:8}],"\uD83E\uDF89":[{x:3,y:0,w:5,h:8}],"\uD83E\uDF8A":[{x:2,y:0,w:6,h:8}],"\uD83E\uDF8B":[{x:1,y:0,w:7,h:8}],"\uD83E\uDF95":[{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}],"\uD83E\uDF96":[{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}],"\uD83E\uDF97":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};let K={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};Z.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"║":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╒":{1:(H,M)=>`M.5,1 L.5,${0.5-M} L1,${0.5-M} M.5,${0.5+M} L1,${0.5+M}`},"╓":{1:(H,M)=>`M${0.5-H},1 L${0.5-H},.5 L1,.5 M${0.5+H},.5 L${0.5+H},1`},"╔":{1:(H,M)=>`M1,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1`},"╕":{1:(H,M)=>`M0,${0.5-M} L.5,${0.5-M} L.5,1 M0,${0.5+M} L.5,${0.5+M}`},"╖":{1:(H,M)=>`M${0.5+H},1 L${0.5+H},.5 L0,.5 M${0.5-H},.5 L${0.5-H},1`},"╗":{1:(H,M)=>`M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M0,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},1`},"╘":{1:(H,M)=>`M.5,0 L.5,${0.5+M} L1,${0.5+M} M.5,${0.5-M} L1,${0.5-M}`},"╙":{1:(H,M)=>`M1,.5 L${0.5-H},.5 L${0.5-H},0 M${0.5+H},.5 L${0.5+H},0`},"╚":{1:(H,M)=>`M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0 M1,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},0`},"╛":{1:(H,M)=>`M0,${0.5+M} L.5,${0.5+M} L.5,0 M0,${0.5-M} L.5,${0.5-M}`},"╜":{1:(H,M)=>`M0,.5 L${0.5+H},.5 L${0.5+H},0 M${0.5-H},.5 L${0.5-H},0`},"╝":{1:(H,M)=>`M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M0,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},0`},"╞":{1:(H,M)=>`M.5,0 L.5,1 M.5,${0.5-M} L1,${0.5-M} M.5,${0.5+M} L1,${0.5+M}`},"╟":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1 M${0.5+H},.5 L1,.5`},"╠":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╡":{1:(H,M)=>`M.5,0 L.5,1 M0,${0.5-M} L.5,${0.5-M} M0,${0.5+M} L.5,${0.5+M}`},"╢":{1:(H,M)=>`M0,.5 L${0.5-H},.5 M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╣":{1:(H,M)=>`M${0.5+H},0 L${0.5+H},1 M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0`},"╤":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M} M.5,${0.5+M} L.5,1`},"╥":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},.5 L${0.5-H},1 M${0.5+H},.5 L${0.5+H},1`},"╦":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1`},"╧":{1:(H,M)=>`M.5,0 L.5,${0.5-M} M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"╨":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},.5 L${0.5-H},0 M${0.5+H},.5 L${0.5+H},0`},"╩":{1:(H,M)=>`M0,${0.5+M} L1,${0.5+M} M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╪":{1:(H,M)=>`M.5,0 L.5,1 M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"╫":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╬":{1:(H,M)=>`M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1 M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{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"},"┉":{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"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(H,M)=>`M.5,1 L.5,${0.5+M/0.15*0.5} C.5,${0.5+M/0.15*0.5},.5,.5,1,.5`},"╮":{1:(H,M)=>`M.5,1 L.5,${0.5+M/0.15*0.5} C.5,${0.5+M/0.15*0.5},.5,.5,0,.5`},"╯":{1:(H,M)=>`M.5,0 L.5,${0.5-M/0.15*0.5} C.5,${0.5-M/0.15*0.5},.5,.5,0,.5`},"╰":{1:(H,M)=>`M.5,0 L.5,${0.5-M/0.15*0.5} C.5,${0.5-M/0.15*0.5},.5,.5,1,.5`}},Z.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{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},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{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},"":{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},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},Z.powerlineDefinitions[""]=Z.powerlineDefinitions[""],Z.powerlineDefinitions[""]=Z.powerlineDefinitions[""],Z.tryDrawCustomChar=function(H,M,A,W,B,L,P,k){let N=Z.blockElementDefinitions[M];if(N)return function(Q,w,U,E,S,y){for(let I=0;I7&&parseInt(T.slice(7,9),16)||1;else{if(!T.startsWith("rgba"))throw Error(`Unexpected fillStyle color format "${T}" when drawing pattern glyph`);[Y0,l,Z0,G0]=T.substring(5,T.length-1).split(",").map((J0)=>parseFloat(J0))}for(let J0=0;J0H.bezierCurveTo(M[0],M[1],M[2],M[3],M[4],M[5]),L:(H,M)=>H.lineTo(M[0],M[1]),M:(H,M)=>H.moveTo(M[0],M[1])};function R(H,M,A,W,B,L,P,k=0,N=0){let F=H.map(($)=>parseFloat($)||parseInt($));if(F.length<2)throw Error("Too few arguments for instruction");for(let $=0;${Object.defineProperty(Z,"__esModule",{value:!0}),Z.observeDevicePixelDimensions=void 0;let j=V(859);Z.observeDevicePixelDimensions=function(K,z,D){let C=new z.ResizeObserver((R)=>{let H=R.find((W)=>W.target===K);if(!H)return;if(!("devicePixelContentBoxSize"in H))return C?.disconnect(),void(C=void 0);let M=H.devicePixelContentBoxSize[0].inlineSize,A=H.devicePixelContentBoxSize[0].blockSize;M>0&&A>0&&D(M,A)});try{C.observe(K,{box:["device-pixel-content-box"]})}catch{C.disconnect(),C=void 0}return(0,j.toDisposable)(()=>C?.disconnect())}},374:(X,Z)=>{function V(K){return 57508<=K&&K<=57558}function j(K){return K>=128512&&K<=128591||K>=127744&&K<=128511||K>=128640&&K<=128767||K>=9728&&K<=9983||K>=9984&&K<=10175||K>=65024&&K<=65039||K>=129280&&K<=129535||K>=127462&&K<=127487}Object.defineProperty(Z,"__esModule",{value:!0}),Z.computeNextVariantOffset=Z.createRenderDimensions=Z.treatGlyphAsBackgroundColor=Z.allowRescaling=Z.isEmoji=Z.isRestrictedPowerlineGlyph=Z.isPowerlineGlyph=Z.throwIfFalsy=void 0,Z.throwIfFalsy=function(K){if(!K)throw Error("value must not be falsy");return K},Z.isPowerlineGlyph=V,Z.isRestrictedPowerlineGlyph=function(K){return 57520<=K&&K<=57527},Z.isEmoji=j,Z.allowRescaling=function(K,z,D,C){return z===1&&D>Math.ceil(1.5*C)&&K!==void 0&&K>255&&!j(K)&&!V(K)&&!function(R){return 57344<=R&&R<=63743}(K)},Z.treatGlyphAsBackgroundColor=function(K){return V(K)||function(z){return 9472<=z&&z<=9631}(K)},Z.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}}}},Z.computeNextVariantOffset=function(K,z,D=0){return(K-(2*Math.round(z)-D))%(2*Math.round(z))}},296:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.createSelectionRenderModel=void 0;class V{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(j,K,z,D=!1){if(this.selectionStart=K,this.selectionEnd=z,!K||!z||K[0]===z[0]&&K[1]===z[1])return void this.clear();let C=j.buffers.active.ydisp,R=K[1]-C,H=z[1]-C,M=Math.max(R,0),A=Math.min(H,j.rows-1);M>=j.rows||A<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=D,this.viewportStartRow=R,this.viewportEndRow=H,this.viewportCappedStartRow=M,this.viewportCappedEndRow=A,this.startCol=K[0],this.endCol=z[0])}isCellSelected(j,K,z){return!!this.hasSelection&&(z-=j.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?K>=this.startCol&&z>=this.viewportCappedStartRow&&K=this.viewportCappedStartRow&&K>=this.endCol&&z<=this.viewportCappedEndRow:z>this.viewportStartRow&&z=this.startCol&&K=this.startCol)}}Z.createSelectionRenderModel=function(){return new V}},509:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.TextureAtlas=void 0;let j=V(237),K=V(860),z=V(374),D=V(160),C=V(345),R=V(485),H=V(385),M=V(147),A=V(855),W={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}},B;class L{get pages(){return this._pages}constructor(F,$,O){this._document=F,this._config=$,this._unicodeService=O,this._didWarmUp=!1,this._cacheMap=new R.FourKeyMap,this._cacheMapCombined=new R.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new M.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new C.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new C.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=N(F,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,z.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(let F of this.pages)F.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){let F=new H.IdleTaskQueue;for(let $=33;$<126;$++)F.enqueue(()=>{if(!this._cacheMap.get($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT)){let O=this._drawToCache($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT);this._cacheMap.set($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT,O)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(let F of this._pages)F.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(L.maxAtlasPages&&this._pages.length>=Math.max(4,L.maxAtlasPages)){let $=this._pages.filter((y)=>2*y.canvas.width<=(L.maxTextureSize||4096)).sort((y,I)=>I.canvas.width!==y.canvas.width?I.canvas.width-y.canvas.width:I.percentageUsed-y.percentageUsed),O=-1,Q=0;for(let y=0;y<$.length;y++)if($[y].canvas.width!==Q)O=y,Q=$[y].canvas.width;else if(y-O==3)break;let w=$.slice(O,O+4),U=w.map((y)=>y.glyphs[0].texturePage).sort((y,I)=>y>I?1:-1),E=this.pages.length-w.length,S=this._mergePages(w,E);S.version++;for(let y=U.length-1;y>=0;y--)this._deletePage(U[y]);this.pages.push(S),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(S.canvas)}let F=new P(this._document,this._textureSize);return this._pages.push(F),this._activePages.push(F),this._onAddTextureAtlasCanvas.fire(F.canvas),F}_mergePages(F,$){let O=2*F[0].canvas.width,Q=new P(this._document,O,F);for(let[w,U]of F.entries()){let E=w*U.canvas.width%O,S=Math.floor(w/2)*U.canvas.height;Q.ctx.drawImage(U.canvas,E,S);for(let I of U.glyphs)I.texturePage=$,I.sizeClipSpace.x=I.size.x/O,I.sizeClipSpace.y=I.size.y/O,I.texturePosition.x+=E,I.texturePosition.y+=S,I.texturePositionClipSpace.x=I.texturePosition.x/O,I.texturePositionClipSpace.y=I.texturePosition.y/O;this._onRemoveTextureAtlasCanvas.fire(U.canvas);let y=this._activePages.indexOf(U);y!==-1&&this._activePages.splice(y,1)}return Q}_deletePage(F){this._pages.splice(F,1);for(let $=F;$=this._config.colors.ansi.length)throw Error("No color found for idx "+F);return this._config.colors.ansi[F]}_getBackgroundColor(F,$,O,Q){if(this._config.allowTransparency)return D.NULL_COLOR;let w;switch(F){case 16777216:case 33554432:w=this._getColorFromAnsiIndex($);break;case 50331648:let U=M.AttributeData.toColorRGB($);w=D.channels.toColor(U[0],U[1],U[2]);break;default:w=O?D.color.opaque(this._config.colors.foreground):this._config.colors.background}return w}_getForegroundColor(F,$,O,Q,w,U,E,S,y,I){let T=this._getMinimumContrastColor(F,$,O,Q,w,U,E,y,S,I);if(T)return T;let b;switch(w){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&y&&U<8&&(U+=8),b=this._getColorFromAnsiIndex(U);break;case 50331648:let x=M.AttributeData.toColorRGB(U);b=D.channels.toColor(x[0],x[1],x[2]);break;default:b=E?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(b=D.color.opaque(b)),S&&(b=D.color.multiplyOpacity(b,j.DIM_OPACITY)),b}_resolveBackgroundRgba(F,$,O){switch(F){case 16777216:case 33554432:return this._getColorFromAnsiIndex($).rgba;case 50331648:return $<<8;default:return O?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(F,$,O,Q){switch(F){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&Q&&$<8&&($+=8),this._getColorFromAnsiIndex($).rgba;case 50331648:return $<<8;default:return O?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(F,$,O,Q,w,U,E,S,y,I){if(this._config.minimumContrastRatio===1||I)return;let T=this._getContrastCache(y),b=T.getColor(F,Q);if(b!==void 0)return b||void 0;let x=this._resolveBackgroundRgba($,O,E),f=this._resolveForegroundRgba(w,U,E,S),g=D.rgba.ensureContrastRatio(x,f,this._config.minimumContrastRatio/(y?2:1));if(!g)return void T.setColor(F,Q,null);let a=D.channels.toColor(g>>24&255,g>>16&255,g>>8&255);return T.setColor(F,Q,a),a}_getContrastCache(F){return F?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(F,$,O,Q,w=!1){let U=typeof F=="number"?String.fromCharCode(F):F,E=Math.min(this._config.deviceCellWidth*Math.max(U.length,2)+4,this._textureSize);this._tmpCanvas.width=m?2*m-b0:m-b0;!(b0>=m)==!1||Y3===0?(this._tmpCtx.setLineDash([Math.round(m),Math.round(m)]),this._tmpCtx.moveTo(i+Y3,e),this._tmpCtx.lineTo(z0,e)):(this._tmpCtx.setLineDash([Math.round(m),Math.round(m)]),this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(i+Y3,e),this._tmpCtx.moveTo(i+Y3+m,e),this._tmpCtx.lineTo(z0,e)),b0=(0,z.computeNextVariantOffset)(z0-i,m,b0);break;case 5:let a4=0.6,l4=0.3,A3=z0-i,v3=Math.floor(a4*A3),m3=Math.floor(l4*A3),o4=A3-v3-m3;this._tmpCtx.setLineDash([v3,m3,o4]),this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(z0,e);break;default:this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(z0,e)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!R0&&this._config.fontSize>=12&&!this._config.allowTransparency&&U!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";let H0=this._tmpCtx.measureText(U);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in H0&&H0.actualBoundingBoxDescent>0){this._tmpCtx.save();let i=new Path2D;i.rect(M0,e-Math.ceil(m/2),this._config.deviceCellWidth*r,l0-e+Math.ceil(m/2)),this._tmpCtx.clip(i),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=Z0.css,this._tmpCtx.strokeText(U,h,h+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(g){let m=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),o=m%2==1?0.5:0;this._tmpCtx.lineWidth=m,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(h,h+o),this._tmpCtx.lineTo(h+this._config.deviceCharWidth*r,h+o),this._tmpCtx.stroke()}if(R0||this._tmpCtx.fillText(U,h,h+this._config.deviceCharHeight),U==="_"&&!this._config.allowTransparency){let m=k(this._tmpCtx.getImageData(h,h,this._config.deviceCellWidth,this._config.deviceCellHeight),Z0,w0,x0);if(m)for(let o=1;o<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=Z0.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(U,h,h+this._config.deviceCharHeight-o),m=k(this._tmpCtx.getImageData(h,h,this._config.deviceCellWidth,this._config.deviceCellHeight),Z0,w0,x0),m);o++);}if(f){let m=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),o=this._tmpCtx.lineWidth%2==1?0.5:0;this._tmpCtx.lineWidth=m,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(h,h+Math.floor(this._config.deviceCharHeight/2)-o),this._tmpCtx.lineTo(h+this._config.deviceCharWidth*r,h+Math.floor(this._config.deviceCharHeight/2)-o),this._tmpCtx.stroke()}this._tmpCtx.restore();let e0=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),b3;if(b3=this._config.allowTransparency?function(m){for(let o=0;o0)return!1;return!0}(e0):k(e0,Z0,w0,x0),b3)return W;let c=this._findGlyphBoundingBox(e0,this._workBoundingBox,E,B0,R0,h),u,d;for(;;){if(this._activePages.length===0){let m=this._createNewPage();u=m,d=m.currentRow,d.height=c.size.y;break}u=this._activePages[this._activePages.length-1],d=u.currentRow;for(let m of this._activePages)c.size.y<=m.currentRow.height&&(u=m,d=m.currentRow);for(let m=this._activePages.length-1;m>=0;m--)for(let o of this._activePages[m].fixedRows)o.height<=d.height&&c.size.y<=o.height&&(u=this._activePages[m],d=o);if(d.y+c.size.y>=u.canvas.height||d.height>c.size.y+2){let m=!1;if(u.currentRow.y+u.currentRow.height+c.size.y>=u.canvas.height){let o;for(let M0 of this._activePages)if(M0.currentRow.y+M0.currentRow.height+c.size.y=L.maxAtlasPages&&d.y+c.size.y<=u.canvas.height&&d.height>=c.size.y&&d.x+c.size.x<=u.canvas.width)m=!0;else{let M0=this._createNewPage();u=M0,d=M0.currentRow,d.height=c.size.y,m=!0}}m||(u.currentRow.height>0&&u.fixedRows.push(u.currentRow),d={x:0,y:u.currentRow.y+u.currentRow.height,height:c.size.y},u.fixedRows.push(d),u.currentRow={x:0,y:d.y+d.height,height:0})}if(d.x+c.size.x<=u.canvas.width)break;d===u.currentRow?(d.x=0,d.y+=d.height,d.height=0):u.fixedRows.splice(u.fixedRows.indexOf(d),1)}return c.texturePage=this._pages.indexOf(u),c.texturePosition.x=d.x,c.texturePosition.y=d.y,c.texturePositionClipSpace.x=d.x/u.canvas.width,c.texturePositionClipSpace.y=d.y/u.canvas.height,c.sizeClipSpace.x/=u.canvas.width,c.sizeClipSpace.y/=u.canvas.height,d.height=Math.max(d.height,c.size.y),d.x+=c.size.x,u.ctx.putImageData(e0,c.texturePosition.x-this._workBoundingBox.left,c.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,c.size.x,c.size.y),u.addGlyph(c),u.version++,c}_findGlyphBoundingBox(F,$,O,Q,w,U){$.top=0;let E=Q?this._config.deviceCellHeight:this._tmpCanvas.height,S=Q?this._config.deviceCellWidth:O,y=!1;for(let I=0;I=U;I--){for(let T=0;T=0;I--){for(let T=0;T>>24,U=$.rgba>>>16&255,E=$.rgba>>>8&255,S=O.rgba>>>24,y=O.rgba>>>16&255,I=O.rgba>>>8&255,T=Math.floor((Math.abs(w-S)+Math.abs(U-y)+Math.abs(E-I))/12),b=!0;for(let x=0;x{Object.defineProperty(Z,"__esModule",{value:!0}),Z.contrastRatio=Z.toPaddedHex=Z.rgba=Z.rgb=Z.css=Z.color=Z.channels=Z.NULL_COLOR=void 0;let V=0,j=0,K=0,z=0;var D,C,R,H,M;function A(B){let L=B.toString(16);return L.length<2?"0"+L:L}function W(B,L){return B>>0},B.toColor=function(L,P,k,N){return{css:B.toCss(L,P,k,N),rgba:B.toRgba(L,P,k,N)}}}(D||(Z.channels=D={})),function(B){function L(P,k){return z=Math.round(255*k),[V,j,K]=M.toChannels(P.rgba),{css:D.toCss(V,j,K,z),rgba:D.toRgba(V,j,K,z)}}B.blend=function(P,k){if(z=(255&k.rgba)/255,z===1)return{css:k.css,rgba:k.rgba};let N=k.rgba>>24&255,F=k.rgba>>16&255,$=k.rgba>>8&255,O=P.rgba>>24&255,Q=P.rgba>>16&255,w=P.rgba>>8&255;return V=O+Math.round((N-O)*z),j=Q+Math.round((F-Q)*z),K=w+Math.round(($-w)*z),{css:D.toCss(V,j,K),rgba:D.toRgba(V,j,K)}},B.isOpaque=function(P){return(255&P.rgba)==255},B.ensureContrastRatio=function(P,k,N){let F=M.ensureContrastRatio(P.rgba,k.rgba,N);if(F)return D.toColor(F>>24&255,F>>16&255,F>>8&255)},B.opaque=function(P){let k=(255|P.rgba)>>>0;return[V,j,K]=M.toChannels(k),{css:D.toCss(V,j,K),rgba:k}},B.opacity=L,B.multiplyOpacity=function(P,k){return z=255&P.rgba,L(P,z*k/255)},B.toColorRGB=function(P){return[P.rgba>>24&255,P.rgba>>16&255,P.rgba>>8&255]}}(C||(Z.color=C={})),function(B){let L,P;try{let k=document.createElement("canvas");k.width=1,k.height=1;let N=k.getContext("2d",{willReadFrequently:!0});N&&(L=N,L.globalCompositeOperation="copy",P=L.createLinearGradient(0,0,1,1))}catch{}B.toColor=function(k){if(k.match(/#[\da-f]{3,8}/i))switch(k.length){case 4:return V=parseInt(k.slice(1,2).repeat(2),16),j=parseInt(k.slice(2,3).repeat(2),16),K=parseInt(k.slice(3,4).repeat(2),16),D.toColor(V,j,K);case 5:return V=parseInt(k.slice(1,2).repeat(2),16),j=parseInt(k.slice(2,3).repeat(2),16),K=parseInt(k.slice(3,4).repeat(2),16),z=parseInt(k.slice(4,5).repeat(2),16),D.toColor(V,j,K,z);case 7:return{css:k,rgba:(parseInt(k.slice(1),16)<<8|255)>>>0};case 9:return{css:k,rgba:parseInt(k.slice(1),16)>>>0}}let N=k.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(N)return V=parseInt(N[1]),j=parseInt(N[2]),K=parseInt(N[3]),z=Math.round(255*(N[5]===void 0?1:parseFloat(N[5]))),D.toColor(V,j,K,z);if(!L||!P)throw Error("css.toColor: Unsupported css format");if(L.fillStyle=P,L.fillStyle=k,typeof L.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(L.fillRect(0,0,1,1),[V,j,K,z]=L.getImageData(0,0,1,1).data,z!==255)throw Error("css.toColor: Unsupported css format");return{rgba:D.toRgba(V,j,K,z),css:k}}}(R||(Z.css=R={})),function(B){function L(P,k,N){let F=P/255,$=k/255,O=N/255;return 0.2126*(F<=0.03928?F/12.92:Math.pow((F+0.055)/1.055,2.4))+0.7152*($<=0.03928?$/12.92:Math.pow(($+0.055)/1.055,2.4))+0.0722*(O<=0.03928?O/12.92:Math.pow((O+0.055)/1.055,2.4))}B.relativeLuminance=function(P){return L(P>>16&255,P>>8&255,255&P)},B.relativeLuminance2=L}(H||(Z.rgb=H={})),function(B){function L(k,N,F){let $=k>>24&255,O=k>>16&255,Q=k>>8&255,w=N>>24&255,U=N>>16&255,E=N>>8&255,S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));for(;S0||U>0||E>0);)w-=Math.max(0,Math.ceil(0.1*w)),U-=Math.max(0,Math.ceil(0.1*U)),E-=Math.max(0,Math.ceil(0.1*E)),S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));return(w<<24|U<<16|E<<8|255)>>>0}function P(k,N,F){let $=k>>24&255,O=k>>16&255,Q=k>>8&255,w=N>>24&255,U=N>>16&255,E=N>>8&255,S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));for(;S>>0}B.blend=function(k,N){if(z=(255&N)/255,z===1)return N;let F=N>>24&255,$=N>>16&255,O=N>>8&255,Q=k>>24&255,w=k>>16&255,U=k>>8&255;return V=Q+Math.round((F-Q)*z),j=w+Math.round(($-w)*z),K=U+Math.round((O-U)*z),D.toRgba(V,j,K)},B.ensureContrastRatio=function(k,N,F){let $=H.relativeLuminance(k>>8),O=H.relativeLuminance(N>>8);if(W($,O)>8));if(EW($,H.relativeLuminance(S>>8))?U:S}return U}let Q=P(k,N,F),w=W($,H.relativeLuminance(Q>>8));if(wW($,H.relativeLuminance(U>>8))?Q:U}return Q}},B.reduceLuminance=L,B.increaseLuminance=P,B.toChannels=function(k){return[k>>24&255,k>>16&255,k>>8&255,255&k]}}(M||(Z.rgba=M={})),Z.toPaddedHex=A,Z.contrastRatio=W},345:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.runAndSubscribe=Z.forwardEvent=Z.EventEmitter=void 0,Z.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=(V)=>(this._listeners.push(V),{dispose:()=>{if(!this._disposed){for(let j=0;jj.fire(K))},Z.runAndSubscribe=function(V,j){return j(void 0),V((K)=>j(K))}},859:(X,Z)=>{function V(j){for(let K of j)K.dispose();j.length=0}Object.defineProperty(Z,"__esModule",{value:!0}),Z.getDisposeArrayDisposable=Z.disposeArray=Z.toDisposable=Z.MutableDisposable=Z.Disposable=void 0,Z.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let j of this._disposables)j.dispose();this._disposables.length=0}register(j){return this._disposables.push(j),j}unregister(j){let K=this._disposables.indexOf(j);K!==-1&&this._disposables.splice(K,1)}},Z.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(j){this._isDisposed||j===this._value||(this._value?.dispose(),this._value=j)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},Z.toDisposable=function(j){return{dispose:j}},Z.disposeArray=V,Z.getDisposeArrayDisposable=function(j){return{dispose:()=>V(j)}}},485:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.FourKeyMap=Z.TwoKeyMap=void 0;class V{constructor(){this._data={}}set(j,K,z){this._data[j]||(this._data[j]={}),this._data[j][K]=z}get(j,K){return this._data[j]?this._data[j][K]:void 0}clear(){this._data={}}}Z.TwoKeyMap=V,Z.FourKeyMap=class{constructor(){this._data=new V}set(j,K,z,D,C){this._data.get(j,K)||this._data.set(j,K,new V),this._data.get(j,K).set(z,D,C)}get(j,K,z,D){return this._data.get(j,K)?.get(z,D)}clear(){this._data.clear()}}},399:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.isChromeOS=Z.isLinux=Z.isWindows=Z.isIphone=Z.isIpad=Z.isMac=Z.getSafariVersion=Z.isSafari=Z.isLegacyEdge=Z.isFirefox=Z.isNode=void 0,Z.isNode=typeof process<"u"&&"title"in process;let V=Z.isNode?"node":navigator.userAgent,j=Z.isNode?"node":navigator.platform;Z.isFirefox=V.includes("Firefox"),Z.isLegacyEdge=V.includes("Edge"),Z.isSafari=/^((?!chrome|android).)*safari/i.test(V),Z.getSafariVersion=function(){if(!Z.isSafari)return 0;let K=V.match(/Version\/(\d+)/);return K===null||K.length<2?0:parseInt(K[1])},Z.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(j),Z.isIpad=j==="iPad",Z.isIphone=j==="iPhone",Z.isWindows=["Windows","Win16","Win32","WinCE"].includes(j),Z.isLinux=j.indexOf("Linux")>=0,Z.isChromeOS=/\bCrOS\b/.test(V)},385:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.DebouncedIdleTask=Z.IdleTaskQueue=Z.PriorityTaskQueue=void 0;let j=V(399);class K{constructor(){this._tasks=[],this._i=0}enqueue(D){this._tasks.push(D),this._start()}flush(){for(;this._iM)return H-C<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(H-C))}ms`),void this._start();H=M}this.clear()}}class z extends K{_requestCallback(D){return setTimeout(()=>D(this._createDeadline(16)))}_cancelCallback(D){clearTimeout(D)}_createDeadline(D){let C=Date.now()+D;return{timeRemaining:()=>Math.max(0,C-Date.now())}}}Z.PriorityTaskQueue=z,Z.IdleTaskQueue=!j.isNode&&"requestIdleCallback"in window?class extends K{_requestCallback(D){return requestIdleCallback(D)}_cancelCallback(D){cancelIdleCallback(D)}}:z,Z.DebouncedIdleTask=class{constructor(){this._queue=new Z.IdleTaskQueue}set(D){this._queue.clear(),this._queue.enqueue(D)}flush(){this._queue.flush()}}},147:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.ExtendedAttrs=Z.AttributeData=void 0;class V{constructor(){this.fg=0,this.bg=0,this.extended=new j}static toColorRGB(K){return[K>>>16&255,K>>>8&255,255&K]}static fromColorRGB(K){return(255&K[0])<<16|(255&K[1])<<8|255&K[2]}clone(){let K=new V;return K.fg=this.fg,K.bg=this.bg,K.extended=this.extended.clone(),K}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}}Z.AttributeData=V;class j{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(K){this._ext=K}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(K){this._ext&=-469762049,this._ext|=K<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(K){this._ext&=-67108864,this._ext|=67108863&K}get urlId(){return this._urlId}set urlId(K){this._urlId=K}get underlineVariantOffset(){let K=(3758096384&this._ext)>>29;return K<0?4294967288^K:K}set underlineVariantOffset(K){this._ext&=536870911,this._ext|=K<<29&3758096384}constructor(K=0,z=0){this._ext=0,this._urlId=0,this._ext=K,this._urlId=z}clone(){return new j(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}Z.ExtendedAttrs=j},782:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CellData=void 0;let j=V(133),K=V(855),z=V(147);class D extends z.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new z.ExtendedAttrs,this.combinedData=""}static fromCharData(C){let R=new D;return R.setFromCharData(C),R}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,j.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(C){this.fg=C[K.CHAR_DATA_ATTR_INDEX],this.bg=0;let R=!1;if(C[K.CHAR_DATA_CHAR_INDEX].length>2)R=!0;else if(C[K.CHAR_DATA_CHAR_INDEX].length===2){let H=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=H&&H<=56319){let M=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=M&&M<=57343?this.content=1024*(H-55296)+M-56320+65536|C[K.CHAR_DATA_WIDTH_INDEX]<<22:R=!0}else R=!0}else this.content=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|C[K.CHAR_DATA_WIDTH_INDEX]<<22;R&&(this.combinedData=C[K.CHAR_DATA_CHAR_INDEX],this.content=2097152|C[K.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}Z.CellData=D},855:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.WHITESPACE_CELL_CODE=Z.WHITESPACE_CELL_WIDTH=Z.WHITESPACE_CELL_CHAR=Z.NULL_CELL_CODE=Z.NULL_CELL_WIDTH=Z.NULL_CELL_CHAR=Z.CHAR_DATA_CODE_INDEX=Z.CHAR_DATA_WIDTH_INDEX=Z.CHAR_DATA_CHAR_INDEX=Z.CHAR_DATA_ATTR_INDEX=Z.DEFAULT_EXT=Z.DEFAULT_ATTR=Z.DEFAULT_COLOR=void 0,Z.DEFAULT_COLOR=0,Z.DEFAULT_ATTR=256|Z.DEFAULT_COLOR<<9,Z.DEFAULT_EXT=0,Z.CHAR_DATA_ATTR_INDEX=0,Z.CHAR_DATA_CHAR_INDEX=1,Z.CHAR_DATA_WIDTH_INDEX=2,Z.CHAR_DATA_CODE_INDEX=3,Z.NULL_CELL_CHAR="",Z.NULL_CELL_WIDTH=1,Z.NULL_CELL_CODE=0,Z.WHITESPACE_CELL_CHAR=" ",Z.WHITESPACE_CELL_WIDTH=1,Z.WHITESPACE_CELL_CODE=32},133:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.Utf8ToUtf32=Z.StringToUtf32=Z.utf32ToString=Z.stringFromCodePoint=void 0,Z.stringFromCodePoint=function(V){return V>65535?(V-=65536,String.fromCharCode(55296+(V>>10))+String.fromCharCode(V%1024+56320)):String.fromCharCode(V)},Z.utf32ToString=function(V,j=0,K=V.length){let z="";for(let D=j;D65535?(C-=65536,z+=String.fromCharCode(55296+(C>>10))+String.fromCharCode(C%1024+56320)):z+=String.fromCharCode(C)}return z},Z.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(V,j){let K=V.length;if(!K)return 0;let z=0,D=0;if(this._interim){let C=V.charCodeAt(D++);56320<=C&&C<=57343?j[z++]=1024*(this._interim-55296)+C-56320+65536:(j[z++]=this._interim,j[z++]=C),this._interim=0}for(let C=D;C=K)return this._interim=R,z;let H=V.charCodeAt(C);56320<=H&&H<=57343?j[z++]=1024*(R-55296)+H-56320+65536:(j[z++]=R,j[z++]=H)}else R!==65279&&(j[z++]=R)}return z}},Z.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(V,j){let K=V.length;if(!K)return 0;let z,D,C,R,H=0,M=0,A=0;if(this.interim[0]){let L=!1,P=this.interim[0];P&=(224&P)==192?31:(240&P)==224?15:7;let k,N=0;for(;(k=63&this.interim[++N])&&N<4;)P<<=6,P|=k;let F=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,$=F-N;for(;A<$;){if(A>=K)return 0;if(k=V[A++],(192&k)!=128){A--,L=!0;break}this.interim[N++]=k,P<<=6,P|=63&k}L||(F===2?P<128?A--:j[H++]=P:F===3?P<2048||P>=55296&&P<=57343||P===65279||(j[H++]=P):P<65536||P>1114111||(j[H++]=P)),this.interim.fill(0)}let W=K-4,B=A;for(;B=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(M=(31&z)<<6|63&D,M<128){B--;continue}j[H++]=M}else if((240&z)==224){if(B>=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,H;if(C=V[B++],(192&C)!=128){B--;continue}if(M=(15&z)<<12|(63&D)<<6|63&C,M<2048||M>=55296&&M<=57343||M===65279)continue;j[H++]=M}else if((248&z)==240){if(B>=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,H;if(C=V[B++],(192&C)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,this.interim[2]=C,H;if(R=V[B++],(192&R)!=128){B--;continue}if(M=(7&z)<<18|(63&D)<<12|(63&C)<<6|63&R,M<65536||M>1114111)continue;j[H++]=M}}return H}}},776:function(X,Z,V){var j=this&&this.__decorate||function(M,A,W,B){var L,P=arguments.length,k=P<3?A:B===null?B=Object.getOwnPropertyDescriptor(A,W):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(M,A,W,B);else for(var N=M.length-1;N>=0;N--)(L=M[N])&&(k=(P<3?L(k):P>3?L(A,W,k):L(A,W))||k);return P>3&&k&&Object.defineProperty(A,W,k),k},K=this&&this.__param||function(M,A){return function(W,B){A(W,B,M)}};Object.defineProperty(Z,"__esModule",{value:!0}),Z.traceCall=Z.setTraceLogger=Z.LogService=void 0;let z=V(859),D=V(97),C={trace:D.LogLevelEnum.TRACE,debug:D.LogLevelEnum.DEBUG,info:D.LogLevelEnum.INFO,warn:D.LogLevelEnum.WARN,error:D.LogLevelEnum.ERROR,off:D.LogLevelEnum.OFF},R,H=Z.LogService=class extends z.Disposable{get logLevel(){return this._logLevel}constructor(M){super(),this._optionsService=M,this._logLevel=D.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),R=this}_updateLogLevel(){this._logLevel=C[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(M){for(let A=0;AJSON.stringify(k)).join(", ")})`);let P=B.apply(this,L);return R.trace(`GlyphRenderer#${B.name} return`,P),P}}},726:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.createDecorator=Z.getServiceDependencies=Z.serviceRegistry=void 0;let V="di$target",j="di$dependencies";Z.serviceRegistry=new Map,Z.getServiceDependencies=function(K){return K[j]||[]},Z.createDecorator=function(K){if(Z.serviceRegistry.has(K))return Z.serviceRegistry.get(K);let z=function(D,C,R){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");(function(H,M,A){M[V]===M?M[j].push({id:H,index:A}):(M[j]=[{id:H,index:A}],M[V]=M)})(z,D,R)};return z.toString=()=>K,Z.serviceRegistry.set(K,z),z}},97:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.IDecorationService=Z.IUnicodeService=Z.IOscLinkService=Z.IOptionsService=Z.ILogService=Z.LogLevelEnum=Z.IInstantiationService=Z.ICharsetService=Z.ICoreService=Z.ICoreMouseService=Z.IBufferService=void 0;let j=V(726);var K;Z.IBufferService=(0,j.createDecorator)("BufferService"),Z.ICoreMouseService=(0,j.createDecorator)("CoreMouseService"),Z.ICoreService=(0,j.createDecorator)("CoreService"),Z.ICharsetService=(0,j.createDecorator)("CharsetService"),Z.IInstantiationService=(0,j.createDecorator)("InstantiationService"),function(z){z[z.TRACE=0]="TRACE",z[z.DEBUG=1]="DEBUG",z[z.INFO=2]="INFO",z[z.WARN=3]="WARN",z[z.ERROR=4]="ERROR",z[z.OFF=5]="OFF"}(K||(Z.LogLevelEnum=K={})),Z.ILogService=(0,j.createDecorator)("LogService"),Z.IOptionsService=(0,j.createDecorator)("OptionsService"),Z.IOscLinkService=(0,j.createDecorator)("OscLinkService"),Z.IUnicodeService=(0,j.createDecorator)("UnicodeService"),Z.IDecorationService=(0,j.createDecorator)("DecorationService")}},G={};function Y(X){var Z=G[X];if(Z!==void 0)return Z.exports;var V=G[X]={exports:{}};return q[X].call(V.exports,V,V.exports,Y),V.exports}var J={};return(()=>{var X=J;Object.defineProperty(X,"__esModule",{value:!0}),X.WebglAddon=void 0;let Z=Y(345),V=Y(859),j=Y(399),K=Y(666),z=Y(776);class D extends V.Disposable{constructor(C){if(j.isSafari&&(0,j.getSafariVersion)()<16){let R={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",R))throw Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=C,this._onChangeTextureAtlas=this.register(new Z.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new Z.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new Z.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this.register(new Z.EventEmitter),this.onContextLoss=this._onContextLoss.event}activate(C){let R=C._core;if(!C.element)return void this.register(R.onWillOpen(()=>this.activate(C)));this._terminal=C;let{coreService:H,optionsService:M}=R,A=R,W=A._renderService,B=A._characterJoinerService,L=A._charSizeService,P=A._coreBrowserService,k=A._decorationService,N=A._logService,F=A._themeService;(0,z.setTraceLogger)(N),this._renderer=this.register(new K.WebglRenderer(C,B,L,P,H,k,M,F,this._preserveDrawingBuffer)),this.register((0,Z.forwardEvent)(this._renderer.onContextLoss,this._onContextLoss)),this.register((0,Z.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,Z.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this.register((0,Z.forwardEvent)(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),W.setRenderer(this._renderer),this.register((0,V.toDisposable)(()=>{let $=this._terminal._core._renderService;$.setRenderer(this._terminal._core._createRenderer()),$.handleResize(C.cols,C.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}}X.WebglAddon=D})(),J})())});var t7=f3((g4,t5)=>{(function(q,G){typeof g4=="object"&&typeof t5=="object"?t5.exports=G():typeof define=="function"&&define.amd?define([],G):typeof g4=="object"?g4.CanvasAddon=G():q.CanvasAddon=G()})(self,()=>(()=>{var q={903:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.BaseRenderLayer=void 0;let j=V(274),K=V(627),z=V(237),D=V(860),C=V(374),R=V(296),H=V(345),M=V(859),A=V(399),W=V(855);class B extends M.Disposable{get canvas(){return this._canvas}get cacheCanvas(){return this._charAtlas?.pages[0].canvas}constructor(P,k,N,F,$,O,Q,w,U,E){super(),this._terminal=P,this._container=k,this._alpha=$,this._themeService=O,this._bufferService=Q,this._optionsService=w,this._decorationService=U,this._coreBrowserService=E,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._selectionModel=(0,R.createSelectionRenderModel)(),this._bitmapGenerator=[],this._charAtlasDisposable=this.register(new M.MutableDisposable),this._onAddTextureAtlasCanvas=this.register(new H.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._cellColorResolver=new j.CellColorResolver(this._terminal,this._optionsService,this._selectionModel,this._decorationService,this._coreBrowserService,this._themeService),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${N}-layer`),this._canvas.style.zIndex=F.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._refreshCharAtlas(this._themeService.colors),this.register(this._themeService.onChangeColors((S)=>{this._refreshCharAtlas(S),this.reset(),this.handleSelectionChanged(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)})),this.register((0,M.toDisposable)(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=(0,C.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(){}handleFocus(){}handleCursorMove(){}handleGridChanged(P,k){}handleSelectionChanged(P,k,N=!1){this._selectionModel.update(this._terminal._core,P,k,N)}_setTransparency(P){if(P===this._alpha)return;let k=this._canvas;this._alpha=P,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,k),this._refreshCharAtlas(this._themeService.colors),this.handleGridChanged(0,this._bufferService.rows-1)}_refreshCharAtlas(P){if(!(this._deviceCharWidth<=0&&this._deviceCharHeight<=0)){this._charAtlas=(0,K.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,P,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlasDisposable.value=(0,H.forwardEvent)(this._charAtlas.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),this._charAtlas.warmUp();for(let k=0;k1?this._charAtlas.getRasterizedGlyphCombinedChar(F,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0):this._charAtlas.getRasterizedGlyph(P.getCode()||W.WHITESPACE_CELL_CODE,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0),!Q.size.x||!Q.size.y)return;this._ctx.save(),this._clipRow(N),this._bitmapGenerator[Q.texturePage]&&this._charAtlas.pages[Q.texturePage].canvas!==this._bitmapGenerator[Q.texturePage].canvas&&(this._bitmapGenerator[Q.texturePage]?.bitmap?.close(),delete this._bitmapGenerator[Q.texturePage]),this._charAtlas.pages[Q.texturePage].version!==this._bitmapGenerator[Q.texturePage]?.version&&(this._bitmapGenerator[Q.texturePage]||(this._bitmapGenerator[Q.texturePage]=new L(this._charAtlas.pages[Q.texturePage].canvas)),this._bitmapGenerator[Q.texturePage].refresh(),this._bitmapGenerator[Q.texturePage].version=this._charAtlas.pages[Q.texturePage].version);let w=Q.size.x;this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,C.allowRescaling)($,O,Q.size.x,this._deviceCellWidth)&&(w=this._deviceCellWidth-1),this._ctx.drawImage(this._bitmapGenerator[Q.texturePage]?.bitmap||this._charAtlas.pages[Q.texturePage].canvas,Q.texturePosition.x,Q.texturePosition.y,Q.size.x,Q.size.y,k*this._deviceCellWidth+this._deviceCharLeft-Q.offset.x,N*this._deviceCellHeight+this._deviceCharTop-Q.offset.y,w,Q.size.y),this._ctx.restore()}_clipRow(P){this._ctx.beginPath(),this._ctx.rect(0,P*this._deviceCellHeight,this._bufferService.cols*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(P,k){return`${k?"italic":""} ${P?this._optionsService.rawOptions.fontWeightBold:this._optionsService.rawOptions.fontWeight} ${this._optionsService.rawOptions.fontSize*this._coreBrowserService.dpr}px ${this._optionsService.rawOptions.fontFamily}`}}Z.BaseRenderLayer=B;class L{get bitmap(){return this._bitmap}constructor(P){this.canvas=P,this._state=0,this._commitTimeout=void 0,this._bitmap=void 0,this.version=-1}refresh(){this._bitmap?.close(),this._bitmap=void 0,A.isSafari||(this._commitTimeout===void 0&&(this._commitTimeout=window.setTimeout(()=>this._generate(),100)),this._state===1&&(this._state=2))}_generate(){this._state===0&&(this._bitmap?.close(),this._bitmap=void 0,this._state=1,window.createImageBitmap(this.canvas).then((P)=>{this._state===2?this.refresh():this._bitmap=P,this._state=0}),this._commitTimeout&&(this._commitTimeout=void 0))}}},949:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CanvasRenderer=void 0;let j=V(627),K=V(56),z=V(374),D=V(345),C=V(859),R=V(873),H=V(43),M=V(630),A=V(744);class W extends C.Disposable{constructor(B,L,P,k,N,F,$,O,Q,w,U){super(),this._terminal=B,this._screenElement=L,this._bufferService=k,this._charSizeService=N,this._optionsService=F,this._coreBrowserService=Q,this._themeService=U,this._observerDisposable=this.register(new C.MutableDisposable),this._onRequestRedraw=this.register(new D.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onChangeTextureAtlas=this.register(new D.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new D.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event;let E=this._optionsService.rawOptions.allowTransparency;this._renderLayers=[new A.TextRenderLayer(this._terminal,this._screenElement,0,E,this._bufferService,this._optionsService,$,w,this._coreBrowserService,U),new M.SelectionRenderLayer(this._terminal,this._screenElement,1,this._bufferService,this._coreBrowserService,w,this._optionsService,U),new H.LinkRenderLayer(this._terminal,this._screenElement,2,P,this._bufferService,this._optionsService,w,this._coreBrowserService,U),new R.CursorRenderLayer(this._terminal,this._screenElement,3,this._onRequestRedraw,this._bufferService,this._optionsService,O,this._coreBrowserService,w,U)];for(let S of this._renderLayers)(0,D.forwardEvent)(S.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas);this.dimensions=(0,z.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._observerDisposable.value=(0,K.observeDevicePixelDimensions)(this._renderLayers[0].canvas,this._coreBrowserService.window,(S,y)=>this._setCanvasDevicePixelDimensions(S,y)),this.register(this._coreBrowserService.onWindowChange((S)=>{this._observerDisposable.value=(0,K.observeDevicePixelDimensions)(this._renderLayers[0].canvas,S,(y,I)=>this._setCanvasDevicePixelDimensions(y,I))})),this.register((0,C.toDisposable)(()=>{for(let S of this._renderLayers)S.dispose();(0,j.removeTerminalFromCache)(this._terminal)}))}get textureAtlas(){return this._renderLayers[0].cacheCanvas}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._bufferService.cols,this._bufferService.rows))}handleResize(B,L){this._updateDimensions();for(let P of this._renderLayers)P.resize(this.dimensions);this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}handleCharSizeChanged(){this.handleResize(this._bufferService.cols,this._bufferService.rows)}handleBlur(){this._runOperation((B)=>B.handleBlur())}handleFocus(){this._runOperation((B)=>B.handleFocus())}handleSelectionChanged(B,L,P=!1){this._runOperation((k)=>k.handleSelectionChanged(B,L,P)),this._themeService.colors.selectionForeground&&this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}handleCursorMove(){this._runOperation((B)=>B.handleCursorMove())}clear(){this._runOperation((B)=>B.reset())}_runOperation(B){for(let L of this._renderLayers)B(L)}renderRows(B,L){for(let P of this._renderLayers)P.handleGridChanged(B,L)}clearTextureAtlas(){for(let B of this._renderLayers)B.clearTextureAtlas()}_updateDimensions(){if(!this._charSizeService.hasValidSize)return;let B=this._coreBrowserService.dpr;this.dimensions.device.char.width=Math.floor(this._charSizeService.width*B),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*B),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._bufferService.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._bufferService.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/B),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/B),this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols}_setCanvasDevicePixelDimensions(B,L){this.dimensions.device.canvas.height=L,this.dimensions.device.canvas.width=B;for(let P of this._renderLayers)P.resize(this.dimensions);this._requestRedrawViewport()}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}}Z.CanvasRenderer=W},873:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CursorRenderLayer=void 0;let j=V(457),K=V(859),z=V(399),D=V(782),C=V(903);class R extends C.BaseRenderLayer{constructor(H,M,A,W,B,L,P,k,N,F){super(H,M,"cursor",A,!0,F,B,L,N,k),this._onRequestRedraw=W,this._coreService=P,this._cursorBlinkStateManager=this.register(new K.MutableDisposable),this._cell=new D.CellData,this._state={x:0,y:0,isFocused:!1,style:"",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this),outline:this._renderOutlineCursor.bind(this)},this.register(L.onOptionChange(()=>this._handleOptionsChanged())),this._handleOptionsChanged()}resize(H){super.resize(H),this._state={x:0,y:0,isFocused:!1,style:"",width:0}}reset(){this._clearCursor(),this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._handleOptionsChanged()}handleBlur(){this._cursorBlinkStateManager.value?.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleFocus(){this._cursorBlinkStateManager.value?.resume(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}_handleOptionsChanged(){this._optionsService.rawOptions.cursorBlink?this._cursorBlinkStateManager.value||(this._cursorBlinkStateManager.value=new j.CursorBlinkStateManager(()=>this._render(!0),this._coreBrowserService)):this._cursorBlinkStateManager.clear(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleCursorMove(){this._cursorBlinkStateManager.value?.restartBlinkAnimation()}handleGridChanged(H,M){!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isPaused?this._render(!1):this._cursorBlinkStateManager.value.restartBlinkAnimation()}_render(H){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();let M=this._bufferService.buffer.ybase+this._bufferService.buffer.y,A=M-this._bufferService.buffer.ydisp;if(A<0||A>=this._bufferService.rows)return void this._clearCursor();let W=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(M).loadCell(W,this._cell),this._cell.content!==void 0){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;let B=this._optionsService.rawOptions.cursorStyle,L=this._optionsService.rawOptions.cursorInactiveStyle;return L&&L!=="none"&&this._cursorRenderers[L](W,A,this._cell),this._ctx.restore(),this._state.x=W,this._state.y=A,this._state.isFocused=!1,this._state.style=B,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible){if(this._state){if(this._state.x===W&&this._state.y===A&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.rawOptions.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.rawOptions.cursorStyle||"block"](W,A,this._cell),this._ctx.restore(),this._state.x=W,this._state.y=A,this._state.isFocused=!1,this._state.style=this._optionsService.rawOptions.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(z.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})}_renderBarCursor(H,M,A){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(H,M,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(H,M,A){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(H,M,A.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(A,H,M),this._ctx.restore()}_renderUnderlineCursor(H,M,A){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(H,M),this._ctx.restore()}_renderOutlineCursor(H,M,A){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(H,M,A.getWidth(),1),this._ctx.restore()}}Z.CursorRenderLayer=R},574:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.GridCache=void 0,Z.GridCache=class{constructor(){this.cache=[]}resize(V,j){for(let K=0;K{Object.defineProperty(Z,"__esModule",{value:!0}),Z.LinkRenderLayer=void 0;let j=V(197),K=V(237),z=V(903);class D extends z.BaseRenderLayer{constructor(C,R,H,M,A,W,B,L,P){super(C,R,"link",H,!0,P,A,W,B,L),this.register(M.onShowLinkUnderline((k)=>this._handleShowLinkUnderline(k))),this.register(M.onHideLinkUnderline((k)=>this._handleHideLinkUnderline(k)))}resize(C){super.resize(C),this._state=void 0}reset(){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let C=this._state.y2-this._state.y1-1;C>0&&this._clearCells(0,this._state.y1+1,this._state.cols,C),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(C){if(C.fg===K.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:C.fg&&(0,j.is256Color)(C.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[C.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,C.y1===C.y2)this._fillBottomLineAtCells(C.x1,C.y1,C.x2-C.x1);else{this._fillBottomLineAtCells(C.x1,C.y1,C.cols-C.x1);for(let R=C.y1+1;R{Object.defineProperty(Z,"__esModule",{value:!0}),Z.SelectionRenderLayer=void 0;let j=V(903);class K extends j.BaseRenderLayer{constructor(z,D,C,R,H,M,A,W){super(z,D,"selection",C,!0,W,R,A,M,H),this._clearState()}_clearState(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}}resize(z){super.resize(z),this._selectionModel.selectionStart&&this._selectionModel.selectionEnd&&(this._clearState(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode))}reset(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())}handleBlur(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleFocus(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleSelectionChanged(z,D,C){super.handleSelectionChanged(z,D,C),this._redrawSelection(z,D,C)}_redrawSelection(z,D,C){if(!this._didStateChange(z,D,C,this._bufferService.buffer.ydisp))return;if(this._clearAll(),!z||!D)return void this._clearState();let R=z[1]-this._bufferService.buffer.ydisp,H=D[1]-this._bufferService.buffer.ydisp,M=Math.max(R,0),A=Math.min(H,this._bufferService.rows-1);if(M>=this._bufferService.rows||A<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=(this._coreBrowserService.isFocused?this._themeService.colors.selectionBackgroundTransparent:this._themeService.colors.selectionInactiveBackgroundTransparent).css,C){let W=z[0],B=D[0]-W,L=A-M+1;this._fillCells(W,M,B,L)}else{let W=R===M?z[0]:0,B=M===H?D[0]:this._bufferService.cols;this._fillCells(W,M,B-W,1);let L=Math.max(A-M-1,0);if(this._fillCells(0,M+1,this._bufferService.cols,L),M!==A){let P=H===A?D[0]:this._bufferService.cols;this._fillCells(0,A,P,1)}}this._state.start=[z[0],z[1]],this._state.end=[D[0],D[1]],this._state.columnSelectMode=C,this._state.ydisp=this._bufferService.buffer.ydisp}}_didStateChange(z,D,C,R){return!this._areCoordinatesEqual(z,this._state.start)||!this._areCoordinatesEqual(D,this._state.end)||C!==this._state.columnSelectMode||R!==this._state.ydisp}_areCoordinatesEqual(z,D){return!(!z||!D)&&z[0]===D[0]&&z[1]===D[1]}}Z.SelectionRenderLayer=K},744:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.TextRenderLayer=void 0;let j=V(577),K=V(147),z=V(782),D=V(855),C=V(903),R=V(574);class H extends C.BaseRenderLayer{constructor(M,A,W,B,L,P,k,N,F,$){super(M,A,"text",W,B,$,L,P,N,F),this._characterJoinerService=k,this._characterWidth=0,this._characterFont="",this._characterOverlapCache={},this._workCell=new z.CellData,this._state=new R.GridCache,this.register(P.onSpecificOptionChange("allowTransparency",(O)=>this._setTransparency(O)))}resize(M){super.resize(M);let A=this._getFont(!1,!1);this._characterWidth===M.device.char.width&&this._characterFont===A||(this._characterWidth=M.device.char.width,this._characterFont=A,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)}reset(){this._state.clear(),this._clearAll()}_forEachCell(M,A,W){for(let B=M;B<=A;B++){let L=B+this._bufferService.buffer.ydisp,P=this._bufferService.buffer.lines.get(L),k=this._characterJoinerService.getJoinedCharacters(L);for(let N=0;N0&&N===k[0][0]){$=!0;let Q=k.shift();F=new j.JoinedCellData(this._workCell,P.translateToString(!0,Q[0],Q[1]),Q[1]-Q[0]),O=Q[1]-1}!$&&this._isOverlapping(F)&&O{let O=null;N.isInverse()?O=N.isFgDefault()?this._themeService.colors.foreground.css:N.isFgRGB()?`rgb(${K.AttributeData.toColorRGB(N.getFgColor()).join(",")})`:this._themeService.colors.ansi[N.getFgColor()].css:N.isBgRGB()?O=`rgb(${K.AttributeData.toColorRGB(N.getBgColor()).join(",")})`:N.isBgPalette()&&(O=this._themeService.colors.ansi[N.getBgColor()].css);let Q=!1;this._decorationService.forEachDecorationAtCell(F,this._bufferService.buffer.ydisp+$,void 0,(w)=>{w.options.layer!=="top"&&Q||(w.backgroundColorRGB&&(O=w.backgroundColorRGB.css),Q=w.options.layer==="top")}),k===null&&(L=F,P=$),$!==P?(W.fillStyle=k||"",this._fillCells(L,P,B-L,1),L=F,P=$):k!==O&&(W.fillStyle=k||"",this._fillCells(L,P,F-L,1),L=F,P=$),k=O}),k!==null&&(W.fillStyle=k,this._fillCells(L,P,B-L,1)),W.restore()}_drawForeground(M,A){this._forEachCell(M,A,(W,B,L)=>this._drawChars(W,B,L))}handleGridChanged(M,A){this._state.cache.length!==0&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,M,this._bufferService.cols,A-M+1),this._drawBackground(M,A),this._drawForeground(M,A))}_isOverlapping(M){if(M.getWidth()!==1)return!1;if(M.getCode()<256)return!1;let A=M.getChars();if(this._characterOverlapCache.hasOwnProperty(A))return this._characterOverlapCache[A];this._ctx.save(),this._ctx.font=this._characterFont;let W=Math.floor(this._ctx.measureText(A).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[A]=W,W}}Z.TextRenderLayer=H},274:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CellColorResolver=void 0;let j=V(855),K=V(160),z=V(374),D,C=0,R=0,H=!1,M=!1,A=!1,W=0;Z.CellColorResolver=class{constructor(B,L,P,k,N,F){this._terminal=B,this._optionService=L,this._selectionRenderModel=P,this._decorationService=k,this._coreBrowserService=N,this._themeService=F,this.result={fg:0,bg:0,ext:0}}resolve(B,L,P,k){if(this.result.bg=B.bg,this.result.fg=B.fg,this.result.ext=268435456&B.bg?B.extended.ext:0,R=0,C=0,M=!1,H=!1,A=!1,D=this._themeService.colors,W=0,B.getCode()!==j.NULL_CELL_CODE&&B.extended.underlineStyle===4){let N=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));W=L*k%(2*Math.round(N))}if(this._decorationService.forEachDecorationAtCell(L,P,"bottom",(N)=>{N.backgroundColorRGB&&(R=N.backgroundColorRGB.rgba>>8&16777215,M=!0),N.foregroundColorRGB&&(C=N.foregroundColorRGB.rgba>>8&16777215,H=!0)}),A=this._selectionRenderModel.isCellSelected(this._terminal,L,P),A){if(67108864&this.result.fg||(50331648&this.result.bg)!=0){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:R=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:R=(16777215&this.result.fg)<<8|255;break;default:R=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:R=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:R=(16777215&this.result.bg)<<8|255}R=K.rgba.blend(R,4294967040&(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else R=(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(M=!0,D.selectionForeground&&(C=D.selectionForeground.rgba>>8&16777215,H=!0),(0,z.treatGlyphAsBackgroundColor)(B.getCode())){if(67108864&this.result.fg&&(50331648&this.result.bg)==0)C=(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:C=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:C=(16777215&this.result.fg)<<8|255;break;default:C=this._themeService.colors.foreground.rgba}C=K.rgba.blend(C,4294967040&(this._coreBrowserService.isFocused?D.selectionBackgroundOpaque:D.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}H=!0}}this._decorationService.forEachDecorationAtCell(L,P,"top",(N)=>{N.backgroundColorRGB&&(R=N.backgroundColorRGB.rgba>>8&16777215,M=!0),N.foregroundColorRGB&&(C=N.foregroundColorRGB.rgba>>8&16777215,H=!0)}),M&&(R=A?-16777216&B.bg&-134217729|R|50331648:-16777216&B.bg|R|50331648),H&&(C=-16777216&B.fg&-67108865|C|50331648),67108864&this.result.fg&&(M&&!H&&(C=(50331648&this.result.bg)==0?-134217728&this.result.fg|16777215&D.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,H=!0),!M&&H&&(R=(50331648&this.result.fg)==0?-67108864&this.result.bg|16777215&D.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,M=!0)),D=void 0,this.result.bg=M?R:this.result.bg,this.result.fg=H?C:this.result.fg,this.result.ext&=536870911,this.result.ext|=W<<29&3758096384}}},627:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.removeTerminalFromCache=Z.acquireTextureAtlas=void 0;let j=V(509),K=V(197),z=[];Z.acquireTextureAtlas=function(D,C,R,H,M,A,W,B){let L=(0,K.generateConfig)(H,M,A,W,C,R,B);for(let N=0;N=0){if((0,K.configEquals)(F.config,L))return F.atlas;F.ownedBy.length===1?(F.atlas.dispose(),z.splice(N,1)):F.ownedBy.splice($,1);break}}for(let N=0;N{Object.defineProperty(Z,"__esModule",{value:!0}),Z.is256Color=Z.configEquals=Z.generateConfig=void 0;let j=V(160);Z.generateConfig=function(K,z,D,C,R,H,M){let A={foreground:H.foreground,background:H.background,cursor:j.NULL_COLOR,cursorAccent:j.NULL_COLOR,selectionForeground:j.NULL_COLOR,selectionBackgroundTransparent:j.NULL_COLOR,selectionBackgroundOpaque:j.NULL_COLOR,selectionInactiveBackgroundTransparent:j.NULL_COLOR,selectionInactiveBackgroundOpaque:j.NULL_COLOR,ansi:H.ansi.slice(),contrastCache:H.contrastCache,halfContrastCache:H.halfContrastCache};return{customGlyphs:R.customGlyphs,devicePixelRatio:M,letterSpacing:R.letterSpacing,lineHeight:R.lineHeight,deviceCellWidth:K,deviceCellHeight:z,deviceCharWidth:D,deviceCharHeight:C,fontFamily:R.fontFamily,fontSize:R.fontSize,fontWeight:R.fontWeight,fontWeightBold:R.fontWeightBold,allowTransparency:R.allowTransparency,drawBoldTextInBrightColors:R.drawBoldTextInBrightColors,minimumContrastRatio:R.minimumContrastRatio,colors:A}},Z.configEquals=function(K,z){for(let D=0;D{Object.defineProperty(Z,"__esModule",{value:!0}),Z.TEXT_BASELINE=Z.DIM_OPACITY=Z.INVERTED_DEFAULT_COLOR=void 0;let j=V(399);Z.INVERTED_DEFAULT_COLOR=257,Z.DIM_OPACITY=0.5,Z.TEXT_BASELINE=j.isFirefox||j.isLegacyEdge?"bottom":"ideographic"},457:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CursorBlinkStateManager=void 0,Z.CursorBlinkStateManager=class{constructor(V,j){this._renderCallback=V,this._coreBrowserService=j,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(V=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let j=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,j>0)return void this._restartInterval(j)}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 j=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(j)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},V)}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()}}},860:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.tryDrawCustomChar=Z.powerlineDefinitions=Z.boxDrawingDefinitions=Z.blockElementDefinitions=void 0;let j=V(374);Z.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"\uD83E\uDF70":[{x:1,y:0,w:1,h:8}],"\uD83E\uDF71":[{x:2,y:0,w:1,h:8}],"\uD83E\uDF72":[{x:3,y:0,w:1,h:8}],"\uD83E\uDF73":[{x:4,y:0,w:1,h:8}],"\uD83E\uDF74":[{x:5,y:0,w:1,h:8}],"\uD83E\uDF75":[{x:6,y:0,w:1,h:8}],"\uD83E\uDF76":[{x:0,y:1,w:8,h:1}],"\uD83E\uDF77":[{x:0,y:2,w:8,h:1}],"\uD83E\uDF78":[{x:0,y:3,w:8,h:1}],"\uD83E\uDF79":[{x:0,y:4,w:8,h:1}],"\uD83E\uDF7A":[{x:0,y:5,w:8,h:1}],"\uD83E\uDF7B":[{x:0,y:6,w:8,h:1}],"\uD83E\uDF7C":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\uD83E\uDF7D":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\uD83E\uDF7E":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"\uD83E\uDF7F":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"\uD83E\uDF80":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"\uD83E\uDF81":[{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}],"\uD83E\uDF82":[{x:0,y:0,w:8,h:2}],"\uD83E\uDF83":[{x:0,y:0,w:8,h:3}],"\uD83E\uDF84":[{x:0,y:0,w:8,h:5}],"\uD83E\uDF85":[{x:0,y:0,w:8,h:6}],"\uD83E\uDF86":[{x:0,y:0,w:8,h:7}],"\uD83E\uDF87":[{x:6,y:0,w:2,h:8}],"\uD83E\uDF88":[{x:5,y:0,w:3,h:8}],"\uD83E\uDF89":[{x:3,y:0,w:5,h:8}],"\uD83E\uDF8A":[{x:2,y:0,w:6,h:8}],"\uD83E\uDF8B":[{x:1,y:0,w:7,h:8}],"\uD83E\uDF95":[{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}],"\uD83E\uDF96":[{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}],"\uD83E\uDF97":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};let K={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};Z.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"║":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╒":{1:(H,M)=>`M.5,1 L.5,${0.5-M} L1,${0.5-M} M.5,${0.5+M} L1,${0.5+M}`},"╓":{1:(H,M)=>`M${0.5-H},1 L${0.5-H},.5 L1,.5 M${0.5+H},.5 L${0.5+H},1`},"╔":{1:(H,M)=>`M1,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1`},"╕":{1:(H,M)=>`M0,${0.5-M} L.5,${0.5-M} L.5,1 M0,${0.5+M} L.5,${0.5+M}`},"╖":{1:(H,M)=>`M${0.5+H},1 L${0.5+H},.5 L0,.5 M${0.5-H},.5 L${0.5-H},1`},"╗":{1:(H,M)=>`M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M0,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},1`},"╘":{1:(H,M)=>`M.5,0 L.5,${0.5+M} L1,${0.5+M} M.5,${0.5-M} L1,${0.5-M}`},"╙":{1:(H,M)=>`M1,.5 L${0.5-H},.5 L${0.5-H},0 M${0.5+H},.5 L${0.5+H},0`},"╚":{1:(H,M)=>`M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0 M1,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},0`},"╛":{1:(H,M)=>`M0,${0.5+M} L.5,${0.5+M} L.5,0 M0,${0.5-M} L.5,${0.5-M}`},"╜":{1:(H,M)=>`M0,.5 L${0.5+H},.5 L${0.5+H},0 M${0.5-H},.5 L${0.5-H},0`},"╝":{1:(H,M)=>`M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M0,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},0`},"╞":{1:(H,M)=>`M.5,0 L.5,1 M.5,${0.5-M} L1,${0.5-M} M.5,${0.5+M} L1,${0.5+M}`},"╟":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1 M${0.5+H},.5 L1,.5`},"╠":{1:(H,M)=>`M${0.5-H},0 L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╡":{1:(H,M)=>`M.5,0 L.5,1 M0,${0.5-M} L.5,${0.5-M} M0,${0.5+M} L.5,${0.5+M}`},"╢":{1:(H,M)=>`M0,.5 L${0.5-H},.5 M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╣":{1:(H,M)=>`M${0.5+H},0 L${0.5+H},1 M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0`},"╤":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M} M.5,${0.5+M} L.5,1`},"╥":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},.5 L${0.5-H},1 M${0.5+H},.5 L${0.5+H},1`},"╦":{1:(H,M)=>`M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1`},"╧":{1:(H,M)=>`M.5,0 L.5,${0.5-M} M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"╨":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},.5 L${0.5-H},0 M${0.5+H},.5 L${0.5+H},0`},"╩":{1:(H,M)=>`M0,${0.5+M} L1,${0.5+M} M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╪":{1:(H,M)=>`M.5,0 L.5,1 M0,${0.5-M} L1,${0.5-M} M0,${0.5+M} L1,${0.5+M}`},"╫":{1:(H,M)=>`M0,.5 L1,.5 M${0.5-H},0 L${0.5-H},1 M${0.5+H},0 L${0.5+H},1`},"╬":{1:(H,M)=>`M0,${0.5+M} L${0.5-H},${0.5+M} L${0.5-H},1 M1,${0.5+M} L${0.5+H},${0.5+M} L${0.5+H},1 M0,${0.5-M} L${0.5-H},${0.5-M} L${0.5-H},0 M1,${0.5-M} L${0.5+H},${0.5-M} L${0.5+H},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{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"},"┉":{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"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(H,M)=>`M.5,1 L.5,${0.5+M/0.15*0.5} C.5,${0.5+M/0.15*0.5},.5,.5,1,.5`},"╮":{1:(H,M)=>`M.5,1 L.5,${0.5+M/0.15*0.5} C.5,${0.5+M/0.15*0.5},.5,.5,0,.5`},"╯":{1:(H,M)=>`M.5,0 L.5,${0.5-M/0.15*0.5} C.5,${0.5-M/0.15*0.5},.5,.5,0,.5`},"╰":{1:(H,M)=>`M.5,0 L.5,${0.5-M/0.15*0.5} C.5,${0.5-M/0.15*0.5},.5,.5,1,.5`}},Z.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{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},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{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},"":{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},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},Z.powerlineDefinitions[""]=Z.powerlineDefinitions[""],Z.powerlineDefinitions[""]=Z.powerlineDefinitions[""],Z.tryDrawCustomChar=function(H,M,A,W,B,L,P,k){let N=Z.blockElementDefinitions[M];if(N)return function(Q,w,U,E,S,y){for(let I=0;I7&&parseInt(T.slice(7,9),16)||1;else{if(!T.startsWith("rgba"))throw Error(`Unexpected fillStyle color format "${T}" when drawing pattern glyph`);[Y0,l,Z0,G0]=T.substring(5,T.length-1).split(",").map((J0)=>parseFloat(J0))}for(let J0=0;J0H.bezierCurveTo(M[0],M[1],M[2],M[3],M[4],M[5]),L:(H,M)=>H.lineTo(M[0],M[1]),M:(H,M)=>H.moveTo(M[0],M[1])};function R(H,M,A,W,B,L,P,k=0,N=0){let F=H.map(($)=>parseFloat($)||parseInt($));if(F.length<2)throw Error("Too few arguments for instruction");for(let $=0;${Object.defineProperty(Z,"__esModule",{value:!0}),Z.observeDevicePixelDimensions=void 0;let j=V(859);Z.observeDevicePixelDimensions=function(K,z,D){let C=new z.ResizeObserver((R)=>{let H=R.find((W)=>W.target===K);if(!H)return;if(!("devicePixelContentBoxSize"in H))return C?.disconnect(),void(C=void 0);let M=H.devicePixelContentBoxSize[0].inlineSize,A=H.devicePixelContentBoxSize[0].blockSize;M>0&&A>0&&D(M,A)});try{C.observe(K,{box:["device-pixel-content-box"]})}catch{C.disconnect(),C=void 0}return(0,j.toDisposable)(()=>C?.disconnect())}},374:(X,Z)=>{function V(K){return 57508<=K&&K<=57558}function j(K){return K>=128512&&K<=128591||K>=127744&&K<=128511||K>=128640&&K<=128767||K>=9728&&K<=9983||K>=9984&&K<=10175||K>=65024&&K<=65039||K>=129280&&K<=129535||K>=127462&&K<=127487}Object.defineProperty(Z,"__esModule",{value:!0}),Z.computeNextVariantOffset=Z.createRenderDimensions=Z.treatGlyphAsBackgroundColor=Z.allowRescaling=Z.isEmoji=Z.isRestrictedPowerlineGlyph=Z.isPowerlineGlyph=Z.throwIfFalsy=void 0,Z.throwIfFalsy=function(K){if(!K)throw Error("value must not be falsy");return K},Z.isPowerlineGlyph=V,Z.isRestrictedPowerlineGlyph=function(K){return 57520<=K&&K<=57527},Z.isEmoji=j,Z.allowRescaling=function(K,z,D,C){return z===1&&D>Math.ceil(1.5*C)&&K!==void 0&&K>255&&!j(K)&&!V(K)&&!function(R){return 57344<=R&&R<=63743}(K)},Z.treatGlyphAsBackgroundColor=function(K){return V(K)||function(z){return 9472<=z&&z<=9631}(K)},Z.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}}}},Z.computeNextVariantOffset=function(K,z,D=0){return(K-(2*Math.round(z)-D))%(2*Math.round(z))}},296:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.createSelectionRenderModel=void 0;class V{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(j,K,z,D=!1){if(this.selectionStart=K,this.selectionEnd=z,!K||!z||K[0]===z[0]&&K[1]===z[1])return void this.clear();let C=j.buffers.active.ydisp,R=K[1]-C,H=z[1]-C,M=Math.max(R,0),A=Math.min(H,j.rows-1);M>=j.rows||A<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=D,this.viewportStartRow=R,this.viewportEndRow=H,this.viewportCappedStartRow=M,this.viewportCappedEndRow=A,this.startCol=K[0],this.endCol=z[0])}isCellSelected(j,K,z){return!!this.hasSelection&&(z-=j.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?K>=this.startCol&&z>=this.viewportCappedStartRow&&K=this.viewportCappedStartRow&&K>=this.endCol&&z<=this.viewportCappedEndRow:z>this.viewportStartRow&&z=this.startCol&&K=this.startCol)}}Z.createSelectionRenderModel=function(){return new V}},509:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.TextureAtlas=void 0;let j=V(237),K=V(860),z=V(374),D=V(160),C=V(345),R=V(485),H=V(385),M=V(147),A=V(855),W={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}},B;class L{get pages(){return this._pages}constructor(F,$,O){this._document=F,this._config=$,this._unicodeService=O,this._didWarmUp=!1,this._cacheMap=new R.FourKeyMap,this._cacheMapCombined=new R.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new M.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new C.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new C.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=N(F,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,z.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(let F of this.pages)F.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){let F=new H.IdleTaskQueue;for(let $=33;$<126;$++)F.enqueue(()=>{if(!this._cacheMap.get($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT)){let O=this._drawToCache($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT);this._cacheMap.set($,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT,O)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(let F of this._pages)F.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(L.maxAtlasPages&&this._pages.length>=Math.max(4,L.maxAtlasPages)){let $=this._pages.filter((y)=>2*y.canvas.width<=(L.maxTextureSize||4096)).sort((y,I)=>I.canvas.width!==y.canvas.width?I.canvas.width-y.canvas.width:I.percentageUsed-y.percentageUsed),O=-1,Q=0;for(let y=0;y<$.length;y++)if($[y].canvas.width!==Q)O=y,Q=$[y].canvas.width;else if(y-O==3)break;let w=$.slice(O,O+4),U=w.map((y)=>y.glyphs[0].texturePage).sort((y,I)=>y>I?1:-1),E=this.pages.length-w.length,S=this._mergePages(w,E);S.version++;for(let y=U.length-1;y>=0;y--)this._deletePage(U[y]);this.pages.push(S),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(S.canvas)}let F=new P(this._document,this._textureSize);return this._pages.push(F),this._activePages.push(F),this._onAddTextureAtlasCanvas.fire(F.canvas),F}_mergePages(F,$){let O=2*F[0].canvas.width,Q=new P(this._document,O,F);for(let[w,U]of F.entries()){let E=w*U.canvas.width%O,S=Math.floor(w/2)*U.canvas.height;Q.ctx.drawImage(U.canvas,E,S);for(let I of U.glyphs)I.texturePage=$,I.sizeClipSpace.x=I.size.x/O,I.sizeClipSpace.y=I.size.y/O,I.texturePosition.x+=E,I.texturePosition.y+=S,I.texturePositionClipSpace.x=I.texturePosition.x/O,I.texturePositionClipSpace.y=I.texturePosition.y/O;this._onRemoveTextureAtlasCanvas.fire(U.canvas);let y=this._activePages.indexOf(U);y!==-1&&this._activePages.splice(y,1)}return Q}_deletePage(F){this._pages.splice(F,1);for(let $=F;$=this._config.colors.ansi.length)throw Error("No color found for idx "+F);return this._config.colors.ansi[F]}_getBackgroundColor(F,$,O,Q){if(this._config.allowTransparency)return D.NULL_COLOR;let w;switch(F){case 16777216:case 33554432:w=this._getColorFromAnsiIndex($);break;case 50331648:let U=M.AttributeData.toColorRGB($);w=D.channels.toColor(U[0],U[1],U[2]);break;default:w=O?D.color.opaque(this._config.colors.foreground):this._config.colors.background}return w}_getForegroundColor(F,$,O,Q,w,U,E,S,y,I){let T=this._getMinimumContrastColor(F,$,O,Q,w,U,E,y,S,I);if(T)return T;let b;switch(w){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&y&&U<8&&(U+=8),b=this._getColorFromAnsiIndex(U);break;case 50331648:let x=M.AttributeData.toColorRGB(U);b=D.channels.toColor(x[0],x[1],x[2]);break;default:b=E?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(b=D.color.opaque(b)),S&&(b=D.color.multiplyOpacity(b,j.DIM_OPACITY)),b}_resolveBackgroundRgba(F,$,O){switch(F){case 16777216:case 33554432:return this._getColorFromAnsiIndex($).rgba;case 50331648:return $<<8;default:return O?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(F,$,O,Q){switch(F){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&Q&&$<8&&($+=8),this._getColorFromAnsiIndex($).rgba;case 50331648:return $<<8;default:return O?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(F,$,O,Q,w,U,E,S,y,I){if(this._config.minimumContrastRatio===1||I)return;let T=this._getContrastCache(y),b=T.getColor(F,Q);if(b!==void 0)return b||void 0;let x=this._resolveBackgroundRgba($,O,E),f=this._resolveForegroundRgba(w,U,E,S),g=D.rgba.ensureContrastRatio(x,f,this._config.minimumContrastRatio/(y?2:1));if(!g)return void T.setColor(F,Q,null);let a=D.channels.toColor(g>>24&255,g>>16&255,g>>8&255);return T.setColor(F,Q,a),a}_getContrastCache(F){return F?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(F,$,O,Q,w=!1){let U=typeof F=="number"?String.fromCharCode(F):F,E=Math.min(this._config.deviceCellWidth*Math.max(U.length,2)+4,this._textureSize);this._tmpCanvas.width=m?2*m-b0:m-b0;!(b0>=m)==!1||Y3===0?(this._tmpCtx.setLineDash([Math.round(m),Math.round(m)]),this._tmpCtx.moveTo(i+Y3,e),this._tmpCtx.lineTo(z0,e)):(this._tmpCtx.setLineDash([Math.round(m),Math.round(m)]),this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(i+Y3,e),this._tmpCtx.moveTo(i+Y3+m,e),this._tmpCtx.lineTo(z0,e)),b0=(0,z.computeNextVariantOffset)(z0-i,m,b0);break;case 5:let a4=0.6,l4=0.3,A3=z0-i,v3=Math.floor(a4*A3),m3=Math.floor(l4*A3),o4=A3-v3-m3;this._tmpCtx.setLineDash([v3,m3,o4]),this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(z0,e);break;default:this._tmpCtx.moveTo(i,e),this._tmpCtx.lineTo(z0,e)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!R0&&this._config.fontSize>=12&&!this._config.allowTransparency&&U!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";let H0=this._tmpCtx.measureText(U);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in H0&&H0.actualBoundingBoxDescent>0){this._tmpCtx.save();let i=new Path2D;i.rect(M0,e-Math.ceil(m/2),this._config.deviceCellWidth*r,l0-e+Math.ceil(m/2)),this._tmpCtx.clip(i),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=Z0.css,this._tmpCtx.strokeText(U,h,h+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(g){let m=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),o=m%2==1?0.5:0;this._tmpCtx.lineWidth=m,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(h,h+o),this._tmpCtx.lineTo(h+this._config.deviceCharWidth*r,h+o),this._tmpCtx.stroke()}if(R0||this._tmpCtx.fillText(U,h,h+this._config.deviceCharHeight),U==="_"&&!this._config.allowTransparency){let m=k(this._tmpCtx.getImageData(h,h,this._config.deviceCellWidth,this._config.deviceCellHeight),Z0,w0,x0);if(m)for(let o=1;o<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=Z0.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(U,h,h+this._config.deviceCharHeight-o),m=k(this._tmpCtx.getImageData(h,h,this._config.deviceCellWidth,this._config.deviceCellHeight),Z0,w0,x0),m);o++);}if(f){let m=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),o=this._tmpCtx.lineWidth%2==1?0.5:0;this._tmpCtx.lineWidth=m,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(h,h+Math.floor(this._config.deviceCharHeight/2)-o),this._tmpCtx.lineTo(h+this._config.deviceCharWidth*r,h+Math.floor(this._config.deviceCharHeight/2)-o),this._tmpCtx.stroke()}this._tmpCtx.restore();let e0=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),b3;if(b3=this._config.allowTransparency?function(m){for(let o=0;o0)return!1;return!0}(e0):k(e0,Z0,w0,x0),b3)return W;let c=this._findGlyphBoundingBox(e0,this._workBoundingBox,E,B0,R0,h),u,d;for(;;){if(this._activePages.length===0){let m=this._createNewPage();u=m,d=m.currentRow,d.height=c.size.y;break}u=this._activePages[this._activePages.length-1],d=u.currentRow;for(let m of this._activePages)c.size.y<=m.currentRow.height&&(u=m,d=m.currentRow);for(let m=this._activePages.length-1;m>=0;m--)for(let o of this._activePages[m].fixedRows)o.height<=d.height&&c.size.y<=o.height&&(u=this._activePages[m],d=o);if(d.y+c.size.y>=u.canvas.height||d.height>c.size.y+2){let m=!1;if(u.currentRow.y+u.currentRow.height+c.size.y>=u.canvas.height){let o;for(let M0 of this._activePages)if(M0.currentRow.y+M0.currentRow.height+c.size.y=L.maxAtlasPages&&d.y+c.size.y<=u.canvas.height&&d.height>=c.size.y&&d.x+c.size.x<=u.canvas.width)m=!0;else{let M0=this._createNewPage();u=M0,d=M0.currentRow,d.height=c.size.y,m=!0}}m||(u.currentRow.height>0&&u.fixedRows.push(u.currentRow),d={x:0,y:u.currentRow.y+u.currentRow.height,height:c.size.y},u.fixedRows.push(d),u.currentRow={x:0,y:d.y+d.height,height:0})}if(d.x+c.size.x<=u.canvas.width)break;d===u.currentRow?(d.x=0,d.y+=d.height,d.height=0):u.fixedRows.splice(u.fixedRows.indexOf(d),1)}return c.texturePage=this._pages.indexOf(u),c.texturePosition.x=d.x,c.texturePosition.y=d.y,c.texturePositionClipSpace.x=d.x/u.canvas.width,c.texturePositionClipSpace.y=d.y/u.canvas.height,c.sizeClipSpace.x/=u.canvas.width,c.sizeClipSpace.y/=u.canvas.height,d.height=Math.max(d.height,c.size.y),d.x+=c.size.x,u.ctx.putImageData(e0,c.texturePosition.x-this._workBoundingBox.left,c.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,c.size.x,c.size.y),u.addGlyph(c),u.version++,c}_findGlyphBoundingBox(F,$,O,Q,w,U){$.top=0;let E=Q?this._config.deviceCellHeight:this._tmpCanvas.height,S=Q?this._config.deviceCellWidth:O,y=!1;for(let I=0;I=U;I--){for(let T=0;T=0;I--){for(let T=0;T>>24,U=$.rgba>>>16&255,E=$.rgba>>>8&255,S=O.rgba>>>24,y=O.rgba>>>16&255,I=O.rgba>>>8&255,T=Math.floor((Math.abs(w-S)+Math.abs(U-y)+Math.abs(E-I))/12),b=!0;for(let x=0;x=0;F--)(P=A[F])&&(N=(k<3?P(N):k>3?P(W,B,N):P(W,B))||N);return k>3&&N&&Object.defineProperty(W,B,N),N},K=this&&this.__param||function(A,W){return function(B,L){W(B,L,A)}};Object.defineProperty(Z,"__esModule",{value:!0}),Z.CharacterJoinerService=Z.JoinedCellData=void 0;let z=V(147),D=V(855),C=V(782),R=V(97);class H extends z.AttributeData{constructor(A,W,B){super(),this.content=0,this.combinedData="",this.fg=A.fg,this.bg=A.bg,this.combinedData=W,this._width=B}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(A){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}Z.JoinedCellData=H;let M=Z.CharacterJoinerService=class A{constructor(W){this._bufferService=W,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new C.CellData}register(W){let B={id:this._nextCharacterJoinerId++,handler:W};return this._characterJoiners.push(B),B.id}deregister(W){for(let B=0;B1){let w=this._getJoinedRanges(P,F,N,B,k);for(let U=0;U1){let Q=this._getJoinedRanges(P,F,N,B,k);for(let w=0;w{Object.defineProperty(Z,"__esModule",{value:!0}),Z.contrastRatio=Z.toPaddedHex=Z.rgba=Z.rgb=Z.css=Z.color=Z.channels=Z.NULL_COLOR=void 0;let V=0,j=0,K=0,z=0;var D,C,R,H,M;function A(B){let L=B.toString(16);return L.length<2?"0"+L:L}function W(B,L){return B>>0},B.toColor=function(L,P,k,N){return{css:B.toCss(L,P,k,N),rgba:B.toRgba(L,P,k,N)}}}(D||(Z.channels=D={})),function(B){function L(P,k){return z=Math.round(255*k),[V,j,K]=M.toChannels(P.rgba),{css:D.toCss(V,j,K,z),rgba:D.toRgba(V,j,K,z)}}B.blend=function(P,k){if(z=(255&k.rgba)/255,z===1)return{css:k.css,rgba:k.rgba};let N=k.rgba>>24&255,F=k.rgba>>16&255,$=k.rgba>>8&255,O=P.rgba>>24&255,Q=P.rgba>>16&255,w=P.rgba>>8&255;return V=O+Math.round((N-O)*z),j=Q+Math.round((F-Q)*z),K=w+Math.round(($-w)*z),{css:D.toCss(V,j,K),rgba:D.toRgba(V,j,K)}},B.isOpaque=function(P){return(255&P.rgba)==255},B.ensureContrastRatio=function(P,k,N){let F=M.ensureContrastRatio(P.rgba,k.rgba,N);if(F)return D.toColor(F>>24&255,F>>16&255,F>>8&255)},B.opaque=function(P){let k=(255|P.rgba)>>>0;return[V,j,K]=M.toChannels(k),{css:D.toCss(V,j,K),rgba:k}},B.opacity=L,B.multiplyOpacity=function(P,k){return z=255&P.rgba,L(P,z*k/255)},B.toColorRGB=function(P){return[P.rgba>>24&255,P.rgba>>16&255,P.rgba>>8&255]}}(C||(Z.color=C={})),function(B){let L,P;try{let k=document.createElement("canvas");k.width=1,k.height=1;let N=k.getContext("2d",{willReadFrequently:!0});N&&(L=N,L.globalCompositeOperation="copy",P=L.createLinearGradient(0,0,1,1))}catch{}B.toColor=function(k){if(k.match(/#[\da-f]{3,8}/i))switch(k.length){case 4:return V=parseInt(k.slice(1,2).repeat(2),16),j=parseInt(k.slice(2,3).repeat(2),16),K=parseInt(k.slice(3,4).repeat(2),16),D.toColor(V,j,K);case 5:return V=parseInt(k.slice(1,2).repeat(2),16),j=parseInt(k.slice(2,3).repeat(2),16),K=parseInt(k.slice(3,4).repeat(2),16),z=parseInt(k.slice(4,5).repeat(2),16),D.toColor(V,j,K,z);case 7:return{css:k,rgba:(parseInt(k.slice(1),16)<<8|255)>>>0};case 9:return{css:k,rgba:parseInt(k.slice(1),16)>>>0}}let N=k.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(N)return V=parseInt(N[1]),j=parseInt(N[2]),K=parseInt(N[3]),z=Math.round(255*(N[5]===void 0?1:parseFloat(N[5]))),D.toColor(V,j,K,z);if(!L||!P)throw Error("css.toColor: Unsupported css format");if(L.fillStyle=P,L.fillStyle=k,typeof L.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(L.fillRect(0,0,1,1),[V,j,K,z]=L.getImageData(0,0,1,1).data,z!==255)throw Error("css.toColor: Unsupported css format");return{rgba:D.toRgba(V,j,K,z),css:k}}}(R||(Z.css=R={})),function(B){function L(P,k,N){let F=P/255,$=k/255,O=N/255;return 0.2126*(F<=0.03928?F/12.92:Math.pow((F+0.055)/1.055,2.4))+0.7152*($<=0.03928?$/12.92:Math.pow(($+0.055)/1.055,2.4))+0.0722*(O<=0.03928?O/12.92:Math.pow((O+0.055)/1.055,2.4))}B.relativeLuminance=function(P){return L(P>>16&255,P>>8&255,255&P)},B.relativeLuminance2=L}(H||(Z.rgb=H={})),function(B){function L(k,N,F){let $=k>>24&255,O=k>>16&255,Q=k>>8&255,w=N>>24&255,U=N>>16&255,E=N>>8&255,S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));for(;S0||U>0||E>0);)w-=Math.max(0,Math.ceil(0.1*w)),U-=Math.max(0,Math.ceil(0.1*U)),E-=Math.max(0,Math.ceil(0.1*E)),S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));return(w<<24|U<<16|E<<8|255)>>>0}function P(k,N,F){let $=k>>24&255,O=k>>16&255,Q=k>>8&255,w=N>>24&255,U=N>>16&255,E=N>>8&255,S=W(H.relativeLuminance2(w,U,E),H.relativeLuminance2($,O,Q));for(;S>>0}B.blend=function(k,N){if(z=(255&N)/255,z===1)return N;let F=N>>24&255,$=N>>16&255,O=N>>8&255,Q=k>>24&255,w=k>>16&255,U=k>>8&255;return V=Q+Math.round((F-Q)*z),j=w+Math.round(($-w)*z),K=U+Math.round((O-U)*z),D.toRgba(V,j,K)},B.ensureContrastRatio=function(k,N,F){let $=H.relativeLuminance(k>>8),O=H.relativeLuminance(N>>8);if(W($,O)>8));if(EW($,H.relativeLuminance(S>>8))?U:S}return U}let Q=P(k,N,F),w=W($,H.relativeLuminance(Q>>8));if(wW($,H.relativeLuminance(U>>8))?Q:U}return Q}},B.reduceLuminance=L,B.increaseLuminance=P,B.toChannels=function(k){return[k>>24&255,k>>16&255,k>>8&255,255&k]}}(M||(Z.rgba=M={})),Z.toPaddedHex=A,Z.contrastRatio=W},345:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.runAndSubscribe=Z.forwardEvent=Z.EventEmitter=void 0,Z.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=(V)=>(this._listeners.push(V),{dispose:()=>{if(!this._disposed){for(let j=0;jj.fire(K))},Z.runAndSubscribe=function(V,j){return j(void 0),V((K)=>j(K))}},859:(X,Z)=>{function V(j){for(let K of j)K.dispose();j.length=0}Object.defineProperty(Z,"__esModule",{value:!0}),Z.getDisposeArrayDisposable=Z.disposeArray=Z.toDisposable=Z.MutableDisposable=Z.Disposable=void 0,Z.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let j of this._disposables)j.dispose();this._disposables.length=0}register(j){return this._disposables.push(j),j}unregister(j){let K=this._disposables.indexOf(j);K!==-1&&this._disposables.splice(K,1)}},Z.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(j){this._isDisposed||j===this._value||(this._value?.dispose(),this._value=j)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},Z.toDisposable=function(j){return{dispose:j}},Z.disposeArray=V,Z.getDisposeArrayDisposable=function(j){return{dispose:()=>V(j)}}},485:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.FourKeyMap=Z.TwoKeyMap=void 0;class V{constructor(){this._data={}}set(j,K,z){this._data[j]||(this._data[j]={}),this._data[j][K]=z}get(j,K){return this._data[j]?this._data[j][K]:void 0}clear(){this._data={}}}Z.TwoKeyMap=V,Z.FourKeyMap=class{constructor(){this._data=new V}set(j,K,z,D,C){this._data.get(j,K)||this._data.set(j,K,new V),this._data.get(j,K).set(z,D,C)}get(j,K,z,D){return this._data.get(j,K)?.get(z,D)}clear(){this._data.clear()}}},399:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.isChromeOS=Z.isLinux=Z.isWindows=Z.isIphone=Z.isIpad=Z.isMac=Z.getSafariVersion=Z.isSafari=Z.isLegacyEdge=Z.isFirefox=Z.isNode=void 0,Z.isNode=typeof process<"u"&&"title"in process;let V=Z.isNode?"node":navigator.userAgent,j=Z.isNode?"node":navigator.platform;Z.isFirefox=V.includes("Firefox"),Z.isLegacyEdge=V.includes("Edge"),Z.isSafari=/^((?!chrome|android).)*safari/i.test(V),Z.getSafariVersion=function(){if(!Z.isSafari)return 0;let K=V.match(/Version\/(\d+)/);return K===null||K.length<2?0:parseInt(K[1])},Z.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(j),Z.isIpad=j==="iPad",Z.isIphone=j==="iPhone",Z.isWindows=["Windows","Win16","Win32","WinCE"].includes(j),Z.isLinux=j.indexOf("Linux")>=0,Z.isChromeOS=/\bCrOS\b/.test(V)},385:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.DebouncedIdleTask=Z.IdleTaskQueue=Z.PriorityTaskQueue=void 0;let j=V(399);class K{constructor(){this._tasks=[],this._i=0}enqueue(D){this._tasks.push(D),this._start()}flush(){for(;this._iM)return H-C<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(H-C))}ms`),void this._start();H=M}this.clear()}}class z extends K{_requestCallback(D){return setTimeout(()=>D(this._createDeadline(16)))}_cancelCallback(D){clearTimeout(D)}_createDeadline(D){let C=Date.now()+D;return{timeRemaining:()=>Math.max(0,C-Date.now())}}}Z.PriorityTaskQueue=z,Z.IdleTaskQueue=!j.isNode&&"requestIdleCallback"in window?class extends K{_requestCallback(D){return requestIdleCallback(D)}_cancelCallback(D){cancelIdleCallback(D)}}:z,Z.DebouncedIdleTask=class{constructor(){this._queue=new Z.IdleTaskQueue}set(D){this._queue.clear(),this._queue.enqueue(D)}flush(){this._queue.flush()}}},147:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.ExtendedAttrs=Z.AttributeData=void 0;class V{constructor(){this.fg=0,this.bg=0,this.extended=new j}static toColorRGB(K){return[K>>>16&255,K>>>8&255,255&K]}static fromColorRGB(K){return(255&K[0])<<16|(255&K[1])<<8|255&K[2]}clone(){let K=new V;return K.fg=this.fg,K.bg=this.bg,K.extended=this.extended.clone(),K}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}}Z.AttributeData=V;class j{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(K){this._ext=K}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(K){this._ext&=-469762049,this._ext|=K<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(K){this._ext&=-67108864,this._ext|=67108863&K}get urlId(){return this._urlId}set urlId(K){this._urlId=K}get underlineVariantOffset(){let K=(3758096384&this._ext)>>29;return K<0?4294967288^K:K}set underlineVariantOffset(K){this._ext&=536870911,this._ext|=K<<29&3758096384}constructor(K=0,z=0){this._ext=0,this._urlId=0,this._ext=K,this._urlId=z}clone(){return new j(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}Z.ExtendedAttrs=j},782:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.CellData=void 0;let j=V(133),K=V(855),z=V(147);class D extends z.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new z.ExtendedAttrs,this.combinedData=""}static fromCharData(C){let R=new D;return R.setFromCharData(C),R}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,j.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(C){this.fg=C[K.CHAR_DATA_ATTR_INDEX],this.bg=0;let R=!1;if(C[K.CHAR_DATA_CHAR_INDEX].length>2)R=!0;else if(C[K.CHAR_DATA_CHAR_INDEX].length===2){let H=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=H&&H<=56319){let M=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=M&&M<=57343?this.content=1024*(H-55296)+M-56320+65536|C[K.CHAR_DATA_WIDTH_INDEX]<<22:R=!0}else R=!0}else this.content=C[K.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|C[K.CHAR_DATA_WIDTH_INDEX]<<22;R&&(this.combinedData=C[K.CHAR_DATA_CHAR_INDEX],this.content=2097152|C[K.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}Z.CellData=D},855:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.WHITESPACE_CELL_CODE=Z.WHITESPACE_CELL_WIDTH=Z.WHITESPACE_CELL_CHAR=Z.NULL_CELL_CODE=Z.NULL_CELL_WIDTH=Z.NULL_CELL_CHAR=Z.CHAR_DATA_CODE_INDEX=Z.CHAR_DATA_WIDTH_INDEX=Z.CHAR_DATA_CHAR_INDEX=Z.CHAR_DATA_ATTR_INDEX=Z.DEFAULT_EXT=Z.DEFAULT_ATTR=Z.DEFAULT_COLOR=void 0,Z.DEFAULT_COLOR=0,Z.DEFAULT_ATTR=256|Z.DEFAULT_COLOR<<9,Z.DEFAULT_EXT=0,Z.CHAR_DATA_ATTR_INDEX=0,Z.CHAR_DATA_CHAR_INDEX=1,Z.CHAR_DATA_WIDTH_INDEX=2,Z.CHAR_DATA_CODE_INDEX=3,Z.NULL_CELL_CHAR="",Z.NULL_CELL_WIDTH=1,Z.NULL_CELL_CODE=0,Z.WHITESPACE_CELL_CHAR=" ",Z.WHITESPACE_CELL_WIDTH=1,Z.WHITESPACE_CELL_CODE=32},133:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.Utf8ToUtf32=Z.StringToUtf32=Z.utf32ToString=Z.stringFromCodePoint=void 0,Z.stringFromCodePoint=function(V){return V>65535?(V-=65536,String.fromCharCode(55296+(V>>10))+String.fromCharCode(V%1024+56320)):String.fromCharCode(V)},Z.utf32ToString=function(V,j=0,K=V.length){let z="";for(let D=j;D65535?(C-=65536,z+=String.fromCharCode(55296+(C>>10))+String.fromCharCode(C%1024+56320)):z+=String.fromCharCode(C)}return z},Z.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(V,j){let K=V.length;if(!K)return 0;let z=0,D=0;if(this._interim){let C=V.charCodeAt(D++);56320<=C&&C<=57343?j[z++]=1024*(this._interim-55296)+C-56320+65536:(j[z++]=this._interim,j[z++]=C),this._interim=0}for(let C=D;C=K)return this._interim=R,z;let H=V.charCodeAt(C);56320<=H&&H<=57343?j[z++]=1024*(R-55296)+H-56320+65536:(j[z++]=R,j[z++]=H)}else R!==65279&&(j[z++]=R)}return z}},Z.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(V,j){let K=V.length;if(!K)return 0;let z,D,C,R,H=0,M=0,A=0;if(this.interim[0]){let L=!1,P=this.interim[0];P&=(224&P)==192?31:(240&P)==224?15:7;let k,N=0;for(;(k=63&this.interim[++N])&&N<4;)P<<=6,P|=k;let F=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,$=F-N;for(;A<$;){if(A>=K)return 0;if(k=V[A++],(192&k)!=128){A--,L=!0;break}this.interim[N++]=k,P<<=6,P|=63&k}L||(F===2?P<128?A--:j[H++]=P:F===3?P<2048||P>=55296&&P<=57343||P===65279||(j[H++]=P):P<65536||P>1114111||(j[H++]=P)),this.interim.fill(0)}let W=K-4,B=A;for(;B=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(M=(31&z)<<6|63&D,M<128){B--;continue}j[H++]=M}else if((240&z)==224){if(B>=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,H;if(C=V[B++],(192&C)!=128){B--;continue}if(M=(15&z)<<12|(63&D)<<6|63&C,M<2048||M>=55296&&M<=57343||M===65279)continue;j[H++]=M}else if((248&z)==240){if(B>=K)return this.interim[0]=z,H;if(D=V[B++],(192&D)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,H;if(C=V[B++],(192&C)!=128){B--;continue}if(B>=K)return this.interim[0]=z,this.interim[1]=D,this.interim[2]=C,H;if(R=V[B++],(192&R)!=128){B--;continue}if(M=(7&z)<<18|(63&D)<<12|(63&C)<<6|63&R,M<65536||M>1114111)continue;j[H++]=M}}return H}}},776:function(X,Z,V){var j=this&&this.__decorate||function(M,A,W,B){var L,P=arguments.length,k=P<3?A:B===null?B=Object.getOwnPropertyDescriptor(A,W):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(M,A,W,B);else for(var N=M.length-1;N>=0;N--)(L=M[N])&&(k=(P<3?L(k):P>3?L(A,W,k):L(A,W))||k);return P>3&&k&&Object.defineProperty(A,W,k),k},K=this&&this.__param||function(M,A){return function(W,B){A(W,B,M)}};Object.defineProperty(Z,"__esModule",{value:!0}),Z.traceCall=Z.setTraceLogger=Z.LogService=void 0;let z=V(859),D=V(97),C={trace:D.LogLevelEnum.TRACE,debug:D.LogLevelEnum.DEBUG,info:D.LogLevelEnum.INFO,warn:D.LogLevelEnum.WARN,error:D.LogLevelEnum.ERROR,off:D.LogLevelEnum.OFF},R,H=Z.LogService=class extends z.Disposable{get logLevel(){return this._logLevel}constructor(M){super(),this._optionsService=M,this._logLevel=D.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),R=this}_updateLogLevel(){this._logLevel=C[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(M){for(let A=0;AJSON.stringify(k)).join(", ")})`);let P=B.apply(this,L);return R.trace(`GlyphRenderer#${B.name} return`,P),P}}},726:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.createDecorator=Z.getServiceDependencies=Z.serviceRegistry=void 0;let V="di$target",j="di$dependencies";Z.serviceRegistry=new Map,Z.getServiceDependencies=function(K){return K[j]||[]},Z.createDecorator=function(K){if(Z.serviceRegistry.has(K))return Z.serviceRegistry.get(K);let z=function(D,C,R){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");(function(H,M,A){M[V]===M?M[j].push({id:H,index:A}):(M[j]=[{id:H,index:A}],M[V]=M)})(z,D,R)};return z.toString=()=>K,Z.serviceRegistry.set(K,z),z}},97:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.IDecorationService=Z.IUnicodeService=Z.IOscLinkService=Z.IOptionsService=Z.ILogService=Z.LogLevelEnum=Z.IInstantiationService=Z.ICharsetService=Z.ICoreService=Z.ICoreMouseService=Z.IBufferService=void 0;let j=V(726);var K;Z.IBufferService=(0,j.createDecorator)("BufferService"),Z.ICoreMouseService=(0,j.createDecorator)("CoreMouseService"),Z.ICoreService=(0,j.createDecorator)("CoreService"),Z.ICharsetService=(0,j.createDecorator)("CharsetService"),Z.IInstantiationService=(0,j.createDecorator)("InstantiationService"),function(z){z[z.TRACE=0]="TRACE",z[z.DEBUG=1]="DEBUG",z[z.INFO=2]="INFO",z[z.WARN=3]="WARN",z[z.ERROR=4]="ERROR",z[z.OFF=5]="OFF"}(K||(Z.LogLevelEnum=K={})),Z.ILogService=(0,j.createDecorator)("LogService"),Z.IOptionsService=(0,j.createDecorator)("OptionsService"),Z.IOscLinkService=(0,j.createDecorator)("OscLinkService"),Z.IUnicodeService=(0,j.createDecorator)("UnicodeService"),Z.IDecorationService=(0,j.createDecorator)("DecorationService")}},G={};function Y(X){var Z=G[X];if(Z!==void 0)return Z.exports;var V=G[X]={exports:{}};return q[X].call(V.exports,V,V.exports,Y),V.exports}var J={};return(()=>{var X=J;Object.defineProperty(X,"__esModule",{value:!0}),X.CanvasAddon=void 0;let Z=Y(345),V=Y(859),j=Y(776),K=Y(949);class z extends V.Disposable{constructor(){super(...arguments),this._onChangeTextureAtlas=this.register(new Z.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new Z.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event}get textureAtlas(){return this._renderer?.textureAtlas}activate(D){let C=D._core;if(!D.element)return void this.register(C.onWillOpen(()=>this.activate(D)));this._terminal=D;let{coreService:R,optionsService:H,screenElement:M,linkifier:A}=C,W=C,B=W._bufferService,L=W._renderService,P=W._characterJoinerService,k=W._charSizeService,N=W._coreBrowserService,F=W._decorationService,$=W._logService,O=W._themeService;(0,j.setTraceLogger)($),this._renderer=new K.CanvasRenderer(D,M,A,B,k,H,P,R,N,F,O),this.register((0,Z.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,Z.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),L.setRenderer(this._renderer),L.handleResize(B.cols,B.rows),this.register((0,V.toDisposable)(()=>{L.setRenderer(this._terminal._core._createRenderer()),L.handleResize(D.cols,D.rows),this._renderer?.dispose(),this._renderer=void 0}))}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}}X.CanvasAddon=z})(),J})())});var e7=f3((K4,e5)=>{(function(q,G){typeof K4=="object"&&typeof e5=="object"?e5.exports=G():typeof define=="function"&&define.amd?define([],G):typeof K4=="object"?K4.Unicode11Addon=G():q.Unicode11Addon=G()})(K4,()=>(()=>{var q={433:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.UnicodeV11=void 0;let j=V(938),K=[[768,879],[1155,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1541],[1552,1562],[1564,1564],[1611,1631],[1648,1648],[1750,1757],[1759,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2045,2045],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2259,2306],[2362,2362],[2364,2364],[2369,2376],[2381,2381],[2385,2391],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2558,2558],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2641,2641],[2672,2673],[2677,2677],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2810,2815],[2817,2817],[2876,2876],[2879,2879],[2881,2884],[2893,2893],[2902,2902],[2914,2915],[2946,2946],[3008,3008],[3021,3021],[3072,3072],[3076,3076],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3201],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],[3405,3405],[3426,3427],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],[4226,4226],[4229,4230],[4237,4237],[4253,4253],[4448,4607],[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6158],[6277,6278],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6683,6683],[6742,6742],[6744,6750],[6752,6752],[6754,6754],[6757,6764],[6771,6780],[6783,6783],[6832,6846],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],[7142,7142],[7144,7145],[7149,7149],[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],[7405,7405],[7412,7412],[7416,7417],[7616,7673],[7675,7679],[8203,8207],[8234,8238],[8288,8292],[8294,8303],[8400,8432],[11503,11505],[11647,11647],[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],[43010,43010],[43014,43014],[43019,43019],[43045,43046],[43204,43205],[43232,43249],[43263,43263],[43302,43309],[43335,43345],[43392,43394],[43443,43443],[43446,43449],[43452,43453],[43493,43493],[43561,43566],[43569,43570],[43573,43574],[43587,43587],[43596,43596],[43644,43644],[43696,43696],[43698,43700],[43703,43704],[43710,43711],[43713,43713],[43756,43757],[43766,43766],[44005,44005],[44008,44008],[44013,44013],[64286,64286],[65024,65039],[65056,65071],[65279,65279],[65529,65531]],z=[[66045,66045],[66272,66272],[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[68325,68326],[68900,68903],[69446,69456],[69633,69633],[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69821,69821],[69837,69837],[69888,69890],[69927,69931],[69933,69940],[70003,70003],[70016,70017],[70070,70078],[70089,70092],[70191,70193],[70196,70196],[70198,70199],[70206,70206],[70367,70367],[70371,70378],[70400,70401],[70459,70460],[70464,70464],[70502,70508],[70512,70516],[70712,70719],[70722,70724],[70726,70726],[70750,70750],[70835,70840],[70842,70842],[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],[71229,71229],[71231,71232],[71339,71339],[71341,71341],[71344,71349],[71351,71351],[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[72148,72151],[72154,72155],[72160,72160],[72193,72202],[72243,72248],[72251,72254],[72263,72263],[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72767,72767],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],[73018,73018],[73020,73021],[73023,73029],[73031,73031],[73104,73105],[73109,73109],[73111,73111],[73459,73460],[78896,78904],[92912,92916],[92976,92982],[94031,94031],[94095,94098],[113821,113822],[113824,113827],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],[121461,121461],[121476,121476],[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[123184,123190],[123628,123631],[125136,125142],[125252,125258],[917505,917505],[917536,917631],[917760,917999]],D=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9748,9749],[9800,9811],[9855,9855],[9875,9875],[9889,9889],[9898,9899],[9917,9918],[9924,9925],[9934,9934],[9940,9940],[9962,9962],[9970,9971],[9973,9973],[9978,9978],[9981,9981],[9989,9989],[9994,9995],[10024,10024],[10060,10060],[10062,10062],[10067,10069],[10071,10071],[10133,10135],[10160,10160],[10175,10175],[11035,11036],[11088,11088],[11093,11093],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12334,12350],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12730],[12736,12771],[12784,12830],[12832,12871],[12880,19903],[19968,42124],[42128,42182],[43360,43388],[44032,55203],[63744,64255],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65281,65376],[65504,65510]],C=[[94176,94179],[94208,100343],[100352,101106],[110592,110878],[110928,110930],[110948,110951],[110960,111355],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],[127988,127988],[127992,128062],[128064,128064],[128066,128252],[128255,128317],[128331,128334],[128336,128359],[128378,128378],[128405,128406],[128420,128420],[128507,128591],[128640,128709],[128716,128716],[128720,128722],[128725,128725],[128747,128748],[128756,128762],[128992,129003],[129293,129393],[129395,129398],[129402,129442],[129445,129450],[129454,129482],[129485,129535],[129648,129651],[129656,129658],[129664,129666],[129680,129685],[131072,196605],[196608,262141]],R;function H(M,A){let W,B=0,L=A.length-1;if(MA[L][1])return!1;for(;L>=B;)if(W=B+L>>1,M>A[W][1])B=W+1;else{if(!(MW&&(W=L)}return j.UnicodeService.createPropertyValue(0,W,B)}}},345:(X,Z)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.runAndSubscribe=Z.forwardEvent=Z.EventEmitter=void 0,Z.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=(V)=>(this._listeners.push(V),{dispose:()=>{if(!this._disposed){for(let j=0;jj.fire(K))},Z.runAndSubscribe=function(V,j){return j(void 0),V((K)=>j(K))}},490:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.UnicodeV6=void 0;let j=V(938),K=[[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]],z=[[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]],D;Z.UnicodeV6=class{constructor(){if(this.version="6",!D){D=new Uint8Array(65536),D.fill(1),D[0]=0,D.fill(0,1,32),D.fill(0,127,160),D.fill(2,4352,4448),D[9001]=2,D[9002]=2,D.fill(2,11904,42192),D[12351]=1,D.fill(2,44032,55204),D.fill(2,63744,64256),D.fill(2,65040,65050),D.fill(2,65072,65136),D.fill(2,65280,65377),D.fill(2,65504,65511);for(let C=0;CH[W][1])return!1;for(;W>=A;)if(M=A+W>>1,R>H[M][1])A=M+1;else{if(!(R=131072&&C<=196605||C>=196608&&C<=262141?2:1}charProperties(C,R){let H=this.wcwidth(C),M=H===0&&R!==0;if(M){let A=j.UnicodeService.extractWidth(R);A===0?M=!1:A>H&&(H=A)}return j.UnicodeService.createPropertyValue(0,H,M)}}},938:(X,Z,V)=>{Object.defineProperty(Z,"__esModule",{value:!0}),Z.UnicodeService=void 0;let j=V(345),K=V(490);class z{static extractShouldJoin(D){return(1&D)!=0}static extractWidth(D){return D>>1&3}static extractCharKind(D){return D>>3}static createPropertyValue(D,C,R=!1){return(16777215&D)<<3|(3&C)<<1|(R?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new j.EventEmitter,this.onChange=this._onChange.event;let D=new K.UnicodeV6;this.register(D),this._active=D.version,this._activeProvider=D}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(D){if(!this._providers[D])throw Error(`unknown Unicode version "${D}"`);this._active=D,this._activeProvider=this._providers[D],this._onChange.fire(D)}register(D){this._providers[D.version]=D}wcwidth(D){return this._activeProvider.wcwidth(D)}getStringCellWidth(D){let C=0,R=0,H=D.length;for(let M=0;M=H)return C+this.wcwidth(A);let L=D.charCodeAt(M);56320<=L&&L<=57343?A=1024*(A-55296)+L-56320+65536:C+=this.wcwidth(L)}let W=this.charProperties(A,R),B=z.extractWidth(W);z.extractShouldJoin(W)&&(B-=z.extractWidth(R)),C+=B,R=W}return C}charProperties(D,C){return this._activeProvider.charProperties(D,C)}}Z.UnicodeService=z}},G={};function Y(X){var Z=G[X];if(Z!==void 0)return Z.exports;var V=G[X]={exports:{}};return q[X](V,V.exports,Y),V.exports}var J={};return(()=>{var X=J;Object.defineProperty(X,"__esModule",{value:!0}),X.Unicode11Addon=void 0;let Z=Y(433);X.Unicode11Addon=class{activate(V){V.unicode.register(new Z.UnicodeV11)}dispose(){}}})(),J})())});var q8=f3((u4,q6)=>{(function(q,G){typeof u4=="object"&&typeof q6=="object"?q6.exports=G():typeof define=="function"&&define.amd?define([],G):typeof u4=="object"?u4.WebLinksAddon=G():q.WebLinksAddon=G()})(self,()=>(()=>{var q={6:(X,Z)=>{function V(K){try{let z=new URL(K),D=z.password&&z.username?`${z.protocol}//${z.username}:${z.password}@${z.host}`:z.username?`${z.protocol}//${z.username}@${z.host}`:`${z.protocol}//${z.host}`;return K.toLocaleLowerCase().startsWith(D.toLocaleLowerCase())}catch(z){return!1}}Object.defineProperty(Z,"__esModule",{value:!0}),Z.LinkComputer=Z.WebLinkProvider=void 0,Z.WebLinkProvider=class{constructor(K,z,D,C={}){this._terminal=K,this._regex=z,this._handler=D,this._options=C}provideLinks(K,z){let D=j.computeLink(K,this._regex,this._terminal,this._handler);z(this._addCallbacks(D))}_addCallbacks(K){return K.map((z)=>(z.leave=this._options.leave,z.hover=(D,C)=>{if(this._options.hover){let{range:R}=z;this._options.hover(D,C,R)}},z))}};class j{static computeLink(K,z,D,C){let R=new RegExp(z.source,(z.flags||"")+"g"),[H,M]=j._getWindowedLineStrings(K-1,D),A=H.join(""),W,B=[];for(;W=R.exec(A);){let L=W[0];if(!V(L))continue;let[P,k]=j._mapStrIdx(D,M,0,W.index),[N,F]=j._mapStrIdx(D,P,k,L.length);if(P===-1||k===-1||N===-1||F===-1)continue;let $={start:{x:k+1,y:P+1},end:{x:F,y:N+1}};B.push({range:$,text:L,activate:C})}return B}static _getWindowedLineStrings(K,z){let D,C=K,R=K,H=0,M="",A=[];if(D=z.buffer.active.getLine(K)){let W=D.translateToString(!0);if(D.isWrapped&&W[0]!==" "){for(H=0;(D=z.buffer.active.getLine(--C))&&H<2048&&(M=D.translateToString(!0),H+=M.length,A.push(M),D.isWrapped&&M.indexOf(" ")===-1););A.reverse()}for(A.push(W),H=0;(D=z.buffer.active.getLine(++R))&&D.isWrapped&&H<2048&&(M=D.translateToString(!0),H+=M.length,A.push(M),M.indexOf(" ")===-1););}return[A,C]}static _mapStrIdx(K,z,D,C){let R=K.buffer.active,H=R.getNullCell(),M=D;for(;C;){let A=R.getLine(z);if(!A)return[-1,-1];for(let W=M;W{var X=J;Object.defineProperty(X,"__esModule",{value:!0}),X.WebLinksAddon=void 0;let Z=Y(6),V=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function j(K,z){let D=window.open();if(D){try{D.opener=null}catch{}D.location.href=z}else console.warn("Opening link blocked as opener could not be cleared")}X.WebLinksAddon=class{constructor(K=j,z={}){this._handler=K,this._options=z}activate(K){this._terminal=K;let z=this._options,D=z.urlRegex||V;this._linkProvider=this._terminal.registerLinkProvider(new Z.WebLinkProvider(this._terminal,D,this._handler,z))}dispose(){this._linkProvider?.dispose()}}})(),J})())});var{defineProperty:M7,getOwnPropertyDescriptor:I8}=Object,T8=(q,G)=>{for(var Y in G)M7(q,Y,{get:G[Y],enumerable:!0})},F0=(q,G,Y,J)=>{for(var X=J>1?void 0:J?I8(G,Y):G,Z=q.length-1,V;Z>=0;Z--)(V=q[Z])&&(X=(J?V(G,Y,X):V(X))||X);return J&&X&&M7(G,Y,X),X},p=(q,G)=>(Y,J)=>G(Y,J,q),z6="Terminal input",M5={get:()=>z6,set:(q)=>z6=q},K6="Too much output to announce, navigate to rows manually to read",H5={get:()=>K6,set:(q)=>K6=q};function x8(q){return q.replace(/\r?\n/g,"\r")}function b8(q,G){return G?"\x1B[200~"+q+"\x1B[201~":q}function E8(q,G){q.clipboardData&&q.clipboardData.setData("text/plain",G.selectionText),q.preventDefault()}function v8(q,G,Y,J){if(q.stopPropagation(),q.clipboardData){let X=q.clipboardData.getData("text/plain");H7(X,G,Y,J)}}function H7(q,G,Y,J){q=x8(q),q=b8(q,Y.decPrivateModes.bracketedPasteMode&&J.rawOptions.ignoreBracketedPasteMode!==!0),Y.triggerDataEvent(q,!0),G.value=""}function D7(q,G,Y){let J=Y.getBoundingClientRect(),X=q.clientX-J.left-10,Z=q.clientY-J.top-10;G.style.width="20px",G.style.height="20px",G.style.left=`${X}px`,G.style.top=`${Z}px`,G.style.zIndex="1000",G.focus()}function j6(q,G,Y,J,X){D7(q,G,Y),X&&J.rightClickSelect(q),G.value=J.selectionText,G.select()}function C3(q){return q>65535?(q-=65536,String.fromCharCode((q>>10)+55296)+String.fromCharCode(q%1024+56320)):String.fromCharCode(q)}function x4(q,G=0,Y=q.length){let J="";for(let X=G;X65535?(Z-=65536,J+=String.fromCharCode((Z>>10)+55296)+String.fromCharCode(Z%1024+56320)):J+=String.fromCharCode(Z)}return J}var m8=class{constructor(){this._interim=0}clear(){this._interim=0}decode(q,G){let Y=q.length;if(!Y)return 0;let J=0,X=0;if(this._interim){let Z=q.charCodeAt(X++);56320<=Z&&Z<=57343?G[J++]=(this._interim-55296)*1024+Z-56320+65536:(G[J++]=this._interim,G[J++]=Z),this._interim=0}for(let Z=X;Z=Y)return this._interim=V,J;let j=q.charCodeAt(Z);56320<=j&&j<=57343?G[J++]=(V-55296)*1024+j-56320+65536:(G[J++]=V,G[J++]=j);continue}V!==65279&&(G[J++]=V)}return J}},_8=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(q,G){let Y=q.length;if(!Y)return 0;let J=0,X,Z,V,j,K=0,z=0;if(this.interim[0]){let R=!1,H=this.interim[0];H&=(H&224)===192?31:(H&240)===224?15:7;let M=0,A;for(;(A=this.interim[++M]&63)&&M<4;)H<<=6,H|=A;let W=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,B=W-M;for(;z=Y)return 0;if(A=q[z++],(A&192)!==128){z--,R=!0;break}else this.interim[M++]=A,H<<=6,H|=A&63}R||(W===2?H<128?z--:G[J++]=H:W===3?H<2048||H>=55296&&H<=57343||H===65279||(G[J++]=H):H<65536||H>1114111||(G[J++]=H)),this.interim.fill(0)}let D=Y-4,C=z;for(;C=Y)return this.interim[0]=X,J;if(Z=q[C++],(Z&192)!==128){C--;continue}if(K=(X&31)<<6|Z&63,K<128){C--;continue}G[J++]=K}else if((X&240)===224){if(C>=Y)return this.interim[0]=X,J;if(Z=q[C++],(Z&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=X,this.interim[1]=Z,J;if(V=q[C++],(V&192)!==128){C--;continue}if(K=(X&15)<<12|(Z&63)<<6|V&63,K<2048||K>=55296&&K<=57343||K===65279)continue;G[J++]=K}else if((X&248)===240){if(C>=Y)return this.interim[0]=X,J;if(Z=q[C++],(Z&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=X,this.interim[1]=Z,J;if(V=q[C++],(V&192)!==128){C--;continue}if(C>=Y)return this.interim[0]=X,this.interim[1]=Z,this.interim[2]=V,J;if(j=q[C++],(j&192)!==128){C--;continue}if(K=(X&7)<<18|(Z&63)<<12|(V&63)<<6|j&63,K<65536||K>1114111)continue;G[J++]=K}}return J}},C7="",$3=" ",J4=class q{constructor(){this.fg=0,this.bg=0,this.extended=new W4}static toColorRGB(G){return[G>>>16&255,G>>>8&255,G&255]}static fromColorRGB(G){return(G[0]&255)<<16|(G[1]&255)<<8|G[2]&255}clone(){let G=new q;return G.fg=this.fg,G.bg=this.bg,G.extended=this.extended.clone(),G}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}},W4=class q{constructor(G=0,Y=0){this._ext=0,this._urlId=0,this._ext=G,this._urlId=Y}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(G){this._ext=G}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(G){this._ext&=-469762049,this._ext|=G<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(G){this._ext&=-67108864,this._ext|=G&67108863}get urlId(){return this._urlId}set urlId(G){this._urlId=G}get underlineVariantOffset(){let G=(this._ext&3758096384)>>29;return G<0?G^4294967288:G}set underlineVariantOffset(G){this._ext&=536870911,this._ext|=G<<29&3758096384}clone(){return new q(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},c0=class q extends J4{constructor(){super(...arguments);this.content=0,this.fg=0,this.bg=0,this.extended=new W4,this.combinedData=""}static fromCharData(G){let Y=new q;return Y.setFromCharData(G),Y}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?C3(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(G){this.fg=G[0],this.bg=0;let Y=!1;if(G[1].length>2)Y=!0;else if(G[1].length===2){let J=G[1].charCodeAt(0);if(55296<=J&&J<=56319){let X=G[1].charCodeAt(1);56320<=X&&X<=57343?this.content=(J-55296)*1024+X-56320+65536|G[2]<<22:Y=!0}else Y=!0}else this.content=G[1].charCodeAt(0)|G[2]<<22;Y&&(this.combinedData=G[1],this.content=2097152|G[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},M6="di$target",D5="di$dependencies",n4=new Map;function f8(q){return q[D5]||[]}function y0(q){if(n4.has(q))return n4.get(q);let G=function(Y,J,X){if(arguments.length!==3)throw Error("@IServiceName-decorator can only be used to decorate a parameter");p8(G,Y,X)};return G._id=q,n4.set(q,G),G}function p8(q,G,Y){G[M6]===G?G[D5].push({id:q,index:Y}):(G[D5]=[{id:q,index:Y}],G[M6]=G)}var v0=y0("BufferService"),$7=y0("CoreMouseService"),U3=y0("CoreService"),g8=y0("CharsetService"),g5=y0("InstantiationService"),F7=y0("LogService"),m0=y0("OptionsService"),R7=y0("OscLinkService"),u8=y0("UnicodeService"),X4=y0("DecorationService"),C5=class{constructor(q,G,Y){this._bufferService=q,this._optionsService=G,this._oscLinkService=Y}provideLinks(q,G){let Y=this._bufferService.buffer.lines.get(q-1);if(!Y){G(void 0);return}let J=[],X=this._optionsService.rawOptions.linkHandler,Z=new c0,V=Y.getTrimmedLength(),j=-1,K=-1,z=!1;for(let D=0;DX?X.activate(M,A,R):d8(M,A),hover:(M,A)=>X?.hover?.(M,A,R),leave:(M,A)=>X?.leave?.(M,A,R)})}z=!1,Z.hasExtendedAttrs()&&Z.extended.urlId?(K=D,j=Z.extended.urlId):(K=-1,j=-1)}}G(J)}};C5=F0([p(0,v0),p(1,m0),p(2,R7)],C5);function d8(q,G){if(confirm(`Do you want to navigate to ${G}? + +WARNING: This link could potentially be dangerous`)){let Y=window.open();if(Y){try{Y.opener=null}catch{}Y.location.href=G}else console.warn("Opening link blocked as opener could not be cleared")}}var b4=y0("CharSizeService"),z3=y0("CoreBrowserService"),u5=y0("MouseService"),K3=y0("RenderService"),h8=y0("SelectionService"),A7=y0("CharacterJoinerService"),w3=y0("ThemeService"),k7=y0("LinkProviderService"),c8=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(q){setTimeout(()=>{throw q.stack?H6.isErrorNoTelemetry(q)?new H6(q.message+` + +`+q.stack):Error(q.message+` + +`+q.stack):q},0)}}addListener(q){return this.listeners.push(q),()=>{this._removeListener(q)}}emit(q){this.listeners.forEach((G)=>{G(q)})}_removeListener(q){this.listeners.splice(this.listeners.indexOf(q),1)}setUnexpectedErrorHandler(q){this.unexpectedErrorHandler=q}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(q){this.unexpectedErrorHandler(q),this.emit(q)}onUnexpectedExternalError(q){this.unexpectedErrorHandler(q)}},a8=new c8;function F4(q){l8(q)||a8.onUnexpectedError(q)}var $5="Canceled";function l8(q){return q instanceof o8?!0:q instanceof Error&&q.name===$5&&q.message===$5}var o8=class extends Error{constructor(){super($5),this.name=this.message}};function n8(q){return q?Error(`Illegal argument: ${q}`):Error("Illegal argument")}var H6=class q extends Error{constructor(G){super(G),this.name="CodeExpectedError"}static fromError(G){if(G instanceof q)return G;let Y=new q;return Y.message=G.message,Y.stack=G.stack,Y}static isErrorNoTelemetry(G){return G.name==="CodeExpectedError"}},F5=class q extends Error{constructor(G){super(G||"An unexpected bug occurred."),Object.setPrototypeOf(this,q.prototype)}};function s8(q,G,Y=0,J=q.length){let X=Y,Z=J;for(;X{function G(Z){return Z<0}q.isLessThan=G;function Y(Z){return Z<=0}q.isLessThanOrEqual=Y;function J(Z){return Z>0}q.isGreaterThan=J;function X(Z){return Z===0}q.isNeitherLessOrGreaterThan=X,q.greaterThan=1,q.lessThan=-1,q.neitherLessOrGreaterThan=0})(P7||={});function i8(q,G){return(Y,J)=>G(q(Y),q(J))}var t8=(q,G)=>q-G,D6=class q{constructor(G){this.iterate=G}forEach(G){this.iterate((Y)=>(G(Y),!0))}toArray(){let G=[];return this.iterate((Y)=>(G.push(Y),!0)),G}filter(G){return new q((Y)=>this.iterate((J)=>G(J)?Y(J):!0))}map(G){return new q((Y)=>this.iterate((J)=>Y(G(J))))}some(G){let Y=!1;return this.iterate((J)=>(Y=G(J),!Y)),Y}findFirst(G){let Y;return this.iterate((J)=>G(J)?(Y=J,!1):!0),Y}findLast(G){let Y;return this.iterate((J)=>(G(J)&&(Y=J),!0)),Y}findLastMaxBy(G){let Y,J=!0;return this.iterate((X)=>((J||P7.isGreaterThan(G(X,Y)))&&(J=!1,Y=X),!0)),Y}};D6.empty=new D6((q)=>{});function e8(q,G){let Y=Object.create(null);for(let J of q){let X=G(J),Z=Y[X];Z||(Z=Y[X]=[]),Z.push(J)}return Y}var C6,$6,yq=class{constructor(q,G){this.toKey=G,this._map=new Map,this[C6]="SetWithKey";for(let Y of q)this.add(Y)}get size(){return this._map.size}add(q){let G=this.toKey(q);return this._map.set(G,q),this}delete(q){return this._map.delete(this.toKey(q))}has(q){return this._map.has(this.toKey(q))}*entries(){for(let q of this._map.values())yield[q,q]}keys(){return this.values()}*values(){for(let q of this._map.values())yield q}clear(){this._map.clear()}forEach(q,G){this._map.forEach((Y)=>q.call(G,Y,Y,this))}[($6=Symbol.iterator,C6=Symbol.toStringTag,$6)](){return this.values()}},q9=class{constructor(){this.map=new Map}add(q,G){let Y=this.map.get(q);Y||(Y=new Set,this.map.set(q,Y)),Y.add(G)}delete(q,G){let Y=this.map.get(q);Y&&(Y.delete(G),Y.size===0&&this.map.delete(q))}forEach(q,G){let Y=this.map.get(q);Y&&Y.forEach(G)}get(q){return this.map.get(q)||new Set}};function G9(q,G){let Y=this,J=!1,X;return function(){if(J)return X;if(J=!0,G)try{X=q.apply(Y,arguments)}finally{G()}else X=q.apply(Y,arguments);return X}}var B7;((q)=>{function G(k){return k&&typeof k=="object"&&typeof k[Symbol.iterator]=="function"}q.is=G;let Y=Object.freeze([]);function J(){return Y}q.empty=J;function*X(k){yield k}q.single=X;function Z(k){return G(k)?k:X(k)}q.wrap=Z;function V(k){return k||Y}q.from=V;function*j(k){for(let N=k.length-1;N>=0;N--)yield k[N]}q.reverse=j;function K(k){return!k||k[Symbol.iterator]().next().done===!0}q.isEmpty=K;function z(k){return k[Symbol.iterator]().next().value}q.first=z;function D(k,N){let F=0;for(let $ of k)if(N($,F++))return!0;return!1}q.some=D;function C(k,N){for(let F of k)if(N(F))return F}q.find=C;function*R(k,N){for(let F of k)N(F)&&(yield F)}q.filter=R;function*H(k,N){let F=0;for(let $ of k)yield N($,F++)}q.map=H;function*M(k,N){let F=0;for(let $ of k)yield*N($,F++)}q.flatMap=M;function*A(...k){for(let N of k)yield*N}q.concat=A;function W(k,N,F){let $=F;for(let O of k)$=N($,O);return $}q.reduce=W;function*B(k,N,F=k.length){for(N<0&&(N+=k.length),F<0?F+=k.length:F>k.length&&(F=k.length);NY.source!==null&&!this.getRootParent(Y,G).isSingleton).flatMap(([Y])=>Y)}computeLeakingDisposables(G=10,Y){let J;if(Y)J=Y;else{let K=new Map,z=[...this.livingDisposables.values()].filter((C)=>C.source!==null&&!this.getRootParent(C,K).isSingleton);if(z.length===0)return;let D=new Set(z.map((C)=>C.value));if(J=z.filter((C)=>!(C.parent&&D.has(C.parent))),J.length===0)throw Error("There are cyclic diposable chains!")}if(!J)return;function X(K){function z(C,R){for(;C.length>0&&R.some((H)=>typeof H=="string"?H===C[0]:C[0].match(H));)C.shift()}let D=K.source.split(` +`).map((C)=>C.trim().replace("at ","")).filter((C)=>C!=="");return z(D,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),D.reverse()}let Z=new q9;for(let K of J){let z=X(K);for(let D=0;D<=z.length;D++)Z.add(z.slice(0,D).join(` +`),K)}J.sort(i8((K)=>K.idx,t8));let V="",j=0;for(let K of J.slice(0,G)){j++;let z=X(K),D=[];for(let C=0;CX(A)[C]),(A)=>A);delete M[z[C]];for(let[A,W]of Object.entries(M))D.unshift(` - stacktraces of ${W.length} other leaks continue with ${A}`);D.unshift(R)}V+=` + + +==================== Leaking disposable ${j}/${J.length}: ${K.value.constructor.name} ==================== +${D.join(` +`)} +============================================================ + +`}return J.length>G&&(V+=` + + +... and ${J.length-G} more leaking disposables + +`),{leaks:J,details:V}}};Z9.idx=0;function J9(q){Q3=q}if(Y9){let q="__is_disposable_tracked__";J9(new class{trackDisposable(G){let Y=Error("Potentially leaked disposable").stack;setTimeout(()=>{G[q]||console.log(Y)},3000)}setParent(G,Y){if(G&&G!==t.None)try{G[q]=!0}catch{}}markAsDisposed(G){if(G&&G!==t.None)try{G[q]=!0}catch{}}markAsSingleton(G){}})}function E4(q){return Q3?.trackDisposable(q),q}function v4(q){Q3?.markAsDisposed(q)}function q4(q,G){Q3?.setParent(q,G)}function X9(q,G){if(Q3)for(let Y of q)Q3.setParent(Y,G)}function F6(q){return Q3?.markAsSingleton(q),q}function W3(q){if(B7.is(q)){let G=[];for(let Y of q)if(Y)try{Y.dispose()}catch(J){G.push(J)}if(G.length===1)throw G[0];if(G.length>1)throw AggregateError(G,"Encountered errors while disposing of store");return Array.isArray(q)?[]:q}else if(q)return q.dispose(),q}function V9(...q){let G=j0(()=>W3(q));return X9(q,G),G}function j0(q){let G=E4({dispose:G9(()=>{v4(G),q()})});return G}var N7=class q{constructor(){this._toDispose=new Set,this._isDisposed=!1,E4(this)}dispose(){this._isDisposed||(v4(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{W3(this._toDispose)}finally{this._toDispose.clear()}}add(G){if(!G)return G;if(G===this)throw Error("Cannot register a disposable on itself!");return q4(G,this),this._isDisposed?q.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(G),G}delete(G){if(G){if(G===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(G),G.dispose()}}deleteAndLeak(G){G&&this._toDispose.has(G)&&(this._toDispose.delete(G),q4(G,null))}};N7.DISABLE_DISPOSED_WARNING=!1;var F3=N7,t=class{constructor(){this._store=new F3,E4(this),q4(this._store,this)}dispose(){v4(this),this._store.dispose()}_register(q){if(q===this)throw Error("Cannot register a disposable on itself!");return this._store.add(q)}};t.None=Object.freeze({dispose(){}});var y3=class{constructor(){this._isDisposed=!1,E4(this)}get value(){return this._isDisposed?void 0:this._value}set value(q){this._isDisposed||q===this._value||(this._value?.dispose(),q&&q4(q,this),this._value=q)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,v4(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let q=this._value;return this._value=void 0,q&&q4(q,null),q}},u0=typeof window=="object"?window:globalThis,R5=class q{constructor(G){this.element=G,this.next=q.Undefined,this.prev=q.Undefined}};R5.Undefined=new R5(void 0);var D0=R5,R6=class{constructor(){this._first=D0.Undefined,this._last=D0.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===D0.Undefined}clear(){let q=this._first;for(;q!==D0.Undefined;){let G=q.next;q.prev=D0.Undefined,q.next=D0.Undefined,q=G}this._first=D0.Undefined,this._last=D0.Undefined,this._size=0}unshift(q){return this._insert(q,!1)}push(q){return this._insert(q,!0)}_insert(q,G){let Y=new D0(q);if(this._first===D0.Undefined)this._first=Y,this._last=Y;else if(G){let X=this._last;this._last=Y,Y.prev=X,X.next=Y}else{let X=this._first;this._first=Y,Y.next=X,X.prev=Y}this._size+=1;let J=!1;return()=>{J||(J=!0,this._remove(Y))}}shift(){if(this._first!==D0.Undefined){let q=this._first.element;return this._remove(this._first),q}}pop(){if(this._last!==D0.Undefined){let q=this._last.element;return this._remove(this._last),q}}_remove(q){if(q.prev!==D0.Undefined&&q.next!==D0.Undefined){let G=q.prev;G.next=q.next,q.next.prev=G}else q.prev===D0.Undefined&&q.next===D0.Undefined?(this._first=D0.Undefined,this._last=D0.Undefined):q.next===D0.Undefined?(this._last=this._last.prev,this._last.next=D0.Undefined):q.prev===D0.Undefined&&(this._first=this._first.next,this._first.prev=D0.Undefined);this._size-=1}*[Symbol.iterator](){let q=this._first;for(;q!==D0.Undefined;)yield q.element,q=q.next}},z9=globalThis.performance&&typeof globalThis.performance.now=="function",K9=class q{static create(G){return new q(G)}constructor(G){this._now=z9&&G===!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}},j9=!1,A6=!1,M9=!1,I0;((q)=>{q.None=()=>t.None;function G(S){if(M9){let{onDidAddListener:y}=S,I=k5.create(),T=0;S.onDidAddListener=()=>{++T===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),I.print()),y?.()}}}function Y(S,y){return R(S,()=>{},0,void 0,!0,void 0,y)}q.defer=Y;function J(S){return(y,I=null,T)=>{let b=!1,x;return x=S((f)=>{if(!b)return x?x.dispose():b=!0,y.call(I,f)},null,T),b&&x.dispose(),x}}q.once=J;function X(S,y,I){return D((T,b=null,x)=>S((f)=>T.call(b,y(f)),null,x),I)}q.map=X;function Z(S,y,I){return D((T,b=null,x)=>S((f)=>{y(f),T.call(b,f)},null,x),I)}q.forEach=Z;function V(S,y,I){return D((T,b=null,x)=>S((f)=>y(f)&&T.call(b,f),null,x),I)}q.filter=V;function j(S){return S}q.signal=j;function K(...S){return(y,I=null,T)=>{let b=V9(...S.map((x)=>x((f)=>y.call(I,f))));return C(b,T)}}q.any=K;function z(S,y,I,T){let b=I;return X(S,(x)=>(b=y(b,x),b),T)}q.reduce=z;function D(S,y){let I,T={onWillAddFirstListener(){I=S(b.fire,b)},onDidRemoveLastListener(){I?.dispose()}};y||G(T);let b=new _(T);return y?.add(b),b.event}function C(S,y){return y instanceof Array?y.push(S):y&&y.add(S),S}function R(S,y,I=100,T=!1,b=!1,x,f){let g,a,n,Y0=0,l,Z0={leakWarningThreshold:x,onWillAddFirstListener(){g=S((J0)=>{Y0++,a=y(a,J0),T&&!n&&(G0.fire(a),a=void 0),l=()=>{let V0=a;a=void 0,n=void 0,(!T||Y0>1)&&G0.fire(V0),Y0=0},typeof I=="number"?(clearTimeout(n),n=setTimeout(l,I)):n===void 0&&(n=0,queueMicrotask(l))})},onWillRemoveListener(){b&&Y0>0&&l?.()},onDidRemoveLastListener(){l=void 0,g.dispose()}};f||G(Z0);let G0=new _(Z0);return f?.add(G0),G0.event}q.debounce=R;function H(S,y=0,I){return q.debounce(S,(T,b)=>T?(T.push(b),T):[b],y,void 0,!0,void 0,I)}q.accumulate=H;function M(S,y=(T,b)=>T===b,I){let T=!0,b;return V(S,(x)=>{let f=T||!y(x,b);return T=!1,b=x,f},I)}q.latch=M;function A(S,y,I){return[q.filter(S,y,I),q.filter(S,(T)=>!y(T),I)]}q.split=A;function W(S,y=!1,I=[],T){let b=I.slice(),x=S((a)=>{b?b.push(a):g.fire(a)});T&&T.add(x);let f=()=>{b?.forEach((a)=>g.fire(a)),b=null},g=new _({onWillAddFirstListener(){x||(x=S((a)=>g.fire(a)),T&&T.add(x))},onDidAddFirstListener(){b&&(y?setTimeout(f):f())},onDidRemoveLastListener(){x&&x.dispose(),x=null}});return T&&T.add(g),g.event}q.buffer=W;function B(S,y){return(I,T,b)=>{let x=y(new P);return S(function(f){let g=x.evaluate(f);g!==L&&I.call(T,g)},void 0,b)}}q.chain=B;let L=Symbol("HaltChainable");class P{constructor(){this.steps=[]}map(S){return this.steps.push(S),this}forEach(S){return this.steps.push((y)=>(S(y),y)),this}filter(S){return this.steps.push((y)=>S(y)?y:L),this}reduce(S,y){let I=y;return this.steps.push((T)=>(I=S(I,T),I)),this}latch(S=(y,I)=>y===I){let y=!0,I;return this.steps.push((T)=>{let b=y||!S(T,I);return y=!1,I=T,b?T:L}),this}evaluate(S){for(let y of this.steps)if(S=y(S),S===L)break;return S}}function k(S,y,I=(T)=>T){let T=(...g)=>f.fire(I(...g)),b=()=>S.on(y,T),x=()=>S.removeListener(y,T),f=new _({onWillAddFirstListener:b,onDidRemoveLastListener:x});return f.event}q.fromNodeEventEmitter=k;function N(S,y,I=(T)=>T){let T=(...g)=>f.fire(I(...g)),b=()=>S.addEventListener(y,T),x=()=>S.removeEventListener(y,T),f=new _({onWillAddFirstListener:b,onDidRemoveLastListener:x});return f.event}q.fromDOMEventEmitter=N;function F(S){return new Promise((y)=>J(S)(y))}q.toPromise=F;function $(S){let y=new _;return S.then((I)=>{y.fire(I)},()=>{y.fire(void 0)}).finally(()=>{y.dispose()}),y.event}q.fromPromise=$;function O(S,y){return S((I)=>y.fire(I))}q.forward=O;function Q(S,y,I){return y(I),S((T)=>y(T))}q.runAndSubscribe=Q;class w{constructor(S,y){this._observable=S,this._counter=0,this._hasChanged=!1;let I={onWillAddFirstListener:()=>{S.addObserver(this)},onDidRemoveLastListener:()=>{S.removeObserver(this)}};y||G(I),this.emitter=new _(I),y&&y.add(this.emitter)}beginUpdate(S){this._counter++}handlePossibleChange(S){}handleChange(S,y){this._hasChanged=!0}endUpdate(S){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function U(S,y){return new w(S,y).emitter.event}q.fromObservable=U;function E(S){return(y,I,T)=>{let b=0,x=!1,f={beginUpdate(){b++},endUpdate(){b--,b===0&&(S.reportChanges(),x&&(x=!1,y.call(I)))},handlePossibleChange(){},handleChange(){x=!0}};S.addObserver(f),S.reportChanges();let g={dispose(){S.removeObserver(f)}};return T instanceof F3?T.add(g):Array.isArray(T)&&T.push(g),g}}q.fromObservableLight=E})(I0||={});var A5=class q{constructor(G){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${G}_${q._idPool++}`,q.all.add(this)}start(G){this._stopWatch=new K9,this.listenerCount=G}stop(){if(this._stopWatch){let G=this._stopWatch.elapsed();this.durations.push(G),this.elapsedOverall+=G,this.invocationCount+=1,this._stopWatch=void 0}}};A5.all=new Set,A5._idPool=0;var H9=A5,k6=-1,Q7=class q{constructor(G,Y,J=(q._idPool++).toString(16).padStart(3,"0")){this._errorHandler=G,this.threshold=Y,this.name=J,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(G,Y){let J=this.threshold;if(J<=0||Y{let Z=this._stacks.get(G.value)||0;this._stacks.set(G.value,Z-1)}}getMostFrequentStack(){if(!this._stacks)return;let G,Y=0;for(let[J,X]of this._stacks)(!G||Y{if(q instanceof R4)G(q);else for(let Y=0;Y{q.length!==0&&(console.warn("[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:"),console.warn(q.join(` +`)),q.length=0)},3000),A4=new FinalizationRegistry((G)=>{typeof G=="string"&&q.push(G)})}var _=class{constructor(q){this._size=0,this._options=q,this._leakageMon=k6>0||this._options?.leakWarningThreshold?new D9(q?.onListenerError??F4,this._options?.leakWarningThreshold??k6):void 0,this._perfMon=this._options?._profName?new H9(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(A6){let q=this._listeners;queueMicrotask(()=>{A9(q,(G)=>G.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(q,G,Y)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let j=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(j);let K=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],z=new $9(`${j}. HINT: Stack shows most frequent listener (${K[1]}-times)`,K[0]);return(this._options?.onListenerError||F4)(z),t.None}if(this._disposed)return t.None;G&&(q=q.bind(G));let J=new R4(q),X,Z;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2)&&(J.stack=k5.create(),X=this._leakageMon.check(J.stack,this._size+1)),A6&&(J.stack=Z??k5.create()),this._listeners?this._listeners instanceof R4?(this._deliveryQueue??=new k9,this._listeners=[this._listeners,J]):this._listeners.push(J):(this._options?.onWillAddFirstListener?.(this),this._listeners=J,this._options?.onDidAddFirstListener?.(this)),this._size++;let V=j0(()=>{A4?.unregister(V),X?.(),this._removeListener(J)});if(Y instanceof F3?Y.add(V):Array.isArray(Y)&&Y.push(V),A4){let j=Error().stack.split(` +`).slice(2,3).join(` +`).trim(),K=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(j);A4.register(V,K?.[2]??j,V)}return V},this._event}_removeListener(q){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 G=this._listeners,Y=G.indexOf(q);if(Y===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,G[Y]=void 0;let J=this._deliveryQueue.current===this;if(this._size*R9<=G.length){let X=0;for(let Z=0;Z0}},k9=class{constructor(){this.i=-1,this.end=0}enqueue(q,G,Y){this.i=0,this.end=Y,this.current=q,this.value=G}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},P5=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new _,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new _,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(G){return this.mapWindowIdToZoomLevel.get(this.getWindowId(G))??0}setZoomLevel(G,Y){if(this.getZoomLevel(Y)===G)return;let J=this.getWindowId(Y);this.mapWindowIdToZoomLevel.set(J,G),this._onDidChangeZoomLevel.fire(J)}getZoomFactor(G){return this.mapWindowIdToZoomFactor.get(this.getWindowId(G))??1}setZoomFactor(G,Y){this.mapWindowIdToZoomFactor.set(this.getWindowId(Y),G)}setFullscreen(G,Y){if(this.isFullscreen(Y)===G)return;let J=this.getWindowId(Y);this.mapWindowIdToFullScreen.set(J,G),this._onDidChangeFullscreen.fire(J)}isFullscreen(G){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(G))}getWindowId(G){return G.vscodeWindowId}};P5.INSTANCE=new P5;var d5=P5;function P9(q,G,Y){typeof G=="string"&&(G=q.matchMedia(G)),G.addEventListener("change",Y)}var wq=d5.INSTANCE.onDidChangeZoomLevel;function B9(q){return d5.INSTANCE.getZoomFactor(q)}var Iq=d5.INSTANCE.onDidChangeFullscreen,I3=typeof navigator=="object"?navigator.userAgent:"",B5=I3.indexOf("Firefox")>=0,k4=I3.indexOf("AppleWebKit")>=0,h5=I3.indexOf("Chrome")>=0,W7=!h5&&I3.indexOf("Safari")>=0,Tq=I3.indexOf("Electron/")>=0,xq=I3.indexOf("Android")>=0,P4=!1;if(typeof u0.matchMedia=="function"){let q=u0.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),G=u0.matchMedia("(display-mode: fullscreen)");P4=q.matches,P9(u0,q,({matches:Y})=>{P4&&G.matches||(P4=Y)})}function N9(){return P4}var S3="en",L4=!1,U4=!1,t3=!1,Q9=!1,L7=!1,U7=!1,W9=!1,L9=!1,U9=!1,O9=!1,M4,B4=S3,P6=S3,S9,J3,V3=globalThis,g0;typeof V3.vscode<"u"&&typeof V3.vscode.process<"u"?g0=V3.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(g0=process);var O7=typeof g0?.versions?.electron=="string",y9=O7&&g0?.type==="renderer";if(typeof g0=="object"){L4=g0.platform==="win32",U4=g0.platform==="darwin",t3=g0.platform==="linux",Q9=t3&&!!g0.env.SNAP&&!!g0.env.SNAP_REVISION,W9=O7,U9=!!g0.env.CI||!!g0.env.BUILD_ARTIFACTSTAGINGDIRECTORY,M4=S3,B4=S3;let q=g0.env.VSCODE_NLS_CONFIG;if(q)try{let G=JSON.parse(q);M4=G.userLocale,P6=G.osLocale,B4=G.resolvedLanguage||S3,S9=G.languagePack?.translationsConfigFile}catch{}L7=!0}else typeof navigator=="object"&&!y9?(J3=navigator.userAgent,L4=J3.indexOf("Windows")>=0,U4=J3.indexOf("Macintosh")>=0,L9=(J3.indexOf("Macintosh")>=0||J3.indexOf("iPad")>=0||J3.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,t3=J3.indexOf("Linux")>=0,O9=J3?.indexOf("Mobi")>=0,U7=!0,B4=globalThis._VSCODE_NLS_LANGUAGE||S3,M4=navigator.language.toLowerCase(),P6=M4):console.error("Unable to resolve platform.");var s4=0;U4?s4=1:L4?s4=3:t3&&(s4=2);var S7=L4,i0=U4,w9=t3,r4=L7,I9=U7&&typeof V3.importScripts=="function",bq=I9?V3.origin:void 0,t0=J3,j3=B4,T9;((q)=>{function G(){return j3}q.value=G;function Y(){return j3.length===2?j3==="en":j3.length>=3?j3[0]==="e"&&j3[1]==="n"&&j3[2]==="-":!1}q.isDefaultVariant=Y;function J(){return j3==="en"}q.isDefault=J})(T9||={});var x9=typeof V3.postMessage=="function"&&!V3.importScripts,b9=(()=>{if(x9){let q=[];V3.addEventListener("message",(Y)=>{if(Y.data&&Y.data.vscodeScheduleAsyncWork)for(let J=0,X=q.length;J{let J=++G;q.push({id:J,callback:Y}),V3.postMessage({vscodeScheduleAsyncWork:J},"*")}}return(q)=>setTimeout(q)})(),E9=!!(t0&&t0.indexOf("Chrome")>=0),Eq=!!(t0&&t0.indexOf("Firefox")>=0),vq=!!(!E9&&t0&&t0.indexOf("Safari")>=0),mq=!!(t0&&t0.indexOf("Edg/")>=0),_q=!!(t0&&t0.indexOf("Android")>=0),M3=typeof navigator=="object"?navigator:{},fq={clipboard:{writeText:r4||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(M3&&M3.clipboard&&M3.clipboard.writeText),readText:r4||!!(M3&&M3.clipboard&&M3.clipboard.readText)},keyboard:r4||N9()?0:M3.keyboard||W7?1:2,touch:"ontouchstart"in u0||M3.maxTouchPoints>0,pointerEvents:u0.PointerEvent&&(("ontouchstart"in u0)||navigator.maxTouchPoints>0)},c5=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(q,G){this._keyCodeToStr[q]=G,this._strToKeyCode[G.toLowerCase()]=q}keyCodeToStr(q){return this._keyCodeToStr[q]}strToKeyCode(q){return this._strToKeyCode[q.toLowerCase()]||0}},i4=new c5,B6=new c5,N6=new c5,v9=Array(230),y7;((q)=>{function G(j){return i4.keyCodeToStr(j)}q.toString=G;function Y(j){return i4.strToKeyCode(j)}q.fromString=Y;function J(j){return B6.keyCodeToStr(j)}q.toUserSettingsUS=J;function X(j){return N6.keyCodeToStr(j)}q.toUserSettingsGeneral=X;function Z(j){return B6.strToKeyCode(j)||N6.strToKeyCode(j)}q.fromUserSettings=Z;function V(j){if(j>=98&&j<=113)return null;switch(j){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return i4.keyCodeToStr(j)}q.toElectronAccelerator=V})(y7||={});var m9=class q{constructor(G,Y,J,X,Z){this.ctrlKey=G,this.shiftKey=Y,this.altKey=J,this.metaKey=X,this.keyCode=Z}equals(G){return G instanceof q&&this.ctrlKey===G.ctrlKey&&this.shiftKey===G.shiftKey&&this.altKey===G.altKey&&this.metaKey===G.metaKey&&this.keyCode===G.keyCode}getHashCode(){let G=this.ctrlKey?"1":"0",Y=this.shiftKey?"1":"0",J=this.altKey?"1":"0",X=this.metaKey?"1":"0";return`K${G}${Y}${J}${X}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new _9([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},_9=class{constructor(q){if(q.length===0)throw n8("chords");this.chords=q}getHashCode(){let q="";for(let G=0,Y=this.chords.length;G{function G(Y){return Y===q.None||Y===q.Cancelled||Y instanceof l9?!0:!Y||typeof Y!="object"?!1:typeof Y.isCancellationRequested=="boolean"&&typeof Y.onCancellationRequested=="function"}q.isCancellationToken=G,q.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:I0.None}),q.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:w7})})(a9||={});var l9=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?w7:(this._emitter||(this._emitter=new _),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},pq=Symbol("MicrotaskDelay"),a5=class{constructor(q,G){this._isDisposed=!1,this._token=-1,typeof q=="function"&&typeof G=="number"&&this.setIfNotSet(q,G)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(q,G){if(this._isDisposed)throw new F5("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,q()},G)}setIfNotSet(q,G){if(this._isDisposed)throw new F5("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,q()},G))}},o9=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(q,G,Y=globalThis){if(this.isDisposed)throw new F5("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let J=Y.setInterval(()=>{q()},G);this.disposable=j0(()=>{Y.clearInterval(J),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},n9,t4;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?t4=(q,G)=>{b9(()=>{if(Y)return;let J=Date.now()+15;G(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,J-Date.now())}}))});let Y=!1;return{dispose(){Y||(Y=!0)}}}:t4=(q,G,Y)=>{let J=q.requestIdleCallback(G,typeof Y=="number"?{timeout:Y}:void 0),X=!1;return{dispose(){X||(X=!0,q.cancelIdleCallback(J))}}},n9=(q)=>t4(globalThis,q)})();var s9;((q)=>{async function G(J){let X,Z=await Promise.all(J.map((V)=>V.then((j)=>j,(j)=>{X||(X=j)})));if(typeof X<"u")throw X;return Z}q.settled=G;function Y(J){return new Promise(async(X,Z)=>{try{await J(X,Z)}catch(V){Z(V)}})}q.withAsyncBody=Y})(s9||={});var L6=class q{static fromArray(G){return new q((Y)=>{Y.emitMany(G)})}static fromPromise(G){return new q(async(Y)=>{Y.emitMany(await G)})}static fromPromises(G){return new q(async(Y)=>{await Promise.all(G.map(async(J)=>Y.emitOne(await J)))})}static merge(G){return new q(async(Y)=>{await Promise.all(G.map(async(J)=>{for await(let X of J)Y.emitOne(X)}))})}constructor(G,Y){this._state=0,this._results=[],this._error=null,this._onReturn=Y,this._onStateChanged=new _,queueMicrotask(async()=>{let J={emitOne:(X)=>this.emitOne(X),emitMany:(X)=>this.emitMany(X),reject:(X)=>this.reject(X)};try{await Promise.resolve(G(J)),this.resolve()}catch(X){this.reject(X)}finally{J.emitOne=void 0,J.emitMany=void 0,J.reject=void 0}})}[Symbol.asyncIterator](){let G=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(G(this._onReturn?.(),{done:!0,value:void 0})}}static map(G,Y){return new q(async(J)=>{for await(let X of G)J.emitOne(Y(X))})}map(G){return q.map(this,G)}static filter(G,Y){return new q(async(J)=>{for await(let X of G)Y(X)&&J.emitOne(X)})}filter(G){return q.filter(this,G)}static coalesce(G){return q.filter(G,(Y)=>!!Y)}coalesce(){return q.coalesce(this)}static async toPromise(G){let Y=[];for await(let J of G)Y.push(J);return Y}toPromise(){return q.toPromise(this)}emitOne(G){this._state===0&&(this._results.push(G),this._onStateChanged.fire())}emitMany(G){this._state===0&&(this._results=this._results.concat(G),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(G){this._state===0&&(this._state=2,this._error=G,this._onStateChanged.fire())}};L6.EMPTY=L6.fromArray([]);function r9(q){return 55296<=q&&q<=56319}function U6(q){return 56320<=q&&q<=57343}function i9(q,G){return(q-55296<<10)+(G-56320)+65536}function t9(q){return l5(q,0)}function l5(q,G){switch(typeof q){case"object":return q===null?X3(349,G):Array.isArray(q)?q1(q,G):G1(q,G);case"string":return I7(q,G);case"boolean":return e9(q,G);case"number":return X3(q,G);case"undefined":return X3(937,G);default:return X3(617,G)}}function X3(q,G){return(G<<5)-G+q|0}function e9(q,G){return X3(q?433:863,G)}function I7(q,G){G=X3(149417,G);for(let Y=0,J=q.length;Yl5(J,Y),G)}function G1(q,G){return G=X3(181387,G),Object.keys(q).sort().reduce((Y,J)=>(Y=I7(J,Y),l5(q[J],Y)),G)}function e4(q,G,Y=32){let J=Y-G,X=~((1<>>J)>>>0}function O6(q,G=0,Y=q.byteLength,J=0){for(let X=0;XY.toString(16).padStart(2,"0")).join(""):Y1((q>>>0).toString(16),G/4)}var Z1=class q{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(G){let Y=G.length;if(Y===0)return;let J=this._buff,X=this._buffLen,Z=this._leftoverHighSurrogate,V,j;for(Z!==0?(V=Z,j=-1,Z=0):(V=G.charCodeAt(0),j=0);;){let K=V;if(r9(V))if(j+1>>6,G[Y++]=128|(J&63)>>>0):J<65536?(G[Y++]=224|(J&61440)>>>12,G[Y++]=128|(J&4032)>>>6,G[Y++]=128|(J&63)>>>0):(G[Y++]=240|(J&1835008)>>>18,G[Y++]=128|(J&258048)>>>12,G[Y++]=128|(J&4032)>>>6,G[Y++]=128|(J&63)>>>0),Y>=64&&(this._step(),Y-=64,this._totalLen+=64,G[0]=G[64],G[1]=G[65],G[2]=G[66]),Y}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()),p3(this._h0)+p3(this._h1)+p3(this._h2)+p3(this._h3)+p3(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,O6(this._buff,this._buffLen),this._buffLen>56&&(this._step(),O6(this._buff));let G=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(G/4294967296),!1),this._buffDV.setUint32(60,G%4294967296,!1),this._step()}_step(){let G=q._bigBlock32,Y=this._buffDV;for(let C=0;C<64;C+=4)G.setUint32(C,Y.getUint32(C,!1),!1);for(let C=64;C<320;C+=4)G.setUint32(C,e4(G.getUint32(C-12,!1)^G.getUint32(C-32,!1)^G.getUint32(C-56,!1)^G.getUint32(C-64,!1),1),!1);let J=this._h0,X=this._h1,Z=this._h2,V=this._h3,j=this._h4,K,z,D;for(let C=0;C<80;C++)C<20?(K=X&Z|~X&V,z=1518500249):C<40?(K=X^Z^V,z=1859775393):C<60?(K=X&Z|X&V|Z&V,z=2400959708):(K=X^Z^V,z=3395469782),D=e4(J,5)+K+j+z+G.getUint32(C*4,!1)&4294967295,j=V,V=Z,Z=e4(X,30),X=J,J=D;this._h0=this._h0+J&4294967295,this._h1=this._h1+X&4294967295,this._h2=this._h2+Z&4294967295,this._h3=this._h3+V&4294967295,this._h4=this._h4+j&4294967295}};Z1._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:gq,getWindow:o0,getDocument:uq,getWindows:dq,getWindowsCount:hq,getWindowId:S6,getWindowById:cq,hasWindow:aq,onDidRegisterWindow:J1,onWillUnregisterWindow:lq,onDidUnregisterWindow:oq}=function(){let q=new Map,G={window:u0,disposables:new F3};q.set(u0.vscodeWindowId,G);let Y=new _,J=new _,X=new _;function Z(V,j){return(typeof V=="number"?q.get(V):void 0)??(j?G:void 0)}return{onDidRegisterWindow:Y.event,onWillUnregisterWindow:X.event,onDidUnregisterWindow:J.event,registerWindow(V){if(q.has(V.vscodeWindowId))return t.None;let j=new F3,K={window:V,disposables:j.add(new F3)};return q.set(V.vscodeWindowId,K),j.add(j0(()=>{q.delete(V.vscodeWindowId),J.fire(V)})),j.add(s(V,L0.BEFORE_UNLOAD,()=>{X.fire(V)})),Y.fire(K),j},getWindows(){return q.values()},getWindowsCount(){return q.size},getWindowId(V){return V.vscodeWindowId},hasWindow(V){return q.has(V)},getWindowById:Z,getWindow(V){let j=V;if(j?.ownerDocument?.defaultView)return j.ownerDocument.defaultView.window;let K=V;return K?.view?K.view.window:u0},getDocument(V){return o0(V).document}}}(),X1=class{constructor(q,G,Y,J){this._node=q,this._type=G,this._handler=Y,this._options=J||!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 s(q,G,Y,J){return new X1(q,G,Y,J)}function V1(q,G){return function(Y){return G(new l3(q,Y))}}function z1(q){return function(G){return q(new N5(G))}}var y6=function(q,G,Y,J){let X=Y;return G==="click"||G==="mousedown"||G==="contextmenu"?X=V1(o0(q),Y):(G==="keydown"||G==="keypress"||G==="keyup")&&(X=z1(Y)),s(q,G,X,J)},K1,O4,j1=class extends o9{constructor(q){super(),this.defaultTarget=q&&o0(q)}cancelAndSet(q,G,Y){return super.cancelAndSet(q,G,Y??this.defaultTarget)}},q5=class{constructor(q,G=0){this._runner=q,this.priority=G,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(q){F4(q)}}static sort(q,G){return G.priority-q.priority}};(function(){let q=new Map,G=new Map,Y=new Map,J=new Map,X=(Z)=>{Y.set(Z,!1);let V=q.get(Z)??[];for(G.set(Z,V),q.set(Z,[]),J.set(Z,!0);V.length>0;)V.sort(q5.sort),V.shift().execute();J.set(Z,!1)};O4=(Z,V,j=0)=>{let K=S6(Z),z=new q5(V,j),D=q.get(K);return D||(D=[],q.set(K,D)),D.push(z),Y.get(K)||(Y.set(K,!0),Z.requestAnimationFrame(()=>X(K))),z},K1=(Z,V,j)=>{let K=S6(Z);if(J.get(K)){let z=new q5(V,j),D=G.get(K);return D||(D=[],G.set(K,D)),D.push(z),z}else return O4(Z,V,j)}})();var w6=class q{constructor(G,Y){this.width=G,this.height=Y}with(G=this.width,Y=this.height){return G!==this.width||Y!==this.height?new q(G,Y):this}static is(G){return typeof G=="object"&&typeof G.height=="number"&&typeof G.width=="number"}static lift(G){return G instanceof q?G:new q(G.width,G.height)}static equals(G,Y){return G===Y?!0:!G||!Y?!1:G.width===Y.width&&G.height===Y.height}};w6.None=new w6(0,0);function M1(q){let G=q.getBoundingClientRect(),Y=o0(q);return{left:G.left+Y.scrollX,top:G.top+Y.scrollY,width:G.width,height:G.height}}var nq=new class{constructor(){this.mutationObservers=new Map}observe(q,G,Y){let J=this.mutationObservers.get(q);J||(J=new Map,this.mutationObservers.set(q,J));let X=t9(Y),Z=J.get(X);if(Z)Z.users+=1;else{let V=new _,j=new MutationObserver((z)=>V.fire(z));j.observe(q,Y);let K=Z={users:1,observer:j,onDidMutate:V.event};G.add(j0(()=>{K.users-=1,K.users===0&&(V.dispose(),j.disconnect(),J?.delete(X),J?.size===0&&this.mutationObservers.delete(q))})),J.set(X,Z)}return Z.onDidMutate}},L0={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:k4?"webkitAnimationStart":"animationstart",ANIMATION_END:k4?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:k4?"webkitAnimationIteration":"animationiteration"},H1=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function T7(q,G,Y,...J){let X=H1.exec(G);if(!X)throw Error("Bad use of emmet");let Z=X[1]||"div",V;return q!=="http://www.w3.org/1999/xhtml"?V=document.createElementNS(q,Z):V=document.createElement(Z),X[3]&&(V.id=X[3]),X[4]&&(V.className=X[4].replace(/\./g," ").trim()),Y&&Object.entries(Y).forEach(([j,K])=>{typeof K>"u"||(/^on\w+$/.test(j)?V[j]=K:j==="selected"?K&&V.setAttribute(j,"true"):V.setAttribute(j,K))}),V.append(...J),V}function D1(q,G,...Y){return T7("http://www.w3.org/1999/xhtml",q,G,...Y)}D1.SVG=function(q,G,...Y){return T7("http://www.w3.org/2000/svg",q,G,...Y)};var C1=class{constructor(q){this.domNode=q,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(q){let G=_0(q);this._maxWidth!==G&&(this._maxWidth=G,this.domNode.style.maxWidth=this._maxWidth)}setWidth(q){let G=_0(q);this._width!==G&&(this._width=G,this.domNode.style.width=this._width)}setHeight(q){let G=_0(q);this._height!==G&&(this._height=G,this.domNode.style.height=this._height)}setTop(q){let G=_0(q);this._top!==G&&(this._top=G,this.domNode.style.top=this._top)}setLeft(q){let G=_0(q);this._left!==G&&(this._left=G,this.domNode.style.left=this._left)}setBottom(q){let G=_0(q);this._bottom!==G&&(this._bottom=G,this.domNode.style.bottom=this._bottom)}setRight(q){let G=_0(q);this._right!==G&&(this._right=G,this.domNode.style.right=this._right)}setPaddingTop(q){let G=_0(q);this._paddingTop!==G&&(this._paddingTop=G,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(q){let G=_0(q);this._paddingLeft!==G&&(this._paddingLeft=G,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(q){let G=_0(q);this._paddingBottom!==G&&(this._paddingBottom=G,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(q){let G=_0(q);this._paddingRight!==G&&(this._paddingRight=G,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(q){this._fontFamily!==q&&(this._fontFamily=q,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(q){this._fontWeight!==q&&(this._fontWeight=q,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(q){let G=_0(q);this._fontSize!==G&&(this._fontSize=G,this.domNode.style.fontSize=this._fontSize)}setFontStyle(q){this._fontStyle!==q&&(this._fontStyle=q,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(q){this._fontFeatureSettings!==q&&(this._fontFeatureSettings=q,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(q){this._fontVariationSettings!==q&&(this._fontVariationSettings=q,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(q){this._textDecoration!==q&&(this._textDecoration=q,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(q){let G=_0(q);this._lineHeight!==G&&(this._lineHeight=G,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(q){let G=_0(q);this._letterSpacing!==G&&(this._letterSpacing=G,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(q){this._className!==q&&(this._className=q,this.domNode.className=this._className)}toggleClassName(q,G){this.domNode.classList.toggle(q,G),this._className=this.domNode.className}setDisplay(q){this._display!==q&&(this._display=q,this.domNode.style.display=this._display)}setPosition(q){this._position!==q&&(this._position=q,this.domNode.style.position=this._position)}setVisibility(q){this._visibility!==q&&(this._visibility=q,this.domNode.style.visibility=this._visibility)}setColor(q){this._color!==q&&(this._color=q,this.domNode.style.color=this._color)}setBackgroundColor(q){this._backgroundColor!==q&&(this._backgroundColor=q,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(q){this._layerHint!==q&&(this._layerHint=q,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(q){this._boxShadow!==q&&(this._boxShadow=q,this.domNode.style.boxShadow=q)}setContain(q){this._contain!==q&&(this._contain=q,this.domNode.style.contain=this._contain)}setAttribute(q,G){this.domNode.setAttribute(q,G)}removeAttribute(q){this.domNode.removeAttribute(q)}appendChild(q){this.domNode.appendChild(q.domNode)}removeChild(q){this.domNode.removeChild(q.domNode)}};function _0(q){return typeof q=="number"?`${q}px`:q}function e3(q){return new C1(q)}var x7=class{constructor(){this._hooks=new F3,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(q,G){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let Y=this._onStopCallback;this._onStopCallback=null,q&&Y&&Y(G)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(q,G,Y,J,X){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=J,this._onStopCallback=X;let Z=q;try{q.setPointerCapture(G),this._hooks.add(j0(()=>{try{q.releasePointerCapture(G)}catch{}}))}catch{Z=o0(q)}this._hooks.add(s(Z,L0.POINTER_MOVE,(V)=>{if(V.buttons!==Y){this.stopMonitoring(!0);return}V.preventDefault(),this._pointerMoveCallback(V)})),this._hooks.add(s(Z,L0.POINTER_UP,(V)=>this.stopMonitoring(!0)))}};function $1(q,G,Y){let J=null,X=null;if(typeof Y.value=="function"?(J="value",X=Y.value,X.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof Y.get=="function"&&(J="get",X=Y.get),!X)throw Error("not supported");let Z=`$memoize$${G}`;Y[J]=function(...V){return this.hasOwnProperty(Z)||Object.defineProperty(this,Z,{configurable:!1,enumerable:!1,writable:!1,value:X.apply(this,V)}),this[Z]}}var r0;((q)=>(q.Tap="-xterm-gesturetap",q.Change="-xterm-gesturechange",q.Start="-xterm-gesturestart",q.End="-xterm-gesturesend",q.Contextmenu="-xterm-gesturecontextmenu"))(r0||={});var o3=class q extends t{constructor(){super();this.dispatched=!1,this.targets=new R6,this.ignoreTargets=new R6,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(I0.runAndSubscribe(J1,({window:G,disposables:Y})=>{Y.add(s(G.document,"touchstart",(J)=>this.onTouchStart(J),{passive:!1})),Y.add(s(G.document,"touchend",(J)=>this.onTouchEnd(G,J))),Y.add(s(G.document,"touchmove",(J)=>this.onTouchMove(J),{passive:!1}))},{window:u0,disposables:this._store}))}static addTarget(G){if(!q.isTouchDevice())return t.None;q.INSTANCE||(q.INSTANCE=F6(new q));let Y=q.INSTANCE.targets.push(G);return j0(Y)}static ignoreTarget(G){if(!q.isTouchDevice())return t.None;q.INSTANCE||(q.INSTANCE=F6(new q));let Y=q.INSTANCE.ignoreTargets.push(G);return j0(Y)}static isTouchDevice(){return"ontouchstart"in u0||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(G){let Y=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let J=0,X=G.targetTouches.length;J=q.HOLD_DELAY&&Math.abs(K.initialPageX-f0(K.rollingPageX))<30&&Math.abs(K.initialPageY-f0(K.rollingPageY))<30){let D=this.newGestureEvent(r0.Contextmenu,K.initialTarget);D.pageX=f0(K.rollingPageX),D.pageY=f0(K.rollingPageY),this.dispatchEvent(D)}else if(X===1){let D=f0(K.rollingPageX),C=f0(K.rollingPageY),R=f0(K.rollingTimestamps)-K.rollingTimestamps[0],H=D-K.rollingPageX[0],M=C-K.rollingPageY[0],A=[...this.targets].filter((W)=>K.initialTarget instanceof Node&&W.contains(K.initialTarget));this.inertia(G,A,J,Math.abs(H)/R,H>0?1:-1,D,Math.abs(M)/R,M>0?1:-1,C)}this.dispatchEvent(this.newGestureEvent(r0.End,K.initialTarget)),delete this.activeTouches[j.identifier]}this.dispatched&&(Y.preventDefault(),Y.stopPropagation(),this.dispatched=!1)}newGestureEvent(G,Y){let J=document.createEvent("CustomEvent");return J.initEvent(G,!1,!0),J.initialTarget=Y,J.tapCount=0,J}dispatchEvent(G){if(G.type===r0.Tap){let Y=new Date().getTime(),J=0;Y-this._lastSetTapCountTime>q.CLEAR_TAP_COUNT_TIME?J=1:J=2,this._lastSetTapCountTime=Y,G.tapCount=J}else(G.type===r0.Change||G.type===r0.Contextmenu)&&(this._lastSetTapCountTime=0);if(G.initialTarget instanceof Node){for(let J of this.ignoreTargets)if(J.contains(G.initialTarget))return;let Y=[];for(let J of this.targets)if(J.contains(G.initialTarget)){let X=0,Z=G.initialTarget;for(;Z&&Z!==J;)X++,Z=Z.parentElement;Y.push([X,J])}Y.sort((J,X)=>J[0]-X[0]);for(let[J,X]of Y)X.dispatchEvent(G),this.dispatched=!0}}inertia(G,Y,J,X,Z,V,j,K,z){this.handle=O4(G,()=>{let D=Date.now(),C=D-J,R=0,H=0,M=!0;X+=q.SCROLL_FRICTION*C,j+=q.SCROLL_FRICTION*C,X>0&&(M=!1,R=Z*X*C),j>0&&(M=!1,H=K*j*C);let A=this.newGestureEvent(r0.Change);A.translationX=R,A.translationY=H,Y.forEach((W)=>W.dispatchEvent(A)),M||this.inertia(G,Y,D,X,Z,V+R,j,K,z+H)})}onTouchMove(G){let Y=Date.now();for(let J=0,X=G.changedTouches.length;J3&&(V.rollingPageX.shift(),V.rollingPageY.shift(),V.rollingTimestamps.shift()),V.rollingPageX.push(Z.pageX),V.rollingPageY.push(Z.pageY),V.rollingTimestamps.push(Y)}this.dispatched&&(G.preventDefault(),G.stopPropagation(),this.dispatched=!1)}};o3.SCROLL_FRICTION=-0.005,o3.HOLD_DELAY=700,o3.CLEAR_TAP_COUNT_TIME=400,F0([$1],o3,"isTouchDevice",1);var F1=o3,o5=class extends t{onclick(q,G){this._register(s(q,L0.CLICK,(Y)=>G(new l3(o0(q),Y))))}onmousedown(q,G){this._register(s(q,L0.MOUSE_DOWN,(Y)=>G(new l3(o0(q),Y))))}onmouseover(q,G){this._register(s(q,L0.MOUSE_OVER,(Y)=>G(new l3(o0(q),Y))))}onmouseleave(q,G){this._register(s(q,L0.MOUSE_LEAVE,(Y)=>G(new l3(o0(q),Y))))}onkeydown(q,G){this._register(s(q,L0.KEY_DOWN,(Y)=>G(new N5(Y))))}onkeyup(q,G){this._register(s(q,L0.KEY_UP,(Y)=>G(new N5(Y))))}oninput(q,G){this._register(s(q,L0.INPUT,G))}onblur(q,G){this._register(s(q,L0.BLUR,G))}onfocus(q,G){this._register(s(q,L0.FOCUS,G))}onchange(q,G){this._register(s(q,L0.CHANGE,G))}ignoreGesture(q){return F1.ignoreTarget(q)}},I6=11,R1=class extends o5{constructor(q){super(),this._onActivate=q.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=q.bgWidth+"px",this.bgDomNode.style.height=q.bgHeight+"px",typeof q.top<"u"&&(this.bgDomNode.style.top="0px"),typeof q.left<"u"&&(this.bgDomNode.style.left="0px"),typeof q.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof q.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=q.className,this.domNode.style.position="absolute",this.domNode.style.width=I6+"px",this.domNode.style.height=I6+"px",typeof q.top<"u"&&(this.domNode.style.top=q.top+"px"),typeof q.left<"u"&&(this.domNode.style.left=q.left+"px"),typeof q.bottom<"u"&&(this.domNode.style.bottom=q.bottom+"px"),typeof q.right<"u"&&(this.domNode.style.right=q.right+"px"),this._pointerMoveMonitor=this._register(new x7),this._register(y6(this.bgDomNode,L0.POINTER_DOWN,(G)=>this._arrowPointerDown(G))),this._register(y6(this.domNode,L0.POINTER_DOWN,(G)=>this._arrowPointerDown(G))),this._pointerdownRepeatTimer=this._register(new j1),this._pointerdownScheduleRepeatTimer=this._register(new a5)}_arrowPointerDown(q){if(!q.target||!(q.target instanceof Element))return;let G=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),41.666666666666664,o0(q))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(G,200),this._pointerMoveMonitor.startMonitoring(q.target,q.pointerId,q.buttons,(Y)=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),q.preventDefault()}},A1=class q{constructor(G,Y,J,X,Z,V,j){this._forceIntegerValues=G,this._scrollStateBrand=void 0,this._forceIntegerValues&&(Y=Y|0,J=J|0,X=X|0,Z=Z|0,V=V|0,j=j|0),this.rawScrollLeft=X,this.rawScrollTop=j,Y<0&&(Y=0),X+Y>J&&(X=J-Y),X<0&&(X=0),Z<0&&(Z=0),j+Z>V&&(j=V-Z),j<0&&(j=0),this.width=Y,this.scrollWidth=J,this.scrollLeft=X,this.height=Z,this.scrollHeight=V,this.scrollTop=j}equals(G){return this.rawScrollLeft===G.rawScrollLeft&&this.rawScrollTop===G.rawScrollTop&&this.width===G.width&&this.scrollWidth===G.scrollWidth&&this.scrollLeft===G.scrollLeft&&this.height===G.height&&this.scrollHeight===G.scrollHeight&&this.scrollTop===G.scrollTop}withScrollDimensions(G,Y){return new q(this._forceIntegerValues,typeof G.width<"u"?G.width:this.width,typeof G.scrollWidth<"u"?G.scrollWidth:this.scrollWidth,Y?this.rawScrollLeft:this.scrollLeft,typeof G.height<"u"?G.height:this.height,typeof G.scrollHeight<"u"?G.scrollHeight:this.scrollHeight,Y?this.rawScrollTop:this.scrollTop)}withScrollPosition(G){return new q(this._forceIntegerValues,this.width,this.scrollWidth,typeof G.scrollLeft<"u"?G.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof G.scrollTop<"u"?G.scrollTop:this.rawScrollTop)}createScrollEvent(G,Y){let J=this.width!==G.width,X=this.scrollWidth!==G.scrollWidth,Z=this.scrollLeft!==G.scrollLeft,V=this.height!==G.height,j=this.scrollHeight!==G.scrollHeight,K=this.scrollTop!==G.scrollTop;return{inSmoothScrolling:Y,oldWidth:G.width,oldScrollWidth:G.scrollWidth,oldScrollLeft:G.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:G.height,oldScrollHeight:G.scrollHeight,oldScrollTop:G.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:J,scrollWidthChanged:X,scrollLeftChanged:Z,heightChanged:V,scrollHeightChanged:j,scrollTopChanged:K}}},k1=class extends t{constructor(q){super();this._scrollableBrand=void 0,this._onScroll=this._register(new _),this.onScroll=this._onScroll.event,this._smoothScrollDuration=q.smoothScrollDuration,this._scheduleAtNextAnimationFrame=q.scheduleAtNextAnimationFrame,this._state=new A1(q.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(q){this._smoothScrollDuration=q}validateScrollPosition(q){return this._state.withScrollPosition(q)}getScrollDimensions(){return this._state}setScrollDimensions(q,G){let Y=this._state.withScrollDimensions(q,G);this._setState(Y,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(q){let G=this._state.withScrollPosition(q);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(G,!1)}setScrollPositionSmooth(q,G){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(q);if(this._smoothScrolling){q={scrollLeft:typeof q.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:q.scrollLeft,scrollTop:typeof q.scrollTop>"u"?this._smoothScrolling.to.scrollTop:q.scrollTop};let Y=this._state.withScrollPosition(q);if(this._smoothScrolling.to.scrollLeft===Y.scrollLeft&&this._smoothScrolling.to.scrollTop===Y.scrollTop)return;let J;G?J=new x6(this._smoothScrolling.from,Y,this._smoothScrolling.startTime,this._smoothScrolling.duration):J=this._smoothScrolling.combine(this._state,Y,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=J}else{let Y=this._state.withScrollPosition(q);this._smoothScrolling=x6.start(this._state,Y,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let q=this._smoothScrolling.tick(),G=this._state.withScrollPosition(q);if(this._setState(G,!0),!!this._smoothScrolling){if(q.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(q,G){let Y=this._state;Y.equals(q)||(this._state=q,this._onScroll.fire(this._state.createScrollEvent(Y,G)))}},T6=class{constructor(q,G,Y){this.scrollLeft=q,this.scrollTop=G,this.isDone=Y}};function G5(q,G){let Y=G-q;return function(J){return q+Y*N1(J)}}function P1(q,G,Y){return function(J){return J2.5*J){let X,Z;return G{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(q){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(q?" fade":"")))}},W1=140,b7=class extends o5{constructor(q){super(),this._lazyRender=q.lazyRender,this._host=q.host,this._scrollable=q.scrollable,this._scrollByPage=q.scrollByPage,this._scrollbarState=q.scrollbarState,this._visibilityController=this._register(new Q1(q.visibility,"visible scrollbar "+q.extraScrollbarClassName,"invisible scrollbar "+q.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new x7),this._shouldRender=!0,this.domNode=e3(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(s(this.domNode.domNode,L0.POINTER_DOWN,(G)=>this._domNodePointerDown(G)))}_createArrow(q){let G=this._register(new R1(q));this.domNode.domNode.appendChild(G.bgDomNode),this.domNode.domNode.appendChild(G.domNode)}_createSlider(q,G,Y,J){this.slider=e3(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(q),this.slider.setLeft(G),typeof Y=="number"&&this.slider.setWidth(Y),typeof J=="number"&&this.slider.setHeight(J),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(s(this.slider.domNode,L0.POINTER_DOWN,(X)=>{X.button===0&&(X.preventDefault(),this._sliderPointerDown(X))})),this.onclick(this.slider.domNode,(X)=>{X.leftButton&&X.stopPropagation()})}_onElementSize(q){return this._scrollbarState.setVisibleSize(q)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(q){return this._scrollbarState.setScrollSize(q)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(q){return this._scrollbarState.setScrollPosition(q)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(q){q.target===this.domNode.domNode&&this._onPointerDown(q)}delegatePointerDown(q){let G=this.domNode.domNode.getClientRects()[0].top,Y=G+this._scrollbarState.getSliderPosition(),J=G+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),X=this._sliderPointerPosition(q);Y<=X&&X<=J?q.button===0&&(q.preventDefault(),this._sliderPointerDown(q)):this._onPointerDown(q)}_onPointerDown(q){let G,Y;if(q.target===this.domNode.domNode&&typeof q.offsetX=="number"&&typeof q.offsetY=="number")G=q.offsetX,Y=q.offsetY;else{let X=M1(this.domNode.domNode);G=q.pageX-X.left,Y=q.pageY-X.top}let J=this._pointerDownRelativePosition(G,Y);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(J):this._scrollbarState.getDesiredScrollPositionFromOffset(J)),q.button===0&&(q.preventDefault(),this._sliderPointerDown(q))}_sliderPointerDown(q){if(!q.target||!(q.target instanceof Element))return;let G=this._sliderPointerPosition(q),Y=this._sliderOrthogonalPointerPosition(q),J=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(q.target,q.pointerId,q.buttons,(X)=>{let Z=this._sliderOrthogonalPointerPosition(X),V=Math.abs(Z-Y);if(S7&&V>W1){this._setDesiredScrollPositionNow(J.getScrollPosition());return}let j=this._sliderPointerPosition(X)-G;this._setDesiredScrollPositionNow(J.getDesiredScrollPositionFromDelta(j))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(q){let G={};this.writeScrollPosition(G,q),this._scrollable.setScrollPositionNow(G)}updateScrollbarSize(q){this._updateScrollbarSize(q),this._scrollbarState.setScrollbarSize(q),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},E7=class q{constructor(G,Y,J,X,Z,V){this._scrollbarSize=Math.round(Y),this._oppositeScrollbarSize=Math.round(J),this._arrowSize=Math.round(G),this._visibleSize=X,this._scrollSize=Z,this._scrollPosition=V,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new q(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(G){let Y=Math.round(G);return this._visibleSize!==Y?(this._visibleSize=Y,this._refreshComputedValues(),!0):!1}setScrollSize(G){let Y=Math.round(G);return this._scrollSize!==Y?(this._scrollSize=Y,this._refreshComputedValues(),!0):!1}setScrollPosition(G){let Y=Math.round(G);return this._scrollPosition!==Y?(this._scrollPosition=Y,this._refreshComputedValues(),!0):!1}setScrollbarSize(G){this._scrollbarSize=Math.round(G)}setOppositeScrollbarSize(G){this._oppositeScrollbarSize=Math.round(G)}static _computeValues(G,Y,J,X,Z){let V=Math.max(0,J-G),j=Math.max(0,V-2*Y),K=X>0&&X>J;if(!K)return{computedAvailableSize:Math.round(V),computedIsNeeded:K,computedSliderSize:Math.round(j),computedSliderRatio:0,computedSliderPosition:0};let z=Math.round(Math.max(20,Math.floor(J*j/X))),D=(j-z)/(X-J),C=Z*D;return{computedAvailableSize:Math.round(V),computedIsNeeded:K,computedSliderSize:Math.round(z),computedSliderRatio:D,computedSliderPosition:Math.round(C)}}_refreshComputedValues(){let G=q._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=G.computedAvailableSize,this._computedIsNeeded=G.computedIsNeeded,this._computedSliderSize=G.computedSliderSize,this._computedSliderRatio=G.computedSliderRatio,this._computedSliderPosition=G.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(G){if(!this._computedIsNeeded)return 0;let Y=G-this._arrowSize-this._computedSliderSize/2;return Math.round(Y/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(G){if(!this._computedIsNeeded)return 0;let Y=G-this._arrowSize,J=this._scrollPosition;return Y0&&Math.abs(G.deltaY)>0)return 1;let J=0.5;if((!this._isAlmostInt(G.deltaX)||!this._isAlmostInt(G.deltaY))&&(J+=0.25),Y){let X=Math.abs(G.deltaX),Z=Math.abs(G.deltaY),V=Math.abs(Y.deltaX),j=Math.abs(Y.deltaY),K=Math.max(Math.min(X,V),1),z=Math.max(Math.min(Z,j),1),D=Math.max(X,V),C=Math.max(Z,j);D%K===0&&C%z===0&&(J-=0.5)}return Math.min(Math.max(J,0),1)}_isAlmostInt(G){return Math.abs(Math.round(G)-G)<0.01}};Q5.INSTANCE=new Q5;var y1=Q5,w1=class extends o5{constructor(q,G,Y){super();this._onScroll=this._register(new _),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new _),this.onWillScroll=this._onWillScroll.event,this._options=T1(G),this._scrollable=Y,this._register(this._scrollable.onScroll((X)=>{this._onWillScroll.fire(X),this._onDidScroll(X),this._onScroll.fire(X)}));let J={onMouseWheel:(X)=>this._onMouseWheel(X),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new U1(this._scrollable,this._options,J)),this._horizontalScrollbar=this._register(new L1(this._scrollable,this._options,J)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(q),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=e3(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=e3(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=e3(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(X)=>this._onMouseOver(X)),this.onmouseleave(this._listenOnDomNode,(X)=>this._onMouseLeave(X)),this._hideTimeout=this._register(new a5),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=W3(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(q){this._verticalScrollbar.delegatePointerDown(q)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(q){this._scrollable.setScrollDimensions(q,!1)}updateClassName(q){this._options.className=q,i0&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(q){typeof q.handleMouseWheel<"u"&&(this._options.handleMouseWheel=q.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof q.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=q.mouseWheelScrollSensitivity),typeof q.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=q.fastScrollSensitivity),typeof q.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=q.scrollPredominantAxis),typeof q.horizontal<"u"&&(this._options.horizontal=q.horizontal),typeof q.vertical<"u"&&(this._options.vertical=q.vertical),typeof q.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=q.horizontalScrollbarSize),typeof q.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=q.verticalScrollbarSize),typeof q.scrollByPage<"u"&&(this._options.scrollByPage=q.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(q){this._revealOnScroll=q}delegateScrollFromMouseWheelEvent(q){this._onMouseWheel(new W6(q))}_setListeningToMouseWheel(q){if(this._mouseWheelToDispose.length>0!==q&&(this._mouseWheelToDispose=W3(this._mouseWheelToDispose),q)){let G=(Y)=>{this._onMouseWheel(new W6(Y))};this._mouseWheelToDispose.push(s(this._listenOnDomNode,L0.MOUSE_WHEEL,G,{passive:!1}))}}_onMouseWheel(q){if(q.browserEvent?.defaultPrevented)return;let G=y1.INSTANCE;E6&&G.acceptStandardWheelEvent(q);let Y=!1;if(q.deltaY||q.deltaX){let X=q.deltaY*this._options.mouseWheelScrollSensitivity,Z=q.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&Z+X===0?Z=X=0:Math.abs(X)>=Math.abs(Z)?Z=0:X=0),this._options.flipAxes&&([X,Z]=[Z,X]);let V=!i0&&q.browserEvent&&q.browserEvent.shiftKey;(this._options.scrollYToX||V)&&!Z&&(Z=X,X=0),q.browserEvent&&q.browserEvent.altKey&&(Z=Z*this._options.fastScrollSensitivity,X=X*this._options.fastScrollSensitivity);let j=this._scrollable.getFutureScrollPosition(),K={};if(X){let z=b6*X,D=j.scrollTop-(z<0?Math.floor(z):Math.ceil(z));this._verticalScrollbar.writeScrollPosition(K,D)}if(Z){let z=b6*Z,D=j.scrollLeft-(z<0?Math.floor(z):Math.ceil(z));this._horizontalScrollbar.writeScrollPosition(K,D)}K=this._scrollable.validateScrollPosition(K),(j.scrollLeft!==K.scrollLeft||j.scrollTop!==K.scrollTop)&&(E6&&this._options.mouseWheelSmoothScroll&&G.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(K):this._scrollable.setScrollPositionNow(K),Y=!0)}let J=Y;!J&&this._options.alwaysConsumeMouseWheel&&(J=!0),!J&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(J=!0),J&&(q.preventDefault(),q.stopPropagation())}_onDidScroll(q){this._shouldRender=this._horizontalScrollbar.onDidScroll(q)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(q)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let q=this._scrollable.getCurrentScrollPosition(),G=q.scrollTop>0,Y=q.scrollLeft>0,J=Y?" left":"",X=G?" top":"",Z=Y||G?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${J}`),this._topShadowDomNode.setClassName(`shadow${X}`),this._topLeftShadowDomNode.setClassName(`shadow${Z}${X}${J}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(q){this._mouseIsOver=!1,this._hide()}_onMouseOver(q){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),O1)}},I1=class extends w1{constructor(q,G,Y){super(q,G,Y)}setScrollPosition(q){q.reuseAnimation?this._scrollable.setScrollPositionSmooth(q,q.reuseAnimation):this._scrollable.setScrollPositionNow(q)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function T1(q){let G={lazyRender:typeof q.lazyRender<"u"?q.lazyRender:!1,className:typeof q.className<"u"?q.className:"",useShadows:typeof q.useShadows<"u"?q.useShadows:!0,handleMouseWheel:typeof q.handleMouseWheel<"u"?q.handleMouseWheel:!0,flipAxes:typeof q.flipAxes<"u"?q.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof q.consumeMouseWheelIfScrollbarIsNeeded<"u"?q.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof q.alwaysConsumeMouseWheel<"u"?q.alwaysConsumeMouseWheel:!1,scrollYToX:typeof q.scrollYToX<"u"?q.scrollYToX:!1,mouseWheelScrollSensitivity:typeof q.mouseWheelScrollSensitivity<"u"?q.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof q.fastScrollSensitivity<"u"?q.fastScrollSensitivity:5,scrollPredominantAxis:typeof q.scrollPredominantAxis<"u"?q.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof q.mouseWheelSmoothScroll<"u"?q.mouseWheelSmoothScroll:!0,arrowSize:typeof q.arrowSize<"u"?q.arrowSize:11,listenOnDomNode:typeof q.listenOnDomNode<"u"?q.listenOnDomNode:null,horizontal:typeof q.horizontal<"u"?q.horizontal:1,horizontalScrollbarSize:typeof q.horizontalScrollbarSize<"u"?q.horizontalScrollbarSize:10,horizontalSliderSize:typeof q.horizontalSliderSize<"u"?q.horizontalSliderSize:0,horizontalHasArrows:typeof q.horizontalHasArrows<"u"?q.horizontalHasArrows:!1,vertical:typeof q.vertical<"u"?q.vertical:1,verticalScrollbarSize:typeof q.verticalScrollbarSize<"u"?q.verticalScrollbarSize:10,verticalHasArrows:typeof q.verticalHasArrows<"u"?q.verticalHasArrows:!1,verticalSliderSize:typeof q.verticalSliderSize<"u"?q.verticalSliderSize:0,scrollByPage:typeof q.scrollByPage<"u"?q.scrollByPage:!1};return G.horizontalSliderSize=typeof q.horizontalSliderSize<"u"?q.horizontalSliderSize:G.horizontalScrollbarSize,G.verticalSliderSize=typeof q.verticalSliderSize<"u"?q.verticalSliderSize:G.verticalScrollbarSize,i0&&(G.className+=" mac"),G}var W5=class extends t{constructor(q,G,Y,J,X,Z,V,j){super();this._bufferService=Y,this._optionsService=V,this._renderService=j,this._onRequestScrollLines=this._register(new _),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let K=this._register(new k1({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:(z)=>O4(J.window,z)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{K.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new I1(G,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},K)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(X.onProtocolChange((z)=>{this._scrollableElement.updateOptions({handleMouseWheel:!(z&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(I0.runAndSubscribe(Z.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=Z.colors.background.css})),q.appendChild(this._scrollableElement.getDomNode()),this._register(j0(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=J.mainDocument.createElement("style"),G.appendChild(this._styleElement),this._register(j0(()=>this._styleElement.remove())),this._register(I0.runAndSubscribe(Z.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${Z.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${Z.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${Z.colors.scrollbarSliderActiveBackground.css};`,"}"].join(` +`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll((z)=>this._handleScroll(z)))}scrollLines(q){let G=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:G.scrollTop+q*this._renderService.dimensions.css.cell.height})}scrollToLine(q,G){G&&(this._latestYDisp=q),this._scrollableElement.setScrollPosition({reuseAnimation:!G,scrollTop:q*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(q){q!==void 0&&(this._latestYDisp=q),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(q=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,q!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:q*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(q){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let G=Math.round(q.scrollTop/this._renderService.dimensions.css.cell.height),Y=G-this._bufferService.buffer.ydisp;Y!==0&&(this._latestYDisp=G,this._onRequestScrollLines.fire(Y)),this._isHandlingScroll=!1}};W5=F0([p(2,v0),p(3,z3),p(4,$7),p(5,w3),p(6,m0),p(7,K3)],W5);var L5=class extends t{constructor(q,G,Y,J,X){super();this._screenElement=q,this._bufferService=G,this._coreBrowserService=Y,this._decorationService=J,this._renderService=X,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((Z)=>this._removeDecoration(Z))),this._register(j0(()=>{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 q of this._decorationService.decorations)this._renderDecoration(q);this._dimensionsChanged=!1}_renderDecoration(q){this._refreshStyle(q),this._dimensionsChanged&&this._refreshXPosition(q)}_createElement(q){let G=this._coreBrowserService.mainDocument.createElement("div");G.classList.add("xterm-decoration"),G.classList.toggle("xterm-decoration-top-layer",q?.options?.layer==="top"),G.style.width=`${Math.round((q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,G.style.height=`${(q.options.height||1)*this._renderService.dimensions.css.cell.height}px`,G.style.top=`${(q.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,G.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let Y=q.options.x??0;return Y&&Y>this._bufferService.cols&&(G.style.display="none"),this._refreshXPosition(q,G),G}_refreshStyle(q){let G=q.marker.line-this._bufferService.buffers.active.ydisp;if(G<0||G>=this._bufferService.rows)q.element&&(q.element.style.display="none",q.onRenderEmitter.fire(q.element));else{let Y=this._decorationElements.get(q);Y||(Y=this._createElement(q),q.element=Y,this._decorationElements.set(q,Y),this._container.appendChild(Y),q.onDispose(()=>{this._decorationElements.delete(q),Y.remove()})),Y.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(Y.style.width=`${Math.round((q.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,Y.style.height=`${(q.options.height||1)*this._renderService.dimensions.css.cell.height}px`,Y.style.top=`${G*this._renderService.dimensions.css.cell.height}px`,Y.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),q.onRenderEmitter.fire(Y)}}_refreshXPosition(q,G=q.element){if(!G)return;let Y=q.options.x??0;(q.options.anchor||"left")==="right"?G.style.right=Y?`${Y*this._renderService.dimensions.css.cell.width}px`:"":G.style.left=Y?`${Y*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(q){this._decorationElements.get(q)?.remove(),this._decorationElements.delete(q),q.dispose()}};L5=F0([p(1,v0),p(2,z3),p(3,X4),p(4,K3)],L5);var x1=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(q){if(q.options.overviewRulerOptions){for(let G of this._zones)if(G.color===q.options.overviewRulerOptions.color&&G.position===q.options.overviewRulerOptions.position){if(this._lineIntersectsZone(G,q.marker.line))return;if(this._lineAdjacentToZone(G,q.marker.line,q.options.overviewRulerOptions.position)){this._addLineToZone(G,q.marker.line);return}}if(this._zonePoolIndex=q.startBufferLine&&G<=q.endBufferLine}_lineAdjacentToZone(q,G,Y){return G>=q.startBufferLine-this._linePadding[Y||"full"]&&G<=q.endBufferLine+this._linePadding[Y||"full"]}_addLineToZone(q,G){q.startBufferLine=Math.min(q.startBufferLine,G),q.endBufferLine=Math.max(q.endBufferLine,G)}},n0={full:0,left:0,center:0,right:0},H3={full:0,left:0,center:0,right:0},g3={full:0,left:0,center:0,right:0},S4=class extends t{constructor(q,G,Y,J,X,Z,V,j){super();this._viewportElement=q,this._screenElement=G,this._bufferService=Y,this._decorationService=J,this._renderService=X,this._optionsService=Z,this._themeService=V,this._coreBrowserService=j,this._colorZoneStore=new x1,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(j0(()=>this._canvas?.remove()));let K=this._canvas.getContext("2d");if(K)this._ctx=K;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let q=Math.floor((this._canvas.width-1)/3),G=Math.ceil((this._canvas.width-1)/3);H3.full=this._canvas.width,H3.left=q,H3.center=G,H3.right=q,this._refreshDrawHeightConstants(),g3.full=1,g3.left=1,g3.center=1+H3.left,g3.right=1+H3.left+H3.center}_refreshDrawHeightConstants(){n0.full=Math.round(2*this._coreBrowserService.dpr);let q=this._canvas.height/this._bufferService.buffer.lines.length,G=Math.round(Math.max(Math.min(q,12),6)*this._coreBrowserService.dpr);n0.left=G,n0.center=G,n0.right=G}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*n0.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*n0.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*n0.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*n0.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 G of this._decorationService.decorations)this._colorZoneStore.addDecoration(G);this._ctx.lineWidth=1,this._renderRulerOutline();let q=this._colorZoneStore.zones;for(let G of q)G.position!=="full"&&this._renderColorZone(G);for(let G of q)G.position==="full"&&this._renderColorZone(G);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(q){this._ctx.fillStyle=q.color,this._ctx.fillRect(g3[q.position||"full"],Math.round((this._canvas.height-1)*(q.startBufferLine/this._bufferService.buffers.active.lines.length)-n0[q.position||"full"]/2),H3[q.position||"full"],Math.round((this._canvas.height-1)*((q.endBufferLine-q.startBufferLine)/this._bufferService.buffers.active.lines.length)+n0[q.position||"full"]))}_queueRefresh(q,G){this._shouldUpdateDimensions=q||this._shouldUpdateDimensions,this._shouldUpdateAnchor=G||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};S4=F0([p(2,v0),p(3,X4),p(4,K3),p(5,m0),p(6,w3),p(7,z3)],S4);var v;((q)=>(q.NUL="\x00",q.SOH="\x01",q.STX="\x02",q.ETX="\x03",q.EOT="\x04",q.ENQ="\x05",q.ACK="\x06",q.BEL="\x07",q.BS="\b",q.HT="\t",q.LF=` +`,q.VT="\v",q.FF="\f",q.CR="\r",q.SO="\x0E",q.SI="\x0F",q.DLE="\x10",q.DC1="\x11",q.DC2="\x12",q.DC3="\x13",q.DC4="\x14",q.NAK="\x15",q.SYN="\x16",q.ETB="\x17",q.CAN="\x18",q.EM="\x19",q.SUB="\x1A",q.ESC="\x1B",q.FS="\x1C",q.GS="\x1D",q.RS="\x1E",q.US="\x1F",q.SP=" ",q.DEL=""))(v||={});var N4;((q)=>(q.PAD="€",q.HOP="",q.BPH="‚",q.NBH="ƒ",q.IND="„",q.NEL="…",q.SSA="†",q.ESA="‡",q.HTS="ˆ",q.HTJ="‰",q.VTS="Š",q.PLD="‹",q.PLU="Œ",q.RI="",q.SS2="Ž",q.SS3="",q.DCS="",q.PU1="‘",q.PU2="’",q.STS="“",q.CCH="”",q.MW="•",q.SPA="–",q.EPA="—",q.SOS="˜",q.SGCI="™",q.SCI="š",q.CSI="›",q.ST="œ",q.OSC="",q.PM="ž",q.APC="Ÿ"))(N4||={});var v7;((q)=>q.ST=`${v.ESC}\\`)(v7||={});var U5=class{constructor(q,G,Y,J,X,Z){this._textarea=q,this._compositionView=G,this._bufferService=Y,this._optionsService=J,this._coreService=X,this._renderService=Z,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(q){this._compositionView.textContent=q.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(q){if(this._isComposing||this._isSendingComposition){if(q.keyCode===20||q.keyCode===229||q.keyCode===16||q.keyCode===17||q.keyCode===18)return!1;this._finalizeComposition(!1)}return q.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(q){if(this._compositionView.classList.remove("active"),this._isComposing=!1,q){let G={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let Y;G.start+=this._dataAlreadySent.length,this._isComposing?Y=this._textarea.value.substring(G.start,this._compositionPosition.start):Y=this._textarea.value.substring(G.start),Y.length>0&&this._coreService.triggerDataEvent(Y,!0)}},0)}else{this._isSendingComposition=!1;let G=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(G,!0)}}_handleAnyTextareaChanges(){let q=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let G=this._textarea.value,Y=G.replace(q,"");this._dataAlreadySent=Y,G.length>q.length?this._coreService.triggerDataEvent(Y,!0):G.lengththis.updateCompositionElements(!0),0)}}};U5=F0([p(2,v0),p(3,m0),p(4,U3),p(5,K3)],U5);var U0=0,O0=0,S0=0,$0=0,v6={css:"#00000000",rgba:0},P0;((q)=>{function G(X,Z,V,j){return j!==void 0?`#${k3(X)}${k3(Z)}${k3(V)}${k3(j)}`:`#${k3(X)}${k3(Z)}${k3(V)}`}q.toCss=G;function Y(X,Z,V,j=255){return(X<<24|Z<<16|V<<8|j)>>>0}q.toRgba=Y;function J(X,Z,V,j){return{css:q.toCss(X,Z,V,j),rgba:q.toRgba(X,Z,V,j)}}q.toColor=J})(P0||={});var K0;((q)=>{function G(K,z){if($0=(z.rgba&255)/255,$0===1)return{css:z.css,rgba:z.rgba};let D=z.rgba>>24&255,C=z.rgba>>16&255,R=z.rgba>>8&255,H=K.rgba>>24&255,M=K.rgba>>16&255,A=K.rgba>>8&255;U0=H+Math.round((D-H)*$0),O0=M+Math.round((C-M)*$0),S0=A+Math.round((R-A)*$0);let W=P0.toCss(U0,O0,S0),B=P0.toRgba(U0,O0,S0);return{css:W,rgba:B}}q.blend=G;function Y(K){return(K.rgba&255)===255}q.isOpaque=Y;function J(K,z,D){let C=Q4.ensureContrastRatio(K.rgba,z.rgba,D);if(C)return P0.toColor(C>>24&255,C>>16&255,C>>8&255)}q.ensureContrastRatio=J;function X(K){let z=(K.rgba|255)>>>0;return[U0,O0,S0]=Q4.toChannels(z),{css:P0.toCss(U0,O0,S0),rgba:z}}q.opaque=X;function Z(K,z){return $0=Math.round(z*255),[U0,O0,S0]=Q4.toChannels(K.rgba),{css:P0.toCss(U0,O0,S0,$0),rgba:P0.toRgba(U0,O0,S0,$0)}}q.opacity=Z;function V(K,z){return $0=K.rgba&255,Z(K,$0*z/255)}q.multiplyOpacity=V;function j(K){return[K.rgba>>24&255,K.rgba>>16&255,K.rgba>>8&255]}q.toColorRGB=j})(K0||={});var C0;((q)=>{let G,Y;try{let X=document.createElement("canvas");X.width=1,X.height=1;let Z=X.getContext("2d",{willReadFrequently:!0});Z&&(G=Z,G.globalCompositeOperation="copy",Y=G.createLinearGradient(0,0,1,1))}catch{}function J(X){if(X.match(/#[\da-f]{3,8}/i))switch(X.length){case 4:return U0=parseInt(X.slice(1,2).repeat(2),16),O0=parseInt(X.slice(2,3).repeat(2),16),S0=parseInt(X.slice(3,4).repeat(2),16),P0.toColor(U0,O0,S0);case 5:return U0=parseInt(X.slice(1,2).repeat(2),16),O0=parseInt(X.slice(2,3).repeat(2),16),S0=parseInt(X.slice(3,4).repeat(2),16),$0=parseInt(X.slice(4,5).repeat(2),16),P0.toColor(U0,O0,S0,$0);case 7:return{css:X,rgba:(parseInt(X.slice(1),16)<<8|255)>>>0};case 9:return{css:X,rgba:parseInt(X.slice(1),16)>>>0}}let Z=X.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(Z)return U0=parseInt(Z[1]),O0=parseInt(Z[2]),S0=parseInt(Z[3]),$0=Math.round((Z[5]===void 0?1:parseFloat(Z[5]))*255),P0.toColor(U0,O0,S0,$0);if(!G||!Y)throw Error("css.toColor: Unsupported css format");if(G.fillStyle=Y,G.fillStyle=X,typeof G.fillStyle!="string")throw Error("css.toColor: Unsupported css format");if(G.fillRect(0,0,1,1),[U0,O0,S0,$0]=G.getImageData(0,0,1,1).data,$0!==255)throw Error("css.toColor: Unsupported css format");return{rgba:P0.toRgba(U0,O0,S0,$0),css:X}}q.toColor=J})(C0||={});var E0;((q)=>{function G(J){return Y(J>>16&255,J>>8&255,J&255)}q.relativeLuminance=G;function Y(J,X,Z){let V=J/255,j=X/255,K=Z/255,z=V<=0.03928?V/12.92:Math.pow((V+0.055)/1.055,2.4),D=j<=0.03928?j/12.92:Math.pow((j+0.055)/1.055,2.4),C=K<=0.03928?K/12.92:Math.pow((K+0.055)/1.055,2.4);return z*0.2126+D*0.7152+C*0.0722}q.relativeLuminance2=Y})(E0||={});var Q4;((q)=>{function G(V,j){if($0=(j&255)/255,$0===1)return j;let K=j>>24&255,z=j>>16&255,D=j>>8&255,C=V>>24&255,R=V>>16&255,H=V>>8&255;return U0=C+Math.round((K-C)*$0),O0=R+Math.round((z-R)*$0),S0=H+Math.round((D-H)*$0),P0.toRgba(U0,O0,S0)}q.blend=G;function Y(V,j,K){let z=E0.relativeLuminance(V>>8),D=E0.relativeLuminance(j>>8);if(Z3(z,D)>8));if(M>8));return M>W?H:A}return H}let C=X(V,j,K),R=Z3(z,E0.relativeLuminance(C>>8));if(R>8));return R>M?C:H}return C}}q.ensureContrastRatio=Y;function J(V,j,K){let z=V>>24&255,D=V>>16&255,C=V>>8&255,R=j>>24&255,H=j>>16&255,M=j>>8&255,A=Z3(E0.relativeLuminance2(R,H,M),E0.relativeLuminance2(z,D,C));for(;A0||H>0||M>0);)R-=Math.max(0,Math.ceil(R*0.1)),H-=Math.max(0,Math.ceil(H*0.1)),M-=Math.max(0,Math.ceil(M*0.1)),A=Z3(E0.relativeLuminance2(R,H,M),E0.relativeLuminance2(z,D,C));return(R<<24|H<<16|M<<8|255)>>>0}q.reduceLuminance=J;function X(V,j,K){let z=V>>24&255,D=V>>16&255,C=V>>8&255,R=j>>24&255,H=j>>16&255,M=j>>8&255,A=Z3(E0.relativeLuminance2(R,H,M),E0.relativeLuminance2(z,D,C));for(;A>>0}q.increaseLuminance=X;function Z(V){return[V>>24&255,V>>16&255,V>>8&255,V&255]}q.toChannels=Z})(Q4||={});function k3(q){let G=q.toString(16);return G.length<2?"0"+G:G}function Z3(q,G){return q1){let D=this._getJoinedRanges(J,V,Z,G,X);for(let C=0;C1){let z=this._getJoinedRanges(J,V,Z,G,X);for(let D=0;D=w,b=S,x=this._workCell;if(R.length>0&&S===R[0][0]&&T){let r=R.shift(),x0=this._isCellInSelection(r[0],G);for(L=r[0]+1;L=r[1],T?(I=!0,x=new b1(this._workCell,q.translateToString(!0,r[0],r[1]),r[1]-r[0]),b=r[1]-1,y=x.getWidth()):w=r[1]}let f=this._isCellInSelection(S,G),g=Y&&S===Z,a=E&&S>=z&&S<=D,n=!1;this._decorationService.forEachDecorationAtCell(S,G,void 0,(r)=>{n=!0});let Y0=x.getChars()||$3;if(Y0===" "&&(x.isUnderline()||x.isOverline())&&(Y0=" "),Q=y*j-K.get(Y0,x.isBold(),x.isItalic()),!A)A=this._document.createElement("span");else if(W&&(f&&O||!f&&!O&&x.bg===P)&&(f&&O&&H.selectionForeground||x.fg===k)&&x.extended.ext===N&&a===F&&Q===$&&!g&&!I&&!n&&T){x.isInvisible()?B+=$3:B+=Y0,W++;continue}else W&&(A.textContent=B),A=this._document.createElement("span"),W=0,B="";if(P=x.bg,k=x.fg,N=x.extended.ext,F=a,$=Q,O=f,I&&Z>=S&&Z<=b&&(Z=S),!this._coreService.isCursorHidden&&g&&this._coreService.isCursorInitialized){if(U.push("xterm-cursor"),this._coreBrowserService.isFocused)V&&U.push("xterm-cursor-blink"),U.push(J==="bar"?"xterm-cursor-bar":J==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(X)switch(X){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");break;default:break}}if(x.isBold()&&U.push("xterm-bold"),x.isItalic()&&U.push("xterm-italic"),x.isDim()&&U.push("xterm-dim"),x.isInvisible()?B=$3:B=x.getChars()||$3,x.isUnderline()&&(U.push(`xterm-underline-${x.extended.underlineStyle}`),B===" "&&(B=" "),!x.isUnderlineColorDefault()))if(x.isUnderlineColorRGB())A.style.textDecorationColor=`rgb(${J4.toColorRGB(x.getUnderlineColor()).join(",")})`;else{let r=x.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&x.isBold()&&r<8&&(r+=8),A.style.textDecorationColor=H.ansi[r].css}x.isOverline()&&(U.push("xterm-overline"),B===" "&&(B=" ")),x.isStrikethrough()&&U.push("xterm-strikethrough"),a&&(A.style.textDecoration="underline");let l=x.getFgColor(),Z0=x.getFgColorMode(),G0=x.getBgColor(),J0=x.getBgColorMode(),V0=!!x.isInverse();if(V0){let r=l;l=G0,G0=r;let x0=Z0;Z0=J0,J0=x0}let B0,w0,h=!1;this._decorationService.forEachDecorationAtCell(S,G,void 0,(r)=>{r.options.layer!=="top"&&h||(r.backgroundColorRGB&&(J0=50331648,G0=r.backgroundColorRGB.rgba>>8&16777215,B0=r.backgroundColorRGB),r.foregroundColorRGB&&(Z0=50331648,l=r.foregroundColorRGB.rgba>>8&16777215,w0=r.foregroundColorRGB),h=r.options.layer==="top")}),!h&&f&&(B0=this._coreBrowserService.isFocused?H.selectionBackgroundOpaque:H.selectionInactiveBackgroundOpaque,G0=B0.rgba>>8&16777215,J0=50331648,h=!0,H.selectionForeground&&(Z0=50331648,l=H.selectionForeground.rgba>>8&16777215,w0=H.selectionForeground)),h&&U.push("xterm-decoration-top");let R0;switch(J0){case 16777216:case 33554432:R0=H.ansi[G0],U.push(`xterm-bg-${G0}`);break;case 50331648:R0=P0.toColor(G0>>16,G0>>8&255,G0&255),this._addStyle(A,`background-color:#${m6((G0>>>0).toString(16),"0",6)}`);break;case 0:default:V0?(R0=H.foreground,U.push("xterm-bg-257")):R0=H.background}switch(B0||x.isDim()&&(B0=K0.multiplyOpacity(R0,0.5)),Z0){case 16777216:case 33554432:x.isBold()&&l<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(l+=8),this._applyMinimumContrast(A,R0,H.ansi[l],x,B0,void 0)||U.push(`xterm-fg-${l}`);break;case 50331648:let r=P0.toColor(l>>16&255,l>>8&255,l&255);this._applyMinimumContrast(A,R0,r,x,B0,w0)||this._addStyle(A,`color:#${m6(l.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(A,R0,H.foreground,x,B0,w0)||V0&&U.push("xterm-fg-257")}U.length&&(A.className=U.join(" "),U.length=0),!g&&!I&&!n&&T?W++:A.textContent=B,Q!==this.defaultSpacing&&(A.style.letterSpacing=`${Q}px`),C.push(A),S=b}return A&&W&&(A.textContent=B),C}_applyMinimumContrast(q,G,Y,J,X,Z){if(this._optionsService.rawOptions.minimumContrastRatio===1||m1(J.getCode()))return!1;let V=this._getContrastCache(J),j;if(!X&&!Z&&(j=V.getColor(G.rgba,Y.rgba)),j===void 0){let K=this._optionsService.rawOptions.minimumContrastRatio/(J.isDim()?2:1);j=K0.ensureContrastRatio(X||G,Z||Y,K),V.setColor((X||G).rgba,(Z||Y).rgba,j??null)}return j?(this._addStyle(q,`color:${j.css}`),!0):!1}_getContrastCache(q){return q.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(q,G){q.setAttribute("style",`${q.getAttribute("style")||""}${G};`)}_isCellInSelection(q,G){let Y=this._selectionStart,J=this._selectionEnd;return!Y||!J?!1:this._columnSelectMode?Y[0]<=J[0]?q>=Y[0]&&G>=Y[1]&&q=Y[1]&&q>=J[0]&&G<=J[1]:G>Y[1]&&G=Y[0]&&q=Y[0]}};O5=F0([p(1,A7),p(2,m0),p(3,z3),p(4,U3),p(5,X4),p(6,w3)],O5);function m6(q,G,Y){for(;q.length0&&(this._flat[J]=V),V}let X=q;G&&(X+="B"),Y&&(X+="I");let Z=this._holey.get(X);if(Z===void 0){let V=0;G&&(V|=1),Y&&(V|=2),Z=this._measure(q,V),Z>0&&this._holey.set(X,Z)}return Z}_measure(q,G){let Y=this._measureElements[G];return Y.textContent=q.repeat(32),Y.offsetWidth/32}},p1=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(q,G,Y,J=!1){if(this.selectionStart=G,this.selectionEnd=Y,!G||!Y||G[0]===Y[0]&&G[1]===Y[1]){this.clear();return}let X=q.buffers.active.ydisp,Z=G[1]-X,V=Y[1]-X,j=Math.max(Z,0),K=Math.min(V,q.rows-1);if(j>=q.rows||K<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=J,this.viewportStartRow=Z,this.viewportEndRow=V,this.viewportCappedStartRow=j,this.viewportCappedEndRow=K,this.startCol=G[0],this.endCol=Y[0]}isCellSelected(q,G,Y){return this.hasSelection?(Y-=q.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?G>=this.startCol&&Y>=this.viewportCappedStartRow&&G=this.viewportCappedStartRow&&G>=this.endCol&&Y<=this.viewportCappedEndRow:Y>this.viewportStartRow&&Y=this.startCol&&G=this.startCol):!1}};function g1(){return new p1}var Y5="xterm-dom-renderer-owner-",d0="xterm-rows",D4="xterm-fg-",_6="xterm-bg-",u3="xterm-focus",C4="xterm-selection",u1=1,S5=class extends t{constructor(q,G,Y,J,X,Z,V,j,K,z,D,C,R,H){super();this._terminal=q,this._document=G,this._element=Y,this._screenElement=J,this._viewportElement=X,this._helperContainer=Z,this._linkifier2=V,this._charSizeService=K,this._optionsService=z,this._bufferService=D,this._coreService=C,this._coreBrowserService=R,this._themeService=H,this._terminalClass=u1++,this._rowElements=[],this._selectionRenderModel=g1(),this.onRequestRedraw=this._register(new _).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(d0),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(C4),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=_1(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors((M)=>this._injectCss(M))),this._injectCss(this._themeService.colors),this._rowFactory=j.createInstance(O5,document),this._element.classList.add(Y5+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline((M)=>this._handleLinkHover(M))),this._register(this._linkifier2.onHideLinkUnderline((M)=>this._handleLinkLeave(M))),this._register(j0(()=>{this._element.classList.remove(Y5+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new f1(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 q=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*q,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*q),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/q),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/q),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 Y of this._rowElements)Y.style.width=`${this.dimensions.css.canvas.width}px`,Y.style.height=`${this.dimensions.css.cell.height}px`,Y.style.lineHeight=`${this.dimensions.css.cell.height}px`,Y.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let G=`${this._terminalSelector} .${d0} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=G,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(q){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let G=`${this._terminalSelector} .${d0} { pointer-events: none; color: ${q.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;G+=`${this._terminalSelector} .${d0} .xterm-dim { color: ${K0.multiplyOpacity(q.foreground,0.5).css};}`,G+=`${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 Y=`blink_underline_${this._terminalClass}`,J=`blink_bar_${this._terminalClass}`,X=`blink_block_${this._terminalClass}`;G+=`@keyframes ${Y} { 50% { border-bottom-style: hidden; }}`,G+=`@keyframes ${J} { 50% { box-shadow: none; }}`,G+=`@keyframes ${X} { 0% { background-color: ${q.cursor.css}; color: ${q.cursorAccent.css}; } 50% { background-color: inherit; color: ${q.cursor.css}; }}`,G+=`${this._terminalSelector} .${d0}.${u3} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${Y} 1s step-end infinite;}${this._terminalSelector} .${d0}.${u3} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${J} 1s step-end infinite;}${this._terminalSelector} .${d0}.${u3} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${X} 1s step-end infinite;}${this._terminalSelector} .${d0} .xterm-cursor.xterm-cursor-block { background-color: ${q.cursor.css}; color: ${q.cursorAccent.css};}${this._terminalSelector} .${d0} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${q.cursor.css} !important; color: ${q.cursorAccent.css} !important;}${this._terminalSelector} .${d0} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${q.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${d0} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${q.cursor.css} inset;}${this._terminalSelector} .${d0} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${q.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,G+=`${this._terminalSelector} .${C4} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${C4} div { position: absolute; background-color: ${q.selectionBackgroundOpaque.css};}${this._terminalSelector} .${C4} div { position: absolute; background-color: ${q.selectionInactiveBackgroundOpaque.css};}`;for(let[Z,V]of q.ansi.entries())G+=`${this._terminalSelector} .${D4}${Z} { color: ${V.css}; }${this._terminalSelector} .${D4}${Z}.xterm-dim { color: ${K0.multiplyOpacity(V,0.5).css}; }${this._terminalSelector} .${_6}${Z} { background-color: ${V.css}; }`;G+=`${this._terminalSelector} .${D4}257 { color: ${K0.opaque(q.background).css}; }${this._terminalSelector} .${D4}257.xterm-dim { color: ${K0.multiplyOpacity(K0.opaque(q.background),0.5).css}; }${this._terminalSelector} .${_6}257 { background-color: ${q.foreground.css}; }`,this._themeStyleElement.textContent=G}_setDefaultSpacing(){let q=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${q}px`,this._rowFactory.defaultSpacing=q}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(q,G){for(let Y=this._rowElements.length;Y<=G;Y++){let J=this._document.createElement("div");this._rowContainer.appendChild(J),this._rowElements.push(J)}for(;this._rowElements.length>G;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(q,G){this._refreshRowElements(q,G),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(u3),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(u3),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(q,G,Y){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(q,G,Y),this.renderRows(0,this._bufferService.rows-1),!q||!G||(this._selectionRenderModel.update(this._terminal,q,G,Y),!this._selectionRenderModel.hasSelection))return;let J=this._selectionRenderModel.viewportStartRow,X=this._selectionRenderModel.viewportEndRow,Z=this._selectionRenderModel.viewportCappedStartRow,V=this._selectionRenderModel.viewportCappedEndRow,j=this._document.createDocumentFragment();if(Y){let K=q[0]>G[0];j.appendChild(this._createSelectionElement(Z,K?G[0]:q[0],K?q[0]:G[0],V-Z+1))}else{let K=J===Z?q[0]:0,z=Z===X?G[0]:this._bufferService.cols;j.appendChild(this._createSelectionElement(Z,K,z));let D=V-Z-1;if(j.appendChild(this._createSelectionElement(Z+1,0,this._bufferService.cols,D)),Z!==V){let C=X===V?G[0]:this._bufferService.cols;j.appendChild(this._createSelectionElement(V,0,C))}}this._selectionContainer.appendChild(j)}_createSelectionElement(q,G,Y,J=1){let X=this._document.createElement("div"),Z=G*this.dimensions.css.cell.width,V=this.dimensions.css.cell.width*(Y-G);return Z+V>this.dimensions.css.canvas.width&&(V=this.dimensions.css.canvas.width-Z),X.style.height=`${J*this.dimensions.css.cell.height}px`,X.style.top=`${q*this.dimensions.css.cell.height}px`,X.style.left=`${Z}px`,X.style.width=`${V}px`,X}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 q of this._rowElements)q.replaceChildren()}renderRows(q,G){let Y=this._bufferService.buffer,J=Y.ybase+Y.y,X=Math.min(Y.x,this._bufferService.cols-1),Z=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,V=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,j=this._optionsService.rawOptions.cursorInactiveStyle;for(let K=q;K<=G;K++){let z=K+Y.ydisp,D=this._rowElements[K],C=Y.lines.get(z);if(!D||!C)break;D.replaceChildren(...this._rowFactory.createRow(C,z,z===J,V,j,X,Z,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Y5}${this._terminalClass}`}_handleLinkHover(q){this._setCellUnderline(q.x1,q.x2,q.y1,q.y2,q.cols,!0)}_handleLinkLeave(q){this._setCellUnderline(q.x1,q.x2,q.y1,q.y2,q.cols,!1)}_setCellUnderline(q,G,Y,J,X,Z){Y<0&&(q=0),J<0&&(G=0);let V=this._bufferService.rows-1;Y=Math.max(Math.min(Y,V),0),J=Math.max(Math.min(J,V),0),X=Math.min(X,this._bufferService.cols);let j=this._bufferService.buffer,K=j.ybase+j.y,z=Math.min(j.x,X-1),D=this._optionsService.rawOptions.cursorBlink,C=this._optionsService.rawOptions.cursorStyle,R=this._optionsService.rawOptions.cursorInactiveStyle;for(let H=Y;H<=J;++H){let M=H+j.ydisp,A=this._rowElements[H],W=j.lines.get(M);if(!A||!W)break;A.replaceChildren(...this._rowFactory.createRow(W,M,M===K,C,R,z,D,this.dimensions.css.cell.width,this._widthCache,Z?H===Y?q:0:-1,Z?(H===J?G:X)-1:-1))}}};S5=F0([p(7,g5),p(8,b4),p(9,m0),p(10,v0),p(11,U3),p(12,z3),p(13,w3)],S5);var y5=class extends t{constructor(q,G,Y){super();this._optionsService=Y,this.width=0,this.height=0,this._onCharSizeChange=this._register(new _),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new h1(this._optionsService))}catch{this._measureStrategy=this._register(new d1(q,G,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let q=this._measureStrategy.measure();(q.width!==this.width||q.height!==this.height)&&(this.width=q.width,this.height=q.height,this._onCharSizeChange.fire())}};y5=F0([p(2,m0)],y5);var m7=class extends t{constructor(){super(...arguments);this._result={width:0,height:0}}_validateAndSet(q,G){q!==void 0&&q>0&&G!==void 0&&G>0&&(this._result.width=q,this._result.height=G)}},d1=class extends m7{constructor(q,G,Y){super();this._document=q,this._parentElement=G,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}},h1=class extends m7{constructor(q){super();this._optionsService=q,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let G=this._ctx.measureText("W");if(!(("width"in G)&&("fontBoundingBoxAscent"in G)&&("fontBoundingBoxDescent"in G)))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let q=this._ctx.measureText("W");return this._validateAndSet(q.width,q.fontBoundingBoxAscent+q.fontBoundingBoxDescent),this._result}},c1=class extends t{constructor(q,G,Y){super();this._textarea=q,this._window=G,this.mainDocument=Y,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new a1(this._window)),this._onDprChange=this._register(new _),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new _),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange((J)=>this._screenDprMonitor.setWindow(J))),this._register(I0.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(s(this._textarea,"focus",()=>this._isFocused=!0)),this._register(s(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(q){this._window!==q&&(this._window=q,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}},a1=class extends t{constructor(q){super();this._parentWindow=q,this._windowResizeListener=this._register(new y3),this._onDprChange=this._register(new _),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(j0(()=>this.clearListener()))}setWindow(q){this._parentWindow=q,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=s(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)}},l1=class extends t{constructor(){super();this.linkProviders=[],this._register(j0(()=>this.linkProviders.length=0))}registerLinkProvider(q){return this.linkProviders.push(q),{dispose:()=>{let G=this.linkProviders.indexOf(q);G!==-1&&this.linkProviders.splice(G,1)}}}};function n5(q,G,Y){let J=Y.getBoundingClientRect(),X=q.getComputedStyle(Y),Z=parseInt(X.getPropertyValue("padding-left")),V=parseInt(X.getPropertyValue("padding-top"));return[G.clientX-J.left-Z,G.clientY-J.top-V]}function o1(q,G,Y,J,X,Z,V,j,K){if(!Z)return;let z=n5(q,G,Y);if(z)return z[0]=Math.ceil((z[0]+(K?V/2:0))/V),z[1]=Math.ceil(z[1]/j),z[0]=Math.min(Math.max(z[0],1),J+(K?1:0)),z[1]=Math.min(Math.max(z[1],1),X),z}var w5=class{constructor(q,G){this._renderService=q,this._charSizeService=G}getCoords(q,G,Y,J,X){return o1(window,q,G,Y,J,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,X)}getMouseReportCoords(q,G){let Y=n5(window,q,G);if(this._charSizeService.hasValidSize)return Y[0]=Math.min(Math.max(Y[0],0),this._renderService.dimensions.css.canvas.width-1),Y[1]=Math.min(Math.max(Y[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(Y[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(Y[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(Y[0]),y:Math.floor(Y[1])}}};w5=F0([p(0,K3),p(1,b4)],w5);var n1=class{constructor(q,G){this._renderCallback=q,this._coreBrowserService=G,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(q){return this._refreshCallbacks.push(q),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(q,G,Y){this._rowCount=Y,q=q!==void 0?q:0,G=G!==void 0?G:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,q):q,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,G):G,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let q=Math.max(this._rowStart,0),G=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(q,G),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let q of this._refreshCallbacks)q(0);this._refreshCallbacks=[]}},_7={};T8(_7,{getSafariVersion:()=>r1,isChromeOS:()=>u7,isFirefox:()=>f7,isIpad:()=>i1,isIphone:()=>t1,isLegacyEdge:()=>s1,isLinux:()=>s5,isMac:()=>w4,isNode:()=>m4,isSafari:()=>p7,isWindows:()=>g7});var m4=typeof process<"u"&&"title"in process,V4=m4?"node":navigator.userAgent,z4=m4?"node":navigator.platform,f7=V4.includes("Firefox"),s1=V4.includes("Edge"),p7=/^((?!chrome|android).)*safari/i.test(V4);function r1(){if(!p7)return 0;let q=V4.match(/Version\/(\d+)/);return q===null||q.length<2?0:parseInt(q[1])}var w4=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(z4),i1=z4==="iPad",t1=z4==="iPhone",g7=["Windows","Win16","Win32","WinCE"].includes(z4),s5=z4.indexOf("Linux")>=0,u7=/\bCrOS\b/.test(V4),d7=class{constructor(){this._tasks=[],this._i=0}enqueue(q){this._tasks.push(q),this._start()}flush(){for(;this._iX){J-G<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(J-G))}ms`),this._start();return}J=X}this.clear()}},e1=class extends d7{_requestCallback(q){return setTimeout(()=>q(this._createDeadline(16)))}_cancelCallback(q){clearTimeout(q)}_createDeadline(q){let G=performance.now()+q;return{timeRemaining:()=>Math.max(0,G-performance.now())}}},q2=class extends d7{_requestCallback(q){return requestIdleCallback(q)}_cancelCallback(q){cancelIdleCallback(q)}},I4=!m4&&"requestIdleCallback"in window?q2:e1,G2=class{constructor(){this._queue=new I4}set(q){this._queue.clear(),this._queue.enqueue(q)}flush(){this._queue.flush()}},I5=class extends t{constructor(q,G,Y,J,X,Z,V,j,K){super();this._rowCount=q,this._optionsService=Y,this._charSizeService=J,this._coreService=X,this._coreBrowserService=j,this._renderer=this._register(new y3),this._pausedResizeTask=new G2,this._observerDisposable=this._register(new y3),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 _),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new _),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new _),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new _),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new n1((z,D)=>this._renderRows(z,D),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Y2(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(j0(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(V.onResize(()=>this._fullRefresh())),this._register(V.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(Z.onDecorationRegistered(()=>this._fullRefresh())),this._register(Z.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(V.cols,V.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(V.buffer.y,V.buffer.y,!0))),this._register(K.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,G),this._register(this._coreBrowserService.onWindowChange((z)=>this._registerIntersectionObserver(z,G)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(q,G){if("IntersectionObserver"in q){let Y=new q.IntersectionObserver((J)=>this._handleIntersectionChange(J[J.length-1]),{threshold:0});Y.observe(G),this._observerDisposable.value=j0(()=>Y.disconnect())}}_handleIntersectionChange(q){this._isPaused=q.isIntersecting===void 0?q.intersectionRatio===0:!q.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(q,G,Y=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(q,G);return}let J=this._syncOutputHandler.flush();J&&(q=Math.min(q,J.start),G=Math.max(G,J.end)),Y||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(q,G,this._rowCount)}_renderRows(q,G){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(q,G);return}q=Math.min(q,this._rowCount-1),G=Math.min(G,this._rowCount-1),this._renderer.value.renderRows(q,G),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:q,end:G}),this._onRender.fire({start:q,end:G}),this._isNextRenderRedrawOnly=!0}}resize(q,G){this._rowCount=G,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(q){this._renderer.value=q,this._renderer.value&&(this._renderer.value.onRequestRedraw((G)=>this.refreshRows(G.start,G.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(q){return this._renderDebouncer.addRefreshCallback(q)}_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(q,G){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(q,G)):this._renderer.value.handleResize(q,G),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(q,G,Y){this._selectionState.start=q,this._selectionState.end=G,this._selectionState.columnSelectMode=Y,this._renderer.value?.handleSelectionChanged(q,G,Y)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};I5=F0([p(2,m0),p(3,b4),p(4,U3),p(5,X4),p(6,v0),p(7,z3),p(8,w3)],I5);var Y2=class{constructor(q,G,Y){this._coreBrowserService=q,this._coreService=G,this._onTimeout=Y,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(q,G){this._isBuffering?(this._start=Math.min(this._start,q),this._end=Math.max(this._end,G)):(this._start=q,this._end=G,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1000))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let q={start:this._start,end:this._end};return this._isBuffering=!1,q}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Z2(q,G,Y,J){let X=Y.buffer.x,Z=Y.buffer.y;if(!Y.buffer.hasScrollback)return V2(X,Z,q,G,Y,J)+_4(Z,G,Y,J)+z2(X,Z,q,G,Y,J);let V;if(Z===G)return V=X>q?"D":"C",Y4(Math.abs(X-q),G4(V,J));V=Z>G?"D":"C";let j=Math.abs(Z-G),K=X2(Z>G?q:X,Y)+(j-1)*Y.cols+1+J2(Z>G?X:q,Y);return Y4(K,G4(V,J))}function J2(q,G){return q-1}function X2(q,G){return G.cols-q}function V2(q,G,Y,J,X,Z){return _4(G,J,X,Z).length===0?"":Y4(c7(q,G,q,G-L3(G,X),!1,X).length,G4("D",Z))}function _4(q,G,Y,J){let X=q-L3(q,Y),Z=G-L3(G,Y),V=Math.abs(X-Z)-K2(q,G,Y);return Y4(V,G4(h7(q,G),J))}function z2(q,G,Y,J,X,Z){let V;_4(G,J,X,Z).length>0?V=J-L3(J,X):V=G;let j=J,K=j2(q,G,Y,J,X,Z);return Y4(c7(q,V,Y,j,K==="C",X).length,G4(K,Z))}function K2(q,G,Y){let J=0,X=q-L3(q,Y),Z=G-L3(G,Y);for(let V=0;V=0&&q0?V=J-L3(J,X):V=G,q=Y&&VG?"A":"B"}function c7(q,G,Y,J,X,Z){let V=q,j=G,K="";for(;(V!==Y||j!==J)&&j>=0&&jZ.cols-1?(K+=Z.buffer.translateBufferLineToString(j,!1,q,V),V=0,q=0,j++):!X&&V<0&&(K+=Z.buffer.translateBufferLineToString(j,!1,0,q+1),V=Z.cols-1,q=V,j--);return K+Z.buffer.translateBufferLineToString(j,!1,q,V)}function G4(q,G){let Y=G?"O":"[";return v.ESC+Y+q}function Y4(q,G){q=Math.floor(q);let Y="";for(let J=0;Jthis._bufferService.cols?q%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)-1]:[q%this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)]:[q,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let q=this.selectionStart[0]+this.selectionStartLength;return q>this._bufferService.cols?[q%this._bufferService.cols,this.selectionStart[1]+Math.floor(q/this._bufferService.cols)]:[Math.max(q,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let q=this.selectionStart,G=this.selectionEnd;return!q||!G?!1:q[1]>G[1]||q[1]===G[1]&&q[0]>G[0]}handleTrim(q){return this.selectionStart&&(this.selectionStart[1]-=q),this.selectionEnd&&(this.selectionEnd[1]-=q),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function f6(q,G){if(q.start.y>q.end.y)throw Error(`Buffer range end (${q.end.x}, ${q.end.y}) cannot be before start (${q.start.x}, ${q.start.y})`);return G*(q.end.y-q.start.y)+(q.end.x-q.start.x+1)}var Z5=50,H2=15,D2=50,C2=500,$2=" ",F2=new RegExp($2,"g"),T5=class extends t{constructor(q,G,Y,J,X,Z,V,j,K){super();this._element=q,this._screenElement=G,this._linkifier=Y,this._bufferService=J,this._coreService=X,this._mouseService=Z,this._optionsService=V,this._renderService=j,this._coreBrowserService=K,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new c0,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new _),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new _),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new _),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new _),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=(z)=>this._handleMouseMove(z),this._mouseUpListener=(z)=>this._handleMouseUp(z),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim((z)=>this._handleTrim(z)),this._register(this._bufferService.buffers.onBufferActivate((z)=>this._handleBufferActivate(z))),this.enable(),this._model=new M2(this._bufferService),this._activeSelectionMode=0,this._register(j0(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize((z)=>{z.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let q=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;return!q||!G?!1:q[0]!==G[0]||q[1]!==G[1]}get selectionText(){let q=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;if(!q||!G)return"";let Y=this._bufferService.buffer,J=[];if(this._activeSelectionMode===3){if(q[0]===G[0])return"";let X=q[0]X.replace(F2," ")).join(g7?`\r +`:` +`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(q){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),s5&&q&&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(q){let G=this._getMouseBufferCoords(q),Y=this._model.finalSelectionStart,J=this._model.finalSelectionEnd;return!Y||!J||!G?!1:this._areCoordsInSelection(G,Y,J)}isCellInSelection(q,G){let Y=this._model.finalSelectionStart,J=this._model.finalSelectionEnd;return!Y||!J?!1:this._areCoordsInSelection([q,G],Y,J)}_areCoordsInSelection(q,G,Y){return q[1]>G[1]&&q[1]=G[0]&&q[0]=G[0]}_selectWordAtCursor(q,G){let Y=this._linkifier.currentLink?.link?.range;if(Y)return this._model.selectionStart=[Y.start.x-1,Y.start.y-1],this._model.selectionStartLength=f6(Y,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let J=this._getMouseBufferCoords(q);return J?(this._selectWordAt(J,G),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(q,G){this._model.clearSelection(),q=Math.max(q,0),G=Math.min(G,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,q],this._model.selectionEnd=[this._bufferService.cols,G],this.refresh(),this._onSelectionChange.fire()}_handleTrim(q){this._model.handleTrim(q)&&this.refresh()}_getMouseBufferCoords(q){let G=this._mouseService.getCoords(q,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(G)return G[0]--,G[1]--,G[1]+=this._bufferService.buffer.ydisp,G}_getMouseEventScrollAmount(q){let G=n5(this._coreBrowserService.window,q,this._screenElement)[1],Y=this._renderService.dimensions.css.canvas.height;return G>=0&&G<=Y?0:(G>Y&&(G-=Y),G=Math.min(Math.max(G,-Z5),Z5),G/=Z5,G/Math.abs(G)+Math.round(G*(H2-1)))}shouldForceSelection(q){return w4?q.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:q.shiftKey}handleMouseDown(q){if(this._mouseDownTimeStamp=q.timeStamp,!(q.button===2&&this.hasSelection)&&q.button===0){if(!this._enabled){if(!this.shouldForceSelection(q))return;q.stopPropagation()}q.preventDefault(),this._dragScrollAmount=0,this._enabled&&q.shiftKey?this._handleIncrementalClick(q):q.detail===1?this._handleSingleClick(q):q.detail===2?this._handleDoubleClick(q):q.detail===3&&this._handleTripleClick(q),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(),D2)}_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(q){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(q))}_handleSingleClick(q){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(q)?3:0,this._model.selectionStart=this._getMouseBufferCoords(q),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let G=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);G&&G.length!==this._model.selectionStart[0]&&G.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(q){this._selectWordAtCursor(q,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(q){let G=this._getMouseBufferCoords(q);G&&(this._activeSelectionMode=2,this._selectLineAt(G[1]))}shouldColumnSelect(q){return q.altKey&&!(w4&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(q){if(q.stopImmediatePropagation(),!this._model.selectionStart)return;let G=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(q),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let Y=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(q.ydisp+this._bufferService.rows,q.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=q.ydisp),this.refresh()}}_handleMouseUp(q){let G=q.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&Gthis._handleTrim(G))}_convertViewportColToCharacterIndex(q,G){let Y=G;for(let J=0;G>=J;J++){let X=q.loadCell(J,this._workCell).getChars().length;this._workCell.getWidth()===0?Y--:X>1&&G!==J&&(Y+=X-1)}return Y}setSelection(q,G,Y){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[q,G],this._model.selectionStartLength=Y,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(q){this._isClickInSelection(q)||(this._selectWordAtCursor(q,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(q,G,Y=!0,J=!0){if(q[0]>=this._bufferService.cols)return;let X=this._bufferService.buffer,Z=X.lines.get(q[1]);if(!Z)return;let V=X.translateBufferLineToString(q[1],!1),j=this._convertViewportColToCharacterIndex(Z,q[0]),K=j,z=q[0]-j,D=0,C=0,R=0,H=0;if(V.charAt(j)===" "){for(;j>0&&V.charAt(j-1)===" ";)j--;for(;K1&&(H+=L-1,K+=L-1);W>0&&j>0&&!this._isCharWordSeparator(Z.loadCell(W-1,this._workCell));){Z.loadCell(W-1,this._workCell);let P=this._workCell.getChars().length;this._workCell.getWidth()===0?(D++,W--):P>1&&(R+=P-1,j-=P-1),j--,W--}for(;B1&&(H+=P-1,K+=P-1),K++,B++}}K++;let M=j+z-D+R,A=Math.min(this._bufferService.cols,K-j+D+C-R-H);if(!(!G&&V.slice(j,K).trim()==="")){if(Y&&M===0&&Z.getCodePoint(0)!==32){let W=X.lines.get(q[1]-1);if(W&&Z.isWrapped&&W.getCodePoint(this._bufferService.cols-1)!==32){let B=this._getWordAt([this._bufferService.cols-1,q[1]-1],!1,!0,!1);if(B){let L=this._bufferService.cols-B.start;M-=L,A+=L}}}if(J&&M+A===this._bufferService.cols&&Z.getCodePoint(this._bufferService.cols-1)!==32){let W=X.lines.get(q[1]+1);if(W?.isWrapped&&W.getCodePoint(0)!==32){let B=this._getWordAt([0,q[1]+1],!1,!1,!0);B&&(A+=B.length)}}return{start:M,length:A}}}_selectWordAt(q,G){let Y=this._getWordAt(q,G);if(Y){for(;Y.start<0;)Y.start+=this._bufferService.cols,q[1]--;this._model.selectionStart=[Y.start,q[1]],this._model.selectionStartLength=Y.length}}_selectToWordAt(q){let G=this._getWordAt(q,!0);if(G){let Y=q[1];for(;G.start<0;)G.start+=this._bufferService.cols,Y--;if(!this._model.areSelectionValuesReversed())for(;G.start+G.length>this._bufferService.cols;)G.length-=this._bufferService.cols,Y++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?G.start:G.start+G.length,Y]}}_isCharWordSeparator(q){return q.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(q.getChars())>=0}_selectLineAt(q){let G=this._bufferService.buffer.getWrappedRangeForLine(q),Y={start:{x:0,y:G.first},end:{x:this._bufferService.cols-1,y:G.last}};this._model.selectionStart=[0,G.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=f6(Y,this._bufferService.cols)}};T5=F0([p(3,v0),p(4,U3),p(5,u5),p(6,m0),p(7,K3),p(8,z3)],T5);var p6=class{constructor(){this._data={}}set(q,G,Y){this._data[q]||(this._data[q]={}),this._data[q][G]=Y}get(q,G){return this._data[q]?this._data[q][G]:void 0}clear(){this._data={}}},g6=class{constructor(){this._color=new p6,this._css=new p6}setCss(q,G,Y){this._css.set(q,G,Y)}getCss(q,G){return this._css.get(q,G)}setColor(q,G,Y){this._color.set(q,G,Y)}getColor(q,G){return this._color.get(q,G)}clear(){this._color.clear(),this._css.clear()}},N0=Object.freeze((()=>{let q=[C0.toColor("#2e3436"),C0.toColor("#cc0000"),C0.toColor("#4e9a06"),C0.toColor("#c4a000"),C0.toColor("#3465a4"),C0.toColor("#75507b"),C0.toColor("#06989a"),C0.toColor("#d3d7cf"),C0.toColor("#555753"),C0.toColor("#ef2929"),C0.toColor("#8ae234"),C0.toColor("#fce94f"),C0.toColor("#729fcf"),C0.toColor("#ad7fa8"),C0.toColor("#34e2e2"),C0.toColor("#eeeeec")],G=[0,95,135,175,215,255];for(let Y=0;Y<216;Y++){let J=G[Y/36%6|0],X=G[Y/6%6|0],Z=G[Y%6];q.push({css:P0.toCss(J,X,Z),rgba:P0.toRgba(J,X,Z)})}for(let Y=0;Y<24;Y++){let J=8+Y*10;q.push({css:P0.toCss(J,J,J),rgba:P0.toRgba(J,J,J)})}return q})()),P3=C0.toColor("#ffffff"),n3=C0.toColor("#000000"),u6=C0.toColor("#ffffff"),d6=n3,d3={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},R2=P3,x5=class extends t{constructor(q){super();this._optionsService=q,this._contrastCache=new g6,this._halfContrastCache=new g6,this._onChangeColors=this._register(new _),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:P3,background:n3,cursor:u6,cursorAccent:d6,selectionForeground:void 0,selectionBackgroundTransparent:d3,selectionBackgroundOpaque:K0.blend(n3,d3),selectionInactiveBackgroundTransparent:d3,selectionInactiveBackgroundOpaque:K0.blend(n3,d3),scrollbarSliderBackground:K0.opacity(P3,0.2),scrollbarSliderHoverBackground:K0.opacity(P3,0.4),scrollbarSliderActiveBackground:K0.opacity(P3,0.5),overviewRulerBorder:P3,ansi:N0.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(q={}){let G=this._colors;if(G.foreground=X0(q.foreground,P3),G.background=X0(q.background,n3),G.cursor=K0.blend(G.background,X0(q.cursor,u6)),G.cursorAccent=K0.blend(G.background,X0(q.cursorAccent,d6)),G.selectionBackgroundTransparent=X0(q.selectionBackground,d3),G.selectionBackgroundOpaque=K0.blend(G.background,G.selectionBackgroundTransparent),G.selectionInactiveBackgroundTransparent=X0(q.selectionInactiveBackground,G.selectionBackgroundTransparent),G.selectionInactiveBackgroundOpaque=K0.blend(G.background,G.selectionInactiveBackgroundTransparent),G.selectionForeground=q.selectionForeground?X0(q.selectionForeground,v6):void 0,G.selectionForeground===v6&&(G.selectionForeground=void 0),K0.isOpaque(G.selectionBackgroundTransparent)&&(G.selectionBackgroundTransparent=K0.opacity(G.selectionBackgroundTransparent,0.3)),K0.isOpaque(G.selectionInactiveBackgroundTransparent)&&(G.selectionInactiveBackgroundTransparent=K0.opacity(G.selectionInactiveBackgroundTransparent,0.3)),G.scrollbarSliderBackground=X0(q.scrollbarSliderBackground,K0.opacity(G.foreground,0.2)),G.scrollbarSliderHoverBackground=X0(q.scrollbarSliderHoverBackground,K0.opacity(G.foreground,0.4)),G.scrollbarSliderActiveBackground=X0(q.scrollbarSliderActiveBackground,K0.opacity(G.foreground,0.5)),G.overviewRulerBorder=X0(q.overviewRulerBorder,R2),G.ansi=N0.slice(),G.ansi[0]=X0(q.black,N0[0]),G.ansi[1]=X0(q.red,N0[1]),G.ansi[2]=X0(q.green,N0[2]),G.ansi[3]=X0(q.yellow,N0[3]),G.ansi[4]=X0(q.blue,N0[4]),G.ansi[5]=X0(q.magenta,N0[5]),G.ansi[6]=X0(q.cyan,N0[6]),G.ansi[7]=X0(q.white,N0[7]),G.ansi[8]=X0(q.brightBlack,N0[8]),G.ansi[9]=X0(q.brightRed,N0[9]),G.ansi[10]=X0(q.brightGreen,N0[10]),G.ansi[11]=X0(q.brightYellow,N0[11]),G.ansi[12]=X0(q.brightBlue,N0[12]),G.ansi[13]=X0(q.brightMagenta,N0[13]),G.ansi[14]=X0(q.brightCyan,N0[14]),G.ansi[15]=X0(q.brightWhite,N0[15]),q.extendedAnsi){let Y=Math.min(G.ansi.length-16,q.extendedAnsi.length);for(let J=0;JZ.index-V.index),J=[];for(let Z of Y){let V=this._services.get(Z.id);if(!V)throw Error(`[createInstance] ${q.name} depends on UNKNOWN service ${Z.id._id}.`);J.push(V)}let X=Y.length>0?Y[0].index:G.length;if(G.length!==X)throw Error(`[createInstance] First service dependency of ${q.name} at position ${X+1} conflicts with ${G.length} static arguments`);return new q(...G,...J)}},P2={trace:0,debug:1,info:2,warn:3,error:4,off:5},B2="xterm.js: ",b5=class extends t{constructor(q){super();this._optionsService=q,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),N2=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=P2[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(q){for(let G=0;Gthis._length)for(let G=this._length;G=q;J--)this._array[this._getCyclicIndex(J+Y.length)]=this._array[this._getCyclicIndex(J)];for(let J=0;Jthis._maxLength){let J=this._length+Y.length-this._maxLength;this._startIndex+=J,this._length=this._maxLength,this.onTrimEmitter.fire(J)}else this._length+=Y.length}trimStart(q){q>this._length&&(q=this._length),this._startIndex+=q,this._length-=q,this.onTrimEmitter.fire(q)}shiftElements(q,G,Y){if(!(G<=0)){if(q<0||q>=this._length)throw Error("start argument out of range");if(q+Y<0)throw Error("Cannot shift elements in list beyond index 0");if(Y>0){for(let X=G-1;X>=0;X--)this.set(q+X+Y,this.get(q+X));let J=q+G+Y-this._length;if(J>0)for(this._length+=J;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let J=0;J>22,Y&2097152?this._combined[G].charCodeAt(this._combined[G].length-1):J]}set(G,Y){this._data[G*q0+1]=Y[0],Y[1].length>1?(this._combined[G]=Y[1],this._data[G*q0+0]=G|2097152|Y[2]<<22):this._data[G*q0+0]=Y[1].charCodeAt(0)|Y[2]<<22}getWidth(G){return this._data[G*q0+0]>>22}hasWidth(G){return this._data[G*q0+0]&12582912}getFg(G){return this._data[G*q0+1]}getBg(G){return this._data[G*q0+2]}hasContent(G){return this._data[G*q0+0]&4194303}getCodePoint(G){let Y=this._data[G*q0+0];return Y&2097152?this._combined[G].charCodeAt(this._combined[G].length-1):Y&2097151}isCombined(G){return this._data[G*q0+0]&2097152}getString(G){let Y=this._data[G*q0+0];return Y&2097152?this._combined[G]:Y&2097151?C3(Y&2097151):""}isProtected(G){return this._data[G*q0+2]&536870912}loadCell(G,Y){return $4=G*q0,Y.content=this._data[$4+0],Y.fg=this._data[$4+1],Y.bg=this._data[$4+2],Y.content&2097152&&(Y.combinedData=this._combined[G]),Y.bg&268435456&&(Y.extended=this._extendedAttrs[G]),Y}setCell(G,Y){Y.content&2097152&&(this._combined[G]=Y.combinedData),Y.bg&268435456&&(this._extendedAttrs[G]=Y.extended),this._data[G*q0+0]=Y.content,this._data[G*q0+1]=Y.fg,this._data[G*q0+2]=Y.bg}setCellFromCodepoint(G,Y,J,X){X.bg&268435456&&(this._extendedAttrs[G]=X.extended),this._data[G*q0+0]=Y|J<<22,this._data[G*q0+1]=X.fg,this._data[G*q0+2]=X.bg}addCodepointToCell(G,Y,J){let X=this._data[G*q0+0];X&2097152?this._combined[G]+=C3(Y):X&2097151?(this._combined[G]=C3(X&2097151)+C3(Y),X&=-2097152,X|=2097152):X=Y|4194304,J&&(X&=-12582913,X|=J<<22),this._data[G*q0+0]=X}insertCells(G,Y,J){if(G%=this.length,G&&this.getWidth(G-1)===2&&this.setCellFromCodepoint(G-1,0,1,J),Y=0;--Z)this.setCell(G+Y+Z,this.loadCell(G+Z,X));for(let Z=0;Zthis.length){if(this._data.buffer.byteLength>=J*4)this._data=new Uint32Array(this._data.buffer,0,J);else{let X=new Uint32Array(J);X.set(this._data),this._data=X}for(let X=this.length;X=G&&delete this._combined[j]}let Z=Object.keys(this._extendedAttrs);for(let V=0;V=G&&delete this._extendedAttrs[j]}}return this.length=G,J*4*J5=0;--G)if(this._data[G*q0+0]&4194303)return G+(this._data[G*q0+0]>>22);return 0}getNoBgTrimmedLength(){for(let G=this.length-1;G>=0;--G)if(this._data[G*q0+0]&4194303||this._data[G*q0+2]&50331648)return G+(this._data[G*q0+0]>>22);return 0}copyCellsFrom(G,Y,J,X,Z){let V=G._data;if(Z)for(let K=X-1;K>=0;K--){for(let z=0;z=Y&&(this._combined[z-Y+J]=G._combined[z])}}translateToString(G,Y,J,X){Y=Y??0,J=J??this.length,G&&(J=Math.min(J,this.getTrimmedLength())),X&&(X.length=0);let Z="";for(;Y>22||1}return X&&X.push(Y),Z}};function Q2(q,G,Y,J,X,Z){let V=[];for(let j=0;j=j&&J0&&(W>C||D[W].getTrimmedLength()===0);W--)A++;A>0&&(V.push(j+D.length-A),V.push(A)),j+=D.length-1}return V}function W2(q,G){let Y=[],J=0,X=G[J],Z=0;for(let V=0;VZ4(q,z,G)).reduce((K,z)=>K+z),Z=0,V=0,j=0;for(;jK&&(Z-=K,V++);let z=q[V].getWidth(Z-1)===2;z&&Z--;let D=z?Y-1:Y;J.push(D),j+=D}return J}function Z4(q,G,Y){if(G===q.length-1)return q[G].getTrimmedLength();let J=!q[G].hasContent(Y-1)&&q[G].getWidth(Y-1)===1,X=q[G+1].getWidth(0)===2;return J&&X?Y-1:Y}var a7=class q{constructor(G){this.line=G,this.isDisposed=!1,this._disposables=[],this._id=q._nextId++,this._onDispose=this.register(new _),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),W3(this._disposables),this._disposables.length=0)}register(G){return this._disposables.push(G),G}};a7._nextId=1;var O2=a7,W0={},B3=W0.B;W0[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};W0.A={"#":"£"};W0.B=void 0;W0[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};W0.C=W0[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};W0.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};W0.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};W0.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};W0.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};W0.E=W0[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};W0.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};W0.H=W0[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};W0["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var c6=4294967295,a6=class{constructor(q,G,Y){this._hasScrollback=q,this._optionsService=G,this._bufferService=Y,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=k0.clone(),this.savedCharset=B3,this.markers=[],this._nullCell=c0.fromCharData([0,C7,1,0]),this._whitespaceCell=c0.fromCharData([0,$3,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new I4,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new h6(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(q){return q?(this._nullCell.fg=q.fg,this._nullCell.bg=q.bg,this._nullCell.extended=q.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new W4),this._nullCell}getWhitespaceCell(q){return q?(this._whitespaceCell.fg=q.fg,this._whitespaceCell.bg=q.bg,this._whitespaceCell.extended=q.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new W4),this._whitespaceCell}getBlankLine(q,G){return new s3(this._bufferService.cols,this.getNullCell(q),G)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let q=this.ybase+this.y-this.ydisp;return q>=0&&qc6?c6:G}fillViewportRows(q){if(this.lines.length===0){q===void 0&&(q=k0);let G=this._rows;for(;G--;)this.lines.push(this.getBlankLine(q))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new h6(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(q,G){let Y=this.getNullCell(k0),J=0,X=this._getCorrectBufferLength(G);if(X>this.lines.maxLength&&(this.lines.maxLength=X),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+Z+1?(this.ybase--,Z++,this.ydisp>0&&this.ydisp--):this.lines.push(new s3(q,Y)));else for(let V=this._rows;V>G;V--)this.lines.length>G+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(X0&&(this.lines.trimStart(V),this.ybase=Math.max(this.ybase-V,0),this.ydisp=Math.max(this.ydisp-V,0),this.savedY=Math.max(this.savedY-V,0)),this.lines.maxLength=X}this.x=Math.min(this.x,q-1),this.y=Math.min(this.y,G-1),Z&&(this.y+=Z),this.savedX=Math.min(this.savedX,q-1),this.scrollTop=0}if(this.scrollBottom=G-1,this._isReflowEnabled&&(this._reflow(q,G),this._cols>q))for(let Z=0;Z0.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let q=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,q=!1);let G=0;for(;this._memoryCleanupPosition100)return!0;return q}get _isReflowEnabled(){let q=this._optionsService.rawOptions.windowsPty;return q&&q.buildNumber?this._hasScrollback&&q.backend==="conpty"&&q.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(q,G){this._cols!==q&&(q>this._cols?this._reflowLarger(q,G):this._reflowSmaller(q,G))}_reflowLarger(q,G){let Y=this._optionsService.rawOptions.reflowCursorLine,J=Q2(this.lines,this._cols,q,this.ybase+this.y,this.getNullCell(k0),Y);if(J.length>0){let X=W2(this.lines,J);L2(this.lines,X.layout),this._reflowLargerAdjustViewport(q,G,X.countRemoved)}}_reflowLargerAdjustViewport(q,G,Y){let J=this.getNullCell(k0),X=Y;for(;X-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;V--){let j=this.lines.get(V);if(!j||!j.isWrapped&&j.getTrimmedLength()<=q)continue;let K=[j];for(;j.isWrapped&&V>0;)j=this.lines.get(--V),K.unshift(j);if(!Y){let P=this.ybase+this.y;if(P>=V&&P0&&(X.push({start:V+K.length+Z,newLines:H}),Z+=H.length),K.push(...H);let M=D.length-1,A=D[M];A===0&&(M--,A=D[M]);let W=K.length-C-1,B=z;for(;W>=0;){let P=Math.min(B,A);if(K[M]===void 0)break;if(K[M].copyCellsFrom(K[W],B-P,A-P,P,!0),A-=P,A===0&&(M--,A=D[M]),B-=P,B===0){W--;let k=Math.max(W,0);B=Z4(K,k,this._cols)}}for(let P=0;P0;)this.ybase===0?this.y0){let V=[],j=[];for(let A=0;A=0;A--)if(C&&C.start>z+R){for(let W=C.newLines.length-1;W>=0;W--)this.lines.set(A--,C.newLines[W]);A++,V.push({index:z+1,amount:C.newLines.length}),R+=C.newLines.length,C=X[++D]}else this.lines.set(A,j[z--]);let H=0;for(let A=V.length-1;A>=0;A--)V[A].index+=H,this.lines.onInsertEmitter.fire(V[A]),H+=V[A].amount;let M=Math.max(0,K+Z-this.lines.maxLength);M>0&&this.lines.onTrimEmitter.fire(M)}}translateBufferLineToString(q,G,Y=0,J){let X=this.lines.get(q);return X?X.translateToString(G,Y,J):""}getWrappedRangeForLine(q){let G=q,Y=q;for(;G>0&&this.lines.get(G).isWrapped;)G--;for(;Y+10;);return q>=this._cols?this._cols-1:q<0?0:q}nextStop(q){for(q==null&&(q=this.x);!this.tabs[++q]&&q=this._cols?this._cols-1:q<0?0:q}clearMarkers(q){this._isClearing=!0;for(let G=0;G{G.line-=Y,G.line<0&&G.dispose()})),G.register(this.lines.onInsert((Y)=>{G.line>=Y.index&&(G.line+=Y.amount)})),G.register(this.lines.onDelete((Y)=>{G.line>=Y.index&&G.lineY.index&&(G.line-=Y.amount)})),G.register(G.onDispose(()=>this._removeMarker(G))),G}_removeMarker(q){this._isClearing||this.markers.splice(this.markers.indexOf(q),1)}},S2=class extends t{constructor(q,G){super();this._optionsService=q,this._bufferService=G,this._onBufferActivate=this._register(new _),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 a6(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new a6(!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(q){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(q),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(q,G){this._normal.resize(q,G),this._alt.resize(q,G),this.setupTabStops(q)}setupTabStops(q){this._normal.setupTabStops(q),this._alt.setupTabStops(q)}},l7=2,o7=1,E5=class extends t{constructor(q){super();this.isUserScrolling=!1,this._onResize=this._register(new _),this.onResize=this._onResize.event,this._onScroll=this._register(new _),this.onScroll=this._onScroll.event,this.cols=Math.max(q.rawOptions.cols||0,l7),this.rows=Math.max(q.rawOptions.rows||0,o7),this.buffers=this._register(new S2(q,this)),this._register(this.buffers.onBufferActivate((G)=>{this._onScroll.fire(G.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(q,G){let Y=this.cols!==q,J=this.rows!==G;this.cols=q,this.rows=G,this.buffers.resize(q,G),this._onResize.fire({cols:q,rows:G,colsChanged:Y,rowsChanged:J})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(q,G=!1){let Y=this.buffer,J;J=this._cachedBlankLine,(!J||J.length!==this.cols||J.getFg(0)!==q.fg||J.getBg(0)!==q.bg)&&(J=Y.getBlankLine(q,G),this._cachedBlankLine=J),J.isWrapped=G;let X=Y.ybase+Y.scrollTop,Z=Y.ybase+Y.scrollBottom;if(Y.scrollTop===0){let V=Y.lines.isFull;Z===Y.lines.length-1?V?Y.lines.recycle().copyFrom(J):Y.lines.push(J.clone()):Y.lines.splice(Z+1,0,J.clone()),V?this.isUserScrolling&&(Y.ydisp=Math.max(Y.ydisp-1,0)):(Y.ybase++,this.isUserScrolling||Y.ydisp++)}else{let V=Z-X+1;Y.lines.shiftElements(X+1,V-1,-1),Y.lines.set(Z,J.clone())}this.isUserScrolling||(Y.ydisp=Y.ybase),this._onScroll.fire(Y.ydisp)}scrollLines(q,G){let Y=this.buffer;if(q<0){if(Y.ydisp===0)return;this.isUserScrolling=!0}else q+Y.ydisp>=Y.ybase&&(this.isUserScrolling=!1);let J=Y.ydisp;Y.ydisp=Math.max(Math.min(Y.ydisp+q,Y.ybase),0),J!==Y.ydisp&&(G||this._onScroll.fire(Y.ydisp))}};E5=F0([p(0,m0)],E5);var O3={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1000,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:w4,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},y2=["normal","bold","100","200","300","400","500","600","700","800","900"],w2=class extends t{constructor(q){super();this._onOptionChange=this._register(new _),this.onOptionChange=this._onOptionChange.event;let G={...O3};for(let Y in q)if(Y in G)try{let J=q[Y];G[Y]=this._sanitizeAndValidateOption(Y,J)}catch(J){console.error(J)}this.rawOptions=G,this.options={...G},this._setupOptions(),this._register(j0(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(q,G){return this.onOptionChange((Y)=>{Y===q&&G(this.rawOptions[q])})}onMultipleOptionChange(q,G){return this.onOptionChange((Y)=>{q.indexOf(Y)!==-1&&G()})}_setupOptions(){let q=(Y)=>{if(!(Y in O3))throw Error(`No option with key "${Y}"`);return this.rawOptions[Y]},G=(Y,J)=>{if(!(Y in O3))throw Error(`No option with key "${Y}"`);J=this._sanitizeAndValidateOption(Y,J),this.rawOptions[Y]!==J&&(this.rawOptions[Y]=J,this._onOptionChange.fire(Y))};for(let Y in this.rawOptions){let J={get:q.bind(this,Y),set:G.bind(this,Y)};Object.defineProperty(this.options,Y,J)}}_sanitizeAndValidateOption(q,G){switch(q){case"cursorStyle":if(G||(G=O3[q]),!I2(G))throw Error(`"${G}" is not a valid value for ${q}`);break;case"wordSeparator":G||(G=O3[q]);break;case"fontWeight":case"fontWeightBold":if(typeof G=="number"&&1<=G&&G<=1000)break;G=y2.includes(G)?G:O3[q];break;case"cursorWidth":G=Math.floor(G);case"lineHeight":case"tabStopWidth":if(G<1)throw Error(`${q} cannot be less than 1, value: ${G}`);break;case"minimumContrastRatio":G=Math.max(1,Math.min(21,Math.round(G*10)/10));break;case"scrollback":if(G=Math.min(G,4294967295),G<0)throw Error(`${q} cannot be less than 0, value: ${G}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(G<=0)throw Error(`${q} cannot be less than or equal to 0, value: ${G}`);break;case"rows":case"cols":if(!G&&G!==0)throw Error(`${q} must be numeric, value: ${G}`);break;case"windowsPty":G=G??{};break}return G}};function I2(q){return q==="block"||q==="underline"||q==="bar"}function r3(q,G=5){if(typeof q!="object")return q;let Y=Array.isArray(q)?[]:{};for(let J in q)Y[J]=G<=1?q[J]:q[J]&&r3(q[J],G-1);return Y}var l6=Object.freeze({insertMode:!1}),o6=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),v5=class extends t{constructor(q,G,Y){super();this._bufferService=q,this._logService=G,this._optionsService=Y,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new _),this.onData=this._onData.event,this._onUserInput=this._register(new _),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new _),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new _),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=r3(l6),this.decPrivateModes=r3(o6)}reset(){this.modes=r3(l6),this.decPrivateModes=r3(o6)}triggerDataEvent(q,G=!1){if(this._optionsService.rawOptions.disableStdin)return;let Y=this._bufferService.buffer;G&&this._optionsService.rawOptions.scrollOnUserInput&&Y.ybase!==Y.ydisp&&this._onRequestScrollToBottom.fire(),G&&this._onUserInput.fire(),this._logService.debug(`sending data "${q}"`),this._logService.trace("sending data (codes)",()=>q.split("").map((J)=>J.charCodeAt(0))),this._onData.fire(q)}triggerBinaryEvent(q){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${q}"`),this._logService.trace("sending binary (codes)",()=>q.split("").map((G)=>G.charCodeAt(0))),this._onBinary.fire(q))}};v5=F0([p(0,v0),p(1,F7),p(2,m0)],v5);var n6={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:(q)=>q.button===4||q.action!==1?!1:(q.ctrl=!1,q.alt=!1,q.shift=!1,!0)},VT200:{events:19,restrict:(q)=>q.action!==32},DRAG:{events:23,restrict:(q)=>!(q.action===32&&q.button===3)},ANY:{events:31,restrict:(q)=>!0}};function X5(q,G){let Y=(q.ctrl?16:0)|(q.shift?4:0)|(q.alt?8:0);return q.button===4?(Y|=64,Y|=q.action):(Y|=q.button&3,q.button&4&&(Y|=64),q.button&8&&(Y|=128),q.action===32?Y|=32:q.action===0&&!G&&(Y|=3)),Y}var V5=String.fromCharCode,s6={DEFAULT:(q)=>{let G=[X5(q,!1)+32,q.col+32,q.row+32];return G[0]>255||G[1]>255||G[2]>255?"":`\x1B[M${V5(G[0])}${V5(G[1])}${V5(G[2])}`},SGR:(q)=>{let G=q.action===0&&q.button!==4?"m":"M";return`\x1B[<${X5(q,!0)};${q.col};${q.row}${G}`},SGR_PIXELS:(q)=>{let G=q.action===0&&q.button!==4?"m":"M";return`\x1B[<${X5(q,!0)};${q.x};${q.y}${G}`}},m5=class extends t{constructor(q,G,Y){super();this._bufferService=q,this._coreService=G,this._optionsService=Y,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new _),this.onProtocolChange=this._onProtocolChange.event;for(let J of Object.keys(n6))this.addProtocol(J,n6[J]);for(let J of Object.keys(s6))this.addEncoding(J,s6[J]);this.reset()}addProtocol(q,G){this._protocols[q]=G}addEncoding(q,G){this._encodings[q]=G}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(q){if(!this._protocols[q])throw Error(`unknown protocol "${q}"`);this._activeProtocol=q,this._onProtocolChange.fire(this._protocols[q].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(q){if(!this._encodings[q])throw Error(`unknown encoding "${q}"`);this._activeEncoding=q}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(q,G,Y){if(q.deltaY===0||q.shiftKey||G===void 0||Y===void 0)return 0;let J=G/Y,X=this._applyScrollModifier(q.deltaY,q);return q.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(X/=J+0,Math.abs(q.deltaY)<50&&(X*=0.3),this._wheelPartialScroll+=X,X=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):q.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(X*=this._bufferService.rows),X}_applyScrollModifier(q,G){return G.altKey||G.ctrlKey||G.shiftKey?q*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:q*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(q){if(q.col<0||q.col>=this._bufferService.cols||q.row<0||q.row>=this._bufferService.rows||q.button===4&&q.action===32||q.button===3&&q.action!==32||q.button!==4&&(q.action===2||q.action===3)||(q.col++,q.row++,q.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,q,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(q))return!1;let G=this._encodings[this._activeEncoding](q);return G&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(G):this._coreService.triggerDataEvent(G,!0)),this._lastEvent=q,!0}explainEvents(q){return{down:!!(q&1),up:!!(q&2),drag:!!(q&4),move:!!(q&8),wheel:!!(q&16)}}_equalEvents(q,G,Y){if(Y){if(q.x!==G.x||q.y!==G.y)return!1}else if(q.col!==G.col||q.row!==G.row)return!1;return!(q.button!==G.button||q.action!==G.action||q.ctrl!==G.ctrl||q.alt!==G.alt||q.shift!==G.shift)}};m5=F0([p(0,v0),p(1,U3),p(2,m0)],m5);var z5=[[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]],T2=[[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]],Q0;function x2(q,G){let Y=0,J=G.length-1,X;if(qG[J][1])return!1;for(;J>=Y;)if(X=Y+J>>1,q>G[X][1])Y=X+1;else if(q=131072&&q<=196605||q>=196608&&q<=262141?2:1}charProperties(q,G){let Y=this.wcwidth(q),J=Y===0&&G!==0;if(J){let X=N3.extractWidth(G);X===0?J=!1:X>Y&&(Y=X)}return N3.createPropertyValue(0,Y,J)}},N3=class q{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new _,this.onChange=this._onChange.event;let G=new b2;this.register(G),this._active=G.version,this._activeProvider=G}static extractShouldJoin(G){return(G&1)!==0}static extractWidth(G){return G>>1&3}static extractCharKind(G){return G>>3}static createPropertyValue(G,Y,J=!1){return(G&16777215)<<3|(Y&3)<<1|(J?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(G){if(!this._providers[G])throw 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 Y=0,J=0,X=G.length;for(let Z=0;Z=X)return Y+this.wcwidth(V);let z=G.charCodeAt(Z);56320<=z&&z<=57343?V=(V-55296)*1024+z-56320+65536:Y+=this.wcwidth(z)}let j=this.charProperties(V,J),K=q.extractWidth(j);q.extractShouldJoin(j)&&(K-=q.extractWidth(J)),Y+=K,J=j}return Y}charProperties(G,Y){return this._activeProvider.charProperties(G,Y)}},E2=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(q){this.glevel=q,this.charset=this._charsets[q]}setgCharset(q,G){this._charsets[q]=G,this.glevel===q&&(this.charset=G)}};function r6(q){let G=q.buffer.lines.get(q.buffer.ybase+q.buffer.y-1)?.get(q.cols-1),Y=q.buffer.lines.get(q.buffer.ybase+q.buffer.y);Y&&G&&(Y.isWrapped=G[3]!==0&&G[3]!==32)}var h3=2147483647,v2=256,n7=class q{constructor(G=32,Y=32){if(this.maxLength=G,this.maxSubParamsLength=Y,Y>v2)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(G),this.length=0,this._subParams=new Int32Array(Y),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(G),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(G){let Y=new q;if(!G.length)return Y;for(let J=Array.isArray(G[0])?1:0;J>8,X=this._subParamsIdx[Y]&255;X-J>0&&G.push(Array.prototype.slice.call(this._subParams,J,X))}return G}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(G){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(G<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=G>h3?h3:G}addSubParam(G){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(G<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=G>h3?h3:G,this._subParamsIdx[this.length-1]++}}hasSubParams(G){return(this._subParamsIdx[G]&255)-(this._subParamsIdx[G]>>8)>0}getSubParams(G){let Y=this._subParamsIdx[G]>>8,J=this._subParamsIdx[G]&255;return J-Y>0?this._subParams.subarray(Y,J):null}getSubParamsAll(){let G={};for(let Y=0;Y>8,X=this._subParamsIdx[Y]&255;X-J>0&&(G[Y]=this._subParams.slice(J,X))}return G}addDigit(G){let Y;if(this._rejectDigits||!(Y=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let J=this._digitIsSub?this._subParams:this.params,X=J[Y-1];J[Y-1]=~X?Math.min(X*10+G,h3):G}},c3=[],m2=class{constructor(){this._state=0,this._active=c3,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(q,G){this._handlers[q]===void 0&&(this._handlers[q]=[]);let Y=this._handlers[q];return Y.push(G),{dispose:()=>{let J=Y.indexOf(G);J!==-1&&Y.splice(J,1)}}}clearHandler(q){this._handlers[q]&&delete this._handlers[q]}setHandlerFallback(q){this._handlerFb=q}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=c3}reset(){if(this._state===2)for(let q=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;q>=0;--q)this._active[q].end(!1);this._stack.paused=!1,this._active=c3,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||c3,!this._active.length)this._handlerFb(this._id,"START");else for(let q=this._active.length-1;q>=0;q--)this._active[q].start()}_put(q,G,Y){if(!this._active.length)this._handlerFb(this._id,"PUT",x4(q,G,Y));else for(let J=this._active.length-1;J>=0;J--)this._active[J].put(q,G,Y)}start(){this.reset(),this._state=1}put(q,G,Y){if(this._state!==3){if(this._state===1)for(;G0&&this._put(q,G,Y)}}end(q,G=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",q);else{let Y=!1,J=this._active.length-1,X=!1;if(this._stack.paused&&(J=this._stack.loopPosition-1,Y=G,X=this._stack.fallThrough,this._stack.paused=!1),!X&&Y===!1){for(;J>=0&&(Y=this._active[J].end(q),Y!==!0);J--)if(Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=J,this._stack.fallThrough=!1,Y;J--}for(;J>=0;J--)if(Y=this._active[J].end(!1),Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=J,this._stack.fallThrough=!0,Y}this._active=c3,this._id=-1,this._state=0}}},p0=class{constructor(q){this._handler=q,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(q,G,Y){this._hitLimit||(this._data+=x4(q,G,Y),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(q){let G=!1;if(this._hitLimit)G=!1;else if(q&&(G=this._handler(this._data),G instanceof Promise))return G.then((Y)=>(this._data="",this._hitLimit=!1,Y));return this._data="",this._hitLimit=!1,G}},a3=[],_2=class{constructor(){this._handlers=Object.create(null),this._active=a3,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=a3}registerHandler(q,G){this._handlers[q]===void 0&&(this._handlers[q]=[]);let Y=this._handlers[q];return Y.push(G),{dispose:()=>{let J=Y.indexOf(G);J!==-1&&Y.splice(J,1)}}}clearHandler(q){this._handlers[q]&&delete this._handlers[q]}setHandlerFallback(q){this._handlerFb=q}reset(){if(this._active.length)for(let q=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;q>=0;--q)this._active[q].unhook(!1);this._stack.paused=!1,this._active=a3,this._ident=0}hook(q,G){if(this.reset(),this._ident=q,this._active=this._handlers[q]||a3,!this._active.length)this._handlerFb(this._ident,"HOOK",G);else for(let Y=this._active.length-1;Y>=0;Y--)this._active[Y].hook(G)}put(q,G,Y){if(!this._active.length)this._handlerFb(this._ident,"PUT",x4(q,G,Y));else for(let J=this._active.length-1;J>=0;J--)this._active[J].put(q,G,Y)}unhook(q,G=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",q);else{let Y=!1,J=this._active.length-1,X=!1;if(this._stack.paused&&(J=this._stack.loopPosition-1,Y=G,X=this._stack.fallThrough,this._stack.paused=!1),!X&&Y===!1){for(;J>=0&&(Y=this._active[J].unhook(q),Y!==!0);J--)if(Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=J,this._stack.fallThrough=!1,Y;J--}for(;J>=0;J--)if(Y=this._active[J].unhook(!1),Y instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=J,this._stack.fallThrough=!0,Y}this._active=a3,this._ident=0}},i3=new n7;i3.addParam(0);var i6=class{constructor(q){this._handler=q,this._data="",this._params=i3,this._hitLimit=!1}hook(q){this._params=q.length>1||q.params[0]?q.clone():i3,this._data="",this._hitLimit=!1}put(q,G,Y){this._hitLimit||(this._data+=x4(q,G,Y),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(q){let G=!1;if(this._hitLimit)G=!1;else if(q&&(G=this._handler(this._data,this._params),G instanceof Promise))return G.then((Y)=>(this._params=i3,this._data="",this._hitLimit=!1,Y));return this._params=i3,this._data="",this._hitLimit=!1,G}},f2=class{constructor(q){this.table=new Uint8Array(q)}setDefault(q,G){this.table.fill(q<<4|G)}add(q,G,Y,J){this.table[G<<8|q]=Y<<4|J}addMany(q,G,Y,J){for(let X=0;XK),Y=(j,K)=>G.slice(j,K),J=Y(32,127),X=Y(0,24);X.push(25),X.push.apply(X,Y(28,32));let Z=Y(0,14),V;q.setDefault(1,0),q.addMany(J,0,2,0);for(V in Z)q.addMany([24,26,153,154],V,3,0),q.addMany(Y(128,144),V,3,0),q.addMany(Y(144,152),V,3,0),q.add(156,V,0,0),q.add(27,V,11,1),q.add(157,V,4,8),q.addMany([152,158,159],V,0,7),q.add(155,V,11,3),q.add(144,V,11,9);return q.addMany(X,0,3,0),q.addMany(X,1,3,1),q.add(127,1,0,1),q.addMany(X,8,0,8),q.addMany(X,3,3,3),q.add(127,3,0,3),q.addMany(X,4,3,4),q.add(127,4,0,4),q.addMany(X,6,3,6),q.addMany(X,5,3,5),q.add(127,5,0,5),q.addMany(X,2,3,2),q.add(127,2,0,2),q.add(93,1,4,8),q.addMany(J,8,5,8),q.add(127,8,5,8),q.addMany([156,27,24,26,7],8,6,0),q.addMany(Y(28,32),8,0,8),q.addMany([88,94,95],1,0,7),q.addMany(J,7,0,7),q.addMany(X,7,0,7),q.add(156,7,0,0),q.add(127,7,0,7),q.add(91,1,11,3),q.addMany(Y(64,127),3,7,0),q.addMany(Y(48,60),3,8,4),q.addMany([60,61,62,63],3,9,4),q.addMany(Y(48,60),4,8,4),q.addMany(Y(64,127),4,7,0),q.addMany([60,61,62,63],4,0,6),q.addMany(Y(32,64),6,0,6),q.add(127,6,0,6),q.addMany(Y(64,127),6,0,0),q.addMany(Y(32,48),3,9,5),q.addMany(Y(32,48),5,9,5),q.addMany(Y(48,64),5,0,6),q.addMany(Y(64,127),5,7,0),q.addMany(Y(32,48),4,9,5),q.addMany(Y(32,48),1,9,2),q.addMany(Y(32,48),2,9,2),q.addMany(Y(48,127),2,10,0),q.addMany(Y(48,80),1,10,0),q.addMany(Y(81,88),1,10,0),q.addMany([89,90,92],1,10,0),q.addMany(Y(96,127),1,10,0),q.add(80,1,11,9),q.addMany(X,9,0,9),q.add(127,9,0,9),q.addMany(Y(28,32),9,0,9),q.addMany(Y(32,48),9,9,12),q.addMany(Y(48,60),9,8,10),q.addMany([60,61,62,63],9,9,10),q.addMany(X,11,0,11),q.addMany(Y(32,128),11,0,11),q.addMany(Y(28,32),11,0,11),q.addMany(X,10,0,10),q.add(127,10,0,10),q.addMany(Y(28,32),10,0,10),q.addMany(Y(48,60),10,8,10),q.addMany([60,61,62,63],10,0,11),q.addMany(Y(32,48),10,9,12),q.addMany(X,12,0,12),q.add(127,12,0,12),q.addMany(Y(28,32),12,0,12),q.addMany(Y(32,48),12,9,12),q.addMany(Y(48,64),12,0,11),q.addMany(Y(64,127),12,12,13),q.addMany(Y(64,127),10,12,13),q.addMany(Y(64,127),9,12,13),q.addMany(X,13,13,13),q.addMany(J,13,13,13),q.add(127,13,0,13),q.addMany([27,156,24,26],13,14,0),q.add(h0,0,2,0),q.add(h0,8,5,8),q.add(h0,6,0,6),q.add(h0,11,0,11),q.add(h0,13,13,13),q}(),g2=class extends t{constructor(q=p2){super();this._transitions=q,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new n7,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(G,Y,J)=>{},this._executeHandlerFb=(G)=>{},this._csiHandlerFb=(G,Y)=>{},this._escHandlerFb=(G)=>{},this._errorHandlerFb=(G)=>G,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(j0(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new m2),this._dcsParser=this._register(new _2),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(q,G=[64,126]){let Y=0;if(q.prefix){if(q.prefix.length>1)throw Error("only one byte as prefix supported");if(Y=q.prefix.charCodeAt(0),Y&&60>Y||Y>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(q.intermediates){if(q.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let X=0;XZ||Z>47)throw Error("intermediate must be in range 0x20 .. 0x2f");Y<<=8,Y|=Z}}if(q.final.length!==1)throw Error("final must be a single byte");let J=q.final.charCodeAt(0);if(G[0]>J||J>G[1])throw Error(`final must be in range ${G[0]} .. ${G[1]}`);return Y<<=8,Y|=J,Y}identToString(q){let G=[];for(;q;)G.push(String.fromCharCode(q&255)),q>>=8;return G.reverse().join("")}setPrintHandler(q){this._printHandler=q}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(q,G){let Y=this._identifier(q,[48,126]);this._escHandlers[Y]===void 0&&(this._escHandlers[Y]=[]);let J=this._escHandlers[Y];return J.push(G),{dispose:()=>{let X=J.indexOf(G);X!==-1&&J.splice(X,1)}}}clearEscHandler(q){this._escHandlers[this._identifier(q,[48,126])]&&delete this._escHandlers[this._identifier(q,[48,126])]}setEscHandlerFallback(q){this._escHandlerFb=q}setExecuteHandler(q,G){this._executeHandlers[q.charCodeAt(0)]=G}clearExecuteHandler(q){this._executeHandlers[q.charCodeAt(0)]&&delete this._executeHandlers[q.charCodeAt(0)]}setExecuteHandlerFallback(q){this._executeHandlerFb=q}registerCsiHandler(q,G){let Y=this._identifier(q);this._csiHandlers[Y]===void 0&&(this._csiHandlers[Y]=[]);let J=this._csiHandlers[Y];return J.push(G),{dispose:()=>{let X=J.indexOf(G);X!==-1&&J.splice(X,1)}}}clearCsiHandler(q){this._csiHandlers[this._identifier(q)]&&delete this._csiHandlers[this._identifier(q)]}setCsiHandlerFallback(q){this._csiHandlerFb=q}registerDcsHandler(q,G){return this._dcsParser.registerHandler(this._identifier(q),G)}clearDcsHandler(q){this._dcsParser.clearHandler(this._identifier(q))}setDcsHandlerFallback(q){this._dcsParser.setHandlerFallback(q)}registerOscHandler(q,G){return this._oscParser.registerHandler(q,G)}clearOscHandler(q){this._oscParser.clearHandler(q)}setOscHandlerFallback(q){this._oscParser.setHandlerFallback(q)}setErrorHandler(q){this._errorHandler=q}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(q,G,Y,J,X){this._parseStack.state=q,this._parseStack.handlers=G,this._parseStack.handlerPos=Y,this._parseStack.transition=J,this._parseStack.chunkPos=X}parse(q,G,Y){let J=0,X=0,Z=0,V;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,Z=this._parseStack.chunkPos+1;else{if(Y===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let j=this._parseStack.handlers,K=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(Y===!1&&K>-1){for(;K>=0&&(V=j[K](this._params),V!==!0);K--)if(V instanceof Promise)return this._parseStack.handlerPos=K,V}this._parseStack.handlers=[];break;case 4:if(Y===!1&&K>-1){for(;K>=0&&(V=j[K](),V!==!0);K--)if(V instanceof Promise)return this._parseStack.handlerPos=K,V}this._parseStack.handlers=[];break;case 6:if(J=q[this._parseStack.chunkPos],V=this._dcsParser.unhook(J!==24&&J!==26,Y),V)return V;J===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(J=q[this._parseStack.chunkPos],V=this._oscParser.end(J!==24&&J!==26,Y),V)return V;J===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,Z=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let j=Z;j>4){case 2:for(let R=j+1;;++R){if(R>=G||(J=q[R])<32||J>126&&J=G||(J=q[R])<32||J>126&&J=G||(J=q[R])<32||J>126&&J=G||(J=q[R])<32||J>126&&J=0&&(V=K[z](this._params),V!==!0);z--)if(V instanceof Promise)return this._preserveStack(3,K,z,X,j),V;z<0&&this._csiHandlerFb(this._collect<<8|J,this._params),this.precedingJoinState=0;break;case 8:do switch(J){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(J-48)}while(++j47&&J<60);j--;break;case 9:this._collect<<=8,this._collect|=J;break;case 10:let D=this._escHandlers[this._collect<<8|J],C=D?D.length-1:-1;for(;C>=0&&(V=D[C](),V!==!0);C--)if(V instanceof Promise)return this._preserveStack(4,D,C,X,j),V;C<0&&this._escHandlerFb(this._collect<<8|J),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|J,this._params);break;case 13:for(let R=j+1;;++R)if(R>=G||(J=q[R])===24||J===26||J===27||J>127&&J=G||(J=q[R])<32||J>127&&J>4:Z>>8}return J}}function K5(q,G){let Y=q.toString(16),J=Y.length<2?"0"+Y:Y;switch(G){case 4:return Y[0];case 8:return J;case 12:return(J+J).slice(0,3);default:return J+J}}function h2(q,G=16){let[Y,J,X]=q;return`rgb:${K5(Y,G)}/${K5(J,G)}/${K5(X,G)}`}var c2={"(":0,")":1,"*":2,"+":3,"-":1,".":2},D3=131072,e6=10;function q7(q,G){if(q>24)return G.setWinLines||!1;switch(q){case 1:return!!G.restoreWin;case 2:return!!G.minimizeWin;case 3:return!!G.setWinPosition;case 4:return!!G.setWinSizePixels;case 5:return!!G.raiseWin;case 6:return!!G.lowerWin;case 7:return!!G.refreshWin;case 8:return!!G.setWinSizeChars;case 9:return!!G.maximizeWin;case 10:return!!G.fullscreenWin;case 11:return!!G.getWinState;case 13:return!!G.getWinPosition;case 14:return!!G.getWinSizePixels;case 15:return!!G.getScreenSizePixels;case 16:return!!G.getCellSizePixels;case 18:return!!G.getWinSizeChars;case 19:return!!G.getScreenSizeChars;case 20:return!!G.getIconTitle;case 21:return!!G.getWinTitle;case 22:return!!G.pushTitle;case 23:return!!G.popTitle;case 24:return!!G.setWinLines}return!1}var G7=5000,Y7=0,a2=class extends t{constructor(q,G,Y,J,X,Z,V,j,K=new g2){super();this._bufferService=q,this._charsetService=G,this._coreService=Y,this._logService=J,this._optionsService=X,this._oscLinkService=Z,this._coreMouseService=V,this._unicodeService=j,this._parser=K,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new m8,this._utf8Decoder=new _8,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=k0.clone(),this._eraseAttrDataInternal=k0.clone(),this._onRequestBell=this._register(new _),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new _),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new _),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new _),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new _),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new _),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new _),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new _),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new _),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new _),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new _),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new _),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new _),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 _5(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate((z)=>this._activeBuffer=z.activeBuffer)),this._parser.setCsiHandlerFallback((z,D)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(z),params:D.toArray()})}),this._parser.setEscHandlerFallback((z)=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(z)})}),this._parser.setExecuteHandlerFallback((z)=>{this._logService.debug("Unknown EXECUTE code: ",{code:z})}),this._parser.setOscHandlerFallback((z,D,C)=>{this._logService.debug("Unknown OSC code: ",{identifier:z,action:D,data:C})}),this._parser.setDcsHandlerFallback((z,D,C)=>{D==="HOOK"&&(C=C.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(z),action:D,payload:C})}),this._parser.setPrintHandler((z,D,C)=>this.print(z,D,C)),this._parser.registerCsiHandler({final:"@"},(z)=>this.insertChars(z)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(z)=>this.scrollLeft(z)),this._parser.registerCsiHandler({final:"A"},(z)=>this.cursorUp(z)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(z)=>this.scrollRight(z)),this._parser.registerCsiHandler({final:"B"},(z)=>this.cursorDown(z)),this._parser.registerCsiHandler({final:"C"},(z)=>this.cursorForward(z)),this._parser.registerCsiHandler({final:"D"},(z)=>this.cursorBackward(z)),this._parser.registerCsiHandler({final:"E"},(z)=>this.cursorNextLine(z)),this._parser.registerCsiHandler({final:"F"},(z)=>this.cursorPrecedingLine(z)),this._parser.registerCsiHandler({final:"G"},(z)=>this.cursorCharAbsolute(z)),this._parser.registerCsiHandler({final:"H"},(z)=>this.cursorPosition(z)),this._parser.registerCsiHandler({final:"I"},(z)=>this.cursorForwardTab(z)),this._parser.registerCsiHandler({final:"J"},(z)=>this.eraseInDisplay(z,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},(z)=>this.eraseInDisplay(z,!0)),this._parser.registerCsiHandler({final:"K"},(z)=>this.eraseInLine(z,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},(z)=>this.eraseInLine(z,!0)),this._parser.registerCsiHandler({final:"L"},(z)=>this.insertLines(z)),this._parser.registerCsiHandler({final:"M"},(z)=>this.deleteLines(z)),this._parser.registerCsiHandler({final:"P"},(z)=>this.deleteChars(z)),this._parser.registerCsiHandler({final:"S"},(z)=>this.scrollUp(z)),this._parser.registerCsiHandler({final:"T"},(z)=>this.scrollDown(z)),this._parser.registerCsiHandler({final:"X"},(z)=>this.eraseChars(z)),this._parser.registerCsiHandler({final:"Z"},(z)=>this.cursorBackwardTab(z)),this._parser.registerCsiHandler({final:"`"},(z)=>this.charPosAbsolute(z)),this._parser.registerCsiHandler({final:"a"},(z)=>this.hPositionRelative(z)),this._parser.registerCsiHandler({final:"b"},(z)=>this.repeatPrecedingCharacter(z)),this._parser.registerCsiHandler({final:"c"},(z)=>this.sendDeviceAttributesPrimary(z)),this._parser.registerCsiHandler({prefix:">",final:"c"},(z)=>this.sendDeviceAttributesSecondary(z)),this._parser.registerCsiHandler({final:"d"},(z)=>this.linePosAbsolute(z)),this._parser.registerCsiHandler({final:"e"},(z)=>this.vPositionRelative(z)),this._parser.registerCsiHandler({final:"f"},(z)=>this.hVPosition(z)),this._parser.registerCsiHandler({final:"g"},(z)=>this.tabClear(z)),this._parser.registerCsiHandler({final:"h"},(z)=>this.setMode(z)),this._parser.registerCsiHandler({prefix:"?",final:"h"},(z)=>this.setModePrivate(z)),this._parser.registerCsiHandler({final:"l"},(z)=>this.resetMode(z)),this._parser.registerCsiHandler({prefix:"?",final:"l"},(z)=>this.resetModePrivate(z)),this._parser.registerCsiHandler({final:"m"},(z)=>this.charAttributes(z)),this._parser.registerCsiHandler({final:"n"},(z)=>this.deviceStatus(z)),this._parser.registerCsiHandler({prefix:"?",final:"n"},(z)=>this.deviceStatusPrivate(z)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(z)=>this.softReset(z)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(z)=>this.setCursorStyle(z)),this._parser.registerCsiHandler({final:"r"},(z)=>this.setScrollRegion(z)),this._parser.registerCsiHandler({final:"s"},(z)=>this.saveCursor(z)),this._parser.registerCsiHandler({final:"t"},(z)=>this.windowOptions(z)),this._parser.registerCsiHandler({final:"u"},(z)=>this.restoreCursor(z)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(z)=>this.insertColumns(z)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(z)=>this.deleteColumns(z)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(z)=>this.selectProtected(z)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(z)=>this.requestMode(z,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(z)=>this.requestMode(z,!1)),this._parser.setExecuteHandler(v.BEL,()=>this.bell()),this._parser.setExecuteHandler(v.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(v.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(v.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(v.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(v.BS,()=>this.backspace()),this._parser.setExecuteHandler(v.HT,()=>this.tab()),this._parser.setExecuteHandler(v.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(v.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(N4.IND,()=>this.index()),this._parser.setExecuteHandler(N4.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(N4.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new p0((z)=>(this.setTitle(z),this.setIconName(z),!0))),this._parser.registerOscHandler(1,new p0((z)=>this.setIconName(z))),this._parser.registerOscHandler(2,new p0((z)=>this.setTitle(z))),this._parser.registerOscHandler(4,new p0((z)=>this.setOrReportIndexedColor(z))),this._parser.registerOscHandler(8,new p0((z)=>this.setHyperlink(z))),this._parser.registerOscHandler(10,new p0((z)=>this.setOrReportFgColor(z))),this._parser.registerOscHandler(11,new p0((z)=>this.setOrReportBgColor(z))),this._parser.registerOscHandler(12,new p0((z)=>this.setOrReportCursorColor(z))),this._parser.registerOscHandler(104,new p0((z)=>this.restoreIndexedColor(z))),this._parser.registerOscHandler(110,new p0((z)=>this.restoreFgColor(z))),this._parser.registerOscHandler(111,new p0((z)=>this.restoreBgColor(z))),this._parser.registerOscHandler(112,new p0((z)=>this.restoreCursorColor(z))),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 z in W0)this._parser.registerEscHandler({intermediates:"(",final:z},()=>this.selectCharset("("+z)),this._parser.registerEscHandler({intermediates:")",final:z},()=>this.selectCharset(")"+z)),this._parser.registerEscHandler({intermediates:"*",final:z},()=>this.selectCharset("*"+z)),this._parser.registerEscHandler({intermediates:"+",final:z},()=>this.selectCharset("+"+z)),this._parser.registerEscHandler({intermediates:"-",final:z},()=>this.selectCharset("-"+z)),this._parser.registerEscHandler({intermediates:".",final:z},()=>this.selectCharset("."+z)),this._parser.registerEscHandler({intermediates:"/",final:z},()=>this.selectCharset("/"+z));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler((z)=>(this._logService.error("Parsing error: ",z),z)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new i6((z,D)=>this.requestStatusString(z,D)))}getAttrData(){return this._curAttrData}_preserveStack(q,G,Y,J){this._parseStack.paused=!0,this._parseStack.cursorStartX=q,this._parseStack.cursorStartY=G,this._parseStack.decodedLength=Y,this._parseStack.position=J}_logSlowResolvingAsync(q){this._logService.logLevel<=3&&Promise.race([q,new Promise((G,Y)=>setTimeout(()=>Y("#SLOW_TIMEOUT"),G7))]).catch((G)=>{if(G!=="#SLOW_TIMEOUT")throw G;console.warn(`async parser handler taking longer than ${G7} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(q,G){let Y,J=this._activeBuffer.x,X=this._activeBuffer.y,Z=0,V=this._parseStack.paused;if(V){if(Y=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,G))return this._logSlowResolvingAsync(Y),Y;J=this._parseStack.cursorStartX,X=this._parseStack.cursorStartY,this._parseStack.paused=!1,q.length>D3&&(Z=this._parseStack.position+D3)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof q=="string"?` "${q}"`:` "${Array.prototype.map.call(q,(z)=>String.fromCharCode(z)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof q=="string"?q.split("").map((z)=>z.charCodeAt(0)):q),this._parseBuffer.lengthD3)for(let z=Z;z0&&C.getWidth(this._activeBuffer.x-1)===2&&C.setCellFromCodepoint(this._activeBuffer.x-1,0,1,D);let R=this._parser.precedingJoinState;for(let H=G;Hj){if(K){let B=C,L=this._activeBuffer.x-W;for(this._activeBuffer.x=W,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),C=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),W>0&&C instanceof s3&&C.copyCellsFrom(B,L,0,W,!1);L=0;)C.setCellFromCodepoint(this._activeBuffer.x++,0,0,D);continue}if(z&&(C.insertCells(this._activeBuffer.x,X-W,this._activeBuffer.getNullCell(D)),C.getWidth(j-1)===2&&C.setCellFromCodepoint(j-1,0,1,D)),C.setCellFromCodepoint(this._activeBuffer.x++,J,X,D),X>0)for(;--X;)C.setCellFromCodepoint(this._activeBuffer.x++,0,0,D)}this._parser.precedingJoinState=R,this._activeBuffer.x0&&C.getWidth(this._activeBuffer.x)===0&&!C.hasContent(this._activeBuffer.x)&&C.setCellFromCodepoint(this._activeBuffer.x,0,1,D),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(q,G){return q.final==="t"&&!q.prefix&&!q.intermediates?this._parser.registerCsiHandler(q,(Y)=>q7(Y.params[0],this._optionsService.rawOptions.windowOptions)?G(Y):!0):this._parser.registerCsiHandler(q,G)}registerDcsHandler(q,G){return this._parser.registerDcsHandler(q,new i6(G))}registerEscHandler(q,G){return this._parser.registerEscHandler(q,G)}registerOscHandler(q,G){return this._parser.registerOscHandler(q,new p0(G))}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 q=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);q.hasWidth(this._activeBuffer.x)&&!q.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let q=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-q),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(q=this._bufferService.cols-1){this._activeBuffer.x=Math.min(q,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(q,G){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=q,this._activeBuffer.y=this._activeBuffer.scrollTop+G):(this._activeBuffer.x=q,this._activeBuffer.y=G),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(q,G){this._restrictCursor(),this._setCursor(this._activeBuffer.x+q,this._activeBuffer.y+G)}cursorUp(q){let G=this._activeBuffer.y-this._activeBuffer.scrollTop;return G>=0?this._moveCursor(0,-Math.min(G,q.params[0]||1)):this._moveCursor(0,-(q.params[0]||1)),!0}cursorDown(q){let G=this._activeBuffer.scrollBottom-this._activeBuffer.y;return G>=0?this._moveCursor(0,Math.min(G,q.params[0]||1)):this._moveCursor(0,q.params[0]||1),!0}cursorForward(q){return this._moveCursor(q.params[0]||1,0),!0}cursorBackward(q){return this._moveCursor(-(q.params[0]||1),0),!0}cursorNextLine(q){return this.cursorDown(q),this._activeBuffer.x=0,!0}cursorPrecedingLine(q){return this.cursorUp(q),this._activeBuffer.x=0,!0}cursorCharAbsolute(q){return this._setCursor((q.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(q){return this._setCursor(q.length>=2?(q.params[1]||1)-1:0,(q.params[0]||1)-1),!0}charPosAbsolute(q){return this._setCursor((q.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(q){return this._moveCursor(q.params[0]||1,0),!0}linePosAbsolute(q){return this._setCursor(this._activeBuffer.x,(q.params[0]||1)-1),!0}vPositionRelative(q){return this._moveCursor(0,q.params[0]||1),!0}hVPosition(q){return this.cursorPosition(q),!0}tabClear(q){let G=q.params[0];return G===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:G===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(q){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let G=q.params[0]||1;for(;G--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(q){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let G=q.params[0]||1;for(;G--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(q){let G=q.params[0];return G===1&&(this._curAttrData.bg|=536870912),(G===2||G===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(q,G,Y,J=!1,X=!1){let Z=this._activeBuffer.lines.get(this._activeBuffer.ybase+q);Z.replaceCells(G,Y,this._activeBuffer.getNullCell(this._eraseAttrData()),X),J&&(Z.isWrapped=!1)}_resetBufferLine(q,G=!1){let Y=this._activeBuffer.lines.get(this._activeBuffer.ybase+q);Y&&(Y.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),G),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+q),Y.isWrapped=!1)}eraseInDisplay(q,G=!1){this._restrictCursor(this._bufferService.cols);let Y;switch(q.params[0]){case 0:for(Y=this._activeBuffer.y,this._dirtyRowTracker.markDirty(Y),this._eraseInBufferLine(Y++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,G);Y=this._bufferService.cols&&(this._activeBuffer.lines.get(Y+1).isWrapped=!1);Y--;)this._resetBufferLine(Y,G);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(Y=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,Y-1);Y--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+Y)?.getTrimmedLength(););for(;Y>=0;Y--)this._bufferService.scroll(this._eraseAttrData())}else{for(Y=this._bufferService.rows,this._dirtyRowTracker.markDirty(Y-1);Y--;)this._resetBufferLine(Y,G);this._dirtyRowTracker.markDirty(0)}break;case 3:let J=this._activeBuffer.lines.length-this._bufferService.rows;J>0&&(this._activeBuffer.lines.trimStart(J),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-J,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-J,0),this._onScroll.fire(0));break}return!0}eraseInLine(q,G=!1){switch(this._restrictCursor(this._bufferService.cols),q.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,G);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,G);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,G);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(q){this._restrictCursor();let G=q.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let K=j;for(let z=1;z0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(v.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(v.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(q){return q.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(v.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(v.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(q.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(v.ESC+"[>83;40003;0c")),!0}_is(q){return(this._optionsService.rawOptions.termName+"").indexOf(q)===0}setMode(q){for(let G=0;G(A[A.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",A[A.SET=1]="SET",A[A.RESET=2]="RESET",A[A.PERMANENTLY_SET=3]="PERMANENTLY_SET",A[A.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(Y||={});let J=this._coreService.decPrivateModes,{activeProtocol:X,activeEncoding:Z}=this._coreMouseService,V=this._coreService,{buffers:j,cols:K}=this._bufferService,{active:z,alt:D}=j,C=this._optionsService.rawOptions,R=(A,W)=>(V.triggerDataEvent(`${v.ESC}[${G?"":"?"}${A};${W}$y`),!0),H=(A)=>A?1:2,M=q.params[0];return G?M===2?R(M,4):M===4?R(M,H(V.modes.insertMode)):M===12?R(M,3):M===20?R(M,H(C.convertEol)):R(M,0):M===1?R(M,H(J.applicationCursorKeys)):M===3?R(M,C.windowOptions.setWinLines?K===80?2:K===132?1:0:0):M===6?R(M,H(J.origin)):M===7?R(M,H(J.wraparound)):M===8?R(M,3):M===9?R(M,H(X==="X10")):M===12?R(M,H(C.cursorBlink)):M===25?R(M,H(!V.isCursorHidden)):M===45?R(M,H(J.reverseWraparound)):M===66?R(M,H(J.applicationKeypad)):M===67?R(M,4):M===1000?R(M,H(X==="VT200")):M===1002?R(M,H(X==="DRAG")):M===1003?R(M,H(X==="ANY")):M===1004?R(M,H(J.sendFocus)):M===1005?R(M,4):M===1006?R(M,H(Z==="SGR")):M===1015?R(M,4):M===1016?R(M,H(Z==="SGR_PIXELS")):M===1048?R(M,1):M===47||M===1047||M===1049?R(M,H(z===D)):M===2004?R(M,H(J.bracketedPasteMode)):M===2026?R(M,H(J.synchronizedOutput)):R(M,0)}_updateAttrColor(q,G,Y,J,X){return G===2?(q|=50331648,q&=-16777216,q|=J4.fromColorRGB([Y,J,X])):G===5&&(q&=-50331904,q|=33554432|Y&255),q}_extractColor(q,G,Y){let J=[0,0,-1,0,0,0],X=0,Z=0;do{if(J[Z+X]=q.params[G+Z],q.hasSubParams(G+Z)){let V=q.getSubParams(G+Z),j=0;do J[1]===5&&(X=1),J[Z+j+1+X]=V[j];while(++j=2||J[1]===2&&Z+X>=5)break;J[1]&&(X=1)}while(++Z+G5)&&(q=1),G.extended.underlineStyle=q,G.fg|=268435456,q===0&&(G.fg&=-268435457),G.updateExtended()}_processSGR0(q){q.fg=k0.fg,q.bg=k0.bg,q.extended=q.extended.clone(),q.extended.underlineStyle=0,q.extended.underlineColor&=-67108864,q.updateExtended()}charAttributes(q){if(q.length===1&&q.params[0]===0)return this._processSGR0(this._curAttrData),!0;let G=q.length,Y,J=this._curAttrData;for(let X=0;X=30&&Y<=37?(J.fg&=-50331904,J.fg|=16777216|Y-30):Y>=40&&Y<=47?(J.bg&=-50331904,J.bg|=16777216|Y-40):Y>=90&&Y<=97?(J.fg&=-50331904,J.fg|=16777216|Y-90|8):Y>=100&&Y<=107?(J.bg&=-50331904,J.bg|=16777216|Y-100|8):Y===0?this._processSGR0(J):Y===1?J.fg|=134217728:Y===3?J.bg|=67108864:Y===4?(J.fg|=268435456,this._processUnderline(q.hasSubParams(X)?q.getSubParams(X)[0]:1,J)):Y===5?J.fg|=536870912:Y===7?J.fg|=67108864:Y===8?J.fg|=1073741824:Y===9?J.fg|=2147483648:Y===2?J.bg|=134217728:Y===21?this._processUnderline(2,J):Y===22?(J.fg&=-134217729,J.bg&=-134217729):Y===23?J.bg&=-67108865:Y===24?(J.fg&=-268435457,this._processUnderline(0,J)):Y===25?J.fg&=-536870913:Y===27?J.fg&=-67108865:Y===28?J.fg&=-1073741825:Y===29?J.fg&=2147483647:Y===39?(J.fg&=-67108864,J.fg|=k0.fg&16777215):Y===49?(J.bg&=-67108864,J.bg|=k0.bg&16777215):Y===38||Y===48||Y===58?X+=this._extractColor(q,X,J):Y===53?J.bg|=1073741824:Y===55?J.bg&=-1073741825:Y===59?(J.extended=J.extended.clone(),J.extended.underlineColor=-1,J.updateExtended()):Y===100?(J.fg&=-67108864,J.fg|=k0.fg&16777215,J.bg&=-67108864,J.bg|=k0.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",Y);return!0}deviceStatus(q){switch(q.params[0]){case 5:this._coreService.triggerDataEvent(`${v.ESC}[0n`);break;case 6:let G=this._activeBuffer.y+1,Y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${v.ESC}[${G};${Y}R`);break}return!0}deviceStatusPrivate(q){switch(q.params[0]){case 6:let G=this._activeBuffer.y+1,Y=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${v.ESC}[?${G};${Y}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(q){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=k0.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(q){let G=q.length===0?1:q.params[0];if(G===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(G){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let Y=G%2===1;this._coreService.decPrivateModes.cursorBlink=Y}return!0}setScrollRegion(q){let G=q.params[0]||1,Y;return(q.length<2||(Y=q.params[1])>this._bufferService.rows||Y===0)&&(Y=this._bufferService.rows),Y>G&&(this._activeBuffer.scrollTop=G-1,this._activeBuffer.scrollBottom=Y-1,this._setCursor(0,0)),!0}windowOptions(q){if(!q7(q.params[0],this._optionsService.rawOptions.windowOptions))return!0;let G=q.length>1?q.params[1]:0;switch(q.params[0]){case 14:G!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${v.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(G===0||G===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>e6&&this._windowTitleStack.shift()),(G===0||G===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>e6&&this._iconNameStack.shift());break;case 23:(G===0||G===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(G===0||G===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(q){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(q){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(q){return this._windowTitle=q,this._onTitleChange.fire(q),!0}setIconName(q){return this._iconName=q,!0}setOrReportIndexedColor(q){let G=[],Y=q.split(";");for(;Y.length>1;){let J=Y.shift(),X=Y.shift();if(/^\d+$/.exec(J)){let Z=parseInt(J);if(Z7(Z))if(X==="?")G.push({type:0,index:Z});else{let V=t6(X);V&&G.push({type:1,index:Z,color:V})}}}return G.length&&this._onColor.fire(G),!0}setHyperlink(q){let G=q.indexOf(";");if(G===-1)return!0;let Y=q.slice(0,G).trim(),J=q.slice(G+1);return J?this._createHyperlink(Y,J):Y.trim()?!1:this._finishHyperlink()}_createHyperlink(q,G){this._getCurrentLinkId()&&this._finishHyperlink();let Y=q.split(":"),J,X=Y.findIndex((Z)=>Z.startsWith("id="));return X!==-1&&(J=Y[X].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:J,uri:G}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(q,G){let Y=q.split(";");for(let J=0;J=this._specialColors.length);++J,++G)if(Y[J]==="?")this._onColor.fire([{type:0,index:this._specialColors[G]}]);else{let X=t6(Y[J]);X&&this._onColor.fire([{type:1,index:this._specialColors[G],color:X}])}return!0}setOrReportFgColor(q){return this._setOrReportSpecialColor(q,0)}setOrReportBgColor(q){return this._setOrReportSpecialColor(q,1)}setOrReportCursorColor(q){return this._setOrReportSpecialColor(q,2)}restoreIndexedColor(q){if(!q)return this._onColor.fire([{type:2}]),!0;let G=[],Y=q.split(";");for(let J=0;J=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 q=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,q,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=k0.clone(),this._eraseAttrDataInternal=k0.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(q){return this._charsetService.setgLevel(q),!0}screenAlignmentPattern(){let q=new c0;q.content=4194373,q.fg=this._curAttrData.fg,q.bg=this._curAttrData.bg,this._setCursor(0,0);for(let G=0;G(this._coreService.triggerDataEvent(`${v.ESC}${V}${v.ESC}\\`),!0),J=this._bufferService.buffer,X=this._optionsService.rawOptions;return Y(q==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:q==='"p'?'P1$r61;1"p':q==="r"?`P1$r${J.scrollTop+1};${J.scrollBottom+1}r`:q==="m"?"P1$r0m":q===" q"?`P1$r${{block:2,underline:4,bar:6}[X.cursorStyle]-(X.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(q,G){this._dirtyRowTracker.markRangeDirty(q,G)}},_5=class{constructor(q){this._bufferService=q,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(q){qthis.end&&(this.end=q)}markRangeDirty(q,G){q>G&&(Y7=q,q=G,G=Y7),qthis.end&&(this.end=G)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};_5=F0([p(0,v0)],_5);function Z7(q){return 0<=q&&q<256}var l2=50000000,J7=12,o2=50,n2=class extends t{constructor(q){super();this._action=q,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new _),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(q,G){if(G!==void 0&&this._syncCalls>G){this._syncCalls=0;return}if(this._pendingData+=q.length,this._writeBuffer.push(q),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let Y;for(;Y=this._writeBuffer.shift();){this._action(Y);let J=this._callbacks.shift();J&&J()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(q,G){if(this._pendingData>l2)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=q.length,this._writeBuffer.push(q),this._callbacks.push(G),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=q.length,this._writeBuffer.push(q),this._callbacks.push(G)}_innerWrite(q=0,G=!0){let Y=q||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let J=this._writeBuffer[this._bufferOffset],X=this._action(J,G);if(X){let V=(j)=>performance.now()-Y>=J7?setTimeout(()=>this._innerWrite(0,j)):this._innerWrite(Y,j);X.catch((j)=>(queueMicrotask(()=>{throw j}),Promise.resolve(!1))).then(V);return}let Z=this._callbacks[this._bufferOffset];if(Z&&Z(),this._bufferOffset++,this._pendingData-=J.length,performance.now()-Y>=J7)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>o2&&(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()}},f5=class{constructor(q){this._bufferService=q,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(q){let G=this._bufferService.buffer;if(q.id===void 0){let j=G.addMarker(G.ybase+G.y),K={data:q,id:this._nextId++,lines:[j]};return j.onDispose(()=>this._removeMarkerFromLink(K,j)),this._dataByLinkId.set(K.id,K),K.id}let Y=q,J=this._getEntryIdKey(Y),X=this._entriesWithId.get(J);if(X)return this.addLineToLink(X.id,G.ybase+G.y),X.id;let Z=G.addMarker(G.ybase+G.y),V={id:this._nextId++,key:this._getEntryIdKey(Y),data:Y,lines:[Z]};return Z.onDispose(()=>this._removeMarkerFromLink(V,Z)),this._entriesWithId.set(V.key,V),this._dataByLinkId.set(V.id,V),V.id}addLineToLink(q,G){let Y=this._dataByLinkId.get(q);if(Y&&Y.lines.every((J)=>J.line!==G)){let J=this._bufferService.buffer.addMarker(G);Y.lines.push(J),J.onDispose(()=>this._removeMarkerFromLink(Y,J))}}getLinkData(q){return this._dataByLinkId.get(q)?.data}_getEntryIdKey(q){return`${q.id};;${q.uri}`}_removeMarkerFromLink(q,G){let Y=q.lines.indexOf(G);Y!==-1&&(q.lines.splice(Y,1),q.lines.length===0&&(q.data.id!==void 0&&this._entriesWithId.delete(q.key),this._dataByLinkId.delete(q.id)))}};f5=F0([p(0,v0)],f5);var X7=!1,s2=class extends t{constructor(q){super();this._windowsWrappingHeuristics=this._register(new y3),this._onBinary=this._register(new _),this.onBinary=this._onBinary.event,this._onData=this._register(new _),this.onData=this._onData.event,this._onLineFeed=this._register(new _),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new _),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new _),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new _),this._instantiationService=new k2,this.optionsService=this._register(new w2(q)),this._instantiationService.setService(m0,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(E5)),this._instantiationService.setService(v0,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(b5)),this._instantiationService.setService(F7,this._logService),this.coreService=this._register(this._instantiationService.createInstance(v5)),this._instantiationService.setService(U3,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(m5)),this._instantiationService.setService($7,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(N3)),this._instantiationService.setService(u8,this.unicodeService),this._charsetService=this._instantiationService.createInstance(E2),this._instantiationService.setService(g8,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(f5),this._instantiationService.setService(R7,this._oscLinkService),this._inputHandler=this._register(new a2(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(I0.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(I0.forward(this._bufferService.onResize,this._onResize)),this._register(I0.forward(this.coreService.onData,this._onData)),this._register(I0.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new n2((G,Y)=>this._inputHandler.parse(G,Y))),this._register(I0.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new _),this._onScroll.event((q)=>{this._onScrollApi?.fire(q.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(q){for(let G in q)this.optionsService.options[G]=q[G]}write(q,G){this._writeBuffer.write(q,G)}writeSync(q,G){this._logService.logLevel<=3&&!X7&&(this._logService.warn("writeSync is unreliable and will be removed soon."),X7=!0),this._writeBuffer.writeSync(q,G)}input(q,G=!0){this.coreService.triggerDataEvent(q,G)}resize(q,G){isNaN(q)||isNaN(G)||(q=Math.max(q,l7),G=Math.max(G,o7),this._bufferService.resize(q,G))}scroll(q,G=!1){this._bufferService.scroll(q,G)}scrollLines(q,G){this._bufferService.scrollLines(q,G)}scrollPages(q){this.scrollLines(q*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(q){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(q){let G=q-this._bufferService.buffer.ydisp;G!==0&&this.scrollLines(G)}registerEscHandler(q,G){return this._inputHandler.registerEscHandler(q,G)}registerDcsHandler(q,G){return this._inputHandler.registerDcsHandler(q,G)}registerCsiHandler(q,G){return this._inputHandler.registerCsiHandler(q,G)}registerOscHandler(q,G){return this._inputHandler.registerOscHandler(q,G)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let q=!1,G=this.optionsService.rawOptions.windowsPty;G&&G.buildNumber!==void 0&&G.buildNumber!==void 0?q=G.backend==="conpty"&&G.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(q=!0),q?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let q=[];q.push(this.onLineFeed(r6.bind(null,this._bufferService))),q.push(this.registerCsiHandler({final:"H"},()=>(r6(this._bufferService),!1))),this._windowsWrappingHeuristics.value=j0(()=>{for(let G of q)G.dispose()})}}},r2={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function i2(q,G,Y,J){let X={type:0,cancel:!1,key:void 0},Z=(q.shiftKey?1:0)|(q.altKey?2:0)|(q.ctrlKey?4:0)|(q.metaKey?8:0);switch(q.keyCode){case 0:q.key==="UIKeyInputUpArrow"?G?X.key=v.ESC+"OA":X.key=v.ESC+"[A":q.key==="UIKeyInputLeftArrow"?G?X.key=v.ESC+"OD":X.key=v.ESC+"[D":q.key==="UIKeyInputRightArrow"?G?X.key=v.ESC+"OC":X.key=v.ESC+"[C":q.key==="UIKeyInputDownArrow"&&(G?X.key=v.ESC+"OB":X.key=v.ESC+"[B");break;case 8:X.key=q.ctrlKey?"\b":v.DEL,q.altKey&&(X.key=v.ESC+X.key);break;case 9:if(q.shiftKey){X.key=v.ESC+"[Z";break}X.key=v.HT,X.cancel=!0;break;case 13:X.key=q.altKey?v.ESC+v.CR:v.CR,X.cancel=!0;break;case 27:X.key=v.ESC,q.altKey&&(X.key=v.ESC+v.ESC),X.cancel=!0;break;case 37:if(q.metaKey)break;Z?X.key=v.ESC+"[1;"+(Z+1)+"D":G?X.key=v.ESC+"OD":X.key=v.ESC+"[D";break;case 39:if(q.metaKey)break;Z?X.key=v.ESC+"[1;"+(Z+1)+"C":G?X.key=v.ESC+"OC":X.key=v.ESC+"[C";break;case 38:if(q.metaKey)break;Z?X.key=v.ESC+"[1;"+(Z+1)+"A":G?X.key=v.ESC+"OA":X.key=v.ESC+"[A";break;case 40:if(q.metaKey)break;Z?X.key=v.ESC+"[1;"+(Z+1)+"B":G?X.key=v.ESC+"OB":X.key=v.ESC+"[B";break;case 45:!q.shiftKey&&!q.ctrlKey&&(X.key=v.ESC+"[2~");break;case 46:Z?X.key=v.ESC+"[3;"+(Z+1)+"~":X.key=v.ESC+"[3~";break;case 36:Z?X.key=v.ESC+"[1;"+(Z+1)+"H":G?X.key=v.ESC+"OH":X.key=v.ESC+"[H";break;case 35:Z?X.key=v.ESC+"[1;"+(Z+1)+"F":G?X.key=v.ESC+"OF":X.key=v.ESC+"[F";break;case 33:q.shiftKey?X.type=2:q.ctrlKey?X.key=v.ESC+"[5;"+(Z+1)+"~":X.key=v.ESC+"[5~";break;case 34:q.shiftKey?X.type=3:q.ctrlKey?X.key=v.ESC+"[6;"+(Z+1)+"~":X.key=v.ESC+"[6~";break;case 112:Z?X.key=v.ESC+"[1;"+(Z+1)+"P":X.key=v.ESC+"OP";break;case 113:Z?X.key=v.ESC+"[1;"+(Z+1)+"Q":X.key=v.ESC+"OQ";break;case 114:Z?X.key=v.ESC+"[1;"+(Z+1)+"R":X.key=v.ESC+"OR";break;case 115:Z?X.key=v.ESC+"[1;"+(Z+1)+"S":X.key=v.ESC+"OS";break;case 116:Z?X.key=v.ESC+"[15;"+(Z+1)+"~":X.key=v.ESC+"[15~";break;case 117:Z?X.key=v.ESC+"[17;"+(Z+1)+"~":X.key=v.ESC+"[17~";break;case 118:Z?X.key=v.ESC+"[18;"+(Z+1)+"~":X.key=v.ESC+"[18~";break;case 119:Z?X.key=v.ESC+"[19;"+(Z+1)+"~":X.key=v.ESC+"[19~";break;case 120:Z?X.key=v.ESC+"[20;"+(Z+1)+"~":X.key=v.ESC+"[20~";break;case 121:Z?X.key=v.ESC+"[21;"+(Z+1)+"~":X.key=v.ESC+"[21~";break;case 122:Z?X.key=v.ESC+"[23;"+(Z+1)+"~":X.key=v.ESC+"[23~";break;case 123:Z?X.key=v.ESC+"[24;"+(Z+1)+"~":X.key=v.ESC+"[24~";break;default:if(q.ctrlKey&&!q.shiftKey&&!q.altKey&&!q.metaKey)q.keyCode>=65&&q.keyCode<=90?X.key=String.fromCharCode(q.keyCode-64):q.keyCode===32?X.key=v.NUL:q.keyCode>=51&&q.keyCode<=55?X.key=String.fromCharCode(q.keyCode-51+27):q.keyCode===56?X.key=v.DEL:q.keyCode===219?X.key=v.ESC:q.keyCode===220?X.key=v.FS:q.keyCode===221&&(X.key=v.GS);else if((!Y||J)&&q.altKey&&!q.metaKey){let V=r2[q.keyCode]?.[q.shiftKey?1:0];if(V)X.key=v.ESC+V;else if(q.keyCode>=65&&q.keyCode<=90){let j=q.ctrlKey?q.keyCode-64:q.keyCode+32,K=String.fromCharCode(j);q.shiftKey&&(K=K.toUpperCase()),X.key=v.ESC+K}else if(q.keyCode===32)X.key=v.ESC+(q.ctrlKey?v.NUL:" ");else if(q.key==="Dead"&&q.code.startsWith("Key")){let j=q.code.slice(3,4);q.shiftKey||(j=j.toLowerCase()),X.key=v.ESC+j,X.cancel=!0}}else Y&&!q.altKey&&!q.ctrlKey&&!q.shiftKey&&q.metaKey?q.keyCode===65&&(X.type=1):q.key&&!q.ctrlKey&&!q.altKey&&!q.metaKey&&q.keyCode>=48&&q.key.length===1?X.key=q.key:q.key&&q.ctrlKey&&(q.key==="_"&&(X.key=v.US),q.key==="@"&&(X.key=v.NUL));break}return X}var A0=0,t2=class{constructor(q){this._getKey=q,this._array=[],this._insertedValues=[],this._flushInsertedTask=new I4,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new I4,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(q){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(q)}_flushInserted(){let q=this._insertedValues.sort((X,Z)=>this._getKey(X)-this._getKey(Z)),G=0,Y=0,J=Array(this._array.length+this._insertedValues.length);for(let X=0;X=this._array.length||this._getKey(q[G])<=this._getKey(this._array[Y])?(J[X]=q[G],G++):J[X]=this._array[Y++];this._array=J,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(q){if(this._flushCleanupInserted(),this._array.length===0)return!1;let G=this._getKey(q);if(G===void 0||(A0=this._search(G),A0===-1)||this._getKey(this._array[A0])!==G)return!1;do if(this._array[A0]===q)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(A0),!0;while(++A0X-Z),G=0,Y=Array(this._array.length-q.length),J=0;for(let X=0;X0&&this._flushDeletedTask.flush()}*getKeyIterator(q){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(A0=this._search(q),!(A0<0||A0>=this._array.length)&&this._getKey(this._array[A0])===q))do yield this._array[A0];while(++A0=this._array.length)&&this._getKey(this._array[A0])===q))do G(this._array[A0]);while(++A0=G;){let J=G+Y>>1,X=this._getKey(this._array[J]);if(X>q)Y=J-1;else if(X0&&this._getKey(this._array[J-1])===q;)J--;return J}}return G}},j5=0,V7=0,e2=class extends t{constructor(){super();this._decorations=new t2((q)=>q?.marker.line),this._onDecorationRegistered=this._register(new _),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new _),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(j0(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(q){if(q.marker.isDisposed)return;let G=new qq(q);if(G){let Y=G.marker.onDispose(()=>G.dispose()),J=G.onDispose(()=>{J.dispose(),G&&(this._decorations.delete(G)&&this._onDecorationRemoved.fire(G),Y.dispose())});this._decorations.insert(G),this._onDecorationRegistered.fire(G)}return G}reset(){for(let q of this._decorations.values())q.dispose();this._decorations.clear()}*getDecorationsAtCell(q,G,Y){let J=0,X=0;for(let Z of this._decorations.getKeyIterator(G))J=Z.options.x??0,X=J+(Z.options.width??1),q>=J&&q{j5=X.options.x??0,V7=j5+(X.options.width??1),q>=j5&&q=this._debounceThresholdMS)this._lastRefreshMs=J,this._innerRefresh();else if(!this._additionalRefreshRequested){let X=J-this._lastRefreshMs,Z=this._debounceThresholdMS-X;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},Z)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let q=Math.max(this._rowStart,0),G=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(q,G)}},z7=20,K7=!1,T4=class extends t{constructor(q,G,Y,J){super();this._terminal=q,this._coreBrowserService=Y,this._renderService=J,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let X=this._coreBrowserService.mainDocument;this._accessibilityContainer=X.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=X.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let Z=0;Zthis._handleBoundaryFocus(Z,0),this._bottomBoundaryFocusListener=(Z)=>this._handleBoundaryFocus(Z,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=X.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new Yq(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");K7?(this._accessibilityContainer.classList.add("debug"),this._rowContainer.classList.add("debug"),this._debugRootContainer=X.createElement("div"),this._debugRootContainer.classList.add("xterm"),this._debugRootContainer.appendChild(X.createTextNode("------start a11y------")),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(X.createTextNode("------end a11y------")),this._terminal.element.insertAdjacentElement("afterend",this._debugRootContainer)):this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize((Z)=>this._handleResize(Z.rows))),this._register(this._terminal.onRender((Z)=>this._refreshRows(Z.start,Z.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar((Z)=>this._handleChar(Z))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` +`))),this._register(this._terminal.onA11yTab((Z)=>this._handleTab(Z))),this._register(this._terminal.onKey((Z)=>this._handleKey(Z.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(s(X,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(j0(()=>{K7?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(q){for(let G=0;G0?this._charsToConsume.shift()!==q&&(this._charsToAnnounce+=q):this._charsToAnnounce+=q,q===` +`&&(this._liveRegionLineCount++,this._liveRegionLineCount===z7+1&&(this._liveRegion.textContent+=H5.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(q){this._clearLiveRegion(),/\p{Control}/u.test(q)||this._charsToConsume.push(q)}_refreshRows(q,G){this._liveRegionDebouncer.refresh(q,G,this._terminal.rows)}_renderRows(q,G){let Y=this._terminal.buffer,J=Y.lines.length.toString();for(let X=q;X<=G;X++){let Z=Y.lines.get(Y.ydisp+X),V=[],j=Z?.translateToString(!0,void 0,void 0,V)||"",K=(Y.ydisp+X+1).toString(),z=this._rowElements[X];z&&(j.length===0?(z.textContent=" ",this._rowColumns.set(z,[0,1])):(z.textContent=j,this._rowColumns.set(z,V)),z.setAttribute("aria-posinset",K),z.setAttribute("aria-setsize",J),this._alignRowWidth(z))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(q,G){let Y=q.target,J=this._rowElements[G===0?1:this._rowElements.length-2],X=Y.getAttribute("aria-posinset"),Z=G===0?"1":`${this._terminal.buffer.lines.length}`;if(X===Z||q.relatedTarget!==J)return;let V,j;if(G===0?(V=Y,j=this._rowElements.pop(),this._rowContainer.removeChild(j)):(V=this._rowElements.shift(),j=Y,this._rowContainer.removeChild(V)),V.removeEventListener("focus",this._topBoundaryFocusListener),j.removeEventListener("focus",this._bottomBoundaryFocusListener),G===0){let K=this._createAccessibilityTreeNode();this._rowElements.unshift(K),this._rowContainer.insertAdjacentElement("afterbegin",K)}else{let K=this._createAccessibilityTreeNode();this._rowElements.push(K),this._rowContainer.appendChild(K)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(G===0?-1:1),this._rowElements[G===0?1:this._rowElements.length-2].focus(),q.preventDefault(),q.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let q=this._coreBrowserService.mainDocument.getSelection();if(!q)return;if(q.isCollapsed){this._rowContainer.contains(q.anchorNode)&&this._terminal.clearSelection();return}if(!q.anchorNode||!q.focusNode){console.error("anchorNode and/or focusNode are null");return}let G={node:q.anchorNode,offset:q.anchorOffset},Y={node:q.focusNode,offset:q.focusOffset};if((G.node.compareDocumentPosition(Y.node)&Node.DOCUMENT_POSITION_PRECEDING||G.node===Y.node&&G.offset>Y.offset)&&([G,Y]=[Y,G]),G.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(G={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(G.node))return;let J=this._rowElements.slice(-1)[0];if(Y.node.compareDocumentPosition(J)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(Y={node:J,offset:J.textContent?.length??0}),!this._rowContainer.contains(Y.node))return;let X=({node:j,offset:K})=>{let z=j instanceof Text?j.parentNode:j,D=parseInt(z?.getAttribute("aria-posinset"),10)-1;if(isNaN(D))return console.warn("row is invalid. Race condition?"),null;let C=this._rowColumns.get(z);if(!C)return console.warn("columns is null. Race condition?"),null;let R=K=this._terminal.cols&&(++D,R=0),{row:D,column:R}},Z=X(G),V=X(Y);if(!(!Z||!V)){if(Z.row>V.row||Z.row===V.row&&Z.column>=V.column)throw Error("invalid range");this._terminal.select(Z.column,Z.row,(V.row-Z.row)*this._terminal.cols-Z.column+V.column)}}_handleResize(q){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let G=this._rowContainer.children.length;Gq;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let q=this._coreBrowserService.mainDocument.createElement("div");return q.setAttribute("role","listitem"),q.tabIndex=-1,this._refreshRowDimensions(q),q}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let q=0;q{W3(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(s(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(s(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(s(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(s(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(q){this._lastMouseEvent=q;let G=this._positionFromMouseEvent(q,this._element,this._mouseService);if(!G)return;this._isMouseOut=!1;let Y=q.composedPath();for(let J=0;J{J?.forEach((X)=>{X.link.dispose&&X.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=q.y);let Y=!1;for(let[J,X]of this._linkProviderService.linkProviders.entries())G?this._activeProviderReplies?.get(J)&&(Y=this._checkLinkProviderResult(J,q,Y)):X.provideLinks(q.y,(Z)=>{if(this._isMouseOut)return;let V=Z?.map((j)=>({link:j}));this._activeProviderReplies?.set(J,V),Y=this._checkLinkProviderResult(J,q,Y),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(q.y,this._activeProviderReplies)})}_removeIntersectingLinks(q,G){let Y=new Set;for(let J=0;Jq?this._bufferService.cols:V.link.range.end.x;for(let z=j;z<=K;z++){if(Y.has(z)){X.splice(Z--,1);break}Y.add(z)}}}}_checkLinkProviderResult(q,G,Y){if(!this._activeProviderReplies)return Y;let J=this._activeProviderReplies.get(q),X=!1;for(let Z=0;Zthis._linkAtPosition(V.link,G));Z&&(Y=!0,this._handleNewLink(Z))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!Y)for(let Z=0;Zthis._linkAtPosition(j.link,G));if(V){Y=!0,this._handleNewLink(V);break}}return Y}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(q){if(!this._currentLink)return;let G=this._positionFromMouseEvent(q,this._element,this._mouseService);G&&this._mouseDownLink&&Zq(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,G)&&this._currentLink.link.activate(q,this._currentLink.link.text)}_clearCurrentLink(q,G){!this._currentLink||!this._lastMouseEvent||(!q||!G||this._currentLink.link.range.start.y>=q&&this._currentLink.link.range.end.y<=G)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,W3(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(q){if(!this._lastMouseEvent)return;let G=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);G&&this._linkAtPosition(q.link,G)&&(this._currentLink=q,this._currentLink.state={decorations:{underline:q.link.decorations===void 0?!0:q.link.decorations.underline,pointerCursor:q.link.decorations===void 0?!0:q.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,q.link,this._lastMouseEvent),q.link.decorations={},Object.defineProperties(q.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:(Y)=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==Y&&(this._currentLink.state.decorations.pointerCursor=Y,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",Y))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:(Y)=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==Y&&(this._currentLink.state.decorations.underline=Y,this._currentLink.state.isHovered&&this._fireUnderlineEvent(q.link,Y))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((Y)=>{if(!this._currentLink)return;let J=Y.start===0?0:Y.start+1+this._bufferService.buffer.ydisp,X=this._bufferService.buffer.ydisp+1+Y.end;if(this._currentLink.link.range.start.y>=J&&this._currentLink.link.range.end.y<=X&&(this._clearCurrentLink(J,X),this._lastMouseEvent)){let Z=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);Z&&this._askForLink(Z,!1)}})))}_linkHover(q,G,Y){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(G,!0),this._currentLink.state.decorations.pointerCursor&&q.classList.add("xterm-cursor-pointer")),G.hover&&G.hover(Y,G.text)}_fireUnderlineEvent(q,G){let Y=q.range,J=this._bufferService.buffer.ydisp,X=this._createLinkUnderlineEvent(Y.start.x-1,Y.start.y-J-1,Y.end.x,Y.end.y-J-1,void 0);(G?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(X)}_linkLeave(q,G,Y){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(G,!1),this._currentLink.state.decorations.pointerCursor&&q.classList.remove("xterm-cursor-pointer")),G.leave&&G.leave(Y,G.text)}_linkAtPosition(q,G){let Y=q.range.start.y*this._bufferService.cols+q.range.start.x,J=q.range.end.y*this._bufferService.cols+q.range.end.x,X=G.y*this._bufferService.cols+G.x;return Y<=X&&X<=J}_positionFromMouseEvent(q,G,Y){let J=Y.getCoords(q,G,this._bufferService.cols,this._bufferService.rows);if(J)return{x:J[0],y:J[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(q,G,Y,J,X){return{x1:q,y1:G,x2:Y,y2:J,cols:this._bufferService.cols,fg:X}}};p5=F0([p(1,u5),p(2,K3),p(3,v0),p(4,k7)],p5);function Zq(q,G){return q.text===G.text&&q.range.start.x===G.range.start.x&&q.range.start.y===G.range.start.y&&q.range.end.x===G.range.end.x&&q.range.end.y===G.range.end.y}var Jq=class extends s2{constructor(q={}){super(q);this._linkifier=this._register(new y3),this.browser=_7,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new y3),this._onCursorMove=this._register(new _),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new _),this.onKey=this._onKey.event,this._onRender=this._register(new _),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new _),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new _),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new _),this.onBell=this._onBell.event,this._onFocus=this._register(new _),this._onBlur=this._register(new _),this._onA11yCharEmitter=this._register(new _),this._onA11yTabEmitter=this._register(new _),this._onWillOpen=this._register(new _),this._setup(),this._decorationService=this._instantiationService.createInstance(e2),this._instantiationService.setService(X4,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(l1),this._instantiationService.setService(k7,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(C5)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows((G)=>this.refresh(G?.start??0,G?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport((G)=>this._reportWindowsOptions(G))),this._register(this._inputHandler.onColor((G)=>this._handleColorEvent(G))),this._register(I0.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(I0.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(I0.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(I0.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize((G)=>this._afterResize(G.cols,G.rows))),this._register(j0(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(q){if(this._themeService)for(let G of q){let Y,J="";switch(G.index){case 256:Y="foreground",J="10";break;case 257:Y="background",J="11";break;case 258:Y="cursor",J="12";break;default:Y="ansi",J="4;"+G.index}switch(G.type){case 0:let X=K0.toColorRGB(Y==="ansi"?this._themeService.colors.ansi[G.index]:this._themeService.colors[Y]);this.coreService.triggerDataEvent(`${v.ESC}]${J};${h2(X)}${v7.ST}`);break;case 1:if(Y==="ansi")this._themeService.modifyColors((Z)=>Z.ansi[G.index]=P0.toColor(...G.color));else{let Z=Y;this._themeService.modifyColors((V)=>V[Z]=P0.toColor(...G.color))}break;case 2:this._themeService.restoreColor(G.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(q){q?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(T4,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(q){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(v.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(v.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let q=this.buffer.ybase+this.buffer.y,G=this.buffer.lines.get(q);if(!G)return;let Y=Math.min(this.buffer.x,this.cols-1),J=this._renderService.dimensions.css.cell.height,X=G.getWidth(Y),Z=this._renderService.dimensions.css.cell.width*X,V=this.buffer.y*this._renderService.dimensions.css.cell.height,j=Y*this._renderService.dimensions.css.cell.width;this.textarea.style.left=j+"px",this.textarea.style.top=V+"px",this.textarea.style.width=Z+"px",this.textarea.style.height=J+"px",this.textarea.style.lineHeight=J+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(s(this.element,"copy",(G)=>{this.hasSelection()&&E8(G,this._selectionService)}));let q=(G)=>v8(G,this.textarea,this.coreService,this.optionsService);this._register(s(this.textarea,"paste",q)),this._register(s(this.element,"paste",q)),f7?this._register(s(this.element,"mousedown",(G)=>{G.button===2&&j6(G,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(s(this.element,"contextmenu",(G)=>{j6(G,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),s5&&this._register(s(this.element,"auxclick",(G)=>{G.button===1&&D7(G,this.textarea,this.screenElement)}))}_bindKeys(){this._register(s(this.textarea,"keyup",(q)=>this._keyUp(q),!0)),this._register(s(this.textarea,"keydown",(q)=>this._keyDown(q),!0)),this._register(s(this.textarea,"keypress",(q)=>this._keyPress(q),!0)),this._register(s(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(s(this.textarea,"compositionupdate",(q)=>this._compositionHelper.compositionupdate(q))),this._register(s(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(s(this.textarea,"input",(q)=>this._inputEvent(q),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(q){if(!q)throw Error("Terminal requires a parent element.");if(q.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=q.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"),q.appendChild(this.element);let G=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),G.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(s(this.screenElement,"mousemove",(X)=>this.updateCursorStyle(X))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),G.appendChild(this.screenElement);let Y=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",M5.get()),u7||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>Y.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(c1,this.textarea,q.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(z3,this._coreBrowserService),this._register(s(this.textarea,"focus",(X)=>this._handleTextAreaFocus(X))),this._register(s(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(y5,this._document,this._helperContainer),this._instantiationService.setService(b4,this._charSizeService),this._themeService=this._instantiationService.createInstance(x5),this._instantiationService.setService(w3,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(y4),this._instantiationService.setService(A7,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(I5,this.rows,this.screenElement)),this._instantiationService.setService(K3,this._renderService),this._register(this._renderService.onRenderedViewportChange((X)=>this._onRender.fire(X))),this.onResize((X)=>this._renderService.resize(X.cols,X.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(U5,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(w5),this._instantiationService.setService(u5,this._mouseService);let J=this._linkifier.value=this._register(this._instantiationService.createInstance(p5,this.screenElement));this.element.appendChild(G);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(W5,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines((X)=>{super.scrollLines(X,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(T5,this.element,this.screenElement,J)),this._instantiationService.setService(h8,this._selectionService),this._register(this._selectionService.onRequestScrollLines((X)=>this.scrollLines(X.amount,X.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw((X)=>this._renderService.handleSelectionChanged(X.start,X.end,X.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection((X)=>{this.textarea.value=X,this.textarea.focus(),this.textarea.select()})),this._register(I0.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(L5,this.screenElement)),this._register(s(this.element,"mousedown",(X)=>this._selectionService.handleMouseDown(X))),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(T4,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",(X)=>this._handleScreenReaderModeOptionChange(X))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(S4,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",(X)=>{!this._overviewRulerRenderer&&X&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(S4,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(S5,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let q=this,G=this.element;function Y(Z){let V=q._mouseService.getMouseReportCoords(Z,q.screenElement);if(!V)return!1;let j,K;switch(Z.overrideType||Z.type){case"mousemove":K=32,Z.buttons===void 0?(j=3,Z.button!==void 0&&(j=Z.button<3?Z.button:3)):j=Z.buttons&1?0:Z.buttons&4?1:Z.buttons&2?2:3;break;case"mouseup":K=0,j=Z.button<3?Z.button:3;break;case"mousedown":K=1,j=Z.button<3?Z.button:3;break;case"wheel":if(q._customWheelEventHandler&&q._customWheelEventHandler(Z)===!1)return!1;let z=Z.deltaY;if(z===0||q.coreMouseService.consumeWheelEvent(Z,q._renderService?.dimensions?.device?.cell?.height,q._coreBrowserService?.dpr)===0)return!1;K=z<0?0:1,j=4;break;default:return!1}return K===void 0||j===void 0||j>4?!1:q.coreMouseService.triggerMouseEvent({col:V.col,row:V.row,x:V.x,y:V.y,button:j,action:K,ctrl:Z.ctrlKey,alt:Z.altKey,shift:Z.shiftKey})}let J={mouseup:null,wheel:null,mousedrag:null,mousemove:null},X={mouseup:(Z)=>(Y(Z),Z.buttons||(this._document.removeEventListener("mouseup",J.mouseup),J.mousedrag&&this._document.removeEventListener("mousemove",J.mousedrag)),this.cancel(Z)),wheel:(Z)=>(Y(Z),this.cancel(Z,!0)),mousedrag:(Z)=>{Z.buttons&&Y(Z)},mousemove:(Z)=>{Z.buttons||Y(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()),Z&8?J.mousemove||(G.addEventListener("mousemove",X.mousemove),J.mousemove=X.mousemove):(G.removeEventListener("mousemove",J.mousemove),J.mousemove=null),Z&16?J.wheel||(G.addEventListener("wheel",X.wheel,{passive:!1}),J.wheel=X.wheel):(G.removeEventListener("wheel",J.wheel),J.wheel=null),Z&2?J.mouseup||(J.mouseup=X.mouseup):(this._document.removeEventListener("mouseup",J.mouseup),J.mouseup=null),Z&4?J.mousedrag||(J.mousedrag=X.mousedrag):(this._document.removeEventListener("mousemove",J.mousedrag),J.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(s(G,"mousedown",(Z)=>{if(Z.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(Z)))return Y(Z),J.mouseup&&this._document.addEventListener("mouseup",J.mouseup),J.mousedrag&&this._document.addEventListener("mousemove",J.mousedrag),this.cancel(Z)})),this._register(s(G,"wheel",(Z)=>{if(!J.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(Z)===!1)return!1;if(!this.buffer.hasScrollback){if(Z.deltaY===0)return!1;if(q.coreMouseService.consumeWheelEvent(Z,q._renderService?.dimensions?.device?.cell?.height,q._coreBrowserService?.dpr)===0)return this.cancel(Z,!0);let V=v.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(Z.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(V,!0),this.cancel(Z,!0)}}},{passive:!1}))}refresh(q,G){this._renderService?.refreshRows(q,G)}updateCursorStyle(q){this._selectionService?.shouldColumnSelect(q)?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(q,G){this._viewport?this._viewport.scrollLines(q):super.scrollLines(q,G),this.refresh(0,this.rows-1)}scrollPages(q){this.scrollLines(q*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(q){q&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(q){let G=q-this._bufferService.buffer.ydisp;G!==0&&this.scrollLines(G)}paste(q){H7(q,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(q){this._customKeyEventHandler=q}attachCustomWheelEventHandler(q){this._customWheelEventHandler=q}registerLinkProvider(q){return this._linkProviderService.registerLinkProvider(q)}registerCharacterJoiner(q){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let G=this._characterJoinerService.register(q);return this.refresh(0,this.rows-1),G}deregisterCharacterJoiner(q){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(q)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(q){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+q)}registerDecoration(q){return this._decorationService.registerDecoration(q)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(q,G,Y){this._selectionService.setSelection(q,G,Y)}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(q,G){this._selectionService?.selectLines(q,G)}_keyDown(q){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)return!1;let G=this.browser.isMac&&this.options.macOptionIsMeta&&q.altKey;if(!G&&!this._compositionHelper.keydown(q))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!G&&(q.key==="Dead"||q.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let Y=i2(q,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(q),Y.type===3||Y.type===2){let J=this.rows-1;return this.scrollLines(Y.type===2?-J:J),this.cancel(q,!0)}if(Y.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,q)||(Y.cancel&&this.cancel(q,!0),!Y.key)||q.key&&!q.ctrlKey&&!q.altKey&&!q.metaKey&&q.key.length===1&&q.key.charCodeAt(0)>=65&&q.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((Y.key===v.ETX||Y.key===v.CR)&&(this.textarea.value=""),this._onKey.fire({key:Y.key,domEvent:q}),this._showCursor(),this.coreService.triggerDataEvent(Y.key,!0),!this.optionsService.rawOptions.screenReaderMode||q.altKey||q.ctrlKey)return this.cancel(q,!0);this._keyDownHandled=!0}_isThirdLevelShift(q,G){let Y=q.isMac&&!this.options.macOptionIsMeta&&G.altKey&&!G.ctrlKey&&!G.metaKey||q.isWindows&&G.altKey&&G.ctrlKey&&!G.metaKey||q.isWindows&&G.getModifierState("AltGraph");return G.type==="keypress"?Y:Y&&(!G.keyCode||G.keyCode>47)}_keyUp(q){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)&&(Xq(q)||this.focus(),this.updateCursorStyle(q),this._keyPressHandled=!1)}_keyPress(q){let G;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(q)===!1)return!1;if(this.cancel(q),q.charCode)G=q.charCode;else if(q.which===null||q.which===void 0)G=q.keyCode;else if(q.which!==0&&q.charCode!==0)G=q.which;else return!1;return!G||(q.altKey||q.ctrlKey||q.metaKey)&&!this._isThirdLevelShift(this.browser,q)?!1:(G=String.fromCharCode(G),this._onKey.fire({key:G,domEvent:q}),this._showCursor(),this.coreService.triggerDataEvent(G,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(q){if(q.data&&q.inputType==="insertText"&&(!q.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let G=q.data;return this.coreService.triggerDataEvent(G,!0),this.cancel(q),!0}return!1}resize(q,G){if(q===this.cols&&G===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(q,G)}_afterResize(q,G){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let q=1;q=0;q--)this._addons[q].instance.dispose()}loadAddon(q,G){let Y={instance:G,dispose:G.dispose,isDisposed:!1};this._addons.push(Y),G.dispose=()=>this._wrappedAddonDispose(Y),G.activate(q)}_wrappedAddonDispose(q){if(q.isDisposed)return;let G=-1;for(let Y=0;Y=this._line.length))return G?(this._line.loadCell(q,G),G):this._line.loadCell(q,new c0)}translateToString(q,G,Y){return this._line.translateToString(q,G,Y)}},j7=class{constructor(q,G){this._buffer=q,this.type=G}init(q){return this._buffer=q,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(q){let G=this._buffer.lines.get(q);if(G)return new zq(G)}getNullCell(){return new c0}},Kq=class extends t{constructor(q){super();this._core=q,this._onBufferChange=this._register(new _),this.onBufferChange=this._onBufferChange.event,this._normal=new j7(this._core.buffers.normal,"normal"),this._alternate=new j7(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},jq=class{constructor(q){this._core=q}registerCsiHandler(q,G){return this._core.registerCsiHandler(q,(Y)=>G(Y.toArray()))}addCsiHandler(q,G){return this.registerCsiHandler(q,G)}registerDcsHandler(q,G){return this._core.registerDcsHandler(q,(Y,J)=>G(Y,J.toArray()))}addDcsHandler(q,G){return this.registerDcsHandler(q,G)}registerEscHandler(q,G){return this._core.registerEscHandler(q,G)}addEscHandler(q,G){return this.registerEscHandler(q,G)}registerOscHandler(q,G){return this._core.registerOscHandler(q,G)}addOscHandler(q,G){return this.registerOscHandler(q,G)}},Mq=class{constructor(q){this._core=q}register(q){this._core.unicodeService.register(q)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(q){this._core.unicodeService.activeVersion=q}},Hq=["cols","rows"],s0=0,s7=class extends t{constructor(q){super(),this._core=this._register(new Jq(q)),this._addonManager=this._register(new Vq),this._publicOptions={...this._core.options};let G=(J)=>this._core.options[J],Y=(J,X)=>{this._checkReadonlyOptions(J),this._core.options[J]=X};for(let J in this._core.options){let X={get:G.bind(this,J),set:Y.bind(this,J)};Object.defineProperty(this._publicOptions,J,X)}}_checkReadonlyOptions(q){if(Hq.includes(q))throw Error(`Option "${q}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new jq(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new Mq(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 Kq(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let q=this._core.coreService.decPrivateModes,G="none";switch(this._core.coreMouseService.activeProtocol){case"X10":G="x10";break;case"VT200":G="vt200";break;case"DRAG":G="drag";break;case"ANY":G="any";break}return{applicationCursorKeysMode:q.applicationCursorKeys,applicationKeypadMode:q.applicationKeypad,bracketedPasteMode:q.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:G,originMode:q.origin,reverseWraparoundMode:q.reverseWraparound,sendFocusMode:q.sendFocus,synchronizedOutputMode:q.synchronizedOutput,wraparoundMode:q.wraparound}}get options(){return this._publicOptions}set options(q){for(let G in q)this._publicOptions[G]=q[G]}blur(){this._core.blur()}focus(){this._core.focus()}input(q,G=!0){this._core.input(q,G)}resize(q,G){this._verifyIntegers(q,G),this._core.resize(q,G)}open(q){this._core.open(q)}attachCustomKeyEventHandler(q){this._core.attachCustomKeyEventHandler(q)}attachCustomWheelEventHandler(q){this._core.attachCustomWheelEventHandler(q)}registerLinkProvider(q){return this._core.registerLinkProvider(q)}registerCharacterJoiner(q){return this._checkProposedApi(),this._core.registerCharacterJoiner(q)}deregisterCharacterJoiner(q){this._checkProposedApi(),this._core.deregisterCharacterJoiner(q)}registerMarker(q=0){return this._verifyIntegers(q),this._core.registerMarker(q)}registerDecoration(q){return this._checkProposedApi(),this._verifyPositiveIntegers(q.x??0,q.width??0,q.height??0),this._core.registerDecoration(q)}hasSelection(){return this._core.hasSelection()}select(q,G,Y){this._verifyIntegers(q,G,Y),this._core.select(q,G,Y)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(q,G){this._verifyIntegers(q,G),this._core.selectLines(q,G)}dispose(){super.dispose()}scrollLines(q){this._verifyIntegers(q),this._core.scrollLines(q)}scrollPages(q){this._verifyIntegers(q),this._core.scrollPages(q)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(q){this._verifyIntegers(q),this._core.scrollToLine(q)}clear(){this._core.clear()}write(q,G){this._core.write(q,G)}writeln(q,G){this._core.write(q),this._core.write(`\r +`,G)}paste(q){this._core.paste(q)}refresh(q,G){this._verifyIntegers(q,G),this._core.refresh(q,G)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(q){this._addonManager.loadAddon(this,q)}static get strings(){return{get promptLabel(){return M5.get()},set promptLabel(q){M5.set(q)},get tooMuchOutput(){return H5.get()},set tooMuchOutput(q){H5.set(q)}}}_verifyIntegers(...q){for(s0 of q)if(s0===1/0||isNaN(s0)||s0%1!==0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...q){for(s0 of q)if(s0&&(s0===1/0||isNaN(s0)||s0%1!==0||s0<0))throw Error("This API only accepts positive integers")}};var N8=_3(r7(),1),Q8=_3(i7(),1),X6=_3(t7(),1),W8=_3(e7(),1),L8=_3(q8(),1);var V8="3.7.8",Dq=V8,x3=typeof Buffer=="function",G8=typeof TextDecoder=="function"?new TextDecoder:void 0,Y8=typeof TextEncoder=="function"?new TextEncoder:void 0,Cq="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",j4=Array.prototype.slice.call(Cq),d4=((q)=>{let G={};return q.forEach((Y,J)=>G[Y]=J),G})(j4),$q=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,T0=String.fromCharCode.bind(String),Z8=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(q)=>new Uint8Array(Array.prototype.slice.call(q,0)),z8=(q)=>q.replace(/=/g,"").replace(/[+\/]/g,(G)=>G=="+"?"-":"_"),K8=(q)=>q.replace(/[^A-Za-z0-9\+\/]/g,""),j8=(q)=>{let G,Y,J,X,Z="",V=q.length%3;for(let j=0;j255||(J=q.charCodeAt(j++))>255||(X=q.charCodeAt(j++))>255)throw TypeError("invalid character found");G=Y<<16|J<<8|X,Z+=j4[G>>18&63]+j4[G>>12&63]+j4[G>>6&63]+j4[G&63]}return V?Z.slice(0,V-3)+"===".substring(V):Z},Z6=typeof btoa=="function"?(q)=>btoa(q):x3?(q)=>Buffer.from(q,"binary").toString("base64"):j8,G6=x3?(q)=>Buffer.from(q).toString("base64"):(q)=>{let G=[];for(let Y=0,J=q.length;YG?z8(G6(q)):G6(q),Fq=(q)=>{if(q.length<2){var G=q.charCodeAt(0);return G<128?q:G<2048?T0(192|G>>>6)+T0(128|G&63):T0(224|G>>>12&15)+T0(128|G>>>6&63)+T0(128|G&63)}else{var G=65536+(q.charCodeAt(0)-55296)*1024+(q.charCodeAt(1)-56320);return T0(240|G>>>18&7)+T0(128|G>>>12&63)+T0(128|G>>>6&63)+T0(128|G&63)}},Rq=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,M8=(q)=>q.replace(Rq,Fq),J8=x3?(q)=>Buffer.from(q,"utf8").toString("base64"):Y8?(q)=>G6(Y8.encode(q)):(q)=>Z6(M8(q)),T3=(q,G=!1)=>G?z8(J8(q)):J8(q),X8=(q)=>T3(q,!0),Aq=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,kq=(q)=>{switch(q.length){case 4:var G=(7&q.charCodeAt(0))<<18|(63&q.charCodeAt(1))<<12|(63&q.charCodeAt(2))<<6|63&q.charCodeAt(3),Y=G-65536;return T0((Y>>>10)+55296)+T0((Y&1023)+56320);case 3:return T0((15&q.charCodeAt(0))<<12|(63&q.charCodeAt(1))<<6|63&q.charCodeAt(2));default:return T0((31&q.charCodeAt(0))<<6|63&q.charCodeAt(1))}},H8=(q)=>q.replace(Aq,kq),D8=(q)=>{if(q=q.replace(/\s+/g,""),!$q.test(q))throw TypeError("malformed base64.");q+="==".slice(2-(q.length&3));let G,Y,J,X=[];for(let Z=0;Z>16&255)):J===64?X.push(T0(G>>16&255,G>>8&255)):X.push(T0(G>>16&255,G>>8&255,G&255));return X.join("")},J6=typeof atob=="function"?(q)=>atob(K8(q)):x3?(q)=>Buffer.from(q,"base64").toString("binary"):D8,C8=x3?(q)=>Z8(Buffer.from(q,"base64")):(q)=>Z8(J6(q).split("").map((G)=>G.charCodeAt(0))),$8=(q)=>C8(F8(q)),Pq=x3?(q)=>Buffer.from(q,"base64").toString("utf8"):G8?(q)=>G8.decode(C8(q)):(q)=>H8(J6(q)),F8=(q)=>K8(q.replace(/[-_]/g,(G)=>G=="-"?"+":"/")),Y6=(q)=>Pq(F8(q)),Bq=(q)=>{if(typeof q!="string")return!1;let G=q.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(G)||!/[^\s0-9a-zA-Z\-_]/.test(G)},R8=(q)=>({value:q,enumerable:!1,writable:!0,configurable:!0}),A8=function(){let q=(G,Y)=>Object.defineProperty(String.prototype,G,R8(Y));q("fromBase64",function(){return Y6(this)}),q("toBase64",function(G){return T3(this,G)}),q("toBase64URI",function(){return T3(this,!0)}),q("toBase64URL",function(){return T3(this,!0)}),q("toUint8Array",function(){return $8(this)})},k8=function(){let q=(G,Y)=>Object.defineProperty(Uint8Array.prototype,G,R8(Y));q("toBase64",function(G){return c4(this,G)}),q("toBase64URI",function(){return c4(this,!0)}),q("toBase64URL",function(){return c4(this,!0)})},Nq=()=>{A8(),k8()},h4={version:V8,VERSION:Dq,atob:J6,atobPolyfill:D8,btoa:Z6,btoaPolyfill:j8,fromBase64:Y6,toBase64:T3,encode:T3,encodeURI:X8,encodeURL:X8,utob:M8,btou:H8,decode:Y6,isValid:Bq,fromUint8Array:c4,toUint8Array:$8,extendString:A8,extendUint8Array:k8,extendBuiltins:Nq},P8=class{constructor(q=new Wq,G=new Qq){this._base64=q,this._provider=G}activate(q){this._terminal=q,this._disposable=q.parser.registerOscHandler(52,(G)=>this._setOrReportClipboard(G))}dispose(){return this._disposable?.dispose()}_readText(q,G){let Y=this._base64.encodeText(G);this._terminal?.input(`\x1B]52;${q};${Y}\x07`,!1)}_setOrReportClipboard(q){let G=q.split(";");if(G.length<2)return!0;let Y=G[0],J=G[1];if(J==="?"){let V=this._provider.readText(Y);return V instanceof Promise?V.then((j)=>(this._readText(Y,j),!0)):(this._readText(Y,V),!0)}let X="";try{X=this._base64.decodeText(J)}catch{}let Z=this._provider.writeText(Y,X);return Z instanceof Promise?Z.then(()=>!0):!0}},Qq=class{async readText(q){return q!=="c"?Promise.resolve(""):navigator.clipboard.readText()}async writeText(q,G){return q!=="c"?Promise.resolve():navigator.clipboard.writeText(G)}},Wq=class{encodeText(q){return h4.encode(q)}decodeText(q){let G=h4.decode(q);return!h4.isValid(q)||h4.encode(G)!==q?"":G}};var Lq='ui-monospace, "SFMono-Regular", "FiraCode Nerd Font", "FiraMono Nerd Font", "Fira Code", "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace';function Uq(q){let G={};if(q.dataset.fontFamily)G.fontFamily=q.dataset.fontFamily;if(q.dataset.fontSize)G.fontSize=parseInt(q.dataset.fontSize,10);if(q.dataset.scrollback)G.scrollback=parseInt(q.dataset.scrollback,10);return G}class U8{terminal;socket=null;fitAddon;element;wsUrl;reconnectAttempts=0;maxReconnectAttempts=5;reconnectDelay=1000;constructor(q,G,Y={}){this.element=q,this.wsUrl=G;let J={allowProposedApi:!0,fontFamily:Y.fontFamily??Lq,fontSize:Y.fontSize??16,scrollback:Y.scrollback??1000,cursorBlink:!0,cursorStyle:"block",theme:Y.theme};this.terminal=new s7(J),this.fitAddon=new N8.FitAddon,this.terminal.loadAddon(this.fitAddon);try{let Z=new Q8.WebglAddon;Z.onContextLoss(()=>{Z.dispose(),this.terminal.loadAddon(new X6.CanvasAddon)}),this.terminal.loadAddon(Z)}catch{this.terminal.loadAddon(new X6.CanvasAddon)}let X=new W8.Unicode11Addon;this.terminal.loadAddon(X),this.terminal.unicode.activeVersion="11",this.terminal.loadAddon(new L8.WebLinksAddon),this.terminal.loadAddon(new P8),this.terminal.open(q),this.terminal.onData((Z)=>{this.send(["stdin",Z])}),this.terminal.onResize(({cols:Z,rows:V})=>{this.send(["resize",{width:Z,height:V}])}),this.fit(),window.addEventListener("resize",()=>this.fit()),this.connect()}fit(){try{this.fitAddon.fit()}catch{}}connect(){if(this.socket?.readyState===WebSocket.OPEN)return;this.socket=new WebSocket(this.wsUrl),this.socket.binaryType="arraybuffer",this.socket.addEventListener("open",()=>{this.reconnectAttempts=0,this.element.classList.add("-connected"),this.element.classList.remove("-disconnected"),this.fit();let q=this.fitAddon.proposeDimensions();if(q)this.send(["resize",{width:q.cols,height:q.rows}]);this.terminal.focus()}),this.socket.addEventListener("close",()=>{this.element.classList.remove("-connected"),this.element.classList.add("-disconnected"),this.scheduleReconnect()}),this.socket.addEventListener("error",()=>{}),this.socket.addEventListener("message",(q)=>{this.handleMessage(q.data)})}handleMessage(q){if(q instanceof ArrayBuffer){let G=new TextDecoder().decode(q);this.terminal.write(G);return}try{let G=JSON.parse(q),[Y,J]=G;switch(Y){case"stdout":this.terminal.write(J);break;case"pong":break;default:console.debug("Unknown message type:",Y)}}catch{this.terminal.write(q)}}send(q){if(this.socket?.readyState===WebSocket.OPEN)this.socket.send(JSON.stringify(q))}scheduleReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts){console.error("Max reconnection attempts reached");return}this.reconnectAttempts++;let q=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);setTimeout(()=>{console.log(`Reconnecting (attempt ${this.reconnectAttempts})...`),this.connect()},q)}dispose(){this.socket?.close(),this.terminal.dispose()}}var Oq=new Map;function B8(){document.querySelectorAll(".textual-terminal").forEach((q)=>{let G=q.dataset.sessionWebsocketUrl;if(!G){console.error("Missing data-session-websocket-url on terminal container");return}let Y=Uq(q),J=new U8(q,G,Y);Oq.set(q,J)})}if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",B8);else B8();export{Oq as instances,B8 as initTerminals,U8 as WebTerminal};