From 525badca3f44dd4d3bfa9bdc08019f8bbedde954 Mon Sep 17 00:00:00 2001 From: lxsang Date: Thu, 6 Aug 2020 23:21:42 +0200 Subject: [PATCH] add new package --- Antunnel/README.md | 5 + Antunnel/build/debug/README.md | 5 + Antunnel/build/debug/main.js | 1 + Antunnel/build/debug/package.json | 17 ++ Antunnel/build/debug/scheme.html | 5 + Antunnel/build/release/Antunnel.zip | Bin 0 -> 7346 bytes Antunnel/coffees/Antunnel.coffee | 232 ++++++++++++++++++++++++ Antunnel/coffees/AntunnelService.coffee | 68 +++++++ Antunnel/package.json | 17 ++ Antunnel/project.json | 8 + Blogger/main.coffee | 3 +- packages.json | 20 +- vTerm/README.md | 12 ++ vTerm/build/debug/README.md | 12 ++ vTerm/build/debug/main.css | 173 ++++++++++++++++++ vTerm/build/debug/main.js | 167 +++++++++++++++++ vTerm/build/debug/package.json | 22 +++ vTerm/build/debug/scheme.html | 5 + vTerm/build/release/vTerm.zip | Bin 0 -> 306214 bytes vTerm/build/release/wTerm.zip | Bin 0 -> 305843 bytes vTerm/main.coffee | 119 ++++++++++++ vTerm/main.css | 0 vTerm/package.json | 22 +++ vTerm/project.json | 8 + vTerm/scheme.html | 5 + vTerm/xterm-addon-fit.js | 2 + vTerm/xterm.css | 171 +++++++++++++++++ vTerm/xterm.js | 2 + 28 files changed, 1099 insertions(+), 2 deletions(-) create mode 100644 Antunnel/README.md create mode 100644 Antunnel/build/debug/README.md create mode 100644 Antunnel/build/debug/main.js create mode 100644 Antunnel/build/debug/package.json create mode 100644 Antunnel/build/debug/scheme.html create mode 100644 Antunnel/build/release/Antunnel.zip create mode 100644 Antunnel/coffees/Antunnel.coffee create mode 100644 Antunnel/coffees/AntunnelService.coffee create mode 100644 Antunnel/package.json create mode 100644 Antunnel/project.json create mode 100644 vTerm/README.md create mode 100644 vTerm/build/debug/README.md create mode 100644 vTerm/build/debug/main.css create mode 100644 vTerm/build/debug/main.js create mode 100644 vTerm/build/debug/package.json create mode 100644 vTerm/build/debug/scheme.html create mode 100644 vTerm/build/release/vTerm.zip create mode 100644 vTerm/build/release/wTerm.zip create mode 100644 vTerm/main.coffee create mode 100644 vTerm/main.css create mode 100644 vTerm/package.json create mode 100644 vTerm/project.json create mode 100644 vTerm/scheme.html create mode 100644 vTerm/xterm-addon-fit.js create mode 100644 vTerm/xterm.css create mode 100644 vTerm/xterm.js diff --git a/Antunnel/README.md b/Antunnel/README.md new file mode 100644 index 0000000..73320c0 --- /dev/null +++ b/Antunnel/README.md @@ -0,0 +1,5 @@ +# Antunnel + +`Antunnel` is a client side API that allows AntOS applications to +talk to server side applications via the [`antd-tunnel-pligin`](https://github.com/lxsang/antd-tunnel-plugin) plugin +using a single websocket API. diff --git a/Antunnel/build/debug/README.md b/Antunnel/build/debug/README.md new file mode 100644 index 0000000..73320c0 --- /dev/null +++ b/Antunnel/build/debug/README.md @@ -0,0 +1,5 @@ +# Antunnel + +`Antunnel` is a client side API that allows AntOS applications to +talk to server side applications via the [`antd-tunnel-pligin`](https://github.com/lxsang/antd-tunnel-plugin) plugin +using a single websocket API. diff --git a/Antunnel/build/debug/main.js b/Antunnel/build/debug/main.js new file mode 100644 index 0000000..cd49372 --- /dev/null +++ b/Antunnel/build/debug/main.js @@ -0,0 +1 @@ +(function(){var e,n,t,s,i;(t=class e{constructor(){this.header={sid:0,cid:0,type:0,size:0},this.data=void 0}as_raw(){var n,t,s;return s=21+this.header.size,(n=new Uint8Array(s)).set(e.MAGIC_START,0),n[4]=this.header.type,t=e.bytes_of(this.header.cid),n.set(t,5),t=e.bytes_of(this.header.sid),n.set(t,9),t=e.bytes_of(this.header.size),n.set(t,13),this.data&&n.set(this.data,17),n.set(e.MAGIC_END,this.header.size+17),n.buffer}}).decode=function(e){return new Promise((function(n,s){var i;return i=new t,t.int_from(t.MAGIC_START,0)!==t.int_from(e,0)?s("Unmatch message begin magic number"):(i.header.type=e[4],i.header.cid=t.int_from(e,5),i.header.sid=t.int_from(e,9),i.header.size=t.int_from(e,13),i.data=e.slice(17,17+i.header.size),t.int_from(t.MAGIC_END,0)!==t.int_from(e,17+i.header.size)?s("Unmatch message end magic number"):n(i))}))},t.bytes_of=function(e){var n;return(n=new Uint8Array(4))[0]=255&e,e>>=8,n[1]=255&e,e>>=8,n[2]=255&e,e>>=8,n[3]=255&e,n},t.int_from=function(e,n){return e[n]|e[n+1]<<8|e[n+2]<<16|e[n+3]<<24},t.OK=0,t.ERROR=1,t.DATA=6,t.CLOSE=5,t.SUBSCRIBE=2,t.UNSUBSCRIBE=3,t.CTRL=7,t.MAGIC_END=[65,78,84,68],t.MAGIC_START=[68,84,78,65],s=class{constructor(e){this.channel=e,this.id=void 0,this.channel_id=void 0,this.onmessage=void 0,this.onerror=void 0,this.onopen=void 0,this.onclose=void 0,this.tunnel=void 0,this.is_opened=!1}send(e,n){if(this.tunnel){if(this.is_opened)return this.tunnel.send(this.genmsg(e,n));this.onerror&&this.onerror("Channel is not opened yet")}else this.onerror&&this.onerror("Tunnel is not opened")}genmsg(e,n){var s;return(s=new t).header.sid=this.id,s.header.cid=this.channel_id,s.header.type=e,s.header.size=n?n.length:0,s.data=n,s}close(e){if(this.is_opened=!1,this.tunnel)return this.tunnel.unsubscribe(this,e)}},e=class{constructor(e){this.uri=e,this.socket=void 0,this.pending={},this.subscribers={},this.onclose=void 0}ready(){return new Promise((e,n)=>this.uri?void 0!==this.socket?e():(console.log("Connect to "+this.uri),this.socket=new WebSocket(this.uri),this.socket.binaryType="arraybuffer",this.socket.onmessage=e=>this.process(e),this.socket.onclose=e=>{var n,t,s,i;for(n in this.socket=void 0,t=this.pending)(i=t[n]).tunnel=void 0,i.onclose&&i.onclose();for(n in s=this.subscribers)(i=s[n]).tunnel=void 0,i.is_opened=!1,i.onclose&&i.onclose();if(this.pending={},this.subscribe={},this.onclose())return this.onclose()},this.socket.onerror=e=>{var n,t,s,i,r;for(n in t=this.pending)(r=t[n]).onerror&&r.onerror(e.toString());for(n in i=[],s=this.subscribers)(r=s[n]).onerror&&i.push(r.onerror(e.toString()));return i},this.socket.onopen=n=>e()):n())}process(e){return t.decode(new Uint8Array(e.data)).then(e=>{var n,s;switch(n=(e,n)=>{var t;if(!(t=this.pending[e.header.sid]))return(t=this.subscribers[e.header.sid])&&t[n]?t[n](e):void 0;t[n]&&t[n](e)},e.header.type){case t.OK:if(!(s=this.pending[e.header.sid]))return n(e,"onmessage");if(delete this.pending[e.header.sid],s.id=t.int_from(e.data,0),s.channel_id=e.header.cid,this.subscribers[s.id]=s,s.is_opened=!0,s.onopen)return s.onopen();break;case t.DATA:return n(e,"onmessage");case t.ERROR:return n(e,"onerror");case t.UNSUBSCRIBE:if(!(s=this.subscribers[e.header.sid]))return;return s.close(!0);default:return console.error(`Message of type ${e.header.type} is unsupported`,e)}}).catch(e=>{var n,t,s,i,r;for(n in t=this.pending)(r=t[n]).onerror&&r.onerror(e);for(n in i=[],s=this.subscribers)(r=s[n]).onerror&&i.push(r.onerror(e));return i})}subscribe(e){return this.ready().then(()=>{for(e.tunnel=this,e.id=Math.floor(1e5*Math.random())+1;this.subscribers[e.id]||this.pending[e.id];)e.id=Math.floor(1e5*Math.random())+1;return this.pending[e.id]=e,this.send(e.genmsg(t.SUBSCRIBE,(new TextEncoder).encode(e.channel)))}).catch((function(n){if(e.onerror)return e.onerror(n.toString())}))}unsubscribe(e,n){return this.ready().then(()=>{if(this.subscribers[e.id])return n||this.send(e.genmsg(t.UNSUBSCRIBE,void 0)),e.onclose&&e.onclose(),delete this.subscribers[e.id],e.tunnel=void 0,e.is_opened=!1}).catch((function(n){if(e.onerror)return e.onerror(n.toString())}))}send(e){return this.socket.send(e.as_raw())}close(){if(console.log("Close connection to "+this.uri),this.socket&&this.socket.close(),this.onclose())return this.onclose()}},(i=this).Antunnel={tunnel:void 0,init:function(n){return new Promise((function(t,s){return i.Antunnel.tunnel?t(i.Antunnel.tunnel):(i.Antunnel.tunnel=new e(n),i.Antunnel.tunnel.onclose=function(){return i.Antunnel.tunnel=void 0},i.Antunnel.tunnel.ready().then((function(){return t(i.Antunnel.tunnel)})).catch((function(e){return s(e)})))}))},Subscriber:s,Msg:t},n=class extends OS.application.BaseService{constructor(e){super("AntunnelService",e),this.text=__("Tunnel"),this.iconclass="fa fa-close",this.is_connect=!1,this.nodes=[{text:__("Connect"),id:1},{text:__("Disconnect"),id:2},{text:__("Enter uri"),id:3},{text:__("Exit"),id:4}],this.onchildselect=e=>this.action(e)}init(){return this.systemsetting.system.tunnel_uri&&this.start(),this.watch(1500,()=>{var e;if(e=!1,void 0!==Antunnel.tunnel&&(e=!0),e!==this.is_connect)return this.is_connect=e,this.iconclass="fa fa-circle",this.is_connect||(this.iconclass="fa fa-close"),this.update()})}action(e){var n;switch(n=()=>this._gui.openDialog("PromptDialog",{title:__("Tunnel uri"),label:__("Please enter tunnel uri"),value:"wss://localhost/tunnel"}).then(e=>{if(e&&""!==e)return this.systemsetting.system.tunnel_uri=e,this.start()}),e.data.item.data.id){case 1:if(this.is_connect)return;return this.systemsetting.system.tunnel_uri?this.start():n();case 2:if(Antunnel.tunnel)return Antunnel.tunnel.close();break;case 3:return Antunnel.tunnel&&Antunnel.tunnel.close(),n();case 4:return Antunnel.tunnel&&Antunnel.tunnel.close(),this.quit()}}start(){if(this.systemsetting.system.tunnel_uri&&!Antunnel.tunnel)return Antunnel.init(this.systemsetting.system.tunnel_uri).then(e=>this.notify(__("Tunnel now connected to the server at: {0}",this.systemsetting.system.tunnel_uri))).catch(e=>(Antunnel.tunnel&&Antunnel.tunnel.close(),this.error(__("Unable to connect to the tunnel: {0}",e.toString()),e)))}awake(){}},this.OS.register("AntunnelService",n)}).call(this); \ No newline at end of file diff --git a/Antunnel/build/debug/package.json b/Antunnel/build/debug/package.json new file mode 100644 index 0000000..43d154f --- /dev/null +++ b/Antunnel/build/debug/package.json @@ -0,0 +1,17 @@ +{ + "pkgname": "Antunnel", + "name":"Antunnel", + "services": [ + "AntunnelService" + ], + "description":"Antunnel API library", + "info":{ + "author": "Xuan Sang LE", + "email": "xsang.le@lxsang.me" + }, + "version":"0.1.1-a", + "category":"Library", + "iconclass":"fa fa-adn", + "mimes":["none"], + "locale": {} +} \ No newline at end of file diff --git a/Antunnel/build/debug/scheme.html b/Antunnel/build/debug/scheme.html new file mode 100644 index 0000000..5b3a472 --- /dev/null +++ b/Antunnel/build/debug/scheme.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Antunnel/build/release/Antunnel.zip b/Antunnel/build/release/Antunnel.zip new file mode 100644 index 0000000000000000000000000000000000000000..5cabf049ca3831b8df11c45fbf66ecc6f24463c5 GIT binary patch literal 7346 zcmb_h+j1L88P3A8fZ>KJsNzsXO$JKLknzOwAqjHEUT@-}wvueTwo_2$GR{b9NlivQ zV!9Q_QS<;j1J_*e5ESpg3jlXq@(6r?ALb-GyHM*y(oFZ?fA|0W$L>CQ^7RkbZqeVL z|MJo2-}8UB^*21z=R5ew!Guj&JW-ov}JAVX)F=@#O)w`O{)2c|$-XP;lC{OYs^A3(a_0%L)UYce3rKC~MPY9EY4^qW*Aw89^sWf|qUr(~) zH7m@>2F+`pf(`S|UZz3~*A0&AU^3?7<#{ksY9@Pk?~b{e%=_^mpWe;h$W)B)Hp%B8 z54~ANziV^J#Td(_pNx5ztS|GyE2e18@mdoH_VGV|@uMH!x<#LF0*7hJMf`gijOJoM zQUu}Rby|2V5|N5z#CHRg46;;8k1YleQWf)o$_tRG377GNr9)OE3qaJ{hz9ywUCkI? zB!7#aWu)oI9Fo^LA9@?hR9+P6rJYDmvs*AVFN7zP&F-BV-hG9vl=! zdKJhpj3rY6i=Q3*`qM`jC#MI;r_n|jiL>qVq|SiW5~+m6{VT=fMLr7Zy;v{CXjUrP z32!EZcopHV-b?tFRg~Q=kP=KJey3w+at%@Uz9V&l9DerL3^2HA`R^FA{(LlI#c~Tmz~i6$8_Y5k>^61?BA|sr52|yDtO( zg_x#lF!82L%5==UK7;*v({#)So|sSjtnkBLz^z%tgnq)Hlc;P0wL?ay#z1U*h0Y)e#nCEeV}@$F$OAF6_bG82-`xg482ZfCWdW^MZm*wiT{|&8CpX> z|Vx4TOT^9T?7%hQX&gk2l9+Ty1il4y3bPX(C7HJY0LMQAgym zL9Bh88Y`t#ohBw!?-b$_u`l9`iLshc;xI0au(j0q2e1GKW(gj!Hj20KUW4UaplpzX zg7=w*G-Ba$8L{`6*u3D*yi5jd=ova5BEu#NI0{KuaxY}rmW#T{EDNN^D`dLs;xidZ zvZpy=-hE@t6p=Jl^ATZj9oKjf#0zHiDqGp zsZA62xk!tvQ;N@iN;%b}7vD;zhr(u@^Dw*6S&Q@965OP;u za?}(^i#pg@6H>cS#cdRyS{$p6Gi*$B!HL3Xc0v-Jpy z635Dp@VXL!&WOo*B8gd*jwqJqg0$w0)V;%p`Up<1cCDC{=6fzmwWY8$x+rK7={yQS zElI5yXux)}YV5+C$w6XDxxwv?aCgW?={!?zMi&P4l)=kqwgk;b9x2TG`Jx1f-j|fq zCT-I8cDxv7j)B zV4!ojb`%&fZ0T95Ch;iC(c5J^ztpcqiaq=kE_NK$QHF9&piR$uihwk{K_;N+$f7O=K#H6MsfqzOalrOadHV-QC5;IJ|g1~ro* zbW!Y8eSrB75*kl)Tb=eiGNtu;NdU8BcJ&h5dGWqlR$Hil96nv{XJ~ugO^YbnoIK z@K4S8p>5_c9(~A^_@mStrR&-I~Jzk!qxaygrVjN`jI6I;PN&u221n)0+yC=W zEx{k=fw=}xGmaydlzoLf!^|2WsdbyP0= zUP-F&Xfoa}aJ1p(J5Pmog1Z&(>7gap6byGF84>7<7o1Cd zY_4EpNTpY?w5z}kk2EXTh`VujJ#~{}lflM07SZ#cww43s=}d<%lj_o;aKok?=PiEk z%oo_H`%YFJy9m$4a&39^irP^{(;}W{)FEC3%E+Y7XSbN literal 0 HcmV?d00001 diff --git a/Antunnel/coffees/Antunnel.coffee b/Antunnel/coffees/Antunnel.coffee new file mode 100644 index 0000000..8abcd54 --- /dev/null +++ b/Antunnel/coffees/Antunnel.coffee @@ -0,0 +1,232 @@ + + +class Msg + constructor: () -> + @header = { + sid: 0, + cid: 0, + type: 0, + size: 0 + } + @data = undefined + + + as_raw:() -> + length = 21 + @header.size + arr = new Uint8Array(length) + arr.set(Msg.MAGIC_START, 0) + arr[4] = @header.type + bytes = Msg.bytes_of @header.cid + arr.set(bytes,5) + bytes = Msg.bytes_of @header.sid + arr.set(bytes,9) + bytes = Msg.bytes_of @header.size + arr.set(bytes,13) + if @data + arr.set(@data, 17) + arr.set(Msg.MAGIC_END, @header.size + 17) + arr.buffer + +Msg.decode = (raw) -> + new Promise (resolve, reject) -> + msg = new Msg() + if(Msg.int_from(Msg.MAGIC_START, 0) != Msg.int_from(raw, 0)) + return reject("Unmatch message begin magic number") + msg.header.type = raw[4] + msg.header.cid = Msg.int_from(raw, 5) + msg.header.sid = Msg.int_from(raw,9) + msg.header.size = Msg.int_from(raw, 13) + msg.data = raw.slice(17, 17+msg.header.size) + if(Msg.int_from(Msg.MAGIC_END, 0) != Msg.int_from(raw, 17+msg.header.size)) + return reject("Unmatch message end magic number") + resolve msg + + +Msg.bytes_of = (x) -> + bytes=new Uint8Array(4) + bytes[0]=x & (255) + x=x>>8 + bytes[1]=x & (255) + x=x>>8 + bytes[2]=x & (255) + x=x>>8 + bytes[3]=x & (255) + bytes + +Msg.int_from = (bytes, offset) -> + (bytes[offset] | (bytes[offset+1]<<8) | (bytes[offset+2]<<16) | (bytes[offset+3] << 24)) + +Msg.OK = 0 +Msg.ERROR = 1 +Msg.DATA = 6 +Msg.CLOSE = 5 +Msg.SUBSCRIBE = 2 +Msg.UNSUBSCRIBE = 3 +Msg.CTRL = 7 +Msg.MAGIC_END = [ 0x41, 0x4e, 0x54, 0x44] +Msg.MAGIC_START = [0x44, 0x54, 0x4e, 0x41 ] + +class Subscriber + constructor: (@channel) -> + @id = undefined + @channel_id = undefined + @onmessage = undefined + @onerror = undefined + @onopen = undefined + @onclose = undefined + @tunnel = undefined + @is_opened = false + + send: (type, arr) -> + if not @tunnel + @onerror "Tunnel is not opened" if @onerror + return + if not @is_opened + @onerror "Channel is not opened yet" if @onerror + return + + @tunnel.send @genmsg type, arr + + genmsg: (type, data) -> + msg = new Msg() + msg.header.sid = @id + msg.header.cid = @channel_id + msg.header.type = type + msg.header.size = if data then data.length else 0 + msg.data = data + msg + + close: (b) -> + @is_opened = false + return unless @tunnel + @tunnel.unsubscribe @, b + + +class AntunnelApi + constructor: (@uri) -> + @socket = undefined + @pending = {} + @subscribers = {} + @onclose = undefined + + ready: () -> + return new Promise (resolve, reject) => + return reject() if not @uri + return resolve() if @socket isnt undefined + # connect to the socket + console.log "Connect to #{@uri}" + @socket = new WebSocket(@uri) + @socket.binaryType = 'arraybuffer' + @socket.onmessage = (evt) => @process evt + @socket.onclose = (evt) => + @socket = undefined + for k,v of @pending + v.tunnel = undefined + v.onclose() if v.onclose + + for k,v of @subscribers + v.tunnel = undefined + v.is_opened = false + v.onclose() if v.onclose + + @pending = {} + @subscribe = {} + @onclose() if @onclose() + @socket.onerror = (evt) => + v.onerror(evt.toString()) for k,v of @pending when v.onerror + v.onerror(evt.toString()) for k,v of @subscribers when v.onerror + @socket.onopen = (e) => resolve() + + process: (evt) -> + Msg.decode(new Uint8Array(evt.data)).then (msg) => + # find the correct subscriber of the data + relay_msg = (m, a) => + sub = @pending[m.header.sid] + if sub + sub[a] m if sub[a] + return + sub = @subscribers[m.header.sid] + if sub + sub[a] m if sub[a] + switch msg.header.type + when Msg.OK + # first look for the pending + sub = @pending[msg.header.sid] + if sub + delete @pending[msg.header.sid] + sub.id = Msg.int_from(msg.data,0) + sub.channel_id = msg.header.cid + @subscribers[sub.id] = sub + sub.is_opened = true + sub.onopen() if sub.onopen + else + relay_msg msg, "onmessage" + + when Msg.DATA + relay_msg msg, "onmessage" + + when Msg.ERROR + relay_msg msg, "onerror" + + when Msg.UNSUBSCRIBE + sub = @subscribers[msg.header.sid] + return unless sub + sub.close(true) + else + console.error "Message of type #{msg.header.type} is unsupported", msg + + .catch (e) => + v.onerror(e) for k,v of @pending when v.onerror + v.onerror(e) for k,v of @subscribers when v.onerror + + + subscribe: (sub) -> + @ready().then ()=> + # insert it to pending list + sub.tunnel = @ + sub.id = Math.floor(Math.random()*100000) + 1 + while @subscribers[sub.id] or @pending[sub.id] + sub.id = Math.floor(Math.random()*100000) + 1 + @pending[sub.id] = sub + # send request to connect to a channel + @send sub.genmsg Msg.SUBSCRIBE, (new TextEncoder()).encode(sub.channel) + .catch (e) -> + sub.onerror e.toString() if sub.onerror + + unsubscribe: (sub, b) -> + @ready().then ()=> + return unless @subscribers[sub.id] + # insert it to pending list + # send request to connect to a channel + @send sub.genmsg Msg.UNSUBSCRIBE, undefined if not b + sub.onclose() if sub.onclose + delete @subscribers[sub.id] + sub.tunnel = undefined + sub.is_opened = false + + .catch (e) -> + sub.onerror e.toString() if sub.onerror + + send: (msg) -> + # return unless @subscribers[msg.header.sid] + @socket.send msg.as_raw() + + close: () -> + console.log "Close connection to #{@uri}" + @socket.close() if @socket + @onclose() if @onclose() + +W = this +W.Antunnel = { + tunnel: undefined + init: ((url) -> + return new Promise (resolve, reject) -> + return resolve(W.Antunnel.tunnel) if W.Antunnel.tunnel + W.Antunnel.tunnel = new AntunnelApi(url) + W.Antunnel.tunnel.onclose = () -> W.Antunnel.tunnel = undefined + W.Antunnel.tunnel.ready().then () -> + resolve(W.Antunnel.tunnel) + .catch (e) -> reject(e)), + Subscriber: Subscriber, + Msg: Msg +} \ No newline at end of file diff --git a/Antunnel/coffees/AntunnelService.coffee b/Antunnel/coffees/AntunnelService.coffee new file mode 100644 index 0000000..e5b0185 --- /dev/null +++ b/Antunnel/coffees/AntunnelService.coffee @@ -0,0 +1,68 @@ +class AntunnelService extends OS.application.BaseService + constructor: (args) -> + super "AntunnelService", args + @text = __("Tunnel") + @iconclass = "fa fa-close" + @is_connect = false + @nodes = [ + {text: __("Connect"), id: 1}, + {text: __("Disconnect"), id: 2}, + {text: __("Enter uri"), id: 3}, + {text: __("Exit"), id: 4} + ] + @onchildselect = (e) => @action e + + init: () -> + @start() if @systemsetting.system.tunnel_uri + @watch 1500, () => + new_status = false + new_status = true if Antunnel.tunnel isnt undefined + + return unless new_status isnt @is_connect + @is_connect = new_status + @iconclass = "fa fa-circle" + @iconclass = "fa fa-close" unless @is_connect + @update() + + + action: (e) -> + ask = () => + @_gui.openDialog("PromptDialog", { + title: __("Tunnel uri"), + label: __("Please enter tunnel uri"), + value: "wss://localhost/tunnel" + }) + .then (uri) => + return unless uri and uri isnt "" + @systemsetting.system.tunnel_uri = uri + @start() + + switch e.data.item.data.id + when 1 + return if @is_connect + if @systemsetting.system.tunnel_uri + @start() + else + ask() + when 2 + Antunnel.tunnel.close() if Antunnel.tunnel + when 3 + Antunnel.tunnel.close() if Antunnel.tunnel + ask() + when 4 + Antunnel.tunnel.close() if Antunnel.tunnel + @quit() + + start: () -> + return unless @systemsetting.system.tunnel_uri + return if Antunnel.tunnel + Antunnel.init(@systemsetting.system.tunnel_uri).then (t) => + @notify __("Tunnel now connected to the server at: {0}", @systemsetting.system.tunnel_uri) + .catch (e) => + Antunnel.tunnel.close() if Antunnel.tunnel + @error __("Unable to connect to the tunnel: {0}", e.toString()), e + + awake: () -> + + +this.OS.register "AntunnelService", AntunnelService \ No newline at end of file diff --git a/Antunnel/package.json b/Antunnel/package.json new file mode 100644 index 0000000..43d154f --- /dev/null +++ b/Antunnel/package.json @@ -0,0 +1,17 @@ +{ + "pkgname": "Antunnel", + "name":"Antunnel", + "services": [ + "AntunnelService" + ], + "description":"Antunnel API library", + "info":{ + "author": "Xuan Sang LE", + "email": "xsang.le@lxsang.me" + }, + "version":"0.1.1-a", + "category":"Library", + "iconclass":"fa fa-adn", + "mimes":["none"], + "locale": {} +} \ No newline at end of file diff --git a/Antunnel/project.json b/Antunnel/project.json new file mode 100644 index 0000000..7e14eb4 --- /dev/null +++ b/Antunnel/project.json @@ -0,0 +1,8 @@ +{ + "name": "Antunnel", + "root": "home://workspace/antosdk-apps/Antunnel", + "css": [], + "javascripts": [], + "coffees": ["coffees/Antunnel.coffee", "coffees/AntunnelService.coffee"], + "copies": ["package.json", "README.md"] +} \ No newline at end of file diff --git a/Blogger/main.coffee b/Blogger/main.coffee index 8dd4d6d..9a019f3 100644 --- a/Blogger/main.coffee +++ b/Blogger/main.coffee @@ -245,7 +245,8 @@ class Blogger extends this.OS.application.BaseApplication .then (d) -> console.log "Email sent" } - ] + ], + @bloglist.onlistselect = (e) => el = @bloglist.selectedItem return unless el diff --git a/packages.json b/packages.json index 2c3cd34..0486a41 100644 --- a/packages.json +++ b/packages.json @@ -17,6 +17,15 @@ "version": "0.0.6-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/ActivityMonitor/build/release/ActivityMonitor.zip" }, + { + "pkgname": "Antunnel", + "name": "Antunnel", + "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Antunnel/README.md", + "category": "Library", + "author": "Xuan Sang LE", + "version": "0.1.1-a", + "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Antunnel/build/release/Antunnel.zip" + }, { "pkgname": "Archive", "name": "Archive", @@ -49,7 +58,7 @@ "name": "Clipper", "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Clipper/README.md", "category": "Other", - "author": "", + "author": "Xuan Sang LE", "version": "0.1.2-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Clipper/build/release/Clipper.zip" }, @@ -134,6 +143,15 @@ "version": "0.0.4-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/TinyEditor/build/release/TinyEditor.zip" }, + { + "pkgname": "vTerm", + "name": "Virtual Terminal", + "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/README.md", + "category": "System", + "author": "Xuan Sang LE", + "version": "0.0.5-a", + "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/build/release/vTerm.zip" + }, { "pkgname": "wTerm", "name": "Terminal", diff --git a/vTerm/README.md b/vTerm/README.md new file mode 100644 index 0000000..43901e0 --- /dev/null +++ b/vTerm/README.md @@ -0,0 +1,12 @@ +# AntOS Virual Terminal + +Terminal emulator to connect to remote server using AntOS Tunnel plugin. + +Unlike wTerm that uses a dedicated websocket connection for each terminal to +communicate with remote terminal session via the Antd **wterm** plugin, +VTerm uses only one websocket connection for multiple terminal session +thanks to the Antd **tunnel** plugin. + + +VTerm depends on the server side **tunnel** plugin and the AntOS **Antunnel** +client side package \ No newline at end of file diff --git a/vTerm/build/debug/README.md b/vTerm/build/debug/README.md new file mode 100644 index 0000000..43901e0 --- /dev/null +++ b/vTerm/build/debug/README.md @@ -0,0 +1,12 @@ +# AntOS Virual Terminal + +Terminal emulator to connect to remote server using AntOS Tunnel plugin. + +Unlike wTerm that uses a dedicated websocket connection for each terminal to +communicate with remote terminal session via the Antd **wterm** plugin, +VTerm uses only one websocket connection for multiple terminal session +thanks to the Antd **tunnel** plugin. + + +VTerm depends on the server side **tunnel** plugin and the AntOS **Antunnel** +client side package \ No newline at end of file diff --git a/vTerm/build/debug/main.css b/vTerm/build/debug/main.css new file mode 100644 index 0000000..5855f5b --- /dev/null +++ b/vTerm/build/debug/main.css @@ -0,0 +1,173 @@ + +/** + * Copyright (c) 2014 The xterm.js authors. All rights reserved. + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * @license MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */ + +/** + * Default styles for xterm.js + */ + +.xterm { + font-feature-settings: "liga" 0; + position: relative; + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; +} + +.xterm.focus, +.xterm:focus { + outline: none; +} + +.xterm .xterm-helpers { + position: absolute; + top: 0; + /** + * The z-index of the helpers must be higher than the canvases in order for + * IMEs to appear on top. + */ + z-index: 5; +} + +.xterm .xterm-helper-textarea { + /* + * HACK: to fix IE's blinking cursor + * Move textarea out of the screen to the far left, so that the cursor is not visible. + */ + position: absolute; + opacity: 0; + left: -9999em; + top: 0; + width: 0; + height: 0; + z-index: -5; + /** Prevent wrapping so the IME appears against the textarea at the correct position */ + white-space: nowrap; + overflow: hidden; + resize: none; +} + +.xterm .composition-view { + /* TODO: Composition position got messed up somewhere */ + background: #000; + color: #FFF; + display: none; + position: absolute; + white-space: nowrap; + z-index: 1; +} + +.xterm .composition-view.active { + display: block; +} + +.xterm .xterm-viewport { + /* On OS X this is required in order for the scroll bar to appear fully opaque */ + background-color: #000; + overflow-y: scroll; + cursor: default; + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; +} + +.xterm .xterm-screen { + position: relative; +} + +.xterm .xterm-screen canvas { + position: absolute; + left: 0; + top: 0; +} + +.xterm .xterm-scroll-area { + visibility: hidden; +} + +.xterm-char-measure-element { + display: inline-block; + visibility: hidden; + position: absolute; + top: 0; + left: -9999em; + line-height: normal; +} + +.xterm { + cursor: text; +} + +.xterm.enable-mouse-events { + /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */ + cursor: default; +} + +.xterm.xterm-cursor-pointer { + cursor: pointer; +} + +.xterm.column-select.focus { + /* Column selection mode */ + cursor: crosshair; +} + +.xterm .xterm-accessibility, +.xterm .xterm-message { + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + z-index: 10; + color: transparent; +} + +.xterm .live-region { + position: absolute; + left: -9999px; + width: 1px; + height: 1px; + overflow: hidden; +} + +.xterm-dim { + opacity: 0.5; +} + +.xterm-underline { + text-decoration: underline; +} + diff --git a/vTerm/build/debug/main.js b/vTerm/build/debug/main.js new file mode 100644 index 0000000..4db0174 --- /dev/null +++ b/vTerm/build/debug/main.js @@ -0,0 +1,167 @@ +(function() { + // Copyright 2017-2018 Xuan Sang LE + + // AnTOS Web desktop is is licensed under the GNU General Public + // License v3.0, see the LICENCE file for more information + + // This program is free software: you can redistribute it and/or + // modify it under the terms of the GNU General Public License as + // published by the Free Software Foundation, either version 3 of + // the License, or (at your option) any later version. + + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + // General Public License for more details. + + // You should have received a copy of the GNU General Public License + //along with this program. If not, see https://www.gnu.org/licenses/ + var vTerm; + + vTerm = class vTerm extends this.OS.application.BaseApplication { + constructor(args) { + super("vTerm", args); + } + + main() { + this.mterm = this.find("myterm"); + this.term = new Terminal({ + cursorBlink: true + }); + this.fitAddon = new FitAddon.FitAddon(); + this.term.loadAddon(this.fitAddon); + this.term.setOption('fontSize', '12'); + this.term.open(this.mterm); + this.term.onKey((d) => { + if (!this.sub) { + return; + } + return this.sub.send(Antunnel.Msg.DATA, new TextEncoder("utf-8").encode(d.key)); + }); + this.sub = void 0; + this.on("focus", () => { + return this.term.focus(); + }); + this.mterm.contextmenuHandle = (e, m) => { + m.items = [ + { + text: "__(Copy)", + id: "copy" + }, + { + text: "__(Paste)", + id: "paste" + } + ]; + m.onmenuselect = (e) => { + if (!e) { + return; + } + return this.mctxHandle(e.data.item.data); + }; + return m.show(e); + }; + this.resizeContent(); + if (!this.systemsetting.desktop.menu[this.name]) { + // make desktop menu if not exist + this.systemsetting.desktop.menu[this.name] = { + text: "__(Open terminal)", + app: "vTerm" + }; + } + this.on("hboxchange", (e) => { + return this.resizeContent(); + }); + if (!Antunnel.tunnel) { + this.error(__("The Antunnel service is not started, please start it first")); + this._gui.pushService("Antunnel/AntunnelService").catch((e) => { + return this.error(e.toString(), e); + }); + return this.quit(); + } else { + this.tunnel = Antunnel.tunnel; + return this.openSession(); + } + } + + mctxHandle(data) { + var text; + switch (data.id) { + case "paste": + return this._api.getClipboard().then((text) => { + if (!(text && text !== "")) { + return; + } + if (this.sub) { + return this.sub.send(Antunnel.Msg.DATA, new TextEncoder("utf-8").encode(text)); + } + }).catch((e) => { + return this.error(__("Unable to paste"), e); + }); + case "copy": + text = this.term.getSelection(); + if (!(text && text !== "")) { + return; + } + return this._api.setClipboard(text); + } + } + + resizeContent() { + var arr, ncol, nrow; + this.fitAddon.fit(); + ncol = this.term.cols; + nrow = this.term.rows; + if (!this.sub) { + return; + } + arr = new Uint8Array(8); + arr.set(Antunnel.Msg.bytes_of(ncol), 0); + arr.set(Antunnel.Msg.bytes_of(nrow), 4); + return this.sub.send(Antunnel.Msg.CTRL, arr); + } + + openSession() { + this.term.clear(); + this.term.focus(); + this.sub = new Antunnel.Subscriber("vterm"); + this.sub.onopen = () => { + console.log("Subscribed"); + this.resizeContent(($(this.mterm)).width(), ($(this.mterm)).height()); + return this.term.focus(); + }; + this.sub.onerror = (e) => { + this.error(__("Unable to connect to: vterm"), e); + return this.sub = void 0; + }; + this.sub.onmessage = (e) => { + if (this.term && e.data) { + return this.term.write(new TextDecoder("utf-8").decode(e.data)); + } + }; + this.sub.onclose = () => { + this.sub = void 0; + this.notify(__("Terminal connection closed")); + return this.quit(); + }; + return this.tunnel.subscribe(this.sub); + } + + cleanup(e) { + if (this.sub) { + return this.sub.close(); + } + } + + }; + + vTerm.dependencies = ["pkg://Antunnel/main.js"]; + + this.OS.register("vTerm", vTerm); + +}).call(this); + +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var n=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core,t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),n=Math.max(0,parseInt(t.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),i=r-(parseInt(o.getPropertyValue("padding-top"))+parseInt(o.getPropertyValue("padding-bottom"))),a=n-(parseInt(o.getPropertyValue("padding-right"))+parseInt(o.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(a/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(i/e._renderService.dimensions.actualCellHeight))}}},e}();t.FitAddon=n}])})); +//# sourceMappingURL=xterm-addon-fit.js.map +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(window,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=33)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var i=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(14);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var i=function(){function e(){this.fg=0,this.bg=0,this.extended=new n}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){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()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=i;var n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else t[i++]=s}return i},e}();t.StringToUtf32=i;var n=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},function(e,t,r){"use strict";var i,n,o,s;function a(e){var t=e.toString(16);return t.length<2?"0"+t:t}function c(e,t){return e>>0}}(i=t.channels||(t.channels={})),(n=t.color||(t.color={})).blend=function(e,t){var r=(255&t.rgba)/255;if(1===r)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*r),u=c+Math.round((o-c)*r),f=l+Math.round((s-l)*r);return{css:i.toCss(h,u,f),rgba:i.toRgba(h,u,f)}},n.ensureContrastRatio=function(e,t,r){var i=s.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return s.toColor(i>>24&255,i>>16&255,i>>8&255)},n.opaque=function(e){var t=(255|e.rgba)>>>0,r=s.toChannels(t),n=r[0],o=r[1],a=r[2];return{css:i.toCss(n,o,a),rgba:t}},(t.css||(t.css={})).toColor=function(e){return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0}},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}function r(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,i,n){var s=o.relativeLuminance(e>>8),a=o.relativeLuminance(i>>8);if(c(s,a)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,r){return{css:i.toCss(e,t,r),rgba:i.toRgba(e,t,r)}}}(s=t.rgba||(t.rgba={})),t.toPaddedHex=a,t.contrastRatio=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var i="undefined"==typeof navigator,n=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function s(e,t){return e.indexOf(t)>=0}t.isFirefox=!!~n.indexOf("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(n),t.isMac=s(["Macintosh","MacIntel","MacPPC","Mac68K"],o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=s(["Windows","Win16","Win32","WinCE"],o),t.isLinux=o.indexOf("Linux")>=0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(t.C0||(t.C0={})),function(e){e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"}(t.C1||(t.C1={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(3),n=r(9),o=r(24),s=r(6),a=r(27),c=r(10),l=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e,t;null===(e=this._canvas.parentElement)||void 0===e||e.removeChild(this._canvas),null===(t=this._charAtlas)||void 0===t||t.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="middle",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;function i(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(r,e,n)};return r.toString=function(){return e},t.serviceRegistry.set(e,r),r}},function(e,t,r){"use strict";function i(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t>22||1}return o},e}();t.BufferLine=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;var o,s=r(12),a=r(19),c=r(38),l=r(2),h=r(15),u=r(8),f=r(16),_=r(0),d=r(3),p=r(4),v=r(6),g=r(21),y=r(23),b={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function S(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var m=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(e){var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");case'"p':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");case"m":return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}}else this._data=new Uint32Array(0)},e}(),C=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var y=e.call(this)||this;y._bufferService=t,y._charsetService=r,y._coreService=i,y._dirtyRowService=n,y._logService=o,y._optionsService=l,y._coreMouseService=h,y._unicodeService=d,y._parser=v,y._parseBuffer=new Uint32Array(4096),y._stringDecoder=new u.StringToUtf32,y._utf8Decoder=new u.Utf8ToUtf32,y._workCell=new p.CellData,y._windowTitle="",y._iconName="",y._windowTitleStack=[],y._iconNameStack=[],y._curAttrData=f.DEFAULT_ATTR_DATA.clone(),y._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),y._onRequestBell=new _.EventEmitter,y._onRequestRefreshRows=new _.EventEmitter,y._onRequestReset=new _.EventEmitter,y._onRequestScroll=new _.EventEmitter,y._onRequestSyncScrollBar=new _.EventEmitter,y._onRequestWindowsOptionsReport=new _.EventEmitter,y._onA11yChar=new _.EventEmitter,y._onA11yTab=new _.EventEmitter,y._onCursorMove=new _.EventEmitter,y._onLineFeed=new _.EventEmitter,y._onScroll=new _.EventEmitter,y._onTitleChange=new _.EventEmitter,y.register(y._parser),y._parser.setCsiHandlerFallback((function(e,t){y._logService.debug("Unknown CSI code: ",{identifier:y._parser.identToString(e),params:t.toArray()})})),y._parser.setEscHandlerFallback((function(e){y._logService.debug("Unknown ESC code: ",{identifier:y._parser.identToString(e)})})),y._parser.setExecuteHandlerFallback((function(e){y._logService.debug("Unknown EXECUTE code: ",{code:e})})),y._parser.setOscHandlerFallback((function(e,t,r){y._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),y._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),y._logService.debug("Unknown DCS code: ",{identifier:y._parser.identToString(e),action:t,payload:r})})),y._parser.setPrintHandler((function(e,t,r){return y.print(e,t,r)})),y._parser.setCsiHandler({final:"@"},(function(e){return y.insertChars(e)})),y._parser.setCsiHandler({intermediates:" ",final:"@"},(function(e){return y.scrollLeft(e)})),y._parser.setCsiHandler({final:"A"},(function(e){return y.cursorUp(e)})),y._parser.setCsiHandler({intermediates:" ",final:"A"},(function(e){return y.scrollRight(e)})),y._parser.setCsiHandler({final:"B"},(function(e){return y.cursorDown(e)})),y._parser.setCsiHandler({final:"C"},(function(e){return y.cursorForward(e)})),y._parser.setCsiHandler({final:"D"},(function(e){return y.cursorBackward(e)})),y._parser.setCsiHandler({final:"E"},(function(e){return y.cursorNextLine(e)})),y._parser.setCsiHandler({final:"F"},(function(e){return y.cursorPrecedingLine(e)})),y._parser.setCsiHandler({final:"G"},(function(e){return y.cursorCharAbsolute(e)})),y._parser.setCsiHandler({final:"H"},(function(e){return y.cursorPosition(e)})),y._parser.setCsiHandler({final:"I"},(function(e){return y.cursorForwardTab(e)})),y._parser.setCsiHandler({final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({prefix:"?",final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({prefix:"?",final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({final:"L"},(function(e){return y.insertLines(e)})),y._parser.setCsiHandler({final:"M"},(function(e){return y.deleteLines(e)})),y._parser.setCsiHandler({final:"P"},(function(e){return y.deleteChars(e)})),y._parser.setCsiHandler({final:"S"},(function(e){return y.scrollUp(e)})),y._parser.setCsiHandler({final:"T"},(function(e){return y.scrollDown(e)})),y._parser.setCsiHandler({final:"X"},(function(e){return y.eraseChars(e)})),y._parser.setCsiHandler({final:"Z"},(function(e){return y.cursorBackwardTab(e)})),y._parser.setCsiHandler({final:"`"},(function(e){return y.charPosAbsolute(e)})),y._parser.setCsiHandler({final:"a"},(function(e){return y.hPositionRelative(e)})),y._parser.setCsiHandler({final:"b"},(function(e){return y.repeatPrecedingCharacter(e)})),y._parser.setCsiHandler({final:"c"},(function(e){return y.sendDeviceAttributesPrimary(e)})),y._parser.setCsiHandler({prefix:">",final:"c"},(function(e){return y.sendDeviceAttributesSecondary(e)})),y._parser.setCsiHandler({final:"d"},(function(e){return y.linePosAbsolute(e)})),y._parser.setCsiHandler({final:"e"},(function(e){return y.vPositionRelative(e)})),y._parser.setCsiHandler({final:"f"},(function(e){return y.hVPosition(e)})),y._parser.setCsiHandler({final:"g"},(function(e){return y.tabClear(e)})),y._parser.setCsiHandler({final:"h"},(function(e){return y.setMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"h"},(function(e){return y.setModePrivate(e)})),y._parser.setCsiHandler({final:"l"},(function(e){return y.resetMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"l"},(function(e){return y.resetModePrivate(e)})),y._parser.setCsiHandler({final:"m"},(function(e){return y.charAttributes(e)})),y._parser.setCsiHandler({final:"n"},(function(e){return y.deviceStatus(e)})),y._parser.setCsiHandler({prefix:"?",final:"n"},(function(e){return y.deviceStatusPrivate(e)})),y._parser.setCsiHandler({intermediates:"!",final:"p"},(function(e){return y.softReset(e)})),y._parser.setCsiHandler({intermediates:" ",final:"q"},(function(e){return y.setCursorStyle(e)})),y._parser.setCsiHandler({final:"r"},(function(e){return y.setScrollRegion(e)})),y._parser.setCsiHandler({final:"s"},(function(e){return y.saveCursor(e)})),y._parser.setCsiHandler({final:"t"},(function(e){return y.windowOptions(e)})),y._parser.setCsiHandler({final:"u"},(function(e){return y.restoreCursor(e)})),y._parser.setCsiHandler({intermediates:"'",final:"}"},(function(e){return y.insertColumns(e)})),y._parser.setCsiHandler({intermediates:"'",final:"~"},(function(e){return y.deleteColumns(e)})),y._parser.setExecuteHandler(s.C0.BEL,(function(){return y.bell()})),y._parser.setExecuteHandler(s.C0.LF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.VT,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.FF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.CR,(function(){return y.carriageReturn()})),y._parser.setExecuteHandler(s.C0.BS,(function(){return y.backspace()})),y._parser.setExecuteHandler(s.C0.HT,(function(){return y.tab()})),y._parser.setExecuteHandler(s.C0.SO,(function(){return y.shiftOut()})),y._parser.setExecuteHandler(s.C0.SI,(function(){return y.shiftIn()})),y._parser.setExecuteHandler(s.C1.IND,(function(){return y.index()})),y._parser.setExecuteHandler(s.C1.NEL,(function(){return y.nextLine()})),y._parser.setExecuteHandler(s.C1.HTS,(function(){return y.tabSet()})),y._parser.setOscHandler(0,new g.OscHandler((function(e){y.setTitle(e),y.setIconName(e)}))),y._parser.setOscHandler(1,new g.OscHandler((function(e){return y.setIconName(e)}))),y._parser.setOscHandler(2,new g.OscHandler((function(e){return y.setTitle(e)}))),y._parser.setEscHandler({final:"7"},(function(){return y.saveCursor()})),y._parser.setEscHandler({final:"8"},(function(){return y.restoreCursor()})),y._parser.setEscHandler({final:"D"},(function(){return y.index()})),y._parser.setEscHandler({final:"E"},(function(){return y.nextLine()})),y._parser.setEscHandler({final:"H"},(function(){return y.tabSet()})),y._parser.setEscHandler({final:"M"},(function(){return y.reverseIndex()})),y._parser.setEscHandler({final:"="},(function(){return y.keypadApplicationMode()})),y._parser.setEscHandler({final:">"},(function(){return y.keypadNumericMode()})),y._parser.setEscHandler({final:"c"},(function(){return y.fullReset()})),y._parser.setEscHandler({final:"n"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"o"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"|"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"}"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"~"},(function(){return y.setgLevel(1)})),y._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return y.selectDefaultCharset()})),y._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return y.selectDefaultCharset()}));var b=function(e){S._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),S._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),S._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),S._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),S._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),S._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),S._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},S=this;for(var C in a.CHARSETS)b(C);return y._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return y.screenAlignmentPattern()})),y._parser.setErrorHandler((function(e){return y._logService.error("Parsing error: ",e),e})),y._parser.setDcsHandler({intermediates:"$",final:"q"},new m(y._bufferService,y._coreService,y._logService,y._optionsService)),y}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.parse=function(e){var t=this._bufferService.buffer,r=t.x,i=t.y;if(this._logService.debug("parsing data",e),this._parseBuffer.length131072)for(var n=0;n0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.addCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.addCsiHandler(e,t):this._parser.addCsiHandler(e,(function(e){return!S(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.addDcsHandler=function(e,t){return this._parser.addDcsHandler(e,new y.DcsHandler(t))},t.prototype.addEscHandler=function(e,t){return this._parser.addEscHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._parser.addOscHandler(e,new g.OscHandler(t))},t.prototype.bell=function(){this._onRequestBell.fire()},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire()},t.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(t.x>0&&t.x--);if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}this._restrictCursor()},t.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var e=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e)}},t.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},t.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1))},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1)},t.prototype.cursorForward=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.cursorBackward=function(e){this._moveCursor(-(e.params[0]||1),0)},t.prototype.cursorNextLine=function(e){this.cursorDown(e),this._bufferService.buffer.x=0},t.prototype.cursorPrecedingLine=function(e){this.cursorUp(e),this._bufferService.buffer.x=0},t.prototype.cursorCharAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.cursorPosition=function(e){this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1)},t.prototype.charPosAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.hPositionRelative=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.linePosAbsolute=function(e){this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1)},t.prototype.vPositionRelative=function(e){this._moveCursor(0,e.params[0]||1)},t.prototype.hVPosition=function(e){this.cursorPosition(e)},t.prototype.tabClear=function(e){var t=e.params[0];0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={})},t.prototype.cursorForwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},t.prototype.cursorBackwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop()},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c"))},t.prototype.sendDeviceAttributesSecondary=function(e){e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c"))},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg);for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t)},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}},t.prototype.softReset=function(e){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;this._optionsService.options.cursorBlink=r},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0))},t.prototype.windowOptions=function(e){if(S(e.params[0],this._optionsService.options.windowOptions)){var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},t.prototype.saveCursor=function(e){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},t.prototype.restoreCursor=function(e){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},t.prototype.setTitle=function(e){this._windowTitle=e,this._onTitleChange.fire(e)},t.prototype.setIconName=function(e){this._iconName=e},t.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},t.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},t.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},t.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET)},t.prototype.selectCharset=function(e){2===e.length?"/"!==e[0]&&this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET):this.selectDefaultCharset()},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor()},t.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor()},t.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){this._charsetService.setgLevel(e)},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>2147483647?2147483647:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>2147483647?2147483647:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var r=this._digitIsSub?this._subParams:this.params,i=r[t-1];r[t-1]=~i?Math.min(10*i+e,2147483647):e}},e}();t.Params=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(22),n=r(8),o=function(){function e(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},e.prototype._start=function(){var e=this._handlers[this._id];if(e)for(var t=e.length-1;t>=0;t--)e[t].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype._end=function(e){var t=this._handlers[this._id];if(t){for(var r=t.length-1;r>=0&&!1===t[r].end(e);r--);for(r--;r>=0;r--)t[r].end(!1)}else this._handlerFb(this._id,"END",e)},e.prototype.start=function(){this.reset(),this._id=-1,this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(e)),this._id=-1,this._state=0)},e}();t.OscParser=o;var s=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data)),this._data="",this._hitLimit=!1,t},e}();t.OscHandler=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(8),n=r(20),o=r(22),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e){if(this._active.length){for(var t=this._active.length-1;t>=0&&!1===this._active[t].unhook(e);t--);for(t--;t>=0;t--)this._active[t].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.clone(),this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data,this._params?this._params:new n.Params)),this._params=void 0,this._data="",this._hitLimit=!1,t},e}();t.DcsHandler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(25),n=r(42),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l1)for(var u=this._getJoinedRanges(i,a,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,a,o,t,n),f=0;f=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.addCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.addDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.addEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.addOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(35),s=r(36),a=r(37),c=r(12),l=r(18),h=r(39),u=r(49),f=r(50),_=r(11),d=r(7),p=r(17),v=r(53),g=r(54),y=r(55),b=r(56),S=r(58),m=r(0),C=r(16),w=r(26),E=r(59),L=r(5),A=r(60),R=r(61),k=r(62),x=r(63),D=r(64),T="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new m.EventEmitter,r._onKey=new m.EventEmitter,r._onRender=new m.EventEmitter,r._onSelectionChange=new m.EventEmitter,r._onTitleChange=new m.EventEmitter,r._onFocus=new m.EventEmitter,r._onBlur=new m.EventEmitter,r._onA11yCharEmitter=new m.EventEmitter,r._onA11yTabEmitter=new m.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(k.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestScroll((function(e,t){return r.scroll(e,t||void 0)}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(m.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(m.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(m.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(m.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t,r,i;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._renderService)||void 0===t||t.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(r=this.element)||void 0===r?void 0:r.parentNode)||void 0===i||i.removeChild(this.element))},t.prototype._setup=function(){e.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(t.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),t.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},t.prototype._updateOptions=function(t){var r,i,n,o;switch(e.prototype._updateOptions.call(this,t),t){case"fontFamily":case"fontSize":null===(r=this._renderService)||void 0===r||r.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(n=this.viewport)||void 0===n||n.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},t.prototype._onTextAreaFocus=function(e){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},t.prototype.blur=function(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()},t.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},t.prototype._initGlobal=function(){var e=this;this._bindKeys(),this.register(d.addDisposableDomListener(this.element,"copy",(function(t){e.hasSelection()&&a.copyHandler(t,e._selectionService)})));var t=function(t){return a.handlePasteEvent(t,e.textarea,e._coreService)};this.register(d.addDisposableDomListener(this.textarea,"paste",t)),this.register(d.addDisposableDomListener(this.element,"paste",t)),_.isFirefox?this.register(d.addDisposableDomListener(this.element,"mousedown",(function(t){2===t.button&&a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))):this.register(d.addDisposableDomListener(this.element,"contextmenu",(function(t){a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))),_.isLinux&&this.register(d.addDisposableDomListener(this.element,"auxclick",(function(t){1===t.button&&a.moveTextAreaUnderMouseCursor(t,e.textarea,e.screenElement)})))},t.prototype._bindKeys=function(){var e=this;this.register(d.addDisposableDomListener(this.textarea,"keyup",(function(t){return e._keyUp(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keydown",(function(t){return e._keyDown(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keypress",(function(t){return e._keyPress(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"compositionstart",(function(){return e._compositionHelper.compositionstart()}))),this.register(d.addDisposableDomListener(this.textarea,"compositionupdate",(function(t){return e._compositionHelper.compositionupdate(t)}))),this.register(d.addDisposableDomListener(this.textarea,"compositionend",(function(){return e._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return e._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(t){return e._queueLinkification(t.start,t.end)})))},t.prototype.open=function(e){var t=this;if(!e)throw new Error("Terminal requires a parent element.");T.body.contains(e)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);var r=T.createDocumentFragment();this._viewportElement=T.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this._viewportScrollArea=T.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=T.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=T.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement),this.textarea=T.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),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(d.addDisposableDomListener(this.textarea,"focus",(function(e){return t._onTextAreaFocus(e)}))),this.register(d.addDisposableDomListener(this.textarea,"blur",(function(){return t._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(x.CoreBrowserService,this.textarea);this._instantiationService.setService(L.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(A.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(L.ICharSizeService,this._charSizeService),this._compositionView=T.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(r),this._theme=this.options.theme||this._theme,this._colorManager=new w.ColorManager(T,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(e){return t._colorManager.onOptionsChange(e)}))),this._colorManager.setTheme(this._theme);var n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(L.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(e){return t._onRender.fire(e)}))),this.onResize((function(e){return t._renderService.resize(e.cols,e.rows)})),this._soundService=this._instantiationService.createInstance(v.SoundService),this._instantiationService.setService(L.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(R.MouseService),this._instantiationService.setService(L.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(s.Viewport,(function(e,r){return t.scrollLines(e,r)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return t.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){return t._renderService.onCursorMove()}))),this.register(this.onResize((function(){return t._renderService.onResize(t.cols,t.rows)}))),this.register(this.onBlur((function(){return t._renderService.onBlur()}))),this.register(this.onFocus((function(){return t._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return t.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(f.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(L.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(e){return t.scrollLines(e.amount,e.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return t._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(e){return t._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(e){t.textarea.value=e,t.textarea.focus(),t.textarea.select()}))),this.register(this.onScroll((function(){t.viewport.syncScrollArea(),t._selectionService.refresh()}))),this.register(d.addDisposableDomListener(this._viewportElement,"scroll",(function(){return t._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(g.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return t._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(d.addDisposableDomListener(this.element,"mousedown",(function(e){return t._selectionService.onMouseDown(e)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},t.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(h.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(b.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error('Unrecognized rendererType "'+this.options.rendererType+'"')}},t.prototype._setTheme=function(e){var t,r,i;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(r=this._renderService)||void 0===r||r.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},t.prototype.bindMouse=function(){var e=this,t=this,r=this.element;function i(e){var r,i,n=t._mouseService.getRawByteCoords(e,t.screenElement,t.cols,t.rows);if(!n)return!1;switch(e.overrideType||e.type){case"mousemove":i=32,void 0===e.buttons?(r=3,void 0!==e.button&&(r=e.button<3?e.button:3)):r=1&e.buttons?0:4&e.buttons?1:2&e.buttons?2:3;break;case"mouseup":i=0,r=e.button<3?e.button:3;break;case"mousedown":i=1,r=e.button<3?e.button:3;break;case"wheel":0!==e.deltaY&&(i=e.deltaY<0?0:1),r=4;break;default:return!1}return!(void 0===i||void 0===r||r>4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e))&&(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),!0)},t.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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(var e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(5),s=r(1),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._charSizeService=n,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,this._clearTextareaPosition(),e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){if(t._isSendingComposition){t._isSendingComposition=!1;var e=void 0;e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start),t._coreService.triggerDataEvent(e,!0)}}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&e._coreService.triggerDataEvent(r,!0)}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*r,n=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},e.prototype._clearTextareaPosition=function(){this._textarea.style.left="",this._textarea.style.top=""},e=i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,o.ICharSizeService),n(5,s.ICoreService)],e)}();t.CompositionHelper=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t,!0)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},t=o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},function(e,t,r){"use strict";function i(e){return e.replace(/\r?\n/g,"\r")}function n(e,t){return t?"[200~"+e+"[201~":e}function o(e,t,r){e=n(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function s(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.position="absolute",t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus(),setTimeout((function(){t.style.position="",t.style.width="",t.style.height="",t.style.left="",t.style.top="",t.style.zIndex=""}),200)}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=n,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=s,t.rightClickHandler=function(e,t,r,i,n){s(e,t,r),n&&!i.isClickInSelection(e)&&i.selectWordAtCursor(e),t.value=i.selectionText,t.select()}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(2),s=r(15),a=r(20),c=r(21),l=r(23),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;in||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return r<<=8,r|=o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.addEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setEscHandler=function(e,t){this._escHandlers[this._identifier(e,[48,126])]=[t]},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.addCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setCsiHandler=function(e,t){this._csiHandlers[this._identifier(e)]=[t]},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.addDcsHandler=function(e,t){return this._dcsParser.addHandler(this._identifier(e),t)},r.prototype.setDcsHandler=function(e,t){this._dcsParser.setHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.addOscHandler=function(e,t){return this._oscParser.addHandler(e,t)},r.prototype.setOscHandler=function(e,t){this._oscParser.setHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},r.prototype.parse=function(e,t){for(var r=0,i=0,n=this.currentState,o=this._oscParser,s=this._dcsParser,a=this._collect,c=this._params,l=this._transitions.table,h=0;h>4){case 2:for(var u=h+1;;++u){if(u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:h,code:r,currentState:n,collect:a,params:c,abort:!1}).abort)return;break;case 7:for(var f=this._csiHandlers[a<<8|r],_=f?f.length-1:-1;_>=0&&!1===f[_](c);_--);_<0&&this._csiHandlerFb(a<<8|r,c),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(r-48)}}while(++h47&&r<60);h--;break;case 9:a<<=8,a|=r;break;case 10:for(var d=this._escHandlers[a<<8|r],p=d?d.length-1:-1;p>=0&&!1===d[p]();p--);p<0&&this._escHandlerFb(a<<8|r),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),a=0;break;case 12:s.hook(a<<8|r,c);break;case 13:for(var v=h+1;;++v)if(v>=t||24===(r=e[v])||26===r||27===r||r>127&&r<160){s.put(e,h,v),h=v-1;break}break;case 14:s.unhook(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var g=h+1;;g++)if(g>=t||(r=e[g])<32||r>127&&r<=159){o.put(e,h,g),h=g-1;break}break;case 6:o.end(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0}n=15&i}this._collect=a,this.currentState=n},r}(o.Disposable);t.EscapeSequenceParser=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(40),c=r(46),l=r(47),h=r(48),u=r(28),f=r(2),_=r(5),d=r(1),p=r(24),v=r(0),g=1,y=function(e){function t(t,r,i,n,o,s,f,_,d){var p=e.call(this)||this;p._colors=t,p._screenElement=r,p._bufferService=o,p._charSizeService=s,p._optionsService=f,p._id=g++,p._onRequestRedraw=new v.EventEmitter;var y=p._optionsService.options.allowTransparency;return p._characterJoinerRegistry=new u.CharacterJoinerRegistry(p._bufferService),p._renderLayers=[new a.TextRenderLayer(p._screenElement,0,p._colors,p._characterJoinerRegistry,y,p._id,p._bufferService,f),new c.SelectionRenderLayer(p._screenElement,1,p._colors,p._id,p._bufferService,f),new h.LinkRenderLayer(p._screenElement,2,p._colors,p._id,i,n,p._bufferService,f),new l.CursorRenderLayer(p._screenElement,3,p._colors,p._id,p._onRequestRedraw,p._bufferService,f,_,d)],p.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},p._devicePixelRatio=window.devicePixelRatio,p._updateDimensions(),p.onOptionsChanged(),p}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),e.prototype.dispose.call(this),p.removeTerminalFromCache(this._id)},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._bufferService.cols,this._bufferService.rows))},t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._colors),e.reset()}))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._renderLayers.forEach((function(e){return e.resize(r.dimensions)})),this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.onCharSizeChanged=function(){this.onResize(this._bufferService.cols,this._bufferService.rows)},t.prototype.onBlur=function(){this._runOperation((function(e){return e.onBlur()}))},t.prototype.onFocus=function(){this._runOperation((function(e){return e.onFocus()}))},t.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1),this._runOperation((function(i){return i.onSelectionChanged(e,t,r)}))},t.prototype.onCursorMove=function(){this._runOperation((function(e){return e.onCursorMove()}))},t.prototype.onOptionsChanged=function(){this._runOperation((function(e){return e.onOptionsChanged()}))},t.prototype.clear=function(){this._runOperation((function(e){return e.reset()}))},t.prototype._runOperation=function(e){this._renderLayers.forEach((function(t){return e(t)}))},t.prototype.renderRows=function(e,t){this._renderLayers.forEach((function(r){return r.onGridChanged(e,t)}))},t.prototype._updateDimensions=function(){this._charSizeService.hasValidSize&&(this.dimensions.scaledCharWidth=Math.floor(this._charSizeService.width*window.devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharTop=1===this._optionsService.options.lineHeight?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCharLeft=Math.floor(this._optionsService.options.letterSpacing/2),this.dimensions.scaledCanvasHeight=this._bufferService.rows*this.dimensions.scaledCellHeight,this.dimensions.scaledCanvasWidth=this._bufferService.cols*this.dimensions.scaledCellWidth,this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols)},t.prototype.registerCharacterJoiner=function(e){return this._characterJoinerRegistry.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._characterJoinerRegistry.deregisterCharacterJoiner(e)},t=o([s(4,d.IBufferService),s(5,_.ICharSizeService),s(6,d.IOptionsService),s(7,d.ICoreService),s(8,_.ICoreBrowserService)],t)}(f.Disposable);t.Renderer=y},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var o=r(41),s=r(13),a=r(6),c=r(3),l=r(28),h=r(4),u=function(e){function t(t,r,i,n,s,a,c,l){var u=e.call(this,t,"text",r,s,i,a,c,l)||this;return u._characterWidth=0,u._characterFont="",u._characterOverlapCache={},u._workCell=new h.CellData,u._state=new o.GridCache,u._characterJoinerRegistry=n,u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r,i){for(var n=e;n<=t;n++)for(var o=n+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(o),a=r?r.getJoinedCharacters(o):[],h=0;h0&&h===a[0][0]){f=!0;var d=a.shift();u=new l.JoinedCellData(this._workCell,s.translateToString(!0,d[0],d[1]),d[1]-d[0]),_=d[1]-1}!f&&this._isOverlapping(u)&&_this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},t}(s.BaseRenderLayer);t.TextRenderLayer=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var i=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var o=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){if(this._ctx.fillStyle=this._colors.selection.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===s?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&(e[0]===t[0]&&e[1]===t[1])},t}(r(13).BaseRenderLayer);t.SelectionRenderLayer=o},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(13),s=r(4),a=function(e){function t(t,r,i,n,o,a,c,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,a,c)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new s.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=a;var c=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),600)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(13),s=r(9),a=r(25),c=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(0),s=r(1),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t));){if("break"===a())break}},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(11),c=r(51),l=r(4),h=r(0),u=r(5),f=r(1),_=r(29),d=r(52),p=r(2),v=String.fromCharCode(160),g=new RegExp(v,"g"),y=function(e){function t(t,r,i,n,o,s,a){var u=e.call(this)||this;return u._element=t,u._screenElement=r,u._bufferService=i,u._coreService=n,u._mouseService=o,u._optionsService=s,u._renderService=a,u._dragScrollAmount=0,u._enabled=!0,u._workCell=new l.CellData,u._mouseDownTimeStamp=0,u._onLinuxMouseSelection=u.register(new h.EventEmitter),u._onRedrawRequest=u.register(new h.EventEmitter),u._onSelectionChange=u.register(new h.EventEmitter),u._onRequestScrollLines=u.register(new h.EventEmitter),u._mouseMoveListener=function(e){return u._onMouseMove(e)},u._mouseUpListener=function(e){return u._onMouseUp(e)},u._coreService.onUserInput((function(){u.hasSelection&&u.clearSelection()})),u._trimListener=u._bufferService.buffer.lines.onTrim((function(e){return u._onTrim(e)})),u.register(u._bufferService.buffers.onBufferActivate((function(e){return u._onBufferActivate(e)}))),u.enable(),u._model=new c.SelectionModel(u._bufferService),u._activeSelectionMode=0,u}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;i.push(r.translateBufferLineToString(e[1],!0,e[0],s));for(n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}if(e[1]!==t[1]){c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}}return i.map((function(e){return e.replace(g," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;(this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e)&&(this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText))},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype.isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype.selectWordAtCursor=function(e){var t=this._getMouseBufferCoords(e);t&&(this._selectWordAt(t,!1),this._model.selectionEnd=void 0,this.refresh(!0))},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=1,this._selectWordAt(t,!0))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500){if(e.altKey&&this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,S=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var m=n.lines.get(e[1]-1);if(m&&o.isWrapped&&32!==m.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,S+=w}}}if(i&&b+S===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(S+=L.length)}}return{start:b,length:S}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},t=o([s(2,f.IBufferService),s(3,f.ICoreService),s(4,u.IMouseService),s(5,f.IOptionsService),s(6,u.IRenderService)],t)}(p.Disposable);t.SelectionService=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var i=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(12);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;c=n(r,i,s,a).length>0?i-o(s,i):t;if(e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(1),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);t&&t.tooltipCallback&&t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&ie;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0)this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e);else this._charsToAnnounce+=e;"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0)}},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&this._liveRegion.parentNode&&this._accessibilityTreeRoot.removeChild(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerHTML=" ":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(57),c=r(9),l=r(2),h=r(5),u=r(1),f=r(0),_=r(10),d=1,p=function(e){function t(t,r,i,n,o,s,c,l,h){var u=e.call(this)||this;return u._colors=t,u._element=r,u._screenElement=i,u._viewportElement=n,u._linkifier=o,u._linkifier2=s,u._charSizeService=c,u._optionsService=l,u._bufferService=h,u._terminalClass=d++,u._rowElements=[],u._rowContainer=document.createElement("div"),u._rowContainer.classList.add("xterm-rows"),u._rowContainer.style.lineHeight="normal",u._rowContainer.setAttribute("aria-hidden","true"),u._refreshRowElements(u._bufferService.cols,u._bufferService.rows),u._selectionContainer=document.createElement("div"),u._selectionContainer.classList.add("xterm-selection"),u._selectionContainer.setAttribute("aria-hidden","true"),u.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},u._updateDimensions(),u._injectCss(),u._rowFactory=new a.DomRendererRowFactory(document,u._optionsService,u._colors),u._element.classList.add("xterm-dom-renderer-owner-"+u._terminalClass),u._screenElement.appendChild(u._rowContainer),u._screenElement.appendChild(u._selectionContainer),u._linkifier.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u._linkifier2.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier2.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),this._screenElement.removeChild(this._rowContainer),this._screenElement.removeChild(this._selectionContainer),this._screenElement.removeChild(this._themeStyleElement),this._screenElement.removeChild(this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){var e=this;this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this._rowElements.forEach((function(t){t.style.width=e.dimensions.canvasWidth+"px",t.style.height=e.dimensions.actualCellHeight+"px",t.style.lineHeight=e.dimensions.actualCellHeight+"px",t.style.overflow="hidden"})),this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));var t=this._terminalSelector+" .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: "+this.dimensions.actualCellWidth+"px}";this._dimensionsStyleElement.innerHTML=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.setColors=function(e){this._colors=e,this._injectCss()},t.prototype._injectCss=function(){var e=this;this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));var t=this._terminalSelector+" .xterm-rows { color: "+this._colors.foreground.css+"; font-family: "+this._optionsService.options.fontFamily+"; font-size: "+this._optionsService.options.fontSize+"px;}";t+=this._terminalSelector+" span:not(."+a.BOLD_CLASS+") { font-weight: "+this._optionsService.options.fontWeight+";}"+this._terminalSelector+" span."+a.BOLD_CLASS+" { font-weight: "+this._optionsService.options.fontWeightBold+";}"+this._terminalSelector+" span."+a.ITALIC_CLASS+" { font-style: italic;}",t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+"; } 50% { background-color: "+this._colors.cursorAccent.css+"; color: "+this._colors.cursor.css+"; }}",t+=this._terminalSelector+" .xterm-rows:not(.xterm-focus) ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { outline: 1px solid "+this._colors.cursor.css+"; outline-offset: -1px;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+":not(."+a.CURSOR_STYLE_BLOCK_CLASS+") { animation: blink_box_shadow_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { animation: blink_block_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+";}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BAR_CLASS+" { box-shadow: "+this._optionsService.options.cursorWidth+"px 0 0 "+this._colors.cursor.css+" inset;}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_UNDERLINE_CLASS+" { box-shadow: 0 -1px 0 "+this._colors.cursor.css+" inset;}",t+=this._terminalSelector+" .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}"+this._terminalSelector+" .xterm-selection div { position: absolute; background-color: "+this._colors.selection.css+";}",this._colors.ansi.forEach((function(r,i){t+=e._terminalSelector+" .xterm-fg-"+i+" { color: "+r.css+"; }"+e._terminalSelector+" .xterm-bg-"+i+" { background-color: "+r.css+"; }"})),t+=this._terminalSelector+" .xterm-fg-"+c.INVERTED_DEFAULT_COLOR+" { color: "+_.color.opaque(this._colors.background).css+"; }"+this._terminalSelector+" .xterm-bg-"+c.INVERTED_DEFAULT_COLOR+" { background-color: "+this._colors.foreground.css+"; }",this._themeStyleElement.innerHTML=t},t.prototype.onDevicePixelRatioChange=function(){this._updateDimensions()},t.prototype._refreshRowElements=function(e,t){for(var r=this._rowElements.length;r<=t;r++){var i=document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},t.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){this._rowElements.forEach((function(e){return e.innerHTML=""}))},t.prototype.renderRows=function(e,t){for(var r=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),n=this._optionsService.options.cursorBlink,o=e;o<=t;o++){var s=this._rowElements[o];s.innerHTML="";var a=o+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.lines.get(a),l=this._optionsService.options.cursorStyle;s.appendChild(this._rowFactory.createRow(c,a===r,l,i,n,this.dimensions.actualCellWidth,this._bufferService.cols))}},Object.defineProperty(t.prototype,"_terminalSelector",{get:function(){return".xterm-dom-renderer-owner-"+this._terminalClass},enumerable:!1,configurable:!0}),t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype._onLinkHover=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)},t.prototype._onLinkLeave=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)},t.prototype._setCellUnderline=function(e,t,r,i,n,o){for(;e!==t||r!==i;){var s=this._rowElements[r];if(!s)return;var a=s.children[e];a&&(a.style.textDecoration=o?"underline":"none"),++e>=n&&(e=0,r++)}},t=o([s(6,h.ICharSizeService),s(7,u.IOptionsService),s(8,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var i=r(9),n=r(3),o=r(4),s=r(10);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var a=function(){function e(e,t,r){this._document=e,this._optionsService=t,this._colors=r,this._workCell=new o.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,o,a,l,h,u){for(var f=this._document.createDocumentFragment(),_=0,d=Math.min(e.length,u)-1;d>=0;d--)if(e.loadCell(d,this._workCell).getCode()!==n.NULL_CELL_CODE||r&&d===a){_=d+1;break}for(d=0;d<_;d++){e.loadCell(d,this._workCell);var p=this._workCell.getWidth();if(0!==p){var v=this._document.createElement("span");if(p>1&&(v.style.width=h*p+"px"),r&&d===a)switch(v.classList.add(t.CURSOR_CLASS),l&&v.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":v.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":v.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:v.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&v.classList.add(t.BOLD_CLASS),this._workCell.isItalic()&&v.classList.add(t.ITALIC_CLASS),this._workCell.isDim()&&v.classList.add(t.DIM_CLASS),this._workCell.isUnderline()&&v.classList.add(t.UNDERLINE_CLASS),this._workCell.isInvisible()?v.textContent=n.WHITESPACE_CELL_CHAR:v.textContent=this._workCell.getChars()||n.WHITESPACE_CELL_CHAR;var g=this._workCell.getFgColor(),y=this._workCell.getFgColorMode(),b=this._workCell.getBgColor(),S=this._workCell.getBgColorMode(),m=!!this._workCell.isInverse();if(m){var C=g;g=b,b=C;var w=y;y=S,S=w}switch(y){case 16777216:case 33554432:this._workCell.isBold()&&g<8&&this._optionsService.options.drawBoldTextInBrightColors&&(g+=8),this._applyMinimumContrast(v,this._colors.background,this._colors.ansi[g])||v.classList.add("xterm-fg-"+g);break;case 50331648:var E=s.rgba.toColor(g>>16&255,g>>8&255,255&g);this._applyMinimumContrast(v,this._colors.background,E)||this._addStyle(v,"color:#"+c(g.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(v,this._colors.background,this._colors.foreground)||m&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(S){case 16777216:case 33554432:v.classList.add("xterm-bg-"+b);break;case 50331648:this._addStyle(v,"background-color:#"+c(b.toString(16),"0",6));break;case 0:default:m&&v.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}f.appendChild(v)}}return f},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=s.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},e}();function c(e,t,r){for(;e.length"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)r&&!e.altKey&&!e.ctrlKey&&e.metaKey?65===e.keyCode&&(s.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(30),c=r(0),l=r(2),h=r(31),u=r(7),f=r(1),_=r(5),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=0===e.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){this._renderer.dispose(),e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},t.prototype.registerCharacterJoiner=function(e){return this._renderer.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._renderer.deregisterCharacterJoiner(e)},t=o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(1),s=r(0),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},e=i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(5),s=r(29),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},e=i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(1),c=r(0),l=r(2),h=r(7),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},t=o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var i=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(2),s=r(1),a=r(65),c=r(66),l=r(67),h=r(73),u=r(74),f=r(0),_=r(75),d=r(76),p=r(77),v=r(79),g=r(80),y=r(18),b=r(81),S=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r._writeBuffer=new b.WriteBuffer((function(e){return r._inputHandler.parse(e)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e){this._writeBuffer.writeSync(e)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this._bufferService.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},t.prototype.scrollLines=function(e,t){var r=this._bufferService.buffer;if(e<0){if(0===r.ydisp)return;this._bufferService.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this._bufferService.isUserScrolling=!1);var i=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),i!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))},t.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},t.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},t.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},t.prototype.scrollToLine=function(e){var t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)},t.prototype.addEscHandler=function(e,t){return this._inputHandler.addEscHandler(e,t)},t.prototype.addDcsHandler=function(e,t){return this._inputHandler.addDcsHandler(e,t)},t.prototype.addCsiHandler=function(e,t){return this._inputHandler.addCsiHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._inputHandler.addOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.addCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){t.forEach((function(e){return e.dispose()}))}}}},t}(o.Disposable);t.CoreTerminal=S},function(e,t,r){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(1),c=r(68),l=r(0),h=r(2);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},r=o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(69),s=r(0),a=function(e){function t(t,r){var i=e.call(this)||this;return i._onBufferActivate=i.register(new s.EventEmitter),i._normal=new o.Buffer(!0,t,r),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,t,r),i._activeBuffer=i._normal,i.setupTabStops(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(2).Disposable);t.BufferSet=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(70),n=r(16),o=r(4),s=r(3),a=r(71),c=r(72),l=r(19),h=r(6);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=f.length-1,b=f[y];0===b&&(b=f[--y]);for(var S=l.length-_-1,m=u;S>=0;){var C=Math.min(m,b);if(l[y].copyCellsFrom(l[S],m-C,b-C,C,!0),0===(b-=C)&&(b=f[--y]),0===(m-=C)){S--;var w=Math.max(S,0);m=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],A=[];for(v=0;v=0;v--)if(D&&D.start>k+T){for(var O=D.newLines.length-1;O>=0;O--)this.lines.set(v--,D.newLines[O]);v++,L.push({index:k+1,amount:D.newLines.length}),T+=D.newLines.length,D=i[++x]}else this.lines.set(v,A[k--]);var M=0;for(v=L.length-1;v>=0;v--)L[v].index+=M,this.lines.onInsertEmitter.fire(L[v]),M+=L[v].amount;var P=Math.max(0,R+o-this.lines.maxLength);P>0&&this.lines.onTrimEmitter.fire(P)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(0),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i=a&&n0&&(S>u||0===h[S].getTrimmedLength());S--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?r-1:r;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(0),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},t._nextId=1,t}(r(2).Disposable);t.Marker=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(0),n=r(11),o=r(32);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["cols","rows"],a=function(){function e(e){var r=this;this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS),Object.keys(e).forEach((function(t){if(t in r.options){var i=e[t];r.options[t]=i}}))}return Object.defineProperty(e.prototype,"onOptionChange",{get:function(){return this._onOptionChange.event},enumerable:!1,configurable:!0}),e.prototype.setOption=function(e,r){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');if(-1!==s.indexOf(e))throw new Error('Option "'+e+'" can only be set in the constructor');this.options[e]!==r&&(r=this._sanitizeAndValidateOption(e,r),this.options[e]!==r&&(this.options[e]=r,this._onOptionChange.fire(e)))},e.prototype._sanitizeAndValidateOption=function(e,r){switch(e){case"bellStyle":case"cursorStyle":case"fontWeight":case"fontWeightBold":case"rendererType":case"wordSeparator":r||(r=t.DEFAULT_OPTIONS[e]);break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw new Error(e+" cannot be less than 1, value: "+r);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,4294967295))<0)throw new Error(e+" cannot be less than 0, value: "+r);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw new Error(e+" cannot be less than or equal to 0, value: "+r)}return r},e.prototype.getOption=function(e){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');return this.options[e]},e}();t.OptionsService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(1),c=r(0),l=r(32),h=r(2),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},t=o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(1),s=r(0),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){var r=this;this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null,Object.keys(a).forEach((function(e){return r.addProtocol(e,a[e])})),Object.keys(h).forEach((function(e){return r.addEncoding(e,h[e])})),this.reset()}return e.prototype.addProtocol=function(e,t){this._protocols[e]=t},e.prototype.addEncoding=function(e,t){this._encodings[e]=t},Object.defineProperty(e.prototype,"activeProtocol",{get:function(){return this._activeProtocol},set:function(e){if(!this._protocols[e])throw new Error('unknown protocol "'+e+'"');this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"areMouseEventsActive",{get:function(){return 0!==this._protocols[this._activeProtocol].events},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeEncoding",{get:function(){return this._activeEncoding},set:function(e){if(!this._encodings[e])throw new Error('unknown encoding "'+e+'"');this._activeEncoding=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null},Object.defineProperty(e.prototype,"onProtocolChange",{get:function(){return this._onProtocolChange.event},enumerable:!1,configurable:!0}),e.prototype.triggerMouseEvent=function(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&(e.row===t.row&&(e.button===t.button&&(e.action===t.action&&(e.ctrl===t.ctrl&&(e.alt===t.alt&&e.shift===t.shift)))))},e=i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(1),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},e=i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(0),n=r(78),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(15),o=[[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]],s=[[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]];var a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var i=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(3);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return e.prototype.writeSync=function(e){if(this._writeBuffer.length){for(var t=this._bufferOffset;t5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(){for(var e=this,t=Date.now();this._writeBuffer.length>this._bufferOffset;){var r=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(r),this._pendingData-=r.length,i&&i(),Date.now()-t>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return e._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var i=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r + +
+
+ \ No newline at end of file diff --git a/vTerm/build/release/vTerm.zip b/vTerm/build/release/vTerm.zip new file mode 100644 index 0000000000000000000000000000000000000000..6878c9d9841c197a8156863ee78b08aec878c80f GIT binary patch literal 306214 zcmeFaU347Dk{)(tttESWj^+RVpJv^AvE4+Y+1>ad*g%sDg5VH)NrDT2cjhiG1Qogq zKn)vJxK-68aS5ztS(3eyR$j@gm269v|0V6w@v(e#{3qEyXXeFke)F4O{Oo5x`-_Oo ztjy}FMq`GvJL|J^hUluS%*e>d$jHdZ$jDbe`oq8Q$@l2L;otcqzw-YETfg!y7xGz{PB?|ppD0NtxS zT)&5O1?C=MLvS8`vd+&rW)EMPCIx8H?{xph&;R#7^u6!VzkeJ}+TGfC@?xuXKKy=d zBg%I6YCjH>u|KNmCVcXVeyRoMlK~fv1VRWiM z?T?XZRJ$0BPs6D7$tSO)QTQgPy(5UV?99)QJ4kDOZ5Ry0fu9A#+PmO5jR$XnOxF;` zQSAhE2L9lzMlC10qS{Xe@%i~U;$k3jcBb(#c>p@4(r-f_l?8;;uy*(EJIZkPuEMJM z$&VQuMkJ0#m$f(ohE-UA0$F%53UW+TEuWw{(VLX$Vbzr}0Ze5efvRp8Tm;cDMP-~_ z(Jl>#0Wd6-s`=4S14aMby^Dq@xStG0VGw0CE_mS&-uS11+ud7#^6&j$|IZ)$-uLL= zKZfo;_t6uBH2vh>-MgRE?$$Qri_3(#vQ{57YTb5cskRSVy(c2IzChoMv$Hr!TeXeR zsKyyn5SsBFwn_nX7XW3kS=&5I!ZeF7&cGDE9Gsja!DX%fVtc>#JRAg38Z@Z%S(aU- zy?ggg(ShUR7W(ww;OvVp?y2f2%P);2e+^~vPD!tb4Wx6!6r(B$jxTGci64Q3nl;oE z)Z&xc;LJ}>gC=!}A6?cif+PjGVi%VL51F$wKuY72?46$kOmRO2BZkbB z!+0=02c7+lxiK7pY3tO@-kvJqHMpK(;ExDkDBY^RGJnS7j3}2S;efz2k!dg*4+#@u zU-~=>&qGxSK^JlpJTw6e+GK>Awexrwo?PNL;PzdNk4Is8)~pRd?<71PXULgSBGb7^ zt+|I0lm;V44y_K+0B&?p(>QWAst9xf7K&WV(C^M-8m@WXT9^`6C*veS#Td0HHjF_& zuJ;Qi7pTNZJQ~H2kf$`9haojQ?V&6c-^X|VIDQ*&vxEtwI0M#-M@$x6NA8o&U(yVQL{%Ut?Z?Cqq zOVGAoyn4R9h2-s*o6lcA*?#$H?JKw*|RN5rCK-e|K|So&P!^~=FZFg zUA#8Y+}(Xs`m^o5t!8awcYBX0^K^IT1-F!_i$bUaa8UH+mH;BkGqFquAqx@jHCnGR zsy*4-cn)yrt(V0P)t$Tp{-T)!0v@x;8?enu0mTM5FVgi2ZA7ju4 zwZ|AhelkR!FZ{QDI!MBctoAnRwA(yGeUXmBX#8FkBFP59b}VIDadLW3Ww<9$CnRsD zSdrwTVG=9sF;S-BX+%>UgczhUeI!}QlVX@*h@VKQGe5;338Gp6Q66D_r7ja`aZK}5(zbR}XfYE<}uFMpvNy&w?U_?`h%AKR_ zLtz;~<_dn8@OrvwJjId%C$jG63(ypU_gV~Tc<19ZBYAd)Ss0WjJ%WYpz>mOWpfV#0irO@U~xUv1o>x7x)RQ5%C2&i)#ae;XhSfueQAQNkwB8GH?gxJ6|>G9^@fI zs6E@*{85is<|KSy+uj1pV>*f6upl2}9yN%(Ao*>;&?Khj6$}qzKY*aobpj+u!AXV* zf)b$lQR;v}VKzYrV-_~p|r)&K({SU5}F8g185u(?008j z7A&MdpIME-OQj%Wa)QaS2Tm9cgGf>_2E(71F(p(b4SL~i7`!uG2zmQtrw7H(e9v(> z1)0yG7DF72FVLd%;2mjC8nL~i<1>IgPMX3xT z2)ba&7arl^h{vsFa#L)9^!0`Fz)vypEI{y+#$D|A5G%+iSWx{>d}cL3MA^n76*Rg2;yeTR4v~LoKlQ(9^}eyS2~GAP)IcO?{%3h7=jr z>cMHNmYt8^VJJ9AEI(#0(DShVNTLZV z*ssHV)aBNIpjUSoUlSouMxS1- zqu(_{nFK8-a$#?}ZDAOms~Yo3u4PZ+3lPvjLY%7d5g#rLgF&3|3bj`=8MsNVMc_Af zKmR|s{>m?WkN*8pZ4vk)eG9o4G_$q($vEP!tv5b!+FCv64@OuGD^(JD2V`k$XRier zi8Ury*?J6BWg~z8faM+*qvHY0MfITZAss_^s(Wwup{sh$pm9z5D{4prsF|ei0OC0* zvVDF$fu>Z~maayV)A(zIiH=~9zFYqw4ELBclir>7waR!BW*fs{9Q7&lQ}xo)4>_>b zDE5b(6Ki?Yugh8WwV<``z^)fZb&s^!J

k)9ZAx-Zx0KV%Ty71UJF?6#Xc;1OXp@ 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 literal 0 HcmV?d00001 diff --git a/vTerm/build/release/wTerm.zip b/vTerm/build/release/wTerm.zip new file mode 100644 index 0000000000000000000000000000000000000000..86c34f7574219f2d9612d030bc1398227b0bcd9a GIT binary patch literal 305843 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�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 literal 0 HcmV?d00001 diff --git a/vTerm/main.coffee b/vTerm/main.coffee new file mode 100644 index 0000000..95146d9 --- /dev/null +++ b/vTerm/main.coffee @@ -0,0 +1,119 @@ +# Copyright 2017-2018 Xuan Sang LE + +# AnTOS Web desktop is is licensed under the GNU General Public +# License v3.0, see the LICENCE file for more information + +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of +# the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. + +# You should have received a copy of the GNU General Public License +#along with this program. If not, see https://www.gnu.org/licenses/ + +class vTerm extends this.OS.application.BaseApplication + constructor: (args) -> + super "vTerm", args + + main: () -> + @mterm = @find "myterm" + @term = new Terminal { cursorBlink: true } + @fitAddon = new FitAddon.FitAddon() + @term.loadAddon(@fitAddon) + @term.setOption('fontSize', '12') + @term.open @mterm + @term.onKey (d) => + return unless @sub + @sub.send Antunnel.Msg.DATA, new TextEncoder("utf-8").encode(d.key) + + @sub = undefined + + @on "focus", () => @term.focus() + + @mterm.contextmenuHandle = (e, m) => + m.items = [ + { text: "__(Copy)", id: "copy" }, + { text: "__(Paste)", id: "paste"} + ] + m.onmenuselect = (e) => + return unless e + @mctxHandle e.data.item.data + m.show e + @resizeContent() + # make desktop menu if not exist + @systemsetting.desktop.menu[@name] = { text: "__(Open terminal)", app: "vTerm" } unless @systemsetting.desktop.menu[@name] + + @on "hboxchange", (e) => + @resizeContent() + + if not Antunnel.tunnel + @error __("The Antunnel service is not started, please start it first") + @_gui.pushService("Antunnel/AntunnelService") + .catch (e) => + @error e.toString(), e + @quit() + else + @tunnel = Antunnel.tunnel + @openSession() + + mctxHandle: (data) -> + switch data.id + when "paste" + @_api.getClipboard().then (text) => + return unless text and text isnt "" + @sub.send Antunnel.Msg.DATA, new TextEncoder("utf-8").encode(text) if @sub + .catch (e) => @error __("Unable to paste"), e + when "copy" + text = @term.getSelection() + return unless text and text isnt "" + @_api.setClipboard text + else + + + resizeContent: () -> + @fitAddon.fit() + ncol = @term.cols + nrow = @term.rows + return unless @sub + arr = new Uint8Array(8) + arr.set Antunnel.Msg.bytes_of(ncol), 0 + arr.set Antunnel.Msg.bytes_of(nrow), 4 + @sub.send Antunnel.Msg.CTRL, arr + + openSession: () -> + @term.clear() + @term.focus() + @sub = new Antunnel.Subscriber("vterm") + @sub.onopen = () => + console.log("Subscribed") + @resizeContent (($ @mterm).width()) , (($ @mterm).height()) + @term.focus() + + @sub.onerror = (e) => + @error __("Unable to connect to: vterm"), e + @sub = undefined + + @sub.onmessage = (e) => + @term.write(new TextDecoder("utf-8").decode(e.data)) if @term and e.data + + @sub.onclose = () => + @sub = undefined + @notify __("Terminal connection closed") + @quit() + + @tunnel.subscribe @sub + + cleanup: (e) -> + @sub.close() if @sub + + +vTerm.dependencies = [ + "pkg://Antunnel/main.js" +] + +this.OS.register "vTerm", vTerm diff --git a/vTerm/main.css b/vTerm/main.css new file mode 100644 index 0000000..e69de29 diff --git a/vTerm/package.json b/vTerm/package.json new file mode 100644 index 0000000..c678741 --- /dev/null +++ b/vTerm/package.json @@ -0,0 +1,22 @@ +{ + "app":"vTerm", + "name":"Virtual Terminal", + "description":"Access Unix terminal from web", + "info":{ + "author": "Xuan Sang LE", + "email": "xsang.le@gmail.com" + }, + "version":"0.0.5-a", + "category":"System", + "iconclass":"fa fa-terminal", + "mimes":["none"], + "locales":{ + "fr_FR": { + "Open terminal": "Ouvrir terminal", + "Edit": "Modifier", + "Please enter terminal URI": "Merci d'entrer l'URI du terminal", + "Unable to connect to: {0}": "Impossible de connecter a: {0}", + "Terminal connection closed": "Connexion terminal est fermee" + } + } +} \ No newline at end of file diff --git a/vTerm/project.json b/vTerm/project.json new file mode 100644 index 0000000..1ff7f1e --- /dev/null +++ b/vTerm/project.json @@ -0,0 +1,8 @@ +{ + "name": "vTerm", + "root": "home://workspace/antosdk-apps/vTerm", + "css": ["xterm.css", "main.css"], + "javascripts": ["xterm-addon-fit.js", "xterm.js"], + "coffees": ["main.coffee"], + "copies": ["scheme.html", "package.json", "README.md"] +} \ No newline at end of file diff --git a/vTerm/scheme.html b/vTerm/scheme.html new file mode 100644 index 0000000..5da473a --- /dev/null +++ b/vTerm/scheme.html @@ -0,0 +1,5 @@ + + +

+ + \ No newline at end of file diff --git a/vTerm/xterm-addon-fit.js b/vTerm/xterm-addon-fit.js new file mode 100644 index 0000000..a566ac5 --- /dev/null +++ b/vTerm/xterm-addon-fit.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FitAddon=t():e.FitAddon=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var n=function(){function e(){}return e.prototype.activate=function(e){this._terminal=e},e.prototype.dispose=function(){},e.prototype.fit=function(){var e=this.proposeDimensions();if(e&&this._terminal){var t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}},e.prototype.proposeDimensions=function(){if(this._terminal&&this._terminal.element&&this._terminal.element.parentElement){var e=this._terminal._core,t=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(t.getPropertyValue("height")),n=Math.max(0,parseInt(t.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),i=r-(parseInt(o.getPropertyValue("padding-top"))+parseInt(o.getPropertyValue("padding-bottom"))),a=n-(parseInt(o.getPropertyValue("padding-right"))+parseInt(o.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(a/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(i/e._renderService.dimensions.actualCellHeight))}}},e}();t.FitAddon=n}])})); +//# sourceMappingURL=xterm-addon-fit.js.map \ No newline at end of file diff --git a/vTerm/xterm.css b/vTerm/xterm.css new file mode 100644 index 0000000..b3d8d4f --- /dev/null +++ b/vTerm/xterm.css @@ -0,0 +1,171 @@ +/** + * Copyright (c) 2014 The xterm.js authors. All rights reserved. + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * @license MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */ + +/** + * Default styles for xterm.js + */ + +.xterm { + font-feature-settings: "liga" 0; + position: relative; + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; +} + +.xterm.focus, +.xterm:focus { + outline: none; +} + +.xterm .xterm-helpers { + position: absolute; + top: 0; + /** + * The z-index of the helpers must be higher than the canvases in order for + * IMEs to appear on top. + */ + z-index: 5; +} + +.xterm .xterm-helper-textarea { + /* + * HACK: to fix IE's blinking cursor + * Move textarea out of the screen to the far left, so that the cursor is not visible. + */ + position: absolute; + opacity: 0; + left: -9999em; + top: 0; + width: 0; + height: 0; + z-index: -5; + /** Prevent wrapping so the IME appears against the textarea at the correct position */ + white-space: nowrap; + overflow: hidden; + resize: none; +} + +.xterm .composition-view { + /* TODO: Composition position got messed up somewhere */ + background: #000; + color: #FFF; + display: none; + position: absolute; + white-space: nowrap; + z-index: 1; +} + +.xterm .composition-view.active { + display: block; +} + +.xterm .xterm-viewport { + /* On OS X this is required in order for the scroll bar to appear fully opaque */ + background-color: #000; + overflow-y: scroll; + cursor: default; + position: absolute; + right: 0; + left: 0; + top: 0; + bottom: 0; +} + +.xterm .xterm-screen { + position: relative; +} + +.xterm .xterm-screen canvas { + position: absolute; + left: 0; + top: 0; +} + +.xterm .xterm-scroll-area { + visibility: hidden; +} + +.xterm-char-measure-element { + display: inline-block; + visibility: hidden; + position: absolute; + top: 0; + left: -9999em; + line-height: normal; +} + +.xterm { + cursor: text; +} + +.xterm.enable-mouse-events { + /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */ + cursor: default; +} + +.xterm.xterm-cursor-pointer { + cursor: pointer; +} + +.xterm.column-select.focus { + /* Column selection mode */ + cursor: crosshair; +} + +.xterm .xterm-accessibility, +.xterm .xterm-message { + position: absolute; + left: 0; + top: 0; + bottom: 0; + right: 0; + z-index: 10; + color: transparent; +} + +.xterm .live-region { + position: absolute; + left: -9999px; + width: 1px; + height: 1px; + overflow: hidden; +} + +.xterm-dim { + opacity: 0.5; +} + +.xterm-underline { + text-decoration: underline; +} diff --git a/vTerm/xterm.js b/vTerm/xterm.js new file mode 100644 index 0000000..0bb9d00 --- /dev/null +++ b/vTerm/xterm.js @@ -0,0 +1,2 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var i in r)("object"==typeof exports?exports:e)[i]=r[i]}}(window,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=33)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var i=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(14);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var i=function(){function e(){this.fg=0,this.bg=0,this.extended=new n}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){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()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=i;var n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else t[i++]=s}return i},e}();t.StringToUtf32=i;var n=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},function(e,t,r){"use strict";var i,n,o,s;function a(e){var t=e.toString(16);return t.length<2?"0"+t:t}function c(e,t){return e>>0}}(i=t.channels||(t.channels={})),(n=t.color||(t.color={})).blend=function(e,t){var r=(255&t.rgba)/255;if(1===r)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*r),u=c+Math.round((o-c)*r),f=l+Math.round((s-l)*r);return{css:i.toCss(h,u,f),rgba:i.toRgba(h,u,f)}},n.ensureContrastRatio=function(e,t,r){var i=s.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return s.toColor(i>>24&255,i>>16&255,i>>8&255)},n.opaque=function(e){var t=(255|e.rgba)>>>0,r=s.toChannels(t),n=r[0],o=r[1],a=r[2];return{css:i.toCss(n,o,a),rgba:t}},(t.css||(t.css={})).toColor=function(e){return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0}},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u0||l>0||h>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}function r(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u>>0}e.ensureContrastRatio=function(e,i,n){var s=o.relativeLuminance(e>>8),a=o.relativeLuminance(i>>8);if(c(s,a)>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,r){return{css:i.toCss(e,t,r),rgba:i.toRgba(e,t,r)}}}(s=t.rgba||(t.rgba={})),t.toPaddedHex=a,t.contrastRatio=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var i="undefined"==typeof navigator,n=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function s(e,t){return e.indexOf(t)>=0}t.isFirefox=!!~n.indexOf("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(n),t.isMac=s(["Macintosh","MacIntel","MacPPC","Mac68K"],o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=s(["Windows","Win16","Win32","WinCE"],o),t.isLinux=o.indexOf("Linux")>=0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(t.C0||(t.C0={})),function(e){e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"}(t.C1||(t.C1={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(3),n=r(9),o=r(24),s=r(6),a=r(27),c=r(10),l=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e,t;null===(e=this._canvas.parentElement)||void 0===e||e.removeChild(this._canvas),null===(t=this._charAtlas)||void 0===t||t.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="middle",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;function i(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(r,e,n)};return r.toString=function(){return e},t.serviceRegistry.set(e,r),r}},function(e,t,r){"use strict";function i(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;athis.length){var r=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t>22||1}return o},e}();t.BufferLine=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;var o,s=r(12),a=r(19),c=r(38),l=r(2),h=r(15),u=r(8),f=r(16),_=r(0),d=r(3),p=r(4),v=r(6),g=r(21),y=r(23),b={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function S(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var m=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(e){var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case'"q':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r0"q'+s.C0.ESC+"\\");case'"p':return this._coreService.triggerDataEvent(s.C0.ESC+'P1$r61;1"p'+s.C0.ESC+"\\");case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\");case"m":return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\");case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\");default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\")}}else this._data=new Uint32Array(0)},e}(),C=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var y=e.call(this)||this;y._bufferService=t,y._charsetService=r,y._coreService=i,y._dirtyRowService=n,y._logService=o,y._optionsService=l,y._coreMouseService=h,y._unicodeService=d,y._parser=v,y._parseBuffer=new Uint32Array(4096),y._stringDecoder=new u.StringToUtf32,y._utf8Decoder=new u.Utf8ToUtf32,y._workCell=new p.CellData,y._windowTitle="",y._iconName="",y._windowTitleStack=[],y._iconNameStack=[],y._curAttrData=f.DEFAULT_ATTR_DATA.clone(),y._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),y._onRequestBell=new _.EventEmitter,y._onRequestRefreshRows=new _.EventEmitter,y._onRequestReset=new _.EventEmitter,y._onRequestScroll=new _.EventEmitter,y._onRequestSyncScrollBar=new _.EventEmitter,y._onRequestWindowsOptionsReport=new _.EventEmitter,y._onA11yChar=new _.EventEmitter,y._onA11yTab=new _.EventEmitter,y._onCursorMove=new _.EventEmitter,y._onLineFeed=new _.EventEmitter,y._onScroll=new _.EventEmitter,y._onTitleChange=new _.EventEmitter,y.register(y._parser),y._parser.setCsiHandlerFallback((function(e,t){y._logService.debug("Unknown CSI code: ",{identifier:y._parser.identToString(e),params:t.toArray()})})),y._parser.setEscHandlerFallback((function(e){y._logService.debug("Unknown ESC code: ",{identifier:y._parser.identToString(e)})})),y._parser.setExecuteHandlerFallback((function(e){y._logService.debug("Unknown EXECUTE code: ",{code:e})})),y._parser.setOscHandlerFallback((function(e,t,r){y._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),y._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),y._logService.debug("Unknown DCS code: ",{identifier:y._parser.identToString(e),action:t,payload:r})})),y._parser.setPrintHandler((function(e,t,r){return y.print(e,t,r)})),y._parser.setCsiHandler({final:"@"},(function(e){return y.insertChars(e)})),y._parser.setCsiHandler({intermediates:" ",final:"@"},(function(e){return y.scrollLeft(e)})),y._parser.setCsiHandler({final:"A"},(function(e){return y.cursorUp(e)})),y._parser.setCsiHandler({intermediates:" ",final:"A"},(function(e){return y.scrollRight(e)})),y._parser.setCsiHandler({final:"B"},(function(e){return y.cursorDown(e)})),y._parser.setCsiHandler({final:"C"},(function(e){return y.cursorForward(e)})),y._parser.setCsiHandler({final:"D"},(function(e){return y.cursorBackward(e)})),y._parser.setCsiHandler({final:"E"},(function(e){return y.cursorNextLine(e)})),y._parser.setCsiHandler({final:"F"},(function(e){return y.cursorPrecedingLine(e)})),y._parser.setCsiHandler({final:"G"},(function(e){return y.cursorCharAbsolute(e)})),y._parser.setCsiHandler({final:"H"},(function(e){return y.cursorPosition(e)})),y._parser.setCsiHandler({final:"I"},(function(e){return y.cursorForwardTab(e)})),y._parser.setCsiHandler({final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({prefix:"?",final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({prefix:"?",final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({final:"L"},(function(e){return y.insertLines(e)})),y._parser.setCsiHandler({final:"M"},(function(e){return y.deleteLines(e)})),y._parser.setCsiHandler({final:"P"},(function(e){return y.deleteChars(e)})),y._parser.setCsiHandler({final:"S"},(function(e){return y.scrollUp(e)})),y._parser.setCsiHandler({final:"T"},(function(e){return y.scrollDown(e)})),y._parser.setCsiHandler({final:"X"},(function(e){return y.eraseChars(e)})),y._parser.setCsiHandler({final:"Z"},(function(e){return y.cursorBackwardTab(e)})),y._parser.setCsiHandler({final:"`"},(function(e){return y.charPosAbsolute(e)})),y._parser.setCsiHandler({final:"a"},(function(e){return y.hPositionRelative(e)})),y._parser.setCsiHandler({final:"b"},(function(e){return y.repeatPrecedingCharacter(e)})),y._parser.setCsiHandler({final:"c"},(function(e){return y.sendDeviceAttributesPrimary(e)})),y._parser.setCsiHandler({prefix:">",final:"c"},(function(e){return y.sendDeviceAttributesSecondary(e)})),y._parser.setCsiHandler({final:"d"},(function(e){return y.linePosAbsolute(e)})),y._parser.setCsiHandler({final:"e"},(function(e){return y.vPositionRelative(e)})),y._parser.setCsiHandler({final:"f"},(function(e){return y.hVPosition(e)})),y._parser.setCsiHandler({final:"g"},(function(e){return y.tabClear(e)})),y._parser.setCsiHandler({final:"h"},(function(e){return y.setMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"h"},(function(e){return y.setModePrivate(e)})),y._parser.setCsiHandler({final:"l"},(function(e){return y.resetMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"l"},(function(e){return y.resetModePrivate(e)})),y._parser.setCsiHandler({final:"m"},(function(e){return y.charAttributes(e)})),y._parser.setCsiHandler({final:"n"},(function(e){return y.deviceStatus(e)})),y._parser.setCsiHandler({prefix:"?",final:"n"},(function(e){return y.deviceStatusPrivate(e)})),y._parser.setCsiHandler({intermediates:"!",final:"p"},(function(e){return y.softReset(e)})),y._parser.setCsiHandler({intermediates:" ",final:"q"},(function(e){return y.setCursorStyle(e)})),y._parser.setCsiHandler({final:"r"},(function(e){return y.setScrollRegion(e)})),y._parser.setCsiHandler({final:"s"},(function(e){return y.saveCursor(e)})),y._parser.setCsiHandler({final:"t"},(function(e){return y.windowOptions(e)})),y._parser.setCsiHandler({final:"u"},(function(e){return y.restoreCursor(e)})),y._parser.setCsiHandler({intermediates:"'",final:"}"},(function(e){return y.insertColumns(e)})),y._parser.setCsiHandler({intermediates:"'",final:"~"},(function(e){return y.deleteColumns(e)})),y._parser.setExecuteHandler(s.C0.BEL,(function(){return y.bell()})),y._parser.setExecuteHandler(s.C0.LF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.VT,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.FF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.CR,(function(){return y.carriageReturn()})),y._parser.setExecuteHandler(s.C0.BS,(function(){return y.backspace()})),y._parser.setExecuteHandler(s.C0.HT,(function(){return y.tab()})),y._parser.setExecuteHandler(s.C0.SO,(function(){return y.shiftOut()})),y._parser.setExecuteHandler(s.C0.SI,(function(){return y.shiftIn()})),y._parser.setExecuteHandler(s.C1.IND,(function(){return y.index()})),y._parser.setExecuteHandler(s.C1.NEL,(function(){return y.nextLine()})),y._parser.setExecuteHandler(s.C1.HTS,(function(){return y.tabSet()})),y._parser.setOscHandler(0,new g.OscHandler((function(e){y.setTitle(e),y.setIconName(e)}))),y._parser.setOscHandler(1,new g.OscHandler((function(e){return y.setIconName(e)}))),y._parser.setOscHandler(2,new g.OscHandler((function(e){return y.setTitle(e)}))),y._parser.setEscHandler({final:"7"},(function(){return y.saveCursor()})),y._parser.setEscHandler({final:"8"},(function(){return y.restoreCursor()})),y._parser.setEscHandler({final:"D"},(function(){return y.index()})),y._parser.setEscHandler({final:"E"},(function(){return y.nextLine()})),y._parser.setEscHandler({final:"H"},(function(){return y.tabSet()})),y._parser.setEscHandler({final:"M"},(function(){return y.reverseIndex()})),y._parser.setEscHandler({final:"="},(function(){return y.keypadApplicationMode()})),y._parser.setEscHandler({final:">"},(function(){return y.keypadNumericMode()})),y._parser.setEscHandler({final:"c"},(function(){return y.fullReset()})),y._parser.setEscHandler({final:"n"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"o"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"|"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"}"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"~"},(function(){return y.setgLevel(1)})),y._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return y.selectDefaultCharset()})),y._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return y.selectDefaultCharset()}));var b=function(e){S._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),S._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),S._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),S._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),S._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),S._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),S._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},S=this;for(var C in a.CHARSETS)b(C);return y._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return y.screenAlignmentPattern()})),y._parser.setErrorHandler((function(e){return y._logService.error("Parsing error: ",e),e})),y._parser.setDcsHandler({intermediates:"$",final:"q"},new m(y._bufferService,y._coreService,y._logService,y._optionsService)),y}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.parse=function(e){var t=this._bufferService.buffer,r=t.x,i=t.y;if(this._logService.debug("parsing data",e),this._parseBuffer.length131072)for(var n=0;n0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p=c)if(l){for(;o.x=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.addCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.addCsiHandler(e,t):this._parser.addCsiHandler(e,(function(e){return!S(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.addDcsHandler=function(e,t){return this._parser.addDcsHandler(e,new y.DcsHandler(t))},t.prototype.addEscHandler=function(e,t){return this._parser.addEscHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._parser.addOscHandler(e,new g.OscHandler(t))},t.prototype.bell=function(){this._onRequestBell.fire()},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire()},t.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(t.x>0&&t.x--);if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}this._restrictCursor()},t.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var e=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e)}},t.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},t.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1))},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1)},t.prototype.cursorForward=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.cursorBackward=function(e){this._moveCursor(-(e.params[0]||1),0)},t.prototype.cursorNextLine=function(e){this.cursorDown(e),this._bufferService.buffer.x=0},t.prototype.cursorPrecedingLine=function(e){this.cursorUp(e),this._bufferService.buffer.x=0},t.prototype.cursorCharAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.cursorPosition=function(e){this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1)},t.prototype.charPosAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.hPositionRelative=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.linePosAbsolute=function(e){this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1)},t.prototype.vPositionRelative=function(e){this._moveCursor(0,e.params[0]||1)},t.prototype.hVPosition=function(e){this.cursorPosition(e)},t.prototype.tabClear=function(e){var t=e.params[0];0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={})},t.prototype.cursorForwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},t.prototype.cursorBackwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop()},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.yr.scrollBottom||r.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.yt.scrollBottom||t.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c"))},t.prototype.sendDeviceAttributesSecondary=function(e){e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c"))},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg);for(var t,r=e.length,i=this._curAttrData,n=0;n=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t)},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}},t.prototype.softReset=function(e){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;this._optionsService.options.cursorBlink=r},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0))},t.prototype.windowOptions=function(e){if(S(e.params[0],this._optionsService.options.windowOptions)){var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},t.prototype.saveCursor=function(e){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},t.prototype.restoreCursor=function(e){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},t.prototype.setTitle=function(e){this._windowTitle=e,this._onTitleChange.fire(e)},t.prototype.setIconName=function(e){this._iconName=e},t.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},t.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},t.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},t.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET)},t.prototype.selectCharset=function(e){2===e.length?"/"!==e[0]&&this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET):this.selectDefaultCharset()},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor()},t.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor()},t.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){this._charsetService.setgLevel(e)},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>2147483647?2147483647:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>2147483647?2147483647:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var r=this._digitIsSub?this._subParams:this.params,i=r[t-1];r[t-1]=~i?Math.min(10*i+e,2147483647):e}},e}();t.Params=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(22),n=r(8),o=function(){function e(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},e.prototype._start=function(){var e=this._handlers[this._id];if(e)for(var t=e.length-1;t>=0;t--)e[t].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype._end=function(e){var t=this._handlers[this._id];if(t){for(var r=t.length-1;r>=0&&!1===t[r].end(e);r--);for(r--;r>=0;r--)t[r].end(!1)}else this._handlerFb(this._id,"END",e)},e.prototype.start=function(){this.reset(),this._id=-1,this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,r)}},e.prototype.end=function(e){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(e)),this._id=-1,this._state=0)},e}();t.OscParser=o;var s=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data)),this._data="",this._hitLimit=!1,t},e}();t.OscHandler=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(8),n=r(20),o=r(22),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e){if(this._active.length){for(var t=this._active.length-1;t>=0&&!1===this._active[t].unhook(e);t--);for(t--;t>=0;t--)this._active[t].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.clone(),this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data,this._params?this._params:new n.Params)),this._params=void 0,this._data="",this._hitLimit=!1,t},e}();t.DcsHandler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(25),n=r(42),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l1)for(var u=this._getJoinedRanges(i,a,o,t,n),f=0;f1)for(u=this._getJoinedRanges(i,a,o,t,n),f=0;f=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.addCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.addDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.addEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.addOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(35),s=r(36),a=r(37),c=r(12),l=r(18),h=r(39),u=r(49),f=r(50),_=r(11),d=r(7),p=r(17),v=r(53),g=r(54),y=r(55),b=r(56),S=r(58),m=r(0),C=r(16),w=r(26),E=r(59),L=r(5),A=r(60),R=r(61),k=r(62),x=r(63),D=r(64),T="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new m.EventEmitter,r._onKey=new m.EventEmitter,r._onRender=new m.EventEmitter,r._onSelectionChange=new m.EventEmitter,r._onTitleChange=new m.EventEmitter,r._onFocus=new m.EventEmitter,r._onBlur=new m.EventEmitter,r._onA11yCharEmitter=new m.EventEmitter,r._onA11yTabEmitter=new m.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(k.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestScroll((function(e,t){return r.scroll(e,t||void 0)}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(m.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(m.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(m.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(m.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t,r,i;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._renderService)||void 0===t||t.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(r=this.element)||void 0===r?void 0:r.parentNode)||void 0===i||i.removeChild(this.element))},t.prototype._setup=function(){e.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(t.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),t.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},t.prototype._updateOptions=function(t){var r,i,n,o;switch(e.prototype._updateOptions.call(this,t),t){case"fontFamily":case"fontSize":null===(r=this._renderService)||void 0===r||r.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(n=this.viewport)||void 0===n||n.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},t.prototype._onTextAreaFocus=function(e){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},t.prototype.blur=function(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()},t.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},t.prototype._initGlobal=function(){var e=this;this._bindKeys(),this.register(d.addDisposableDomListener(this.element,"copy",(function(t){e.hasSelection()&&a.copyHandler(t,e._selectionService)})));var t=function(t){return a.handlePasteEvent(t,e.textarea,e._coreService)};this.register(d.addDisposableDomListener(this.textarea,"paste",t)),this.register(d.addDisposableDomListener(this.element,"paste",t)),_.isFirefox?this.register(d.addDisposableDomListener(this.element,"mousedown",(function(t){2===t.button&&a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))):this.register(d.addDisposableDomListener(this.element,"contextmenu",(function(t){a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))),_.isLinux&&this.register(d.addDisposableDomListener(this.element,"auxclick",(function(t){1===t.button&&a.moveTextAreaUnderMouseCursor(t,e.textarea,e.screenElement)})))},t.prototype._bindKeys=function(){var e=this;this.register(d.addDisposableDomListener(this.textarea,"keyup",(function(t){return e._keyUp(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keydown",(function(t){return e._keyDown(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keypress",(function(t){return e._keyPress(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"compositionstart",(function(){return e._compositionHelper.compositionstart()}))),this.register(d.addDisposableDomListener(this.textarea,"compositionupdate",(function(t){return e._compositionHelper.compositionupdate(t)}))),this.register(d.addDisposableDomListener(this.textarea,"compositionend",(function(){return e._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return e._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(t){return e._queueLinkification(t.start,t.end)})))},t.prototype.open=function(e){var t=this;if(!e)throw new Error("Terminal requires a parent element.");T.body.contains(e)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);var r=T.createDocumentFragment();this._viewportElement=T.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this._viewportScrollArea=T.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=T.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=T.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement),this.textarea=T.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),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(d.addDisposableDomListener(this.textarea,"focus",(function(e){return t._onTextAreaFocus(e)}))),this.register(d.addDisposableDomListener(this.textarea,"blur",(function(){return t._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(x.CoreBrowserService,this.textarea);this._instantiationService.setService(L.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(A.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(L.ICharSizeService,this._charSizeService),this._compositionView=T.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(r),this._theme=this.options.theme||this._theme,this._colorManager=new w.ColorManager(T,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(e){return t._colorManager.onOptionsChange(e)}))),this._colorManager.setTheme(this._theme);var n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(L.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(e){return t._onRender.fire(e)}))),this.onResize((function(e){return t._renderService.resize(e.cols,e.rows)})),this._soundService=this._instantiationService.createInstance(v.SoundService),this._instantiationService.setService(L.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(R.MouseService),this._instantiationService.setService(L.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(s.Viewport,(function(e,r){return t.scrollLines(e,r)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return t.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){return t._renderService.onCursorMove()}))),this.register(this.onResize((function(){return t._renderService.onResize(t.cols,t.rows)}))),this.register(this.onBlur((function(){return t._renderService.onBlur()}))),this.register(this.onFocus((function(){return t._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return t.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(f.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(L.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(e){return t.scrollLines(e.amount,e.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return t._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(e){return t._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(e){t.textarea.value=e,t.textarea.focus(),t.textarea.select()}))),this.register(this.onScroll((function(){t.viewport.syncScrollArea(),t._selectionService.refresh()}))),this.register(d.addDisposableDomListener(this._viewportElement,"scroll",(function(){return t._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(g.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return t._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(d.addDisposableDomListener(this.element,"mousedown",(function(e){return t._selectionService.onMouseDown(e)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},t.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(h.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(b.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error('Unrecognized rendererType "'+this.options.rendererType+'"')}},t.prototype._setTheme=function(e){var t,r,i;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(r=this._renderService)||void 0===r||r.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},t.prototype.bindMouse=function(){var e=this,t=this,r=this.element;function i(e){var r,i,n=t._mouseService.getRawByteCoords(e,t.screenElement,t.cols,t.rows);if(!n)return!1;switch(e.overrideType||e.type){case"mousemove":i=32,void 0===e.buttons?(r=3,void 0!==e.button&&(r=e.button<3?e.button:3)):r=1&e.buttons?0:4&e.buttons?1:2&e.buttons?2:3;break;case"mouseup":i=0,r=e.button<3?e.button:3;break;case"mousedown":i=1,r=e.button<3?e.button:3;break;case"wheel":0!==e.deltaY&&(i=e.deltaY<0?0:1),r=4;break;default:return!1}return!(void 0===i||void 0===r||r>4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e))&&(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),!0)},t.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){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(var e=1;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(5),s=r(1),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._charSizeService=n,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,this._clearTextareaPosition(),e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){if(t._isSendingComposition){t._isSendingComposition=!1;var e=void 0;e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start),t._coreService.triggerDataEvent(e,!0)}}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&e._coreService.triggerDataEvent(r,!0)}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*r,n=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},e.prototype._clearTextareaPosition=function(){this._textarea.style.left="",this._textarea.style.top=""},e=i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,o.ICharSizeService),n(5,s.ICoreService)],e)}();t.CompositionHelper=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t,!0)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},t=o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},function(e,t,r){"use strict";function i(e){return e.replace(/\r?\n/g,"\r")}function n(e,t){return t?"[200~"+e+"[201~":e}function o(e,t,r){e=n(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function s(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.position="absolute",t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus(),setTimeout((function(){t.style.position="",t.style.width="",t.style.height="",t.style.left="",t.style.top="",t.style.zIndex=""}),200)}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=n,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=s,t.rightClickHandler=function(e,t,r,i,n){s(e,t,r),n&&!i.isClickInSelection(e)&&i.selectWordAtCursor(e),t.value=i.selectionText,t.select()}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(2),s=r(15),a=r(20),c=r(21),l=r(23),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;in||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return r<<=8,r|=o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.addEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setEscHandler=function(e,t){this._escHandlers[this._identifier(e,[48,126])]=[t]},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.addCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setCsiHandler=function(e,t){this._csiHandlers[this._identifier(e)]=[t]},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.addDcsHandler=function(e,t){return this._dcsParser.addHandler(this._identifier(e),t)},r.prototype.setDcsHandler=function(e,t){this._dcsParser.setHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.addOscHandler=function(e,t){return this._oscParser.addHandler(e,t)},r.prototype.setOscHandler=function(e,t){this._oscParser.setHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},r.prototype.parse=function(e,t){for(var r=0,i=0,n=this.currentState,o=this._oscParser,s=this._dcsParser,a=this._collect,c=this._params,l=this._transitions.table,h=0;h>4){case 2:for(var u=h+1;;++u){if(u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:h,code:r,currentState:n,collect:a,params:c,abort:!1}).abort)return;break;case 7:for(var f=this._csiHandlers[a<<8|r],_=f?f.length-1:-1;_>=0&&!1===f[_](c);_--);_<0&&this._csiHandlerFb(a<<8|r,c),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(r-48)}}while(++h47&&r<60);h--;break;case 9:a<<=8,a|=r;break;case 10:for(var d=this._escHandlers[a<<8|r],p=d?d.length-1:-1;p>=0&&!1===d[p]();p--);p<0&&this._escHandlerFb(a<<8|r),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),a=0;break;case 12:s.hook(a<<8|r,c);break;case 13:for(var v=h+1;;++v)if(v>=t||24===(r=e[v])||26===r||27===r||r>127&&r<160){s.put(e,h,v),h=v-1;break}break;case 14:s.unhook(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var g=h+1;;g++)if(g>=t||(r=e[g])<32||r>127&&r<=159){o.put(e,h,g),h=g-1;break}break;case 6:o.end(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0}n=15&i}this._collect=a,this.currentState=n},r}(o.Disposable);t.EscapeSequenceParser=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(40),c=r(46),l=r(47),h=r(48),u=r(28),f=r(2),_=r(5),d=r(1),p=r(24),v=r(0),g=1,y=function(e){function t(t,r,i,n,o,s,f,_,d){var p=e.call(this)||this;p._colors=t,p._screenElement=r,p._bufferService=o,p._charSizeService=s,p._optionsService=f,p._id=g++,p._onRequestRedraw=new v.EventEmitter;var y=p._optionsService.options.allowTransparency;return p._characterJoinerRegistry=new u.CharacterJoinerRegistry(p._bufferService),p._renderLayers=[new a.TextRenderLayer(p._screenElement,0,p._colors,p._characterJoinerRegistry,y,p._id,p._bufferService,f),new c.SelectionRenderLayer(p._screenElement,1,p._colors,p._id,p._bufferService,f),new h.LinkRenderLayer(p._screenElement,2,p._colors,p._id,i,n,p._bufferService,f),new l.CursorRenderLayer(p._screenElement,3,p._colors,p._id,p._onRequestRedraw,p._bufferService,f,_,d)],p.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},p._devicePixelRatio=window.devicePixelRatio,p._updateDimensions(),p.onOptionsChanged(),p}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._renderLayers.forEach((function(e){return e.dispose()})),e.prototype.dispose.call(this),p.removeTerminalFromCache(this._id)},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._bufferService.cols,this._bufferService.rows))},t.prototype.setColors=function(e){var t=this;this._colors=e,this._renderLayers.forEach((function(e){e.setColors(t._colors),e.reset()}))},t.prototype.onResize=function(e,t){var r=this;this._updateDimensions(),this._renderLayers.forEach((function(e){return e.resize(r.dimensions)})),this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.onCharSizeChanged=function(){this.onResize(this._bufferService.cols,this._bufferService.rows)},t.prototype.onBlur=function(){this._runOperation((function(e){return e.onBlur()}))},t.prototype.onFocus=function(){this._runOperation((function(e){return e.onFocus()}))},t.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1),this._runOperation((function(i){return i.onSelectionChanged(e,t,r)}))},t.prototype.onCursorMove=function(){this._runOperation((function(e){return e.onCursorMove()}))},t.prototype.onOptionsChanged=function(){this._runOperation((function(e){return e.onOptionsChanged()}))},t.prototype.clear=function(){this._runOperation((function(e){return e.reset()}))},t.prototype._runOperation=function(e){this._renderLayers.forEach((function(t){return e(t)}))},t.prototype.renderRows=function(e,t){this._renderLayers.forEach((function(r){return r.onGridChanged(e,t)}))},t.prototype._updateDimensions=function(){this._charSizeService.hasValidSize&&(this.dimensions.scaledCharWidth=Math.floor(this._charSizeService.width*window.devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharTop=1===this._optionsService.options.lineHeight?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCharLeft=Math.floor(this._optionsService.options.letterSpacing/2),this.dimensions.scaledCanvasHeight=this._bufferService.rows*this.dimensions.scaledCellHeight,this.dimensions.scaledCanvasWidth=this._bufferService.cols*this.dimensions.scaledCellWidth,this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols)},t.prototype.registerCharacterJoiner=function(e){return this._characterJoinerRegistry.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._characterJoinerRegistry.deregisterCharacterJoiner(e)},t=o([s(4,d.IBufferService),s(5,_.ICharSizeService),s(6,d.IOptionsService),s(7,d.ICoreService),s(8,_.ICoreBrowserService)],t)}(f.Disposable);t.Renderer=y},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var o=r(41),s=r(13),a=r(6),c=r(3),l=r(28),h=r(4),u=function(e){function t(t,r,i,n,s,a,c,l){var u=e.call(this,t,"text",r,s,i,a,c,l)||this;return u._characterWidth=0,u._characterFont="",u._characterOverlapCache={},u._workCell=new h.CellData,u._state=new o.GridCache,u._characterJoinerRegistry=n,u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r,i){for(var n=e;n<=t;n++)for(var o=n+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(o),a=r?r.getJoinedCharacters(o):[],h=0;h0&&h===a[0][0]){f=!0;var d=a.shift();u=new l.JoinedCellData(this._workCell,s.translateToString(!0,d[0],d[1]),d[1]-d[0]),_=d[1]-1}!f&&this._isOverlapping(u)&&_this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},t}(s.BaseRenderLayer);t.TextRenderLayer=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var i=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var o=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){if(this._ctx.fillStyle=this._colors.selection.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===s?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&(e[0]===t[0]&&e[1]===t[1])},t}(r(13).BaseRenderLayer);t.SelectionRenderLayer=o},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(13),s=r(4),a=function(e){function t(t,r,i,n,o,a,c,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,a,c)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new s.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=a;var c=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),600)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(13),s=r(9),a=r(25),c=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var t=e.y1+1;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(0),s=r(1),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t));){if("break"===a())break}},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(11),c=r(51),l=r(4),h=r(0),u=r(5),f=r(1),_=r(29),d=r(52),p=r(2),v=String.fromCharCode(160),g=new RegExp(v,"g"),y=function(e){function t(t,r,i,n,o,s,a){var u=e.call(this)||this;return u._element=t,u._screenElement=r,u._bufferService=i,u._coreService=n,u._mouseService=o,u._optionsService=s,u._renderService=a,u._dragScrollAmount=0,u._enabled=!0,u._workCell=new l.CellData,u._mouseDownTimeStamp=0,u._onLinuxMouseSelection=u.register(new h.EventEmitter),u._onRedrawRequest=u.register(new h.EventEmitter),u._onSelectionChange=u.register(new h.EventEmitter),u._onRequestScrollLines=u.register(new h.EventEmitter),u._mouseMoveListener=function(e){return u._onMouseMove(e)},u._mouseUpListener=function(e){return u._onMouseUp(e)},u._coreService.onUserInput((function(){u.hasSelection&&u.clearSelection()})),u._trimListener=u._bufferService.buffer.lines.onTrim((function(e){return u._onTrim(e)})),u.register(u._bufferService.buffers.onBufferActivate((function(e){return u._onBufferActivate(e)}))),u.enable(),u._model=new c.SelectionModel(u._bufferService),u._activeSelectionMode=0,u}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;i.push(r.translateBufferLineToString(e[1],!0,e[0],s));for(n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}if(e[1]!==t[1]){c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}}return i.map((function(e){return e.replace(g," ")})).join(a.isWindows?"\r\n":"\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;(this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e)&&(this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText))},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype.isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]},t.prototype.selectWordAtCursor=function(e){var t=this._getMouseBufferCoords(e);t&&(this._selectWordAt(t,!1),this._model.selectionEnd=void 0,this.refresh(!0))},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=1,this._selectWordAt(t,!0))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500){if(e.altKey&&this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,S=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var m=n.lines.get(e[1]-1);if(m&&o.isWrapped&&32!==m.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,S+=w}}}if(i&&b+S===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(S+=L.length)}}return{start:b,length:S}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},t=o([s(2,f.IBufferService),s(3,f.ICoreService),s(4,u.IMouseService),s(5,f.IOptionsService),s(6,u.IRenderService)],t)}(p.Disposable);t.SelectionService=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var i=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(12);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c=0&&tt?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;c=n(r,i,s,a).length>0?i-o(s,i):t;if(e=r&&ce?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(1),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;re&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);t&&t.tooltipCallback&&t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n=o.x1&&r=o.x1||i===o.y2&&ro.y1&&ie;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t0)this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e);else this._charsToAnnounce+=e;"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0)}},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&this._liveRegion.parentNode&&this._accessibilityTreeRoot.removeChild(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerHTML=" ":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(57),c=r(9),l=r(2),h=r(5),u=r(1),f=r(0),_=r(10),d=1,p=function(e){function t(t,r,i,n,o,s,c,l,h){var u=e.call(this)||this;return u._colors=t,u._element=r,u._screenElement=i,u._viewportElement=n,u._linkifier=o,u._linkifier2=s,u._charSizeService=c,u._optionsService=l,u._bufferService=h,u._terminalClass=d++,u._rowElements=[],u._rowContainer=document.createElement("div"),u._rowContainer.classList.add("xterm-rows"),u._rowContainer.style.lineHeight="normal",u._rowContainer.setAttribute("aria-hidden","true"),u._refreshRowElements(u._bufferService.cols,u._bufferService.rows),u._selectionContainer=document.createElement("div"),u._selectionContainer.classList.add("xterm-selection"),u._selectionContainer.setAttribute("aria-hidden","true"),u.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},u._updateDimensions(),u._injectCss(),u._rowFactory=new a.DomRendererRowFactory(document,u._optionsService,u._colors),u._element.classList.add("xterm-dom-renderer-owner-"+u._terminalClass),u._screenElement.appendChild(u._rowContainer),u._screenElement.appendChild(u._selectionContainer),u._linkifier.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u._linkifier2.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier2.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),this._screenElement.removeChild(this._rowContainer),this._screenElement.removeChild(this._selectionContainer),this._screenElement.removeChild(this._themeStyleElement),this._screenElement.removeChild(this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){var e=this;this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this._rowElements.forEach((function(t){t.style.width=e.dimensions.canvasWidth+"px",t.style.height=e.dimensions.actualCellHeight+"px",t.style.lineHeight=e.dimensions.actualCellHeight+"px",t.style.overflow="hidden"})),this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));var t=this._terminalSelector+" .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: "+this.dimensions.actualCellWidth+"px}";this._dimensionsStyleElement.innerHTML=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.setColors=function(e){this._colors=e,this._injectCss()},t.prototype._injectCss=function(){var e=this;this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));var t=this._terminalSelector+" .xterm-rows { color: "+this._colors.foreground.css+"; font-family: "+this._optionsService.options.fontFamily+"; font-size: "+this._optionsService.options.fontSize+"px;}";t+=this._terminalSelector+" span:not(."+a.BOLD_CLASS+") { font-weight: "+this._optionsService.options.fontWeight+";}"+this._terminalSelector+" span."+a.BOLD_CLASS+" { font-weight: "+this._optionsService.options.fontWeightBold+";}"+this._terminalSelector+" span."+a.ITALIC_CLASS+" { font-style: italic;}",t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+"; } 50% { background-color: "+this._colors.cursorAccent.css+"; color: "+this._colors.cursor.css+"; }}",t+=this._terminalSelector+" .xterm-rows:not(.xterm-focus) ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { outline: 1px solid "+this._colors.cursor.css+"; outline-offset: -1px;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+":not(."+a.CURSOR_STYLE_BLOCK_CLASS+") { animation: blink_box_shadow_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { animation: blink_block_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+";}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BAR_CLASS+" { box-shadow: "+this._optionsService.options.cursorWidth+"px 0 0 "+this._colors.cursor.css+" inset;}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_UNDERLINE_CLASS+" { box-shadow: 0 -1px 0 "+this._colors.cursor.css+" inset;}",t+=this._terminalSelector+" .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}"+this._terminalSelector+" .xterm-selection div { position: absolute; background-color: "+this._colors.selection.css+";}",this._colors.ansi.forEach((function(r,i){t+=e._terminalSelector+" .xterm-fg-"+i+" { color: "+r.css+"; }"+e._terminalSelector+" .xterm-bg-"+i+" { background-color: "+r.css+"; }"})),t+=this._terminalSelector+" .xterm-fg-"+c.INVERTED_DEFAULT_COLOR+" { color: "+_.color.opaque(this._colors.background).css+"; }"+this._terminalSelector+" .xterm-bg-"+c.INVERTED_DEFAULT_COLOR+" { background-color: "+this._colors.foreground.css+"; }",this._themeStyleElement.innerHTML=t},t.prototype.onDevicePixelRatioChange=function(){this._updateDimensions()},t.prototype._refreshRowElements=function(e,t){for(var r=this._rowElements.length;r<=t;r++){var i=document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},t.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){this._rowElements.forEach((function(e){return e.innerHTML=""}))},t.prototype.renderRows=function(e,t){for(var r=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),n=this._optionsService.options.cursorBlink,o=e;o<=t;o++){var s=this._rowElements[o];s.innerHTML="";var a=o+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.lines.get(a),l=this._optionsService.options.cursorStyle;s.appendChild(this._rowFactory.createRow(c,a===r,l,i,n,this.dimensions.actualCellWidth,this._bufferService.cols))}},Object.defineProperty(t.prototype,"_terminalSelector",{get:function(){return".xterm-dom-renderer-owner-"+this._terminalClass},enumerable:!1,configurable:!0}),t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype._onLinkHover=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)},t.prototype._onLinkLeave=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)},t.prototype._setCellUnderline=function(e,t,r,i,n,o){for(;e!==t||r!==i;){var s=this._rowElements[r];if(!s)return;var a=s.children[e];a&&(a.style.textDecoration=o?"underline":"none"),++e>=n&&(e=0,r++)}},t=o([s(6,h.ICharSizeService),s(7,u.IOptionsService),s(8,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var i=r(9),n=r(3),o=r(4),s=r(10);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var a=function(){function e(e,t,r){this._document=e,this._optionsService=t,this._colors=r,this._workCell=new o.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,o,a,l,h,u){for(var f=this._document.createDocumentFragment(),_=0,d=Math.min(e.length,u)-1;d>=0;d--)if(e.loadCell(d,this._workCell).getCode()!==n.NULL_CELL_CODE||r&&d===a){_=d+1;break}for(d=0;d<_;d++){e.loadCell(d,this._workCell);var p=this._workCell.getWidth();if(0!==p){var v=this._document.createElement("span");if(p>1&&(v.style.width=h*p+"px"),r&&d===a)switch(v.classList.add(t.CURSOR_CLASS),l&&v.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":v.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":v.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:v.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&v.classList.add(t.BOLD_CLASS),this._workCell.isItalic()&&v.classList.add(t.ITALIC_CLASS),this._workCell.isDim()&&v.classList.add(t.DIM_CLASS),this._workCell.isUnderline()&&v.classList.add(t.UNDERLINE_CLASS),this._workCell.isInvisible()?v.textContent=n.WHITESPACE_CELL_CHAR:v.textContent=this._workCell.getChars()||n.WHITESPACE_CELL_CHAR;var g=this._workCell.getFgColor(),y=this._workCell.getFgColorMode(),b=this._workCell.getBgColor(),S=this._workCell.getBgColorMode(),m=!!this._workCell.isInverse();if(m){var C=g;g=b,b=C;var w=y;y=S,S=w}switch(y){case 16777216:case 33554432:this._workCell.isBold()&&g<8&&this._optionsService.options.drawBoldTextInBrightColors&&(g+=8),this._applyMinimumContrast(v,this._colors.background,this._colors.ansi[g])||v.classList.add("xterm-fg-"+g);break;case 50331648:var E=s.rgba.toColor(g>>16&255,g>>8&255,255&g);this._applyMinimumContrast(v,this._colors.background,E)||this._addStyle(v,"color:#"+c(g.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(v,this._colors.background,this._colors.foreground)||m&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(S){case 16777216:case 33554432:v.classList.add("xterm-bg-"+b);break;case 50331648:this._addStyle(v,"background-color:#"+c(b.toString(16),"0",6));break;case 0:default:m&&v.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}f.appendChild(v)}}return f},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=s.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},e}();function c(e,t,r){for(;e.length"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)r&&!e.altKey&&!e.ctrlKey&&e.metaKey?65===e.keyCode&&(s.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(30),c=r(0),l=r(2),h=r(31),u=r(7),f=r(1),_=r(5),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=0===e.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){this._renderer.dispose(),e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},t.prototype.registerCharacterJoiner=function(e){return this._renderer.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._renderer.deregisterCharacterJoiner(e)},t=o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(1),s=r(0),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},e=i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(5),s=r(29),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},e=i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(1),c=r(0),l=r(2),h=r(7),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;ie?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.yt.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},t=o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var i=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(2),s=r(1),a=r(65),c=r(66),l=r(67),h=r(73),u=r(74),f=r(0),_=r(75),d=r(76),p=r(77),v=r(79),g=r(80),y=r(18),b=r(81),S=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r._writeBuffer=new b.WriteBuffer((function(e){return r._inputHandler.parse(e)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e){this._writeBuffer.writeSync(e)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this._bufferService.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},t.prototype.scrollLines=function(e,t){var r=this._bufferService.buffer;if(e<0){if(0===r.ydisp)return;this._bufferService.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this._bufferService.isUserScrolling=!1);var i=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),i!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))},t.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},t.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},t.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},t.prototype.scrollToLine=function(e){var t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)},t.prototype.addEscHandler=function(e,t){return this._inputHandler.addEscHandler(e,t)},t.prototype.addDcsHandler=function(e,t){return this._inputHandler.addDcsHandler(e,t)},t.prototype.addCsiHandler=function(e,t){return this._inputHandler.addCsiHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._inputHandler.addOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.addCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){t.forEach((function(e){return e.dispose()}))}}}},t}(o.Disposable);t.CoreTerminal=S},function(e,t,r){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(1),c=r(68),l=r(0),h=r(2);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},r=o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(69),s=r(0),a=function(e){function t(t,r){var i=e.call(this)||this;return i._onBufferActivate=i.register(new s.EventEmitter),i._normal=new o.Buffer(!0,t,r),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,t,r),i._activeBuffer=i._normal,i.setupTabStops(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(2).Disposable);t.BufferSet=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(70),n=r(16),o=r(4),s=r(3),a=r(71),c=r(72),l=r(19),h=r(6);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;othis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=f.length-1,b=f[y];0===b&&(b=f[--y]);for(var S=l.length-_-1,m=u;S>=0;){var C=Math.min(m,b);if(l[y].copyCellsFrom(l[S],m-C,b-C,C,!0),0===(b-=C)&&(b=f[--y]),0===(m-=C)){S--;var w=Math.max(S,0);m=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v0;)0===this.ybase?this.y0){var L=[],A=[];for(v=0;v=0;v--)if(D&&D.start>k+T){for(var O=D.newLines.length-1;O>=0;O--)this.lines.set(v--,D.newLines[O]);v++,L.push({index:k+1,amount:D.newLines.length}),T+=D.newLines.length,D=i[++x]}else this.lines.set(v,A[k--]);var M=0;for(v=L.length-1;v>=0;v--)L[v].index+=M,this.lines.onInsertEmitter.fire(L[v]),M+=L[v].amount;var P=Math.max(0,R+o-this.lines.maxLength);P>0&&this.lines.onTrimEmitter.fire(P)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o0&&this.lines.get(t).isWrapped;)t--;for(;r+10;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.linee.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(0),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;rthis._length)for(var t=this._length;t=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;nthis._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i=a&&n0&&(S>u||0===h[S].getTrimmedLength());S--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;sl&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?r-1:r;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(0),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},t._nextId=1,t}(r(2).Disposable);t.Marker=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(0),n=r(11),o=r(32);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["cols","rows"],a=function(){function e(e){var r=this;this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS),Object.keys(e).forEach((function(t){if(t in r.options){var i=e[t];r.options[t]=i}}))}return Object.defineProperty(e.prototype,"onOptionChange",{get:function(){return this._onOptionChange.event},enumerable:!1,configurable:!0}),e.prototype.setOption=function(e,r){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');if(-1!==s.indexOf(e))throw new Error('Option "'+e+'" can only be set in the constructor');this.options[e]!==r&&(r=this._sanitizeAndValidateOption(e,r),this.options[e]!==r&&(this.options[e]=r,this._onOptionChange.fire(e)))},e.prototype._sanitizeAndValidateOption=function(e,r){switch(e){case"bellStyle":case"cursorStyle":case"fontWeight":case"fontWeightBold":case"rendererType":case"wordSeparator":r||(r=t.DEFAULT_OPTIONS[e]);break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw new Error(e+" cannot be less than 1, value: "+r);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,4294967295))<0)throw new Error(e+" cannot be less than 0, value: "+r);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw new Error(e+" cannot be less than or equal to 0, value: "+r)}return r},e.prototype.getOption=function(e){if(!(e in t.DEFAULT_OPTIONS))throw new Error('No option with key "'+e+'"');return this.options[e]},e}();t.OptionsService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(1),c=r(0),l=r(32),h=r(2),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug('sending data "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug('sending binary "'+e+'"',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},t=o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(1),s=r(0),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":""+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){var r=this;this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null,Object.keys(a).forEach((function(e){return r.addProtocol(e,a[e])})),Object.keys(h).forEach((function(e){return r.addEncoding(e,h[e])})),this.reset()}return e.prototype.addProtocol=function(e,t){this._protocols[e]=t},e.prototype.addEncoding=function(e,t){this._encodings[e]=t},Object.defineProperty(e.prototype,"activeProtocol",{get:function(){return this._activeProtocol},set:function(e){if(!this._protocols[e])throw new Error('unknown protocol "'+e+'"');this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"areMouseEventsActive",{get:function(){return 0!==this._protocols[this._activeProtocol].events},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeEncoding",{get:function(){return this._activeEncoding},set:function(e){if(!this._encodings[e])throw new Error('unknown encoding "'+e+'"');this._activeEncoding=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null},Object.defineProperty(e.prototype,"onProtocolChange",{get:function(){return this._onProtocolChange.event},enumerable:!1,configurable:!0}),e.prototype.triggerMouseEvent=function(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&(e.row===t.row&&(e.button===t.button&&(e.action===t.action&&(e.ctrl===t.ctrl&&(e.alt===t.alt&&e.shift===t.shift)))))},e=i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(1),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){ethis._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}ethis._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},e=i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(0),n=r(78),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error('unknown Unicode version "'+e+'"');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(15),o=[[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]],s=[[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]];var a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;et[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var i=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(3);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return e.prototype.writeSync=function(e){if(this._writeBuffer.length){for(var t=this._bufferOffset;t5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(){for(var e=this,t=Date.now();this._writeBuffer.length>this._bufferOffset;){var r=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(r),this._pendingData-=r.length,i&&i(),Date.now()-t>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return e._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var i=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r