From 6c5d0193dee7f9e87214093f5e4fe95ed77c4804 Mon Sep 17 00:00:00 2001 From: Xuan Sang LE Date: Fri, 22 May 2020 17:58:13 +0200 Subject: [PATCH] update all packages --- About/build/debug/main.js | 36 +- About/build/debug/package.json | 4 +- About/build/release/About.zip | Bin 2244 -> 1945 bytes About/package.json | 4 +- ActivityMonitor/build/debug/main.css | 14 + ActivityMonitor/build/debug/main.js | 132 +- ActivityMonitor/build/debug/package.json | 2 +- .../build/release/ActivityMonitor.zip | Bin 4969 -> 3159 bytes ActivityMonitor/package.json | 2 +- ActivityMonitor/project.json | 8 + LuaPlayground/build/debug/main.js | 354 +- LuaPlayground/build/debug/package.json | 2 +- LuaPlayground/build/release/LuaPlayground.zip | Bin 218315 -> 213312 bytes LuaPlayground/package.json | 2 +- MarkOn/build/debug/main.js | 243 +- MarkOn/build/debug/package.json | 2 +- MarkOn/build/release/MarkOn.zip | Bin 8403 -> 4484 bytes MarkOn/package.json | 2 +- Preview/build/debug/main.js | 14246 +--------------- Preview/build/debug/package.json | 2 +- Preview/build/release/Preview.zip | Bin 1214218 -> 939859 bytes Preview/package.json | 2 +- ShowCase/build/debug/main.js | 600 +- ShowCase/build/debug/package.json | 2 +- ShowCase/build/release/ShowCase.zip | Bin 17393 -> 9533 bytes ShowCase/package.json | 2 +- TinyEditor/build/debug/main.js | 145 +- TinyEditor/build/debug/package.json | 2 +- TinyEditor/build/release/TinyEditor.zip | Bin 4824 -> 3342 bytes TinyEditor/package.json | 2 +- packages.json | 18 +- wTerm/build/debug/main.js | 192 +- wTerm/build/debug/package.json | 2 +- wTerm/build/debug/xterm.js | 2 - wTerm/build/release/wTerm.zip | Bin 604674 -> 305866 bytes wTerm/package.json | 2 +- 36 files changed, 58 insertions(+), 15968 deletions(-) create mode 100644 ActivityMonitor/build/debug/main.css delete mode 100644 wTerm/build/debug/xterm.js diff --git a/About/build/debug/main.js b/About/build/debug/main.js index 82f0f32..f6b3ac5 100644 --- a/About/build/debug/main.js +++ b/About/build/debug/main.js @@ -1,35 +1 @@ -(function() { - void 0; - var About; - - About = class About extends this.OS.GUI.BaseApplication { - constructor(args) { - super("About", args); - } - - main() { - var me, path; - me = this; - this.container = this.find("container"); - path = "os://README.md"; - path.asFileHandle().read().then(function(txt) { - var converter; - converter = new showdown.Converter(); - return ($(me.container)).html(converter.makeHtml(txt)); - }).catch(() => { - return this.notify(__("Unable to read: {0}", path)); - }); - return this.find("btnclose").set("onbtclick", () => { - return this.quit(); - }); - } - - }; - - About.singleton = true; - - About.dependencies = ["os://scripts/showdown.min.js"]; - - this.OS.register("About", About); - -}).call(this); +(function(){var t;(t=class extends this.OS.GUI.BaseApplication{constructor(t){super("About",t)}main(){var t,n;return t=this,this.container=this.find("container"),(n="os://README.md").asFileHandle().read().then((function(n){var e;return e=new showdown.Converter,$(t.container).html(e.makeHtml(n))})).catch(()=>this.notify(__("Unable to read: {0}",n))),this.find("btnclose").set("onbtclick",()=>this.quit())}}).singleton=!0,t.dependencies=["os://scripts/showdown.min.js"],this.OS.register("About",t)}).call(this); \ No newline at end of file diff --git a/About/build/debug/package.json b/About/build/debug/package.json index b0fd893..854d9a4 100644 --- a/About/build/debug/package.json +++ b/About/build/debug/package.json @@ -1,12 +1,12 @@ { "app":"About", - "name":"__(About AntOS)", + "name":"About AntOS", "description":"AntOS about", "info":{ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"Other", "iconclass":"fa fa-question-circle", "mimes":["none"], diff --git a/About/build/release/About.zip b/About/build/release/About.zip index da38944b30c91656d5f4fe31c0476a00b52611ce..1ce279eca5ede3eee18a1da63d95739e3d0c832e 100644 GIT binary patch delta 774 zcmZuvO=uHA6wanewEiFkOTdG!YmpgPXIl{uhAjk*C_x%5p38PKN!D!Mq%&_DB!nD2 zdD@fW!IO6pLV}LK{{5+kW1p!H${Sui*#br>``5) zNsfsG8-46W$~7C)8Bl|`%zUg9L7O=HPKUY#d`GBTp7*d(zw@BM25pD3K;4aEp6<>q zPV*9BRwLiLhWo%rw(5ydTa19+7O>4Fa_KG+%6cWe8)Ie*8C;j6S-T9~|X6$S>&tm1; z>8$&99dKfpWc@=Z5V|8pv$!!1+<#wib0h0v!mayvakOThuE$F delta 1022 zcmZ`&&x_MQ6i(Y@m#s<>cUgr+hpNU-1o5!MWVVTICUIu66{Pg& zQ6wkDiwJraJ$VznN)H}9is;#YLEoD+Oz7^-I+;c84asHjQ$f)pe%u8wd#vIXm}g^Nt~Ldp)7(Sazo}k5Y}GG zJQ>E!vdQB*A^UOYlM7q8b2(|1FA@Wo9wYol5L4{6-nE60vQb~gukrtoyhIeYp6pO zGk}rpc&_vU3yQUUWmdzPE;B8tP1>Eizjvv{UGtu?Uw<=?0S8-M`03U*6kPz OXw~8S4*v - - // 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/. - _PM = this.OS.PM; - - _APP = this.OS.APP; - - ActivityMonitor = class ActivityMonitor extends this.OS.GUI.BaseApplication { - constructor(args) { - super("ActivityMonitor", args); - } - - main() { - var header; - this.scheme.set("apptitle", "Activity Monitor"); - this.grid = this.find("mygrid"); - this.on("btclick", (e) => { - var app, data, item; - if (e.id !== "btkill") { - return; - } - item = this.grid.get("selectedRow"); - if (!item) { - return; - } - data = item.get("data")[0]; - app = _PM.appByPid(data.text); - if (app) { - return app.quit(true); - } - }); - header = [ - { - width: 50, - text: "__(Pid)" - }, - { - text: "__(Name)" - }, - { - text: "__(Type)", - width: 80 - }, - { - width: 80, - text: "__(Alive (ms))" - } - ]; - this.gdata = { - processes: {}, - alive: [] - }; - this.grid.set("header", header); - return this.monitor(); - } - - monitor() { - var now; - //get all current running process - this.gdata.alive = []; - now = (new Date()).getTime(); - $.each(_PM.processes, (i, d) => { - return $.each(d, (j, a) => { - if (this.gdata.processes[a.pid]) { - this.gdata.processes[a.pid][3].text = now - a.birth; - this.gdata.processes[a.pid][3].domel.update(); //add it - } else { - this.gdata.processes[a.pid] = [ - { - text: a.pid - }, - { - icon: _APP[a.name].type === 1 ? _APP[a.name].meta.icon : a.icon, - iconclass: _APP[a.name].type === 1 ? _APP[a.name].meta.iconclass : a.iconclass, - text: a.name - }, - { - text: _APP[a.name].type === 1 ? "__(Application)" : "__(Service)" - }, - { - text: now - a.birth - } - ]; - this.grid.push(this.gdata.processes[a.pid]); - } - return this.gdata.alive.push(a.pid); - }); - }); - $.each(this.gdata.processes, (i, e) => { - if (($.inArray(Number(i), this.gdata.alive)) < 0) { - this.grid.remove(this.gdata.processes[i].domel); - this.gdata.processes[i] = void 0; - return delete this.gdata.processes[i]; - } - }); - return this.timer = setTimeout((() => { - return this.monitor(); - }), 500); - } - - cleanup(e) { - if (this.timer) { - return clearTimeout(this.timer); - } - } - - }; - - ActivityMonitor.singleton = true; - - this.OS.register("ActivityMonitor", ActivityMonitor); - -}).call(this); +(function(){var t,i,e;e=this.OS.PM,i=this.OS.APP,(t=class extends this.OS.GUI.BaseApplication{constructor(t){super("ActivityMonitor",t)}main(){var t;return this.scheme.set("apptitle","Activity Monitor"),this.grid=this.find("mygrid"),this.on("btclick",t=>{var i,s,a;if("btkill"===t.id&&(a=this.grid.get("selectedRow")))return s=a.get("data")[0],(i=e.appByPid(s.text))?i.quit(!0):void 0}),t=[{width:50,text:"__(Pid)"},{text:"__(Name)"},{text:"__(Type)",width:80},{width:80,text:"__(Alive (ms))"}],this.gdata={processes:{},alive:[]},this.grid.set("header",t),this.monitor()}monitor(){var t;return this.gdata.alive=[],t=(new Date).getTime(),$.each(e.processes,(e,s)=>$.each(s,(e,s)=>(this.gdata.processes[s.pid]?(this.gdata.processes[s.pid][3].text=t-s.birth,this.gdata.processes[s.pid][3].domel.update()):(this.gdata.processes[s.pid]=[{text:s.pid},{icon:1===i[s.name].type?i[s.name].meta.icon:s.icon,iconclass:1===i[s.name].type?i[s.name].meta.iconclass:s.iconclass,text:s.name},{text:1===i[s.name].type?"__(Application)":"__(Service)"},{text:t-s.birth}],this.grid.push(this.gdata.processes[s.pid])),this.gdata.alive.push(s.pid)))),$.each(this.gdata.processes,(t,i)=>{if($.inArray(Number(t),this.gdata.alive)<0)return this.grid.remove(this.gdata.processes[t].domel),this.gdata.processes[t]=void 0,delete this.gdata.processes[t]}),this.timer=setTimeout(()=>this.monitor(),500)}cleanup(t){if(this.timer)return clearTimeout(this.timer)}}).singleton=!0,this.OS.register("ActivityMonitor",t)}).call(this); \ No newline at end of file diff --git a/ActivityMonitor/build/debug/package.json b/ActivityMonitor/build/debug/package.json index 2ad54c7..e71743e 100644 --- a/ActivityMonitor/build/debug/package.json +++ b/ActivityMonitor/build/debug/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"System", "iconclass":"fa fa-heartbeat", "mimes":["none"] diff --git a/ActivityMonitor/build/release/ActivityMonitor.zip b/ActivityMonitor/build/release/ActivityMonitor.zip index b623b708c9c4c8a9c5f4efbe2c2b9125017d6aa5..0d168f849912374b194c4b1df3c54af616b9057f 100644 GIT binary patch literal 3159 zcmbVOPmdcl6yH*cAhb75oLsjmGt$IOSqjzc&X!cIP_?v;x{HJqqLnk_WZcepg6+v} z6y?SzfeW7i?g%c3FThto95``9;@O@*NxG~mCK_ez_t)?J-t!wAUVgK)W1g>8KMY0> z?`6MT+SxJhRoJ_&;*{l#q&m;`>Ex_SXS41p7fEr75~^vJCn!Rg=G7)fz@WL#ScEY; z<%v!s{86umQOfu<)e+u>#X$$bWA&xu;><1WR>J2_ZzcK(KG?qvn``a>got$`w zuz_Z>h?!D8Mm#P=oKdABJfUbpyPD@r)#jav*0ytM^Vs_r2g`}L_`2^lcL#%wtpD-n z<7>x|ZSxu|+a zP8o_zDVfknmO^kbMSY>49o0u?YSZ@4Pk((M0NTv^jeYtZT>3|1pk3||1N}e5&!IOYDi~e8`csjBWMSx-^5(U|HoS%L1m^`40_1p9> z0nbXyG6sxz+Fz=2#-xX9_&jmw!GZQyCd0K0dy?r=3a7bhHi~Hv*L?&BjSf^R@dN9K z38V9O0v*Z2RRvd6I3^zJ7~uI5tVRd+$UIO1-QyEOvK1OdktRI3b<3kpl~GEj#skGN z7HgI~FHW)V`<0_AqK<6vi2Y%26nH#h1pIxl81TeX#1y^n-{<7(l56jJ&kyGXB(S#v z&!XYdwzlwYFED(eX$>Ie<5jS1HlEU)ZSEW|X0Q`D*?T=;u0LBf{fy5U@^a;a?5K*7 zaWh(0eTS)VxeBP^3x}gs8%APd?%-&0~r=M)xlw4tGa3_L1%?GUigJ zYcXi;R;mnlQsgWn*{OM z?qqCWpir7zpO;7IDFKJ1FQEo+5-$2u(uMc5%*W6zYTT_M%HQwRmDkifkt{Ff?0hG6 zmDLR|TNvq4U|f{i^T2saX-Xov+w1wOIAc_l zGt>IuXsvARy`jrm$r^dJ@`-{A1)M2FbRD`v)ng@_a;5*Phx#O@S!V6{dzMTCra)*J3YVCfhvTHilZMpJ7PbK-A#y%3Fqf1%B_t2|jq&to{X2a@lhL literal 4969 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")).attr("class", "viewer")[0]; - this.offset = 10; - this.points = []; - this.preprocess(); - this.getBound(); - this.prepare(); - this.render(); - } - - canvasPoint(v) { - return new paper.Point(v[0] / this.target.resolution + this.base.x, -v[1] / this.target.resolution + this.base.y); - } - - preprocess() { - return this.points = this.target.data; - } - - getBound() { - var j, len, peak_rb, peak_tl, ref, start, v, x, y; - peak_tl = { - x: 0, - y: 0 - }; - peak_rb = { - x: 0, - y: 0 - }; - start = null; - ref = this.points; - for (j = 0, len = ref.length; j < len; j++) { - v = ref[j]; - x = v[0] / this.target.resolution; - y = v[1] / this.target.resolution; - if (x < peak_tl.x) { - peak_tl.x = x; - } - if (y < peak_tl.y) { - peak_tl.y = y; - } - if (x > peak_rb.x) { - peak_rb.x = x; - } - if (y > peak_rb.y) { - peak_rb.y = y; - } - } - this.bound = [peak_tl, peak_rb]; - this.base = { - x: 0 - this.bound[0].x + this.offset, - y: this.bound[1].y + this.offset - }; - this.width = peak_rb.x - peak_tl.x + 2 * this.offset; - return this.height = peak_rb.y - peak_tl.y + 2 * this.offset; - } - - drawPoint(v, color, size) { - // center - return new paper.Path.Circle({ - center: this.canvasPoint(v), - radius: size, - fillColor: color - }); - } - - drawGrid(size, color) { - var end, i, path, start, text, wgridsize; - wgridsize = this.target.resolution * size; - // draw y line - i = Math.ceil(this.bound[0].x / size); - while (i * size < this.bound[1].x) { - start = new paper.Point(i * size + this.base.x, -this.bound[0].y + this.base.y); - end = new paper.Point(i * size + this.base.x, -this.bound[1].y + this.base.y); - path = new paper.Path(); - path.strokeColor = color; - path.moveTo(start); - path.lineTo(end); - i++; - } - - // draw x line - i = Math.ceil(this.bound[0].y / size); - while (i * size < this.bound[1].y) { - start = new paper.Point(this.bound[0].x + this.base.x, -i * size + this.base.y); - end = new paper.Point(this.bound[1].x + this.base.x, -i * size + this.base.y); - path = new paper.Path(); - path.strokeColor = color; - path.moveTo(start); - path.lineTo(end); - i++; - } - - // draw text - text = new paper.PointText(this.bound[0].x + this.base.x, this.base.y - this.bound[1].y + this.offset); - text.justification = 'left'; - text.fillColor = '#494949'; - return text.content = `Resolution: ${this.target.resolution}, grid size: ${wgridsize} mm`; - } - - drawAxis(color) { - var end, path, start; - // x axis - path = new paper.Path(); - path.strokeColor = color; - start = new paper.Point(this.bound[0].x + this.base.x, this.base.y); - end = new paper.Point(this.bound[1].x + this.base.x, this.base.y); - path.moveTo(start); - path.lineTo(end); - // y axis - path = new paper.Path(); - path.strokeColor = color; - start = new paper.Point(this.base.x, -this.bound[0].y + this.base.y); - end = new paper.Point(this.base.x, -this.bound[1].y + this.base.y); - path.moveTo(start); - path.lineTo(end); - return this.drawPoint([0, 0], color, 3); - } - - prepare() { - var ctx; - ctx = this.el.getContext("2d"); - ctx.translate(this.base.x, this.base.y); - ctx.canvas.width = this.width; - ctx.canvas.height = this.height; - return paper.setup(this.el); - } - - //tool = new paper.Tool() - //hitOptions = { - // segments: true, - // stroke: true, - // fill: true, - // tolerance: 5 - //} - //tool.onMouseMove = (event) -> - // hitResult = paper.project.hitTest event.point, hitOptions - // return unless hitResult - // console.log hitResult - render() {} - - }; - - // sub class responsibility - PointCloudViewer = class PointCloudViewer extends DataViewer { - constructor(data) { - super(data); - } - - p2c(length, angle) { - var rad; - rad = angle * Math.PI / 180; - return [length * Math.cos(rad), length * Math.sin(rad)]; - } - - preprocess() { - var i, j, len, ref, results, v; - if (this.target.coordinate !== "polar") { - return this.points = this.target.data; - } - this.point = []; - i = 0; - ref = this.target.data; - results = []; - for (j = 0, len = ref.length; j < len; j++) { - v = ref[j]; - this.points.push(this.p2c(v, this.target.start + i * this.target.angularResolution)); - results.push(i = i + 1); - } - return results; - } - - - // point clound render - render() { - var end, j, len, path, ref, start, v; - this.drawGrid(20, "#DBDBDB"); // 20 px - this.drawAxis("#0A84FF"); - ref = this.points; - for (j = 0, len = ref.length; j < len; j++) { - v = ref[j]; - if (this.target.coordinate === "polar") { - path = new paper.Path(); - path.strokeColor = '#c2a10e'; - start = this.canvasPoint([0, 0]); - end = this.canvasPoint(v); - path.moveTo(start); - path.lineTo(end); - } - this.drawPoint(v, "red", 3); - } - return paper.view.draw(); - } - - }; - - LuaPlayground = class LuaPlayground extends this.OS.GUI.BaseApplication { - constructor(args) { - super("LuaPlayground", args); - } - - main() { - this.datarea = this.find("editorea"); - this.output = this.find("output"); - ace.config.set('basePath', '/scripts/ace'); - this.editor = ace.edit(this.datarea); - this.editor.setOptions({ - enableBasicAutocompletion: true, - enableLiveAutocompletion: true, - highlightActiveLine: true, - highlightSelectedWord: true, - behavioursEnabled: true, - wrap: true, - fontSize: "11pt", - showInvisibles: true - }); - this.editor.getSession().setUseWrapMode(true); - this.editor.session.setMode("ace/mode/lua"); - this.editor.setTheme("ace/theme/monokai"); - this.on("vboxchange", () => { - return this.editor.resize(); - }); - (this.find("log-clear")).set("onbtclick", (e) => { - return this.log("clean"); - }); - (this.find("code-run")).set("onbtclick", (e) => { - return this.run(); - }); - (this.find("code-stop")).set("onbtclick", (e) => { - if (this.socket) { - return this.socket.close(); - } - }); - this.socket = null; - return this.bindKey("CTRL-R", () => { - return this.run(); - }); - } - - menu() { - var menu; - menu = [ - { - text: "__(Code)", - child: [ - { - text: "__(Run)", - dataid: `${this.name}-Run`, - shortcut: "C-R" - } - ], - onchildselect: (e) => { - return this.run(); - } - } - ]; - return menu; - } - - log(t, m) { - var p; - if (t === "clean") { - return $(this.output).empty(); - } - p = ($("

")).attr("class", t.toLowerCase())[0]; - $(p).html(`${t}: ${m.__()}`); - ($(this.output)).append(p); - return ($(this.output)).scrollTop(this.output.scrollHeight); - } - - run() { - var value; - value = this.editor.getValue().trim(); - if (!(value && value !== "")) { - return; - } - return this.stream().then((s) => { - this.socket = s; - this.socket.onopen = () => { - //send data to server - return this.socket.send(JSON.stringify({ - code: value - })); - }; - this.socket.onmessage = (e) => { - var err, obj; - if (!e.data) { - return; - } - try { - obj = JSON.parse(e.data); - if (!this.view(obj)) { - return this.log("INFO", e.data); - } - } catch (error) { - err = error; - this.log("INFO", e.data); - return console.log(err); - } - }; - return this.socket.onclose = () => { - this.socket = null; - return console.log("socket closed"); - }; - }).catch((e) => { - return this.error(__("Unable to get websocket stream")); - }); - } - - view(obj) { - var el, p; - if (!(obj && obj.type && this[obj.type])) { - return false; - } - el = this[obj.type](obj).el; - p = ($("

")).attr("class", "info")[0]; - $(p).append(el); - ($(this.output)).append(p); - ($(this.output)).scrollTop(this.output.scrollHeight); - return true; - } - - pc(data) { - return new PointCloudViewer(data); - } - - cleanup(e) { - if (this.socket) { - return this.socket.close(); - } - } - - }; - - LuaPlayground.dependencies = ["os://scripts/ace/ace.js"]; - - this.OS.register("LuaPlayground", LuaPlayground); - -}).call(this); - +(function(){var e,i,n;e=class{constructor(t){this.target=t,this.el=$("").attr("class","viewer")[0],this.offset=10,this.points=[],this.preprocess(),this.getBound(),this.prepare(),this.render()}canvasPoint(e){return new t.Point(e[0]/this.target.resolution+this.base.x,-e[1]/this.target.resolution+this.base.y)}preprocess(){return this.points=this.target.data}getBound(){var t,e,i,n,r,s,a,o;for(n={x:0,y:0},i={x:0,y:0},t=0,e=(r=this.points).length;ti.x&&(i.x=a),o>i.y&&(i.y=o);return this.bound=[n,i],this.base={x:0-this.bound[0].x+this.offset,y:this.bound[1].y+this.offset},this.width=i.x-n.x+2*this.offset,this.height=i.y-n.y+2*this.offset}drawPoint(e,i,n){return new t.Path.Circle({center:this.canvasPoint(e),radius:n,fillColor:i})}drawGrid(e,i){var n,r,s,a,o,h;for(h=this.target.resolution*e,r=Math.ceil(this.bound[0].x/e);r*ethis.editor.resize()),this.find("log-clear").set("onbtclick",t=>this.log("clean")),this.find("code-run").set("onbtclick",t=>this.run()),this.find("code-stop").set("onbtclick",t=>{if(this.socket)return this.socket.close()}),this.socket=null,this.bindKey("CTRL-R",()=>this.run())}menu(){return[{text:"__(Code)",child:[{text:"__(Run)",dataid:this.name+"-Run",shortcut:"C-R"}],onchildselect:t=>this.run()}]}log(t,e){var i;return"clean"===t?$(this.output).empty():(i=$("

").attr("class",t.toLowerCase())[0],$(i).html(`${t}: ${e.__()}`),$(this.output).append(i),$(this.output).scrollTop(this.output.scrollHeight))}run(){var t;if((t=this.editor.getValue().trim())&&""!==t)return this.stream().then(e=>(this.socket=e,this.socket.onopen=()=>this.socket.send(JSON.stringify({code:t})),this.socket.onmessage=t=>{var e,i;if(t.data)try{if(i=JSON.parse(t.data),!this.view(i))return this.log("INFO",t.data)}catch(i){return e=i,this.log("INFO",t.data),console.log(e)}},this.socket.onclose=()=>(this.socket=null,console.log("socket closed")))).catch(t=>this.error(__("Unable to get websocket stream")))}view(t){var e,i;return!!(t&&t.type&&this[t.type])&&(e=this[t.type](t).el,i=$("

").attr("class","info")[0],$(i).append(e),$(this.output).append(i),$(this.output).scrollTop(this.output.scrollHeight),!0)}pc(t){return new n(t)}cleanup(t){if(this.socket)return this.socket.close()}}).dependencies=["os://scripts/ace/ace.js"],this.OS.register("LuaPlayground",i)}).call(this); /*! * Paper.js v0.12.0 - The Swiss Army Knife of Vector Graphics Scripting. * http://paperjs.org/ @@ -374,10 +30,4 @@ * created by Marijn Haverbeke and released under an MIT license. * */ -var paper=function(t,e){t=t||require("./node/self.js");var i=t.window,n=t.document,r=new function(){function t(t,e,r,s,a){function u(n,u){u=u||(u=o(e,n))&&(u.get?u:u.value),"string"==typeof u&&"#"===u[0]&&(u=t[u.substring(1)]||u);var c,f="function"==typeof u,d=u,_=a||f&&!u.base?u&&u.get?n in t:t[n]:null;a&&_||(f&&_&&(u.base=_),f&&s!==!1&&(c=n.match(/^([gs]et|is)(([A-Z])(.*))$/))&&(l[c[3].toLowerCase()+c[4]]=c[2]),d&&!f&&d.get&&"function"==typeof d.get&&i.isPlainObject(d)||(d={value:d,writable:!0}),(o(t,n)||{configurable:!0}).configurable&&(d.configurable=!0,d.enumerable=null!=r?r:!c),h(t,n,d))}var l={};if(e){for(var c in e)e.hasOwnProperty(c)&&!n.test(c)&&u(c);for(var c in l){var f=l[c],d=t["set"+f],_=t["get"+f]||d&&t["is"+f];!_||s!==!0&&0!==_.length||u(c,{get:_,set:d})}}return t}function i(){for(var t=0,e=arguments.length;t0||u+s0?[["dictionary",n.definitions],s]:s},deserialize:function(t,e,i,n,s){var a=t,o=!i,h=o&&t&&t.length&&"dictionary"===t[0][0];if(i=i||{},Array.isArray(t)){var u=t[0],l="dictionary"===u;if(1==t.length&&/^#/.test(u))return i.dictionary[u];u=r.exports[u],a=[];for(var c=u?1:0,f=t.length;ct.length&&(n=t.length);for(var h=0;h0){var s=e[r],a=s&&s[n];a&&a.call(this,r)}},statics:{inject:function at(t){var e=t._events;if(e){var i={};r.each(e,function(e,n){var s="string"==typeof e,a=s?e:n,o=r.capitalize(a),h=a.substring(2).toLowerCase();i[h]=s?{}:e,a="_"+a,t["get"+o]=function(){return this[a]},t["set"+o]=function(t){var e=this[a];e&&this.off(h,e),t&&this.on(h,t),this[a]=t}}),t._eventTypes=i}return at.base.apply(this,arguments)}}},a=r.extend({_class:"PaperScope",initialize:function ot(){rt=this,this.settings=new r({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=ot._id++,ot._scopes[this._id]=this;var e=ot.prototype;if(!this.support){var i=tt.getContext(1,1)||{};e.support={nativeDash:"setLineDash"in i||"mozDash"in i,nativeBlendModes:et.nativeModes},tt.release(i)}if(!this.agent){var n=t.navigator.userAgent.toLowerCase(),s=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(n)||[])[0],a="darwin"===s?"mac":s,o=e.agent=e.browser={platform:a};a&&(o[a]=!0),n.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,function(t,e,i,n,r){if(!o.chrome){var s="opera"===e?n:/^(node|trident)$/.test(e)?r:i;o.version=s,o.versionNumber=parseFloat(s),e="trident"===e?"msie":e,o.name=e,o[e]=!0}}),o.chrome&&delete o.webkit,o.atom&&delete o.chrome}},version:"0.12.0",getView:function(){var t=this.project;return t&&t._view},getPaper:function(){return this},execute:function(t,e){},install:function(t){var e=this;r.each(["project","view","tool"],function(i){r.define(t,i,{configurable:!0,get:function(){return e[i]}})});for(var i in this)!/^_/.test(i)&&this[i]&&(t[i]=this[i])},setup:function(t){return rt=this,this.project=new y(t),this},createCanvas:function(t,e){return tt.getCanvas(t,e)},activate:function(){rt=this},clear:function(){for(var t=this.projects,e=this.tools,i=t.length-1;i>=0;i--)t[i].remove();for(var i=e.length-1;i>=0;i--)e[i].remove()},remove:function(){this.clear(),delete a._scopes[this._id]},statics:new function(){function t(t){return t+="Attribute",function(e,i){return e[t](i)||e[t]("data-paper-"+i)}}return{_scopes:{},_id:0,get:function(t){return this._scopes[t]||null},getAttribute:t("get"),hasAttribute:t("has")}}}),o=r.extend(s,{initialize:function(t){this._scope=rt,this._index=this._scope[this._list].push(this)-1,!t&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var t=this._scope[this._reference];return t&&t!==this&&t.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",t),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(r.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),h=r.extend({initialize:function(t){this.precision=r.pick(t,5),this.multiplier=Math.pow(10,this.precision)},number:function(t){return this.precision<16?Math.round(t*this.multiplier)/this.multiplier:t},pair:function(t,e,i){return this.number(t)+(i||",")+this.number(e)},point:function(t,e){return this.number(t.x)+(e||",")+this.number(t.y)},size:function(t,e){return this.number(t.width)+(e||",")+this.number(t.height)},rectangle:function(t,e){return this.point(t,e)+(e||",")+this.size(t,e)}});h.instance=new h;var u=new function(){function t(t,e,i){return ti?i:t}function e(t,e,i){function n(t){var e=134217729*t,i=t-e,n=i+e,r=t-n;return[n,r]}var r=e*e-t*i,a=e*e+t*i;if(3*s(r)1e8)?o(2,-Math.round(h(t))):0}var n=[[.5773502691896257],[0,.7745966692414834],[.33998104358485626,.8611363115940526],[0,.5384693101056831,.906179845938664],[.2386191860831969,.6612093864662645,.932469514203152],[0,.4058451513773972,.7415311855993945,.9491079123427585],[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],[0,.3242534234038089,.6133714327005904,.8360311073266358,.9681602395076261],[.14887433898163122,.4333953941292472,.6794095682990244,.8650633666889845,.9739065285171717],[0,.26954315595234496,.5190961292068118,.7301520055740494,.8870625997680953,.978228658146057],[.1252334085114689,.3678314989981802,.5873179542866175,.7699026741943047,.9041172563704749,.9815606342467192],[0,.2304583159551348,.44849275103644687,.6423493394403402,.8015780907333099,.9175983992229779,.9841830547185881],[.10805494870734367,.31911236892788974,.5152486363581541,.6872929048116855,.827201315069765,.9284348836635735,.9862838086968123],[0,.20119409399743451,.3941513470775634,.5709721726085388,.7244177313601701,.8482065834104272,.937273392400706,.9879925180204854],[.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]],r=[[1],[.8888888888888888,.5555555555555556],[.6521451548625461,.34785484513745385],[.5688888888888889,.47862867049936647,.23692688505618908],[.46791393457269104,.3607615730481386,.17132449237917036],[.4179591836734694,.3818300505051189,.27970539148927664,.1294849661688697],[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626],[.3302393550012598,.31234707704000286,.26061069640293544,.1806481606948574,.08127438836157441],[.29552422471475287,.26926671930999635,.21908636251598204,.1494513491505806,.06667134430868814],[.2729250867779006,.26280454451024665,.23319376459199048,.18629021092773426,.1255803694649046,.05566856711617366],[.24914704581340277,.2334925365383548,.20316742672306592,.16007832854334622,.10693932599531843,.04717533638651183],[.2325515532308739,.22628318026289723,.2078160475368885,.17814598076194574,.13887351021978725,.09212149983772845,.04048400476531588],[.2152638534631578,.2051984637212956,.18553839747793782,.15720316715819355,.12151857068790319,.08015808715976021,.03511946033175186],[.2025782419255613,.19843148532711158,.1861610000155622,.16626920581699392,.13957067792615432,.10715922046717194,.07036604748810812,.03075324199611727],[.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096]],s=Math.abs,a=Math.sqrt,o=Math.pow,h=Math.log2||function(t){return Math.log(t)*Math.LOG2E},l=1e-12,c=1.12e-16;return{EPSILON:l,MACHINE_EPSILON:c,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,KAPPA:4*(a(2)-1)/3,isZero:function(t){return t>=-l&&t<=l},clamp:t,integrate:function(t,e,i,s){for(var a=n[s-2],o=r[s-2],h=.5*(i-e),u=h+e,l=0,c=s+1>>1,f=1&s?o[l++]*t(u):0;l0?(a=n,n=f<=r?.5*(r+a):f):(r=n,n=f>=a?.5*(r+a):f)}return t(n,r,a)},solveQuadratic:function(n,r,o,h,u,f){var d,_=1/0;if(s(n)=-c){var p=g<0?0:a(g),m=r+(r<0?-p:p);0===m?(d=o/n,_=-d):(d=m/n,_=o/m)}}var y=0,w=null==u,x=u-l,b=f+l;return isFinite(d)&&(w||d>x&&dx&&_0?1.324717957244746*Math.max(S,a(P)):S,M=v-C*I;if(M!==v){do g(M),M=0===y?v:v-w/y/(1+c);while(C*M>C*v);s(e)*v*v>s(h/v)&&(m=-h/v,p=(m-r)/v)}}var T=u.solveQuadratic(e,p,m,f,d,_),z=null==d;return isFinite(v)&&(0===T||T>0&&v!==f[0]&&v!==f[1])&&(z||v>d-l&&v<_+l)&&(f[T++]=z?v:t(v,d,_)),T}}},l={_id:1,_pools:{},get:function(t){if(t){var e=this._pools[t];return e||(e=this._pools[t]={_id:1}),e._id++}return this._id++}},c=r.extend({_class:"Point",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"x"in a?this._set(a.x||0,a.y||0):"width"in a?this._set(a.width||0,a.height||0):"angle"in a?(this._set(a.length||0,0),this.setAngle(a.angle||0)):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.x=t,this.y=e,this},equals:function(t){return this===t||t&&(this.x===t.x&&this.y===t.y||Array.isArray(t)&&this.x===t[0]&&this.y===t[1])||!1},clone:function(){return new c(this.x,this.y)},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(t){if(this.isZero()){var e=this._angle||0;this._set(Math.cos(e)*t,Math.sin(e)*t)}else{var i=t/this.getLength();u.isZero(i)&&this.getAngle(),this._set(this.x*i,this.y*i)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(t){this.setAngleInRadians.call(this,t*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var t=c.read(arguments),e=this.getLength()*t.getLength();if(u.isZero(e))return NaN;var i=this.dot(t)/e;return Math.acos(i<-1?-1:i>1?1:i)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(t){if(this._angle=t,!this.isZero()){var e=this.getLength();this._set(Math.cos(t)*e,Math.sin(t)*e)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var t=c.read(arguments);return 180*Math.atan2(this.cross(t),this.dot(t))/Math.PI},getDistance:function(){var t=c.read(arguments),e=t.x-this.x,i=t.y-this.y,n=e*e+i*i,s=r.read(arguments);return s?n:Math.sqrt(n)},normalize:function(t){t===e&&(t=1);var i=this.getLength(),n=0!==i?t/i:0,r=new c(this.x*n,this.y*n);return n>=0&&(r._angle=this._angle),r},rotate:function(t,e){if(0===t)return this.clone();t=t*Math.PI/180;var i=e?this.subtract(e):this,n=Math.sin(t),r=Math.cos(t);return i=new c(i.x*r-i.y*n,i.x*n+i.y*r),e?i.add(e):i},transform:function(t){return t?t._transformPoint(this):this},add:function(){var t=c.read(arguments);return new c(this.x+t.x,this.y+t.y)},subtract:function(){var t=c.read(arguments);return new c(this.x-t.x,this.y-t.y)},multiply:function(){var t=c.read(arguments);return new c(this.x*t.x,this.y*t.y)},divide:function(){var t=c.read(arguments);return new c(this.x/t.x,this.y/t.y)},modulo:function(){var t=c.read(arguments);return new c(this.x%t.x,this.y%t.y)},negate:function(){return new c((-this.x),(-this.y))},isInside:function(){return g.read(arguments).contains(this)},isClose:function(){var t=c.read(arguments),e=r.read(arguments);return this.getDistance(t)<=e},isCollinear:function(){var t=c.read(arguments);return c.isCollinear(this.x,this.y,t.x,t.y)},isColinear:"#isCollinear",isOrthogonal:function(){var t=c.read(arguments);return c.isOrthogonal(this.x,this.y,t.x,t.y)},isZero:function(){var t=u.isZero;return t(this.x)&&t(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(t){return this.x*(t>1&&t<4?-1:1)>=0&&this.y*(t>2?-1:1)>=0},dot:function(){var t=c.read(arguments);return this.x*t.x+this.y*t.y},cross:function(){var t=c.read(arguments);return this.x*t.y-this.y*t.x},project:function(){var t=c.read(arguments),e=t.isZero()?0:this.dot(t)/t.dot(t);return new c(t.x*e,t.y*e)},statics:{min:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.min(t.x,e.x),Math.min(t.y,e.y))},max:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.max(t.x,e.x),Math.max(t.y,e.y))},random:function(){return new c(Math.random(),Math.random())},isCollinear:function(t,e,i,n){return Math.abs(t*n-e*i)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))},isOrthogonal:function(t,e,i,n){return Math.abs(t*i+e*n)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new c(e(this.x),e(this.y))}},{})),f=c.extend({initialize:function(t,e,i,n){this._x=t,this._y=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._x=t,this._y=e,i||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),d=r.extend({_class:"Size",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"width"in a?this._set(a.width||0,a.height||0):"x"in a?this._set(a.x||0,a.y||0):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.width=t,this.height=e,this},equals:function(t){return t===this||t&&(this.width===t.width&&this.height===t.height||Array.isArray(t)&&this.width===t[0]&&this.height===t[1])||!1},clone:function(){return new d(this.width,this.height)},toString:function(){var t=h.instance;return"{ width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.width),e.number(this.height)]},add:function(){var t=d.read(arguments);return new d(this.width+t.width,this.height+t.height)},subtract:function(){var t=d.read(arguments);return new d(this.width-t.width,this.height-t.height)},multiply:function(){var t=d.read(arguments);return new d(this.width*t.width,this.height*t.height)},divide:function(){var t=d.read(arguments);return new d(this.width/t.width,this.height/t.height)},modulo:function(){var t=d.read(arguments);return new d(this.width%t.width,this.height%t.height)},negate:function(){return new d((-this.width),(-this.height))},isZero:function(){var t=u.isZero;return t(this.width)&&t(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(t,e){return new d(Math.min(t.width,e.width),Math.min(t.height,e.height))},max:function(t,e){return new d(Math.max(t.width,e.width),Math.max(t.height,e.height))},random:function(){return new d(Math.random(),Math.random())}}},r.each(["round","ceil","floor","abs"],function(t){var e=Math[t];this[t]=function(){return new d(e(this.width),e(this.height))}},{})),_=d.extend({initialize:function(t,e,i,n){this._width=t,this._height=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._width=t,this._height=e,i||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(t){this._width=t,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(t){this._height=t,this._owner[this._setter](this)}}),g=r.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(t,i,n,s){var a,o=typeof t;if("number"===o?(this._set(t,i,n,s),a=4):"undefined"===o||null===t?(this._set(0,0,0,0),a=null===t?1:0):1===arguments.length&&(Array.isArray(t)?(this._set.apply(this,t),a=1):t.x!==e||t.width!==e?(this._set(t.x||0,t.y||0,t.width||0,t.height||0),a=1):t.from===e&&t.to===e&&(this._set(0,0,0,0),r.filter(this,t),a=1)),a===e){var h,u,l=c.readNamed(arguments,"from"),f=r.peek(arguments),_=l.x,g=l.y;if(f&&f.x!==e||r.hasNamed(arguments,"to")){var v=c.readNamed(arguments,"to");h=v.x-_,u=v.y-g,h<0&&(_=v.x,h=-h),u<0&&(g=v.y,u=-u)}else{var p=d.read(arguments);h=p.width,u=p.height}this._set(_,g,h,u),a=arguments.__index;var m=arguments.__filtered;m&&(this.__filtered=m)}return this.__read&&(this.__read=a),this},set:"#initialize",_set:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},clone:function(){return new g(this.x,this.y,this.width,this.height)},equals:function(t){var e=r.isPlainValue(t)?g.read(arguments):t;return e===this||e&&this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height||!1},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+", width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y),e.number(this.width),e.number(this.height)]},getPoint:function(t){var e=t?c:f;return new e(this.x,this.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.x=t.x,this.y=t.y},getSize:function(t){var e=t?d:_;return new e(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var t=d.read(arguments),e=this._sx,i=this._sy,n=t.width,r=t.height;e&&(this.x+=(this.width-n)*e),i&&(this.y+=(this.height-r)*i),this.width=n,this.height=r,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(t){if(!this._fw){var e=t-this.x;this.width-=.5===this._sx?2*e:e}this.x=t,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(t){if(!this._fh){var e=t-this.y;this.height-=.5===this._sy?2*e:e}this.y=t,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(t){if(!this._fw){var e=t-this.x;this.width=.5===this._sx?2*e:e}this.x=t-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(t){if(!this._fh){var e=t-this.y;this.height=.5===this._sy?2*e:e}this.y=t-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(t){this._fw||.5===this._sx?this.x=t-this.width/2:(this._sx&&(this.x+=2*(t-this.x)*this._sx),this.width=2*(t-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(t){this._fh||.5===this._sy?this.y=t-this.height/2:(this._sy&&(this.y+=2*(t-this.y)*this._sy),this.height=2*(t-this.y)),this._sy=.5,this._fh=0},getCenter:function(t){var e=t?c:f;return new e(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var t=c.read(arguments);return this.setCenterX(t.x),this.setCenterY(t.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(t){return t&&t.width!==e||4===(Array.isArray(t)?t:arguments).length?this._containsRectangle(g.read(arguments)):this._containsPoint(c.read(arguments))},_containsPoint:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e<=this.x+this.width&&i<=this.y+this.height},_containsRectangle:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e+t.width<=this.x+this.width&&i+t.height<=this.y+this.height},intersects:function(){var t=g.read(arguments),e=r.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.x=4&&(t[1]+=n?"Y":"X");var r=t[n?0:1],s=t[n?1:0],a="get"+r,o="get"+s,h="set"+r,u="set"+s,l="get"+i,d="set"+i;this[l]=function(t){var e=t?c:f;return new e(this[a](),this[o](),this,d)},this[d]=function(){var t=c.read(arguments);this[h](t.x),this[u](t.y)}},{beans:!0})),v=g.extend({initialize:function(t,e,i,n,r,s){this._set(t,e,i,n,!0),this._owner=r,this._setter=s},_set:function(t,e,i,n,r){return this._x=t,this._y=e,this._width=i,this._height=n,r||this._owner[this._setter](this),this}},new function(){var t=g.prototype;return r.each(["x","y","width","height"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._dontNotify||this._owner[this._setter](this)}},r.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(e){var i="set"+e;this[i]=function(){this._dontNotify=!0,t[i].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}},{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(t){var e=this._owner;e._changeSelection&&e._changeSelection(2,t)}}))}),p=r.extend({_class:"Matrix",initialize:function ht(t,e){var i=arguments.length,n=!0;if(i>=6?this._set.apply(this,arguments):1===i||2===i?t instanceof ht?this._set(t._a,t._b,t._c,t._d,t._tx,t._ty,e):Array.isArray(t)?this._set.apply(this,e?t.concat([e]):t):n=!1:i?n=!1:this.reset(),!n)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(t,e,i,n,r,s,a){return this._a=t,this._b=e,this._c=i,this._d=n,this._tx=r,this._ty=s,a||this._changed(),this},_serialize:function(t,e){return r.serialize(this.getValues(),t,!0,e)},_changed:function(){var t=this._owner;t&&(t._applyMatrix?t.transform(null,!0):t._changed(25))},clone:function(){return new p(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(t){return t===this||t&&this._a===t._a&&this._b===t._b&&this._c===t._c&&this._d===t._d&&this._tx===t._tx&&this._ty===t._ty},toString:function(){var t=h.instance;return"[["+[t.number(this._a),t.number(this._c),t.number(this._tx)].join(", ")+"], ["+[t.number(this._b),t.number(this._d),t.number(this._ty)].join(", ")+"]]"},reset:function(t){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,t||this._changed(),this},apply:function(t,e){var i=this._owner;return!!i&&(i.transform(null,!0,r.pick(t,!0),e),this.isIdentity())},translate:function(){var t=c.read(arguments),e=t.x,i=t.y;return this._tx+=e*this._a+i*this._c,this._ty+=e*this._b+i*this._d,this._changed(),this},scale:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});return e&&this.translate(e),this._a*=t.x,this._b*=t.x,this._c*=t.y,this._d*=t.y,e&&this.translate(e.negate()),this._changed(), -this},rotate:function(t){t*=Math.PI/180;var e=c.read(arguments,1),i=e.x,n=e.y,r=Math.cos(t),s=Math.sin(t),a=i-i*r+n*s,o=n-i*s-n*r,h=this._a,u=this._b,l=this._c,f=this._d;return this._a=r*h+s*l,this._b=r*u+s*f,this._c=-s*h+r*l,this._d=-s*u+r*f,this._tx+=a*h+o*l,this._ty+=a*u+o*f,this._changed(),this},shear:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});e&&this.translate(e);var i=this._a,n=this._b;return this._a+=t.y*this._c,this._b+=t.y*this._d,this._c+=t.x*i,this._d+=t.x*n,e&&this.translate(e.negate()),this._changed(),this},skew:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0}),i=Math.PI/180,n=new c(Math.tan(t.x*i),Math.tan(t.y*i));return this.shear(n,e)},append:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=t._a,o=t._c,h=t._b,u=t._d,l=t._tx,c=t._ty;this._a=a*i+h*r,this._c=o*i+u*r,this._b=a*n+h*s,this._d=o*n+u*s,this._tx+=l*i+c*r,this._ty+=l*n+c*s,e||this._changed()}return this},prepend:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=this._tx,o=this._ty,h=t._a,u=t._c,l=t._b,c=t._d,f=t._tx,d=t._ty;this._a=h*i+u*n,this._c=h*r+u*s,this._b=l*i+c*n,this._d=l*r+c*s,this._tx=h*a+u*o+f,this._ty=l*a+c*o+d,e||this._changed()}return this},appended:function(t){return this.clone().append(t)},prepended:function(t){return this.clone().prepend(t)},invert:function(){var t=this._a,e=this._b,i=this._c,n=this._d,r=this._tx,s=this._ty,a=t*n-e*i,o=null;return a&&!isNaN(a)&&isFinite(r)&&isFinite(s)&&(this._a=n/a,this._b=-e/a,this._c=-i/a,this._d=t/a,this._tx=(i*s-n*r)/a,this._ty=(e*r-t*s)/a,o=this),o},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new p(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var t=this._a*this._d-this._c*this._b;return t&&!isNaN(t)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(t,e,i){return arguments.length<3?this._transformPoint(c.read(arguments)):this._transformCoordinates(t,e,i)},_transformPoint:function(t,e,i){var n=t.x,r=t.y;return e||(e=new c),e._set(n*this._a+r*this._c+this._tx,n*this._b+r*this._d+this._ty,i)},_transformCoordinates:function(t,e,i){for(var n=0,r=2*i;ns[h]&&(s[h]=o)}return e||(e=new g),e._set(r[0],r[1],s[0]-r[0],s[1]-r[1],i)},inverseTransform:function(){return this._inverseTransform(c.read(arguments))},_inverseTransform:function(t,e,i){var n=this._a,r=this._b,s=this._c,a=this._d,o=this._tx,h=this._ty,u=n*a-r*s,l=null;if(u&&!isNaN(u)&&isFinite(o)&&isFinite(h)){var f=t.x-this._tx,d=t.y-this._ty;e||(e=new c),l=e._set((f*a-d*s)/u,(d*n-f*r)/u,i)}return l},decompose:function(){var t,e,i,n=this._a,r=this._b,s=this._c,a=this._d,o=n*a-r*s,h=Math.sqrt,u=Math.atan2,l=180/Math.PI;if(0!==n||0!==r){var f=h(n*n+r*r);t=Math.acos(n/f)*(r>0?1:-1),e=[f,o/f],i=[u(n*s+r*a,f*f),0]}else if(0!==s||0!==a){var d=h(s*s+a*a);t=Math.asin(s/d)*(a>0?1:-1),e=[o/d,d],i=[0,u(n*s+r*a,d*d)]}else t=0,i=e=[0,0];return{translation:this.getTranslation(),rotation:t*l,scaling:new c(e),skewing:new c(i[0]*l,i[1]*l)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new c(this._tx,this._ty)},getScaling:function(){return this.decompose().scaling},getRotation:function(){return this.decompose().rotation},applyToContext:function(t){this.isIdentity()||t.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},r.each(["a","b","c","d","tx","ty"],function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._changed()}},{})),m=r.extend({_class:"Line",initialize:function(t,e,i,n,r){var s=!1;arguments.length>=4?(this._px=t,this._py=e,this._vx=i,this._vy=n,s=r):(this._px=t.x,this._py=t.y,this._vx=e.x,this._vy=e.y,s=i),s||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new c(this._px,this._py)},getVector:function(){return new c(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(t,e){return m.intersect(this._px,this._py,this._vx,this._vy,t._px,t._py,t._vx,t._vy,!0,e)},getSide:function(t,e){return m.getSide(this._px,this._py,this._vx,this._vy,t.x,t.y,!0,e)},getDistance:function(t){return Math.abs(this.getSignedDistance(t))},getSignedDistance:function(t){return m.getSignedDistance(this._px,this._py,this._vx,this._vy,t.x,t.y,!0)},isCollinear:function(t){return c.isCollinear(this._vx,this._vy,t._vx,t._vy)},isOrthogonal:function(t){return c.isOrthogonal(this._vx,this._vy,t._vx,t._vy)},statics:{intersect:function(t,e,i,n,r,s,a,o,h,l){h||(i-=t,n-=e,a-=r,o-=s);var f=i*o-n*a;if(!u.isZero(f)){var d=t-r,_=e-s,g=(a*_-o*d)/f,v=(i*_-n*d)/f,p=1e-12,m=-p,y=1+p;if(l||m=1?1:g),new c(t+g*i,e+g*n)}},getSide:function(t,e,i,n,r,s,a,o){a||(i-=t,n-=e);var h=r-t,l=s-e,c=h*n-l*i;return!o&&u.isZero(c)&&(c=(h*i+h*i)/(i*i+n*n),c>=0&&c<=1&&(c=0)),c<0?-1:c>0?1:0},getSignedDistance:function(t,e,i,n,r,s,a){return a||(i-=t,n-=e),0===i?n>0?r-t:t-r:0===n?i<0?s-e:e-s:((r-t)*n-(s-e)*i)/Math.sqrt(i*i+n*n)},getDistance:function(t,e,i,n,r,s,a){return Math.abs(m.getSignedDistance(t,e,i,n,r,s,a))}}}),y=o.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(t){o.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new V(null,null,this),this._view=U.create(this,t||tt.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(t,e){return r.serialize(this._children,t,!0,e)},_changed:function(t,e){if(1&t){var i=this._view;i&&(i._needsUpdate=!0,!i._requested&&i._autoUpdate&&i.requestUpdate())}var n=this._changes;if(n&&e){var r=this._changesById,s=e._id,a=r[s];a?a.flags|=t:n.push(r[s]={item:e,flags:t})}},clear:function(){for(var t=this._children,e=t.length-1;e>=0;e--)t[e].remove()},isEmpty:function(){return!this._children.length},remove:function ut(){return!!ut.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(t){this._currentStyle.set(t)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new b({project:this,insert:!0})},getSymbolDefinitions:function(){var t=[],e={};return this.getItems({"class":P,match:function(i){var n=i._definition,r=n._id;return e[r]||(e[r]=!0,t.push(n)),!1}}),t},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var t=this._selectionItems,e=[];for(var i in t){var n=t[i],r=n._selection;1&r&&n.isInserted()?e.push(n):r||this._updateSelection(n)}return e},_updateSelection:function(t){var e=t._id,i=this._selectionItems;t._selection?i[e]!==t&&(this._selectionCount++,i[e]=t):i[e]===t&&(this._selectionCount--,delete i[e])},selectAll:function(){for(var t=this._children,e=0,i=t.length;e0){t.save(),t.strokeWidth=1;var h=this._selectionItems,u=this._scope.settings.handleSize,l=this._updateVersion;for(var f in h)h[f]._drawSelection(t,e,u,h,l);t.restore()}}}),w=r.extend(s,{statics:{extend:function lt(t){return t._serializeFields&&(t._serializeFields=r.set({},this.prototype._serializeFields,t._serializeFields)),lt.base.apply(this,arguments)},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new p,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var t=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return r.each(t,function(t){this._events[t]={install:function(t){this.getView()._countItemEvent(t,1)},uninstall:function(t){this.getView()._countItemEvent(t,-1)}}},{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:t}})},{initialize:function(){},_initialize:function(t,i){var n=t&&r.isPlainObject(t),s=n&&t.internal===!0,a=this._matrix=new p,o=n&&t.project||rt.project,h=rt.settings;return this._id=s?null:l.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&h.applyMatrix,i&&a.translate(i),a._owner=this,this._style=new V(o._currentStyle,this,o),s||n&&0==t.insert||!h.insertItems&&(!n||t.insert!==!0)?this._setProject(o):(n&&t.parent||o)._insertItem(e,this,!0),n&&t!==w.NO_INSERT&&this.set(t,{internal:!0,insert:!0,project:!0,parent:!0}),n},_serialize:function(t,e){function i(i){for(var a in i){var o=s[a];r.equals(o,"leading"===a?1.2*i.fontSize:i[a])||(n[a]=r.serialize(o,t,"data"!==a,e))}}var n={},s=this;return i(this._serializeFields),this instanceof x||i(this._style._defaults),[this._class,n]},_changed:function(t){var i=this._symbol,n=this._parent||i,r=this._project;8&t&&(this._bounds=this._position=this._decomposed=e),16&t&&(this._globalMatrix=e),n&&72&t&&w._clearBoundsCache(n),2&t&&w._clearBoundsCache(this),r&&r._changed(t,this),i&&i._changed(t)},getId:function(){return this._id},getName:function(){return this._name},setName:function(t){if(this._name&&this._removeNamed(),t===+t+"")throw new Error("Names consisting only of numbers are not supported.");var i=this._getOwner();if(t&&i){var n=i._children,r=i._namedChildren;(r[t]=r[t]||[]).push(this),t in n||(n[t]=this)}this._name=t||e,this._changed(256)},getStyle:function(){return this._style},setStyle:function(t){this.getStyle().set(t)}},r.each(["locked","visible","blendMode","opacity","guide"],function(t){var e=r.capitalize(t),i="_"+t,n={locked:256,visible:265};this["get"+e]=function(){return this[i]},this["set"+e]=function(e){e!=this[i]&&(this[i]=e,this._changed(n[t]||257))}},{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(t){if(t!==this._selection){this._selection=t;var e=this._project;e&&(e._updateSelection(this),this._changed(257))}},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){if(this._selectChildren)for(var t=this._children,e=0,i=t.length;e=0;i--)if(e[i].contains(t))return!0;return!1}return t.isInside(this.getInternalBounds())},isInside:function(){return g.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new L.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(t,e){return t instanceof w&&this._asPathItem().getIntersections(t._asPathItem(),null,e,!0).length>0}},new function(){function t(){return this._hitTest(c.read(arguments),M.getOptions(arguments))}function e(){var t=c.read(arguments),e=M.getOptions(arguments),i=[];return this._hitTest(t,r.set({all:i},e)),i}function i(t,e,i,n){var r=this._children;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s],o=a!==n&&a._hitTest(t,e,i);if(o&&!e.all)return o}return null}return y.inject({hitTest:t,hitTestAll:e,_hitTest:i}),{hitTest:t,hitTestAll:e,_hitTestChildren:i}},{_hitTest:function(t,e,i){function n(t){return t&&_&&!_(t)&&(t=null),t&&e.all&&e.all.push(t),t}function s(e,i){var n=i?l["get"+i]():g.getPosition();if(t.subtract(n).divide(u).length<=1)return new M(e,g,{name:i?r.hyphenate(i):e,point:n})}if(this._locked||!this._visible||this._guide&&!e.guides||this.isEmpty())return null;var a=this._matrix,o=i?i.appended(a):this.getGlobalMatrix().prepend(this.getView()._matrix),h=Math.max(e.tolerance,1e-12),u=e._tolerancePadding=new d(L._getStrokePadding(h,a._shiftless().invert()));if(t=a._inverseTransform(t),!t||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(u.multiply(2))._containsPoint(t))return null;var l,c,f=!(e.guides&&!this._guide||e.selected&&!this.isSelected()||e.type&&e.type!==r.hyphenate(this._class)||e["class"]&&!(this instanceof e["class"])),_=e.match,g=this,v=e.position,p=e.center,m=e.bounds;if(f&&this._parent&&(v||p||m)){if((p||m)&&(l=this.getInternalBounds()),c=v&&s("position")||p&&s("center","Center"),!c&&m)for(var y=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],w=0;w<8&&!c;w++)c=s("bounds",y[w]);c=n(c)}return c||(c=this._hitTestChildren(t,e,o)||f&&n(this._hitTestSelf(t,e,o,this.getStrokeScaling()?null:o._shiftless().invert()))||null),c&&c.point&&(c.point=a.transform(c.point)),c},_hitTestSelf:function(t,e){if(e.fill&&this.hasFill()&&this._contains(t))return new M("fill",this)},matches:function(t,e){function i(t,e){for(var n in t)if(t.hasOwnProperty(n)){var s=t[n],a=e[n];if(r.isPlainObject(s)&&r.isPlainObject(a)){if(!i(s,a))return!1}else if(!r.equals(s,a))return!1}return!0}var n=typeof t;if("object"===n){for(var s in t)if(t.hasOwnProperty(s)&&!this.matches(s,t[s]))return!1;return!0}if("function"===n)return t(this);if("match"===t)return e(this);var a=/^(empty|editable)$/.test(t)?this["is"+r.capitalize(t)]():"type"===t?r.hyphenate(this._class):this[t];if("class"===t){if("function"==typeof e)return this instanceof e;a=this._class}if("function"==typeof e)return!!e(a);if(e){if(e.test)return e.test(a);if(r.isPlainObject(e))return i(e,a)}return r.equals(a,e)},getItems:function(t){return w._getItems(this,t,this._matrix)},getItem:function(t){return w._getItems(this,t,this._matrix,null,!0)[0]||null},statics:{_getItems:function ft(t,e,i,n,s){if(!n){var a="object"==typeof e&&e,o=a&&a.overlapping,h=a&&a.inside,u=o||h,l=u&&g.read([u]);n={items:[],recursive:a&&a.recursive!==!1,inside:!!h,overlapping:!!o,rect:l,path:o&&new L.Rectangle({rectangle:l,insert:!1})},a&&(e=r.filter({},e,{recursive:!0,inside:!0,overlapping:!0}))}var c=t._children,f=n.items,l=n.rect;i=l&&(i||new p);for(var d=0,_=c&&c.length;d<_;d++){var v=c[d],m=i&&i.appended(v._matrix),y=!0;if(l){var u=v.getBounds(m);if(!l.intersects(u))continue;l.contains(u)||n.overlapping&&(u.contains(l)||n.path.intersects(v,m))||(y=!1)}if(y&&v.matches(e)&&(f.push(v),s))break;if(n.recursive!==!1&&ft(v,e,m,n,s),s&&f.length>0)break}return f}}},{importJSON:function(t){var e=r.importJSON(t,this);return e!==this?this.addChild(e):e},addChild:function(t){return this.insertChild(e,t)},insertChild:function(t,e){var i=e?this.insertChildren(t,[e]):null;return i&&i[0]},addChildren:function(t){return this.insertChildren(this._children.length,t)},insertChildren:function(t,e){var i=this._children;if(i&&e&&e.length>0){e=r.slice(e);for(var n={},s=e.length-1;s>=0;s--){var a=e[s],o=a&&a._id;!a||n[o]?e.splice(s,1):(a._remove(!1,!0),n[o]=!0)}r.splice(i,e,t,0);for(var h=this._project,u=h._changes,s=0,l=e.length;s=0;n--)i[n]._remove(!0,!1);return i.length>0&&this._changed(11),i},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var t=0,e=this._children.length;t0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(t){return this._getOrder(t)===-1},isBelow:function(t){return 1===this._getOrder(t)},isParent:function(t){return this._parent===t},isChild:function(t){return t&&t._parent===this},isDescendant:function(t){for(var e=this;e=e._parent;)if(e===t)return!0;return!1},isAncestor:function(t){return!!t&&t.isDescendant(this)},isSibling:function(t){return this._parent===t._parent},isGroupedWith:function(t){for(var e=this._parent;e;){if(e._parent&&/^(Group|Layer|CompoundPath)$/.test(e._class)&&t.isDescendant(e))return!0;e=e._parent}return!1}},r.each(["rotate","scale","shear","skew"],function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getPosition(!0)))}},{translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},transform:function(t,e,i,n){var r=this._matrix,s=t&&!t.isIdentity(),a=(e||this._applyMatrix)&&(!r.isIdentity()||s||e&&i&&this._children);if(!s&&!a)return this;if(s){!t.isInvertible()&&r.isInvertible()&&(r._backup=r.getValues()),r.prepend(t,!0);var o=this._style,h=o.getFillColor(!0),u=o.getStrokeColor(!0);h&&h.transform(t),u&&u.transform(t)}if(a&&(a=this._transformContent(r,i,n))){var l=this._pivot;l&&r._transformPoint(l,l,!0),r.reset(!0),n&&this._canApplyMatrix&&(this._applyMatrix=!0)}var c=this._bounds,f=this._position;(s||a)&&this._changed(25);var d=s&&c&&t.decompose();if(d&&d.skewing.isZero()&&d.rotation%90===0){for(var _ in c){var g=c[_];if(g.nonscaling)delete c[_];else if(a||!g.internal){var v=g.rect;t._transformBounds(v,v)}}this._bounds=c;var p=c[this._getBoundsCacheKey(this._boundsOptions||{})];p&&(this._position=this._getPositionFromBounds(p.rect))}else s&&f&&this._pivot&&(this._position=t._transformPoint(f,f));return this},_transformContent:function(t,e,i){var n=this._children;if(n){for(var r=0,s=n.length;rr:n1&&s<4?-1:1,s>2?-1:1),o=a.multiply(r),h=o.subtract(a.multiply(n)),u=new g(i?o.add(a.multiply(i)):o,h);if(u.contains(e))return{point:h,quadrant:s}}}function e(t,e,i,n){var r=t.divide(e);return(!n||r.isInQuadrant(n))&&r.subtract(r.normalize()).multiply(e).divide(i).length<=1}return{_contains:function i(e){if("rectangle"===this._type){var n=t(this,e);return n?e.subtract(n.point).divide(this._radius).getLength()<=1:i.base.call(this,e)}return e.divide(this.size).getLength()<=.5},_hitTestSelf:function n(i,r,s,a){var o=!1,h=this._style,u=r.stroke&&h.hasStroke(),l=r.fill&&h.hasFill();if(u||l){var c=this._type,f=this._radius,d=u?h.getStrokeWidth()/2:0,_=r._tolerancePadding.add(L._getStrokePadding(d,!h.getStrokeScaling()&&a));if("rectangle"===c){var v=_.multiply(2),p=t(this,i,v);if(p)o=e(i.subtract(p.point),f,_,p.quadrant);else{var m=new g(this._size).setCenter(0,0),y=m.expand(v),w=m.expand(v.negate());o=y._containsPoint(i)&&!w._containsPoint(i)}}else o=e(i,f,_)}return o?new M(u?"stroke":"fill",this):n.base.apply(this,arguments)}}},{statics:new function(){function t(t,e,i,n,s){var a=new S(r.getNamed(s),e);return a._type=t,a._size=i,a._radius=n,a}return{Circle:function(){var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return t("circle",e,new d(2*i),i,arguments)},Rectangle:function(){var e=g.readNamed(arguments,"rectangle"),i=d.min(d.readNamed(arguments,"radius"),e.getSize(!0).divide(2));return t("rectangle",e.getCenter(!0),e.getSize(!0),i,arguments)},Ellipse:function(){var e=S._readEllipse(arguments),i=e.radius;return t("ellipse",e.center,i.multiply(2),i,arguments)},_readEllipse:function(t){var e,i;if(r.hasNamed(t,"radius"))e=c.readNamed(t,"center"),i=d.readNamed(t,"radius");else{var n=g.readNamed(t,"rectangle");e=n.getCenter(!0),i=n.getSize(!0).divide(2)}return{center:e,radius:i}}}}}),C=w.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],_smoothing:!0,initialize:function(t,i){if(!this._initialize(t,i!==e&&c.read(arguments,1))){var r="string"==typeof t?n.getElementById(t):t;r?this.setImage(r):this.setSource(t)}this._size||(this._size=new d,this._loaded=!1)},_equals:function(t){return this.getSource()===t.getSource()},copyContent:function(t){var e=t._image,i=t._canvas;if(e)this._setImage(e);else if(i){var n=tt.getCanvas(t._size);n.getContext("2d").drawImage(i,0,0),this._setImage(n)}this._crossOrigin=t._crossOrigin},getSize:function(){var t=this._size;return new _(t?t.width:0,t?t.height:0,this,"setSize")},setSize:function(){var t=d.read(arguments);if(!t.equals(this._size))if(t.width>0&&t.height>0){var e=this.getElement();this._setImage(tt.getCanvas(t)),e&&this.getContext(!0).drawImage(e,0,0,t.width,t.height)}else this._canvas&&tt.release(this._canvas),this._size=t.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(t){this.setSize(t,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(t){this.setSize(this.getWidth(),t)},getLoaded:function(){return this._loaded},isEmpty:function(){var t=this._size;return!t||0===t.width&&0===t.height},getResolution:function(){var t=this._matrix,e=new c(0,0).transform(t),i=new c(1,0).transform(t).subtract(e),n=new c(0,1).transform(t).subtract(e);return new d(72/i.getLength(),72/n.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(t){function e(t){var e=i.getView(),n=t&&t.type||"load";e&&i.responds(n)&&(rt=e._scope,i.emit(n,new G(t)))}var i=this;this._setImage(t),this._loaded?setTimeout(e,0):t&&Z.add(t,{load:function(n){i._setImage(t),e(n)},error:e})},_setImage:function(t){this._canvas&&tt.release(this._canvas),t&&t.getContext?(this._image=null,this._canvas=t,this._loaded=!0):(this._image=t,this._canvas=null,this._loaded=!!(t&&t.src&&t.complete)),this._size=new d(t?t.naturalWidth||t.width:0,t?t.naturalHeight||t.height:0),this._context=null,this._changed(1033)},getCanvas:function(){if(!this._canvas){var t=tt.getContext(this._size);try{this._image&&t.drawImage(this._image,0,0),this._canvas=t.canvas}catch(e){tt.release(t)}}return this._canvas},setCanvas:"#setImage",getContext:function(t){return this._context||(this._context=this.getCanvas().getContext("2d")),t&&(this._image=null,this._changed(1025)),this._context},setContext:function(t){this._context=t},getSource:function(){var t=this._image;return t&&t.src||this.toDataURL()},setSource:function(e){var i=new t.Image,n=this._crossOrigin;n&&(i.crossOrigin=n),i.src=e,this.setImage(i)},getCrossOrigin:function(){var t=this._image;return t&&t.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(t){this._crossOrigin=t;var e=this._image;e&&(e.crossOrigin=t)},getSmoothing:function(){return this._smoothing},setSmoothing:function(t){this._smoothing=t,this._changed(257)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var t=g.read(arguments),e=tt.getContext(t.getSize());return e.drawImage(this.getCanvas(),t.x,t.y,t.width,t.height,0,0,t.width,t.height),e.canvas},getSubRaster:function(){var t=g.read(arguments),e=new C(w.NO_INSERT);return e._setImage(this.getSubCanvas(t)),e.translate(t.getCenter().subtract(this.getSize().divide(2))),e._matrix.prepend(this._matrix),e.insertAbove(this),e},toDataURL:function(){var t=this._image,e=t&&t.src;if(/^data:/.test(e))return e;var i=this.getCanvas();return i?i.toDataURL.apply(i,arguments):null},drawImage:function(t){var e=c.read(arguments,1);this.getContext(!0).drawImage(t,e.x,e.y)},getAverageColor:function(t){var e,i;if(t?t instanceof A?(i=t,e=t.getBounds()):"object"==typeof t&&("width"in t?e=new g(t):"x"in t&&(e=new g(t.x-.5,t.y-.5,1,1))):e=this.getBounds(),!e)return null;var n=32,s=Math.min(e.width,n),a=Math.min(e.height,n),o=C._sampleContext;o?o.clearRect(0,0,n+1,n+1):o=C._sampleContext=tt.getContext(new d(n)),o.save();var h=(new p).scale(s/e.width,a/e.height).translate(-e.x,-e.y);h.applyToContext(o),i&&i.draw(o,new r({clip:!0,matrices:[h]})),this._matrix.applyToContext(o);var u=this.getElement(),l=this._size;u&&o.drawImage(u,-l.width/2,-l.height/2),o.restore();for(var c=o.getImageData(.5,.5,Math.ceil(s),Math.ceil(a)).data,f=[0,0,0],_=0,v=0,m=c.length;v0&&n.height>0&&(t.globalAlpha=this._opacity,this._setStyles(t,e,i),H.setPrefixed(t,"imageSmoothingEnabled",this._smoothing),t.drawImage(n,-this._size.width/2,-this._size.height/2))},_canComposite:function(){return!0}}),P=w.extend({_class:"SymbolItem",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!0},_serializeFields:{symbol:null},initialize:function(t,i){this._initialize(t,i!==e&&c.read(arguments,1))||this.setDefinition(t instanceof I?t:new I(t))},_equals:function(t){return this._definition===t._definition},copyContent:function(t){this.setDefinition(t._definition)},getDefinition:function(){return this._definition},setDefinition:function(t){this._definition=t,this._changed(9)},getSymbol:"#getDefinition",setSymbol:"#setDefinition",isEmpty:function(){return this._definition._item.isEmpty()},_getBounds:function(t,e){var i=this._definition._item;return i._getCachedBounds(i._matrix.prepended(t),e)},_hitTestSelf:function(t,e,i){var n=this._definition._item._hitTest(t,e,i);return n&&(n.item=this),n},_draw:function(t,e){this._definition._item.draw(t,e)}}),I=r.extend({_class:"SymbolDefinition",initialize:function(t,e){this._id=l.get(),this.project=rt.project,t&&this.setItem(t,e)},_serialize:function(t,e){return e.add(this,function(){return r.serialize([this._class,this._item],t,!1,e)})},_changed:function(t){8&t&&w._clearBoundsCache(this),1&t&&this.project._changed(t)},getItem:function(){return this._item},setItem:function(t,e){t._symbol&&(t=t.clone()),this._item&&(this._item._symbol=null),this._item=t,t.remove(),t.setSelected(!1),e||t.setPosition(new c),t._symbol=this,this._changed(9)},getDefinition:"#getItem",setDefinition:"#setItem",place:function(t){return new P(this,t)},clone:function(){return new I(this._item.clone(!1))},equals:function(t){return t===this||t&&this._item.equals(t._item)||!1}}),M=r.extend({_class:"HitResult",initialize:function(t,e,i){this.type=t,this.item=e,i&&this.inject(i)},statics:{getOptions:function(t){var e=t&&r.read(t);return r.set({type:null,tolerance:rt.settings.hitTolerance,fill:!e,stroke:!e,segments:!e,handles:!1,ends:!1,position:!1,center:!1,bounds:!1,guides:!1,selected:!1},e)}}}),T=r.extend({_class:"Segment",beans:!0,_selection:0,initialize:function(t,i,n,r,s,a){var o,h,u,l,c=arguments.length;c>0&&(null==t||"object"==typeof t?1===c&&t&&"point"in t?(o=t.point,h=t.handleIn,u=t.handleOut,l=t.selection):(o=t,h=i,u=n,l=r):(o=[t,i],h=n!==e?[n,r]:null,u=s!==e?[s,a]:null)),new z(o,this,"_point"),new z(h,this,"_handleIn"),new z(u,this,"_handleOut"),l&&this.setSelection(l)},_serialize:function(t,e){var i=this._point,n=this._selection,s=n||this.hasHandles()?[i,this._handleIn,this._handleOut]:i;return n&&s.push(n),r.serialize(s,t,!0,e)},_changed:function(t){var e=this._path;if(e){var i,n=e._curves,r=this._index;n&&(t&&t!==this._point&&t!==this._handleIn||!(i=r>0?n[r-1]:e._closed?n[n.length-1]:null)||i._changed(),t&&t!==this._point&&t!==this._handleOut||!(i=n[r])||i._changed()),e._changed(41)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(c.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(c.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(c.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var t=this._handleIn,e=this._handleOut;return!t.isZero()&&!e.isZero()&&t.isCollinear(e)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(t){var e=this._selection,i=this._path;this._selection=t=t||0,i&&t!==e&&(i._updateSelection(this,e,t),i._changed(257))},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){return!!(7&this._selection)},setSelected:function(t){this._changeSelection(7,t)},getIndex:function(){return this._index!==e?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var t=this._path,e=this._index;return t?(e>0&&!t._closed&&e===t._segments.length-1&&e--,t.getCurves()[e]||null):null},getLocation:function(){var t=this.getCurve();return t?new O(t,this===t._segment1?0:1):null},getNext:function(){var t=this._path&&this._path._segments;return t&&(t[this._index+1]||this._path._closed&&t[0])||null},smooth:function(t,i,n){var r=t||{},s=r.type,a=r.factor,o=this.getPrevious(),h=this.getNext(),u=(o||this)._point,l=this._point,f=(h||this)._point,d=u.getDistance(l),_=l.getDistance(f);if(s&&"catmull-rom"!==s){if("geometric"!==s)throw new Error("Smoothing method '"+s+"' not supported.");if(o&&h){var g=u.subtract(f),v=a===e?.4:a,p=v*d/(d+_);i||this.setHandleIn(g.multiply(p)),n||this.setHandleOut(g.multiply(p-v))}}else{var m=a===e?.5:a,y=Math.pow(d,m),w=y*y,x=Math.pow(_,m),b=x*x;if(!i&&o){var S=2*b+3*x*y+w,C=3*x*(x+y);this.setHandleIn(0!==C?new c((b*u._x+S*l._x-w*f._x)/C-l._x,(b*u._y+S*l._y-w*f._y)/C-l._y):new c)}if(!n&&h){var S=2*w+3*y*x+b,C=3*y*(y+x);this.setHandleOut(0!==C?new c((w*f._x+S*l._x-b*u._x)/C-l._x,(w*f._y+S*l._y-b*u._y)/C-l._y):new c)}}},getPrevious:function(){var t=this._path&&this._path._segments;return t&&(t[this._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var t=this._path;return t&&this._index===t._segments.length-1||!1},reverse:function(){var t=this._handleIn,e=this._handleOut,i=t.clone();t.set(e),e.set(i)},reversed:function(){return new T(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new T(this._point,this._handleIn,this._handleOut)},equals:function(t){return t===this||t&&this._class===t._class&&this._point.equals(t._point)&&this._handleIn.equals(t._handleIn)&&this._handleOut.equals(t._handleOut)||!1},toString:function(){var t=["point: "+this._point];return this._handleIn.isZero()||t.push("handleIn: "+this._handleIn),this._handleOut.isZero()||t.push("handleOut: "+this._handleOut),"{ "+t.join(", ")+" }"},transform:function(t){this._transformCoordinates(t,new Array(6),!0),this._changed()},interpolate:function(t,e,i){var n=1-i,r=i,s=t._point,a=e._point,o=t._handleIn,h=e._handleIn,u=e._handleOut,l=t._handleOut;this._point._set(n*s._x+r*a._x,n*s._y+r*a._y,!0),this._handleIn._set(n*o._x+r*h._x,n*o._y+r*h._y,!0),this._handleOut._set(n*l._x+r*u._x,n*l._y+r*u._y,!0),this._changed()},_transformCoordinates:function(t,e,i){var n=this._point,r=i&&this._handleIn.isZero()?null:this._handleIn,s=i&&this._handleOut.isZero()?null:this._handleOut,a=n._x,o=n._y,h=2;return e[0]=a,e[1]=o,r&&(e[h++]=r._x+a,e[h++]=r._y+o),s&&(e[h++]=s._x+a,e[h++]=s._y+o),t&&(t._transformCoordinates(e,e,h/2),a=e[0],o=e[1],i?(n._x=a,n._y=o,h=2,r&&(r._x=e[h++]-a,r._y=e[h++]-o),s&&(s._x=e[h++]-a,s._y=e[h++]-o)):(r||(e[h++]=a,e[h++]=o),s||(e[h++]=a,e[h++]=o))),e}}),z=c.extend({initialize:function(t,i,n){var r,s,a;if(t)if((r=t[0])!==e)s=t[1];else{var o=t;(r=o.x)===e&&(o=c.read(arguments),r=o.x),s=o.y,a=o.selected}else r=s=0;this._x=r,this._y=s,this._owner=i,i[n]=this,a&&this.setSelected(!0)},_set:function(t,e){return this._x=t,this._y=e,this._owner._changed(this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner._changed(this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner._changed(this)},isZero:function(){var t=u.isZero;return t(this._x)&&t(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){var t=this._owner;return this===t._point?1:this===t._handleIn?2:this===t._handleOut?4:0}}),k=r.extend({_class:"Curve",beans:!0,initialize:function(t,e,i,n,r,s,a,o){var h,u,l,c,f,d,_=arguments.length;3===_?(this._path=t,h=e,u=i):_?1===_?"segment1"in t?(h=new T(t.segment1),u=new T(t.segment2)):"point1"in t?(l=t.point1,f=t.handle1,d=t.handle2,c=t.point2):Array.isArray(t)&&(l=[t[0],t[1]],c=[t[6],t[7]],f=[t[2]-t[0],t[3]-t[1]],d=[t[4]-t[6],t[5]-t[7]]):2===_?(h=new T(t),u=new T(e)):4===_?(l=t,f=e,d=i,c=n):8===_&&(l=[t,e],c=[a,o],f=[i-t,n-e],d=[r-a,s-o]):(h=new T,u=new T),this._segment1=h||new T(l,null,f),this._segment2=u||new T(c,d,null)},_serialize:function(t,e){return r.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],t,!0,e)},_changed:function(){this._length=this._bounds=e},clone:function(){return new k(this._segment1,this._segment2)},toString:function(){var t=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||t.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||t.push("handle2: "+this._segment2._handleIn),t.push("point2: "+this._segment2._point),"{ "+t.join(", ")+" }"},classify:function(){return k.classify(this.getValues())},remove:function(){var t=!1;if(this._path){var e=this._segment2,i=e._handleOut;t=e.remove(),t&&this._segment1._handleOut.set(i)}return t},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(c.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(c.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(c.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(c.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index+1]||this._path._closed&&t[0])||null},getPrevious:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var t=this._path;return t&&this._segment1._index===t._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(t){this.getPoint1().setSelected(t),this.getHandle1().setSelected(t),this.getHandle2().setSelected(t),this.getPoint2().setSelected(t)},getValues:function(t){return k.getValues(this._segment1,this._segment2,t)},getPoints:function(){for(var t=this.getValues(),e=[],i=0;i<8;i+=2)e.push(new c(t[i],t[i+1]));return e}},{getLength:function(){return null==this._length&&(this._length=k.getLength(this.getValues(),0,1)),this._length},getArea:function(){return k.getArea(this.getValues())},getLine:function(){return new m(this._segment1._point,this._segment2._point)},getPart:function(t,e){return new k(k.getPart(this.getValues(),t,e))},getPartLength:function(t,e){return k.getLength(this.getValues(),t,e)},divideAt:function(t){return this.divideAtTime(t&&t.curve===this?t.time:this.getTimeAt(t))},divideAtTime:function(t,e){var i=1e-8,n=1-i,r=null;if(t>=i&&t<=n){var s=k.subdivide(this.getValues(),t),a=s[0],o=s[1],h=e||this.hasHandles(),u=this._segment1,l=this._segment2,f=this._path;h&&(u._handleOut._set(a[2]-a[0],a[3]-a[1]),l._handleIn._set(o[4]-o[6],o[5]-o[7]));var d=a[6],_=a[7],g=new T(new c(d,_),h&&new c(a[4]-d,a[5]-_),h&&new c(o[2]-d,o[3]-_));f?(f.insert(u._index+1,g),r=this.getNext()):(this._segment2=g,this._changed(),r=new k(g,l))}return r},splitAt:function(t){var e=this._path;return e?e.splitAt(t):null},splitAtTime:function(t){return this.splitAt(this.getLocationAtTime(t))},divide:function(t,i){return this.divideAtTime(t===e?.5:i?t:this.getTimeAt(t))},split:function(t,i){return this.splitAtTime(t===e?.5:i?t:this.getTimeAt(t))},reversed:function(){return new k(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(t,e,i,n){var r=t._point,s=t._handleOut,a=e._handleIn,o=e._point,h=r.x,u=r.y,l=o.x,c=o.y,f=n?[h,u,h,u,l,c,l,c]:[h,u,h+s._x,u+s._y,l+a._x,c+a._y,l,c];return i&&i._transformCoordinates(f,f,4),f},subdivide:function(t,i){var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],u=t[6],l=t[7];i===e&&(i=.5);var c=1-i,f=c*n+i*s,d=c*r+i*a,_=c*s+i*o,g=c*a+i*h,v=c*o+i*u,p=c*h+i*l,m=c*f+i*_,y=c*d+i*g,w=c*_+i*v,x=c*g+i*p,b=c*m+i*w,S=c*y+i*x;return[[n,r,f,d,m,y,b,S],[b,S,w,x,v,p,u,l]]},getMonoCurves:function(t,e){var i=[],n=e?0:1,r=t[n+0],s=t[n+2],a=t[n+4],o=t[n+6];if(r>=s==s>=a&&s>=a==a>=o||k.isStraight(t))i.push(t);else{var h=3*(s-a)-r+o,l=2*(r+a)-4*s,c=s-r,f=1e-8,d=1-f,_=[],g=u.solveQuadratic(h,l,c,_,f,d);if(g){_.sort();var v=_[0],p=k.subdivide(t,v);i.push(p[0]),g>1&&(v=(_[1]-v)/(1-v),p=k.subdivide(p[1],v),i.push(p[0])),i.push(p[1])}else i.push(t)}return i},solveCubic:function(t,e,i,n,r,s){var a=t[e],o=t[e+2],h=t[e+4],l=t[e+6],c=0;if(!(ai&&l>i&&o>i&&h>i)){var f=3*(o-a),d=3*(h-o)-f,_=l-a-f-d;c=u.solveCubic(_,d,f,a-i,n,r,s)}return c},getTimeOf:function(t,e){var i=new c(t[0],t[1]),n=new c(t[6],t[7]),r=1e-12,s=1e-7,a=e.isClose(i,r)?0:e.isClose(n,r)?1:null;if(null===a)for(var o=[e.x,e.y],h=[],u=0;u<2;u++)for(var l=k.solveCubic(t,u,o[u],h,0,1),f=0;f=0&&i<=1){var n=e.getDistance(k.getPoint(t,i),!0);if(n.999999999999?1:k.getTimeOf(t,new c(n+l*o,r+l*h))}for(var f=100,d=1/0,_=0,g=0;g<=f;g++)i(g/f);for(var v=1/(2*f);v>1e-8;)i(_-v)||i(_+v)||(v/=2);return _},getPart:function(t,e,i){var n=e>i;if(n){var r=e;e=i,i=r}return e>0&&(t=k.subdivide(t,e)[1]),i<1&&(t=k.subdivide(t,(i-e)/(1-e))[0]),n?[t[6],t[7],t[4],t[5],t[2],t[3],t[0],t[1]]:t},isFlatEnough:function(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],u=t[7],l=3*r-2*i-h,c=3*s-2*n-u,f=3*a-2*h-i,d=3*o-2*u-n;return Math.max(l*l,f*f)+Math.max(c*c,d*d)<=16*e*e},getArea:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7];return 3*((h-i)*(n+s)-(o-e)*(r+a)+r*(e-s)-n*(i-a)+h*(s+e/3)-o*(a+i/3))/20},getBounds:function(t){for(var e=t.slice(0,2),i=e.slice(),n=[0,0],r=0;r<2;r++)k._addBounds(t[r],t[r+2],t[r+4],t[r+6],r,0,e,i,n);return new g(e[0],e[1],i[0]-e[0],i[1]-e[1])},_addBounds:function(t,e,i,n,r,s,a,o,h){function l(t,e){var i=t-e,n=t+e;io[r]&&(o[r]=n)}s/=2;var c=a[r]-s,f=o[r]+s;if(tf||e>f||i>f||n>f)if(e=0&&h<=1&&u<=0&&u>=-1}}return!1},isLinear:function(t,e,i,n){var r=n.subtract(t).divide(3);return e.equals(r)&&i.negate().equals(r)}},function(t,e){this[e]=function(e){var i=this._segment1,n=this._segment2;return t(i._point,i._handleOut,n._handleIn,n._point,e)},this.statics[e]=function(e,i){var n=e[0],r=e[1],s=e[6],a=e[7];return t(new c(n,r),new c(e[2]-n,e[3]-r),new c(e[4]-s,e[5]-a),new c(s,a),i)}},{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(t){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&t>=0&&t<=1?new O(this,t):null},getTimeAt:function(t,e){return k.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getTimesWithTangent:function(){var t=c.read(arguments);return t.isZero()?[]:k.getTimesWithTangent(this.getValues(),t)},getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(c.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return k.getTimeOf(this.getValues(),c.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=c.read(arguments),e=this.getValues(),i=k.getNearestTime(e,t),n=k.getPoint(e,i);return new O(this,i,n,null,t.getDistance(n))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return r.each(t,function(t){this[t+"At"]=function(e,i){var n=this.getValues();return k[t](n,i?e:k.getTimeAt(n,e))},this[t+"AtTime"]=function(e){return k[t](this.getValues(),e)}},{statics:{_evaluateMethods:t}})},new function(){function t(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],u=9*(n-s)+3*(o-e),l=6*(e+s)-12*n,c=3*(n-e),f=9*(r-a)+3*(h-i),d=6*(i+a)-12*r,_=3*(r-i); -return function(t){var e=(u*t+l)*t+c,i=(f*t+d)*t+_;return Math.sqrt(e*e+i*i)}}function i(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,i,n){if(null==e||e<0||e>1)return null;var r=t[0],s=t[1],a=t[2],o=t[3],h=t[4],l=t[5],f=t[6],d=t[7],_=u.isZero;_(a-r)&&_(o-s)&&(a=r,o=s),_(h-f)&&_(l-d)&&(h=f,l=d);var g,v,p=3*(a-r),m=3*(h-a)-p,y=f-r-p-m,w=3*(o-s),x=3*(l-o)-w,b=d-s-w-x;if(0===i)g=0===e?r:1===e?f:((y*e+m)*e+p)*e+r,v=0===e?s:1===e?d:((b*e+x)*e+w)*e+s;else{var S=1e-8,C=1-S;if(eC?(g=3*(f-h),v=3*(d-l)):(g=(3*y*e+2*m)*e+p,v=(3*b*e+2*x)*e+w),n){0===g&&0===v&&(eC)&&(g=h-a,v=l-o);var P=Math.sqrt(g*g+v*v);P&&(g/=P,v/=P)}if(3===i){var h=6*y*e+2*m,l=6*b*e+2*x,I=Math.pow(g*g+v*v,1.5);g=0!==I?(g*l-v*h)/I:0,v=0}}return 2===i?new c(v,(-g)):new c(g,v)}return{statics:{classify:function(t){function i(t,i,n){var r=i!==e,s=r&&i>0&&i<1,a=r&&n>0&&n<1;return!r||(s||a)&&("loop"!==t||s&&a)||(t="arch",s=a=!1),{type:t,roots:s||a?s&&a?i0?Math.sqrt(b/3):Math.sqrt(-b),C=2*p;return i(b>0?x:"loop",(v+S)/C,(v-S)/C)},getLength:function(n,r,s,a){if(r===e&&(r=0),s===e&&(s=1),k.isStraight(n)){var o=n;s<1&&(o=k.subdivide(o,s)[0],r/=s),r>0&&(o=k.subdivide(o,r)[1]);var h=o[6]-o[0],l=o[7]-o[1];return Math.sqrt(h*h+l*l)}return u.integrate(a||t(n),r,s,i(r,s))},getTimeAt:function(n,r,s){function a(t){return p+=u.integrate(d,s,t,i(s,t)),s=t,p-r}if(s===e&&(s=r<0?1:0),0===r)return s;var o=Math.abs,h=1e-12,l=r>0,c=l?s:0,f=l?1:s,d=t(n),_=k.getLength(n,c,f,d),g=o(r)-_;if(o(g)h)return null;var v=r/_,p=0;return u.findRoot(a,d,s+v,c,f,32,1e-12)},getPoint:function(t,e){return n(t,e,0,!1)},getTangent:function(t,e){return n(t,e,1,!0)},getWeightedTangent:function(t,e){return n(t,e,1,!1)},getNormal:function(t,e){return n(t,e,2,!0)},getWeightedNormal:function(t,e){return n(t,e,2,!1)},getCurvature:function(t,e){return n(t,e,3,!1).x},getPeaks:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],l=-e+3*n-3*s+o,c=3*e-6*n+3*s,f=-3*e+3*n,d=-i+3*r-3*a+h,_=3*i-6*r+3*a,g=-3*i+3*r,v=1e-8,p=1-v,m=[];return u.solveCubic(9*(l*l+d*d),9*(l*c+_*d),2*(c*c+_*_)+3*(f*l+g*d),f*c+_*g,m,v,p),m.sort()}}}},new function(){function t(t,e,i,n,r,s,a){var o=!a&&i.getPrevious()===r,h=!a&&i!==r&&i.getNext()===r,u=1e-8,l=1-u;if(null!==n&&n>=(o?u:0)&&n<=(h?l:1)&&null!==s&&s>=(h?u:0)&&s<=(o?l:1)){var c=new O(i,n,null,a),f=new O(r,s,null,a);c._intersection=f,f._intersection=c,e&&!e(c)||O.insert(t,c,!0)}}function e(r,s,a,o,h,u,l,c,f,d,_,g,v){if(++f>=4096||++c>=40)return f;var p,y,w=1e-9,x=s[0],b=s[1],S=s[6],C=s[7],P=m.getSignedDistance,I=P(x,b,S,C,s[2],s[3]),M=P(x,b,S,C,s[4],s[5]),T=I*M>0?.75:4/9,z=T*Math.min(0,I,M),O=T*Math.max(0,I,M),A=P(x,b,S,C,r[0],r[1]),L=P(x,b,S,C,r[2],r[3]),N=P(x,b,S,C,r[4],r[5]),B=P(x,b,S,C,r[6],r[7]),E=i(A,L,N,B),j=E[0],F=E[1];if(0===I&&0===M&&0===A&&0===L&&0===N&&0===B||null==(p=n(j,F,z,O))||null==(y=n(j.reverse(),F.reverse(),z,O)))return f;var D=d+(_-d)*p,R=d+(_-d)*y;if(Math.max(v-g,R-D).8)if(R-D>v-g){var H=k.subdivide(r,.5),q=(D+R)/2;f=e(s,H[0],o,a,h,u,!l,c,f,g,v,D,q),f=e(s,H[1],o,a,h,u,!l,c,f,g,v,q,R)}else{var H=k.subdivide(s,.5),V=(g+v)/2;f=e(H[0],r,o,a,h,u,!l,c,f,g,V,D,R),f=e(H[1],r,o,a,h,u,!l,c,f,V,v,D,R)}else f=v-g>=w?e(s,r,o,a,h,u,!l,c,f,g,v,D,R):e(r,s,a,o,h,u,l,c,f,D,R,g,v);return f}function i(t,e,i,n){var r,s=[0,t],a=[1/3,e],o=[2/3,i],h=[1,n],u=e-(2*t+n)/3,l=i-(t+2*n)/3;if(u*l<0)r=[[s,a,h],[s,o,h]];else{var c=u/l;r=[c>=2?[s,a,h]:c<=.5?[s,o,h]:[s,a,o,h],[s,h]]}return(u||l)<0?r.reverse():r}function n(t,e,i,n){return t[0][1]n?s(e,!1,n):t[0][0]}function s(t,e,i){for(var n=t[0][0],r=t[0][1],s=1,a=t.length;s=i:h<=i)return h===i?o:n+(i-r)*(o-n)/(h-r);n=o,r=h}return null}function a(t,e,i,n,r){var s=u.isZero;if(s(n)&&s(r)){var a=k.getTimeOf(t,new c(e,i));return null===a?[]:[a]}for(var o=Math.atan2(-r,n),h=Math.sin(o),l=Math.cos(o),f=[],d=[],_=0;_<8;_+=2){var g=t[_]-e,v=t[_+1]-i;f.push(g*l-v*h,g*h+v*l)}return k.solveCubic(f,1,0,d,0,1),d}function o(e,i,n,r,s,o,h){for(var u=i[0],l=i[1],c=i[6],f=i[7],d=a(e,u,l,c-u,f-l),_=0,g=d.length;_f(n[0],n[2],n[4],n[6])&&f(i[0],i[2],i[4],i[6])-lf(n[1],n[3],n[5],n[7])&&f(i[1],i[3],i[5],i[7])-l>1,C=1&v,P=6*S,I=6*C,M=new c(i[P],i[P+1]),T=new c(n[I],n[I+1]);M.isClose(T,l)&&t(a,u,r,S,s,C)}}}return a}function f(e,i,n,r){var s=k.classify(e);if("loop"===s.type){var a=s.roots;t(n,r,i,a[0],i,a[1])}return n}function d(t,e,i,n,s,a){var o=!e;o&&(e=t);for(var h,u,c=t.length,d=e.length,_=[],g=[],v=0;v>1,P=k.getTimeOf(y[b],new c(y[S][C?6:0],y[S][C?7:1]));if(null!=P){var I=b?[C,P]:[P,C];(!w.length||n(I[0]-w[0][0])>s&&n(I[1]-w[0][1])>s)&&w.push(I)}if(x>2&&!w.length)break}if(2!==w.length)w=null;else if(!u){var M=k.getPart(t,w[0][0],w[1][0]),T=k.getPart(e,w[0][1],w[1][1]);(n(T[2]-M[2])>a||n(T[3]-M[3])>a||n(T[4]-M[4])>a||n(T[5]-M[5])>a)&&(w=null)}return w}function g(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],l=t[7],c=e.normalize(),f=c.x,d=c.y,_=3*h-9*a+9*r-3*i,g=3*l-9*o+9*s-3*n,v=6*a-12*r+6*i,p=6*o-12*s+6*n,m=3*r-3*i,y=3*s-3*n,w=2*_*d-2*g*f,x=[];if(Math.abs(w)=0&&S<=1&&x.push(S)}}else{var C=(v*v-4*_*m)*d*d+(-2*v*p+4*g*m+4*_*y)*f*d+(p*p-4*g*y)*f*f,P=v*d-p*f;if(C>=0&&0!=w){var I=Math.sqrt(C),M=-(P+I)/w,T=(-P+I)/w;M>=0&&M<=1&&x.push(M),T>=0&&T<=1&&x.push(T)}}return x}return{getIntersections:function(t){var e=this.getValues(),i=t&&t!==this&&t.getValues();return i?l(e,i,this,t,[]):f(e,this,[])},statics:{getOverlaps:_,getIntersections:d,getCurveLineIntersections:a,getTimesWithTangent:g}}}),O=r.extend({_class:"CurveLocation",initialize:function(t,e,i,n,r){if(e>=.99999999){var s=t.getNext();s&&(e=0,t=s)}this._setCurve(t),this._time=e,this._point=i||t.getPointAtTime(e),this._overlap=n,this._distance=r,this._intersection=this._next=this._previous=null},_setCurve:function(t){var e=t._path;this._path=e,this._version=e?e._version:0,this._curve=t,this._segment=null,this._segment1=t._segment1,this._segment2=t._segment2},_setSegment:function(t){this._setCurve(t.getCurve()),this._segment=t,this._time=t===this._segment1?0:1,this._point=t._point.clone()},getSegment:function(){var t=this._segment;if(!t){var e=this.getCurve(),i=this.getTime();0===i?t=e._segment1:1===i?t=e._segment2:null!=i&&(t=e.getPartLength(0,i)1?n[r-1]:r>0?n[0]:.5;d.push(k.getLength(i,e?s:0,e?1:s)/2)}function e(t,e,i){return ee&&te||t=s&&n<=a,h=r>=s&&r<=a;if(o&&h)return!this.isTouching();var u=this.getCurve(),l=na&&(u=u.getNext()),r>a&&(c=c.getNext()),!(l&&u&&f&&c))return!1;var d=[];o||(t(l,!0),t(u,!1)),h||(t(f,!0),t(c,!1));var _=this.getPoint(),g=Math.min.apply(Math,d),v=o?u.getTangentAtTime(n):u.getPointAt(g).subtract(_),p=o?v.negate():l.getPointAt(-g).subtract(_),m=h?c.getTangentAtTime(r):c.getPointAt(g).subtract(_),y=h?m.negate():f.getPointAt(-g).subtract(_),w=p.getAngle(),x=v.getAngle(),b=y.getAngle(),S=m.getAngle();return!!(o?e(w,b,S)^e(x,b,S)&&e(w,S,b)^e(x,S,b):e(b,w,x)^e(S,w,x)&&e(b,x,w)^e(S,x,w))},hasOverlap:function(){return!!this._overlap}},r.each(k._evaluateMethods,function(t){var e=t+"At";this[t]=function(){var t=this.getCurve(),i=this.getTime();return null!=i&&t&&t[e](i,!0)}},{preserve:!0}),new function(){function t(t,e,i){function n(i,n){for(var s=i+n;s>=-1&&s<=r;s+=n){var a=t[(s%r+r)%r];if(!e.getPoint().isClose(a.getPoint(),1e-7))break;if(e.equals(a))return a}return null}for(var r=t.length,s=0,a=r-1;s<=a;){var o,h=s+a>>>1,u=t[h];if(i&&(o=e.equals(u)?u:n(h,-1)||n(h,1)))return e._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=e.getPath(),c=u.getPath(),f=l!==c?l._id-c._id:e.getIndex()+e.getTime()-(u.getIndex()+u.getTime());f<0?a=h-1:s=h+1}return t.splice(s,0,e),e}return{statics:{insert:t,expand:function(e){for(var i=e.slice(),n=e.length-1;n>=0;n--)t(i,e[n]._intersection,!1);return i}}}}),A=w.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,i,n;if(r.isPlainObject(t)?(i=t.segments,e=t.pathData):Array.isArray(t)?i=t:"string"==typeof t&&(e=t),i){var s=i[0];n=s&&Array.isArray(s[0])}else e&&(n=(e.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(e));var a=n?N:L;return new a(t)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){function e(t,e){var i=+n[t];return o&&(i+=h[e]),i}function i(t){return new c(e(t,"x"),e(t+1,"y"))}var n,r,s,a=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),o=!1,h=new c,u=new c;this.clear();for(var l=0,f=a&&a.length;lu&&this[n?"removeSegments":"removeChildren"](u,h);for(var c=0;c=0&&e;h--){var u=i[h];e=!1;for(var l=s-1;l>=0&&!e;l--)u.compare(n[l])&&(a[l]||(a[l]=!0,o++),e=!0)}e=e&&o===s}return e}}),L=A.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(t){this._closed=!1,this._segments=[],this._version=0;var i=Array.isArray(t)?"object"==typeof t[0]?t:arguments:!t||t.size!==e||t.x===e&&t.point===e?null:arguments;i&&i.length>0?this.setSegments(i):(this._curves=e,this._segmentSelection=0,i||"string"!=typeof t||(this.setPathData(t),t=null)),this._initialize(!i&&t)},_equals:function(t){return this._closed===t._closed&&r.equals(this._segments,t._segments)},copyContent:function(t){this.setSegments(t._segments),this._closed=t._closed},_changed:function pt(t){if(pt.base.call(this,t),8&t){if(this._length=this._area=e,32&t)this._version++;else if(this._curves)for(var i=0,n=this._curves.length;i0&&(i(f[0],!0),p.push("z")),p.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(t){for(var e=this._segments,i=new Array(6),n=0,r=e.length;n0&&e+s-1===l?e-1:e,f=c,d=Math.min(c+s,l);t._curves&&(n.splice.apply(n,[c,0].concat(t._curves)),f+=t._curves.length);for(var o=f;o0?t-1:t},add:function(t){return arguments.length>1&&"number"!=typeof t?this._add(T.readList(arguments)):this._add([T.read(arguments)])[0]},insert:function(t,e){return arguments.length>2&&"number"!=typeof e?this._add(T.readList(arguments,1),t):this._add([T.read(arguments,1)],t)[0]},addSegment:function(){return this._add([T.read(arguments)])[0]},insertSegment:function(t){return this._add([T.read(arguments,1)],t)[0]},addSegments:function(t){return this._add(T.readList(t))},insertSegments:function(t,e){return this._add(T.readList(e),t)},removeSegment:function(t){return this.removeSegments(t,t+1)[0]||null},removeSegments:function(t,e,i){t=t||0,e=r.pick(e,this._segments.length);var n=this._segments,s=this._curves,a=n.length,o=n.splice(t,e-t),h=o.length;if(!h)return o;for(var u=0;u0&&e===a+(this._closed?1:0)?t-1:t,s=s.splice(f,h),u=s.length-1;u>=0;u--)s[u]._path=null;i&&(o._curves=s.slice(1)),this._adjustCurves(f,f)}return this._changed(41),o},clear:"#removeSegments",hasHandles:function(){for(var t=this._segments,e=0,i=t.length;e0&&this._segmentSelection===7*t},setFullySelected:function(t){t&&this._selectSegments(!0),this.setSelected(t)},setSelection:function mt(t){1&t||this._selectSegments(!1),mt.base.call(this,t)},_selectSegments:function(t){var e=this._segments,i=e.length,n=t?7:0;this._segmentSelection=n*i;for(var r=0;r0&&this.setSelected(!0)},divideAt:function(t){var e,i=this.getLocationAt(t);return i&&(e=i.getCurve().divideAt(i.getCurveOffset()))?e._segment1:null},splitAt:function(t){var e=this.getLocationAt(t),i=e&&e.index,n=e&&e.time,r=1e-8,s=1-r;n>s&&(i++,n=0);var a=this.getCurves();if(i>=0&&i=r&&a[i++].divideAtTime(n);var o,h=this.removeSegments(i,this._segments.length,!0);return this._closed?(this.setClosed(!1),o=this):(o=new L(w.NO_INSERT),o.insertAbove(this),o.copyAttributes(this)),o._add(h,0),this.addSegment(h[0]),o}return null},split:function(t,i){var n,r=i===e?t:(n=this.getCurves()[t])&&n.getLocationAtTime(i);return null!=r?this.splitAt(r):null},join:function(t,e){var i=e||0;if(t&&t!==this){var n=t._segments,r=this.getLastSegment(),s=t.getLastSegment();if(!s)return this;r&&r._point.isClose(s._point,i)&&t.reverse();var a=t.getFirstSegment();if(r&&r._point.isClose(a._point,i))r.setHandleOut(a._handleOut),this._add(n.slice(1));else{var o=this.getFirstSegment();o&&o._point.isClose(a._point,i)&&t.reverse(),s=t.getLastSegment(),o&&o._point.isClose(s._point,i)?(o.setHandleIn(s._handleIn),this._add(n.slice(0,n.length-1),0)):this._add(n.slice())}t._closed&&this._add([n[0]]),t.remove()}var h=this.getFirstSegment(),u=this.getLastSegment();return h!==u&&h._point.isClose(u._point,i)&&(h.setHandleIn(u._handleIn),u.remove(),this.setClosed(!0)),this},reduce:function(t){for(var e=this.getCurves(),i=t&&t.simplify,n=i?1e-7:0,r=e.length-1;r>=0;r--){var s=e[r];!s.hasHandles()&&(!s.hasLength(n)||i&&s.isCollinear(s.getNext()))&&s.remove()}return this},reverse:function(){this._segments.reverse();for(var t=0,e=this._segments.length;t0&&r.push(new T(i[n-1].curve.slice(6))),this.setSegments(r)},simplify:function(t){var e=new E(this).fit(t||2.5);return e&&this.setSegments(e),!!e},smooth:function(t){function i(t,e){var i=t&&t.index;if(null!=i){var r=t.path;if(r&&r!==n)throw new Error(t._class+" "+i+" of "+r+" is not part of "+n);e&&t instanceof k&&i++}else i="number"==typeof t?t:e;return Math.min(i<0&&h?i%o:i<0?i+o:i,o-1)}var n=this,r=t||{},s=r.type||"asymmetric",a=this._segments,o=a.length,h=this._closed,u=h&&r.from===e&&r.to===e,l=i(r.from,0),c=i(r.to,o-1);if(l>c)if(h)l-=o;else{var f=l;l=c,c=f}if(/^(?:asymmetric|continuous)$/.test(s)){var d="asymmetric"===s,_=Math.min,g=c-l+1,v=g-1,p=u?_(g,4):1,m=p,y=p,w=[];if(h||(m=_(1,l),y=_(1,o-c-1)),v+=m+y,v<=1)return;for(var x=0,b=l-m;x<=v;x++,b++)w[x]=a[(b<0?b+o:b)%o]._point;for(var S=w[0]._x+2*w[1]._x,C=w[0]._y+2*w[1]._y,P=2,I=v-1,M=[S],T=[C],z=[P],O=[],A=[],x=1;x=0;x--)O[x]=(M[x]-O[x+1])/z[x],A[x]=(T[x]-A[x+1])/z[x];O[v]=(3*w[v]._x-O[I])/2,A[v]=(3*w[v]._y-A[I])/2;for(var x=m,D=v-y,b=l;x<=D;x++,b++){var R=a[b<0?b+o:b],q=R._point,V=O[x]-q._x,H=A[x]-q._y;(u||xm)&&R.setHandleIn(-V,-H)}}else for(var x=l;x<=c;x++)a[x<0?x+o:x].smooth(r,!u&&x===l,!u&&x===c)},toShape:function(t){function i(t,e){var i=c[t],n=i.getNext(),r=c[e],s=r.getNext();return i._handleOut.isZero()&&n._handleIn.isZero()&&r._handleOut.isZero()&&s._handleIn.isZero()&&n._point.subtract(i._point).isCollinear(s._point.subtract(r._point))}function n(t){var e=c[t],i=e.getPrevious(),n=e.getNext();return i._handleOut.isZero()&&e._handleIn.isZero()&&e._handleOut.isZero()&&n._handleIn.isZero()&&e._point.subtract(i._point).isOrthogonal(n._point.subtract(e._point))}function r(t){var e=c[t],i=e.getNext(),n=e._handleOut,r=i._handleIn,s=.5522847498307936;if(n.isOrthogonal(r)){var a=e._point,o=i._point,h=new m(a,n,(!0)).intersect(new m(o,r,(!0)),!0);return h&&u.isZero(n.getLength()/h.subtract(a).getLength()-s)&&u.isZero(r.getLength()/h.subtract(o).getLength()-s)}return!1}function s(t,e){return c[t]._point.getDistance(c[e]._point)}if(!this._closed)return null;var a,o,h,l,c=this._segments;if(!this.hasHandles()&&4===c.length&&i(0,2)&&i(1,3)&&n(1)?(a=S.Rectangle,o=new d(s(0,3),s(0,1)),l=c[1]._point.add(c[2]._point).divide(2)):8===c.length&&r(0)&&r(2)&&r(4)&&r(6)&&i(1,5)&&i(3,7)?(a=S.Rectangle,o=new d(s(1,6),s(0,3)),h=o.subtract(new d(s(0,7),s(1,2))).divide(2),l=c[3]._point.add(c[4]._point).divide(2)):4===c.length&&r(0)&&r(1)&&r(2)&&r(3)&&(u.isZero(s(0,2)-s(1,3))?(a=S.Circle,h=s(0,2)/2):(a=S.Ellipse,h=new d(s(2,0)/2,s(3,1)/2)),l=c[1]._point),a){var f=this.getPosition(!0),_=new a({center:f,size:o,radius:h,insert:!1});return _.copyAttributes(this,!0),_._matrix.prepend(this._matrix),_.rotate(l.subtract(f).getAngle()+90),(t===e||t)&&_.insertAbove(this),_}return null},toPath:"#clone",compare:function yt(t){if(!t||t instanceof N)return yt.base.call(this,t);var e=this.getCurves(),i=t.getCurves(),n=e.length,r=i.length;if(!n||!r)return n==r;for(var s,a,o=e[0].getValues(),h=[],u=0,l=0,c=0;c0?r-1:c,a=d[0][1];break}}for(var _,g=Math.abs,v=1e-8,f=h[s];o&&f;){var d=k.getOverlaps(o,f);if(d){var p=d[0][0];if(g(p-l)=r&&(s=0),f=h[s]||i[s].getValues(),a=0),!o)return _[0]===s&&_[1]===a;continue}}}break}return!1},_hitTestSelf:function(t,e,i,n){function r(e,i){return t.subtract(e).divide(i).length<=1}function s(t,i,n){if(!e.selected||i.isSelected()){var s=t._point;if(i!==s&&(i=i.add(s)),r(i,x))return new M(n,g,{segment:t,point:i})}}function a(t,i){return(i||e.segments)&&s(t,t._point,"segment")||!i&&e.handles&&(s(t,t._handleIn,"handle-in")||s(t,t._handleOut,"handle-out"))}function o(t){f.add(t)}function h(e){var i=y||e._index>0&&e._index0||C?0:null;if(null!==P&&(P>0?(u=v.getStrokeJoin(),l=v.getStrokeCap(),c=v.getMiterLimit(),x=x.add(L._getStrokePadding(P,n))):u=l="round"),!e.ends||e.segments||y){if(e.segments||e.handles)for(var I=0;I1?h(d.getSegment())||(d=null):r(d.getPoint(),x)||(d=null)}if(!d&&"miter"===u&&m>1)for(var I=0;It)return a.getLocationAt(t-s)}if(e.length>0&&t<=this.getLength())return new O(e[e.length-1],1)}else if(t&&t.getPath&&t.getPath()===this)return t;return null},getOffsetsWithTangent:function(){var t=c.read(arguments);if(t.isZero())return[];for(var e=[],i=0,n=this.getCurves(),r=0,s=n.length;r0&&n(f[0])}return{_draw:function(t,i,n,r){function s(t){return c[(t%f+f)%f]}var a=i.dontStart,o=i.dontFinish||i.clip,h=this.getStyle(),u=h.hasFill(),l=h.hasStroke(),c=h.getDashArray(),f=!rt.support.nativeDash&&l&&c&&c.length;if(a||t.beginPath(),(u||l&&!f||o)&&(e(t,this,r),this._closed&&t.closePath()),!o&&(u||l)&&(this._setStyles(t,i,n),u&&(t.fill(h.getFillRule()),t.shadowColor="rgba(0,0,0,0)"),l)){if(f){a||t.beginPath();var d,_=new B(this,.25,32,(!1),r),g=_.length,v=-h.getDashOffset(),p=0;for(v%=g;v>0;)v-=s(p--)+s(p--);for(;v0||d>0)&&_.drawPart(t,Math.max(v,0),Math.max(d,0)),v=d+s(p++)}t.stroke()}},_drawSelected:function(i,n){i.beginPath(),e(i,this,n),i.stroke(),t(i,this._segments,n,rt.settings.handleSize)}}},new function(){function t(t){var e=t._segments;if(!e.length)throw new Error("Use a moveTo() command first");return e[e.length-1]}return{moveTo:function(){var t=this._segments;1===t.length&&this.removeSegment(0),t.length||this._add([new T(c.read(arguments))])},moveBy:function(){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(){this._add([new T(c.read(arguments))])},cubicCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=c.read(arguments),r=t(this);r.setHandleOut(e.subtract(r._point)),this._add([new T(n,i.subtract(n))])},quadraticCurveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=t(this)._point;this.cubicCurveTo(e.add(n.subtract(e).multiply(1/3)),e.add(i.subtract(e).multiply(1/3)),i)},curveTo:function(){var e=c.read(arguments),i=c.read(arguments),n=r.pick(r.read(arguments),.5),s=1-n,a=t(this)._point,o=e.subtract(a.multiply(s*s)).subtract(i.multiply(n*n)).divide(2*n*s);if(o.isNaN())throw new Error("Cannot put a curve through points with parameter = "+n); -this.quadraticCurveTo(o,i)},arcTo:function(){var e,i,n,s,a,o=Math.abs,h=Math.sqrt,l=t(this),f=l._point,_=c.read(arguments),g=r.peek(arguments),v=r.pick(g,!0);if("boolean"==typeof v)var y=f.add(_).divide(2),e=y.add(y.subtract(f).rotate(v?-90:90));else if(r.remain(arguments)<=2)e=_,_=c.read(arguments);else{var w=d.read(arguments),x=u.isZero;if(x(w.width)||x(w.height))return this.lineTo(_);var b=r.read(arguments),v=!!r.read(arguments),S=!!r.read(arguments),y=f.add(_).divide(2),C=f.subtract(y).rotate(-b),P=C.x,I=C.y,M=o(w.width),z=o(w.height),k=M*M,O=z*z,A=P*P,L=I*I,N=h(A/k+L/O);if(N>1&&(M*=N,z*=N,k=M*M,O=z*z),N=(k*O-k*L-O*A)/(k*L+O*A),o(N)<1e-12&&(N=0),N<0)throw new Error("Cannot create an arc with the given arguments");i=new c(M*I/z,-z*P/M).multiply((S===v?-1:1)*h(N)).rotate(b).add(y),a=(new p).translate(i).rotate(b).scale(M,z),s=a._inverseTransform(f),n=s.getDirectedAngle(a._inverseTransform(_)),!v&&n>0?n-=360:v&&n<0&&(n+=360)}if(e){var B=new m(f.add(e).divide(2),e.subtract(f).rotate(90),(!0)),E=new m(e.add(_).divide(2),_.subtract(e).rotate(90),(!0)),j=new m(f,_),F=j.getSide(e);if(i=B.intersect(E,!0),!i){if(!F)return this.lineTo(_);throw new Error("Cannot create an arc with the given arguments")}s=f.subtract(i),n=s.getDirectedAngle(_.subtract(i));var D=j.getSide(i,!0);0===D?n=F*o(n):F===D&&(n+=n<0?360:-360)}for(var R=1e-7,q=o(n),V=q>=360?4:Math.ceil((q-R)/90),H=n/V,Z=H*Math.PI/360,U=4/3*Math.sin(Z)/(1+Math.cos(Z)),W=[],G=0;G<=V;G++){var C=_,J=null;if(G0&&(h(t[0],y),h(t[t.length-1],y)),v},_getStrokePadding:function(t,e){if(!e)return[t,t];var i=new c(t,0).transform(e),n=new c(0,t).transform(e),r=i.getAngleInRadians(),s=i.getLength(),a=n.getLength(),o=Math.sin(r),h=Math.cos(r),u=Math.tan(r),l=Math.atan2(a*u,s),f=Math.atan2(a,u*s);return[Math.abs(s*Math.cos(l)*h+a*Math.sin(l)*o),Math.abs(a*Math.sin(f)*h+s*Math.cos(f)*o)]},_addBevelJoin:function(t,e,i,n,r,s,a,o){var h=t.getCurve(),u=h.getPrevious(),l=h.getPoint1().transform(r),f=u.getNormalAtTime(1).multiply(i).transform(s),d=h.getNormalAtTime(0).multiply(i).transform(s);if(f.getDirectedAngle(d)<0&&(f=f.negate(),d=d.negate()),o&&a(l),a(l.add(f)),"miter"===e){var _=new m(l.add(f),new c((-f.y),f.x),(!0)).intersect(new m(l.add(d),new c((-d.y),d.x),(!0)),!0);_&&l.getDistance(_)<=n*i&&a(_)}a(l.add(d))},_addSquareCap:function(t,e,i,n,r,s,a){var o=t._point.transform(n),h=t.getLocation(),u=h.getNormal().multiply(0===h.getTime()?i:-i).transform(r);"square"===e&&(a&&(s(o.subtract(u)),s(o.add(u))),o=o.add(u.rotate(-90))),s(o.add(u)),s(o.subtract(u))},getHandleBounds:function(t,e,i,n,r){var s,a,o=i.getStyle(),h=r.stroke&&o.hasStroke();if(h){var u=i._getStrokeMatrix(n,r),l=o.getStrokeWidth()/2,c=l;"miter"===o.getStrokeJoin()&&(c=l*o.getMiterLimit()),"square"===o.getStrokeCap()&&(c=Math.max(c,l*Math.SQRT2)),s=L._getStrokePadding(l,u),a=L._getStrokePadding(c,u)}for(var f=new Array(6),d=1/0,_=-d,v=d,p=_,m=0,y=t.length;m_&&(_=T),zp&&(p=k)}}return new g(d,v,_-d,p-v)}}});L.inject({statics:new function(){function t(t,e,i){var n=r.getNamed(i),s=new L(n&&0==n.insert&&w.NO_INSERT);return s._add(t),s._closed=e,s.set(n,{insert:!0})}function e(e,i,r){for(var s=new Array(4),a=0;a<4;a++){var o=n[a];s[a]=new T(o._point.multiply(i).add(e),o._handleIn.multiply(i),o._handleOut.multiply(i))}return t(s,!0,r)}var i=.5522847498307936,n=[new T([-1,0],[0,i],[0,-i]),new T([0,-1],[-i,0],[i,0]),new T([1,0],[0,-i],[0,i]),new T([0,1],[i,0],[-i,0])];return{Line:function(){return t([new T(c.readNamed(arguments,"from")),new T(c.readNamed(arguments,"to"))],!1,arguments)},Circle:function(){var t=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return e(t,new d(i),arguments)},Rectangle:function(){var e,n=g.readNamed(arguments,"rectangle"),r=d.readNamed(arguments,"radius",0,{readNull:!0}),s=n.getBottomLeft(!0),a=n.getTopLeft(!0),o=n.getTopRight(!0),h=n.getBottomRight(!0);if(!r||r.isZero())e=[new T(s),new T(a),new T(o),new T(h)];else{r=d.min(r,n.getSize(!0).divide(2));var u=r.width,l=r.height,c=u*i,f=l*i;e=[new T(s.add(u,0),null,[-c,0]),new T(s.subtract(0,l),[0,f]),new T(a.add(0,l),null,[0,-f]),new T(a.add(u,0),[-c,0],null),new T(o.subtract(u,0),null,[c,0]),new T(o.add(0,l),[0,-f],null),new T(h.subtract(0,l),null,[0,f]),new T(h.subtract(u,0),[c,0])]}return t(e,!0,arguments)},RoundRectangle:"#Rectangle",Ellipse:function(){var t=S._readEllipse(arguments);return e(t.center,t.radius,arguments)},Oval:"#Ellipse",Arc:function(){var t=c.readNamed(arguments,"from"),e=c.readNamed(arguments,"through"),i=c.readNamed(arguments,"to"),n=r.getNamed(arguments),s=new L(n&&0==n.insert&&w.NO_INSERT);return s.moveTo(t),s.arcTo(e,i),s.set(n)},RegularPolygon:function(){for(var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"sides"),n=r.readNamed(arguments,"radius"),s=360/i,a=i%3===0,o=new c(0,a?-n:n),h=a?-1:.5,u=new Array(i),l=0;l=0;s--){var a=i[s];i!==e||a instanceof L||(i=r.slice(i)),Array.isArray(a)?i[s]=new L({segments:a,insert:!1}):a instanceof N&&(i.splice.apply(i,[s,1].concat(a.removeChildren())),a.remove())}return wt.base.call(this,t,i)},reduce:function xt(t){for(var e=this._children,i=e.length-1;i>=0;i--){var n=e[i].reduce(t);n.isEmpty()&&n.remove()}if(!e.length){var n=new L(w.NO_INSERT);return n.copyAttributes(this),n.insertAbove(this),this.remove(),n}return xt.base.call(this)},isClosed:function(){for(var t=this._children,e=0,i=t.length;e=0;d--){var _=h[d].split();_&&(s(_)&&_.getFirstSegment().setHandleIn(0,0),a.getLastSegment().setHandleOut(0,0))}return s(a),i(f,!1,e,n)}function a(t,e){for(var i=t;i;){if(i===e)return;i=i._previous}for(;t._next&&t._next!==e;)t=t._next;if(!t._next){for(;e._previous;)e=e._previous;t._next=e,e._previous=t}}function o(t){for(var e=t.length-1;e>=0;e--)t[e].clearHandles()}function h(t,e,i){var n=t&&t.length;if(n){var s=r.each(t,function(t,e){this[t._id]={container:null,winding:t.isClockwise()?1:-1,index:e}},{}),a=t.slice().sort(function(t,e){return v(e.getArea())-v(t.getArea())}),o=a[0];null==i&&(i=o.isClockwise());for(var h=0;h=0;d--){var _=a[d];if(_.contains(c)){var g=s[_._id];f=g.winding,l.winding+=f,l.container=g.exclude?g.container:_;break}}if(e(l.winding)===e(f))l.exclude=!0,t[l.index]=null;else{var p=l.container;u.setClockwise(p?!p.isClockwise():i)}}}return t}function l(t,e,i){function n(t){return t._path._id+"."+t._segment1._index}for(var r,s,h,u=e&&[],l=1e-8,c=1-l,f=!1,d=i||[],_=i&&{},g=(i&&i.length)-1;g>=0;g--){var v=i[g];v._path&&(_[n(v)]=!0)}for(var g=t.length-1;g>=0;g--){var p,m=t[g],y=m._time,w=y,x=e&&!e(m),v=m._curve;if(v&&(v!==s?(f=!v.hasHandles()||_&&_[n(v)],r=[],h=null,s=v):h>=l&&(y/=h)),x)r&&r.push(m);else{if(e&&u.unshift(m),h=w,yc)p=v._segment2;else{var b=v.divideAtTime(y,!0);f&&d.push(v,b),p=b._segment1;for(var S=r.length-1;S>=0;S--){var C=r[S];C._time=(C._time-y)/(1-y)}}m._setSegment(p);var P=p._intersection,I=m._intersection;if(P){a(P,I);for(var M=P;M;)a(M._intersection,P),M=M._next}else p._intersection=I}}return i||o(d),u||t}function c(t,e,i,n,r){function s(s){var a=s[l+0],h=s[l+6];if(!(p<_(a,h)||p>g(a,h))){var f=s[u+0],v=s[u+2],m=s[u+4],b=s[u+6];if(a===h)return void((fw||bw)&&(I=!0));var S=p===a?0:p===h?1:w>g(f,v,m,b)||x<_(f,v,m,b)?1:k.solveCubic(s,l,p,z,0,1)>0?z[0]:1,M=0===S?f:1===S?b:k.getPoint(s,S)[i?"y":"x"],O=a>h?1:-1,A=o[l]>o[l+6]?1:-1,L=o[u+6];return p!==a?(Mx?P+=O:I=!0,M>d-y&&Mx&&(P+=O):f!=L&&(Lx?(P+=O,I=!0):L>w&&Mw&&M=_(e,n,r,a))for(var o,h=t[u+0],c=t[u+2],f=t[u+4],d=t[u+6],v=w>g(h,c,f,d)||x<_(h,c,f,d)?[t]:k.getMonoCurves(t,i),m=0,y=v.length;ms.quality&&(s=T);break}f-=x}for(var m=a.length-1;m>=0;m--)a[m].segment._winding=s}function d(t,e){function i(t){var i;return!(!t||t._visited||e&&(!e[(i=t._winding||{}).winding]||e.unite&&2===i.winding&&i.windingL&&i.windingR))}function n(t){if(t)for(var e=0,i=a.length;e=0;c--){var f=u[c],_=f._path,g=f._segment,v=g.getPrevious(),p=g.getNext();t(v,_)&&t(p,_)&&(g.remove(),v._handleOut._set(0,0),p._handleIn._set(0,0),v===g||v.getCurve().hasLength()||(p._handleIn.set(v._handleIn),v.remove()))}s&&(l(a,n&&function(t){var e=t.getCurve(),i=t.getSegment(),n=t._intersection,r=n._curve,s=n._segment;return!!(e&&r&&e._path&&r._path)||(i&&(i._intersection=null),void(s&&(s._intersection=null)))},h),h&&o(h),i=d(r.each(i,function(t){r.push(this,t._segments)},[])));var m,y=i.length;return y>1&&e?(i!==e&&this.setChildren(i),m=this):1!==y||e||(i[0]!==this&&this.setSegments(i[0].removeSegments()),m=this),m||(m=new N(w.NO_INSERT),m.addChildren(i),m=m.reduce(),m.copyAttributes(this),this.replaceWith(m)),m},reorient:function(t,i){var n=this._children;return n&&n.length?this.setChildren(h(this.removeChildren(),function(e){return!!(t?e:1&e)},i)):i!==e&&this.setClockwise(i),this},getInteriorPoint:function(){var t=this.getBounds(),e=t.getCenter(!0);if(!this.contains(e)){for(var i=this.getCurves(),n=e.y,r=[],s=[],a=0,o=i.length;a=_(u,l,c,f)&&n<=g(u,l,c,f))for(var d=k.getMonoCurves(h),v=0,p=d.length;v=y&&n<=w||n>=w&&n<=y)){var x=n===y?m[0]:n===w?m[6]:1===k.solveCubic(m,1,n,s,0,1)?k.getPoint(m,s[0]).x:(m[0]+m[6])/2;r.push(x)}}}r.length>1&&(r.sort(function(t,e){return t-e}),e.x=(r[0]+r[1])/2)}return e}}});var B=r.extend({_class:"PathFlattener",initialize:function(t,e,i,n,r){function s(t,e){var i=k.getValues(t,e,r);h.push(i),a(i,t._index,0,1)}function a(t,i,r,s){if(!(s-r>c)||n&&k.isStraight(t)||k.isFlatEnough(t,e||.25)){var o=t[6]-t[0],h=t[7]-t[1],f=Math.sqrt(o*o+h*h);f>0&&(l+=f,u.push({offset:l,curve:t,index:i,time:s}))}else{var d=k.subdivide(t,.5),_=(r+s)/2;a(d[0],i,r,_),a(d[1],i,_,s)}}for(var o,h=[],u=[],l=0,c=1/(i||32),f=t._segments,d=f[0],_=1,g=f.length;_=t){this.index=e;var a=i[e-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:i[n-1].index,time:1}},drawPart:function(t,e,i){for(var n=this._get(e),r=this._get(i),s=n.index,a=r.index;s<=a;s++){var o=k.getPart(this.curves[s],s===n.index?n.time:0,s===r.index?r.time:1);s===n.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},r.each(k._evaluateMethods,function(t){this[t+"At"]=function(e){var i=this._get(e);return k[t](this.curves[i.index],i.time)}},{})),E=r.extend({initialize:function(t){for(var e,i=this.points=[],n=t._segments,r=t._closed,s=0,a=n.length;s0&&(n=[new T(e[0])],i>1&&(this.fitCubic(n,t,0,i-1,e[1].subtract(e[0]),e[i-2].subtract(e[i-1])),this.closed&&(n.shift(),n.pop()))),n},fitCubic:function(t,e,i,n,r,s){var a=this.points;if(n-i===1){var o=a[i],h=a[n],u=o.getDistance(h)/3;return void this.addCurve(t,[o,o.add(r.normalize(u)),h.add(s.normalize(u)),h])}for(var l,c=this.chordLengthParameterize(i,n),f=Math.max(e,e*e),d=!0,_=0;_<=4;_++){var g=this.generateBezier(i,n,c,r,s),v=this.findMaxError(i,n,g,c);if(v.error=f)break;d=this.reparameterize(i,n,c,g),f=v.error}var p=a[l-1].subtract(a[l+1]);this.fitCubic(t,e,i,l,r,p),this.fitCubic(t,e,l,n,p.negate(),s)},addCurve:function(t,e){var i=t[t.length-1];i.setHandleOut(e[1].subtract(e[0])),t.push(new T(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,i,n,r){for(var s=1e-12,a=Math.abs,o=this.points,h=o[t],u=o[e],l=[[0,0],[0,0]],c=[0,0],f=0,d=e-t+1;fs){var M=l[0][0]*c[1]-l[1][0]*c[0],T=c[0]*l[1][1]-c[1]*l[0][1];C=T/I,P=M/I}else{var z=l[0][0]+l[0][1],k=l[1][0]+l[1][1];C=P=a(z)>s?c[0]/z:a(k)>s?c[1]/k:0}var O,A,L=u.getDistance(h),N=s*L;if(CL*L&&(C=P=L/3,O=A=null)}return[h,h.add(O||n.normalize(C)),u.add(A||r.normalize(P)),u]},reparameterize:function(t,e,i,n){for(var r=t;r<=e;r++)i[r-t]=this.findRoot(n,this.points[r],i[r-t]);for(var r=1,s=i.length;r=s&&(s=u,r=a)}return{error:s,index:r}}}),j=w.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(t){this._content="",this._lines=[];var i=t&&r.isPlainObject(t)&&t.x===e&&t.y===e;this._initialize(i&&t,!i&&c.read(arguments))},_equals:function(t){return this._content===t._content},copyContent:function(t){this.setContent(t._content)},getContent:function(){return this._content},setContent:function(t){this._content=""+t,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(521)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),F=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var t=this._matrix.getTranslation();return new f(t.x,t.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.translate(t.subtract(this._matrix.getTranslation()))},_draw:function(t,e,i){if(this._content){this._setStyles(t,e,i);var n=this._lines,r=this._style,s=r.hasFill(),a=r.hasStroke(),o=r.getLeading(),h=t.shadowColor;t.font=r.getFontStyle(),t.textAlign=r.getJustification();for(var u=0,l=n.length;u1&&(h-=1),a[o]=6*h<1?s+6*(r-s)*h:2*h<1?r:3*h<2?s+(r-s)*(2/3-h)*6:s}return a},"rgb-gray":function(t,e,i){return[.2989*t+.587*e+.114*i]},"gray-rgb":function(t){return[t,t,t]},"gray-hsb":function(t){return[0,0,t]},"gray-hsl":function(t){return[0,0,t]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return r.each(n,function(t,e){s[e]=[],r.each(t,function(t,i){var a=r.capitalize(t),o=/^(hue|saturation)$/.test(t),h=s[e][i]="gradient"===e?"gradient"===t?function(t){var e=this._components[0];return t=R.read(Array.isArray(t)?t:arguments,0,{readNull:!0}),e!==t&&(e&&e._removeOwner(this),t&&t._addOwner(this)),t}:function(){return c.read(arguments,0,{readNull:"highlight"===t,clone:!0})}:function(t){return null==t||isNaN(t)?0:+t};this["get"+a]=function(){return this._type===e||o&&/^hs[bl]$/.test(this._type)?this._components[i]:this._convert(e)[i]},this["set"+a]=function(t){this._type===e||o&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(e),this._properties=n[e],this._type=e),this._components[i]=h.call(this,t),this._changed()}},this)},{_class:"Color",_readIndex:!0,initialize:function l(e){var i,a,o,h,u=arguments,c=this.__read,f=0;Array.isArray(e)&&(u=e,e=u[0]);var d=null!=e&&typeof e;if("string"===d&&e in n&&(i=e,e=u[1],Array.isArray(e)?(a=e,o=u[2]):(c&&(f=1),u=r.slice(u,1),d=typeof e)),!a){if(h="number"===d?u:"object"===d&&null!=e.length?e:null){i||(i=h.length>=3?"rgb":"gray");var _=n[i].length;o=h[_],c&&(f+=h===arguments?_+(null!=o?1:0):1),h.length>_&&(h=r.slice(h,0,_))}else if("string"===d){var g=t(e);i=g[0],a=g[1],4===a.length&&(o=a[3],a.length--)}else if("object"===d)if(e.constructor===l){if(i=e._type,a=e._components.slice(),o=e._alpha,"gradient"===i)for(var v=1,p=a.length;v1?1:t))}var i=this._convert("rgb"),n=t||null==this._alpha?1:this._alpha;return i=[e(i[0]),e(i[1]),e(i[2])],n<1&&i.push(n<0?0:n),t?"#"+((1<<24)+(i[0]<<16)+(i[1]<<8)+i[2]).toString(16).slice(1):(4==i.length?"rgba(":"rgb(")+i.join(",")+")"},toCanvasStyle:function(t,e){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var i,n=this._components,r=n[0],s=r._stops,a=n[1],o=n[2],h=n[3],u=e&&e.inverted();if(u&&(a=u._transformPoint(a),o=u._transformPoint(o),h&&(h=u._transformPoint(h))),r._radial){var l=o.getDistance(a);if(h){var c=h.subtract(a);c.getLength()>l&&(h=a.add(c.normalize(l-.1))); -}var f=h||a;i=t.createRadialGradient(f.x,f.y,0,a.x,a.y,l)}else i=t.createLinearGradient(a.x,a.y,o.x,o.y);for(var d=0,_=s.length;d<_;d++){var g=s[d],v=g._offset;i.addColorStop(null==v?d/(_-1):v,g._color.toCanvasStyle())}return this._canvasStyle=i},transform:function(t){if("gradient"===this._type){for(var e=this._components,i=1,n=e.length;i0&&!(r instanceof N);if(a)for(var o=0,h=s.length;o0},hasStroke:function(){var t=this.getStrokeColor();return!!t&&t.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var t=this.getShadowColor();return!!t&&t.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var t=this.getFontSize();return this.getFontWeight()+" "+t+(/[a-z]/i.test(t+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function St(){var t=St.base.call(this),e=this.getFontSize();return/pt|em|%|px/.test(e)&&(e=this.getView().getPixelSize(e)),null!=t?t:1.2*e}}),H=new function(){function t(t,e,i,n){for(var r=["","webkit","moz","Moz","ms","o"],s=e[0].toUpperCase()+e.substring(1),a=0;a<6;a++){var o=r[a],h=o?o+s:e;if(h in t){if(!i)return t[h];t[h]=n;break}}}return{getStyles:function(t){var e=t&&9!==t.nodeType?t.ownerDocument:t,i=e&&e.defaultView;return i&&i.getComputedStyle(t,"")},getBounds:function(t,e){var i,n=t.ownerDocument,r=n.body,s=n.documentElement;try{i=t.getBoundingClientRect()}catch(a){i={left:0,top:0,width:0,height:0}}var o=i.left-(s.clientLeft||r.clientLeft||0),h=i.top-(s.clientTop||r.clientTop||0);if(!e){var u=n.defaultView;o+=u.pageXOffset||s.scrollLeft||r.scrollLeft,h+=u.pageYOffset||s.scrollTop||r.scrollTop}return new g(o,h,i.width,i.height)},getViewportBounds:function(t){var e=t.ownerDocument,i=e.defaultView,n=e.documentElement;return new g(0,0,i.innerWidth||n.clientWidth,i.innerHeight||n.clientHeight)},getOffset:function(t,e){return H.getBounds(t,e).getPoint()},getSize:function(t){return H.getBounds(t,!0).getSize()},isInvisible:function(t){return H.getSize(t).equals(new d(0,0))},isInView:function(t){return!H.isInvisible(t)&&H.getViewportBounds(t).intersects(H.getBounds(t,!0))},isInserted:function(t){return n.body.contains(t)},getPrefixed:function(e,i){return e&&t(e,i)},setPrefixed:function(e,i,n){if("object"==typeof i)for(var r in i)t(e,r,!0,i[r]);else t(e,i,!0,n)}}},Z={add:function(t,e){if(t)for(var i in e)for(var r=e[i],s=i.split(/[\s,]+/g),a=0,o=s.length;a1?r.hyphenate(i):i.toLowerCase())}function s(t,e,i,n){var o,h=U._focused;if(l[e]=t,t?c[e]=i:delete c[e],e.length>1&&(o=r.camelize(e))in f){f[o]=t;var u=rt&&rt.agent;if("meta"===o&&u&&u.mac)if(t)a={};else{for(var d in a)d in c&&s(!1,d,a[d],n);a=null}}else t&&a&&(a[e]=i);h&&h._handleKeyEvent(t?"keydown":"keyup",n,e,i)}var a,o,h={"\t":"tab"," ":"space","\b":"backspace","\x7f":"delete",Spacebar:"space",Del:"delete",Win:"meta",Esc:"escape"},u={tab:"\t",space:" ",enter:"\r"},l={},c={},f=new r({shift:!1,control:!1,alt:!1,meta:!1,capsLock:!1,space:!1}).inject({option:{get:function(){return this.alt}},command:{get:function(){var t=rt&&rt.agent;return t&&t.mac?this.meta:this.control}}});return Z.add(n,{keydown:function(e){var i=t(e),n=rt&&rt.agent;i.length>1||n&&n.chrome&&(e.altKey||n.mac&&e.metaKey||!n.mac&&e.ctrlKey)?s(!0,i,u[i]||(i.length>1?"":i),e):o=i},keypress:function(e){if(o){var i=t(e),n=e.charCode,r=n>=32?String.fromCharCode(n):i.length>1?"":i;i!==o&&(i=r.toLowerCase()),s(!0,i,r,e),o=null}},keyup:function(e){var i=t(e);i in c&&s(!1,i,c[i],e)}}),Z.add(i,{blur:function(t){for(var e in c)s(!1,e,c[e],t)}}),{modifiers:f,isDown:function(t){return!!l[t]}}},K=G.extend({_class:"MouseEvent",initialize:function(t,e,i,n,r){this.type=t,this.event=e,this.point=i,this.target=n,this.delta=r},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),Q=G.extend({_class:"ToolEvent",_item:null,initialize:function(t,e,i){this.tool=t,this.type=e,this.event=i},_choosePoint:function(t,e){return t?t:e?e.clone():null},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(t){this._point=t},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(t){this._lastPoint=t},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(t){this._downPoint=t},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(t){this._middlePoint=t},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(t){this._delta=t},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(t){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=t},getItem:function(){if(!this._item){var t=this.tool._scope.project.hitTest(this.getPoint());if(t){for(var e=t.item,i=e._parent;/^(Group|CompoundPath)$/.test(i._class);)e=i,i=i._parent;this._item=e}}return this._item},setItem:function(t){this._item=t},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),X=(o.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(t){o.call(this),this._moveCount=-1,this._downCount=-1,this.set(t)},getMinDistance:function(){return this._minDistance},setMinDistance:function(t){this._minDistance=t,null!=t&&null!=this._maxDistance&&t>this._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&t=0&&r.equals(s))return!1;if(s&&(null!=t||null!=e)){var o=r.subtract(s),h=o.getLength();if(h<(t||0))return!1;e&&(r=s.add(o.normalize(Math.min(h,e))))}c._moveCount++}return c._point=r,c._lastPoint=s||r,n.down&&(c._moveCount=-1,c._downPoint=r,c._downCount++),!0}function s(){o&&(l=c.emit(t,new Q(c,t,e))||l)}rt=this._scope,n.drag&&!this.responds(t)&&(t="mousemove");var a=n.move||n.drag,o=this.responds(t),h=this.minDistance,u=this.maxDistance,l=!1,c=this;if(n.down)r(),s();else if(n.up)r(null,u),s();else if(o)for(;r(h,u);)s();return l}}),r.extend(s,{_class:"Tween",statics:{easings:{linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:-1+2*(2-t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},initialize:function Tt(t,e,i,n,r,s){this.object=t;var a=typeof r,o="function"===a;this.type=o?a:"string"===a?r:"linear",this.easing=o?r:Tt.easings[this.type],this.duration=n,this.running=!1,this._then=null,this._startTime=null;var h=e||i;this._keys=h?Object.keys(h):[],this._parsedKeys=this._parseKeys(this._keys),this._from=h&&this._getState(e),this._to=h&&this._getState(i),s!==!1&&this.start()},then:function(t){return this._then=t,this},start:function(){return this._startTime=null,this.running=!0,this},stop:function(){return this.running=!1,this},update:function(t){if(this.running){t>1&&(t=1,this.running=!1);for(var e=this.easing(t),i=this._keys,n=function(i){return"function"==typeof i?i(e,t):i},s=0,a=i&&i.length;s255){var u=255-r,l=o-r;d=r+(d-r)*u/l,_=r+(_-r)*u/l,g=r+(g-r)*u/l}}function i(t,e,i){return p(t,e,i)-v(t,e,i)}function n(t,e,i,n){var r,s=[t,e,i],a=p(t,e,i),o=v(t,e,i);o=o===t?0:o===e?1:2,a=a===t?0:a===e?1:2,r=0===v(o,a)?1===p(o,a)?2:1:0,s[a]>s[o]?(s[r]=(s[r]-s[o])*n/(s[a]-s[o]),s[a]=n):s[r]=s[a]=0,s[o]=0,d=s[0],_=s[1],g=s[2]}var s,a,o,h,u,l,c,f,d,_,g,v=Math.min,p=Math.max,m=Math.abs,y={multiply:function(){d=u*s/255,_=l*a/255,g=c*o/255},screen:function(){d=u+s-u*s/255,_=l+a-l*a/255,g=c+o-c*o/255},overlay:function(){d=u<128?2*u*s/255:255-2*(255-u)*(255-s)/255,_=l<128?2*l*a/255:255-2*(255-l)*(255-a)/255,g=c<128?2*c*o/255:255-2*(255-c)*(255-o)/255},"soft-light":function(){var t=s*u/255;d=t+u*(255-(255-u)*(255-s)/255-t)/255,t=a*l/255,_=t+l*(255-(255-l)*(255-a)/255-t)/255,t=o*c/255,g=t+c*(255-(255-c)*(255-o)/255-t)/255},"hard-light":function(){d=s<128?2*s*u/255:255-2*(255-s)*(255-u)/255,_=a<128?2*a*l/255:255-2*(255-a)*(255-l)/255,g=o<128?2*o*c/255:255-2*(255-o)*(255-c)/255},"color-dodge":function(){d=0===u?0:255===s?255:v(255,255*u/(255-s)),_=0===l?0:255===a?255:v(255,255*l/(255-a)),g=0===c?0:255===o?255:v(255,255*c/(255-o))},"color-burn":function(){d=255===u?255:0===s?0:p(0,255-255*(255-u)/s),_=255===l?255:0===a?0:p(0,255-255*(255-l)/a),g=255===c?255:0===o?0:p(0,255-255*(255-c)/o)},darken:function(){d=us?u:s,_=l>a?l:a,g=c>o?c:o},difference:function(){d=u-s,d<0&&(d=-d),_=l-a,_<0&&(_=-_),g=c-o,g<0&&(g=-g)},exclusion:function(){d=u+s*(255-u-u)/255,_=l+a*(255-l-l)/255,g=c+o*(255-c-c)/255},hue:function(){n(s,a,o,i(u,l,c)),e(d,_,g,t(u,l,c))},saturation:function(){n(u,l,c,i(s,a,o)),e(d,_,g,t(u,l,c))},luminosity:function(){e(u,l,c,t(s,a,o))},color:function(){e(s,a,o,t(u,l,c))},add:function(){d=v(u+s,255),_=v(l+a,255),g=v(c+o,255)},subtract:function(){d=p(u-s,0),_=p(l-a,0),g=p(c-o,0)},average:function(){d=(u+s)/2,_=(l+a)/2,g=(c+o)/2},negation:function(){d=255-m(255-s-u),_=255-m(255-a-l),g=255-m(255-o-c)}},w=this.nativeModes=r.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],function(t){this[t]=!0},{}),x=tt.getContext(1,1);x&&(r.each(y,function(t,e){var i="darken"===e,n=!1;x.save();try{x.fillStyle=i?"#300":"#a00",x.fillRect(0,0,1,1),x.globalCompositeOperation=e,x.globalCompositeOperation===e&&(x.fillStyle=i?"#a00":"#300",x.fillRect(0,0,1,1),n=x.getImageData(0,0,1,1).data[0]!==i?170:51)}catch(r){}x.restore(),w[e]=n}),tt.release(x)),this.process=function(t,e,i,n,r){var v=e.canvas,p="normal"===t;if(p||w[t])i.save(),i.setTransform(1,0,0,1,0,0),i.globalAlpha=n,p||(i.globalCompositeOperation=t),i.drawImage(v,r.x,r.y),i.restore();else{var m=y[t];if(!m)return;for(var x=i.getImageData(r.x,r.y,v.width,v.height),b=x.data,S=e.getImageData(0,0,v.width,v.height).data,C=0,P=b.length;C=2&&!t.hasHandles())if(h>2){s=t._closed?"polygon":"polyline";for(var l=[],c=0;c0||u+s0?[["dictionary",n.definitions],s]:s},deserialize:function(t,e,i,n,s){var a=t,o=!i,h=o&&t&&t.length&&"dictionary"===t[0][0];if(i=i||{},Array.isArray(t)){var u=t[0],l="dictionary"===u;if(1==t.length&&/^#/.test(u))return i.dictionary[u];a=[];for(var c=(u=r.exports[u])?1:0,f=t.length;ct.length&&(n=t.length);for(var h=0;h0){var s=e[r],a=s&&s[n];a&&a.call(this,r)}},statics:{inject:function t(e){var i=e._events;if(i){var n={};r.each(i,(function(t,i){var s="string"==typeof t,a=s?t:i,o=r.capitalize(a),h=a.substring(2).toLowerCase();n[h]=s?{}:t,a="_"+a,e["get"+o]=function(){return this[a]},e["set"+o]=function(t){var e=this[a];e&&this.off(h,e),t&&this.on(h,t),this[a]=t}})),e._eventTypes=n}return t.base.apply(this,arguments)}}},a=r.extend({_class:"PaperScope",initialize:function e(){rt=this,this.settings=new r({applyMatrix:!0,insertItems:!0,handleSize:4,hitTolerance:0}),this.project=null,this.projects=[],this.tools=[],this._id=e._id++,e._scopes[this._id]=this;var i=e.prototype;if(!this.support){var n=tt.getContext(1,1)||{};i.support={nativeDash:"setLineDash"in n||"mozDash"in n,nativeBlendModes:et.nativeModes},tt.release(n)}if(!this.agent){var s=t.navigator.userAgent.toLowerCase(),a=(/(darwin|win|mac|linux|freebsd|sunos)/.exec(s)||[])[0],o="darwin"===a?"mac":a,h=i.agent=i.browser={platform:o};o&&(h[o]=!0),s.replace(/(opera|chrome|safari|webkit|firefox|msie|trident|atom|node)\/?\s*([.\d]+)(?:.*version\/([.\d]+))?(?:.*rv\:v?([.\d]+))?/g,(function(t,e,i,n,r){if(!h.chrome){var s="opera"===e?n:/^(node|trident)$/.test(e)?r:i;h.version=s,h.versionNumber=parseFloat(s),e="trident"===e?"msie":e,h.name=e,h[e]=!0}})),h.chrome&&delete h.webkit,h.atom&&delete h.chrome}},version:"0.12.0",getView:function(){var t=this.project;return t&&t._view},getPaper:function(){return this},execute:function(t,e){},install:function(t){var e=this;for(var i in r.each(["project","view","tool"],(function(i){r.define(t,i,{configurable:!0,get:function(){return e[i]}})})),this)!/^_/.test(i)&&this[i]&&(t[i]=this[i])},setup:function(t){return rt=this,this.project=new y(t),this},createCanvas:function(t,e){return tt.getCanvas(t,e)},activate:function(){rt=this},clear:function(){for(var t=this.projects,e=this.tools,i=t.length-1;i>=0;i--)t[i].remove();for(i=e.length-1;i>=0;i--)e[i].remove()},remove:function(){this.clear(),delete a._scopes[this._id]},statics:new function(){function t(t){return t+="Attribute",function(e,i){return e[t](i)||e[t]("data-paper-"+i)}}return{_scopes:{},_id:0,get:function(t){return this._scopes[t]||null},getAttribute:t("get"),hasAttribute:t("has")}}}),o=r.extend(s,{initialize:function(t){this._scope=rt,this._index=this._scope[this._list].push(this)-1,!t&&this._scope[this._reference]||this.activate()},activate:function(){if(!this._scope)return!1;var t=this._scope[this._reference];return t&&t!==this&&t.emit("deactivate"),this._scope[this._reference]=this,this.emit("activate",t),!0},isActive:function(){return this._scope[this._reference]===this},remove:function(){return null!=this._index&&(r.splice(this._scope[this._list],null,this._index,1),this._scope[this._reference]==this&&(this._scope[this._reference]=null),this._scope=null,!0)},getView:function(){return this._scope.getView()}}),h=r.extend({initialize:function(t){this.precision=r.pick(t,5),this.multiplier=Math.pow(10,this.precision)},number:function(t){return this.precision<16?Math.round(t*this.multiplier)/this.multiplier:t},pair:function(t,e,i){return this.number(t)+(i||",")+this.number(e)},point:function(t,e){return this.number(t.x)+(e||",")+this.number(t.y)},size:function(t,e){return this.number(t.width)+(e||",")+this.number(t.height)},rectangle:function(t,e){return this.point(t,e)+(e||",")+this.size(t,e)}});h.instance=new h;var u=new function(){function t(t,e,i){return ti?i:t}function e(t,e,i){function n(t){var e=134217729*t,i=t-e+e;return[i,t-i]}var r=e*e-t*i,a=e*e+t*i;if(3*s(r)1e8)?o(2,-Math.round(h(t))):0}var n=[[.5773502691896257],[0,.7745966692414834],[.33998104358485626,.8611363115940526],[0,.5384693101056831,.906179845938664],[.2386191860831969,.6612093864662645,.932469514203152],[0,.4058451513773972,.7415311855993945,.9491079123427585],[.1834346424956498,.525532409916329,.7966664774136267,.9602898564975363],[0,.3242534234038089,.6133714327005904,.8360311073266358,.9681602395076261],[.14887433898163122,.4333953941292472,.6794095682990244,.8650633666889845,.9739065285171717],[0,.26954315595234496,.5190961292068118,.7301520055740494,.8870625997680953,.978228658146057],[.1252334085114689,.3678314989981802,.5873179542866175,.7699026741943047,.9041172563704749,.9815606342467192],[0,.2304583159551348,.44849275103644687,.6423493394403402,.8015780907333099,.9175983992229779,.9841830547185881],[.10805494870734367,.31911236892788974,.5152486363581541,.6872929048116855,.827201315069765,.9284348836635735,.9862838086968123],[0,.20119409399743451,.3941513470775634,.5709721726085388,.7244177313601701,.8482065834104272,.937273392400706,.9879925180204854],[.09501250983763744,.2816035507792589,.45801677765722737,.6178762444026438,.755404408355003,.8656312023878318,.9445750230732326,.9894009349916499]],r=[[1],[.8888888888888888,.5555555555555556],[.6521451548625461,.34785484513745385],[.5688888888888889,.47862867049936647,.23692688505618908],[.46791393457269104,.3607615730481386,.17132449237917036],[.4179591836734694,.3818300505051189,.27970539148927664,.1294849661688697],[.362683783378362,.31370664587788727,.22238103445337448,.10122853629037626],[.3302393550012598,.31234707704000286,.26061069640293544,.1806481606948574,.08127438836157441],[.29552422471475287,.26926671930999635,.21908636251598204,.1494513491505806,.06667134430868814],[.2729250867779006,.26280454451024665,.23319376459199048,.18629021092773426,.1255803694649046,.05566856711617366],[.24914704581340277,.2334925365383548,.20316742672306592,.16007832854334622,.10693932599531843,.04717533638651183],[.2325515532308739,.22628318026289723,.2078160475368885,.17814598076194574,.13887351021978725,.09212149983772845,.04048400476531588],[.2152638534631578,.2051984637212956,.18553839747793782,.15720316715819355,.12151857068790319,.08015808715976021,.03511946033175186],[.2025782419255613,.19843148532711158,.1861610000155622,.16626920581699392,.13957067792615432,.10715922046717194,.07036604748810812,.03075324199611727],[.1894506104550685,.18260341504492358,.16915651939500254,.14959598881657674,.12462897125553388,.09515851168249279,.062253523938647894,.027152459411754096]],s=Math.abs,a=Math.sqrt,o=Math.pow,h=Math.log2||function(t){return Math.log(t)*Math.LOG2E},l=1e-12,c=112e-18;return{EPSILON:l,MACHINE_EPSILON:c,CURVETIME_EPSILON:1e-8,GEOMETRIC_EPSILON:1e-7,TRIGONOMETRIC_EPSILON:1e-8,KAPPA:4*(a(2)-1)/3,isZero:function(t){return t>=-l&&t<=l},clamp:t,integrate:function(t,e,i,s){for(var a=n[s-2],o=r[s-2],h=.5*(i-e),u=h+e,l=0,c=s+1>>1,f=1&s?o[l++]*t(u):0;l0?(a=n,n=f<=r?.5*(r+a):f):(r=n,n=f>=a?.5*(r+a):f)}return t(n,r,a)},solveQuadratic:function(n,r,o,h,u,f){var d,_=1/0;if(s(n)=-c){var p=g<0?0:a(g),m=r+(r<0?-p:p);0===m?_=-(d=o/n):(d=m/n,_=o/m)}}var y=0,w=null==u,x=u-l,b=f+l;return isFinite(d)&&(w||d>x&&dx&&_0?1.324717957244746*Math.max(C,a(P)):C,T=v-S*I;if(T!==v){do{g(T),T=0===y?v:v-w/y/(1+c)}while(S*T>S*v);s(e)*v*v>s(h/v)&&(p=((m=-h/v)-r)/v)}}var M=u.solveQuadratic(e,p,m,f,d,_),k=null==d;return isFinite(v)&&(0===M||M>0&&v!==f[0]&&v!==f[1])&&(k||v>d-l&&v<_+l)&&(f[M++]=k?v:t(v,d,_)),M}}},l={_id:1,_pools:{},get:function(t){if(t){var e=this._pools[t];return e||(e=this._pools[t]={_id:1}),e._id++}return this._id++}},c=r.extend({_class:"Point",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"x"in a?this._set(a.x||0,a.y||0):"width"in a?this._set(a.width||0,a.height||0):"angle"in a?(this._set(a.length||0,0),this.setAngle(a.angle||0)):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.x=t,this.y=e,this},equals:function(t){return this===t||t&&(this.x===t.x&&this.y===t.y||Array.isArray(t)&&this.x===t[0]&&this.y===t[1])||!1},clone:function(){return new c(this.x,this.y)},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y)]},getLength:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},setLength:function(t){if(this.isZero()){var e=this._angle||0;this._set(Math.cos(e)*t,Math.sin(e)*t)}else{var i=t/this.getLength();u.isZero(i)&&this.getAngle(),this._set(this.x*i,this.y*i)}},getAngle:function(){return 180*this.getAngleInRadians.apply(this,arguments)/Math.PI},setAngle:function(t){this.setAngleInRadians.call(this,t*Math.PI/180)},getAngleInDegrees:"#getAngle",setAngleInDegrees:"#setAngle",getAngleInRadians:function(){if(arguments.length){var t=c.read(arguments),e=this.getLength()*t.getLength();if(u.isZero(e))return NaN;var i=this.dot(t)/e;return Math.acos(i<-1?-1:i>1?1:i)}return this.isZero()?this._angle||0:this._angle=Math.atan2(this.y,this.x)},setAngleInRadians:function(t){if(this._angle=t,!this.isZero()){var e=this.getLength();this._set(Math.cos(t)*e,Math.sin(t)*e)}},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3}},{beans:!1,getDirectedAngle:function(){var t=c.read(arguments);return 180*Math.atan2(this.cross(t),this.dot(t))/Math.PI},getDistance:function(){var t=c.read(arguments),e=t.x-this.x,i=t.y-this.y,n=e*e+i*i,s=r.read(arguments);return s?n:Math.sqrt(n)},normalize:function(t){t===e&&(t=1);var i=this.getLength(),n=0!==i?t/i:0,r=new c(this.x*n,this.y*n);return n>=0&&(r._angle=this._angle),r},rotate:function(t,e){if(0===t)return this.clone();t=t*Math.PI/180;var i=e?this.subtract(e):this,n=Math.sin(t),r=Math.cos(t);return i=new c(i.x*r-i.y*n,i.x*n+i.y*r),e?i.add(e):i},transform:function(t){return t?t._transformPoint(this):this},add:function(){var t=c.read(arguments);return new c(this.x+t.x,this.y+t.y)},subtract:function(){var t=c.read(arguments);return new c(this.x-t.x,this.y-t.y)},multiply:function(){var t=c.read(arguments);return new c(this.x*t.x,this.y*t.y)},divide:function(){var t=c.read(arguments);return new c(this.x/t.x,this.y/t.y)},modulo:function(){var t=c.read(arguments);return new c(this.x%t.x,this.y%t.y)},negate:function(){return new c(-this.x,-this.y)},isInside:function(){return g.read(arguments).contains(this)},isClose:function(){var t=c.read(arguments),e=r.read(arguments);return this.getDistance(t)<=e},isCollinear:function(){var t=c.read(arguments);return c.isCollinear(this.x,this.y,t.x,t.y)},isColinear:"#isCollinear",isOrthogonal:function(){var t=c.read(arguments);return c.isOrthogonal(this.x,this.y,t.x,t.y)},isZero:function(){var t=u.isZero;return t(this.x)&&t(this.y)},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},isInQuadrant:function(t){return this.x*(t>1&&t<4?-1:1)>=0&&this.y*(t>2?-1:1)>=0},dot:function(){var t=c.read(arguments);return this.x*t.x+this.y*t.y},cross:function(){var t=c.read(arguments);return this.x*t.y-this.y*t.x},project:function(){var t=c.read(arguments),e=t.isZero()?0:this.dot(t)/t.dot(t);return new c(t.x*e,t.y*e)},statics:{min:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.min(t.x,e.x),Math.min(t.y,e.y))},max:function(){var t=c.read(arguments),e=c.read(arguments);return new c(Math.max(t.x,e.x),Math.max(t.y,e.y))},random:function(){return new c(Math.random(),Math.random())},isCollinear:function(t,e,i,n){return Math.abs(t*n-e*i)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))},isOrthogonal:function(t,e,i,n){return Math.abs(t*i+e*n)<=1e-8*Math.sqrt((t*t+e*e)*(i*i+n*n))}}},r.each(["round","ceil","floor","abs"],(function(t){var e=Math[t];this[t]=function(){return new c(e(this.x),e(this.y))}}),{})),f=c.extend({initialize:function(t,e,i,n){this._x=t,this._y=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._x=t,this._y=e,i||this._owner[this._setter](this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner[this._setter](this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner[this._setter](this)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){return"setPosition"===this._setter?4:0}}),d=r.extend({_class:"Size",_readIndex:!0,initialize:function(t,e){var i=typeof t,n=this.__read,r=0;if("number"===i){var s="number"==typeof e;this._set(t,s?e:t),n&&(r=s?2:1)}else if("undefined"===i||null===t)this._set(0,0),n&&(r=null===t?1:0);else{var a="string"===i?t.split(/[\s,]+/)||[]:t;r=1,Array.isArray(a)?this._set(+a[0],+(a.length>1?a[1]:a[0])):"width"in a?this._set(a.width||0,a.height||0):"x"in a?this._set(a.x||0,a.y||0):(this._set(0,0),r=0)}return n&&(this.__read=r),this},set:"#initialize",_set:function(t,e){return this.width=t,this.height=e,this},equals:function(t){return t===this||t&&(this.width===t.width&&this.height===t.height||Array.isArray(t)&&this.width===t[0]&&this.height===t[1])||!1},clone:function(){return new d(this.width,this.height)},toString:function(){var t=h.instance;return"{ width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.width),e.number(this.height)]},add:function(){var t=d.read(arguments);return new d(this.width+t.width,this.height+t.height)},subtract:function(){var t=d.read(arguments);return new d(this.width-t.width,this.height-t.height)},multiply:function(){var t=d.read(arguments);return new d(this.width*t.width,this.height*t.height)},divide:function(){var t=d.read(arguments);return new d(this.width/t.width,this.height/t.height)},modulo:function(){var t=d.read(arguments);return new d(this.width%t.width,this.height%t.height)},negate:function(){return new d(-this.width,-this.height)},isZero:function(){var t=u.isZero;return t(this.width)&&t(this.height)},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{min:function(t,e){return new d(Math.min(t.width,e.width),Math.min(t.height,e.height))},max:function(t,e){return new d(Math.max(t.width,e.width),Math.max(t.height,e.height))},random:function(){return new d(Math.random(),Math.random())}}},r.each(["round","ceil","floor","abs"],(function(t){var e=Math[t];this[t]=function(){return new d(e(this.width),e(this.height))}}),{})),_=d.extend({initialize:function(t,e,i,n){this._width=t,this._height=e,this._owner=i,this._setter=n},_set:function(t,e,i){return this._width=t,this._height=e,i||this._owner[this._setter](this),this},getWidth:function(){return this._width},setWidth:function(t){this._width=t,this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(t){this._height=t,this._owner[this._setter](this)}}),g=r.extend({_class:"Rectangle",_readIndex:!0,beans:!0,initialize:function(t,i,n,s){var a,o=typeof t;if("number"===o?(this._set(t,i,n,s),a=4):"undefined"===o||null===t?(this._set(0,0,0,0),a=null===t?1:0):1===arguments.length&&(Array.isArray(t)?(this._set.apply(this,t),a=1):t.x!==e||t.width!==e?(this._set(t.x||0,t.y||0,t.width||0,t.height||0),a=1):t.from===e&&t.to===e&&(this._set(0,0,0,0),r.filter(this,t),a=1)),a===e){var h,u,l=c.readNamed(arguments,"from"),f=r.peek(arguments),_=l.x,g=l.y;if(f&&f.x!==e||r.hasNamed(arguments,"to")){var v=c.readNamed(arguments,"to");h=v.x-_,u=v.y-g,h<0&&(_=v.x,h=-h),u<0&&(g=v.y,u=-u)}else{var p=d.read(arguments);h=p.width,u=p.height}this._set(_,g,h,u),a=arguments.__index;var m=arguments.__filtered;m&&(this.__filtered=m)}return this.__read&&(this.__read=a),this},set:"#initialize",_set:function(t,e,i,n){return this.x=t,this.y=e,this.width=i,this.height=n,this},clone:function(){return new g(this.x,this.y,this.width,this.height)},equals:function(t){var e=r.isPlainValue(t)?g.read(arguments):t;return e===this||e&&this.x===e.x&&this.y===e.y&&this.width===e.width&&this.height===e.height||!1},toString:function(){var t=h.instance;return"{ x: "+t.number(this.x)+", y: "+t.number(this.y)+", width: "+t.number(this.width)+", height: "+t.number(this.height)+" }"},_serialize:function(t){var e=t.formatter;return[e.number(this.x),e.number(this.y),e.number(this.width),e.number(this.height)]},getPoint:function(t){return new(t?c:f)(this.x,this.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.x=t.x,this.y=t.y},getSize:function(t){return new(t?d:_)(this.width,this.height,this,"setSize")},_fw:1,_fh:1,setSize:function(){var t=d.read(arguments),e=this._sx,i=this._sy,n=t.width,r=t.height;e&&(this.x+=(this.width-n)*e),i&&(this.y+=(this.height-r)*i),this.width=n,this.height=r,this._fw=this._fh=1},getLeft:function(){return this.x},setLeft:function(t){if(!this._fw){var e=t-this.x;this.width-=.5===this._sx?2*e:e}this.x=t,this._sx=this._fw=0},getTop:function(){return this.y},setTop:function(t){if(!this._fh){var e=t-this.y;this.height-=.5===this._sy?2*e:e}this.y=t,this._sy=this._fh=0},getRight:function(){return this.x+this.width},setRight:function(t){if(!this._fw){var e=t-this.x;this.width=.5===this._sx?2*e:e}this.x=t-this.width,this._sx=1,this._fw=0},getBottom:function(){return this.y+this.height},setBottom:function(t){if(!this._fh){var e=t-this.y;this.height=.5===this._sy?2*e:e}this.y=t-this.height,this._sy=1,this._fh=0},getCenterX:function(){return this.x+this.width/2},setCenterX:function(t){this._fw||.5===this._sx?this.x=t-this.width/2:(this._sx&&(this.x+=2*(t-this.x)*this._sx),this.width=2*(t-this.x)),this._sx=.5,this._fw=0},getCenterY:function(){return this.y+this.height/2},setCenterY:function(t){this._fh||.5===this._sy?this.y=t-this.height/2:(this._sy&&(this.y+=2*(t-this.y)*this._sy),this.height=2*(t-this.y)),this._sy=.5,this._fh=0},getCenter:function(t){return new(t?c:f)(this.getCenterX(),this.getCenterY(),this,"setCenter")},setCenter:function(){var t=c.read(arguments);return this.setCenterX(t.x),this.setCenterY(t.y),this},getArea:function(){return this.width*this.height},isEmpty:function(){return 0===this.width||0===this.height},contains:function(t){return t&&t.width!==e||4===(Array.isArray(t)?t:arguments).length?this._containsRectangle(g.read(arguments)):this._containsPoint(c.read(arguments))},_containsPoint:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e<=this.x+this.width&&i<=this.y+this.height},_containsRectangle:function(t){var e=t.x,i=t.y;return e>=this.x&&i>=this.y&&e+t.width<=this.x+this.width&&i+t.height<=this.y+this.height},intersects:function(){var t=g.read(arguments),e=r.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.x=4&&(t[1]+=n?"Y":"X");var r=t[n?0:1],s=t[n?1:0],a="get"+r,o="get"+s,h="set"+r,u="set"+s,l="set"+i;this["get"+i]=function(t){return new(t?c:f)(this[a](),this[o](),this,l)},this[l]=function(){var t=c.read(arguments);this[h](t.x),this[u](t.y)}}),{beans:!0})),v=g.extend({initialize:function(t,e,i,n,r,s){this._set(t,e,i,n,!0),this._owner=r,this._setter=s},_set:function(t,e,i,n,r){return this._x=t,this._y=e,this._width=i,this._height=n,r||this._owner[this._setter](this),this}},new function(){var t=g.prototype;return r.each(["x","y","width","height"],(function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._dontNotify||this._owner[this._setter](this)}}),r.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],(function(e){var i="set"+e;this[i]=function(){this._dontNotify=!0,t[i].apply(this,arguments),this._dontNotify=!1,this._owner[this._setter](this)}}),{isSelected:function(){return!!(2&this._owner._selection)},setSelected:function(t){var e=this._owner;e._changeSelection&&e._changeSelection(2,t)}}))}),p=r.extend({_class:"Matrix",initialize:function t(e,i){var n=arguments.length,r=!0;if(n>=6?this._set.apply(this,arguments):1===n||2===n?e instanceof t?this._set(e._a,e._b,e._c,e._d,e._tx,e._ty,i):Array.isArray(e)?this._set.apply(this,i?e.concat([i]):e):r=!1:n?r=!1:this.reset(),!r)throw new Error("Unsupported matrix parameters");return this},set:"#initialize",_set:function(t,e,i,n,r,s,a){return this._a=t,this._b=e,this._c=i,this._d=n,this._tx=r,this._ty=s,a||this._changed(),this},_serialize:function(t,e){return r.serialize(this.getValues(),t,!0,e)},_changed:function(){var t=this._owner;t&&(t._applyMatrix?t.transform(null,!0):t._changed(25))},clone:function(){return new p(this._a,this._b,this._c,this._d,this._tx,this._ty)},equals:function(t){return t===this||t&&this._a===t._a&&this._b===t._b&&this._c===t._c&&this._d===t._d&&this._tx===t._tx&&this._ty===t._ty},toString:function(){var t=h.instance;return"[["+[t.number(this._a),t.number(this._c),t.number(this._tx)].join(", ")+"], ["+[t.number(this._b),t.number(this._d),t.number(this._ty)].join(", ")+"]]"},reset:function(t){return this._a=this._d=1,this._b=this._c=this._tx=this._ty=0,t||this._changed(),this},apply:function(t,e){var i=this._owner;return!!i&&(i.transform(null,!0,r.pick(t,!0),e),this.isIdentity())},translate:function(){var t=c.read(arguments),e=t.x,i=t.y;return this._tx+=e*this._a+i*this._c,this._ty+=e*this._b+i*this._d,this._changed(),this},scale:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});return e&&this.translate(e),this._a*=t.x,this._b*=t.x,this._c*=t.y,this._d*=t.y,e&&this.translate(e.negate()),this._changed(),this},rotate:function(t){t*=Math.PI/180;var e=c.read(arguments,1),i=e.x,n=e.y,r=Math.cos(t),s=Math.sin(t),a=i-i*r+n*s,o=n-i*s-n*r,h=this._a,u=this._b,l=this._c,f=this._d;return this._a=r*h+s*l,this._b=r*u+s*f,this._c=-s*h+r*l,this._d=-s*u+r*f,this._tx+=a*h+o*l,this._ty+=a*u+o*f,this._changed(),this},shear:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0});e&&this.translate(e);var i=this._a,n=this._b;return this._a+=t.y*this._c,this._b+=t.y*this._d,this._c+=t.x*i,this._d+=t.x*n,e&&this.translate(e.negate()),this._changed(),this},skew:function(){var t=c.read(arguments),e=c.read(arguments,0,{readNull:!0}),i=Math.PI/180,n=new c(Math.tan(t.x*i),Math.tan(t.y*i));return this.shear(n,e)},append:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=t._a,o=t._c,h=t._b,u=t._d,l=t._tx,c=t._ty;this._a=a*i+h*r,this._c=o*i+u*r,this._b=a*n+h*s,this._d=o*n+u*s,this._tx+=l*i+c*r,this._ty+=l*n+c*s,e||this._changed()}return this},prepend:function(t,e){if(t){var i=this._a,n=this._b,r=this._c,s=this._d,a=this._tx,o=this._ty,h=t._a,u=t._c,l=t._b,c=t._d,f=t._tx,d=t._ty;this._a=h*i+u*n,this._c=h*r+u*s,this._b=l*i+c*n,this._d=l*r+c*s,this._tx=h*a+u*o+f,this._ty=l*a+c*o+d,e||this._changed()}return this},appended:function(t){return this.clone().append(t)},prepended:function(t){return this.clone().prepend(t)},invert:function(){var t=this._a,e=this._b,i=this._c,n=this._d,r=this._tx,s=this._ty,a=t*n-e*i,o=null;return a&&!isNaN(a)&&isFinite(r)&&isFinite(s)&&(this._a=n/a,this._b=-e/a,this._c=-i/a,this._d=t/a,this._tx=(i*s-n*r)/a,this._ty=(e*r-t*s)/a,o=this),o},inverted:function(){return this.clone().invert()},concatenate:"#append",preConcatenate:"#prepend",chain:"#appended",_shiftless:function(){return new p(this._a,this._b,this._c,this._d,0,0)},_orNullIfIdentity:function(){return this.isIdentity()?null:this},isIdentity:function(){return 1===this._a&&0===this._b&&0===this._c&&1===this._d&&0===this._tx&&0===this._ty},isInvertible:function(){var t=this._a*this._d-this._c*this._b;return t&&!isNaN(t)&&isFinite(this._tx)&&isFinite(this._ty)},isSingular:function(){return!this.isInvertible()},transform:function(t,e,i){return arguments.length<3?this._transformPoint(c.read(arguments)):this._transformCoordinates(t,e,i)},_transformPoint:function(t,e,i){var n=t.x,r=t.y;return e||(e=new c),e._set(n*this._a+r*this._c+this._tx,n*this._b+r*this._d+this._ty,i)},_transformCoordinates:function(t,e,i){for(var n=0,r=2*i;ns[h]&&(s[h]=o)}return e||(e=new g),e._set(r[0],r[1],s[0]-r[0],s[1]-r[1],i)},inverseTransform:function(){return this._inverseTransform(c.read(arguments))},_inverseTransform:function(t,e,i){var n=this._a,r=this._b,s=this._c,a=this._d,o=this._tx,h=this._ty,u=n*a-r*s,l=null;if(u&&!isNaN(u)&&isFinite(o)&&isFinite(h)){var f=t.x-this._tx,d=t.y-this._ty;e||(e=new c),l=e._set((f*a-d*s)/u,(d*n-f*r)/u,i)}return l},decompose:function(){var t,e,i,n=this._a,r=this._b,s=this._c,a=this._d,o=n*a-r*s,h=Math.sqrt,u=Math.atan2,l=180/Math.PI;if(0!==n||0!==r){var f=h(n*n+r*r);t=Math.acos(n/f)*(r>0?1:-1),e=[f,o/f],i=[u(n*s+r*a,f*f),0]}else if(0!==s||0!==a){var d=h(s*s+a*a);t=Math.asin(s/d)*(a>0?1:-1),e=[o/d,d],i=[0,u(n*s+r*a,d*d)]}else t=0,i=e=[0,0];return{translation:this.getTranslation(),rotation:t*l,scaling:new c(e),skewing:new c(i[0]*l,i[1]*l)}},getValues:function(){return[this._a,this._b,this._c,this._d,this._tx,this._ty]},getTranslation:function(){return new c(this._tx,this._ty)},getScaling:function(){return this.decompose().scaling},getRotation:function(){return this.decompose().rotation},applyToContext:function(t){this.isIdentity()||t.transform(this._a,this._b,this._c,this._d,this._tx,this._ty)}},r.each(["a","b","c","d","tx","ty"],(function(t){var e=r.capitalize(t),i="_"+t;this["get"+e]=function(){return this[i]},this["set"+e]=function(t){this[i]=t,this._changed()}}),{})),m=r.extend({_class:"Line",initialize:function(t,e,i,n,r){var s=!1;arguments.length>=4?(this._px=t,this._py=e,this._vx=i,this._vy=n,s=r):(this._px=t.x,this._py=t.y,this._vx=e.x,this._vy=e.y,s=i),s||(this._vx-=this._px,this._vy-=this._py)},getPoint:function(){return new c(this._px,this._py)},getVector:function(){return new c(this._vx,this._vy)},getLength:function(){return this.getVector().getLength()},intersect:function(t,e){return m.intersect(this._px,this._py,this._vx,this._vy,t._px,t._py,t._vx,t._vy,!0,e)},getSide:function(t,e){return m.getSide(this._px,this._py,this._vx,this._vy,t.x,t.y,!0,e)},getDistance:function(t){return Math.abs(this.getSignedDistance(t))},getSignedDistance:function(t){return m.getSignedDistance(this._px,this._py,this._vx,this._vy,t.x,t.y,!0)},isCollinear:function(t){return c.isCollinear(this._vx,this._vy,t._vx,t._vy)},isOrthogonal:function(t){return c.isOrthogonal(this._vx,this._vy,t._vx,t._vy)},statics:{intersect:function(t,e,i,n,r,s,a,o,h,l){h||(i-=t,n-=e,a-=r,o-=s);var f=i*o-n*a;if(!u.isZero(f)){var d=t-r,_=e-s,g=(a*_-o*d)/f,v=(i*_-n*d)/f,p=-1e-12,m=1+1e-12;if(l||p=1?1:g),new c(t+g*i,e+g*n)}},getSide:function(t,e,i,n,r,s,a,o){a||(i-=t,n-=e);var h=r-t,l=h*n-(s-e)*i;return!o&&u.isZero(l)&&(l=(h*i+h*i)/(i*i+n*n))>=0&&l<=1&&(l=0),l<0?-1:l>0?1:0},getSignedDistance:function(t,e,i,n,r,s,a){return a||(i-=t,n-=e),0===i?n>0?r-t:t-r:0===n?i<0?s-e:e-s:((r-t)*n-(s-e)*i)/Math.sqrt(i*i+n*n)},getDistance:function(t,e,i,n,r,s,a){return Math.abs(m.getSignedDistance(t,e,i,n,r,s,a))}}}),y=o.extend({_class:"Project",_list:"projects",_reference:"project",_compactSerialize:!0,initialize:function(t){o.call(this,!0),this._children=[],this._namedChildren={},this._activeLayer=null,this._currentStyle=new V(null,null,this),this._view=U.create(this,t||tt.getCanvas(1,1)),this._selectionItems={},this._selectionCount=0,this._updateVersion=0},_serialize:function(t,e){return r.serialize(this._children,t,!0,e)},_changed:function(t,e){if(1&t){var i=this._view;i&&(i._needsUpdate=!0,!i._requested&&i._autoUpdate&&i.requestUpdate())}var n=this._changes;if(n&&e){var r=this._changesById,s=e._id,a=r[s];a?a.flags|=t:n.push(r[s]={item:e,flags:t})}},clear:function(){for(var t=this._children,e=t.length-1;e>=0;e--)t[e].remove()},isEmpty:function(){return!this._children.length},remove:function t(){return!!t.base.call(this)&&(this._view&&this._view.remove(),!0)},getView:function(){return this._view},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(t){this._currentStyle.set(t)},getIndex:function(){return this._index},getOptions:function(){return this._scope.settings},getLayers:function(){return this._children},getActiveLayer:function(){return this._activeLayer||new b({project:this,insert:!0})},getSymbolDefinitions:function(){var t=[],e={};return this.getItems({class:P,match:function(i){var n=i._definition,r=n._id;return e[r]||(e[r]=!0,t.push(n)),!1}}),t},getSymbols:"getSymbolDefinitions",getSelectedItems:function(){var t=this._selectionItems,e=[];for(var i in t){var n=t[i],r=n._selection;1&r&&n.isInserted()?e.push(n):r||this._updateSelection(n)}return e},_updateSelection:function(t){var e=t._id,i=this._selectionItems;t._selection?i[e]!==t&&(this._selectionCount++,i[e]=t):i[e]===t&&(this._selectionCount--,delete i[e])},selectAll:function(){for(var t=this._children,e=0,i=t.length;e0){t.save(),t.strokeWidth=1;var h=this._selectionItems,u=this._scope.settings.handleSize,l=this._updateVersion;for(var f in h)h[f]._drawSelection(t,e,u,h,l);t.restore()}}}),w=r.extend(s,{statics:{extend:function t(e){return e._serializeFields&&(e._serializeFields=r.set({},this.prototype._serializeFields,e._serializeFields)),t.base.apply(this,arguments)},NO_INSERT:{insert:!1}},_class:"Item",_name:null,_applyMatrix:!0,_canApplyMatrix:!0,_canScaleStroke:!1,_pivot:null,_visible:!0,_blendMode:"normal",_opacity:1,_locked:!1,_guide:!1,_clipMask:!1,_selection:0,_selectBounds:!0,_selectChildren:!1,_serializeFields:{name:null,applyMatrix:null,matrix:new p,pivot:null,visible:!0,blendMode:"normal",opacity:1,locked:!1,guide:!1,clipMask:!1,selected:!1,data:{}},_prioritize:["applyMatrix"]},new function(){var t=["onMouseDown","onMouseUp","onMouseDrag","onClick","onDoubleClick","onMouseMove","onMouseEnter","onMouseLeave"];return r.each(t,(function(t){this._events[t]={install:function(t){this.getView()._countItemEvent(t,1)},uninstall:function(t){this.getView()._countItemEvent(t,-1)}}}),{_events:{onFrame:{install:function(){this.getView()._animateItem(this,!0)},uninstall:function(){this.getView()._animateItem(this,!1)}},onLoad:{},onError:{}},statics:{_itemHandlers:t}})},{initialize:function(){},_initialize:function(t,i){var n=t&&r.isPlainObject(t),s=n&&!0===t.internal,a=this._matrix=new p,o=n&&t.project||rt.project,h=rt.settings;return this._id=s?null:l.get(),this._parent=this._index=null,this._applyMatrix=this._canApplyMatrix&&h.applyMatrix,i&&a.translate(i),a._owner=this,this._style=new V(o._currentStyle,this,o),s||n&&0==t.insert||!h.insertItems&&(!n||!0!==t.insert)?this._setProject(o):(n&&t.parent||o)._insertItem(e,this,!0),n&&t!==w.NO_INSERT&&this.set(t,{internal:!0,insert:!0,project:!0,parent:!0}),n},_serialize:function(t,e){function i(i){for(var a in i){var o=s[a];r.equals(o,"leading"===a?1.2*i.fontSize:i[a])||(n[a]=r.serialize(o,t,"data"!==a,e))}}var n={},s=this;return i(this._serializeFields),this instanceof x||i(this._style._defaults),[this._class,n]},_changed:function(t){var i=this._symbol,n=this._parent||i,r=this._project;8&t&&(this._bounds=this._position=this._decomposed=e),16&t&&(this._globalMatrix=e),n&&72&t&&w._clearBoundsCache(n),2&t&&w._clearBoundsCache(this),r&&r._changed(t,this),i&&i._changed(t)},getId:function(){return this._id},getName:function(){return this._name},setName:function(t){if(this._name&&this._removeNamed(),t===+t+"")throw new Error("Names consisting only of numbers are not supported.");var i=this._getOwner();if(t&&i){var n=i._children,r=i._namedChildren;(r[t]=r[t]||[]).push(this),t in n||(n[t]=this)}this._name=t||e,this._changed(256)},getStyle:function(){return this._style},setStyle:function(t){this.getStyle().set(t)}},r.each(["locked","visible","blendMode","opacity","guide"],(function(t){var e=r.capitalize(t),i="_"+t,n={locked:256,visible:265};this["get"+e]=function(){return this[i]},this["set"+e]=function(e){e!=this[i]&&(this[i]=e,this._changed(n[t]||257))}}),{}),{beans:!0,getSelection:function(){return this._selection},setSelection:function(t){if(t!==this._selection){this._selection=t;var e=this._project;e&&(e._updateSelection(this),this._changed(257))}},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){if(this._selectChildren)for(var t=this._children,e=0,i=t.length;e=0;i--)if(e[i].contains(t))return!0;return!1}return t.isInside(this.getInternalBounds())},isInside:function(){return g.read(arguments).contains(this.getBounds())},_asPathItem:function(){return new L.Rectangle({rectangle:this.getInternalBounds(),matrix:this._matrix,insert:!1})},intersects:function(t,e){return t instanceof w&&this._asPathItem().getIntersections(t._asPathItem(),null,e,!0).length>0}},new function(){function t(){return this._hitTest(c.read(arguments),T.getOptions(arguments))}function e(){var t=c.read(arguments),e=T.getOptions(arguments),i=[];return this._hitTest(t,r.set({all:i},e)),i}function i(t,e,i,n){var r=this._children;if(r)for(var s=r.length-1;s>=0;s--){var a=r[s],o=a!==n&&a._hitTest(t,e,i);if(o&&!e.all)return o}return null}return y.inject({hitTest:t,hitTestAll:e,_hitTest:i}),{hitTest:t,hitTestAll:e,_hitTestChildren:i}},{_hitTest:function(t,e,i){function n(t){return t&&_&&!_(t)&&(t=null),t&&e.all&&e.all.push(t),t}function s(e,i){var n=i?l["get"+i]():g.getPosition();if(t.subtract(n).divide(u).length<=1)return new T(e,g,{name:i?r.hyphenate(i):e,point:n})}if(this._locked||!this._visible||this._guide&&!e.guides||this.isEmpty())return null;var a=this._matrix,o=i?i.appended(a):this.getGlobalMatrix().prepend(this.getView()._matrix),h=Math.max(e.tolerance,1e-12),u=e._tolerancePadding=new d(L._getStrokePadding(h,a._shiftless().invert()));if(!(t=a._inverseTransform(t))||!this._children&&!this.getBounds({internal:!0,stroke:!0,handle:!0}).expand(u.multiply(2))._containsPoint(t))return null;var l,c,f=!(e.guides&&!this._guide||e.selected&&!this.isSelected()||e.type&&e.type!==r.hyphenate(this._class)||e.class&&!(this instanceof e.class)),_=e.match,g=this,v=e.position,p=e.center,m=e.bounds;if(f&&this._parent&&(v||p||m)){if((p||m)&&(l=this.getInternalBounds()),!(c=v&&s("position")||p&&s("center","Center"))&&m)for(var y=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],w=0;w<8&&!c;w++)c=s("bounds",y[w]);c=n(c)}return c||(c=this._hitTestChildren(t,e,o)||f&&n(this._hitTestSelf(t,e,o,this.getStrokeScaling()?null:o._shiftless().invert()))||null),c&&c.point&&(c.point=a.transform(c.point)),c},_hitTestSelf:function(t,e){if(e.fill&&this.hasFill()&&this._contains(t))return new T("fill",this)},matches:function(t,e){var i=typeof t;if("object"===i){for(var n in t)if(t.hasOwnProperty(n)&&!this.matches(n,t[n]))return!1;return!0}if("function"===i)return t(this);if("match"===t)return e(this);var s=/^(empty|editable)$/.test(t)?this["is"+r.capitalize(t)]():"type"===t?r.hyphenate(this._class):this[t];if("class"===t){if("function"==typeof e)return this instanceof e;s=this._class}if("function"==typeof e)return!!e(s);if(e){if(e.test)return e.test(s);if(r.isPlainObject(e))return function t(e,i){for(var n in e)if(e.hasOwnProperty(n)){var s=e[n],a=i[n];if(r.isPlainObject(s)&&r.isPlainObject(a)){if(!t(s,a))return!1}else if(!r.equals(s,a))return!1}return!0}(e,s)}return r.equals(s,e)},getItems:function(t){return w._getItems(this,t,this._matrix)},getItem:function(t){return w._getItems(this,t,this._matrix,null,!0)[0]||null},statics:{_getItems:function t(e,i,n,s,a){if(!s){var o="object"==typeof i&&i,h=o&&o.overlapping,u=o&&o.inside,l=(w=h||u)&&g.read([w]);s={items:[],recursive:o&&!1!==o.recursive,inside:!!u,overlapping:!!h,rect:l,path:h&&new L.Rectangle({rectangle:l,insert:!1})},o&&(i=r.filter({},i,{recursive:!0,inside:!0,overlapping:!0}))}var c=e._children,f=s.items;n=(l=s.rect)&&(n||new p);for(var d=0,_=c&&c.length;d<_;d++){var v=c[d],m=n&&n.appended(v._matrix),y=!0;if(l){var w=v.getBounds(m);if(!l.intersects(w))continue;l.contains(w)||s.overlapping&&(w.contains(l)||s.path.intersects(v,m))||(y=!1)}if(y&&v.matches(i)&&(f.push(v),a))break;if(!1!==s.recursive&&t(v,i,m,s,a),a&&f.length>0)break}return f}}},{importJSON:function(t){var e=r.importJSON(t,this);return e!==this?this.addChild(e):e},addChild:function(t){return this.insertChild(e,t)},insertChild:function(t,e){var i=e?this.insertChildren(t,[e]):null;return i&&i[0]},addChildren:function(t){return this.insertChildren(this._children.length,t)},insertChildren:function(t,e){var i=this._children;if(i&&e&&e.length>0){for(var n={},s=(e=r.slice(e)).length-1;s>=0;s--){var a=(l=e[s])&&l._id;!l||n[a]?e.splice(s,1):(l._remove(!1,!0),n[a]=!0)}r.splice(i,e,t,0);for(var o=this._project,h=o._changes,u=(s=0,e.length);s=0;n--)i[n]._remove(!0,!1);return i.length>0&&this._changed(11),i},clear:"#removeChildren",reverseChildren:function(){if(this._children){this._children.reverse();for(var t=0,e=this._children.length;t0},isInserted:function(){return!!this._parent&&this._parent.isInserted()},isAbove:function(t){return-1===this._getOrder(t)},isBelow:function(t){return 1===this._getOrder(t)},isParent:function(t){return this._parent===t},isChild:function(t){return t&&t._parent===this},isDescendant:function(t){for(var e=this;e=e._parent;)if(e===t)return!0;return!1},isAncestor:function(t){return!!t&&t.isDescendant(this)},isSibling:function(t){return this._parent===t._parent},isGroupedWith:function(t){for(var e=this._parent;e;){if(e._parent&&/^(Group|Layer|CompoundPath)$/.test(e._class)&&t.isDescendant(e))return!0;e=e._parent}return!1}},r.each(["rotate","scale","shear","skew"],(function(t){var e="rotate"===t;this[t]=function(){var i=(e?r:c).read(arguments),n=c.read(arguments,0,{readNull:!0});return this.transform((new p)[t](i,n||this.getPosition(!0)))}}),{translate:function(){var t=new p;return this.transform(t.translate.apply(t,arguments))},transform:function(t,e,i,n){var r=this._matrix,s=t&&!t.isIdentity(),a=(e||this._applyMatrix)&&(!r.isIdentity()||s||e&&i&&this._children);if(!s&&!a)return this;if(s){!t.isInvertible()&&r.isInvertible()&&(r._backup=r.getValues()),r.prepend(t,!0);var o=this._style,h=o.getFillColor(!0),u=o.getStrokeColor(!0);h&&h.transform(t),u&&u.transform(t)}if(a&&(a=this._transformContent(r,i,n))){var l=this._pivot;l&&r._transformPoint(l,l,!0),r.reset(!0),n&&this._canApplyMatrix&&(this._applyMatrix=!0)}var c=this._bounds,f=this._position;(s||a)&&this._changed(25);var d=s&&c&&t.decompose();if(d&&d.skewing.isZero()&&d.rotation%90==0){for(var _ in c){var g=c[_];if(g.nonscaling)delete c[_];else if(a||!g.internal){var v=g.rect;t._transformBounds(v,v)}}this._bounds=c;var p=c[this._getBoundsCacheKey(this._boundsOptions||{})];p&&(this._position=this._getPositionFromBounds(p.rect))}else s&&f&&this._pivot&&(this._position=t._transformPoint(f,f));return this},_transformContent:function(t,e,i){var n=this._children;if(n){for(var r=0,s=n.length;rr:n1&&s<4?-1:1,s>2?-1:1),o=a.multiply(r),h=o.subtract(a.multiply(n));if(new g(i?o.add(a.multiply(i)):o,h).contains(e))return{point:h,quadrant:s}}}function e(t,e,i,n){var r=t.divide(e);return(!n||r.isInQuadrant(n))&&r.subtract(r.normalize()).multiply(e).divide(i).length<=1}return{_contains:function e(i){if("rectangle"===this._type){var n=t(this,i);return n?i.subtract(n.point).divide(this._radius).getLength()<=1:e.base.call(this,i)}return i.divide(this.size).getLength()<=.5},_hitTestSelf:function i(n,r,s,a){var o=!1,h=this._style,u=r.stroke&&h.hasStroke(),l=r.fill&&h.hasFill();if(u||l){var c=this._type,f=this._radius,d=u?h.getStrokeWidth()/2:0,_=r._tolerancePadding.add(L._getStrokePadding(d,!h.getStrokeScaling()&&a));if("rectangle"===c){var v=_.multiply(2),p=t(this,n,v);if(p)o=e(n.subtract(p.point),f,_,p.quadrant);else{var m=new g(this._size).setCenter(0,0),y=m.expand(v),w=m.expand(v.negate());o=y._containsPoint(n)&&!w._containsPoint(n)}}else o=e(n,f,_)}return o?new T(u?"stroke":"fill",this):i.base.apply(this,arguments)}}},{statics:new function(){function t(t,e,i,n,s){var a=new C(r.getNamed(s),e);return a._type=t,a._size=i,a._radius=n,a}return{Circle:function(){var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return t("circle",e,new d(2*i),i,arguments)},Rectangle:function(){var e=g.readNamed(arguments,"rectangle"),i=d.min(d.readNamed(arguments,"radius"),e.getSize(!0).divide(2));return t("rectangle",e.getCenter(!0),e.getSize(!0),i,arguments)},Ellipse:function(){var e=C._readEllipse(arguments),i=e.radius;return t("ellipse",e.center,i.multiply(2),i,arguments)},_readEllipse:function(t){var e,i;if(r.hasNamed(t,"radius"))e=c.readNamed(t,"center"),i=d.readNamed(t,"radius");else{var n=g.readNamed(t,"rectangle");e=n.getCenter(!0),i=n.getSize(!0).divide(2)}return{center:e,radius:i}}}}}),S=w.extend({_class:"Raster",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!1,handle:!1},_serializeFields:{crossOrigin:null,source:null},_prioritize:["crossOrigin"],_smoothing:!0,initialize:function(t,i){if(!this._initialize(t,i!==e&&c.read(arguments,1))){var r="string"==typeof t?n.getElementById(t):t;r?this.setImage(r):this.setSource(t)}this._size||(this._size=new d,this._loaded=!1)},_equals:function(t){return this.getSource()===t.getSource()},copyContent:function(t){var e=t._image,i=t._canvas;if(e)this._setImage(e);else if(i){var n=tt.getCanvas(t._size);n.getContext("2d").drawImage(i,0,0),this._setImage(n)}this._crossOrigin=t._crossOrigin},getSize:function(){var t=this._size;return new _(t?t.width:0,t?t.height:0,this,"setSize")},setSize:function(){var t=d.read(arguments);if(!t.equals(this._size))if(t.width>0&&t.height>0){var e=this.getElement();this._setImage(tt.getCanvas(t)),e&&this.getContext(!0).drawImage(e,0,0,t.width,t.height)}else this._canvas&&tt.release(this._canvas),this._size=t.clone()},getWidth:function(){return this._size?this._size.width:0},setWidth:function(t){this.setSize(t,this.getHeight())},getHeight:function(){return this._size?this._size.height:0},setHeight:function(t){this.setSize(this.getWidth(),t)},getLoaded:function(){return this._loaded},isEmpty:function(){var t=this._size;return!t||0===t.width&&0===t.height},getResolution:function(){var t=this._matrix,e=new c(0,0).transform(t),i=new c(1,0).transform(t).subtract(e),n=new c(0,1).transform(t).subtract(e);return new d(72/i.getLength(),72/n.getLength())},getPpi:"#getResolution",getImage:function(){return this._image},setImage:function(t){function e(t){var e=i.getView(),n=t&&t.type||"load";e&&i.responds(n)&&(rt=e._scope,i.emit(n,new $(t)))}var i=this;this._setImage(t),this._loaded?setTimeout(e,0):t&&Z.add(t,{load:function(n){i._setImage(t),e(n)},error:e})},_setImage:function(t){this._canvas&&tt.release(this._canvas),t&&t.getContext?(this._image=null,this._canvas=t,this._loaded=!0):(this._image=t,this._canvas=null,this._loaded=!!(t&&t.src&&t.complete)),this._size=new d(t?t.naturalWidth||t.width:0,t?t.naturalHeight||t.height:0),this._context=null,this._changed(1033)},getCanvas:function(){if(!this._canvas){var t=tt.getContext(this._size);try{this._image&&t.drawImage(this._image,0,0),this._canvas=t.canvas}catch(e){tt.release(t)}}return this._canvas},setCanvas:"#setImage",getContext:function(t){return this._context||(this._context=this.getCanvas().getContext("2d")),t&&(this._image=null,this._changed(1025)),this._context},setContext:function(t){this._context=t},getSource:function(){var t=this._image;return t&&t.src||this.toDataURL()},setSource:function(e){var i=new t.Image,n=this._crossOrigin;n&&(i.crossOrigin=n),i.src=e,this.setImage(i)},getCrossOrigin:function(){var t=this._image;return t&&t.crossOrigin||this._crossOrigin||""},setCrossOrigin:function(t){this._crossOrigin=t;var e=this._image;e&&(e.crossOrigin=t)},getSmoothing:function(){return this._smoothing},setSmoothing:function(t){this._smoothing=t,this._changed(257)},getElement:function(){return this._canvas||this._loaded&&this._image}},{beans:!1,getSubCanvas:function(){var t=g.read(arguments),e=tt.getContext(t.getSize());return e.drawImage(this.getCanvas(),t.x,t.y,t.width,t.height,0,0,t.width,t.height),e.canvas},getSubRaster:function(){var t=g.read(arguments),e=new S(w.NO_INSERT);return e._setImage(this.getSubCanvas(t)),e.translate(t.getCenter().subtract(this.getSize().divide(2))),e._matrix.prepend(this._matrix),e.insertAbove(this),e},toDataURL:function(){var t=this._image,e=t&&t.src;if(/^data:/.test(e))return e;var i=this.getCanvas();return i?i.toDataURL.apply(i,arguments):null},drawImage:function(t){var e=c.read(arguments,1);this.getContext(!0).drawImage(t,e.x,e.y)},getAverageColor:function(t){var e,i;if(t?t instanceof A?(i=t,e=t.getBounds()):"object"==typeof t&&("width"in t?e=new g(t):"x"in t&&(e=new g(t.x-.5,t.y-.5,1,1))):e=this.getBounds(),!e)return null;var n=Math.min(e.width,32),s=Math.min(e.height,32),a=S._sampleContext;a?a.clearRect(0,0,33,33):a=S._sampleContext=tt.getContext(new d(32)),a.save();var o=(new p).scale(n/e.width,s/e.height).translate(-e.x,-e.y);o.applyToContext(a),i&&i.draw(a,new r({clip:!0,matrices:[o]})),this._matrix.applyToContext(a);var h=this.getElement(),u=this._size;h&&a.drawImage(h,-u.width/2,-u.height/2),a.restore();for(var l=a.getImageData(.5,.5,Math.ceil(n),Math.ceil(s)).data,c=[0,0,0],f=0,_=0,v=l.length;_0&&n.height>0&&(t.globalAlpha=this._opacity,this._setStyles(t,e,i),H.setPrefixed(t,"imageSmoothingEnabled",this._smoothing),t.drawImage(n,-this._size.width/2,-this._size.height/2))},_canComposite:function(){return!0}}),P=w.extend({_class:"SymbolItem",_applyMatrix:!1,_canApplyMatrix:!1,_boundsOptions:{stroke:!0},_serializeFields:{symbol:null},initialize:function(t,i){this._initialize(t,i!==e&&c.read(arguments,1))||this.setDefinition(t instanceof I?t:new I(t))},_equals:function(t){return this._definition===t._definition},copyContent:function(t){this.setDefinition(t._definition)},getDefinition:function(){return this._definition},setDefinition:function(t){this._definition=t,this._changed(9)},getSymbol:"#getDefinition",setSymbol:"#setDefinition",isEmpty:function(){return this._definition._item.isEmpty()},_getBounds:function(t,e){var i=this._definition._item;return i._getCachedBounds(i._matrix.prepended(t),e)},_hitTestSelf:function(t,e,i){var n=this._definition._item._hitTest(t,e,i);return n&&(n.item=this),n},_draw:function(t,e){this._definition._item.draw(t,e)}}),I=r.extend({_class:"SymbolDefinition",initialize:function(t,e){this._id=l.get(),this.project=rt.project,t&&this.setItem(t,e)},_serialize:function(t,e){return e.add(this,(function(){return r.serialize([this._class,this._item],t,!1,e)}))},_changed:function(t){8&t&&w._clearBoundsCache(this),1&t&&this.project._changed(t)},getItem:function(){return this._item},setItem:function(t,e){t._symbol&&(t=t.clone()),this._item&&(this._item._symbol=null),this._item=t,t.remove(),t.setSelected(!1),e||t.setPosition(new c),t._symbol=this,this._changed(9)},getDefinition:"#getItem",setDefinition:"#setItem",place:function(t){return new P(this,t)},clone:function(){return new I(this._item.clone(!1))},equals:function(t){return t===this||t&&this._item.equals(t._item)||!1}}),T=r.extend({_class:"HitResult",initialize:function(t,e,i){this.type=t,this.item=e,i&&this.inject(i)},statics:{getOptions:function(t){var e=t&&r.read(t);return r.set({type:null,tolerance:rt.settings.hitTolerance,fill:!e,stroke:!e,segments:!e,handles:!1,ends:!1,position:!1,center:!1,bounds:!1,guides:!1,selected:!1},e)}}}),M=r.extend({_class:"Segment",beans:!0,_selection:0,initialize:function(t,i,n,r,s,a){var o,h,u,l,c=arguments.length;c>0&&(null==t||"object"==typeof t?1===c&&t&&"point"in t?(o=t.point,h=t.handleIn,u=t.handleOut,l=t.selection):(o=t,h=i,u=n,l=r):(o=[t,i],h=n!==e?[n,r]:null,u=s!==e?[s,a]:null)),new k(o,this,"_point"),new k(h,this,"_handleIn"),new k(u,this,"_handleOut"),l&&this.setSelection(l)},_serialize:function(t,e){var i=this._point,n=this._selection,s=n||this.hasHandles()?[i,this._handleIn,this._handleOut]:i;return n&&s.push(n),r.serialize(s,t,!0,e)},_changed:function(t){var e=this._path;if(e){var i,n=e._curves,r=this._index;n&&(t&&t!==this._point&&t!==this._handleIn||!(i=r>0?n[r-1]:e._closed?n[n.length-1]:null)||i._changed(),t&&t!==this._point&&t!==this._handleOut||!(i=n[r])||i._changed()),e._changed(41)}},getPoint:function(){return this._point},setPoint:function(){this._point.set(c.read(arguments))},getHandleIn:function(){return this._handleIn},setHandleIn:function(){this._handleIn.set(c.read(arguments))},getHandleOut:function(){return this._handleOut},setHandleOut:function(){this._handleOut.set(c.read(arguments))},hasHandles:function(){return!this._handleIn.isZero()||!this._handleOut.isZero()},isSmooth:function(){var t=this._handleIn,e=this._handleOut;return!t.isZero()&&!e.isZero()&&t.isCollinear(e)},clearHandles:function(){this._handleIn._set(0,0),this._handleOut._set(0,0)},getSelection:function(){return this._selection},setSelection:function(t){var e=this._selection,i=this._path;this._selection=t=t||0,i&&t!==e&&(i._updateSelection(this,e,t),i._changed(257))},_changeSelection:function(t,e){var i=this._selection;this.setSelection(e?i|t:i&~t)},isSelected:function(){return!!(7&this._selection)},setSelected:function(t){this._changeSelection(7,t)},getIndex:function(){return this._index!==e?this._index:null},getPath:function(){return this._path||null},getCurve:function(){var t=this._path,e=this._index;return t?(e>0&&!t._closed&&e===t._segments.length-1&&e--,t.getCurves()[e]||null):null},getLocation:function(){var t=this.getCurve();return t?new O(t,this===t._segment1?0:1):null},getNext:function(){var t=this._path&&this._path._segments;return t&&(t[this._index+1]||this._path._closed&&t[0])||null},smooth:function(t,i,n){var r=t||{},s=r.type,a=r.factor,o=this.getPrevious(),h=this.getNext(),u=(o||this)._point,l=this._point,f=(h||this)._point,d=u.getDistance(l),_=l.getDistance(f);if(s&&"catmull-rom"!==s){if("geometric"!==s)throw new Error("Smoothing method '"+s+"' not supported.");if(o&&h){var g=u.subtract(f),v=a===e?.4:a,p=v*d/(d+_);i||this.setHandleIn(g.multiply(p)),n||this.setHandleOut(g.multiply(p-v))}}else{var m=a===e?.5:a,y=Math.pow(d,m),w=y*y,x=Math.pow(_,m),b=x*x;if(!i&&o){var C=2*b+3*x*y+w,S=3*x*(x+y);this.setHandleIn(0!==S?new c((b*u._x+C*l._x-w*f._x)/S-l._x,(b*u._y+C*l._y-w*f._y)/S-l._y):new c)}!n&&h&&(C=2*w+3*y*x+b,S=3*y*(y+x),this.setHandleOut(0!==S?new c((w*f._x+C*l._x-b*u._x)/S-l._x,(w*f._y+C*l._y-b*u._y)/S-l._y):new c))}},getPrevious:function(){var t=this._path&&this._path._segments;return t&&(t[this._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._index},isLast:function(){var t=this._path;return t&&this._index===t._segments.length-1||!1},reverse:function(){var t=this._handleIn,e=this._handleOut,i=t.clone();t.set(e),e.set(i)},reversed:function(){return new M(this._point,this._handleOut,this._handleIn)},remove:function(){return!!this._path&&!!this._path.removeSegment(this._index)},clone:function(){return new M(this._point,this._handleIn,this._handleOut)},equals:function(t){return t===this||t&&this._class===t._class&&this._point.equals(t._point)&&this._handleIn.equals(t._handleIn)&&this._handleOut.equals(t._handleOut)||!1},toString:function(){var t=["point: "+this._point];return this._handleIn.isZero()||t.push("handleIn: "+this._handleIn),this._handleOut.isZero()||t.push("handleOut: "+this._handleOut),"{ "+t.join(", ")+" }"},transform:function(t){this._transformCoordinates(t,new Array(6),!0),this._changed()},interpolate:function(t,e,i){var n=1-i,r=i,s=t._point,a=e._point,o=t._handleIn,h=e._handleIn,u=e._handleOut,l=t._handleOut;this._point._set(n*s._x+r*a._x,n*s._y+r*a._y,!0),this._handleIn._set(n*o._x+r*h._x,n*o._y+r*h._y,!0),this._handleOut._set(n*l._x+r*u._x,n*l._y+r*u._y,!0),this._changed()},_transformCoordinates:function(t,e,i){var n=this._point,r=i&&this._handleIn.isZero()?null:this._handleIn,s=i&&this._handleOut.isZero()?null:this._handleOut,a=n._x,o=n._y,h=2;return e[0]=a,e[1]=o,r&&(e[h++]=r._x+a,e[h++]=r._y+o),s&&(e[h++]=s._x+a,e[h++]=s._y+o),t&&(t._transformCoordinates(e,e,h/2),a=e[0],o=e[1],i?(n._x=a,n._y=o,h=2,r&&(r._x=e[h++]-a,r._y=e[h++]-o),s&&(s._x=e[h++]-a,s._y=e[h++]-o)):(r||(e[h++]=a,e[h++]=o),s||(e[h++]=a,e[h++]=o))),e}}),k=c.extend({initialize:function(t,i,n){var r,s,a;if(t)if((r=t[0])!==e)s=t[1];else{var o=t;(r=o.x)===e&&(r=(o=c.read(arguments)).x),s=o.y,a=o.selected}else r=s=0;this._x=r,this._y=s,this._owner=i,i[n]=this,a&&this.setSelected(!0)},_set:function(t,e){return this._x=t,this._y=e,this._owner._changed(this),this},getX:function(){return this._x},setX:function(t){this._x=t,this._owner._changed(this)},getY:function(){return this._y},setY:function(t){this._y=t,this._owner._changed(this)},isZero:function(){var t=u.isZero;return t(this._x)&&t(this._y)},isSelected:function(){return!!(this._owner._selection&this._getSelection())},setSelected:function(t){this._owner._changeSelection(this._getSelection(),t)},_getSelection:function(){var t=this._owner;return this===t._point?1:this===t._handleIn?2:this===t._handleOut?4:0}}),z=r.extend({_class:"Curve",beans:!0,initialize:function(t,e,i,n,r,s,a,o){var h,u,l,c,f,d,_=arguments.length;3===_?(this._path=t,h=e,u=i):_?1===_?"segment1"in t?(h=new M(t.segment1),u=new M(t.segment2)):"point1"in t?(l=t.point1,f=t.handle1,d=t.handle2,c=t.point2):Array.isArray(t)&&(l=[t[0],t[1]],c=[t[6],t[7]],f=[t[2]-t[0],t[3]-t[1]],d=[t[4]-t[6],t[5]-t[7]]):2===_?(h=new M(t),u=new M(e)):4===_?(l=t,f=e,d=i,c=n):8===_&&(l=[t,e],c=[a,o],f=[i-t,n-e],d=[r-a,s-o]):(h=new M,u=new M),this._segment1=h||new M(l,null,f),this._segment2=u||new M(c,d,null)},_serialize:function(t,e){return r.serialize(this.hasHandles()?[this.getPoint1(),this.getHandle1(),this.getHandle2(),this.getPoint2()]:[this.getPoint1(),this.getPoint2()],t,!0,e)},_changed:function(){this._length=this._bounds=e},clone:function(){return new z(this._segment1,this._segment2)},toString:function(){var t=["point1: "+this._segment1._point];return this._segment1._handleOut.isZero()||t.push("handle1: "+this._segment1._handleOut),this._segment2._handleIn.isZero()||t.push("handle2: "+this._segment2._handleIn),t.push("point2: "+this._segment2._point),"{ "+t.join(", ")+" }"},classify:function(){return z.classify(this.getValues())},remove:function(){var t=!1;if(this._path){var e=this._segment2,i=e._handleOut;(t=e.remove())&&this._segment1._handleOut.set(i)}return t},getPoint1:function(){return this._segment1._point},setPoint1:function(){this._segment1._point.set(c.read(arguments))},getPoint2:function(){return this._segment2._point},setPoint2:function(){this._segment2._point.set(c.read(arguments))},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(){this._segment1._handleOut.set(c.read(arguments))},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(){this._segment2._handleIn.set(c.read(arguments))},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index+1]||this._path._closed&&t[0])||null},getPrevious:function(){var t=this._path&&this._path._curves;return t&&(t[this._segment1._index-1]||this._path._closed&&t[t.length-1])||null},isFirst:function(){return!this._segment1._index},isLast:function(){var t=this._path;return t&&this._segment1._index===t._curves.length-1||!1},isSelected:function(){return this.getPoint1().isSelected()&&this.getHandle1().isSelected()&&this.getHandle2().isSelected()&&this.getPoint2().isSelected()},setSelected:function(t){this.getPoint1().setSelected(t),this.getHandle1().setSelected(t),this.getHandle2().setSelected(t),this.getPoint2().setSelected(t)},getValues:function(t){return z.getValues(this._segment1,this._segment2,t)},getPoints:function(){for(var t=this.getValues(),e=[],i=0;i<8;i+=2)e.push(new c(t[i],t[i+1]));return e}},{getLength:function(){return null==this._length&&(this._length=z.getLength(this.getValues(),0,1)),this._length},getArea:function(){return z.getArea(this.getValues())},getLine:function(){return new m(this._segment1._point,this._segment2._point)},getPart:function(t,e){return new z(z.getPart(this.getValues(),t,e))},getPartLength:function(t,e){return z.getLength(this.getValues(),t,e)},divideAt:function(t){return this.divideAtTime(t&&t.curve===this?t.time:this.getTimeAt(t))},divideAtTime:function(t,e){var i=null;if(t>=1e-8&&t<=1-1e-8){var n=z.subdivide(this.getValues(),t),r=n[0],s=n[1],a=e||this.hasHandles(),o=this._segment1,h=this._segment2,u=this._path;a&&(o._handleOut._set(r[2]-r[0],r[3]-r[1]),h._handleIn._set(s[4]-s[6],s[5]-s[7]));var l=r[6],f=r[7],d=new M(new c(l,f),a&&new c(r[4]-l,r[5]-f),a&&new c(s[2]-l,s[3]-f));u?(u.insert(o._index+1,d),i=this.getNext()):(this._segment2=d,this._changed(),i=new z(d,h))}return i},splitAt:function(t){var e=this._path;return e?e.splitAt(t):null},splitAtTime:function(t){return this.splitAt(this.getLocationAtTime(t))},divide:function(t,i){return this.divideAtTime(t===e?.5:i?t:this.getTimeAt(t))},split:function(t,i){return this.splitAtTime(t===e?.5:i?t:this.getTimeAt(t))},reversed:function(){return new z(this._segment2.reversed(),this._segment1.reversed())},clearHandles:function(){this._segment1._handleOut._set(0,0),this._segment2._handleIn._set(0,0)},statics:{getValues:function(t,e,i,n){var r=t._point,s=t._handleOut,a=e._handleIn,o=e._point,h=r.x,u=r.y,l=o.x,c=o.y,f=n?[h,u,h,u,l,c,l,c]:[h,u,h+s._x,u+s._y,l+a._x,c+a._y,l,c];return i&&i._transformCoordinates(f,f,4),f},subdivide:function(t,i){var n=t[0],r=t[1],s=t[2],a=t[3],o=t[4],h=t[5],u=t[6],l=t[7];i===e&&(i=.5);var c=1-i,f=c*n+i*s,d=c*r+i*a,_=c*s+i*o,g=c*a+i*h,v=c*o+i*u,p=c*h+i*l,m=c*f+i*_,y=c*d+i*g,w=c*_+i*v,x=c*g+i*p,b=c*m+i*w,C=c*y+i*x;return[[n,r,f,d,m,y,b,C],[b,C,w,x,v,p,u,l]]},getMonoCurves:function(t,e){var i=[],n=e?0:1,r=t[n+0],s=t[n+2],a=t[n+4],o=t[n+6];if(r>=s==s>=a&&s>=a==a>=o||z.isStraight(t))i.push(t);else{var h=3*(s-a)-r+o,l=2*(r+a)-4*s,c=s-r,f=[],d=u.solveQuadratic(h,l,c,f,1e-8,1-1e-8);if(d){f.sort();var _=f[0],g=z.subdivide(t,_);i.push(g[0]),d>1&&(_=(f[1]-_)/(1-_),g=z.subdivide(g[1],_),i.push(g[0])),i.push(g[1])}else i.push(t)}return i},solveCubic:function(t,e,i,n,r,s){var a=t[e],o=t[e+2],h=t[e+4],l=t[e+6],c=0;if(!(ai&&l>i&&o>i&&h>i)){var f=3*(o-a),d=3*(h-o)-f,_=l-a-f-d;c=u.solveCubic(_,d,f,a-i,n,r,s)}return c},getTimeOf:function(t,e){var i=new c(t[0],t[1]),n=new c(t[6],t[7]),r=1e-7;if(null===(e.isClose(i,1e-12)?0:e.isClose(n,1e-12)?1:null))for(var s=[e.x,e.y],a=[],o=0;o<2;o++)for(var h=z.solveCubic(t,o,s[o],a,0,1),u=0;u=0&&i<=1){var n=e.getDistance(z.getPoint(t,i),!0);if(n.999999999999?1:z.getTimeOf(t,new c(n+h*s,r+h*a))}for(var u=1/0,l=0,f=0;f<=100;f++)i(f/100);for(var d=.005;d>1e-8;)i(l-d)||i(l+d)||(d/=2);return l},getPart:function(t,e,i){var n=e>i;if(n){var r=e;e=i,i=r}return e>0&&(t=z.subdivide(t,e)[1]),i<1&&(t=z.subdivide(t,(i-e)/(1-e))[0]),n?[t[6],t[7],t[4],t[5],t[2],t[3],t[0],t[1]]:t},isFlatEnough:function(t,e){var i=t[0],n=t[1],r=t[2],s=t[3],a=t[4],o=t[5],h=t[6],u=t[7],l=3*r-2*i-h,c=3*s-2*n-u,f=3*a-2*h-i,d=3*o-2*u-n;return Math.max(l*l,f*f)+Math.max(c*c,d*d)<=16*e*e},getArea:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7];return 3*((h-i)*(n+s)-(o-e)*(r+a)+r*(e-s)-n*(i-a)+h*(s+e/3)-o*(a+i/3))/20},getBounds:function(t){for(var e=t.slice(0,2),i=e.slice(),n=[0,0],r=0;r<2;r++)z._addBounds(t[r],t[r+2],t[r+4],t[r+6],r,0,e,i,n);return new g(e[0],e[1],i[0]-e[0],i[1]-e[1])},_addBounds:function(t,e,i,n,r,s,a,o,h){function l(t,e){var i=t-e,n=t+e;io[r]&&(o[r]=n)}s/=2;var c=a[r]-s,f=o[r]+s;if(tf||e>f||i>f||n>f)if(e=0&&o<=1&&h<=0&&h>=-1}}return!1},isLinear:function(t,e,i,n){var r=n.subtract(t).divide(3);return e.equals(r)&&i.negate().equals(r)}},(function(t,e){this[e]=function(e){var i=this._segment1,n=this._segment2;return t(i._point,i._handleOut,n._handleIn,n._point,e)},this.statics[e]=function(e,i){var n=e[0],r=e[1],s=e[6],a=e[7];return t(new c(n,r),new c(e[2]-n,e[3]-r),new c(e[4]-s,e[5]-a),new c(s,a),i)}}),{statics:{},hasHandles:function(){return!this._segment1._handleOut.isZero()||!this._segment2._handleIn.isZero()},hasLength:function(t){return(!this.getPoint1().equals(this.getPoint2())||this.hasHandles())&&this.getLength()>(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&t>=0&&t<=1?new O(this,t):null},getTimeAt:function(t,e){return z.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getTimesWithTangent:function(){var t=c.read(arguments);return t.isZero()?[]:z.getTimesWithTangent(this.getValues(),t)},getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(c.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return z.getTimeOf(this.getValues(),c.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=c.read(arguments),e=this.getValues(),i=z.getNearestTime(e,t),n=z.getPoint(e,i);return new O(this,i,n,null,t.getDistance(n))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return r.each(t,(function(t){this[t+"At"]=function(e,i){var n=this.getValues();return z[t](n,i?e:z.getTimeAt(n,e))},this[t+"AtTime"]=function(e){return z[t](this.getValues(),e)}}),{statics:{_evaluateMethods:t}})},new function(){function t(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],u=9*(n-s)+3*(o-e),l=6*(e+s)-12*n,c=3*(n-e),f=9*(r-a)+3*(h-i),d=6*(i+a)-12*r,_=3*(r-i);return function(t){var e=(u*t+l)*t+c,i=(f*t+d)*t+_;return Math.sqrt(e*e+i*i)}}function i(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,i,n){if(null==e||e<0||e>1)return null;var r=t[0],s=t[1],a=t[2],o=t[3],h=t[4],l=t[5],f=t[6],d=t[7],_=u.isZero;_(a-r)&&_(o-s)&&(a=r,o=s),_(h-f)&&_(l-d)&&(h=f,l=d);var g,v,p=3*(a-r),m=3*(h-a)-p,y=f-r-p-m,w=3*(o-s),x=3*(l-o)-w,b=d-s-w-x;if(0===i)g=0===e?r:1===e?f:((y*e+m)*e+p)*e+r,v=0===e?s:1===e?d:((b*e+x)*e+w)*e+s;else{var C=1e-8,S=1-C;if(eS?(g=3*(f-h),v=3*(d-l)):(g=(3*y*e+2*m)*e+p,v=(3*b*e+2*x)*e+w),n){0===g&&0===v&&(eS)&&(g=h-a,v=l-o);var P=Math.sqrt(g*g+v*v);P&&(g/=P,v/=P)}if(3===i){h=6*y*e+2*m,l=6*b*e+2*x;var I=Math.pow(g*g+v*v,1.5);g=0!==I?(g*l-v*h)/I:0,v=0}}return 2===i?new c(v,-g):new c(g,v)}return{statics:{classify:function(t){function i(t,i,n){var r=i!==e,s=r&&i>0&&i<1,a=r&&n>0&&n<1;return!r||(s||a)&&("loop"!==t||s&&a)||(t="arch",s=a=!1),{type:t,roots:s||a?s&&a?i0?Math.sqrt(w/3):Math.sqrt(-w),b=2*g;return i(w>0?y:"loop",(_+x)/b,(_-x)/b)},getLength:function(n,r,s,a){if(r===e&&(r=0),s===e&&(s=1),z.isStraight(n)){var o=n;s<1&&(o=z.subdivide(o,s)[0],r/=s),r>0&&(o=z.subdivide(o,r)[1]);var h=o[6]-o[0],l=o[7]-o[1];return Math.sqrt(h*h+l*l)}return u.integrate(a||t(n),r,s,i(r,s))},getTimeAt:function(n,r,s){if(s===e&&(s=r<0?1:0),0===r)return s;var a=Math.abs,o=r>0,h=o?s:0,l=o?1:s,c=t(n),f=z.getLength(n,h,l,c),d=a(r)-f;if(a(d)<1e-12)return o?l:h;if(d>1e-12)return null;var _=r/f,g=0;return u.findRoot((function(t){return g+=u.integrate(c,s,t,i(s,t)),s=t,g-r}),c,s+_,h,l,32,1e-12)},getPoint:function(t,e){return n(t,e,0,!1)},getTangent:function(t,e){return n(t,e,1,!0)},getWeightedTangent:function(t,e){return n(t,e,1,!1)},getNormal:function(t,e){return n(t,e,2,!0)},getWeightedNormal:function(t,e){return n(t,e,2,!1)},getCurvature:function(t,e){return n(t,e,3,!1).x},getPeaks:function(t){var e=t[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=3*n-e-3*s+t[6],h=3*e-6*n+3*s,l=-3*e+3*n,c=3*r-i-3*a+t[7],f=3*i-6*r+3*a,d=-3*i+3*r,_=[];return u.solveCubic(9*(o*o+c*c),9*(o*h+f*c),2*(h*h+f*f)+3*(l*o+d*c),l*h+f*d,_,1e-8,1-1e-8),_.sort()}}}},new function(){function t(t,e,i,n,r,s,a){var o=!a&&i.getPrevious()===r,h=!a&&i!==r&&i.getNext()===r,u=1e-8,l=1-u;if(null!==n&&n>=(o?u:0)&&n<=(h?l:1)&&null!==s&&s>=(h?u:0)&&s<=(o?l:1)){var c=new O(i,n,null,a),f=new O(r,s,null,a);c._intersection=f,f._intersection=c,e&&!e(c)||O.insert(t,c,!0)}}function e(n,r,s,a,o,h,u,l,c,f,d,_,g){if(++c>=4096||++l>=40)return c;var v,p,y=r[0],w=r[1],x=r[6],b=r[7],C=m.getSignedDistance,S=C(y,w,x,b,r[2],r[3]),P=C(y,w,x,b,r[4],r[5]),I=S*P>0?.75:4/9,T=I*Math.min(0,S,P),M=I*Math.max(0,S,P),k=C(y,w,x,b,n[0],n[1]),O=C(y,w,x,b,n[2],n[3]),A=C(y,w,x,b,n[4],n[5]),L=C(y,w,x,b,n[6],n[7]),N=function(t,e,i,n){var r,s=[0,t],a=[1/3,e],o=[2/3,i],h=[1,n],u=e-(2*t+n)/3,l=i-(t+2*n)/3;if(u*l<0)r=[[s,a,h],[s,o,h]];else{var c=u/l;r=[c>=2?[s,a,h]:c<=.5?[s,o,h]:[s,a,o,h],[s,h]]}return(u||l)<0?r.reverse():r}(k,O,A,L),B=N[0],F=N[1];if(0===S&&0===P&&0===k&&0===O&&0===A&&0===L||null==(v=i(B,F,T,M))||null==(p=i(B.reverse(),F.reverse(),T,M)))return c;var j=f+(d-f)*v,E=f+(d-f)*p;if(Math.max(g-_,E-j)<1e-9){var D=(j+E)/2,R=(_+g)/2;t(o,h,u?a:s,u?R:D,u?s:a,u?D:R)}else if(n=z.getPart(n,v,p),p-v>.8)if(E-j>g-_)D=(j+E)/2,c=e(r,(q=z.subdivide(n,.5))[0],a,s,o,h,!u,l,c,_,g,j,D),c=e(r,q[1],a,s,o,h,!u,l,c,_,g,D,E);else{var q;R=(_+g)/2,c=e((q=z.subdivide(r,.5))[0],n,a,s,o,h,!u,l,c,_,R,j,E),c=e(q[1],n,a,s,o,h,!u,l,c,R,g,j,E)}else c=g-_>=1e-9?e(r,n,a,s,o,h,!u,l,c,_,g,j,E):e(n,r,s,a,o,h,u,l,c,j,E,_,g);return c}function i(t,e,i,r){return t[0][1]r?n(e,!1,r):t[0][0]}function n(t,e,i){for(var n=t[0][0],r=t[0][1],s=1,a=t.length;s=i:h<=i)return h===i?o:n+(i-r)*(o-n)/(h-r);n=o,r=h}return null}function s(t,e,i,n,r){var s=u.isZero;if(s(n)&&s(r)){var a=z.getTimeOf(t,new c(e,i));return null===a?[]:[a]}for(var o=Math.atan2(-r,n),h=Math.sin(o),l=Math.cos(o),f=[],d=[],_=0;_<8;_+=2){var g=t[_]-e,v=t[_+1]-i;f.push(g*l-v*h,g*h+v*l)}return z.solveCubic(f,1,0,d,0,1),d}function a(e,i,n,r,a,o,h){for(var u=i[0],l=i[1],c=s(e,u,l,i[6]-u,i[7]-l),f=0,d=c.length;fd(n[0],n[2],n[4],n[6])&&d(i[0],i[2],i[4],i[6])-l<_(n[0],n[2],n[4],n[6])&&_(i[1],i[3],i[5],i[7])+l>d(n[1],n[3],n[5],n[7])&&d(i[1],i[3],i[5],i[7])-l<_(n[1],n[3],n[5],n[7])){var g=f(i,n);if(g)for(var v=0;v<2;v++){var p=g[v];t(h,u,r,p[0],s,p[1],!0)}else{var m=z.isStraight(i),y=z.isStraight(n),w=m&&y,x=m&&!y,b=h.length;if((w?o:m||y?a:e)(x?n:i,x?i:n,x?s:r,x?r:s,h,u,x,0,0,0,1,0,1),!w||h.length===b)for(v=0;v<4;v++){var C=v>>1,S=1&v,P=6*C,I=6*S,T=new c(i[P],i[P+1]),M=new c(n[I],n[I+1]);T.isClose(M,l)&&t(h,u,r,C,s,S)}}}return h}function l(e,i,n,r){var s=z.classify(e);if("loop"===s.type){var a=s.roots;t(n,r,i,a[0],i,a[1])}return n}function f(t,e){function i(t){var e=t[6]-t[0],i=t[7]-t[1];return e*e+i*i}var n=Math.abs,r=m.getDistance,s=1e-7,a=z.isStraight(t),o=z.isStraight(e),h=a&&o,u=i(t)>1,S=z.getTimeOf(p[x],new c(p[b][C?6:0],p[b][C?7:1]));if(null!=S){var P=x?[C,S]:[S,C];(!y.length||n(P[0]-y[0][0])>1e-8&&n(P[1]-y[0][1])>1e-8)&&y.push(P)}if(w>2&&!y.length)break}if(2!==y.length)y=null;else if(!h){var I=z.getPart(t,y[0][0],y[1][0]),T=z.getPart(e,y[0][1],y[1][1]);(n(T[2]-I[2])>s||n(T[3]-I[3])>s||n(T[4]-I[4])>s||n(T[5]-I[5])>s)&&(y=null)}return y}return{getIntersections:function(t){var e=this.getValues(),i=t&&t!==this&&t.getValues();return i?h(e,i,this,t,[]):l(e,this,[])},statics:{getOverlaps:f,getIntersections:function(t,e,i,n,s,a){var o=!e;o&&(e=t);for(var u,c,f=t.length,d=e.length,_=[],g=[],v=0;v=0&&b<=1&&x.push(b)}}else{var C=(v*v-4*_*m)*d*d+(-2*v*p+4*g*m+4*_*y)*f*d+(p*p-4*g*y)*f*f,S=v*d-p*f;if(C>=0&&0!=w){var P=Math.sqrt(C),I=-(S+P)/w,T=(-S+P)/w;I>=0&&I<=1&&x.push(I),T>=0&&T<=1&&x.push(T)}}return x}}}}),O=r.extend({_class:"CurveLocation",initialize:function(t,e,i,n,r){if(e>=.99999999){var s=t.getNext();s&&(e=0,t=s)}this._setCurve(t),this._time=e,this._point=i||t.getPointAtTime(e),this._overlap=n,this._distance=r,this._intersection=this._next=this._previous=null},_setCurve:function(t){var e=t._path;this._path=e,this._version=e?e._version:0,this._curve=t,this._segment=null,this._segment1=t._segment1,this._segment2=t._segment2},_setSegment:function(t){this._setCurve(t.getCurve()),this._segment=t,this._time=t===this._segment1?0:1,this._point=t._point.clone()},getSegment:function(){var t=this._segment;if(!t){var e=this.getCurve(),i=this.getTime();0===i?t=e._segment1:1===i?t=e._segment2:null!=i&&(t=e.getPartLength(0,i)1?n[r-1]:r>0?n[0]:.5;d.push(z.getLength(i,e?s:0,e?1:s)/2)}function e(t,e,i){return ee&&te||t=s&&n<=a,h=r>=s&&r<=a;if(o&&h)return!this.isTouching();var u=this.getCurve(),l=na&&(u=u.getNext()),r>a&&(c=c.getNext()),!(l&&u&&f&&c))return!1;var d=[];o||(t(l,!0),t(u,!1)),h||(t(f,!0),t(c,!1));var _=this.getPoint(),g=Math.min.apply(Math,d),v=o?u.getTangentAtTime(n):u.getPointAt(g).subtract(_),p=o?v.negate():l.getPointAt(-g).subtract(_),m=h?c.getTangentAtTime(r):c.getPointAt(g).subtract(_),y=h?m.negate():f.getPointAt(-g).subtract(_),w=p.getAngle(),x=v.getAngle(),b=y.getAngle(),C=m.getAngle();return!!(o?e(w,b,C)^e(x,b,C)&&e(w,C,b)^e(x,C,b):e(b,w,x)^e(C,w,x)&&e(b,x,w)^e(C,x,w))},hasOverlap:function(){return!!this._overlap}},r.each(z._evaluateMethods,(function(t){var e=t+"At";this[t]=function(){var t=this.getCurve(),i=this.getTime();return null!=i&&t&&t[e](i,!0)}}),{preserve:!0}),new function(){function t(t,e,i){function n(i,n){for(var s=i+n;s>=-1&&s<=r;s+=n){var a=t[(s%r+r)%r];if(!e.getPoint().isClose(a.getPoint(),1e-7))break;if(e.equals(a))return a}return null}for(var r=t.length,s=0,a=r-1;s<=a;){var o,h=s+a>>>1,u=t[h];if(i&&(o=e.equals(u)?u:n(h,-1)||n(h,1)))return e._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=e.getPath(),c=u.getPath();(l!==c?l._id-c._id:e.getIndex()+e.getTime()-(u.getIndex()+u.getTime()))<0?a=h-1:s=h+1}return t.splice(s,0,e),e}return{statics:{insert:t,expand:function(e){for(var i=e.slice(),n=e.length-1;n>=0;n--)t(i,e[n]._intersection,!1);return i}}}}),A=w.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,i,n;if(r.isPlainObject(t)?(i=t.segments,e=t.pathData):Array.isArray(t)?i=t:"string"==typeof t&&(e=t),i){var s=i[0];n=s&&Array.isArray(s[0])}else e&&(n=(e.match(/m/gi)||[]).length>1||/z\s*\S+/i.test(e));return new(n?N:L)(t)}},_asPathItem:function(){return this},isClockwise:function(){return this.getArea()>=0},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){function e(t,e){var i=+n[t];return o&&(i+=h[e]),i}function i(t){return new c(e(t,"x"),e(t+1,"y"))}var n,r,s,a=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),o=!1,h=new c,u=new c;this.clear();for(var l=0,f=a&&a.length;lu&&this[n?"removeSegments":"removeChildren"](u,h);for(c=0;c=0&&e;h--){var u=i[h];e=!1;for(var l=s-1;l>=0&&!e;l--)u.compare(n[l])&&(a[l]||(a[l]=!0,o++),e=!0)}e=e&&o===s}return e}}),L=A.extend({_class:"Path",_serializeFields:{segments:[],closed:!1},initialize:function(t){this._closed=!1,this._segments=[],this._version=0;var i=Array.isArray(t)?"object"==typeof t[0]?t:arguments:!t||t.size!==e||t.x===e&&t.point===e?null:arguments;i&&i.length>0?this.setSegments(i):(this._curves=e,this._segmentSelection=0,i||"string"!=typeof t||(this.setPathData(t),t=null)),this._initialize(!i&&t)},_equals:function(t){return this._closed===t._closed&&r.equals(this._segments,t._segments)},copyContent:function(t){this.setSegments(t._segments),this._closed=t._closed},_changed:function t(i){if(t.base.call(this,i),8&i){if(this._length=this._area=e,32&i)this._version++;else if(this._curves)for(var n=0,r=this._curves.length;n0&&(i(f[0],!0),p.push("z")),p.join("")},isEmpty:function(){return!this._segments.length},_transformContent:function(t){for(var e=this._segments,i=new Array(6),n=0,r=e.length;n0&&e+s-1===l?e-1:e,f=c,d=Math.min(c+s,l);for(t._curves&&(n.splice.apply(n,[c,0].concat(t._curves)),f+=t._curves.length),o=f;o0?t-1:t},add:function(t){return arguments.length>1&&"number"!=typeof t?this._add(M.readList(arguments)):this._add([M.read(arguments)])[0]},insert:function(t,e){return arguments.length>2&&"number"!=typeof e?this._add(M.readList(arguments,1),t):this._add([M.read(arguments,1)],t)[0]},addSegment:function(){return this._add([M.read(arguments)])[0]},insertSegment:function(t){return this._add([M.read(arguments,1)],t)[0]},addSegments:function(t){return this._add(M.readList(t))},insertSegments:function(t,e){return this._add(M.readList(e),t)},removeSegment:function(t){return this.removeSegments(t,t+1)[0]||null},removeSegments:function(t,e,i){t=t||0,e=r.pick(e,this._segments.length);var n=this._segments,s=this._curves,a=n.length,o=n.splice(t,e-t),h=o.length;if(!h)return o;for(var u=0;u0&&e===a+(this._closed?1:0)?t-1:t;for(u=(s=s.splice(f,h)).length-1;u>=0;u--)s[u]._path=null;i&&(o._curves=s.slice(1)),this._adjustCurves(f,f)}return this._changed(41),o},clear:"#removeSegments",hasHandles:function(){for(var t=this._segments,e=0,i=t.length;e0&&this._segmentSelection===7*t},setFullySelected:function(t){t&&this._selectSegments(!0),this.setSelected(t)},setSelection:function t(e){1&e||this._selectSegments(!1),t.base.call(this,e)},_selectSegments:function(t){var e=this._segments,i=e.length,n=t?7:0;this._segmentSelection=n*i;for(var r=0;r0&&this.setSelected(!0)},divideAt:function(t){var e,i=this.getLocationAt(t);return i&&(e=i.getCurve().divideAt(i.getCurveOffset()))?e._segment1:null},splitAt:function(t){var e=this.getLocationAt(t),i=e&&e.index,n=e&&e.time;n>1-1e-8&&(i++,n=0);var r=this.getCurves();if(i>=0&&i=1e-8&&r[i++].divideAtTime(n);var s,a=this.removeSegments(i,this._segments.length,!0);return this._closed?(this.setClosed(!1),s=this):((s=new L(w.NO_INSERT)).insertAbove(this),s.copyAttributes(this)),s._add(a,0),this.addSegment(a[0]),s}return null},split:function(t,i){var n,r=i===e?t:(n=this.getCurves()[t])&&n.getLocationAtTime(i);return null!=r?this.splitAt(r):null},join:function(t,e){var i=e||0;if(t&&t!==this){var n=t._segments,r=this.getLastSegment(),s=t.getLastSegment();if(!s)return this;r&&r._point.isClose(s._point,i)&&t.reverse();var a=t.getFirstSegment();if(r&&r._point.isClose(a._point,i))r.setHandleOut(a._handleOut),this._add(n.slice(1));else{var o=this.getFirstSegment();o&&o._point.isClose(a._point,i)&&t.reverse(),s=t.getLastSegment(),o&&o._point.isClose(s._point,i)?(o.setHandleIn(s._handleIn),this._add(n.slice(0,n.length-1),0)):this._add(n.slice())}t._closed&&this._add([n[0]]),t.remove()}var h=this.getFirstSegment(),u=this.getLastSegment();return h!==u&&h._point.isClose(u._point,i)&&(h.setHandleIn(u._handleIn),u.remove(),this.setClosed(!0)),this},reduce:function(t){for(var e=this.getCurves(),i=t&&t.simplify,n=i?1e-7:0,r=e.length-1;r>=0;r--){var s=e[r];!s.hasHandles()&&(!s.hasLength(n)||i&&s.isCollinear(s.getNext()))&&s.remove()}return this},reverse:function(){this._segments.reverse();for(var t=0,e=this._segments.length;t0&&n.push(new M(e[i-1].curve.slice(6))),this.setSegments(n)},simplify:function(t){var e=new F(this).fit(t||2.5);return e&&this.setSegments(e),!!e},smooth:function(t){function i(t,e){var i=t&&t.index;if(null!=i){var r=t.path;if(r&&r!==n)throw new Error(t._class+" "+i+" of "+r+" is not part of "+n);e&&t instanceof z&&i++}else i="number"==typeof t?t:e;return Math.min(i<0&&h?i%o:i<0?i+o:i,o-1)}var n=this,r=t||{},s=r.type||"asymmetric",a=this._segments,o=a.length,h=this._closed,u=h&&r.from===e&&r.to===e,l=i(r.from,0),c=i(r.to,o-1);if(l>c)if(h)l-=o;else{var f=l;l=c,c=f}if(/^(?:asymmetric|continuous)$/.test(s)){var d="asymmetric"===s,_=Math.min,g=c-l+1,v=g-1,p=u?_(g,4):1,m=p,y=p,w=[];if(h||(m=_(1,l),y=_(1,o-c-1)),(v+=m+y)<=1)return;for(var x=0,b=l-m;x<=v;x++,b++)w[x]=a[(b<0?b+o:b)%o]._point;var C=w[0]._x+2*w[1]._x,S=w[0]._y+2*w[1]._y,P=2,I=v-1,T=[C],M=[S],k=[P],O=[],A=[];for(x=1;x=0;x--)O[x]=(T[x]-O[x+1])/k[x],A[x]=(M[x]-A[x+1])/k[x];O[v]=(3*w[v]._x-O[I])/2,A[v]=(3*w[v]._y-A[I])/2,x=m;var E=v-y;for(b=l;x<=E;x++,b++){var D=a[b<0?b+o:b],R=D._point,q=O[x]-R._x,V=A[x]-R._y;(u||xm)&&D.setHandleIn(-q,-V)}}else for(x=l;x<=c;x++)a[x<0?x+o:x].smooth(r,!u&&x===l,!u&&x===c)},toShape:function(t){function i(t,e){var i=l[t],n=i.getNext(),r=l[e],s=r.getNext();return i._handleOut.isZero()&&n._handleIn.isZero()&&r._handleOut.isZero()&&s._handleIn.isZero()&&n._point.subtract(i._point).isCollinear(s._point.subtract(r._point))}function n(t){var e=l[t],i=e.getNext(),n=e._handleOut,r=i._handleIn,s=.5522847498307936;if(n.isOrthogonal(r)){var a=e._point,o=i._point,h=new m(a,n,!0).intersect(new m(o,r,!0),!0);return h&&u.isZero(n.getLength()/h.subtract(a).getLength()-s)&&u.isZero(r.getLength()/h.subtract(o).getLength()-s)}return!1}function r(t,e){return l[t]._point.getDistance(l[e]._point)}if(!this._closed)return null;var s,a,o,h,l=this._segments;if(!this.hasHandles()&&4===l.length&&i(0,2)&&i(1,3)&&function(t){var e=l[1],i=e.getPrevious(),n=e.getNext();return i._handleOut.isZero()&&e._handleIn.isZero()&&e._handleOut.isZero()&&n._handleIn.isZero()&&e._point.subtract(i._point).isOrthogonal(n._point.subtract(e._point))}()?(s=C.Rectangle,a=new d(r(0,3),r(0,1)),h=l[1]._point.add(l[2]._point).divide(2)):8===l.length&&n(0)&&n(2)&&n(4)&&n(6)&&i(1,5)&&i(3,7)?(s=C.Rectangle,o=(a=new d(r(1,6),r(0,3))).subtract(new d(r(0,7),r(1,2))).divide(2),h=l[3]._point.add(l[4]._point).divide(2)):4===l.length&&n(0)&&n(1)&&n(2)&&n(3)&&(u.isZero(r(0,2)-r(1,3))?(s=C.Circle,o=r(0,2)/2):(s=C.Ellipse,o=new d(r(2,0)/2,r(3,1)/2)),h=l[1]._point),s){var c=this.getPosition(!0),f=new s({center:c,size:a,radius:o,insert:!1});return f.copyAttributes(this,!0),f._matrix.prepend(this._matrix),f.rotate(h.subtract(c).getAngle()+90),(t===e||t)&&f.insertAbove(this),f}return null},toPath:"#clone",compare:function t(e){if(!e||e instanceof N)return t.base.call(this,e);var i=this.getCurves(),n=e.getCurves(),r=i.length,s=n.length;if(!r||!s)return r==s;for(var a,o,h=i[0].getValues(),u=[],l=0,c=0,f=0;f0?s-1:f,o=v[0][1];break}}var _,g=Math.abs;for(d=u[a];h&&d;){var v;if((v=z.getOverlaps(h,d))&&g(v[0][0]-c)<1e-8){1===(c=v[1][0])&&(h=++l=s&&(a=0),d=u[a]||n[a].getValues(),o=0),!h)return _[0]===a&&_[1]===o;continue}}break}return!1},_hitTestSelf:function(t,e,i,n){function r(e,i){return t.subtract(e).divide(i).length<=1}function s(t,i,n){if(!e.selected||i.isSelected()){var s=t._point;if(i!==s&&(i=i.add(s)),r(i,x))return new T(n,g,{segment:t,point:i})}}function a(t,i){return(i||e.segments)&&s(t,t._point,"segment")||!i&&e.handles&&(s(t,t._handleIn,"handle-in")||s(t,t._handleOut,"handle-out"))}function o(t){f.add(t)}function h(e){var i,s=y||e._index>0&&e._index0||S?0:null;if(null!==P&&(P>0?(u=v.getStrokeJoin(),l=v.getStrokeCap(),c=v.getMiterLimit(),x=x.add(L._getStrokePadding(P,n))):u=l="round"),!e.ends||e.segments||y){if(e.segments||e.handles)for(var I=0;I1?h(d.getSegment())||(d=null):r(d.getPoint(),x)||(d=null)}if(!d&&"miter"===u&&m>1)for(I=0;It)return a.getLocationAt(t-s)}if(e.length>0&&t<=this.getLength())return new O(e[e.length-1],1)}else if(t&&t.getPath&&t.getPath()===this)return t;return null},getOffsetsWithTangent:function(){var t=c.read(arguments);if(t.isZero())return[];for(var e=[],i=0,n=this.getCurves(),r=0,s=n.length;r0&&n(f[0])}return{_draw:function(e,i,n,r){function s(t){return c[(t%f+f)%f]}var a=i.dontStart,o=i.dontFinish||i.clip,h=this.getStyle(),u=h.hasFill(),l=h.hasStroke(),c=h.getDashArray(),f=!rt.support.nativeDash&&l&&c&&c.length;if(a||e.beginPath(),(u||l&&!f||o)&&(t(e,this,r),this._closed&&e.closePath()),!o&&(u||l)&&(this._setStyles(e,i,n),u&&(e.fill(h.getFillRule()),e.shadowColor="rgba(0,0,0,0)"),l)){if(f){a||e.beginPath();var d,_=new B(this,.25,32,!1,r),g=_.length,v=-h.getDashOffset(),p=0;for(v%=g;v>0;)v-=s(p--)+s(p--);for(;v0||d>0)&&_.drawPart(e,Math.max(v,0),Math.max(d,0)),v=d+s(p++)}e.stroke()}},_drawSelected:function(e,i){e.beginPath(),t(e,this,i),e.stroke(),function(t,e,i,n){function r(e){var i=h[e],n=h[e+1];s==i&&a==n||(t.beginPath(),t.moveTo(s,a),t.lineTo(i,n),t.stroke(),t.beginPath(),t.arc(i,n,o,0,2*Math.PI,!0),t.fill())}for(var s,a,o=n/2,h=new Array(6),u=0,l=e.length;u1&&(k=(I*=L)*I,z=(T*=L)*T),a(L=(k*z-k*A-z*O)/(k*A+z*O))<1e-12&&(L=0),L<0)throw new Error("Cannot create an arc with the given arguments");e=new c(I*P/T,-T*S/I).multiply((b===x?-1:1)*o(L)).rotate(w).add(C),i=(n=(s=(new p).translate(e).rotate(w).scale(I,T))._inverseTransform(l)).getDirectedAngle(s._inverseTransform(f)),!x&&i>0?i-=360:x&&i<0&&(i+=360)}if(g){var N=new m(l.add(g).divide(2),g.subtract(l).rotate(90),!0),B=new m(g.add(f).divide(2),f.subtract(g).rotate(90),!0),F=new m(l,f),j=F.getSide(g);if(!(e=N.intersect(B,!0))){if(!j)return this.lineTo(f);throw new Error("Cannot create an arc with the given arguments")}i=(n=l.subtract(e)).getDirectedAngle(f.subtract(e));var E=F.getSide(e,!0);0===E?i=j*a(i):j===E&&(i+=i<0?360:-360)}for(var D=1e-7,R=a(i),q=R>=360?4:Math.ceil((R-D)/90),V=i/q,H=V*Math.PI/360,Z=4/3*Math.sin(H)/(1+Math.cos(H)),U=[],W=0;W<=q;W++){var $=f,G=null;if(W0&&(h(t[0],y),h(t[t.length-1],y)),v},_getStrokePadding:function(t,e){if(!e)return[t,t];var i=new c(t,0).transform(e),n=new c(0,t).transform(e),r=i.getAngleInRadians(),s=i.getLength(),a=n.getLength(),o=Math.sin(r),h=Math.cos(r),u=Math.tan(r),l=Math.atan2(a*u,s),f=Math.atan2(a,u*s);return[Math.abs(s*Math.cos(l)*h+a*Math.sin(l)*o),Math.abs(a*Math.sin(f)*h+s*Math.cos(f)*o)]},_addBevelJoin:function(t,e,i,n,r,s,a,o){var h=t.getCurve(),u=h.getPrevious(),l=h.getPoint1().transform(r),f=u.getNormalAtTime(1).multiply(i).transform(s),d=h.getNormalAtTime(0).multiply(i).transform(s);if(f.getDirectedAngle(d)<0&&(f=f.negate(),d=d.negate()),o&&a(l),a(l.add(f)),"miter"===e){var _=new m(l.add(f),new c(-f.y,f.x),!0).intersect(new m(l.add(d),new c(-d.y,d.x),!0),!0);_&&l.getDistance(_)<=n*i&&a(_)}a(l.add(d))},_addSquareCap:function(t,e,i,n,r,s,a){var o=t._point.transform(n),h=t.getLocation(),u=h.getNormal().multiply(0===h.getTime()?i:-i).transform(r);"square"===e&&(a&&(s(o.subtract(u)),s(o.add(u))),o=o.add(u.rotate(-90))),s(o.add(u)),s(o.subtract(u))},getHandleBounds:function(t,e,i,n,r){var s,a,o=i.getStyle();if(r.stroke&&o.hasStroke()){var h=i._getStrokeMatrix(n,r),u=o.getStrokeWidth()/2,l=u;"miter"===o.getStrokeJoin()&&(l=u*o.getMiterLimit()),"square"===o.getStrokeCap()&&(l=Math.max(l,u*Math.SQRT2)),s=L._getStrokePadding(u,h),a=L._getStrokePadding(l,h)}for(var c=new Array(6),f=1/0,d=-f,_=f,v=d,p=0,m=t.length;pd&&(d=I),T<_&&(_=T),M>v&&(v=M)}}return new g(f,_,d-f,v-_)}}});L.inject({statics:new function(){function t(t,e,i){var n=r.getNamed(i),s=new L(n&&0==n.insert&&w.NO_INSERT);return s._add(t),s._closed=e,s.set(n,{insert:!0})}function e(e,i,r){for(var s=new Array(4),a=0;a<4;a++){var o=n[a];s[a]=new M(o._point.multiply(i).add(e),o._handleIn.multiply(i),o._handleOut.multiply(i))}return t(s,!0,r)}var i=.5522847498307936,n=[new M([-1,0],[0,i],[0,-i]),new M([0,-1],[-i,0],[i,0]),new M([1,0],[0,-i],[0,i]),new M([0,1],[i,0],[-i,0])];return{Line:function(){return t([new M(c.readNamed(arguments,"from")),new M(c.readNamed(arguments,"to"))],!1,arguments)},Circle:function(){var t=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"radius");return e(t,new d(i),arguments)},Rectangle:function(){var e,n=g.readNamed(arguments,"rectangle"),r=d.readNamed(arguments,"radius",0,{readNull:!0}),s=n.getBottomLeft(!0),a=n.getTopLeft(!0),o=n.getTopRight(!0),h=n.getBottomRight(!0);if(!r||r.isZero())e=[new M(s),new M(a),new M(o),new M(h)];else{var u=(r=d.min(r,n.getSize(!0).divide(2))).width,l=r.height,c=u*i,f=l*i;e=[new M(s.add(u,0),null,[-c,0]),new M(s.subtract(0,l),[0,f]),new M(a.add(0,l),null,[0,-f]),new M(a.add(u,0),[-c,0],null),new M(o.subtract(u,0),null,[c,0]),new M(o.add(0,l),[0,-f],null),new M(h.subtract(0,l),null,[0,f]),new M(h.subtract(u,0),[c,0])]}return t(e,!0,arguments)},RoundRectangle:"#Rectangle",Ellipse:function(){var t=C._readEllipse(arguments);return e(t.center,t.radius,arguments)},Oval:"#Ellipse",Arc:function(){var t=c.readNamed(arguments,"from"),e=c.readNamed(arguments,"through"),i=c.readNamed(arguments,"to"),n=r.getNamed(arguments),s=new L(n&&0==n.insert&&w.NO_INSERT);return s.moveTo(t),s.arcTo(e,i),s.set(n)},RegularPolygon:function(){for(var e=c.readNamed(arguments,"center"),i=r.readNamed(arguments,"sides"),n=r.readNamed(arguments,"radius"),s=360/i,a=i%3==0,o=new c(0,a?-n:n),h=a?-1:.5,u=new Array(i),l=0;l=0;a--){var o=n[a];n!==i||o instanceof L||(n=r.slice(n)),Array.isArray(o)?n[a]=new L({segments:o,insert:!1}):o instanceof N&&(n.splice.apply(n,[a,1].concat(o.removeChildren())),o.remove())}return t.base.call(this,e,n)},reduce:function t(e){for(var i=this._children,n=i.length-1;n>=0;n--)(r=i[n].reduce(e)).isEmpty()&&r.remove();var r;return i.length?t.base.call(this):((r=new L(w.NO_INSERT)).copyAttributes(this),r.insertAbove(this),this.remove(),r)},isClosed:function(){for(var t=this._children,e=0,i=t.length;e=0;d--){var _=h[d].split();_&&(s(_)&&_.getFirstSegment().setHandleIn(0,0),a.getLastSegment().setHandleOut(0,0))}return s(a),i(f,!1,e,n)}function a(t,e){for(var i=t;i;){if(i===e)return;i=i._previous}for(;t._next&&t._next!==e;)t=t._next;if(!t._next){for(;e._previous;)e=e._previous;t._next=e,e._previous=t}}function o(t){for(var e=t.length-1;e>=0;e--)t[e].clearHandles()}function h(t,e,i){var n=t&&t.length;if(n){var s=r.each(t,(function(t,e){this[t._id]={container:null,winding:t.isClockwise()?1:-1,index:e}}),{}),a=t.slice().sort((function(t,e){return v(e.getArea())-v(t.getArea())})),o=a[0];null==i&&(i=o.isClockwise());for(var h=0;h=0;d--){var _=a[d];if(_.contains(c)){var g=s[_._id];f=g.winding,l.winding+=f,l.container=g.exclude?g.container:_;break}}if(e(l.winding)===e(f))l.exclude=!0,t[l.index]=null;else{var p=l.container;u.setClockwise(p?!p.isClockwise():i)}}}return t}function l(t,e,i){function n(t){return t._path._id+"."+t._segment1._index}for(var r,s,h,u=e&&[],l=!1,c=i||[],f=i&&{},d=(i&&i.length)-1;d>=0;d--)(g=i[d])._path&&(f[n(g)]=!0);for(d=t.length-1;d>=0;d--){var _,g,v=t[d],p=v._time,m=p,y=e&&!e(v);if((g=v._curve)&&(g!==s?(l=!g.hasHandles()||f&&f[n(g)],r=[],h=null,s=g):h>=1e-8&&(p/=h)),y)r&&r.push(v);else{if(e&&u.unshift(v),h=m,p<1e-8)_=g._segment1;else if(p>.99999999)_=g._segment2;else{var w=g.divideAtTime(p,!0);l&&c.push(g,w),_=w._segment1;for(var x=r.length-1;x>=0;x--){var b=r[x];b._time=(b._time-p)/(1-p)}}v._setSegment(_);var C=_._intersection,S=v._intersection;if(C){a(C,S);for(var P=C;P;)a(P._intersection,C),P=P._next}else _._intersection=S}}return i||o(c),u||t}function c(t,e,i,n,r){function s(s){var a=s[l+0],h=s[l+6];if(!(p<_(a,h)||p>g(a,h))){var f=s[u+0],v=s[u+2],x=s[u+4],b=s[u+6];if(a===h)return void((fy||by)&&(P=!0));var I=p===a?0:p===h||y>g(f,v,x,b)||w<_(f,v,x,b)?1:z.solveCubic(s,l,p,M,0,1)>0?M[0]:1,k=0===I?f:1===I?b:z.getPoint(s,I)[i?"y":"x"],O=a>h?1:-1,A=o[l]>o[l+6]?1:-1,L=o[u+6];return p!==a?(kw?S+=O:P=!0,k>d-m&&kw&&(S+=O):f!=L&&(Lw?(S+=O,P=!0):L>y&&ky&&k=_(e,n,r,a))for(var o,h=t[u+0],c=t[u+2],f=t[u+4],d=t[u+6],v=y>g(h,c,f,d)||w<_(h,c,f,d)?[t]:z.getMonoCurves(t,i),m=0,x=v.length;mf.quality&&(f=I);break}h-=m}}for(_=s.length-1;_>=0;_--)s[_].segment._winding=f}function d(t,e){function i(t){var i;return!(!t||t._visited||e&&(!e[(i=t._winding||{}).winding]||e.unite&&2===i.winding&&i.windingL&&i.windingR))}function n(t){if(t)for(var e=0,i=a.length;e=0;c--){var f=u[c],_=f._path,g=f._segment,v=g.getPrevious(),p=g.getNext();t(v,_)&&t(p,_)&&(g.remove(),v._handleOut._set(0,0),p._handleIn._set(0,0),v===g||v.getCurve().hasLength()||(p._handleIn.set(v._handleIn),v.remove()))}s&&(l(a,n&&function(t){var e=t.getCurve(),i=t.getSegment(),n=t._intersection,r=n._curve,s=n._segment;return!!(e&&r&&e._path&&r._path)||(i&&(i._intersection=null),void(s&&(s._intersection=null)))},h),h&&o(h),i=d(r.each(i,(function(t){r.push(this,t._segments)}),[])));var m,y=i.length;return y>1&&e?(i!==e&&this.setChildren(i),m=this):1!==y||e||(i[0]!==this&&this.setSegments(i[0].removeSegments()),m=this),m||((m=new N(w.NO_INSERT)).addChildren(i),(m=m.reduce()).copyAttributes(this),this.replaceWith(m)),m},reorient:function(t,i){var n=this._children;return n&&n.length?this.setChildren(h(this.removeChildren(),(function(e){return!!(t?e:1&e)}),i)):i!==e&&this.setClockwise(i),this},getInteriorPoint:function(){var t=this.getBounds().getCenter(!0);if(!this.contains(t)){for(var e=this.getCurves(),i=t.y,n=[],r=[],s=0,a=e.length;s=_(h,u,l,c)&&i<=g(h,u,l,c))for(var f=z.getMonoCurves(o),d=0,v=f.length;d=m&&i<=y||i>=y&&i<=m)){var w=i===m?p[0]:i===y?p[6]:1===z.solveCubic(p,1,i,r,0,1)?z.getPoint(p,r[0]).x:(p[0]+p[6])/2;n.push(w)}}}n.length>1&&(n.sort((function(t,e){return t-e})),t.x=(n[0]+n[1])/2)}return t}}});var B=r.extend({_class:"PathFlattener",initialize:function(t,e,i,n,r){function s(t,e){var i=z.getValues(t,e,r);h.push(i),a(i,t._index,0,1)}function a(t,i,r,s){if(!(s-r>c)||n&&z.isStraight(t)||z.isFlatEnough(t,e||.25)){var o=t[6]-t[0],h=t[7]-t[1],f=Math.sqrt(o*o+h*h);f>0&&(l+=f,u.push({offset:l,curve:t,index:i,time:s}))}else{var d=z.subdivide(t,.5),_=(r+s)/2;a(d[0],i,r,_),a(d[1],i,_,s)}}for(var o,h=[],u=[],l=0,c=1/(i||32),f=t._segments,d=f[0],_=1,g=f.length;_=t){this.index=e;var a=i[e-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:i[n-1].index,time:1}},drawPart:function(t,e,i){for(var n=this._get(e),r=this._get(i),s=n.index,a=r.index;s<=a;s++){var o=z.getPart(this.curves[s],s===n.index?n.time:0,s===r.index?r.time:1);s===n.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},r.each(z._evaluateMethods,(function(t){this[t+"At"]=function(e){var i=this._get(e);return z[t](this.curves[i.index],i.time)}}),{})),F=r.extend({initialize:function(t){for(var e,i=this.points=[],n=t._segments,r=t._closed,s=0,a=n.length;s0&&(n=[new M(e[0])],i>1&&(this.fitCubic(n,t,0,i-1,e[1].subtract(e[0]),e[i-2].subtract(e[i-1])),this.closed&&(n.shift(),n.pop()))),n},fitCubic:function(t,e,i,n,r,s){var a=this.points;if(n-i!=1){for(var o,h=this.chordLengthParameterize(i,n),u=Math.max(e,e*e),l=!0,c=0;c<=4;c++){var f=this.generateBezier(i,n,h,r,s),d=this.findMaxError(i,n,f,h);if(d.error=u)break;l=this.reparameterize(i,n,h,f),u=d.error}var _=a[o-1].subtract(a[o+1]);this.fitCubic(t,e,i,o,r,_),this.fitCubic(t,e,o,n,_.negate(),s)}else{var g=a[i],v=a[n],p=g.getDistance(v)/3;this.addCurve(t,[g,g.add(r.normalize(p)),v.add(s.normalize(p)),v])}},addCurve:function(t,e){t[t.length-1].setHandleOut(e[1].subtract(e[0])),t.push(new M(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,i,n,r){for(var s=1e-12,a=Math.abs,o=this.points,h=o[t],u=o[e],l=[[0,0],[0,0]],c=[0,0],f=0,d=e-t+1;fs){var T=l[0][0]*c[1]-l[1][0]*c[0];S=(c[0]*l[1][1]-c[1]*l[0][1])/I,P=T/I}else{var M=l[0][0]+l[0][1],k=l[1][0]+l[1][1];S=P=a(M)>s?c[0]/M:a(k)>s?c[1]/k:0}var z,O,A=u.getDistance(h),L=s*A;if(SA*A&&(S=P=A/3,z=O=null)}return[h,h.add(z||n.normalize(S)),u.add(O||r.normalize(P)),u]},reparameterize:function(t,e,i,n){for(var r=t;r<=e;r++)i[r-t]=this.findRoot(n,this.points[r],i[r-t]);r=1;for(var s=i.length;r=s&&(s=h,r=a)}return{error:s,index:r}}}),j=w.extend({_class:"TextItem",_applyMatrix:!1,_canApplyMatrix:!1,_serializeFields:{content:null},_boundsOptions:{stroke:!1,handle:!1},initialize:function(t){this._content="",this._lines=[];var i=t&&r.isPlainObject(t)&&t.x===e&&t.y===e;this._initialize(i&&t,!i&&c.read(arguments))},_equals:function(t){return this._content===t._content},copyContent:function(t){this.setContent(t._content)},getContent:function(){return this._content},setContent:function(t){this._content=""+t,this._lines=this._content.split(/\r\n|\n|\r/gm),this._changed(521)},isEmpty:function(){return!this._content},getCharacterStyle:"#getStyle",setCharacterStyle:"#setStyle",getParagraphStyle:"#getStyle",setParagraphStyle:"#setStyle"}),E=j.extend({_class:"PointText",initialize:function(){j.apply(this,arguments)},getPoint:function(){var t=this._matrix.getTranslation();return new f(t.x,t.y,this,"setPoint")},setPoint:function(){var t=c.read(arguments);this.translate(t.subtract(this._matrix.getTranslation()))},_draw:function(t,e,i){if(this._content){this._setStyles(t,e,i);var n=this._lines,r=this._style,s=r.hasFill(),a=r.hasStroke(),o=r.getLeading(),h=t.shadowColor;t.font=r.getFontStyle(),t.textAlign=r.getJustification();for(var u=0,l=n.length;u1&&(h-=1),a[o]=6*h<1?s+6*(r-s)*h:2*h<1?r:3*h<2?s+(r-s)*(2/3-h)*6:s}return a},"rgb-gray":function(t,e,i){return[.2989*t+.587*e+.114*i]},"gray-rgb":function(t){return[t,t,t]},"gray-hsb":function(t){return[0,0,t]},"gray-hsl":function(t){return[0,0,t]},"gradient-rgb":function(){return[]},"rgb-gradient":function(){return[]}};return r.each(n,(function(t,e){s[e]=[],r.each(t,(function(t,i){var a=r.capitalize(t),o=/^(hue|saturation)$/.test(t),h=s[e][i]="gradient"===e?"gradient"===t?function(t){var e=this._components[0];return e!==(t=R.read(Array.isArray(t)?t:arguments,0,{readNull:!0}))&&(e&&e._removeOwner(this),t&&t._addOwner(this)),t}:function(){return c.read(arguments,0,{readNull:"highlight"===t,clone:!0})}:function(t){return null==t||isNaN(t)?0:+t};this["get"+a]=function(){return this._type===e||o&&/^hs[bl]$/.test(this._type)?this._components[i]:this._convert(e)[i]},this["set"+a]=function(t){this._type===e||o&&/^hs[bl]$/.test(this._type)||(this._components=this._convert(e),this._properties=n[e],this._type=e),this._components[i]=h.call(this,t),this._changed()}}),this)}),{_class:"Color",_readIndex:!0,initialize:function e(i){var a,o,h,u,l=arguments,c=this.__read,f=0;Array.isArray(i)&&(i=(l=i)[0]);var d=null!=i&&typeof i;if("string"===d&&i in n&&(a=i,i=l[1],Array.isArray(i)?(o=i,h=l[2]):(c&&(f=1),l=r.slice(l,1),d=typeof i)),!o){if(u="number"===d?l:"object"===d&&null!=i.length?i:null){a||(a=u.length>=3?"rgb":"gray");var _=n[a].length;h=u[_],c&&(f+=u===arguments?_+(null!=h?1:0):1),u.length>_&&(u=r.slice(u,0,_))}else if("string"===d){var g=t(i);a=g[0],4===(o=g[1]).length&&(h=o[3],o.length--)}else if("object"===d)if(i.constructor===e){if(a=i._type,o=i._components.slice(),h=i._alpha,"gradient"===a)for(var v=1,p=o.length;v1?1:t))}var i=this._convert("rgb"),n=t||null==this._alpha?1:this._alpha;return i=[e(i[0]),e(i[1]),e(i[2])],n<1&&i.push(n<0?0:n),t?"#"+((1<<24)+(i[0]<<16)+(i[1]<<8)+i[2]).toString(16).slice(1):(4==i.length?"rgba(":"rgb(")+i.join(",")+")"},toCanvasStyle:function(t,e){if(this._canvasStyle)return this._canvasStyle;if("gradient"!==this._type)return this._canvasStyle=this.toCSS();var i,n=this._components,r=n[0],s=r._stops,a=n[1],o=n[2],h=n[3],u=e&&e.inverted();if(u&&(a=u._transformPoint(a),o=u._transformPoint(o),h&&(h=u._transformPoint(h))),r._radial){var l=o.getDistance(a);if(h){var c=h.subtract(a);c.getLength()>l&&(h=a.add(c.normalize(l-.1)))}var f=h||a;i=t.createRadialGradient(f.x,f.y,0,a.x,a.y,l)}else i=t.createLinearGradient(a.x,a.y,o.x,o.y);for(var d=0,_=s.length;d<_;d++){var g=s[d],v=g._offset;i.addColorStop(null==v?d/(_-1):v,g._color.toCanvasStyle())}return this._canvasStyle=i},transform:function(t){if("gradient"===this._type){for(var e=this._components,i=1,n=e.length;i0&&!(r instanceof N);if(a)for(var o=0,h=s.length;o0},hasStroke:function(){var t=this.getStrokeColor();return!!t&&t.alpha>0&&this.getStrokeWidth()>0},hasShadow:function(){var t=this.getShadowColor();return!!t&&t.alpha>0&&(this.getShadowBlur()>0||!this.getShadowOffset().isZero())},getView:function(){return this._project._view},getFontStyle:function(){var t=this.getFontSize();return this.getFontWeight()+" "+t+(/[a-z]/i.test(t+"")?" ":"px ")+this.getFontFamily()},getFont:"#getFontFamily",setFont:"#setFontFamily",getLeading:function t(){var e=t.base.call(this),i=this.getFontSize();return/pt|em|%|px/.test(i)&&(i=this.getView().getPixelSize(i)),null!=e?e:1.2*i}}),H=new function(){function t(t,e,i,n){for(var r=["","webkit","moz","Moz","ms","o"],s=e[0].toUpperCase()+e.substring(1),a=0;a<6;a++){var o=r[a],h=o?o+s:e;if(h in t){if(!i)return t[h];t[h]=n;break}}}return{getStyles:function(t){var e=t&&9!==t.nodeType?t.ownerDocument:t,i=e&&e.defaultView;return i&&i.getComputedStyle(t,"")},getBounds:function(t,e){var i,n=t.ownerDocument,r=n.body,s=n.documentElement;try{i=t.getBoundingClientRect()}catch(t){i={left:0,top:0,width:0,height:0}}var a=i.left-(s.clientLeft||r.clientLeft||0),o=i.top-(s.clientTop||r.clientTop||0);if(!e){var h=n.defaultView;a+=h.pageXOffset||s.scrollLeft||r.scrollLeft,o+=h.pageYOffset||s.scrollTop||r.scrollTop}return new g(a,o,i.width,i.height)},getViewportBounds:function(t){var e=t.ownerDocument,i=e.defaultView,n=e.documentElement;return new g(0,0,i.innerWidth||n.clientWidth,i.innerHeight||n.clientHeight)},getOffset:function(t,e){return H.getBounds(t,e).getPoint()},getSize:function(t){return H.getBounds(t,!0).getSize()},isInvisible:function(t){return H.getSize(t).equals(new d(0,0))},isInView:function(t){return!H.isInvisible(t)&&H.getViewportBounds(t).intersects(H.getBounds(t,!0))},isInserted:function(t){return n.body.contains(t)},getPrefixed:function(e,i){return e&&t(e,i)},setPrefixed:function(e,i,n){if("object"==typeof i)for(var r in i)t(e,r,!0,i[r]);else t(e,i,!0,n)}}},Z={add:function(t,e){if(t)for(var i in e)for(var r=e[i],s=i.split(/[\s,]+/g),a=0,o=s.length;a1?r.hyphenate(i):i.toLowerCase())}function s(t,e,i,n){var o,h=U._focused;if(l[e]=t,t?c[e]=i:delete c[e],e.length>1&&(o=r.camelize(e))in f){f[o]=t;var u=rt&&rt.agent;if("meta"===o&&u&&u.mac)if(t)a={};else{for(var d in a)d in c&&s(!1,d,a[d],n);a=null}}else t&&a&&(a[e]=i);h&&h._handleKeyEvent(t?"keydown":"keyup",n,e,i)}var a,o,h={"\t":"tab"," ":"space","\b":"backspace","":"delete",Spacebar:"space",Del:"delete",Win:"meta",Esc:"escape"},u={tab:"\t",space:" ",enter:"\r"},l={},c={},f=new r({shift:!1,control:!1,alt:!1,meta:!1,capsLock:!1,space:!1}).inject({option:{get:function(){return this.alt}},command:{get:function(){var t=rt&&rt.agent;return t&&t.mac?this.meta:this.control}}});return Z.add(n,{keydown:function(e){var i=t(e),n=rt&&rt.agent;i.length>1||n&&n.chrome&&(e.altKey||n.mac&&e.metaKey||!n.mac&&e.ctrlKey)?s(!0,i,u[i]||(i.length>1?"":i),e):o=i},keypress:function(e){if(o){var i=t(e),n=e.charCode,r=n>=32?String.fromCharCode(n):i.length>1?"":i;i!==o&&(i=r.toLowerCase()),s(!0,i,r,e),o=null}},keyup:function(e){var i=t(e);i in c&&s(!1,i,c[i],e)}}),Z.add(i,{blur:function(t){for(var e in c)s(!1,e,c[e],t)}}),{modifiers:f,isDown:function(t){return!!l[t]}}},K=$.extend({_class:"MouseEvent",initialize:function(t,e,i,n,r){this.type=t,this.event=e,this.point=i,this.target=n,this.delta=r},toString:function(){return"{ type: '"+this.type+"', point: "+this.point+", target: "+this.target+(this.delta?", delta: "+this.delta:"")+", modifiers: "+this.getModifiers()+" }"}}),Q=$.extend({_class:"ToolEvent",_item:null,initialize:function(t,e,i){this.tool=t,this.type=e,this.event=i},_choosePoint:function(t,e){return t||(e?e.clone():null)},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(t){this._point=t},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(t){this._lastPoint=t},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(t){this._downPoint=t},getMiddlePoint:function(){return!this._middlePoint&&this.tool._lastPoint?this.tool._point.add(this.tool._lastPoint).divide(2):this._middlePoint},setMiddlePoint:function(t){this._middlePoint=t},getDelta:function(){return!this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(t){this._delta=t},getCount:function(){return this.tool[/^mouse(down|up)$/.test(this.type)?"_downCount":"_moveCount"]},setCount:function(t){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=t},getItem:function(){if(!this._item){var t=this.tool._scope.project.hitTest(this.getPoint());if(t){for(var e=t.item,i=e._parent;/^(Group|CompoundPath)$/.test(i._class);)e=i,i=i._parent;this._item=e}}return this._item},setItem:function(t){this._item=t},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}}),X=(o.extend({_class:"Tool",_list:"tools",_reference:"tool",_events:["onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onActivate","onDeactivate","onEditOptions","onKeyDown","onKeyUp"],initialize:function(t){o.call(this),this._moveCount=-1,this._downCount=-1,this.set(t)},getMinDistance:function(){return this._minDistance},setMinDistance:function(t){this._minDistance=t,null!=t&&null!=this._maxDistance&&t>this._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&t=0&&r.equals(s))return!1;if(s&&(null!=t||null!=e)){var o=r.subtract(s),h=o.getLength();if(h<(t||0))return!1;e&&(r=s.add(o.normalize(Math.min(h,e))))}c._moveCount++}return c._point=r,c._lastPoint=s||r,n.down&&(c._moveCount=-1,c._downPoint=r,c._downCount++),!0}function s(){o&&(l=c.emit(t,new Q(c,t,e))||l)}rt=this._scope,n.drag&&!this.responds(t)&&(t="mousemove");var a=n.move||n.drag,o=this.responds(t),h=this.minDistance,u=this.maxDistance,l=!1,c=this;if(n.down)r(),s();else if(n.up)r(null,u),s();else if(o)for(;r(h,u);)s();return l}}),r.extend(s,{_class:"Tween",statics:{easings:{linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:2*(2-t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}},initialize:function t(e,i,n,r,s,a){this.object=e;var o=typeof s,h="function"===o;this.type=h?o:"string"===o?s:"linear",this.easing=h?s:t.easings[this.type],this.duration=r,this.running=!1,this._then=null,this._startTime=null;var u=i||n;this._keys=u?Object.keys(u):[],this._parsedKeys=this._parseKeys(this._keys),this._from=u&&this._getState(i),this._to=u&&this._getState(n),!1!==a&&this.start()},then:function(t){return this._then=t,this},start:function(){return this._startTime=null,this.running=!0,this},stop:function(){return this.running=!1,this},update:function(t){if(this.running){t>1&&(t=1,this.running=!1);for(var e=this.easing(t),i=this._keys,n=function(i){return"function"==typeof i?i(e,t):i},s=0,a=i&&i.length;s255){var u=255-r,l=o-r;d=r+(d-r)*u/l,_=r+(_-r)*u/l,g=r+(g-r)*u/l}}function i(t,e,i){return p(t,e,i)-v(t,e,i)}function n(t,e,i,n){var r,s=[t,e,i],a=p(t,e,i),o=v(t,e,i);r=0===v(o=o===t?0:o===e?1:2,a=a===t?0:a===e?1:2)?1===p(o,a)?2:1:0,s[a]>s[o]?(s[r]=(s[r]-s[o])*n/(s[a]-s[o]),s[a]=n):s[r]=s[a]=0,s[o]=0,d=s[0],_=s[1],g=s[2]}var s,a,o,h,u,l,c,f,d,_,g,v=Math.min,p=Math.max,m=Math.abs,y={multiply:function(){d=u*s/255,_=l*a/255,g=c*o/255},screen:function(){d=u+s-u*s/255,_=l+a-l*a/255,g=c+o-c*o/255},overlay:function(){d=u<128?2*u*s/255:255-2*(255-u)*(255-s)/255,_=l<128?2*l*a/255:255-2*(255-l)*(255-a)/255,g=c<128?2*c*o/255:255-2*(255-c)*(255-o)/255},"soft-light":function(){var t=s*u/255;d=t+u*(255-(255-u)*(255-s)/255-t)/255,_=(t=a*l/255)+l*(255-(255-l)*(255-a)/255-t)/255,g=(t=o*c/255)+c*(255-(255-c)*(255-o)/255-t)/255},"hard-light":function(){d=s<128?2*s*u/255:255-2*(255-s)*(255-u)/255,_=a<128?2*a*l/255:255-2*(255-a)*(255-l)/255,g=o<128?2*o*c/255:255-2*(255-o)*(255-c)/255},"color-dodge":function(){d=0===u?0:255===s?255:v(255,255*u/(255-s)),_=0===l?0:255===a?255:v(255,255*l/(255-a)),g=0===c?0:255===o?255:v(255,255*c/(255-o))},"color-burn":function(){d=255===u?255:0===s?0:p(0,255-255*(255-u)/s),_=255===l?255:0===a?0:p(0,255-255*(255-l)/a),g=255===c?255:0===o?0:p(0,255-255*(255-c)/o)},darken:function(){d=us?u:s,_=l>a?l:a,g=c>o?c:o},difference:function(){(d=u-s)<0&&(d=-d),(_=l-a)<0&&(_=-_),(g=c-o)<0&&(g=-g)},exclusion:function(){d=u+s*(255-u-u)/255,_=l+a*(255-l-l)/255,g=c+o*(255-c-c)/255},hue:function(){n(s,a,o,i(u,l,c)),e(d,_,g,t(u,l,c))},saturation:function(){n(u,l,c,i(s,a,o)),e(d,_,g,t(u,l,c))},luminosity:function(){e(u,l,c,t(s,a,o))},color:function(){e(s,a,o,t(u,l,c))},add:function(){d=v(u+s,255),_=v(l+a,255),g=v(c+o,255)},subtract:function(){d=p(u-s,0),_=p(l-a,0),g=p(c-o,0)},average:function(){d=(u+s)/2,_=(l+a)/2,g=(c+o)/2},negation:function(){d=255-m(255-s-u),_=255-m(255-a-l),g=255-m(255-o-c)}},w=this.nativeModes=r.each(["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","darker","copy","xor"],(function(t){this[t]=!0}),{}),x=tt.getContext(1,1);x&&(r.each(y,(function(t,e){var i="darken"===e,n=!1;x.save();try{x.fillStyle=i?"#300":"#a00",x.fillRect(0,0,1,1),x.globalCompositeOperation=e,x.globalCompositeOperation===e&&(x.fillStyle=i?"#a00":"#300",x.fillRect(0,0,1,1),n=x.getImageData(0,0,1,1).data[0]!==i?170:51)}catch(t){}x.restore(),w[e]=n})),tt.release(x)),this.process=function(t,e,i,n,r){var v=e.canvas,p="normal"===t;if(p||w[t])i.save(),i.setTransform(1,0,0,1,0,0),i.globalAlpha=n,p||(i.globalCompositeOperation=t),i.drawImage(v,r.x,r.y),i.restore();else{var m=y[t];if(!m)return;for(var x=i.getImageData(r.x,r.y,v.width,v.height),b=x.data,C=e.getImageData(0,0,v.width,v.height).data,S=0,P=b.length;S=2&&!t.hasHandles())if(h>2){a=t._closed?"polygon":"polyline";for(var l=[],c=0;c%euh&SuCvvv{^$5CWyWX)RAXm#20 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 UMOR(582@d<{H(bS{kiJ@0co~j&j0`b delta 38491 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 - - // 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/. - MarkOn = class MarkOn extends this.OS.GUI.BaseApplication { - constructor(args) { - super("MarkOn", args); - } - - main() { - var markarea; - markarea = this.find("markarea"); - this.container = this.find("mycontainer"); - this.previewOn = false; - if (this.args && this.args.length > 0) { - this.currfile = this.args[0].path.asFileHandle(); - } else { - this.currfile = "Untitled".asFileHandle(); - } - this.editormux = false; - this.editor = new SimpleMDE({ - element: markarea, - autofocus: true, - tabSize: 4, - indentWithTabs: true, - toolbar: [ - "bold", - "italic", - "heading", - "|", - "quote", - "code", - "unordered-list", - "ordered-list", - "|", - "link", - "image", - "table", - "horizontal-rule", - "|", - { - name: "preview", - className: "fa fa-eye no-disable", - action: (e) => { - this.previewOn = !this.previewOn; - return SimpleMDE.togglePreview(e); - } - } - ] - }); - //if(self.previewOn) toggle the highlight - //{ - // var container = self._scheme.find(self,"Text") - // .$element.getElementsByClassName("editor-preview"); - // if(container.length == 0) return; - // var codes = container[0].getElementsByTagName('pre'); - // codes.forEach(function(el){ - // hljs.highlightBlock(el); - // }); - // //console.log(code); - //} - this.editor.codemirror.on("change", () => { - if (this.editormux) { - return; - } - if (this.currfile.dirty === false) { - this.currfile.dirty = true; - return this.scheme.set("apptitle", `${this.currfile.basename}*`); - } - }); - this.on("hboxchange", (e) => { - return this.resizeContent(); - }); - this.bindKey("ALT-N", () => { - return this.actionFile(`${this.name}-New`); - }); - this.bindKey("ALT-O", () => { - return this.actionFile(`${this.name}-Open`); - }); - this.bindKey("CTRL-S", () => { - return this.actionFile(`${this.name}-Save`); - }); - this.bindKey("ALT-W", () => { - return this.actionFile(`${this.name}-Saveas`); - }); - this.resizeContent(); - return this.open(this.currfile); - } - - resizeContent() { - var cheight, children, statusbar, titlebar, toolbar; - children = ($(this.container)).children(); - titlebar = (($(this.scheme)).find(".afx-window-top"))[0]; - toolbar = children[1]; - statusbar = children[4]; - cheight = ($(this.scheme)).height() - ($(titlebar)).height() - ($(toolbar)).height() - ($(statusbar)).height() - 40; - return ($(children[2])).css("height", cheight + "px"); - } - - open(file) { - //find table - if (file.path === "Untitled") { - return; - } - file.dirty = false; - return file.read().then((d) => { - this.currfile = file; - this.editormux = true; - this.editor.value(d); - this.scheme.set("apptitle", `${this.currfile.basename}`); - return this.editormux = false; - }).catch((e) => { - return this.error(__("Unable to open: {0}", file.path), e); - }); - } - - save(file) { - return file.write("text/plain").then((d) => { - if (d.error) { - return this.error(__("Error saving file {0}: {1}", file.basename, d.error)); - } - file.dirty = false; - file.text = file.basename; - return this.scheme.set("apptitle", `${this.currfile.basename}`); - }).catch((e) => { - return this.error(__("Unable to save file: {0}", file.path), e); - }); - } - - menu() { - var menu; - menu = [ - { - text: "__(File)", - child: [ - { - text: "__(New)", - dataid: `${this.name}-New`, - shortcut: "A-N" - }, - { - text: "__(Open)", - dataid: `${this.name}-Open`, - shortcut: "A-O" - }, - { - text: "__(Save)", - dataid: `${this.name}-Save`, - shortcut: "C-S" - }, - { - text: "__(Save as)", - dataid: `${this.name}-Saveas`, - shortcut: "A-W" - } - ], - onchildselect: (e) => { - return this.actionFile(e.data.item.get("data").dataid); - } - } - ]; - return menu; - } - - actionFile(e) { - var saveas; - saveas = () => { - return this.openDialog("FileDialog", { - title: __("Save as"), - file: this.currfile - }).then((f) => { - var d; - d = f.file.path.asFileHandle(); - if (f.file.type === "file") { - d = d.parent(); - } - this.currfile.setPath(`${d.path}/${f.name}`); - return this.save(this.currfile); - }); - }; - switch (e) { - case `${this.name}-Open`: - return this.openDialog("FileDialog", { - title: __("Open file") - }).then((f) => { - return this.open(f.file.path.asFileHandle()); - }); - case `${this.name}-Save`: - this.currfile.cache = this.editor.value(); - if (this.currfile.basename) { - return this.save(this.currfile); - } - return saveas(); - case `${this.name}-Saveas`: - this.currfile.cache = this.editor.value(); - return saveas(); - case `${this.name}-New`: - this.currfile = "Untitled".asFileHandle(); - this.currfile.cache = ""; - return this.editor.value(""); - } - } - - cleanup(evt) { - if (!this.currfile.dirty) { - return; - } - evt.preventDefault(); - return this.openDialog("YesNoDialog", (d) => { - if (d) { - this.currfile.dirty = false; - return this.quit(); - } - }, __("Quit"), { - text: __("Quit without saving ?") - }); - } - - }; - - MarkOn.dependencies = ["os://scripts/mde/simplemde.min.js", "os://scripts/mde/simplemde.min.css"]; - - this.OS.register("MarkOn", MarkOn); - -}).call(this); +(function(){var e;(e=class extends this.OS.GUI.BaseApplication{constructor(e){super("MarkOn",e)}main(){var e;return e=this.find("markarea"),this.container=this.find("mycontainer"),this.previewOn=!1,this.args&&this.args.length>0?this.currfile=this.args[0].path.asFileHandle():this.currfile="Untitled".asFileHandle(),this.editormux=!1,this.editor=new SimpleMDE({element:e,autofocus:!0,tabSize:4,indentWithTabs:!0,toolbar:["bold","italic","heading","|","quote","code","unordered-list","ordered-list","|","link","image","table","horizontal-rule","|",{name:"preview",className:"fa fa-eye no-disable",action:e=>(this.previewOn=!this.previewOn,SimpleMDE.togglePreview(e))}]}),this.editor.codemirror.on("change",()=>{if(!this.editormux)return!1===this.currfile.dirty?(this.currfile.dirty=!0,this.scheme.set("apptitle",this.currfile.basename+"*")):void 0}),this.on("hboxchange",e=>this.resizeContent()),this.bindKey("ALT-N",()=>this.actionFile(this.name+"-New")),this.bindKey("ALT-O",()=>this.actionFile(this.name+"-Open")),this.bindKey("CTRL-S",()=>this.actionFile(this.name+"-Save")),this.bindKey("ALT-W",()=>this.actionFile(this.name+"-Saveas")),this.resizeContent(),this.open(this.currfile)}resizeContent(){var e,t,i,s,a;return t=$(this.container).children(),s=$(this.scheme).find(".afx-window-top")[0],a=t[1],i=t[4],e=$(this.scheme).height()-$(s).height()-$(a).height()-$(i).height()-40,$(t[2]).css("height",e+"px")}open(e){if("Untitled"!==e.path)return e.dirty=!1,e.read().then(t=>(this.currfile=e,this.editormux=!0,this.editor.value(t),this.scheme.set("apptitle",""+this.currfile.basename),this.editormux=!1)).catch(t=>this.error(__("Unable to open: {0}",e.path),t))}save(e){return e.write("text/plain").then(t=>t.error?this.error(__("Error saving file {0}: {1}",e.basename,t.error)):(e.dirty=!1,e.text=e.basename,this.scheme.set("apptitle",""+this.currfile.basename))).catch(t=>this.error(__("Unable to save file: {0}",e.path),t))}menu(){return[{text:"__(File)",child:[{text:"__(New)",dataid:this.name+"-New",shortcut:"A-N"},{text:"__(Open)",dataid:this.name+"-Open",shortcut:"A-O"},{text:"__(Save)",dataid:this.name+"-Save",shortcut:"C-S"},{text:"__(Save as)",dataid:this.name+"-Saveas",shortcut:"A-W"}],onchildselect:e=>this.actionFile(e.data.item.get("data").dataid)}]}actionFile(e){var t;switch(t=()=>this.openDialog("FileDialog",{title:__("Save as"),file:this.currfile}).then(e=>{var t;return t=e.file.path.asFileHandle(),"file"===e.file.type&&(t=t.parent()),this.currfile.setPath(`${t.path}/${e.name}`),this.save(this.currfile)}),e){case this.name+"-Open":return this.openDialog("FileDialog",{title:__("Open file")}).then(e=>this.open(e.file.path.asFileHandle()));case this.name+"-Save":return this.currfile.cache=this.editor.value(),this.currfile.basename?this.save(this.currfile):t();case this.name+"-Saveas":return this.currfile.cache=this.editor.value(),t();case this.name+"-New":return this.currfile="Untitled".asFileHandle(),this.currfile.cache="",this.editor.value("")}}cleanup(e){if(this.currfile.dirty)return e.preventDefault(),this.openDialog("YesNoDialog",e=>{if(e)return this.currfile.dirty=!1,this.quit()},__("Quit"),{text:__("Quit without saving ?")})}}).dependencies=["os://scripts/mde/simplemde.min.js","os://scripts/mde/simplemde.min.css"],this.OS.register("MarkOn",e)}).call(this); \ No newline at end of file diff --git a/MarkOn/build/debug/package.json b/MarkOn/build/debug/package.json index 51ce51d..2048972 100644 --- a/MarkOn/build/debug/package.json +++ b/MarkOn/build/debug/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"Utils", "iconclass":"fa fa-leanpub", "mimes":["text/.*"] diff --git a/MarkOn/build/release/MarkOn.zip b/MarkOn/build/release/MarkOn.zip index 3cc4ea6fb436002f4d80a9d0a9b9c5ac3f3fb44d..8694cca5eaec8ce1bfba62eb608b4260a238869a 100644 GIT binary patch literal 4484 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 H_}Bjdo7og5 diff --git a/MarkOn/package.json b/MarkOn/package.json index 51ce51d..2048972 100644 --- a/MarkOn/package.json +++ b/MarkOn/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.1-a", + "version":"0.0.2-a", "category":"Utils", "iconclass":"fa fa-leanpub", "mimes":["text/.*"] diff --git a/Preview/build/debug/main.js b/Preview/build/debug/main.js index 35f114f..e47224b 100644 --- a/Preview/build/debug/main.js +++ b/Preview/build/debug/main.js @@ -1,14245 +1 @@ -(function() { - void 0; - var Preview; - - // 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/. - Preview = class Preview extends this.OS.GUI.BaseApplication { - constructor(args) { - super("Preview", args); - } - - main() { - this.currfile = void 0; - if (this.args && this.args.length > 0) { - this.currfile = this.args[0].path.asFileHandle(); - } - this.view = this.find("view"); - this.status = this.find("status"); - this.zoom = this.find("zoom"); - this.btnext = this.find("btnext"); - this.btprev = this.find("btprev"); - this.btreset = this.find("btreset"); - this.txtpage = this.find("txtpage"); - this.zoom.set("onchange", (e) => { - return this.setViewScale(e.data); - }); - this.btreset.set("onbtclick", (e) => { - this.zoom.set("value", 100); - return this.setViewScale(100); - }); - this.btnext.set("onbtclick", (e) => { - var val; - val = parseInt($(this.txtpage).val()); - if (isNaN(val)) { - return; - } - $(this.txtpage).val(val + 1); - return this.gotoPage(); - }); - this.btprev.set("onbtclick", (e) => { - var val; - val = parseInt($(this.txtpage).val()); - if (isNaN(val)) { - return; - } - $(this.txtpage).val(val - 1); - return this.gotoPage(); - }); - $(this.txtpage).keyup((e) => { - if (e.which !== 13) { - return; - } - if (!this.pdf) { - return; - } - return this.gotoPage(); - }); - PDFJS.workerSrc = `${this.path()}/pdf.worker.js`.asFileHandle().getlink(); - this.pdf = void 0; - this.img = void 0; - this.bindKey("ALT-O", () => { - return this.actionFile(`${this.name}-Open`); - }); - this.bindKey("CTRL-X", () => { - return this.actionFile(`${this.name}-Close`); - }); - this.zoom.set("max", 200); - this.zoom.set("value", 100); - return this.open(this.currfile); - } - - open(file) { - if (!file) { - return; - } - if (this.currfile !== file) { - this.currfile = file; - } - return file.onready().then(() => { - file.info.size = (file.info.size / 1024).toFixed(2); - return this.renderFile(); - }).catch((err) => { - return this.error(__("File not found {0}", file.path), err); - }); - } - - gotoPage() { - var val; - if (!this.pdf) { - return; - } - val = parseInt($(this.txtpage).val()); - if (isNaN(val)) { - return; - } - if (val <= 0 || val > this.pdf.numPages) { - return; - } - ($(this.view)).empty(); - return this.renderPDFPages(val, this.zoom.get("value") / 100, false).catch((e) => { - return this.error(__("Unable to render page {0}", val), e); - }); - } - - renderFile() { - var mime; - mime = this.currfile.info.mime; - if (!mime) { - return; - } - this.pdf = void 0; - this.img = void 0; - ($(this.view)).empty(); - this.zoom.set("value", 100); - if (mime.match(/^[^\/]+\/.*pdf.*/g)) { - return this.renderPDF(); - } else if (mime.match(/image\/.*svg.*/g)) { - return this.renderSVG(); - } else if (mime.match(/image\/.*/g)) { - return this.renderImage(); - } else { - return this.notify(__("Mime type {0} is not supported", file.info.mime)); - } - } - - setStatus(t) { - return ($(this.status)).html(t); - } - - setViewScale(value) { - var canvas, context, h, mime, scale, w; - if (!this.currfile) { - return; - } - mime = this.currfile.info.mime; - scale = value / 100; - if (mime.match(/^[^\/]+\/.*pdf.*/g)) { - if (!this.pdf) { - return; - } - ($(this.view)).empty(); - return this.load(this.renderPDFPages(1, scale)).catch((e) => { - return this.error(__("Unable to set view scale"), e); - }); - } else if (mime.match(/image\/.*svg.*/g)) { - return $($(this.view).children()[0]).css("width", `${Math.round(value)}%`).css("height", `${Math.round(value)}%`); - } else if (mime.match(/image\/.*/g)) { - if (!this.img) { - return; - } - canvas = $(this.view).children()[0]; - context = canvas.getContext('2d'); - w = this.img.width * scale; - h = this.img.height * scale; - canvas.height = h; - canvas.width = w; - context.clearRect(0, 0, canvas.width, canvas.height); - context.scale(scale, scale); - return context.drawImage(this.img, 0, 0); - } - } - - renderPDFPages(n, scale, recursive) { - return new Promise((resolve, reject) => { - var status; - status = `${this.currfile.info.name} (${this.currfile.info.size} Kb)`; - if (n > this.pdf.numPages) { - return resolve(); - } - return this.pdf.getPage(n).then((page) => { - var canvas, context, div, renderContext, viewport; - viewport = page.getViewport(scale); - div = ($("

")).attr("id", "page-" + (page.pageIndex + 1)).attr("scale", scale).addClass("pdf-page"); - ($(this.view)).append(div); - canvas = ($(""))[0]; - div.append(canvas); - context = canvas.getContext('2d'); - canvas.height = viewport.height; - canvas.width = viewport.width; - renderContext = { - canvasContext: context, - viewport: viewport - }; - page.render(renderContext); - page._canvas = canvas; - this.setStatus(`${status} - page ${n}/${this.pdf.numPages} loaded`); - if (recursive) { - return this.renderPDFPages(n + 1, scale, recursive).then(function() { - return resolve(); - }).catch(function(e) { - return reject(__e(e)); - }); - } else { - return resolve(); - } - }).catch(function(e) { - return reject(__e(e)); - }); - }); - } - - renderPDF() { - return this.load(new Promise((resolve, reject) => { - return this.currfile.read("binary").then((d) => { - ($(this.view)).removeClass(); - return PDFJS.getDocument({ - data: d - }).then((pdf) => { - this.pdf = pdf; - return this.renderPDFPages(1, 1, false).then(() => { - $(this.txtpage).val("1"); - return resolve(); - }).catch(function(e) { - return reject(__e(e)); - }); - }).catch(function(e) { - return reject(__e(e)); - }); - }).catch(function(e) { - return reject(__e(e)); - }); - })).catch((e) => { - return this.error(__("Unable to view file: {0}", this.currfile.path), e); - }); - } - - renderSVG() { - ($(this.view)).attr("class", "image"); - return this.currfile.read().then((d) => { - this.view.innerHTML = d; - return $($(this.view).children()[0]).css("width", "100%").css("height", "100%"); - }).catch((e) => { - return this.error(__("Unable to read file: {0}", this.currfile.path), e); - }); - } - - renderImage() { - ($(this.view)).attr("class", "image"); - return this.currfile.read("binary").then((d) => { - var blob, canvas, img; - img = new Image(); - canvas = ($(""))[0]; - ($(this.view)).append(canvas); - //($ me.view).append img - img.onload = () => { - var context; - context = canvas.getContext('2d'); - canvas.height = img.height; - canvas.width = img.width; - this.img = img; - //console.log canvas.width, canvas.height - context.drawImage(img, 0, 0); - return this.setStatus(`${this.currfile.info.name} (${this.currfile.info.size} Kb) - ${img.width}x${img.height}`); - }; - blob = new Blob([d], { - type: this.currfile.info.mime - }); - return img.src = URL.createObjectURL(blob); - }).catch((e) => { - return this.error(__("Unable to read file: {0}", this.currfile.path), e); - }); - } - - menu() { - var menu; - menu = [ - { - text: "__(File)", - child: [ - { - text: "__(Open)", - dataid: `${this.name}-Open`, - shortcut: "A-O" - }, - { - text: "__(Close)", - dataid: `${this.name}-Close`, - shortcut: "C-X" - } - ], - onchildselect: (e) => { - return this.actionFile(e.data.item.get("data").dataid); - } - } - ]; - return menu; - } - - actionFile(e) { - switch (e) { - case `${this.name}-Open`: - return this.openDialog("FileDialog", { - title: __("Open file"), - mimes: this.meta().mimes - }).then((d) => { - return this.open(d.file.path.asFileHandle()); - }); - case `${this.name}-Close`: - return this.quit(); - } - } - - }; - - this.OS.register("Preview", Preview); - -}).call(this); - -/* Copyright 2017 Mozilla Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define("pdfjs-dist/build/pdf", [], factory); - else if(typeof exports === 'object') - exports["pdfjs-dist/build/pdf"] = factory(); - else - root["pdfjs-dist/build/pdf"] = root.pdfjsDistBuildPdf = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __w_pdfjs_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __w_pdfjs_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __w_pdfjs_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __w_pdfjs_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __w_pdfjs_require__.d = function(exports, name, getter) { -/******/ if(!__w_pdfjs_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __w_pdfjs_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __w_pdfjs_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __w_pdfjs_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __w_pdfjs_require__(__w_pdfjs_require__.s = 15); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.unreachable = exports.warn = exports.utf8StringToString = exports.stringToUTF8String = exports.stringToPDFString = exports.stringToBytes = exports.string32 = exports.shadow = exports.setVerbosityLevel = exports.ReadableStream = exports.removeNullCharacters = exports.readUint32 = exports.readUint16 = exports.readInt8 = exports.log2 = exports.loadJpegStream = exports.isEvalSupported = exports.isLittleEndian = exports.createValidAbsoluteUrl = exports.isSameOrigin = exports.isNodeJS = exports.isSpace = exports.isString = exports.isNum = exports.isInt = exports.isEmptyObj = exports.isBool = exports.isArrayBuffer = exports.isArray = exports.info = exports.globalScope = exports.getVerbosityLevel = exports.getLookupTableFactory = exports.deprecated = exports.createObjectURL = exports.createPromiseCapability = exports.createBlob = exports.bytesToString = exports.assert = exports.arraysToBytes = exports.arrayByteLength = exports.FormatError = exports.XRefParseException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.StatTimer = exports.PasswordResponses = exports.PasswordException = exports.PageViewport = exports.NotImplementedException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.MessageHandler = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VERBOSITY_LEVELS = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = undefined; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -__w_pdfjs_require__(16); - -var _streams_polyfill = __w_pdfjs_require__(17); - -var globalScope = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : undefined; -var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; -var NativeImageDecoding = { - NONE: 'none', - DECODE: 'decode', - DISPLAY: 'display' -}; -var TextRenderingMode = { - FILL: 0, - STROKE: 1, - FILL_STROKE: 2, - INVISIBLE: 3, - FILL_ADD_TO_PATH: 4, - STROKE_ADD_TO_PATH: 5, - FILL_STROKE_ADD_TO_PATH: 6, - ADD_TO_PATH: 7, - FILL_STROKE_MASK: 3, - ADD_TO_PATH_FLAG: 4 -}; -var ImageKind = { - GRAYSCALE_1BPP: 1, - RGB_24BPP: 2, - RGBA_32BPP: 3 -}; -var AnnotationType = { - TEXT: 1, - LINK: 2, - FREETEXT: 3, - LINE: 4, - SQUARE: 5, - CIRCLE: 6, - POLYGON: 7, - POLYLINE: 8, - HIGHLIGHT: 9, - UNDERLINE: 10, - SQUIGGLY: 11, - STRIKEOUT: 12, - STAMP: 13, - CARET: 14, - INK: 15, - POPUP: 16, - FILEATTACHMENT: 17, - SOUND: 18, - MOVIE: 19, - WIDGET: 20, - SCREEN: 21, - PRINTERMARK: 22, - TRAPNET: 23, - WATERMARK: 24, - THREED: 25, - REDACT: 26 -}; -var AnnotationFlag = { - INVISIBLE: 0x01, - HIDDEN: 0x02, - PRINT: 0x04, - NOZOOM: 0x08, - NOROTATE: 0x10, - NOVIEW: 0x20, - READONLY: 0x40, - LOCKED: 0x80, - TOGGLENOVIEW: 0x100, - LOCKEDCONTENTS: 0x200 -}; -var AnnotationFieldFlag = { - READONLY: 0x0000001, - REQUIRED: 0x0000002, - NOEXPORT: 0x0000004, - MULTILINE: 0x0001000, - PASSWORD: 0x0002000, - NOTOGGLETOOFF: 0x0004000, - RADIO: 0x0008000, - PUSHBUTTON: 0x0010000, - COMBO: 0x0020000, - EDIT: 0x0040000, - SORT: 0x0080000, - FILESELECT: 0x0100000, - MULTISELECT: 0x0200000, - DONOTSPELLCHECK: 0x0400000, - DONOTSCROLL: 0x0800000, - COMB: 0x1000000, - RICHTEXT: 0x2000000, - RADIOSINUNISON: 0x2000000, - COMMITONSELCHANGE: 0x4000000 -}; -var AnnotationBorderStyleType = { - SOLID: 1, - DASHED: 2, - BEVELED: 3, - INSET: 4, - UNDERLINE: 5 -}; -var StreamType = { - UNKNOWN: 0, - FLATE: 1, - LZW: 2, - DCT: 3, - JPX: 4, - JBIG: 5, - A85: 6, - AHX: 7, - CCF: 8, - RL: 9 -}; -var FontType = { - UNKNOWN: 0, - TYPE1: 1, - TYPE1C: 2, - CIDFONTTYPE0: 3, - CIDFONTTYPE0C: 4, - TRUETYPE: 5, - CIDFONTTYPE2: 6, - TYPE3: 7, - OPENTYPE: 8, - TYPE0: 9, - MMTYPE1: 10 -}; -var VERBOSITY_LEVELS = { - errors: 0, - warnings: 1, - infos: 5 -}; -var CMapCompressionType = { - NONE: 0, - BINARY: 1, - STREAM: 2 -}; -var OPS = { - dependency: 1, - setLineWidth: 2, - setLineCap: 3, - setLineJoin: 4, - setMiterLimit: 5, - setDash: 6, - setRenderingIntent: 7, - setFlatness: 8, - setGState: 9, - save: 10, - restore: 11, - transform: 12, - moveTo: 13, - lineTo: 14, - curveTo: 15, - curveTo2: 16, - curveTo3: 17, - closePath: 18, - rectangle: 19, - stroke: 20, - closeStroke: 21, - fill: 22, - eoFill: 23, - fillStroke: 24, - eoFillStroke: 25, - closeFillStroke: 26, - closeEOFillStroke: 27, - endPath: 28, - clip: 29, - eoClip: 30, - beginText: 31, - endText: 32, - setCharSpacing: 33, - setWordSpacing: 34, - setHScale: 35, - setLeading: 36, - setFont: 37, - setTextRenderingMode: 38, - setTextRise: 39, - moveText: 40, - setLeadingMoveText: 41, - setTextMatrix: 42, - nextLine: 43, - showText: 44, - showSpacedText: 45, - nextLineShowText: 46, - nextLineSetSpacingShowText: 47, - setCharWidth: 48, - setCharWidthAndBounds: 49, - setStrokeColorSpace: 50, - setFillColorSpace: 51, - setStrokeColor: 52, - setStrokeColorN: 53, - setFillColor: 54, - setFillColorN: 55, - setStrokeGray: 56, - setFillGray: 57, - setStrokeRGBColor: 58, - setFillRGBColor: 59, - setStrokeCMYKColor: 60, - setFillCMYKColor: 61, - shadingFill: 62, - beginInlineImage: 63, - beginImageData: 64, - endInlineImage: 65, - paintXObject: 66, - markPoint: 67, - markPointProps: 68, - beginMarkedContent: 69, - beginMarkedContentProps: 70, - endMarkedContent: 71, - beginCompat: 72, - endCompat: 73, - paintFormXObjectBegin: 74, - paintFormXObjectEnd: 75, - beginGroup: 76, - endGroup: 77, - beginAnnotations: 78, - endAnnotations: 79, - beginAnnotation: 80, - endAnnotation: 81, - paintJpegXObject: 82, - paintImageMaskXObject: 83, - paintImageMaskXObjectGroup: 84, - paintImageXObject: 85, - paintInlineImageXObject: 86, - paintInlineImageXObjectGroup: 87, - paintImageXObjectRepeat: 88, - paintImageMaskXObjectRepeat: 89, - paintSolidColorImageMask: 90, - constructPath: 91 -}; -var verbosity = VERBOSITY_LEVELS.warnings; -function setVerbosityLevel(level) { - verbosity = level; -} -function getVerbosityLevel() { - return verbosity; -} -function info(msg) { - if (verbosity >= VERBOSITY_LEVELS.infos) { - console.log('Info: ' + msg); - } -} -function warn(msg) { - if (verbosity >= VERBOSITY_LEVELS.warnings) { - console.log('Warning: ' + msg); - } -} -function deprecated(details) { - console.log('Deprecated API usage: ' + details); -} -function unreachable(msg) { - throw new Error(msg); -} -function assert(cond, msg) { - if (!cond) { - unreachable(msg); - } -} -var UNSUPPORTED_FEATURES = { - unknown: 'unknown', - forms: 'forms', - javaScript: 'javaScript', - smask: 'smask', - shadingPattern: 'shadingPattern', - font: 'font' -}; -function isSameOrigin(baseUrl, otherUrl) { - try { - var base = new URL(baseUrl); - if (!base.origin || base.origin === 'null') { - return false; - } - } catch (e) { - return false; - } - var other = new URL(otherUrl, base); - return base.origin === other.origin; -} -function isValidProtocol(url) { - if (!url) { - return false; - } - switch (url.protocol) { - case 'http:': - case 'https:': - case 'ftp:': - case 'mailto:': - case 'tel:': - return true; - default: - return false; - } -} -function createValidAbsoluteUrl(url, baseUrl) { - if (!url) { - return null; - } - try { - var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); - if (isValidProtocol(absoluteUrl)) { - return absoluteUrl; - } - } catch (ex) {} - return null; -} -function shadow(obj, prop, value) { - Object.defineProperty(obj, prop, { - value: value, - enumerable: true, - configurable: true, - writable: false - }); - return value; -} -function getLookupTableFactory(initializer) { - var lookup; - return function () { - if (initializer) { - lookup = Object.create(null); - initializer(lookup); - initializer = null; - } - return lookup; - }; -} -var PasswordResponses = { - NEED_PASSWORD: 1, - INCORRECT_PASSWORD: 2 -}; -var PasswordException = function PasswordExceptionClosure() { - function PasswordException(msg, code) { - this.name = 'PasswordException'; - this.message = msg; - this.code = code; - } - PasswordException.prototype = new Error(); - PasswordException.constructor = PasswordException; - return PasswordException; -}(); -var UnknownErrorException = function UnknownErrorExceptionClosure() { - function UnknownErrorException(msg, details) { - this.name = 'UnknownErrorException'; - this.message = msg; - this.details = details; - } - UnknownErrorException.prototype = new Error(); - UnknownErrorException.constructor = UnknownErrorException; - return UnknownErrorException; -}(); -var InvalidPDFException = function InvalidPDFExceptionClosure() { - function InvalidPDFException(msg) { - this.name = 'InvalidPDFException'; - this.message = msg; - } - InvalidPDFException.prototype = new Error(); - InvalidPDFException.constructor = InvalidPDFException; - return InvalidPDFException; -}(); -var MissingPDFException = function MissingPDFExceptionClosure() { - function MissingPDFException(msg) { - this.name = 'MissingPDFException'; - this.message = msg; - } - MissingPDFException.prototype = new Error(); - MissingPDFException.constructor = MissingPDFException; - return MissingPDFException; -}(); -var UnexpectedResponseException = function UnexpectedResponseExceptionClosure() { - function UnexpectedResponseException(msg, status) { - this.name = 'UnexpectedResponseException'; - this.message = msg; - this.status = status; - } - UnexpectedResponseException.prototype = new Error(); - UnexpectedResponseException.constructor = UnexpectedResponseException; - return UnexpectedResponseException; -}(); -var NotImplementedException = function NotImplementedExceptionClosure() { - function NotImplementedException(msg) { - this.message = msg; - } - NotImplementedException.prototype = new Error(); - NotImplementedException.prototype.name = 'NotImplementedException'; - NotImplementedException.constructor = NotImplementedException; - return NotImplementedException; -}(); -var MissingDataException = function MissingDataExceptionClosure() { - function MissingDataException(begin, end) { - this.begin = begin; - this.end = end; - this.message = 'Missing data [' + begin + ', ' + end + ')'; - } - MissingDataException.prototype = new Error(); - MissingDataException.prototype.name = 'MissingDataException'; - MissingDataException.constructor = MissingDataException; - return MissingDataException; -}(); -var XRefParseException = function XRefParseExceptionClosure() { - function XRefParseException(msg) { - this.message = msg; - } - XRefParseException.prototype = new Error(); - XRefParseException.prototype.name = 'XRefParseException'; - XRefParseException.constructor = XRefParseException; - return XRefParseException; -}(); -var FormatError = function FormatErrorClosure() { - function FormatError(msg) { - this.message = msg; - } - FormatError.prototype = new Error(); - FormatError.prototype.name = 'FormatError'; - FormatError.constructor = FormatError; - return FormatError; -}(); -var AbortException = function AbortExceptionClosure() { - function AbortException(msg) { - this.name = 'AbortException'; - this.message = msg; - } - AbortException.prototype = new Error(); - AbortException.constructor = AbortException; - return AbortException; -}(); -var NullCharactersRegExp = /\x00/g; -function removeNullCharacters(str) { - if (typeof str !== 'string') { - warn('The argument for removeNullCharacters must be a string.'); - return str; - } - return str.replace(NullCharactersRegExp, ''); -} -function bytesToString(bytes) { - assert(bytes !== null && (typeof bytes === 'undefined' ? 'undefined' : _typeof(bytes)) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString'); - var length = bytes.length; - var MAX_ARGUMENT_COUNT = 8192; - if (length < MAX_ARGUMENT_COUNT) { - return String.fromCharCode.apply(null, bytes); - } - var strBuf = []; - for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) { - var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); - var chunk = bytes.subarray(i, chunkEnd); - strBuf.push(String.fromCharCode.apply(null, chunk)); - } - return strBuf.join(''); -} -function stringToBytes(str) { - assert(typeof str === 'string', 'Invalid argument for stringToBytes'); - var length = str.length; - var bytes = new Uint8Array(length); - for (var i = 0; i < length; ++i) { - bytes[i] = str.charCodeAt(i) & 0xFF; - } - return bytes; -} -function arrayByteLength(arr) { - if (arr.length !== undefined) { - return arr.length; - } - assert(arr.byteLength !== undefined); - return arr.byteLength; -} -function arraysToBytes(arr) { - if (arr.length === 1 && arr[0] instanceof Uint8Array) { - return arr[0]; - } - var resultLength = 0; - var i, - ii = arr.length; - var item, itemLength; - for (i = 0; i < ii; i++) { - item = arr[i]; - itemLength = arrayByteLength(item); - resultLength += itemLength; - } - var pos = 0; - var data = new Uint8Array(resultLength); - for (i = 0; i < ii; i++) { - item = arr[i]; - if (!(item instanceof Uint8Array)) { - if (typeof item === 'string') { - item = stringToBytes(item); - } else { - item = new Uint8Array(item); - } - } - itemLength = item.byteLength; - data.set(item, pos); - pos += itemLength; - } - return data; -} -function string32(value) { - return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); -} -function log2(x) { - var n = 1, - i = 0; - while (x > n) { - n <<= 1; - i++; - } - return i; -} -function readInt8(data, start) { - return data[start] << 24 >> 24; -} -function readUint16(data, offset) { - return data[offset] << 8 | data[offset + 1]; -} -function readUint32(data, offset) { - return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0; -} -function isLittleEndian() { - var buffer8 = new Uint8Array(4); - buffer8[0] = 1; - var view32 = new Uint32Array(buffer8.buffer, 0, 1); - return view32[0] === 1; -} -function isEvalSupported() { - try { - new Function(''); - return true; - } catch (e) { - return false; - } -} -var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; -var Util = function UtilClosure() { - function Util() {} - var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')']; - Util.makeCssRgb = function Util_makeCssRgb(r, g, b) { - rgbBuf[1] = r; - rgbBuf[3] = g; - rgbBuf[5] = b; - return rgbBuf.join(''); - }; - Util.transform = function Util_transform(m1, m2) { - return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; - }; - Util.applyTransform = function Util_applyTransform(p, m) { - var xt = p[0] * m[0] + p[1] * m[2] + m[4]; - var yt = p[0] * m[1] + p[1] * m[3] + m[5]; - return [xt, yt]; - }; - Util.applyInverseTransform = function Util_applyInverseTransform(p, m) { - var d = m[0] * m[3] - m[1] * m[2]; - var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; - var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; - return [xt, yt]; - }; - Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) { - var p1 = Util.applyTransform(r, m); - var p2 = Util.applyTransform(r.slice(2, 4), m); - var p3 = Util.applyTransform([r[0], r[3]], m); - var p4 = Util.applyTransform([r[2], r[1]], m); - return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; - }; - Util.inverseTransform = function Util_inverseTransform(m) { - var d = m[0] * m[3] - m[1] * m[2]; - return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; - }; - Util.apply3dTransform = function Util_apply3dTransform(m, v) { - return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]]; - }; - Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) { - var transpose = [m[0], m[2], m[1], m[3]]; - var a = m[0] * transpose[0] + m[1] * transpose[2]; - var b = m[0] * transpose[1] + m[1] * transpose[3]; - var c = m[2] * transpose[0] + m[3] * transpose[2]; - var d = m[2] * transpose[1] + m[3] * transpose[3]; - var first = (a + d) / 2; - var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2; - var sx = first + second || 1; - var sy = first - second || 1; - return [Math.sqrt(sx), Math.sqrt(sy)]; - }; - Util.normalizeRect = function Util_normalizeRect(rect) { - var r = rect.slice(0); - if (rect[0] > rect[2]) { - r[0] = rect[2]; - r[2] = rect[0]; - } - if (rect[1] > rect[3]) { - r[1] = rect[3]; - r[3] = rect[1]; - } - return r; - }; - Util.intersect = function Util_intersect(rect1, rect2) { - function compare(a, b) { - return a - b; - } - var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare), - orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare), - result = []; - rect1 = Util.normalizeRect(rect1); - rect2 = Util.normalizeRect(rect2); - if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) { - result[0] = orderedX[1]; - result[2] = orderedX[2]; - } else { - return false; - } - if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) { - result[1] = orderedY[1]; - result[3] = orderedY[2]; - } else { - return false; - } - return result; - }; - Util.sign = function Util_sign(num) { - return num < 0 ? -1 : 1; - }; - var ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; - Util.toRoman = function Util_toRoman(number, lowerCase) { - assert(isInt(number) && number > 0, 'The number should be a positive integer.'); - var pos, - romanBuf = []; - while (number >= 1000) { - number -= 1000; - romanBuf.push('M'); - } - pos = number / 100 | 0; - number %= 100; - romanBuf.push(ROMAN_NUMBER_MAP[pos]); - pos = number / 10 | 0; - number %= 10; - romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]); - romanBuf.push(ROMAN_NUMBER_MAP[20 + number]); - var romanStr = romanBuf.join(''); - return lowerCase ? romanStr.toLowerCase() : romanStr; - }; - Util.appendToArray = function Util_appendToArray(arr1, arr2) { - Array.prototype.push.apply(arr1, arr2); - }; - Util.prependToArray = function Util_prependToArray(arr1, arr2) { - Array.prototype.unshift.apply(arr1, arr2); - }; - Util.extendObj = function extendObj(obj1, obj2) { - for (var key in obj2) { - obj1[key] = obj2[key]; - } - }; - Util.getInheritableProperty = function Util_getInheritableProperty(dict, name, getArray) { - while (dict && !dict.has(name)) { - dict = dict.get('Parent'); - } - if (!dict) { - return null; - } - return getArray ? dict.getArray(name) : dict.get(name); - }; - Util.inherit = function Util_inherit(sub, base, prototype) { - sub.prototype = Object.create(base.prototype); - sub.prototype.constructor = sub; - for (var prop in prototype) { - sub.prototype[prop] = prototype[prop]; - } - }; - Util.loadScript = function Util_loadScript(src, callback) { - var script = document.createElement('script'); - var loaded = false; - script.setAttribute('src', src); - if (callback) { - script.onload = function () { - if (!loaded) { - callback(); - } - loaded = true; - }; - } - document.getElementsByTagName('head')[0].appendChild(script); - }; - return Util; -}(); -var PageViewport = function PageViewportClosure() { - function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) { - this.viewBox = viewBox; - this.scale = scale; - this.rotation = rotation; - this.offsetX = offsetX; - this.offsetY = offsetY; - var centerX = (viewBox[2] + viewBox[0]) / 2; - var centerY = (viewBox[3] + viewBox[1]) / 2; - var rotateA, rotateB, rotateC, rotateD; - rotation = rotation % 360; - rotation = rotation < 0 ? rotation + 360 : rotation; - switch (rotation) { - case 180: - rotateA = -1; - rotateB = 0; - rotateC = 0; - rotateD = 1; - break; - case 90: - rotateA = 0; - rotateB = 1; - rotateC = 1; - rotateD = 0; - break; - case 270: - rotateA = 0; - rotateB = -1; - rotateC = -1; - rotateD = 0; - break; - default: - rotateA = 1; - rotateB = 0; - rotateC = 0; - rotateD = -1; - break; - } - if (dontFlip) { - rotateC = -rotateC; - rotateD = -rotateD; - } - var offsetCanvasX, offsetCanvasY; - var width, height; - if (rotateA === 0) { - offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; - offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; - width = Math.abs(viewBox[3] - viewBox[1]) * scale; - height = Math.abs(viewBox[2] - viewBox[0]) * scale; - } else { - offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; - offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; - width = Math.abs(viewBox[2] - viewBox[0]) * scale; - height = Math.abs(viewBox[3] - viewBox[1]) * scale; - } - this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; - this.width = width; - this.height = height; - this.fontScale = scale; - } - PageViewport.prototype = { - clone: function PageViewPort_clone(args) { - args = args || {}; - var scale = 'scale' in args ? args.scale : this.scale; - var rotation = 'rotation' in args ? args.rotation : this.rotation; - return new PageViewport(this.viewBox.slice(), scale, rotation, this.offsetX, this.offsetY, args.dontFlip); - }, - convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) { - return Util.applyTransform([x, y], this.transform); - }, - convertToViewportRectangle: function PageViewport_convertToViewportRectangle(rect) { - var tl = Util.applyTransform([rect[0], rect[1]], this.transform); - var br = Util.applyTransform([rect[2], rect[3]], this.transform); - return [tl[0], tl[1], br[0], br[1]]; - }, - convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) { - return Util.applyInverseTransform([x, y], this.transform); - } - }; - return PageViewport; -}(); -var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC]; -function stringToPDFString(str) { - var i, - n = str.length, - strBuf = []; - if (str[0] === '\xFE' && str[1] === '\xFF') { - for (i = 2; i < n; i += 2) { - strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1))); - } - } else { - for (i = 0; i < n; ++i) { - var code = PDFStringTranslateTable[str.charCodeAt(i)]; - strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); - } - } - return strBuf.join(''); -} -function stringToUTF8String(str) { - return decodeURIComponent(escape(str)); -} -function utf8StringToString(str) { - return unescape(encodeURIComponent(str)); -} -function isEmptyObj(obj) { - for (var key in obj) { - return false; - } - return true; -} -function isBool(v) { - return typeof v === 'boolean'; -} -function isInt(v) { - return typeof v === 'number' && (v | 0) === v; -} -function isNum(v) { - return typeof v === 'number'; -} -function isString(v) { - return typeof v === 'string'; -} -function isArray(v) { - return v instanceof Array; -} -function isArrayBuffer(v) { - return (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === 'object' && v !== null && v.byteLength !== undefined; -} -function isSpace(ch) { - return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A; -} -function isNodeJS() { - return (typeof process === 'undefined' ? 'undefined' : _typeof(process)) === 'object' && process + '' === '[object process]'; -} -function createPromiseCapability() { - var capability = {}; - capability.promise = new Promise(function (resolve, reject) { - capability.resolve = resolve; - capability.reject = reject; - }); - return capability; -} -var StatTimer = function StatTimerClosure() { - function rpad(str, pad, length) { - while (str.length < length) { - str += pad; - } - return str; - } - function StatTimer() { - this.started = Object.create(null); - this.times = []; - this.enabled = true; - } - StatTimer.prototype = { - time: function StatTimer_time(name) { - if (!this.enabled) { - return; - } - if (name in this.started) { - warn('Timer is already running for ' + name); - } - this.started[name] = Date.now(); - }, - timeEnd: function StatTimer_timeEnd(name) { - if (!this.enabled) { - return; - } - if (!(name in this.started)) { - warn('Timer has not been started for ' + name); - } - this.times.push({ - 'name': name, - 'start': this.started[name], - 'end': Date.now() - }); - delete this.started[name]; - }, - toString: function StatTimer_toString() { - var i, ii; - var times = this.times; - var out = ''; - var longest = 0; - for (i = 0, ii = times.length; i < ii; ++i) { - var name = times[i]['name']; - if (name.length > longest) { - longest = name.length; - } - } - for (i = 0, ii = times.length; i < ii; ++i) { - var span = times[i]; - var duration = span.end - span.start; - out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\n'; - } - return out; - } - }; - return StatTimer; -}(); -var createBlob = function createBlob(data, contentType) { - if (typeof Blob !== 'undefined') { - return new Blob([data], { type: contentType }); - } - throw new Error('The "Blob" constructor is not supported.'); -}; -var createObjectURL = function createObjectURLClosure() { - var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - return function createObjectURL(data, contentType) { - var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - if (!forceDataSchema && URL.createObjectURL) { - var blob = createBlob(data, contentType); - return URL.createObjectURL(blob); - } - var buffer = 'data:' + contentType + ';base64,'; - for (var i = 0, ii = data.length; i < ii; i += 3) { - var b1 = data[i] & 0xFF; - var b2 = data[i + 1] & 0xFF; - var b3 = data[i + 2] & 0xFF; - var d1 = b1 >> 2, - d2 = (b1 & 3) << 4 | b2 >> 4; - var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64; - var d4 = i + 2 < ii ? b3 & 0x3F : 64; - buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; - } - return buffer; - }; -}(); -function resolveCall(fn, args) { - var thisArg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - if (!fn) { - return Promise.resolve(undefined); - } - return new Promise(function (resolve, reject) { - resolve(fn.apply(thisArg, args)); - }); -} -function wrapReason(reason) { - if ((typeof reason === 'undefined' ? 'undefined' : _typeof(reason)) !== 'object') { - return reason; - } - switch (reason.name) { - case 'AbortException': - return new AbortException(reason.message); - case 'MissingPDFException': - return new MissingPDFException(reason.message); - case 'UnexpectedResponseException': - return new UnexpectedResponseException(reason.message, reason.status); - default: - return new UnknownErrorException(reason.message, reason.details); - } -} -function resolveOrReject(capability, success, reason) { - if (success) { - capability.resolve(); - } else { - capability.reject(reason); - } -} -function finalize(promise) { - return Promise.resolve(promise).catch(function () {}); -} -function MessageHandler(sourceName, targetName, comObj) { - var _this = this; - - this.sourceName = sourceName; - this.targetName = targetName; - this.comObj = comObj; - this.callbackId = 1; - this.streamId = 1; - this.postMessageTransfers = true; - this.streamSinks = Object.create(null); - this.streamControllers = Object.create(null); - var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); - var ah = this.actionHandler = Object.create(null); - this._onComObjOnMessage = function (event) { - var data = event.data; - if (data.targetName !== _this.sourceName) { - return; - } - if (data.stream) { - _this._processStreamMessage(data); - } else if (data.isReply) { - var callbackId = data.callbackId; - if (data.callbackId in callbacksCapabilities) { - var callback = callbacksCapabilities[callbackId]; - delete callbacksCapabilities[callbackId]; - if ('error' in data) { - callback.reject(wrapReason(data.error)); - } else { - callback.resolve(data.data); - } - } else { - throw new Error('Cannot resolve callback ' + callbackId); - } - } else if (data.action in ah) { - var action = ah[data.action]; - if (data.callbackId) { - var _sourceName = _this.sourceName; - var _targetName = data.sourceName; - Promise.resolve().then(function () { - return action[0].call(action[1], data.data); - }).then(function (result) { - comObj.postMessage({ - sourceName: _sourceName, - targetName: _targetName, - isReply: true, - callbackId: data.callbackId, - data: result - }); - }, function (reason) { - if (reason instanceof Error) { - reason = reason + ''; - } - comObj.postMessage({ - sourceName: _sourceName, - targetName: _targetName, - isReply: true, - callbackId: data.callbackId, - error: reason - }); - }); - } else if (data.streamId) { - _this._createStreamSink(data); - } else { - action[0].call(action[1], data.data); - } - } else { - throw new Error('Unknown action from worker: ' + data.action); - } - }; - comObj.addEventListener('message', this._onComObjOnMessage); -} -MessageHandler.prototype = { - on: function on(actionName, handler, scope) { - var ah = this.actionHandler; - if (ah[actionName]) { - throw new Error('There is already an actionName called "' + actionName + '"'); - } - ah[actionName] = [handler, scope]; - }, - send: function send(actionName, data, transfers) { - var message = { - sourceName: this.sourceName, - targetName: this.targetName, - action: actionName, - data: data - }; - this.postMessage(message, transfers); - }, - sendWithPromise: function sendWithPromise(actionName, data, transfers) { - var callbackId = this.callbackId++; - var message = { - sourceName: this.sourceName, - targetName: this.targetName, - action: actionName, - data: data, - callbackId: callbackId - }; - var capability = createPromiseCapability(); - this.callbacksCapabilities[callbackId] = capability; - try { - this.postMessage(message, transfers); - } catch (e) { - capability.reject(e); - } - return capability.promise; - }, - sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) { - var _this2 = this; - - var streamId = this.streamId++; - var sourceName = this.sourceName; - var targetName = this.targetName; - return new _streams_polyfill.ReadableStream({ - start: function start(controller) { - var startCapability = createPromiseCapability(); - _this2.streamControllers[streamId] = { - controller: controller, - startCall: startCapability, - isClosed: false - }; - _this2.postMessage({ - sourceName: sourceName, - targetName: targetName, - action: actionName, - streamId: streamId, - data: data, - desiredSize: controller.desiredSize - }); - return startCapability.promise; - }, - pull: function pull(controller) { - var pullCapability = createPromiseCapability(); - _this2.streamControllers[streamId].pullCall = pullCapability; - _this2.postMessage({ - sourceName: sourceName, - targetName: targetName, - stream: 'pull', - streamId: streamId, - desiredSize: controller.desiredSize - }); - return pullCapability.promise; - }, - cancel: function cancel(reason) { - var cancelCapability = createPromiseCapability(); - _this2.streamControllers[streamId].cancelCall = cancelCapability; - _this2.streamControllers[streamId].isClosed = true; - _this2.postMessage({ - sourceName: sourceName, - targetName: targetName, - stream: 'cancel', - reason: reason, - streamId: streamId - }); - return cancelCapability.promise; - } - }, queueingStrategy); - }, - _createStreamSink: function _createStreamSink(data) { - var _this3 = this; - - var self = this; - var action = this.actionHandler[data.action]; - var streamId = data.streamId; - var desiredSize = data.desiredSize; - var sourceName = this.sourceName; - var targetName = data.sourceName; - var capability = createPromiseCapability(); - var sendStreamRequest = function sendStreamRequest(_ref) { - var stream = _ref.stream, - chunk = _ref.chunk, - transfers = _ref.transfers, - success = _ref.success, - reason = _ref.reason; - - _this3.postMessage({ - sourceName: sourceName, - targetName: targetName, - stream: stream, - streamId: streamId, - chunk: chunk, - success: success, - reason: reason - }, transfers); - }; - var streamSink = { - enqueue: function enqueue(chunk) { - var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - var transfers = arguments[2]; - - if (this.isCancelled) { - return; - } - var lastDesiredSize = this.desiredSize; - this.desiredSize -= size; - if (lastDesiredSize > 0 && this.desiredSize <= 0) { - this.sinkCapability = createPromiseCapability(); - this.ready = this.sinkCapability.promise; - } - sendStreamRequest({ - stream: 'enqueue', - chunk: chunk, - transfers: transfers - }); - }, - close: function close() { - if (this.isCancelled) { - return; - } - sendStreamRequest({ stream: 'close' }); - delete self.streamSinks[streamId]; - }, - error: function error(reason) { - if (this.isCancelled) { - return; - } - this.isCancelled = true; - sendStreamRequest({ - stream: 'error', - reason: reason - }); - }, - - sinkCapability: capability, - onPull: null, - onCancel: null, - isCancelled: false, - desiredSize: desiredSize, - ready: null - }; - streamSink.sinkCapability.resolve(); - streamSink.ready = streamSink.sinkCapability.promise; - this.streamSinks[streamId] = streamSink; - resolveCall(action[0], [data.data, streamSink], action[1]).then(function () { - sendStreamRequest({ - stream: 'start_complete', - success: true - }); - }, function (reason) { - sendStreamRequest({ - stream: 'start_complete', - success: false, - reason: reason - }); - }); - }, - _processStreamMessage: function _processStreamMessage(data) { - var _this4 = this; - - var sourceName = this.sourceName; - var targetName = data.sourceName; - var streamId = data.streamId; - var sendStreamResponse = function sendStreamResponse(_ref2) { - var stream = _ref2.stream, - success = _ref2.success, - reason = _ref2.reason; - - _this4.comObj.postMessage({ - sourceName: sourceName, - targetName: targetName, - stream: stream, - success: success, - streamId: streamId, - reason: reason - }); - }; - var deleteStreamController = function deleteStreamController() { - Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) { - return capability && finalize(capability.promise); - })).then(function () { - delete _this4.streamControllers[data.streamId]; - }); - }; - switch (data.stream) { - case 'start_complete': - resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason)); - break; - case 'pull_complete': - resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason)); - break; - case 'pull': - if (!this.streamSinks[data.streamId]) { - sendStreamResponse({ - stream: 'pull_complete', - success: true - }); - break; - } - if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) { - this.streamSinks[data.streamId].sinkCapability.resolve(); - } - this.streamSinks[data.streamId].desiredSize = data.desiredSize; - resolveCall(this.streamSinks[data.streamId].onPull).then(function () { - sendStreamResponse({ - stream: 'pull_complete', - success: true - }); - }, function (reason) { - sendStreamResponse({ - stream: 'pull_complete', - success: false, - reason: reason - }); - }); - break; - case 'enqueue': - assert(this.streamControllers[data.streamId], 'enqueue should have stream controller'); - if (!this.streamControllers[data.streamId].isClosed) { - this.streamControllers[data.streamId].controller.enqueue(data.chunk); - } - break; - case 'close': - assert(this.streamControllers[data.streamId], 'close should have stream controller'); - if (this.streamControllers[data.streamId].isClosed) { - break; - } - this.streamControllers[data.streamId].isClosed = true; - this.streamControllers[data.streamId].controller.close(); - deleteStreamController(); - break; - case 'error': - assert(this.streamControllers[data.streamId], 'error should have stream controller'); - this.streamControllers[data.streamId].controller.error(wrapReason(data.reason)); - deleteStreamController(); - break; - case 'cancel_complete': - resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason)); - deleteStreamController(); - break; - case 'cancel': - if (!this.streamSinks[data.streamId]) { - break; - } - resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () { - sendStreamResponse({ - stream: 'cancel_complete', - success: true - }); - }, function (reason) { - sendStreamResponse({ - stream: 'cancel_complete', - success: false, - reason: reason - }); - }); - this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason)); - this.streamSinks[data.streamId].isCancelled = true; - delete this.streamSinks[data.streamId]; - break; - default: - throw new Error('Unexpected stream case'); - } - }, - postMessage: function postMessage(message, transfers) { - if (transfers && this.postMessageTransfers) { - this.comObj.postMessage(message, transfers); - } else { - this.comObj.postMessage(message); - } - }, - destroy: function destroy() { - this.comObj.removeEventListener('message', this._onComObjOnMessage); - } -}; -function loadJpegStream(id, imageUrl, objs) { - var img = new Image(); - img.onload = function loadJpegStream_onloadClosure() { - objs.resolve(id, img); - }; - img.onerror = function loadJpegStream_onerrorClosure() { - objs.resolve(id, null); - warn('Error during JPEG image loading'); - }; - img.src = imageUrl; -} -exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; -exports.IDENTITY_MATRIX = IDENTITY_MATRIX; -exports.OPS = OPS; -exports.VERBOSITY_LEVELS = VERBOSITY_LEVELS; -exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; -exports.AnnotationBorderStyleType = AnnotationBorderStyleType; -exports.AnnotationFieldFlag = AnnotationFieldFlag; -exports.AnnotationFlag = AnnotationFlag; -exports.AnnotationType = AnnotationType; -exports.FontType = FontType; -exports.ImageKind = ImageKind; -exports.CMapCompressionType = CMapCompressionType; -exports.AbortException = AbortException; -exports.InvalidPDFException = InvalidPDFException; -exports.MessageHandler = MessageHandler; -exports.MissingDataException = MissingDataException; -exports.MissingPDFException = MissingPDFException; -exports.NativeImageDecoding = NativeImageDecoding; -exports.NotImplementedException = NotImplementedException; -exports.PageViewport = PageViewport; -exports.PasswordException = PasswordException; -exports.PasswordResponses = PasswordResponses; -exports.StatTimer = StatTimer; -exports.StreamType = StreamType; -exports.TextRenderingMode = TextRenderingMode; -exports.UnexpectedResponseException = UnexpectedResponseException; -exports.UnknownErrorException = UnknownErrorException; -exports.Util = Util; -exports.XRefParseException = XRefParseException; -exports.FormatError = FormatError; -exports.arrayByteLength = arrayByteLength; -exports.arraysToBytes = arraysToBytes; -exports.assert = assert; -exports.bytesToString = bytesToString; -exports.createBlob = createBlob; -exports.createPromiseCapability = createPromiseCapability; -exports.createObjectURL = createObjectURL; -exports.deprecated = deprecated; -exports.getLookupTableFactory = getLookupTableFactory; -exports.getVerbosityLevel = getVerbosityLevel; -exports.globalScope = globalScope; -exports.info = info; -exports.isArray = isArray; -exports.isArrayBuffer = isArrayBuffer; -exports.isBool = isBool; -exports.isEmptyObj = isEmptyObj; -exports.isInt = isInt; -exports.isNum = isNum; -exports.isString = isString; -exports.isSpace = isSpace; -exports.isNodeJS = isNodeJS; -exports.isSameOrigin = isSameOrigin; -exports.createValidAbsoluteUrl = createValidAbsoluteUrl; -exports.isLittleEndian = isLittleEndian; -exports.isEvalSupported = isEvalSupported; -exports.loadJpegStream = loadJpegStream; -exports.log2 = log2; -exports.readInt8 = readInt8; -exports.readUint16 = readUint16; -exports.readUint32 = readUint32; -exports.removeNullCharacters = removeNullCharacters; -exports.ReadableStream = _streams_polyfill.ReadableStream; -exports.setVerbosityLevel = setVerbosityLevel; -exports.shadow = shadow; -exports.string32 = string32; -exports.stringToBytes = stringToBytes; -exports.stringToPDFString = stringToPDFString; -exports.stringToUTF8String = stringToUTF8String; -exports.utf8StringToString = utf8StringToString; -exports.warn = warn; -exports.unreachable = unreachable; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.getDefaultSetting = exports.LinkTarget = exports.getFilenameFromUrl = exports.isValidUrl = exports.isExternalLinkTargetSet = exports.addLinkAttributes = exports.RenderingCancelledException = exports.CustomStyle = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _util = __w_pdfjs_require__(0); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var DEFAULT_LINK_REL = 'noopener noreferrer nofollow'; - -var DOMCanvasFactory = function () { - function DOMCanvasFactory() { - _classCallCheck(this, DOMCanvasFactory); - } - - _createClass(DOMCanvasFactory, [{ - key: 'create', - value: function create(width, height) { - if (width <= 0 || height <= 0) { - throw new Error('invalid canvas size'); - } - var canvas = document.createElement('canvas'); - var context = canvas.getContext('2d'); - canvas.width = width; - canvas.height = height; - return { - canvas: canvas, - context: context - }; - } - }, { - key: 'reset', - value: function reset(canvasAndContext, width, height) { - if (!canvasAndContext.canvas) { - throw new Error('canvas is not specified'); - } - if (width <= 0 || height <= 0) { - throw new Error('invalid canvas size'); - } - canvasAndContext.canvas.width = width; - canvasAndContext.canvas.height = height; - } - }, { - key: 'destroy', - value: function destroy(canvasAndContext) { - if (!canvasAndContext.canvas) { - throw new Error('canvas is not specified'); - } - canvasAndContext.canvas.width = 0; - canvasAndContext.canvas.height = 0; - canvasAndContext.canvas = null; - canvasAndContext.context = null; - } - }]); - - return DOMCanvasFactory; -}(); - -var DOMCMapReaderFactory = function () { - function DOMCMapReaderFactory(_ref) { - var _ref$baseUrl = _ref.baseUrl, - baseUrl = _ref$baseUrl === undefined ? null : _ref$baseUrl, - _ref$isCompressed = _ref.isCompressed, - isCompressed = _ref$isCompressed === undefined ? false : _ref$isCompressed; - - _classCallCheck(this, DOMCMapReaderFactory); - - this.baseUrl = baseUrl; - this.isCompressed = isCompressed; - } - - _createClass(DOMCMapReaderFactory, [{ - key: 'fetch', - value: function fetch(_ref2) { - var _this = this; - - var name = _ref2.name; - - if (!name) { - return Promise.reject(new Error('CMap name must be specified.')); - } - return new Promise(function (resolve, reject) { - var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : ''); - var request = new XMLHttpRequest(); - request.open('GET', url, true); - if (_this.isCompressed) { - request.responseType = 'arraybuffer'; - } - request.onreadystatechange = function () { - if (request.readyState !== XMLHttpRequest.DONE) { - return; - } - if (request.status === 200 || request.status === 0) { - var data = void 0; - if (_this.isCompressed && request.response) { - data = new Uint8Array(request.response); - } else if (!_this.isCompressed && request.responseText) { - data = (0, _util.stringToBytes)(request.responseText); - } - if (data) { - resolve({ - cMapData: data, - compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE - }); - return; - } - } - reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); - }; - request.send(null); - }); - } - }]); - - return DOMCMapReaderFactory; -}(); - -var CustomStyle = function CustomStyleClosure() { - var prefixes = ['ms', 'Moz', 'Webkit', 'O']; - var _cache = Object.create(null); - function CustomStyle() {} - CustomStyle.getProp = function get(propName, element) { - if (arguments.length === 1 && typeof _cache[propName] === 'string') { - return _cache[propName]; - } - element = element || document.documentElement; - var style = element.style, - prefixed, - uPropName; - if (typeof style[propName] === 'string') { - return _cache[propName] = propName; - } - uPropName = propName.charAt(0).toUpperCase() + propName.slice(1); - for (var i = 0, l = prefixes.length; i < l; i++) { - prefixed = prefixes[i] + uPropName; - if (typeof style[prefixed] === 'string') { - return _cache[propName] = prefixed; - } - } - return _cache[propName] = 'undefined'; - }; - CustomStyle.setProp = function set(propName, element, str) { - var prop = this.getProp(propName); - if (prop !== 'undefined') { - element.style[prop] = str; - } - }; - return CustomStyle; -}(); -var RenderingCancelledException = function RenderingCancelledException() { - function RenderingCancelledException(msg, type) { - this.message = msg; - this.type = type; - } - RenderingCancelledException.prototype = new Error(); - RenderingCancelledException.prototype.name = 'RenderingCancelledException'; - RenderingCancelledException.constructor = RenderingCancelledException; - return RenderingCancelledException; -}(); -var LinkTarget = { - NONE: 0, - SELF: 1, - BLANK: 2, - PARENT: 3, - TOP: 4 -}; -var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top']; -function addLinkAttributes(link, params) { - var url = params && params.url; - link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : ''; - if (url) { - var target = params.target; - if (typeof target === 'undefined') { - target = getDefaultSetting('externalLinkTarget'); - } - link.target = LinkTargetStringMap[target]; - var rel = params.rel; - if (typeof rel === 'undefined') { - rel = getDefaultSetting('externalLinkRel'); - } - link.rel = rel; - } -} -function getFilenameFromUrl(url) { - var anchor = url.indexOf('#'); - var query = url.indexOf('?'); - var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length); - return url.substring(url.lastIndexOf('/', end) + 1, end); -} -function getDefaultSetting(id) { - var globalSettings = _util.globalScope.PDFJS; - switch (id) { - case 'pdfBug': - return globalSettings ? globalSettings.pdfBug : false; - case 'disableAutoFetch': - return globalSettings ? globalSettings.disableAutoFetch : false; - case 'disableStream': - return globalSettings ? globalSettings.disableStream : false; - case 'disableRange': - return globalSettings ? globalSettings.disableRange : false; - case 'disableFontFace': - return globalSettings ? globalSettings.disableFontFace : false; - case 'disableCreateObjectURL': - return globalSettings ? globalSettings.disableCreateObjectURL : false; - case 'disableWebGL': - return globalSettings ? globalSettings.disableWebGL : true; - case 'cMapUrl': - return globalSettings ? globalSettings.cMapUrl : null; - case 'cMapPacked': - return globalSettings ? globalSettings.cMapPacked : false; - case 'postMessageTransfers': - return globalSettings ? globalSettings.postMessageTransfers : true; - case 'workerPort': - return globalSettings ? globalSettings.workerPort : null; - case 'workerSrc': - return globalSettings ? globalSettings.workerSrc : null; - case 'disableWorker': - return globalSettings ? globalSettings.disableWorker : false; - case 'maxImageSize': - return globalSettings ? globalSettings.maxImageSize : -1; - case 'imageResourcesPath': - return globalSettings ? globalSettings.imageResourcesPath : ''; - case 'isEvalSupported': - return globalSettings ? globalSettings.isEvalSupported : true; - case 'externalLinkTarget': - if (!globalSettings) { - return LinkTarget.NONE; - } - switch (globalSettings.externalLinkTarget) { - case LinkTarget.NONE: - case LinkTarget.SELF: - case LinkTarget.BLANK: - case LinkTarget.PARENT: - case LinkTarget.TOP: - return globalSettings.externalLinkTarget; - } - (0, _util.warn)('PDFJS.externalLinkTarget is invalid: ' + globalSettings.externalLinkTarget); - globalSettings.externalLinkTarget = LinkTarget.NONE; - return LinkTarget.NONE; - case 'externalLinkRel': - return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL; - case 'enableStats': - return !!(globalSettings && globalSettings.enableStats); - case 'pdfjsNext': - return !!(globalSettings && globalSettings.pdfjsNext); - default: - throw new Error('Unknown default setting: ' + id); - } -} -function isExternalLinkTargetSet() { - var externalLinkTarget = getDefaultSetting('externalLinkTarget'); - switch (externalLinkTarget) { - case LinkTarget.NONE: - return false; - case LinkTarget.SELF: - case LinkTarget.BLANK: - case LinkTarget.PARENT: - case LinkTarget.TOP: - return true; - } -} -function isValidUrl(url, allowRelative) { - (0, _util.deprecated)('isValidUrl(), please use createValidAbsoluteUrl() instead.'); - var baseUrl = allowRelative ? 'http://example.com' : null; - return (0, _util.createValidAbsoluteUrl)(url, baseUrl) !== null; -} -exports.CustomStyle = CustomStyle; -exports.RenderingCancelledException = RenderingCancelledException; -exports.addLinkAttributes = addLinkAttributes; -exports.isExternalLinkTargetSet = isExternalLinkTargetSet; -exports.isValidUrl = isValidUrl; -exports.getFilenameFromUrl = getFilenameFromUrl; -exports.LinkTarget = LinkTarget; -exports.getDefaultSetting = getDefaultSetting; -exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL; -exports.DOMCanvasFactory = DOMCanvasFactory; -exports.DOMCMapReaderFactory = DOMCMapReaderFactory; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.build = exports.version = exports._UnsupportedManager = exports.setPDFNetworkStreamClass = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.getDocument = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _util = __w_pdfjs_require__(0); - -var _dom_utils = __w_pdfjs_require__(1); - -var _font_loader = __w_pdfjs_require__(12); - -var _canvas = __w_pdfjs_require__(11); - -var _metadata = __w_pdfjs_require__(6); - -var _transport_stream = __w_pdfjs_require__(14); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var DEFAULT_RANGE_CHUNK_SIZE = 65536; -var isWorkerDisabled = false; -var workerSrc; -var isPostMessageTransfersDisabled = false; -var pdfjsFilePath = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : null; -var fakeWorkerFilesLoader = null; -var useRequireEnsure = false; -{ - if (typeof window === 'undefined') { - isWorkerDisabled = true; - if (typeof require.ensure === 'undefined') { - require.ensure = require('node-ensure'); - } - useRequireEnsure = true; - } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') { - useRequireEnsure = true; - } - if (typeof requirejs !== 'undefined' && requirejs.toUrl) { - workerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js'); - } - var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load; - fakeWorkerFilesLoader = useRequireEnsure ? function (callback) { - require.ensure([], function () { - var worker; - worker = require('./pdf.worker.js'); - callback(worker.WorkerMessageHandler); - }); - } : dynamicLoaderSupported ? function (callback) { - requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) { - callback(worker.WorkerMessageHandler); - }); - } : null; -} -var PDFNetworkStream; -function setPDFNetworkStreamClass(cls) { - PDFNetworkStream = cls; -} -function getDocument(src, pdfDataRangeTransport, passwordCallback, progressCallback) { - var task = new PDFDocumentLoadingTask(); - if (arguments.length > 1) { - (0, _util.deprecated)('getDocument is called with pdfDataRangeTransport, ' + 'passwordCallback or progressCallback argument'); - } - if (pdfDataRangeTransport) { - if (!(pdfDataRangeTransport instanceof PDFDataRangeTransport)) { - pdfDataRangeTransport = Object.create(pdfDataRangeTransport); - pdfDataRangeTransport.length = src.length; - pdfDataRangeTransport.initialData = src.initialData; - if (!pdfDataRangeTransport.abort) { - pdfDataRangeTransport.abort = function () {}; - } - } - src = Object.create(src); - src.range = pdfDataRangeTransport; - } - task.onPassword = passwordCallback || null; - task.onProgress = progressCallback || null; - var source; - if (typeof src === 'string') { - source = { url: src }; - } else if ((0, _util.isArrayBuffer)(src)) { - source = { data: src }; - } else if (src instanceof PDFDataRangeTransport) { - source = { range: src }; - } else { - if ((typeof src === 'undefined' ? 'undefined' : _typeof(src)) !== 'object') { - throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object'); - } - if (!src.url && !src.data && !src.range) { - throw new Error('Invalid parameter object: need either .data, .range or .url'); - } - source = src; - } - var params = {}; - var rangeTransport = null; - var worker = null; - var CMapReaderFactory = _dom_utils.DOMCMapReaderFactory; - for (var key in source) { - if (key === 'url' && typeof window !== 'undefined') { - params[key] = new URL(source[key], window.location).href; - continue; - } else if (key === 'range') { - rangeTransport = source[key]; - continue; - } else if (key === 'worker') { - worker = source[key]; - continue; - } else if (key === 'data' && !(source[key] instanceof Uint8Array)) { - var pdfBytes = source[key]; - if (typeof pdfBytes === 'string') { - params[key] = (0, _util.stringToBytes)(pdfBytes); - } else if ((typeof pdfBytes === 'undefined' ? 'undefined' : _typeof(pdfBytes)) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) { - params[key] = new Uint8Array(pdfBytes); - } else if ((0, _util.isArrayBuffer)(pdfBytes)) { - params[key] = new Uint8Array(pdfBytes); - } else { - throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.'); - } - continue; - } else if (key === 'CMapReaderFactory') { - CMapReaderFactory = source[key]; - continue; - } - params[key] = source[key]; - } - params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; - params.ignoreErrors = params.stopAtErrors !== true; - if (params.disableNativeImageDecoder !== undefined) { - (0, _util.deprecated)('parameter disableNativeImageDecoder, ' + 'use nativeImageDecoderSupport instead'); - } - params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || (params.disableNativeImageDecoder === true ? _util.NativeImageDecoding.NONE : _util.NativeImageDecoding.DECODE); - if (params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DECODE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && params.nativeImageDecoderSupport !== _util.NativeImageDecoding.DISPLAY) { - (0, _util.warn)('Invalid parameter nativeImageDecoderSupport: ' + 'need a state of enum {NativeImageDecoding}'); - params.nativeImageDecoderSupport = _util.NativeImageDecoding.DECODE; - } - if (!worker) { - var workerPort = (0, _dom_utils.getDefaultSetting)('workerPort'); - worker = workerPort ? PDFWorker.fromPort(workerPort) : new PDFWorker(); - task._worker = worker; - } - var docId = task.docId; - worker.promise.then(function () { - if (task.destroyed) { - throw new Error('Loading aborted'); - } - return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) { - if (task.destroyed) { - throw new Error('Loading aborted'); - } - var networkStream = void 0; - if (rangeTransport) { - networkStream = new _transport_stream.PDFDataTransportStream(params, rangeTransport); - } else if (!params.data) { - networkStream = new PDFNetworkStream({ - source: params, - disableRange: (0, _dom_utils.getDefaultSetting)('disableRange') - }); - } - var messageHandler = new _util.MessageHandler(docId, workerId, worker.port); - messageHandler.postMessageTransfers = worker.postMessageTransfers; - var transport = new WorkerTransport(messageHandler, task, networkStream, CMapReaderFactory); - task._transport = transport; - messageHandler.send('Ready', null); - }); - }).catch(task._capability.reject); - return task; -} -function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { - if (worker.destroyed) { - return Promise.reject(new Error('Worker was destroyed')); - } - source.disableAutoFetch = (0, _dom_utils.getDefaultSetting)('disableAutoFetch'); - source.disableStream = (0, _dom_utils.getDefaultSetting)('disableStream'); - source.chunkedViewerLoading = !!pdfDataRangeTransport; - if (pdfDataRangeTransport) { - source.length = pdfDataRangeTransport.length; - source.initialData = pdfDataRangeTransport.initialData; - } - return worker.messageHandler.sendWithPromise('GetDocRequest', { - docId: docId, - source: { - data: source.data, - url: source.url, - password: source.password, - disableAutoFetch: source.disableAutoFetch, - rangeChunkSize: source.rangeChunkSize, - length: source.length - }, - maxImageSize: (0, _dom_utils.getDefaultSetting)('maxImageSize'), - disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'), - disableCreateObjectURL: (0, _dom_utils.getDefaultSetting)('disableCreateObjectURL'), - postMessageTransfers: (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled, - docBaseUrl: source.docBaseUrl, - nativeImageDecoderSupport: source.nativeImageDecoderSupport, - ignoreErrors: source.ignoreErrors - }).then(function (workerId) { - if (worker.destroyed) { - throw new Error('Worker was destroyed'); - } - return workerId; - }); -} -var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() { - var nextDocumentId = 0; - function PDFDocumentLoadingTask() { - this._capability = (0, _util.createPromiseCapability)(); - this._transport = null; - this._worker = null; - this.docId = 'd' + nextDocumentId++; - this.destroyed = false; - this.onPassword = null; - this.onProgress = null; - this.onUnsupportedFeature = null; - } - PDFDocumentLoadingTask.prototype = { - get promise() { - return this._capability.promise; - }, - destroy: function destroy() { - var _this = this; - - this.destroyed = true; - var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); - return transportDestroyed.then(function () { - _this._transport = null; - if (_this._worker) { - _this._worker.destroy(); - _this._worker = null; - } - }); - }, - - then: function PDFDocumentLoadingTask_then(onFulfilled, onRejected) { - return this.promise.then.apply(this.promise, arguments); - } - }; - return PDFDocumentLoadingTask; -}(); -var PDFDataRangeTransport = function pdfDataRangeTransportClosure() { - function PDFDataRangeTransport(length, initialData) { - this.length = length; - this.initialData = initialData; - this._rangeListeners = []; - this._progressListeners = []; - this._progressiveReadListeners = []; - this._readyCapability = (0, _util.createPromiseCapability)(); - } - PDFDataRangeTransport.prototype = { - addRangeListener: function PDFDataRangeTransport_addRangeListener(listener) { - this._rangeListeners.push(listener); - }, - addProgressListener: function PDFDataRangeTransport_addProgressListener(listener) { - this._progressListeners.push(listener); - }, - addProgressiveReadListener: function PDFDataRangeTransport_addProgressiveReadListener(listener) { - this._progressiveReadListeners.push(listener); - }, - onDataRange: function PDFDataRangeTransport_onDataRange(begin, chunk) { - var listeners = this._rangeListeners; - for (var i = 0, n = listeners.length; i < n; ++i) { - listeners[i](begin, chunk); - } - }, - onDataProgress: function PDFDataRangeTransport_onDataProgress(loaded) { - var _this2 = this; - - this._readyCapability.promise.then(function () { - var listeners = _this2._progressListeners; - for (var i = 0, n = listeners.length; i < n; ++i) { - listeners[i](loaded); - } - }); - }, - onDataProgressiveRead: function PDFDataRangeTransport_onDataProgress(chunk) { - var _this3 = this; - - this._readyCapability.promise.then(function () { - var listeners = _this3._progressiveReadListeners; - for (var i = 0, n = listeners.length; i < n; ++i) { - listeners[i](chunk); - } - }); - }, - transportReady: function PDFDataRangeTransport_transportReady() { - this._readyCapability.resolve(); - }, - requestDataRange: function PDFDataRangeTransport_requestDataRange(begin, end) { - throw new Error('Abstract method PDFDataRangeTransport.requestDataRange'); - }, - abort: function PDFDataRangeTransport_abort() {} - }; - return PDFDataRangeTransport; -}(); -var PDFDocumentProxy = function PDFDocumentProxyClosure() { - function PDFDocumentProxy(pdfInfo, transport, loadingTask) { - this.pdfInfo = pdfInfo; - this.transport = transport; - this.loadingTask = loadingTask; - } - PDFDocumentProxy.prototype = { - get numPages() { - return this.pdfInfo.numPages; - }, - get fingerprint() { - return this.pdfInfo.fingerprint; - }, - getPage: function PDFDocumentProxy_getPage(pageNumber) { - return this.transport.getPage(pageNumber); - }, - getPageIndex: function PDFDocumentProxy_getPageIndex(ref) { - return this.transport.getPageIndex(ref); - }, - getDestinations: function PDFDocumentProxy_getDestinations() { - return this.transport.getDestinations(); - }, - getDestination: function PDFDocumentProxy_getDestination(id) { - return this.transport.getDestination(id); - }, - getPageLabels: function PDFDocumentProxy_getPageLabels() { - return this.transport.getPageLabels(); - }, - getPageMode: function getPageMode() { - return this.transport.getPageMode(); - }, - - getAttachments: function PDFDocumentProxy_getAttachments() { - return this.transport.getAttachments(); - }, - getJavaScript: function PDFDocumentProxy_getJavaScript() { - return this.transport.getJavaScript(); - }, - getOutline: function PDFDocumentProxy_getOutline() { - return this.transport.getOutline(); - }, - getMetadata: function PDFDocumentProxy_getMetadata() { - return this.transport.getMetadata(); - }, - getData: function PDFDocumentProxy_getData() { - return this.transport.getData(); - }, - getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() { - return this.transport.downloadInfoCapability.promise; - }, - getStats: function PDFDocumentProxy_getStats() { - return this.transport.getStats(); - }, - cleanup: function PDFDocumentProxy_cleanup() { - this.transport.startCleanup(); - }, - destroy: function PDFDocumentProxy_destroy() { - return this.loadingTask.destroy(); - } - }; - return PDFDocumentProxy; -}(); -var PDFPageProxy = function PDFPageProxyClosure() { - function PDFPageProxy(pageIndex, pageInfo, transport) { - this.pageIndex = pageIndex; - this.pageInfo = pageInfo; - this.transport = transport; - this.stats = new _util.StatTimer(); - this.stats.enabled = (0, _dom_utils.getDefaultSetting)('enableStats'); - this.commonObjs = transport.commonObjs; - this.objs = new PDFObjects(); - this.cleanupAfterRender = false; - this.pendingCleanup = false; - this.intentStates = Object.create(null); - this.destroyed = false; - } - PDFPageProxy.prototype = { - get pageNumber() { - return this.pageIndex + 1; - }, - get rotate() { - return this.pageInfo.rotate; - }, - get ref() { - return this.pageInfo.ref; - }, - get userUnit() { - return this.pageInfo.userUnit; - }, - get view() { - return this.pageInfo.view; - }, - getViewport: function PDFPageProxy_getViewport(scale, rotate) { - if (arguments.length < 2) { - rotate = this.rotate; - } - return new _util.PageViewport(this.view, scale, rotate, 0, 0); - }, - getAnnotations: function PDFPageProxy_getAnnotations(params) { - var intent = params && params.intent || null; - if (!this.annotationsPromise || this.annotationsIntent !== intent) { - this.annotationsPromise = this.transport.getAnnotations(this.pageIndex, intent); - this.annotationsIntent = intent; - } - return this.annotationsPromise; - }, - render: function PDFPageProxy_render(params) { - var _this4 = this; - - var stats = this.stats; - stats.time('Overall'); - this.pendingCleanup = false; - var renderingIntent = params.intent === 'print' ? 'print' : 'display'; - var canvasFactory = params.canvasFactory || new _dom_utils.DOMCanvasFactory(); - if (!this.intentStates[renderingIntent]) { - this.intentStates[renderingIntent] = Object.create(null); - } - var intentState = this.intentStates[renderingIntent]; - if (!intentState.displayReadyCapability) { - intentState.receivingOperatorList = true; - intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false - }; - this.stats.time('Page Request'); - this.transport.messageHandler.send('RenderPageRequest', { - pageIndex: this.pageNumber - 1, - intent: renderingIntent, - renderInteractiveForms: params.renderInteractiveForms === true - }); - } - var complete = function complete(error) { - var i = intentState.renderTasks.indexOf(internalRenderTask); - if (i >= 0) { - intentState.renderTasks.splice(i, 1); - } - if (_this4.cleanupAfterRender) { - _this4.pendingCleanup = true; - } - _this4._tryCleanup(); - if (error) { - internalRenderTask.capability.reject(error); - } else { - internalRenderTask.capability.resolve(); - } - stats.timeEnd('Rendering'); - stats.timeEnd('Overall'); - }; - var internalRenderTask = new InternalRenderTask(complete, params, this.objs, this.commonObjs, intentState.operatorList, this.pageNumber, canvasFactory); - internalRenderTask.useRequestAnimationFrame = renderingIntent !== 'print'; - if (!intentState.renderTasks) { - intentState.renderTasks = []; - } - intentState.renderTasks.push(internalRenderTask); - var renderTask = internalRenderTask.task; - if (params.continueCallback) { - (0, _util.deprecated)('render is used with continueCallback parameter'); - renderTask.onContinue = params.continueCallback; - } - intentState.displayReadyCapability.promise.then(function (transparency) { - if (_this4.pendingCleanup) { - complete(); - return; - } - stats.time('Rendering'); - internalRenderTask.initializeGraphics(transparency); - internalRenderTask.operatorListChanged(); - }).catch(complete); - return renderTask; - }, - getOperatorList: function PDFPageProxy_getOperatorList() { - function operatorListChanged() { - if (intentState.operatorList.lastChunk) { - intentState.opListReadCapability.resolve(intentState.operatorList); - var i = intentState.renderTasks.indexOf(opListTask); - if (i >= 0) { - intentState.renderTasks.splice(i, 1); - } - } - } - var renderingIntent = 'oplist'; - if (!this.intentStates[renderingIntent]) { - this.intentStates[renderingIntent] = Object.create(null); - } - var intentState = this.intentStates[renderingIntent]; - var opListTask; - if (!intentState.opListReadCapability) { - opListTask = {}; - opListTask.operatorListChanged = operatorListChanged; - intentState.receivingOperatorList = true; - intentState.opListReadCapability = (0, _util.createPromiseCapability)(); - intentState.renderTasks = []; - intentState.renderTasks.push(opListTask); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false - }; - this.transport.messageHandler.send('RenderPageRequest', { - pageIndex: this.pageIndex, - intent: renderingIntent - }); - } - return intentState.opListReadCapability.promise; - }, - streamTextContent: function streamTextContent() { - var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var TEXT_CONTENT_CHUNK_SIZE = 100; - return this.transport.messageHandler.sendWithStream('GetTextContent', { - pageIndex: this.pageNumber - 1, - normalizeWhitespace: params.normalizeWhitespace === true, - combineTextItems: params.disableCombineTextItems !== true - }, { - highWaterMark: TEXT_CONTENT_CHUNK_SIZE, - size: function size(textContent) { - return textContent.items.length; - } - }); - }, - - getTextContent: function PDFPageProxy_getTextContent(params) { - params = params || {}; - var readableStream = this.streamTextContent(params); - return new Promise(function (resolve, reject) { - function pump() { - reader.read().then(function (_ref) { - var value = _ref.value, - done = _ref.done; - - if (done) { - resolve(textContent); - return; - } - _util.Util.extendObj(textContent.styles, value.styles); - _util.Util.appendToArray(textContent.items, value.items); - pump(); - }, reject); - } - var reader = readableStream.getReader(); - var textContent = { - items: [], - styles: Object.create(null) - }; - pump(); - }); - }, - _destroy: function PDFPageProxy_destroy() { - this.destroyed = true; - this.transport.pageCache[this.pageIndex] = null; - var waitOn = []; - Object.keys(this.intentStates).forEach(function (intent) { - if (intent === 'oplist') { - return; - } - var intentState = this.intentStates[intent]; - intentState.renderTasks.forEach(function (renderTask) { - var renderCompleted = renderTask.capability.promise.catch(function () {}); - waitOn.push(renderCompleted); - renderTask.cancel(); - }); - }, this); - this.objs.clear(); - this.annotationsPromise = null; - this.pendingCleanup = false; - return Promise.all(waitOn); - }, - destroy: function destroy() { - (0, _util.deprecated)('page destroy method, use cleanup() instead'); - this.cleanup(); - }, - - cleanup: function PDFPageProxy_cleanup() { - this.pendingCleanup = true; - this._tryCleanup(); - }, - _tryCleanup: function PDFPageProxy_tryCleanup() { - if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) { - var intentState = this.intentStates[intent]; - return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList; - }, this)) { - return; - } - Object.keys(this.intentStates).forEach(function (intent) { - delete this.intentStates[intent]; - }, this); - this.objs.clear(); - this.annotationsPromise = null; - this.pendingCleanup = false; - }, - _startRenderPage: function PDFPageProxy_startRenderPage(transparency, intent) { - var intentState = this.intentStates[intent]; - if (intentState.displayReadyCapability) { - intentState.displayReadyCapability.resolve(transparency); - } - }, - _renderPageChunk: function PDFPageProxy_renderPageChunk(operatorListChunk, intent) { - var intentState = this.intentStates[intent]; - var i, ii; - for (i = 0, ii = operatorListChunk.length; i < ii; i++) { - intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); - intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); - } - intentState.operatorList.lastChunk = operatorListChunk.lastChunk; - for (i = 0; i < intentState.renderTasks.length; i++) { - intentState.renderTasks[i].operatorListChanged(); - } - if (operatorListChunk.lastChunk) { - intentState.receivingOperatorList = false; - this._tryCleanup(); - } - } - }; - return PDFPageProxy; -}(); - -var LoopbackPort = function () { - function LoopbackPort(defer) { - _classCallCheck(this, LoopbackPort); - - this._listeners = []; - this._defer = defer; - this._deferred = Promise.resolve(undefined); - } - - _createClass(LoopbackPort, [{ - key: 'postMessage', - value: function postMessage(obj, transfers) { - var _this5 = this; - - function cloneValue(value) { - if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object' || value === null) { - return value; - } - if (cloned.has(value)) { - return cloned.get(value); - } - var result; - var buffer; - if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) { - var transferable = transfers && transfers.indexOf(buffer) >= 0; - if (value === buffer) { - result = value; - } else if (transferable) { - result = new value.constructor(buffer, value.byteOffset, value.byteLength); - } else { - result = new value.constructor(value); - } - cloned.set(value, result); - return result; - } - result = (0, _util.isArray)(value) ? [] : {}; - cloned.set(value, result); - for (var i in value) { - var desc, - p = value; - while (!(desc = Object.getOwnPropertyDescriptor(p, i))) { - p = Object.getPrototypeOf(p); - } - if (typeof desc.value === 'undefined' || typeof desc.value === 'function') { - continue; - } - result[i] = cloneValue(desc.value); - } - return result; - } - if (!this._defer) { - this._listeners.forEach(function (listener) { - listener.call(this, { data: obj }); - }, this); - return; - } - var cloned = new WeakMap(); - var e = { data: cloneValue(obj) }; - this._deferred.then(function () { - _this5._listeners.forEach(function (listener) { - listener.call(this, e); - }, _this5); - }); - } - }, { - key: 'addEventListener', - value: function addEventListener(name, listener) { - this._listeners.push(listener); - } - }, { - key: 'removeEventListener', - value: function removeEventListener(name, listener) { - var i = this._listeners.indexOf(listener); - this._listeners.splice(i, 1); - } - }, { - key: 'terminate', - value: function terminate() { - this._listeners = []; - } - }]); - - return LoopbackPort; -}(); - -var PDFWorker = function PDFWorkerClosure() { - var nextFakeWorkerId = 0; - function getWorkerSrc() { - if (typeof workerSrc !== 'undefined') { - return workerSrc; - } - if ((0, _dom_utils.getDefaultSetting)('workerSrc')) { - return (0, _dom_utils.getDefaultSetting)('workerSrc'); - } - if (pdfjsFilePath) { - return pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2'); - } - throw new Error('No PDFJS.workerSrc specified'); - } - var fakeWorkerFilesLoadedCapability = void 0; - function setupFakeWorkerGlobal() { - var WorkerMessageHandler; - if (fakeWorkerFilesLoadedCapability) { - return fakeWorkerFilesLoadedCapability.promise; - } - fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)(); - var loader = fakeWorkerFilesLoader || function (callback) { - _util.Util.loadScript(getWorkerSrc(), function () { - callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler); - }); - }; - loader(fakeWorkerFilesLoadedCapability.resolve); - return fakeWorkerFilesLoadedCapability.promise; - } - function createCDNWrapper(url) { - var wrapper = 'importScripts(\'' + url + '\');'; - return URL.createObjectURL(new Blob([wrapper])); - } - var pdfWorkerPorts = new WeakMap(); - function PDFWorker(name, port) { - if (port && pdfWorkerPorts.has(port)) { - throw new Error('Cannot use more than one PDFWorker per port'); - } - this.name = name; - this.destroyed = false; - this.postMessageTransfers = true; - this._readyCapability = (0, _util.createPromiseCapability)(); - this._port = null; - this._webWorker = null; - this._messageHandler = null; - if (port) { - pdfWorkerPorts.set(port, this); - this._initializeFromPort(port); - return; - } - this._initialize(); - } - PDFWorker.prototype = { - get promise() { - return this._readyCapability.promise; - }, - get port() { - return this._port; - }, - get messageHandler() { - return this._messageHandler; - }, - _initializeFromPort: function PDFWorker_initializeFromPort(port) { - this._port = port; - this._messageHandler = new _util.MessageHandler('main', 'worker', port); - this._messageHandler.on('ready', function () {}); - this._readyCapability.resolve(); - }, - _initialize: function PDFWorker_initialize() { - var _this6 = this; - - if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker') && typeof Worker !== 'undefined') { - var workerSrc = getWorkerSrc(); - try { - if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) { - workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href); - } - var worker = new Worker(workerSrc); - var messageHandler = new _util.MessageHandler('main', 'worker', worker); - var terminateEarly = function terminateEarly() { - worker.removeEventListener('error', onWorkerError); - messageHandler.destroy(); - worker.terminate(); - if (_this6.destroyed) { - _this6._readyCapability.reject(new Error('Worker was destroyed')); - } else { - _this6._setupFakeWorker(); - } - }; - var onWorkerError = function onWorkerError() { - if (!_this6._webWorker) { - terminateEarly(); - } - }; - worker.addEventListener('error', onWorkerError); - messageHandler.on('test', function (data) { - worker.removeEventListener('error', onWorkerError); - if (_this6.destroyed) { - terminateEarly(); - return; - } - var supportTypedArray = data && data.supportTypedArray; - if (supportTypedArray) { - _this6._messageHandler = messageHandler; - _this6._port = worker; - _this6._webWorker = worker; - if (!data.supportTransfers) { - _this6.postMessageTransfers = false; - isPostMessageTransfersDisabled = true; - } - _this6._readyCapability.resolve(); - messageHandler.send('configure', { verbosity: (0, _util.getVerbosityLevel)() }); - } else { - _this6._setupFakeWorker(); - messageHandler.destroy(); - worker.terminate(); - } - }); - messageHandler.on('console_log', function (data) { - console.log.apply(console, data); - }); - messageHandler.on('console_error', function (data) { - console.error.apply(console, data); - }); - messageHandler.on('ready', function (data) { - worker.removeEventListener('error', onWorkerError); - if (_this6.destroyed) { - terminateEarly(); - return; - } - try { - sendTest(); - } catch (e) { - _this6._setupFakeWorker(); - } - }); - var sendTest = function sendTest() { - var postMessageTransfers = (0, _dom_utils.getDefaultSetting)('postMessageTransfers') && !isPostMessageTransfersDisabled; - var testObj = new Uint8Array([postMessageTransfers ? 255 : 0]); - try { - messageHandler.send('test', testObj, [testObj.buffer]); - } catch (ex) { - (0, _util.info)('Cannot use postMessage transfers'); - testObj[0] = 0; - messageHandler.send('test', testObj); - } - }; - sendTest(); - return; - } catch (e) { - (0, _util.info)('The worker has been disabled.'); - } - } - this._setupFakeWorker(); - }, - _setupFakeWorker: function PDFWorker_setupFakeWorker() { - var _this7 = this; - - if (!isWorkerDisabled && !(0, _dom_utils.getDefaultSetting)('disableWorker')) { - (0, _util.warn)('Setting up fake worker.'); - isWorkerDisabled = true; - } - setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { - if (_this7.destroyed) { - _this7._readyCapability.reject(new Error('Worker was destroyed')); - return; - } - var isTypedArraysPresent = Uint8Array !== Float32Array; - var port = new LoopbackPort(isTypedArraysPresent); - _this7._port = port; - var id = 'fake' + nextFakeWorkerId++; - var workerHandler = new _util.MessageHandler(id + '_worker', id, port); - WorkerMessageHandler.setup(workerHandler, port); - var messageHandler = new _util.MessageHandler(id, id + '_worker', port); - _this7._messageHandler = messageHandler; - _this7._readyCapability.resolve(); - }); - }, - destroy: function PDFWorker_destroy() { - this.destroyed = true; - if (this._webWorker) { - this._webWorker.terminate(); - this._webWorker = null; - } - pdfWorkerPorts.delete(this._port); - this._port = null; - if (this._messageHandler) { - this._messageHandler.destroy(); - this._messageHandler = null; - } - } - }; - PDFWorker.fromPort = function (port) { - if (pdfWorkerPorts.has(port)) { - return pdfWorkerPorts.get(port); - } - return new PDFWorker(null, port); - }; - return PDFWorker; -}(); -var WorkerTransport = function WorkerTransportClosure() { - function WorkerTransport(messageHandler, loadingTask, networkStream, CMapReaderFactory) { - this.messageHandler = messageHandler; - this.loadingTask = loadingTask; - this.commonObjs = new PDFObjects(); - this.fontLoader = new _font_loader.FontLoader(loadingTask.docId); - this.CMapReaderFactory = new CMapReaderFactory({ - baseUrl: (0, _dom_utils.getDefaultSetting)('cMapUrl'), - isCompressed: (0, _dom_utils.getDefaultSetting)('cMapPacked') - }); - this.destroyed = false; - this.destroyCapability = null; - this._passwordCapability = null; - this._networkStream = networkStream; - this._fullReader = null; - this._lastProgress = null; - this.pageCache = []; - this.pagePromises = []; - this.downloadInfoCapability = (0, _util.createPromiseCapability)(); - this.setupMessageHandler(); - } - WorkerTransport.prototype = { - destroy: function WorkerTransport_destroy() { - var _this8 = this; - - if (this.destroyCapability) { - return this.destroyCapability.promise; - } - this.destroyed = true; - this.destroyCapability = (0, _util.createPromiseCapability)(); - if (this._passwordCapability) { - this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback')); - } - var waitOn = []; - this.pageCache.forEach(function (page) { - if (page) { - waitOn.push(page._destroy()); - } - }); - this.pageCache = []; - this.pagePromises = []; - var terminated = this.messageHandler.sendWithPromise('Terminate', null); - waitOn.push(terminated); - Promise.all(waitOn).then(function () { - _this8.fontLoader.clear(); - if (_this8._networkStream) { - _this8._networkStream.cancelAllRequests(); - } - if (_this8.messageHandler) { - _this8.messageHandler.destroy(); - _this8.messageHandler = null; - } - _this8.destroyCapability.resolve(); - }, this.destroyCapability.reject); - return this.destroyCapability.promise; - }, - setupMessageHandler: function WorkerTransport_setupMessageHandler() { - var messageHandler = this.messageHandler; - var loadingTask = this.loadingTask; - messageHandler.on('GetReader', function (data, sink) { - var _this9 = this; - - (0, _util.assert)(this._networkStream); - this._fullReader = this._networkStream.getFullReader(); - this._fullReader.onProgress = function (evt) { - _this9._lastProgress = { - loaded: evt.loaded, - total: evt.total - }; - }; - sink.onPull = function () { - _this9._fullReader.read().then(function (_ref2) { - var value = _ref2.value, - done = _ref2.done; - - if (done) { - sink.close(); - return; - } - (0, _util.assert)((0, _util.isArrayBuffer)(value)); - sink.enqueue(new Uint8Array(value), 1, [value]); - }).catch(function (reason) { - sink.error(reason); - }); - }; - sink.onCancel = function (reason) { - _this9._fullReader.cancel(reason); - }; - }, this); - messageHandler.on('ReaderHeadersReady', function (data) { - var _this10 = this; - - var headersCapability = (0, _util.createPromiseCapability)(); - var fullReader = this._fullReader; - fullReader.headersReady.then(function () { - if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { - if (_this10._lastProgress) { - var _loadingTask = _this10.loadingTask; - if (_loadingTask.onProgress) { - _loadingTask.onProgress(_this10._lastProgress); - } - } - fullReader.onProgress = function (evt) { - var loadingTask = _this10.loadingTask; - if (loadingTask.onProgress) { - loadingTask.onProgress({ - loaded: evt.loaded, - total: evt.total - }); - } - }; - } - headersCapability.resolve({ - isStreamingSupported: fullReader.isStreamingSupported, - isRangeSupported: fullReader.isRangeSupported, - contentLength: fullReader.contentLength - }); - }, headersCapability.reject); - return headersCapability.promise; - }, this); - messageHandler.on('GetRangeReader', function (data, sink) { - (0, _util.assert)(this._networkStream); - var _rangeReader = this._networkStream.getRangeReader(data.begin, data.end); - sink.onPull = function () { - _rangeReader.read().then(function (_ref3) { - var value = _ref3.value, - done = _ref3.done; - - if (done) { - sink.close(); - return; - } - (0, _util.assert)((0, _util.isArrayBuffer)(value)); - sink.enqueue(new Uint8Array(value), 1, [value]); - }).catch(function (reason) { - sink.error(reason); - }); - }; - sink.onCancel = function (reason) { - _rangeReader.cancel(reason); - }; - }, this); - messageHandler.on('GetDoc', function transportDoc(data) { - var pdfInfo = data.pdfInfo; - this.numPages = data.pdfInfo.numPages; - var loadingTask = this.loadingTask; - var pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask); - this.pdfDocument = pdfDocument; - loadingTask._capability.resolve(pdfDocument); - }, this); - messageHandler.on('PasswordRequest', function transportPasswordRequest(exception) { - var _this11 = this; - - this._passwordCapability = (0, _util.createPromiseCapability)(); - if (loadingTask.onPassword) { - var updatePassword = function updatePassword(password) { - _this11._passwordCapability.resolve({ password: password }); - }; - loadingTask.onPassword(updatePassword, exception.code); - } else { - this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); - } - return this._passwordCapability.promise; - }, this); - messageHandler.on('PasswordException', function transportPasswordException(exception) { - loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code)); - }, this); - messageHandler.on('InvalidPDF', function transportInvalidPDF(exception) { - this.loadingTask._capability.reject(new _util.InvalidPDFException(exception.message)); - }, this); - messageHandler.on('MissingPDF', function transportMissingPDF(exception) { - this.loadingTask._capability.reject(new _util.MissingPDFException(exception.message)); - }, this); - messageHandler.on('UnexpectedResponse', function transportUnexpectedResponse(exception) { - this.loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status)); - }, this); - messageHandler.on('UnknownError', function transportUnknownError(exception) { - this.loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details)); - }, this); - messageHandler.on('DataLoaded', function transportPage(data) { - this.downloadInfoCapability.resolve(data); - }, this); - messageHandler.on('PDFManagerReady', function transportPage(data) {}, this); - messageHandler.on('StartRenderPage', function transportRender(data) { - if (this.destroyed) { - return; - } - var page = this.pageCache[data.pageIndex]; - page.stats.timeEnd('Page Request'); - page._startRenderPage(data.transparency, data.intent); - }, this); - messageHandler.on('RenderPageChunk', function transportRender(data) { - if (this.destroyed) { - return; - } - var page = this.pageCache[data.pageIndex]; - page._renderPageChunk(data.operatorList, data.intent); - }, this); - messageHandler.on('commonobj', function transportObj(data) { - var _this12 = this; - - if (this.destroyed) { - return; - } - var id = data[0]; - var type = data[1]; - if (this.commonObjs.hasData(id)) { - return; - } - switch (type) { - case 'Font': - var exportedData = data[2]; - if ('error' in exportedData) { - var exportedError = exportedData.error; - (0, _util.warn)('Error during font loading: ' + exportedError); - this.commonObjs.resolve(id, exportedError); - break; - } - var fontRegistry = null; - if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _util.globalScope.FontInspector && _util.globalScope['FontInspector'].enabled) { - fontRegistry = { - registerFont: function registerFont(font, url) { - _util.globalScope['FontInspector'].fontAdded(font, url); - } - }; - } - var font = new _font_loader.FontFaceObject(exportedData, { - isEvalSuported: (0, _dom_utils.getDefaultSetting)('isEvalSupported'), - disableFontFace: (0, _dom_utils.getDefaultSetting)('disableFontFace'), - fontRegistry: fontRegistry - }); - var fontReady = function fontReady(fontObjs) { - _this12.commonObjs.resolve(id, font); - }; - this.fontLoader.bind([font], fontReady); - break; - case 'FontPath': - this.commonObjs.resolve(id, data[2]); - break; - default: - throw new Error('Got unknown common object type ' + type); - } - }, this); - messageHandler.on('obj', function transportObj(data) { - if (this.destroyed) { - return; - } - var id = data[0]; - var pageIndex = data[1]; - var type = data[2]; - var pageProxy = this.pageCache[pageIndex]; - var imageData; - if (pageProxy.objs.hasData(id)) { - return; - } - switch (type) { - case 'JpegStream': - imageData = data[3]; - (0, _util.loadJpegStream)(id, imageData, pageProxy.objs); - break; - case 'Image': - imageData = data[3]; - pageProxy.objs.resolve(id, imageData); - var MAX_IMAGE_SIZE_TO_STORE = 8000000; - if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) { - pageProxy.cleanupAfterRender = true; - } - break; - default: - throw new Error('Got unknown object type ' + type); - } - }, this); - messageHandler.on('DocProgress', function transportDocProgress(data) { - if (this.destroyed) { - return; - } - var loadingTask = this.loadingTask; - if (loadingTask.onProgress) { - loadingTask.onProgress({ - loaded: data.loaded, - total: data.total - }); - } - }, this); - messageHandler.on('PageError', function transportError(data) { - if (this.destroyed) { - return; - } - var page = this.pageCache[data.pageNum - 1]; - var intentState = page.intentStates[data.intent]; - if (intentState.displayReadyCapability) { - intentState.displayReadyCapability.reject(data.error); - } else { - throw new Error(data.error); - } - if (intentState.operatorList) { - intentState.operatorList.lastChunk = true; - for (var i = 0; i < intentState.renderTasks.length; i++) { - intentState.renderTasks[i].operatorListChanged(); - } - } - }, this); - messageHandler.on('UnsupportedFeature', function transportUnsupportedFeature(data) { - if (this.destroyed) { - return; - } - var featureId = data.featureId; - var loadingTask = this.loadingTask; - if (loadingTask.onUnsupportedFeature) { - loadingTask.onUnsupportedFeature(featureId); - } - _UnsupportedManager.notify(featureId); - }, this); - messageHandler.on('JpegDecode', function (data) { - if (this.destroyed) { - return Promise.reject(new Error('Worker was destroyed')); - } - if (typeof document === 'undefined') { - return Promise.reject(new Error('"document" is not defined.')); - } - var imageUrl = data[0]; - var components = data[1]; - if (components !== 3 && components !== 1) { - return Promise.reject(new Error('Only 3 components or 1 component can be returned')); - } - return new Promise(function (resolve, reject) { - var img = new Image(); - img.onload = function () { - var width = img.width; - var height = img.height; - var size = width * height; - var rgbaLength = size * 4; - var buf = new Uint8Array(size * components); - var tmpCanvas = document.createElement('canvas'); - tmpCanvas.width = width; - tmpCanvas.height = height; - var tmpCtx = tmpCanvas.getContext('2d'); - tmpCtx.drawImage(img, 0, 0); - var data = tmpCtx.getImageData(0, 0, width, height).data; - var i, j; - if (components === 3) { - for (i = 0, j = 0; i < rgbaLength; i += 4, j += 3) { - buf[j] = data[i]; - buf[j + 1] = data[i + 1]; - buf[j + 2] = data[i + 2]; - } - } else if (components === 1) { - for (i = 0, j = 0; i < rgbaLength; i += 4, j++) { - buf[j] = data[i]; - } - } - resolve({ - data: buf, - width: width, - height: height - }); - }; - img.onerror = function () { - reject(new Error('JpegDecode failed to load image')); - }; - img.src = imageUrl; - }); - }, this); - messageHandler.on('FetchBuiltInCMap', function (data) { - if (this.destroyed) { - return Promise.reject(new Error('Worker was destroyed')); - } - return this.CMapReaderFactory.fetch({ name: data.name }); - }, this); - }, - getData: function WorkerTransport_getData() { - return this.messageHandler.sendWithPromise('GetData', null); - }, - getPage: function WorkerTransport_getPage(pageNumber, capability) { - var _this13 = this; - - if (!(0, _util.isInt)(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) { - return Promise.reject(new Error('Invalid page request')); - } - var pageIndex = pageNumber - 1; - if (pageIndex in this.pagePromises) { - return this.pagePromises[pageIndex]; - } - var promise = this.messageHandler.sendWithPromise('GetPage', { pageIndex: pageIndex }).then(function (pageInfo) { - if (_this13.destroyed) { - throw new Error('Transport destroyed'); - } - var page = new PDFPageProxy(pageIndex, pageInfo, _this13); - _this13.pageCache[pageIndex] = page; - return page; - }); - this.pagePromises[pageIndex] = promise; - return promise; - }, - getPageIndex: function WorkerTransport_getPageIndexByRef(ref) { - return this.messageHandler.sendWithPromise('GetPageIndex', { ref: ref }).catch(function (reason) { - return Promise.reject(new Error(reason)); - }); - }, - getAnnotations: function WorkerTransport_getAnnotations(pageIndex, intent) { - return this.messageHandler.sendWithPromise('GetAnnotations', { - pageIndex: pageIndex, - intent: intent - }); - }, - getDestinations: function WorkerTransport_getDestinations() { - return this.messageHandler.sendWithPromise('GetDestinations', null); - }, - getDestination: function WorkerTransport_getDestination(id) { - return this.messageHandler.sendWithPromise('GetDestination', { id: id }); - }, - getPageLabels: function WorkerTransport_getPageLabels() { - return this.messageHandler.sendWithPromise('GetPageLabels', null); - }, - getPageMode: function getPageMode() { - return this.messageHandler.sendWithPromise('GetPageMode', null); - }, - - getAttachments: function WorkerTransport_getAttachments() { - return this.messageHandler.sendWithPromise('GetAttachments', null); - }, - getJavaScript: function WorkerTransport_getJavaScript() { - return this.messageHandler.sendWithPromise('GetJavaScript', null); - }, - getOutline: function WorkerTransport_getOutline() { - return this.messageHandler.sendWithPromise('GetOutline', null); - }, - getMetadata: function WorkerTransport_getMetadata() { - return this.messageHandler.sendWithPromise('GetMetadata', null).then(function transportMetadata(results) { - return { - info: results[0], - metadata: results[1] ? new _metadata.Metadata(results[1]) : null - }; - }); - }, - getStats: function WorkerTransport_getStats() { - return this.messageHandler.sendWithPromise('GetStats', null); - }, - startCleanup: function WorkerTransport_startCleanup() { - var _this14 = this; - - this.messageHandler.sendWithPromise('Cleanup', null).then(function () { - for (var i = 0, ii = _this14.pageCache.length; i < ii; i++) { - var page = _this14.pageCache[i]; - if (page) { - page.cleanup(); - } - } - _this14.commonObjs.clear(); - _this14.fontLoader.clear(); - }); - } - }; - return WorkerTransport; -}(); -var PDFObjects = function PDFObjectsClosure() { - function PDFObjects() { - this.objs = Object.create(null); - } - PDFObjects.prototype = { - ensureObj: function PDFObjects_ensureObj(objId) { - if (this.objs[objId]) { - return this.objs[objId]; - } - var obj = { - capability: (0, _util.createPromiseCapability)(), - data: null, - resolved: false - }; - this.objs[objId] = obj; - return obj; - }, - get: function PDFObjects_get(objId, callback) { - if (callback) { - this.ensureObj(objId).capability.promise.then(callback); - return null; - } - var obj = this.objs[objId]; - if (!obj || !obj.resolved) { - throw new Error('Requesting object that isn\'t resolved yet ' + objId); - } - return obj.data; - }, - resolve: function PDFObjects_resolve(objId, data) { - var obj = this.ensureObj(objId); - obj.resolved = true; - obj.data = data; - obj.capability.resolve(data); - }, - isResolved: function PDFObjects_isResolved(objId) { - var objs = this.objs; - if (!objs[objId]) { - return false; - } - return objs[objId].resolved; - }, - hasData: function PDFObjects_hasData(objId) { - return this.isResolved(objId); - }, - getData: function PDFObjects_getData(objId) { - var objs = this.objs; - if (!objs[objId] || !objs[objId].resolved) { - return null; - } - return objs[objId].data; - }, - clear: function PDFObjects_clear() { - this.objs = Object.create(null); - } - }; - return PDFObjects; -}(); -var RenderTask = function RenderTaskClosure() { - function RenderTask(internalRenderTask) { - this._internalRenderTask = internalRenderTask; - this.onContinue = null; - } - RenderTask.prototype = { - get promise() { - return this._internalRenderTask.capability.promise; - }, - cancel: function RenderTask_cancel() { - this._internalRenderTask.cancel(); - }, - then: function RenderTask_then(onFulfilled, onRejected) { - return this.promise.then.apply(this.promise, arguments); - } - }; - return RenderTask; -}(); -var InternalRenderTask = function InternalRenderTaskClosure() { - var canvasInRendering = new WeakMap(); - function InternalRenderTask(callback, params, objs, commonObjs, operatorList, pageNumber, canvasFactory) { - this.callback = callback; - this.params = params; - this.objs = objs; - this.commonObjs = commonObjs; - this.operatorListIdx = null; - this.operatorList = operatorList; - this.pageNumber = pageNumber; - this.canvasFactory = canvasFactory; - this.running = false; - this.graphicsReadyCallback = null; - this.graphicsReady = false; - this.useRequestAnimationFrame = false; - this.cancelled = false; - this.capability = (0, _util.createPromiseCapability)(); - this.task = new RenderTask(this); - this._continueBound = this._continue.bind(this); - this._scheduleNextBound = this._scheduleNext.bind(this); - this._nextBound = this._next.bind(this); - this._canvas = params.canvasContext.canvas; - } - InternalRenderTask.prototype = { - initializeGraphics: function InternalRenderTask_initializeGraphics(transparency) { - if (this._canvas) { - if (canvasInRendering.has(this._canvas)) { - throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.'); - } - canvasInRendering.set(this._canvas, this); - } - if (this.cancelled) { - return; - } - if ((0, _dom_utils.getDefaultSetting)('pdfBug') && _util.globalScope.StepperManager && _util.globalScope.StepperManager.enabled) { - this.stepper = _util.globalScope.StepperManager.create(this.pageNumber - 1); - this.stepper.init(this.operatorList); - this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); - } - var params = this.params; - this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer); - this.gfx.beginDrawing({ - transform: params.transform, - viewport: params.viewport, - transparency: transparency, - background: params.background - }); - this.operatorListIdx = 0; - this.graphicsReady = true; - if (this.graphicsReadyCallback) { - this.graphicsReadyCallback(); - } - }, - cancel: function InternalRenderTask_cancel() { - this.running = false; - this.cancelled = true; - if (this._canvas) { - canvasInRendering.delete(this._canvas); - } - if ((0, _dom_utils.getDefaultSetting)('pdfjsNext')) { - this.callback(new _dom_utils.RenderingCancelledException('Rendering cancelled, page ' + this.pageNumber, 'canvas')); - } else { - this.callback('cancelled'); - } - }, - operatorListChanged: function InternalRenderTask_operatorListChanged() { - if (!this.graphicsReady) { - if (!this.graphicsReadyCallback) { - this.graphicsReadyCallback = this._continueBound; - } - return; - } - if (this.stepper) { - this.stepper.updateOperatorList(this.operatorList); - } - if (this.running) { - return; - } - this._continue(); - }, - _continue: function InternalRenderTask__continue() { - this.running = true; - if (this.cancelled) { - return; - } - if (this.task.onContinue) { - this.task.onContinue(this._scheduleNextBound); - } else { - this._scheduleNext(); - } - }, - _scheduleNext: function InternalRenderTask__scheduleNext() { - if (this.useRequestAnimationFrame && typeof window !== 'undefined') { - window.requestAnimationFrame(this._nextBound); - } else { - Promise.resolve(undefined).then(this._nextBound); - } - }, - _next: function InternalRenderTask__next() { - if (this.cancelled) { - return; - } - this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); - if (this.operatorListIdx === this.operatorList.argsArray.length) { - this.running = false; - if (this.operatorList.lastChunk) { - this.gfx.endDrawing(); - if (this._canvas) { - canvasInRendering.delete(this._canvas); - } - this.callback(); - } - } - } - }; - return InternalRenderTask; -}(); -var _UnsupportedManager = function UnsupportedManagerClosure() { - var listeners = []; - return { - listen: function listen(cb) { - (0, _util.deprecated)('Global UnsupportedManager.listen is used: ' + ' use PDFDocumentLoadingTask.onUnsupportedFeature instead'); - listeners.push(cb); - }, - notify: function notify(featureId) { - for (var i = 0, ii = listeners.length; i < ii; i++) { - listeners[i](featureId); - } - } - }; -}(); -var version, build; -{ - exports.version = version = '1.9.426'; - exports.build = build = '2558a58d'; -} -exports.getDocument = getDocument; -exports.LoopbackPort = LoopbackPort; -exports.PDFDataRangeTransport = PDFDataRangeTransport; -exports.PDFWorker = PDFWorker; -exports.PDFDocumentProxy = PDFDocumentProxy; -exports.PDFPageProxy = PDFPageProxy; -exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass; -exports._UnsupportedManager = _UnsupportedManager; -exports.version = version; -exports.build = build; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.AnnotationLayer = undefined; - -var _dom_utils = __w_pdfjs_require__(1); - -var _util = __w_pdfjs_require__(0); - -function AnnotationElementFactory() {} -AnnotationElementFactory.prototype = { - create: function AnnotationElementFactory_create(parameters) { - var subtype = parameters.data.annotationType; - switch (subtype) { - case _util.AnnotationType.LINK: - return new LinkAnnotationElement(parameters); - case _util.AnnotationType.TEXT: - return new TextAnnotationElement(parameters); - case _util.AnnotationType.WIDGET: - var fieldType = parameters.data.fieldType; - switch (fieldType) { - case 'Tx': - return new TextWidgetAnnotationElement(parameters); - case 'Btn': - if (parameters.data.radioButton) { - return new RadioButtonWidgetAnnotationElement(parameters); - } else if (parameters.data.checkBox) { - return new CheckboxWidgetAnnotationElement(parameters); - } - (0, _util.warn)('Unimplemented button widget annotation: pushbutton'); - break; - case 'Ch': - return new ChoiceWidgetAnnotationElement(parameters); - } - return new WidgetAnnotationElement(parameters); - case _util.AnnotationType.POPUP: - return new PopupAnnotationElement(parameters); - case _util.AnnotationType.LINE: - return new LineAnnotationElement(parameters); - case _util.AnnotationType.HIGHLIGHT: - return new HighlightAnnotationElement(parameters); - case _util.AnnotationType.UNDERLINE: - return new UnderlineAnnotationElement(parameters); - case _util.AnnotationType.SQUIGGLY: - return new SquigglyAnnotationElement(parameters); - case _util.AnnotationType.STRIKEOUT: - return new StrikeOutAnnotationElement(parameters); - case _util.AnnotationType.FILEATTACHMENT: - return new FileAttachmentAnnotationElement(parameters); - default: - return new AnnotationElement(parameters); - } - } -}; -var AnnotationElement = function AnnotationElementClosure() { - function AnnotationElement(parameters, isRenderable, ignoreBorder) { - this.isRenderable = isRenderable || false; - this.data = parameters.data; - this.layer = parameters.layer; - this.page = parameters.page; - this.viewport = parameters.viewport; - this.linkService = parameters.linkService; - this.downloadManager = parameters.downloadManager; - this.imageResourcesPath = parameters.imageResourcesPath; - this.renderInteractiveForms = parameters.renderInteractiveForms; - if (isRenderable) { - this.container = this._createContainer(ignoreBorder); - } - } - AnnotationElement.prototype = { - _createContainer: function AnnotationElement_createContainer(ignoreBorder) { - var data = this.data, - page = this.page, - viewport = this.viewport; - var container = document.createElement('section'); - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; - container.setAttribute('data-annotation-id', data.id); - var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); - _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')'); - _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px'); - if (!ignoreBorder && data.borderStyle.width > 0) { - container.style.borderWidth = data.borderStyle.width + 'px'; - if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) { - width = width - 2 * data.borderStyle.width; - height = height - 2 * data.borderStyle.width; - } - var horizontalRadius = data.borderStyle.horizontalCornerRadius; - var verticalRadius = data.borderStyle.verticalCornerRadius; - if (horizontalRadius > 0 || verticalRadius > 0) { - var radius = horizontalRadius + 'px / ' + verticalRadius + 'px'; - _dom_utils.CustomStyle.setProp('borderRadius', container, radius); - } - switch (data.borderStyle.style) { - case _util.AnnotationBorderStyleType.SOLID: - container.style.borderStyle = 'solid'; - break; - case _util.AnnotationBorderStyleType.DASHED: - container.style.borderStyle = 'dashed'; - break; - case _util.AnnotationBorderStyleType.BEVELED: - (0, _util.warn)('Unimplemented border style: beveled'); - break; - case _util.AnnotationBorderStyleType.INSET: - (0, _util.warn)('Unimplemented border style: inset'); - break; - case _util.AnnotationBorderStyleType.UNDERLINE: - container.style.borderBottomStyle = 'solid'; - break; - default: - break; - } - if (data.color) { - container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0); - } else { - container.style.borderWidth = 0; - } - } - container.style.left = rect[0] + 'px'; - container.style.top = rect[1] + 'px'; - container.style.width = width + 'px'; - container.style.height = height + 'px'; - return container; - }, - _createPopup: function AnnotationElement_createPopup(container, trigger, data) { - if (!trigger) { - trigger = document.createElement('div'); - trigger.style.height = container.style.height; - trigger.style.width = container.style.width; - container.appendChild(trigger); - } - var popupElement = new PopupElement({ - container: container, - trigger: trigger, - color: data.color, - title: data.title, - contents: data.contents, - hideWrapper: true - }); - var popup = popupElement.render(); - popup.style.left = container.style.width; - container.appendChild(popup); - }, - render: function AnnotationElement_render() { - throw new Error('Abstract method AnnotationElement.render called'); - } - }; - return AnnotationElement; -}(); -var LinkAnnotationElement = function LinkAnnotationElementClosure() { - function LinkAnnotationElement(parameters) { - AnnotationElement.call(this, parameters, true); - } - _util.Util.inherit(LinkAnnotationElement, AnnotationElement, { - render: function LinkAnnotationElement_render() { - this.container.className = 'linkAnnotation'; - var link = document.createElement('a'); - (0, _dom_utils.addLinkAttributes)(link, { - url: this.data.url, - target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined - }); - if (!this.data.url) { - if (this.data.action) { - this._bindNamedAction(link, this.data.action); - } else { - this._bindLink(link, this.data.dest); - } - } - this.container.appendChild(link); - return this.container; - }, - _bindLink: function _bindLink(link, destination) { - var _this = this; - - link.href = this.linkService.getDestinationHash(destination); - link.onclick = function () { - if (destination) { - _this.linkService.navigateTo(destination); - } - return false; - }; - if (destination) { - link.className = 'internalLink'; - } - }, - _bindNamedAction: function _bindNamedAction(link, action) { - var _this2 = this; - - link.href = this.linkService.getAnchorUrl(''); - link.onclick = function () { - _this2.linkService.executeNamedAction(action); - return false; - }; - link.className = 'internalLink'; - } - }); - return LinkAnnotationElement; -}(); -var TextAnnotationElement = function TextAnnotationElementClosure() { - function TextAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable); - } - _util.Util.inherit(TextAnnotationElement, AnnotationElement, { - render: function TextAnnotationElement_render() { - this.container.className = 'textAnnotation'; - var image = document.createElement('img'); - image.style.height = this.container.style.height; - image.style.width = this.container.style.width; - image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg'; - image.alt = '[{{type}} Annotation]'; - image.dataset.l10nId = 'text_annotation_type'; - image.dataset.l10nArgs = JSON.stringify({ type: this.data.name }); - if (!this.data.hasPopup) { - this._createPopup(this.container, image, this.data); - } - this.container.appendChild(image); - return this.container; - } - }); - return TextAnnotationElement; -}(); -var WidgetAnnotationElement = function WidgetAnnotationElementClosure() { - function WidgetAnnotationElement(parameters, isRenderable) { - AnnotationElement.call(this, parameters, isRenderable); - } - _util.Util.inherit(WidgetAnnotationElement, AnnotationElement, { - render: function WidgetAnnotationElement_render() { - return this.container; - } - }); - return WidgetAnnotationElement; -}(); -var TextWidgetAnnotationElement = function TextWidgetAnnotationElementClosure() { - var TEXT_ALIGNMENT = ['left', 'center', 'right']; - function TextWidgetAnnotationElement(parameters) { - var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; - WidgetAnnotationElement.call(this, parameters, isRenderable); - } - _util.Util.inherit(TextWidgetAnnotationElement, WidgetAnnotationElement, { - render: function TextWidgetAnnotationElement_render() { - this.container.className = 'textWidgetAnnotation'; - var element = null; - if (this.renderInteractiveForms) { - if (this.data.multiLine) { - element = document.createElement('textarea'); - element.textContent = this.data.fieldValue; - } else { - element = document.createElement('input'); - element.type = 'text'; - element.setAttribute('value', this.data.fieldValue); - } - element.disabled = this.data.readOnly; - if (this.data.maxLen !== null) { - element.maxLength = this.data.maxLen; - } - if (this.data.comb) { - var fieldWidth = this.data.rect[2] - this.data.rect[0]; - var combWidth = fieldWidth / this.data.maxLen; - element.classList.add('comb'); - element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)'; - } - } else { - element = document.createElement('div'); - element.textContent = this.data.fieldValue; - element.style.verticalAlign = 'middle'; - element.style.display = 'table-cell'; - var font = null; - if (this.data.fontRefName) { - font = this.page.commonObjs.getData(this.data.fontRefName); - } - this._setTextStyle(element, font); - } - if (this.data.textAlignment !== null) { - element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; - } - this.container.appendChild(element); - return this.container; - }, - _setTextStyle: function TextWidgetAnnotationElement_setTextStyle(element, font) { - var style = element.style; - style.fontSize = this.data.fontSize + 'px'; - style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr'; - if (!font) { - return; - } - style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal'; - style.fontStyle = font.italic ? 'italic' : 'normal'; - var fontFamily = font.loadedName ? '"' + font.loadedName + '", ' : ''; - var fallbackName = font.fallbackName || 'Helvetica, sans-serif'; - style.fontFamily = fontFamily + fallbackName; - } - }); - return TextWidgetAnnotationElement; -}(); -var CheckboxWidgetAnnotationElement = function CheckboxWidgetAnnotationElementClosure() { - function CheckboxWidgetAnnotationElement(parameters) { - WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms); - } - _util.Util.inherit(CheckboxWidgetAnnotationElement, WidgetAnnotationElement, { - render: function CheckboxWidgetAnnotationElement_render() { - this.container.className = 'buttonWidgetAnnotation checkBox'; - var element = document.createElement('input'); - element.disabled = this.data.readOnly; - element.type = 'checkbox'; - if (this.data.fieldValue && this.data.fieldValue !== 'Off') { - element.setAttribute('checked', true); - } - this.container.appendChild(element); - return this.container; - } - }); - return CheckboxWidgetAnnotationElement; -}(); -var RadioButtonWidgetAnnotationElement = function RadioButtonWidgetAnnotationElementClosure() { - function RadioButtonWidgetAnnotationElement(parameters) { - WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms); - } - _util.Util.inherit(RadioButtonWidgetAnnotationElement, WidgetAnnotationElement, { - render: function RadioButtonWidgetAnnotationElement_render() { - this.container.className = 'buttonWidgetAnnotation radioButton'; - var element = document.createElement('input'); - element.disabled = this.data.readOnly; - element.type = 'radio'; - element.name = this.data.fieldName; - if (this.data.fieldValue === this.data.buttonValue) { - element.setAttribute('checked', true); - } - this.container.appendChild(element); - return this.container; - } - }); - return RadioButtonWidgetAnnotationElement; -}(); -var ChoiceWidgetAnnotationElement = function ChoiceWidgetAnnotationElementClosure() { - function ChoiceWidgetAnnotationElement(parameters) { - WidgetAnnotationElement.call(this, parameters, parameters.renderInteractiveForms); - } - _util.Util.inherit(ChoiceWidgetAnnotationElement, WidgetAnnotationElement, { - render: function ChoiceWidgetAnnotationElement_render() { - this.container.className = 'choiceWidgetAnnotation'; - var selectElement = document.createElement('select'); - selectElement.disabled = this.data.readOnly; - if (!this.data.combo) { - selectElement.size = this.data.options.length; - if (this.data.multiSelect) { - selectElement.multiple = true; - } - } - for (var i = 0, ii = this.data.options.length; i < ii; i++) { - var option = this.data.options[i]; - var optionElement = document.createElement('option'); - optionElement.textContent = option.displayValue; - optionElement.value = option.exportValue; - if (this.data.fieldValue.indexOf(option.displayValue) >= 0) { - optionElement.setAttribute('selected', true); - } - selectElement.appendChild(optionElement); - } - this.container.appendChild(selectElement); - return this.container; - } - }); - return ChoiceWidgetAnnotationElement; -}(); -var PopupAnnotationElement = function PopupAnnotationElementClosure() { - var IGNORE_TYPES = ['Line']; - function PopupAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable); - } - _util.Util.inherit(PopupAnnotationElement, AnnotationElement, { - render: function PopupAnnotationElement_render() { - this.container.className = 'popupAnnotation'; - if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) { - return this.container; - } - var selector = '[data-annotation-id="' + this.data.parentId + '"]'; - var parentElement = this.layer.querySelector(selector); - if (!parentElement) { - return this.container; - } - var popup = new PopupElement({ - container: this.container, - trigger: parentElement, - color: this.data.color, - title: this.data.title, - contents: this.data.contents - }); - var parentLeft = parseFloat(parentElement.style.left); - var parentWidth = parseFloat(parentElement.style.width); - _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top); - this.container.style.left = parentLeft + parentWidth + 'px'; - this.container.appendChild(popup.render()); - return this.container; - } - }); - return PopupAnnotationElement; -}(); -var PopupElement = function PopupElementClosure() { - var BACKGROUND_ENLIGHT = 0.7; - function PopupElement(parameters) { - this.container = parameters.container; - this.trigger = parameters.trigger; - this.color = parameters.color; - this.title = parameters.title; - this.contents = parameters.contents; - this.hideWrapper = parameters.hideWrapper || false; - this.pinned = false; - } - PopupElement.prototype = { - render: function PopupElement_render() { - var wrapper = document.createElement('div'); - wrapper.className = 'popupWrapper'; - this.hideElement = this.hideWrapper ? wrapper : this.container; - this.hideElement.setAttribute('hidden', true); - var popup = document.createElement('div'); - popup.className = 'popup'; - var color = this.color; - if (color) { - var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; - var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; - var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; - popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0); - } - var contents = this._formatContents(this.contents); - var title = document.createElement('h1'); - title.textContent = this.title; - this.trigger.addEventListener('click', this._toggle.bind(this)); - this.trigger.addEventListener('mouseover', this._show.bind(this, false)); - this.trigger.addEventListener('mouseout', this._hide.bind(this, false)); - popup.addEventListener('click', this._hide.bind(this, true)); - popup.appendChild(title); - popup.appendChild(contents); - wrapper.appendChild(popup); - return wrapper; - }, - _formatContents: function PopupElement_formatContents(contents) { - var p = document.createElement('p'); - var lines = contents.split(/(?:\r\n?|\n)/); - for (var i = 0, ii = lines.length; i < ii; ++i) { - var line = lines[i]; - p.appendChild(document.createTextNode(line)); - if (i < ii - 1) { - p.appendChild(document.createElement('br')); - } - } - return p; - }, - _toggle: function PopupElement_toggle() { - if (this.pinned) { - this._hide(true); - } else { - this._show(true); - } - }, - _show: function PopupElement_show(pin) { - if (pin) { - this.pinned = true; - } - if (this.hideElement.hasAttribute('hidden')) { - this.hideElement.removeAttribute('hidden'); - this.container.style.zIndex += 1; - } - }, - _hide: function PopupElement_hide(unpin) { - if (unpin) { - this.pinned = false; - } - if (!this.hideElement.hasAttribute('hidden') && !this.pinned) { - this.hideElement.setAttribute('hidden', true); - this.container.style.zIndex -= 1; - } - } - }; - return PopupElement; -}(); -var LineAnnotationElement = function LineAnnotationElementClosure() { - var SVG_NS = 'http://www.w3.org/2000/svg'; - function LineAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable, true); - } - _util.Util.inherit(LineAnnotationElement, AnnotationElement, { - render: function LineAnnotationElement_render() { - this.container.className = 'lineAnnotation'; - var data = this.data; - var width = data.rect[2] - data.rect[0]; - var height = data.rect[3] - data.rect[1]; - var svg = document.createElementNS(SVG_NS, 'svg:svg'); - svg.setAttributeNS(null, 'version', '1.1'); - svg.setAttributeNS(null, 'width', width + 'px'); - svg.setAttributeNS(null, 'height', height + 'px'); - svg.setAttributeNS(null, 'preserveAspectRatio', 'none'); - svg.setAttributeNS(null, 'viewBox', '0 0 ' + width + ' ' + height); - var line = document.createElementNS(SVG_NS, 'svg:line'); - line.setAttributeNS(null, 'x1', data.rect[2] - data.lineCoordinates[0]); - line.setAttributeNS(null, 'y1', data.rect[3] - data.lineCoordinates[1]); - line.setAttributeNS(null, 'x2', data.rect[2] - data.lineCoordinates[2]); - line.setAttributeNS(null, 'y2', data.rect[3] - data.lineCoordinates[3]); - line.setAttributeNS(null, 'stroke-width', data.borderStyle.width); - line.setAttributeNS(null, 'stroke', 'transparent'); - svg.appendChild(line); - this.container.append(svg); - this._createPopup(this.container, line, this.data); - return this.container; - } - }); - return LineAnnotationElement; -}(); -var HighlightAnnotationElement = function HighlightAnnotationElementClosure() { - function HighlightAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable, true); - } - _util.Util.inherit(HighlightAnnotationElement, AnnotationElement, { - render: function HighlightAnnotationElement_render() { - this.container.className = 'highlightAnnotation'; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); - } - return this.container; - } - }); - return HighlightAnnotationElement; -}(); -var UnderlineAnnotationElement = function UnderlineAnnotationElementClosure() { - function UnderlineAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable, true); - } - _util.Util.inherit(UnderlineAnnotationElement, AnnotationElement, { - render: function UnderlineAnnotationElement_render() { - this.container.className = 'underlineAnnotation'; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); - } - return this.container; - } - }); - return UnderlineAnnotationElement; -}(); -var SquigglyAnnotationElement = function SquigglyAnnotationElementClosure() { - function SquigglyAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable, true); - } - _util.Util.inherit(SquigglyAnnotationElement, AnnotationElement, { - render: function SquigglyAnnotationElement_render() { - this.container.className = 'squigglyAnnotation'; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); - } - return this.container; - } - }); - return SquigglyAnnotationElement; -}(); -var StrikeOutAnnotationElement = function StrikeOutAnnotationElementClosure() { - function StrikeOutAnnotationElement(parameters) { - var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); - AnnotationElement.call(this, parameters, isRenderable, true); - } - _util.Util.inherit(StrikeOutAnnotationElement, AnnotationElement, { - render: function StrikeOutAnnotationElement_render() { - this.container.className = 'strikeoutAnnotation'; - if (!this.data.hasPopup) { - this._createPopup(this.container, null, this.data); - } - return this.container; - } - }); - return StrikeOutAnnotationElement; -}(); -var FileAttachmentAnnotationElement = function FileAttachmentAnnotationElementClosure() { - function FileAttachmentAnnotationElement(parameters) { - AnnotationElement.call(this, parameters, true); - var file = this.data.file; - this.filename = (0, _dom_utils.getFilenameFromUrl)(file.filename); - this.content = file.content; - this.linkService.onFileAttachmentAnnotation({ - id: (0, _util.stringToPDFString)(file.filename), - filename: file.filename, - content: file.content - }); - } - _util.Util.inherit(FileAttachmentAnnotationElement, AnnotationElement, { - render: function FileAttachmentAnnotationElement_render() { - this.container.className = 'fileAttachmentAnnotation'; - var trigger = document.createElement('div'); - trigger.style.height = this.container.style.height; - trigger.style.width = this.container.style.width; - trigger.addEventListener('dblclick', this._download.bind(this)); - if (!this.data.hasPopup && (this.data.title || this.data.contents)) { - this._createPopup(this.container, trigger, this.data); - } - this.container.appendChild(trigger); - return this.container; - }, - _download: function FileAttachmentAnnotationElement_download() { - if (!this.downloadManager) { - (0, _util.warn)('Download cannot be started due to unavailable download manager'); - return; - } - this.downloadManager.downloadData(this.content, this.filename, ''); - } - }); - return FileAttachmentAnnotationElement; -}(); -var AnnotationLayer = function AnnotationLayerClosure() { - return { - render: function AnnotationLayer_render(parameters) { - var annotationElementFactory = new AnnotationElementFactory(); - for (var i = 0, ii = parameters.annotations.length; i < ii; i++) { - var data = parameters.annotations[i]; - if (!data) { - continue; - } - var element = annotationElementFactory.create({ - data: data, - layer: parameters.div, - page: parameters.page, - viewport: parameters.viewport, - linkService: parameters.linkService, - downloadManager: parameters.downloadManager, - imageResourcesPath: parameters.imageResourcesPath || (0, _dom_utils.getDefaultSetting)('imageResourcesPath'), - renderInteractiveForms: parameters.renderInteractiveForms || false - }); - if (element.isRenderable) { - parameters.div.appendChild(element.render()); - } - } - }, - update: function AnnotationLayer_update(parameters) { - for (var i = 0, ii = parameters.annotations.length; i < ii; i++) { - var data = parameters.annotations[i]; - var element = parameters.div.querySelector('[data-annotation-id="' + data.id + '"]'); - if (element) { - _dom_utils.CustomStyle.setProp('transform', element, 'matrix(' + parameters.viewport.transform.join(',') + ')'); - } - } - parameters.div.removeAttribute('hidden'); - } - }; -}(); -exports.AnnotationLayer = AnnotationLayer; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.SVGGraphics = undefined; - -var _util = __w_pdfjs_require__(0); - -var SVGGraphics = function SVGGraphics() { - throw new Error('Not implemented: SVGGraphics'); -}; -{ - var SVG_DEFAULTS = { - fontStyle: 'normal', - fontWeight: 'normal', - fillColor: '#000000' - }; - var convertImgDataToPng = function convertImgDataToPngClosure() { - var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); - var CHUNK_WRAPPER_SIZE = 12; - var crcTable = new Int32Array(256); - for (var i = 0; i < 256; i++) { - var c = i; - for (var h = 0; h < 8; h++) { - if (c & 1) { - c = 0xedB88320 ^ c >> 1 & 0x7fffffff; - } else { - c = c >> 1 & 0x7fffffff; - } - } - crcTable[i] = c; - } - function crc32(data, start, end) { - var crc = -1; - for (var i = start; i < end; i++) { - var a = (crc ^ data[i]) & 0xff; - var b = crcTable[a]; - crc = crc >>> 8 ^ b; - } - return crc ^ -1; - } - function writePngChunk(type, body, data, offset) { - var p = offset; - var len = body.length; - data[p] = len >> 24 & 0xff; - data[p + 1] = len >> 16 & 0xff; - data[p + 2] = len >> 8 & 0xff; - data[p + 3] = len & 0xff; - p += 4; - data[p] = type.charCodeAt(0) & 0xff; - data[p + 1] = type.charCodeAt(1) & 0xff; - data[p + 2] = type.charCodeAt(2) & 0xff; - data[p + 3] = type.charCodeAt(3) & 0xff; - p += 4; - data.set(body, p); - p += body.length; - var crc = crc32(data, offset + 4, p); - data[p] = crc >> 24 & 0xff; - data[p + 1] = crc >> 16 & 0xff; - data[p + 2] = crc >> 8 & 0xff; - data[p + 3] = crc & 0xff; - } - function adler32(data, start, end) { - var a = 1; - var b = 0; - for (var i = start; i < end; ++i) { - a = (a + (data[i] & 0xff)) % 65521; - b = (b + a) % 65521; - } - return b << 16 | a; - } - function deflateSync(literals) { - if (!(0, _util.isNodeJS)()) { - return deflateSyncUncompressed(literals); - } - try { - var input; - if (parseInt(process.versions.node) >= 8) { - input = literals; - } else { - input = new Buffer(literals); - } - var output = require('zlib').deflateSync(input, { level: 9 }); - return output instanceof Uint8Array ? output : new Uint8Array(output); - } catch (e) { - (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e); - } - return deflateSyncUncompressed(literals); - } - function deflateSyncUncompressed(literals) { - var len = literals.length; - var maxBlockLength = 0xFFFF; - var deflateBlocks = Math.ceil(len / maxBlockLength); - var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); - var pi = 0; - idat[pi++] = 0x78; - idat[pi++] = 0x9c; - var pos = 0; - while (len > maxBlockLength) { - idat[pi++] = 0x00; - idat[pi++] = 0xff; - idat[pi++] = 0xff; - idat[pi++] = 0x00; - idat[pi++] = 0x00; - idat.set(literals.subarray(pos, pos + maxBlockLength), pi); - pi += maxBlockLength; - pos += maxBlockLength; - len -= maxBlockLength; - } - idat[pi++] = 0x01; - idat[pi++] = len & 0xff; - idat[pi++] = len >> 8 & 0xff; - idat[pi++] = ~len & 0xffff & 0xff; - idat[pi++] = (~len & 0xffff) >> 8 & 0xff; - idat.set(literals.subarray(pos), pi); - pi += literals.length - pos; - var adler = adler32(literals, 0, literals.length); - idat[pi++] = adler >> 24 & 0xff; - idat[pi++] = adler >> 16 & 0xff; - idat[pi++] = adler >> 8 & 0xff; - idat[pi++] = adler & 0xff; - return idat; - } - function encode(imgData, kind, forceDataSchema) { - var width = imgData.width; - var height = imgData.height; - var bitDepth, colorType, lineSize; - var bytes = imgData.data; - switch (kind) { - case _util.ImageKind.GRAYSCALE_1BPP: - colorType = 0; - bitDepth = 1; - lineSize = width + 7 >> 3; - break; - case _util.ImageKind.RGB_24BPP: - colorType = 2; - bitDepth = 8; - lineSize = width * 3; - break; - case _util.ImageKind.RGBA_32BPP: - colorType = 6; - bitDepth = 8; - lineSize = width * 4; - break; - default: - throw new Error('invalid format'); - } - var literals = new Uint8Array((1 + lineSize) * height); - var offsetLiterals = 0, - offsetBytes = 0; - var y, i; - for (y = 0; y < height; ++y) { - literals[offsetLiterals++] = 0; - literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); - offsetBytes += lineSize; - offsetLiterals += lineSize; - } - if (kind === _util.ImageKind.GRAYSCALE_1BPP) { - offsetLiterals = 0; - for (y = 0; y < height; y++) { - offsetLiterals++; - for (i = 0; i < lineSize; i++) { - literals[offsetLiterals++] ^= 0xFF; - } - } - } - var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); - var idat = deflateSync(literals); - var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; - var data = new Uint8Array(pngLength); - var offset = 0; - data.set(PNG_HEADER, offset); - offset += PNG_HEADER.length; - writePngChunk('IHDR', ihdr, data, offset); - offset += CHUNK_WRAPPER_SIZE + ihdr.length; - writePngChunk('IDATA', idat, data, offset); - offset += CHUNK_WRAPPER_SIZE + idat.length; - writePngChunk('IEND', new Uint8Array(0), data, offset); - return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema); - } - return function convertImgDataToPng(imgData, forceDataSchema) { - var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; - return encode(imgData, kind, forceDataSchema); - }; - }(); - var SVGExtraState = function SVGExtraStateClosure() { - function SVGExtraState() { - this.fontSizeScale = 1; - this.fontWeight = SVG_DEFAULTS.fontWeight; - this.fontSize = 0; - this.textMatrix = _util.IDENTITY_MATRIX; - this.fontMatrix = _util.FONT_IDENTITY_MATRIX; - this.leading = 0; - this.x = 0; - this.y = 0; - this.lineX = 0; - this.lineY = 0; - this.charSpacing = 0; - this.wordSpacing = 0; - this.textHScale = 1; - this.textRise = 0; - this.fillColor = SVG_DEFAULTS.fillColor; - this.strokeColor = '#000000'; - this.fillAlpha = 1; - this.strokeAlpha = 1; - this.lineWidth = 1; - this.lineJoin = ''; - this.lineCap = ''; - this.miterLimit = 0; - this.dashArray = []; - this.dashPhase = 0; - this.dependencies = []; - this.activeClipUrl = null; - this.clipGroup = null; - this.maskId = ''; - } - SVGExtraState.prototype = { - clone: function SVGExtraState_clone() { - return Object.create(this); - }, - setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) { - this.x = x; - this.y = y; - } - }; - return SVGExtraState; - }(); - exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() { - function opListToTree(opList) { - var opTree = []; - var tmp = []; - var opListLen = opList.length; - for (var x = 0; x < opListLen; x++) { - if (opList[x].fn === 'save') { - opTree.push({ - 'fnId': 92, - 'fn': 'group', - 'items': [] - }); - tmp.push(opTree); - opTree = opTree[opTree.length - 1].items; - continue; - } - if (opList[x].fn === 'restore') { - opTree = tmp.pop(); - } else { - opTree.push(opList[x]); - } - } - return opTree; - } - function pf(value) { - if (value === (value | 0)) { - return value.toString(); - } - var s = value.toFixed(10); - var i = s.length - 1; - if (s[i] !== '0') { - return s; - } - do { - i--; - } while (s[i] === '0'); - return s.substr(0, s[i] === '.' ? i : i + 1); - } - function pm(m) { - if (m[4] === 0 && m[5] === 0) { - if (m[1] === 0 && m[2] === 0) { - if (m[0] === 1 && m[3] === 1) { - return ''; - } - return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')'; - } - if (m[0] === m[3] && m[1] === -m[2]) { - var a = Math.acos(m[0]) * 180 / Math.PI; - return 'rotate(' + pf(a) + ')'; - } - } else { - if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { - return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')'; - } - } - return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')'; - } - function SVGGraphics(commonObjs, objs, forceDataSchema) { - this.current = new SVGExtraState(); - this.transformMatrix = _util.IDENTITY_MATRIX; - this.transformStack = []; - this.extraStack = []; - this.commonObjs = commonObjs; - this.objs = objs; - this.pendingClip = null; - this.pendingEOFill = false; - this.embedFonts = false; - this.embeddedFonts = Object.create(null); - this.cssStyle = null; - this.forceDataSchema = !!forceDataSchema; - } - var NS = 'http://www.w3.org/2000/svg'; - var XML_NS = 'http://www.w3.org/XML/1998/namespace'; - var XLINK_NS = 'http://www.w3.org/1999/xlink'; - var LINE_CAP_STYLES = ['butt', 'round', 'square']; - var LINE_JOIN_STYLES = ['miter', 'round', 'bevel']; - var clipCount = 0; - var maskCount = 0; - SVGGraphics.prototype = { - save: function SVGGraphics_save() { - this.transformStack.push(this.transformMatrix); - var old = this.current; - this.extraStack.push(old); - this.current = old.clone(); - }, - restore: function SVGGraphics_restore() { - this.transformMatrix = this.transformStack.pop(); - this.current = this.extraStack.pop(); - this.pendingClip = null; - this.tgrp = null; - }, - group: function SVGGraphics_group(items) { - this.save(); - this.executeOpTree(items); - this.restore(); - }, - loadDependencies: function SVGGraphics_loadDependencies(operatorList) { - var _this = this; - - var fnArray = operatorList.fnArray; - var fnArrayLen = fnArray.length; - var argsArray = operatorList.argsArray; - for (var i = 0; i < fnArrayLen; i++) { - if (_util.OPS.dependency === fnArray[i]) { - var deps = argsArray[i]; - for (var n = 0, nn = deps.length; n < nn; n++) { - var obj = deps[n]; - var common = obj.substring(0, 2) === 'g_'; - var promise; - if (common) { - promise = new Promise(function (resolve) { - _this.commonObjs.get(obj, resolve); - }); - } else { - promise = new Promise(function (resolve) { - _this.objs.get(obj, resolve); - }); - } - this.current.dependencies.push(promise); - } - } - } - return Promise.all(this.current.dependencies); - }, - transform: function SVGGraphics_transform(a, b, c, d, e, f) { - var transformMatrix = [a, b, c, d, e, f]; - this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); - this.tgrp = null; - }, - getSVG: function SVGGraphics_getSVG(operatorList, viewport) { - var _this2 = this; - - this.viewport = viewport; - var svgElement = this._initialize(viewport); - return this.loadDependencies(operatorList).then(function () { - _this2.transformMatrix = _util.IDENTITY_MATRIX; - var opTree = _this2.convertOpList(operatorList); - _this2.executeOpTree(opTree); - return svgElement; - }); - }, - convertOpList: function SVGGraphics_convertOpList(operatorList) { - var argsArray = operatorList.argsArray; - var fnArray = operatorList.fnArray; - var fnArrayLen = fnArray.length; - var REVOPS = []; - var opList = []; - for (var op in _util.OPS) { - REVOPS[_util.OPS[op]] = op; - } - for (var x = 0; x < fnArrayLen; x++) { - var fnId = fnArray[x]; - opList.push({ - 'fnId': fnId, - 'fn': REVOPS[fnId], - 'args': argsArray[x] - }); - } - return opListToTree(opList); - }, - executeOpTree: function SVGGraphics_executeOpTree(opTree) { - var opTreeLen = opTree.length; - for (var x = 0; x < opTreeLen; x++) { - var fn = opTree[x].fn; - var fnId = opTree[x].fnId; - var args = opTree[x].args; - switch (fnId | 0) { - case _util.OPS.beginText: - this.beginText(); - break; - case _util.OPS.setLeading: - this.setLeading(args); - break; - case _util.OPS.setLeadingMoveText: - this.setLeadingMoveText(args[0], args[1]); - break; - case _util.OPS.setFont: - this.setFont(args); - break; - case _util.OPS.showText: - this.showText(args[0]); - break; - case _util.OPS.showSpacedText: - this.showText(args[0]); - break; - case _util.OPS.endText: - this.endText(); - break; - case _util.OPS.moveText: - this.moveText(args[0], args[1]); - break; - case _util.OPS.setCharSpacing: - this.setCharSpacing(args[0]); - break; - case _util.OPS.setWordSpacing: - this.setWordSpacing(args[0]); - break; - case _util.OPS.setHScale: - this.setHScale(args[0]); - break; - case _util.OPS.setTextMatrix: - this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); - break; - case _util.OPS.setLineWidth: - this.setLineWidth(args[0]); - break; - case _util.OPS.setLineJoin: - this.setLineJoin(args[0]); - break; - case _util.OPS.setLineCap: - this.setLineCap(args[0]); - break; - case _util.OPS.setMiterLimit: - this.setMiterLimit(args[0]); - break; - case _util.OPS.setFillRGBColor: - this.setFillRGBColor(args[0], args[1], args[2]); - break; - case _util.OPS.setStrokeRGBColor: - this.setStrokeRGBColor(args[0], args[1], args[2]); - break; - case _util.OPS.setDash: - this.setDash(args[0], args[1]); - break; - case _util.OPS.setGState: - this.setGState(args[0]); - break; - case _util.OPS.fill: - this.fill(); - break; - case _util.OPS.eoFill: - this.eoFill(); - break; - case _util.OPS.stroke: - this.stroke(); - break; - case _util.OPS.fillStroke: - this.fillStroke(); - break; - case _util.OPS.eoFillStroke: - this.eoFillStroke(); - break; - case _util.OPS.clip: - this.clip('nonzero'); - break; - case _util.OPS.eoClip: - this.clip('evenodd'); - break; - case _util.OPS.paintSolidColorImageMask: - this.paintSolidColorImageMask(); - break; - case _util.OPS.paintJpegXObject: - this.paintJpegXObject(args[0], args[1], args[2]); - break; - case _util.OPS.paintImageXObject: - this.paintImageXObject(args[0]); - break; - case _util.OPS.paintInlineImageXObject: - this.paintInlineImageXObject(args[0]); - break; - case _util.OPS.paintImageMaskXObject: - this.paintImageMaskXObject(args[0]); - break; - case _util.OPS.paintFormXObjectBegin: - this.paintFormXObjectBegin(args[0], args[1]); - break; - case _util.OPS.paintFormXObjectEnd: - this.paintFormXObjectEnd(); - break; - case _util.OPS.closePath: - this.closePath(); - break; - case _util.OPS.closeStroke: - this.closeStroke(); - break; - case _util.OPS.closeFillStroke: - this.closeFillStroke(); - break; - case _util.OPS.nextLine: - this.nextLine(); - break; - case _util.OPS.transform: - this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); - break; - case _util.OPS.constructPath: - this.constructPath(args[0], args[1]); - break; - case _util.OPS.endPath: - this.endPath(); - break; - case 92: - this.group(opTree[x].items); - break; - default: - (0, _util.warn)('Unimplemented operator ' + fn); - break; - } - } - }, - setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) { - this.current.wordSpacing = wordSpacing; - }, - setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) { - this.current.charSpacing = charSpacing; - }, - nextLine: function SVGGraphics_nextLine() { - this.moveText(0, this.current.leading); - }, - setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) { - var current = this.current; - this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f]; - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - current.xcoords = []; - current.tspan = document.createElementNS(NS, 'svg:tspan'); - current.tspan.setAttributeNS(null, 'font-family', current.fontFamily); - current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px'); - current.tspan.setAttributeNS(null, 'y', pf(-current.y)); - current.txtElement = document.createElementNS(NS, 'svg:text'); - current.txtElement.appendChild(current.tspan); - }, - beginText: function SVGGraphics_beginText() { - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - this.current.textMatrix = _util.IDENTITY_MATRIX; - this.current.lineMatrix = _util.IDENTITY_MATRIX; - this.current.tspan = document.createElementNS(NS, 'svg:tspan'); - this.current.txtElement = document.createElementNS(NS, 'svg:text'); - this.current.txtgrp = document.createElementNS(NS, 'svg:g'); - this.current.xcoords = []; - }, - moveText: function SVGGraphics_moveText(x, y) { - var current = this.current; - this.current.x = this.current.lineX += x; - this.current.y = this.current.lineY += y; - current.xcoords = []; - current.tspan = document.createElementNS(NS, 'svg:tspan'); - current.tspan.setAttributeNS(null, 'font-family', current.fontFamily); - current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px'); - current.tspan.setAttributeNS(null, 'y', pf(-current.y)); - }, - showText: function SVGGraphics_showText(glyphs) { - var current = this.current; - var font = current.font; - var fontSize = current.fontSize; - if (fontSize === 0) { - return; - } - var charSpacing = current.charSpacing; - var wordSpacing = current.wordSpacing; - var fontDirection = current.fontDirection; - var textHScale = current.textHScale * fontDirection; - var glyphsLength = glyphs.length; - var vertical = font.vertical; - var widthAdvanceScale = fontSize * current.fontMatrix[0]; - var x = 0, - i; - for (i = 0; i < glyphsLength; ++i) { - var glyph = glyphs[i]; - if (glyph === null) { - x += fontDirection * wordSpacing; - continue; - } else if ((0, _util.isNum)(glyph)) { - x += -glyph * fontSize * 0.001; - continue; - } - current.xcoords.push(current.x + x * textHScale); - var width = glyph.width; - var character = glyph.fontChar; - var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - var charWidth = width * widthAdvanceScale + spacing * fontDirection; - x += charWidth; - current.tspan.textContent += character; - } - if (vertical) { - current.y -= x * textHScale; - } else { - current.x += x * textHScale; - } - current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' ')); - current.tspan.setAttributeNS(null, 'y', pf(-current.y)); - current.tspan.setAttributeNS(null, 'font-family', current.fontFamily); - current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px'); - if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { - current.tspan.setAttributeNS(null, 'font-style', current.fontStyle); - } - if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { - current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight); - } - if (current.fillColor !== SVG_DEFAULTS.fillColor) { - current.tspan.setAttributeNS(null, 'fill', current.fillColor); - } - current.txtElement.setAttributeNS(null, 'transform', pm(current.textMatrix) + ' scale(1, -1)'); - current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve'); - current.txtElement.appendChild(current.tspan); - current.txtgrp.appendChild(current.txtElement); - this._ensureTransformGroup().appendChild(current.txtElement); - }, - setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) { - this.setLeading(-y); - this.moveText(x, y); - }, - addFontStyle: function SVGGraphics_addFontStyle(fontObj) { - if (!this.cssStyle) { - this.cssStyle = document.createElementNS(NS, 'svg:style'); - this.cssStyle.setAttributeNS(null, 'type', 'text/css'); - this.defs.appendChild(this.cssStyle); - } - var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema); - this.cssStyle.textContent += '@font-face { font-family: "' + fontObj.loadedName + '";' + ' src: url(' + url + '); }\n'; - }, - setFont: function SVGGraphics_setFont(details) { - var current = this.current; - var fontObj = this.commonObjs.get(details[0]); - var size = details[1]; - this.current.font = fontObj; - if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) { - this.addFontStyle(fontObj); - this.embeddedFonts[fontObj.loadedName] = fontObj; - } - current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX; - var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal'; - var italic = fontObj.italic ? 'italic' : 'normal'; - if (size < 0) { - size = -size; - current.fontDirection = -1; - } else { - current.fontDirection = 1; - } - current.fontSize = size; - current.fontFamily = fontObj.loadedName; - current.fontWeight = bold; - current.fontStyle = italic; - current.tspan = document.createElementNS(NS, 'svg:tspan'); - current.tspan.setAttributeNS(null, 'y', pf(-current.y)); - current.xcoords = []; - }, - endText: function SVGGraphics_endText() {}, - setLineWidth: function SVGGraphics_setLineWidth(width) { - this.current.lineWidth = width; - }, - setLineCap: function SVGGraphics_setLineCap(style) { - this.current.lineCap = LINE_CAP_STYLES[style]; - }, - setLineJoin: function SVGGraphics_setLineJoin(style) { - this.current.lineJoin = LINE_JOIN_STYLES[style]; - }, - setMiterLimit: function SVGGraphics_setMiterLimit(limit) { - this.current.miterLimit = limit; - }, - setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) { - this.current.strokeAlpha = strokeAlpha; - }, - setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); - this.current.strokeColor = color; - }, - setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) { - this.current.fillAlpha = fillAlpha; - }, - setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); - this.current.fillColor = color; - this.current.tspan = document.createElementNS(NS, 'svg:tspan'); - this.current.xcoords = []; - }, - setDash: function SVGGraphics_setDash(dashArray, dashPhase) { - this.current.dashArray = dashArray; - this.current.dashPhase = dashPhase; - }, - constructPath: function SVGGraphics_constructPath(ops, args) { - var current = this.current; - var x = current.x, - y = current.y; - current.path = document.createElementNS(NS, 'svg:path'); - var d = []; - var opLength = ops.length; - for (var i = 0, j = 0; i < opLength; i++) { - switch (ops[i] | 0) { - case _util.OPS.rectangle: - x = args[j++]; - y = args[j++]; - var width = args[j++]; - var height = args[j++]; - var xw = x + width; - var yh = y + height; - d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z'); - break; - case _util.OPS.moveTo: - x = args[j++]; - y = args[j++]; - d.push('M', pf(x), pf(y)); - break; - case _util.OPS.lineTo: - x = args[j++]; - y = args[j++]; - d.push('L', pf(x), pf(y)); - break; - case _util.OPS.curveTo: - x = args[j + 4]; - y = args[j + 5]; - d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); - j += 6; - break; - case _util.OPS.curveTo2: - x = args[j + 2]; - y = args[j + 3]; - d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); - j += 4; - break; - case _util.OPS.curveTo3: - x = args[j + 2]; - y = args[j + 3]; - d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); - j += 4; - break; - case _util.OPS.closePath: - d.push('Z'); - break; - } - } - current.path.setAttributeNS(null, 'd', d.join(' ')); - current.path.setAttributeNS(null, 'fill', 'none'); - this._ensureTransformGroup().appendChild(current.path); - current.element = current.path; - current.setCurrentPoint(x, y); - }, - endPath: function SVGGraphics_endPath() { - if (!this.pendingClip) { - return; - } - var current = this.current; - var clipId = 'clippath' + clipCount; - clipCount++; - var clipPath = document.createElementNS(NS, 'svg:clipPath'); - clipPath.setAttributeNS(null, 'id', clipId); - clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix)); - var clipElement = current.element.cloneNode(); - if (this.pendingClip === 'evenodd') { - clipElement.setAttributeNS(null, 'clip-rule', 'evenodd'); - } else { - clipElement.setAttributeNS(null, 'clip-rule', 'nonzero'); - } - this.pendingClip = null; - clipPath.appendChild(clipElement); - this.defs.appendChild(clipPath); - if (current.activeClipUrl) { - current.clipGroup = null; - this.extraStack.forEach(function (prev) { - prev.clipGroup = null; - }); - } - current.activeClipUrl = 'url(#' + clipId + ')'; - this.tgrp = null; - }, - clip: function SVGGraphics_clip(type) { - this.pendingClip = type; - }, - closePath: function SVGGraphics_closePath() { - var current = this.current; - var d = current.path.getAttributeNS(null, 'd'); - d += 'Z'; - current.path.setAttributeNS(null, 'd', d); - }, - setLeading: function SVGGraphics_setLeading(leading) { - this.current.leading = -leading; - }, - setTextRise: function SVGGraphics_setTextRise(textRise) { - this.current.textRise = textRise; - }, - setHScale: function SVGGraphics_setHScale(scale) { - this.current.textHScale = scale / 100; - }, - setGState: function SVGGraphics_setGState(states) { - for (var i = 0, ii = states.length; i < ii; i++) { - var state = states[i]; - var key = state[0]; - var value = state[1]; - switch (key) { - case 'LW': - this.setLineWidth(value); - break; - case 'LC': - this.setLineCap(value); - break; - case 'LJ': - this.setLineJoin(value); - break; - case 'ML': - this.setMiterLimit(value); - break; - case 'D': - this.setDash(value[0], value[1]); - break; - case 'Font': - this.setFont(value); - break; - case 'CA': - this.setStrokeAlpha(value); - break; - case 'ca': - this.setFillAlpha(value); - break; - default: - (0, _util.warn)('Unimplemented graphic state ' + key); - break; - } - } - }, - fill: function SVGGraphics_fill() { - var current = this.current; - current.element.setAttributeNS(null, 'fill', current.fillColor); - current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha); - }, - stroke: function SVGGraphics_stroke() { - var current = this.current; - current.element.setAttributeNS(null, 'stroke', current.strokeColor); - current.element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha); - current.element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit)); - current.element.setAttributeNS(null, 'stroke-linecap', current.lineCap); - current.element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin); - current.element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px'); - current.element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' ')); - current.element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px'); - current.element.setAttributeNS(null, 'fill', 'none'); - }, - eoFill: function SVGGraphics_eoFill() { - this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd'); - this.fill(); - }, - fillStroke: function SVGGraphics_fillStroke() { - this.stroke(); - this.fill(); - }, - eoFillStroke: function SVGGraphics_eoFillStroke() { - this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd'); - this.fillStroke(); - }, - closeStroke: function SVGGraphics_closeStroke() { - this.closePath(); - this.stroke(); - }, - closeFillStroke: function SVGGraphics_closeFillStroke() { - this.closePath(); - this.fillStroke(); - }, - paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() { - var current = this.current; - var rect = document.createElementNS(NS, 'svg:rect'); - rect.setAttributeNS(null, 'x', '0'); - rect.setAttributeNS(null, 'y', '0'); - rect.setAttributeNS(null, 'width', '1px'); - rect.setAttributeNS(null, 'height', '1px'); - rect.setAttributeNS(null, 'fill', current.fillColor); - this._ensureTransformGroup().appendChild(rect); - }, - paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) { - var imgObj = this.objs.get(objId); - var imgEl = document.createElementNS(NS, 'svg:image'); - imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src); - imgEl.setAttributeNS(null, 'width', pf(w)); - imgEl.setAttributeNS(null, 'height', pf(h)); - imgEl.setAttributeNS(null, 'x', '0'); - imgEl.setAttributeNS(null, 'y', pf(-h)); - imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')'); - this._ensureTransformGroup().appendChild(imgEl); - }, - paintImageXObject: function SVGGraphics_paintImageXObject(objId) { - var imgData = this.objs.get(objId); - if (!imgData) { - (0, _util.warn)('Dependent image isn\'t ready yet'); - return; - } - this.paintInlineImageXObject(imgData); - }, - paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) { - var width = imgData.width; - var height = imgData.height; - var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema); - var cliprect = document.createElementNS(NS, 'svg:rect'); - cliprect.setAttributeNS(null, 'x', '0'); - cliprect.setAttributeNS(null, 'y', '0'); - cliprect.setAttributeNS(null, 'width', pf(width)); - cliprect.setAttributeNS(null, 'height', pf(height)); - this.current.element = cliprect; - this.clip('nonzero'); - var imgEl = document.createElementNS(NS, 'svg:image'); - imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc); - imgEl.setAttributeNS(null, 'x', '0'); - imgEl.setAttributeNS(null, 'y', pf(-height)); - imgEl.setAttributeNS(null, 'width', pf(width) + 'px'); - imgEl.setAttributeNS(null, 'height', pf(height) + 'px'); - imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')'); - if (mask) { - mask.appendChild(imgEl); - } else { - this._ensureTransformGroup().appendChild(imgEl); - } - }, - paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) { - var current = this.current; - var width = imgData.width; - var height = imgData.height; - var fillColor = current.fillColor; - current.maskId = 'mask' + maskCount++; - var mask = document.createElementNS(NS, 'svg:mask'); - mask.setAttributeNS(null, 'id', current.maskId); - var rect = document.createElementNS(NS, 'svg:rect'); - rect.setAttributeNS(null, 'x', '0'); - rect.setAttributeNS(null, 'y', '0'); - rect.setAttributeNS(null, 'width', pf(width)); - rect.setAttributeNS(null, 'height', pf(height)); - rect.setAttributeNS(null, 'fill', fillColor); - rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')'); - this.defs.appendChild(mask); - this._ensureTransformGroup().appendChild(rect); - this.paintInlineImageXObject(imgData, mask); - }, - paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) { - if ((0, _util.isArray)(matrix) && matrix.length === 6) { - this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); - } - if ((0, _util.isArray)(bbox) && bbox.length === 4) { - var width = bbox[2] - bbox[0]; - var height = bbox[3] - bbox[1]; - var cliprect = document.createElementNS(NS, 'svg:rect'); - cliprect.setAttributeNS(null, 'x', bbox[0]); - cliprect.setAttributeNS(null, 'y', bbox[1]); - cliprect.setAttributeNS(null, 'width', pf(width)); - cliprect.setAttributeNS(null, 'height', pf(height)); - this.current.element = cliprect; - this.clip('nonzero'); - this.endPath(); - } - }, - paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {}, - _initialize: function SVGGraphics_initialize(viewport) { - var svg = document.createElementNS(NS, 'svg:svg'); - svg.setAttributeNS(null, 'version', '1.1'); - svg.setAttributeNS(null, 'width', viewport.width + 'px'); - svg.setAttributeNS(null, 'height', viewport.height + 'px'); - svg.setAttributeNS(null, 'preserveAspectRatio', 'none'); - svg.setAttributeNS(null, 'viewBox', '0 0 ' + viewport.width + ' ' + viewport.height); - var definitions = document.createElementNS(NS, 'svg:defs'); - svg.appendChild(definitions); - this.defs = definitions; - var rootGroup = document.createElementNS(NS, 'svg:g'); - rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform)); - svg.appendChild(rootGroup); - this.svg = rootGroup; - return svg; - }, - _ensureClipGroup: function SVGGraphics_ensureClipGroup() { - if (!this.current.clipGroup) { - var clipGroup = document.createElementNS(NS, 'svg:g'); - clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl); - this.svg.appendChild(clipGroup); - this.current.clipGroup = clipGroup; - } - return this.current.clipGroup; - }, - _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() { - if (!this.tgrp) { - this.tgrp = document.createElementNS(NS, 'svg:g'); - this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix)); - if (this.current.activeClipUrl) { - this._ensureClipGroup().appendChild(this.tgrp); - } else { - this.svg.appendChild(this.tgrp); - } - } - return this.tgrp; - } - }; - return SVGGraphics; - }(); -} -exports.SVGGraphics = SVGGraphics; - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.renderTextLayer = undefined; - -var _util = __w_pdfjs_require__(0); - -var _dom_utils = __w_pdfjs_require__(1); - -var renderTextLayer = function renderTextLayerClosure() { - var MAX_TEXT_DIVS_TO_RENDER = 100000; - var NonWhitespaceRegexp = /\S/; - function isAllWhitespace(str) { - return !NonWhitespaceRegexp.test(str); - } - var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';']; - function appendText(task, geom, styles) { - var textDiv = document.createElement('div'); - var textDivProperties = { - style: null, - angle: 0, - canvasWidth: 0, - isWhitespace: false, - originalTransform: null, - paddingBottom: 0, - paddingLeft: 0, - paddingRight: 0, - paddingTop: 0, - scale: 1 - }; - task._textDivs.push(textDiv); - if (isAllWhitespace(geom.str)) { - textDivProperties.isWhitespace = true; - task._textDivProperties.set(textDiv, textDivProperties); - return; - } - var tx = _util.Util.transform(task._viewport.transform, geom.transform); - var angle = Math.atan2(tx[1], tx[0]); - var style = styles[geom.fontName]; - if (style.vertical) { - angle += Math.PI / 2; - } - var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]); - var fontAscent = fontHeight; - if (style.ascent) { - fontAscent = style.ascent * fontAscent; - } else if (style.descent) { - fontAscent = (1 + style.descent) * fontAscent; - } - var left; - var top; - if (angle === 0) { - left = tx[4]; - top = tx[5] - fontAscent; - } else { - left = tx[4] + fontAscent * Math.sin(angle); - top = tx[5] - fontAscent * Math.cos(angle); - } - styleBuf[1] = left; - styleBuf[3] = top; - styleBuf[5] = fontHeight; - styleBuf[7] = style.fontFamily; - textDivProperties.style = styleBuf.join(''); - textDiv.setAttribute('style', textDivProperties.style); - textDiv.textContent = geom.str; - if ((0, _dom_utils.getDefaultSetting)('pdfBug')) { - textDiv.dataset.fontName = geom.fontName; - } - if (angle !== 0) { - textDivProperties.angle = angle * (180 / Math.PI); - } - if (geom.str.length > 1) { - if (style.vertical) { - textDivProperties.canvasWidth = geom.height * task._viewport.scale; - } else { - textDivProperties.canvasWidth = geom.width * task._viewport.scale; - } - } - task._textDivProperties.set(textDiv, textDivProperties); - if (task._textContentStream) { - task._layoutText(textDiv); - } - if (task._enhanceTextSelection) { - var angleCos = 1, - angleSin = 0; - if (angle !== 0) { - angleCos = Math.cos(angle); - angleSin = Math.sin(angle); - } - var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; - var divHeight = fontHeight; - var m, b; - if (angle !== 0) { - m = [angleCos, angleSin, -angleSin, angleCos, left, top]; - b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); - } else { - b = [left, top, left + divWidth, top + divHeight]; - } - task._bounds.push({ - left: b[0], - top: b[1], - right: b[2], - bottom: b[3], - div: textDiv, - size: [divWidth, divHeight], - m: m - }); - } - } - function render(task) { - if (task._canceled) { - return; - } - var textDivs = task._textDivs; - var capability = task._capability; - var textDivsLength = textDivs.length; - if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { - task._renderingDone = true; - capability.resolve(); - return; - } - if (!task._textContentStream) { - for (var i = 0; i < textDivsLength; i++) { - task._layoutText(textDivs[i]); - } - } - task._renderingDone = true; - capability.resolve(); - } - function expand(task) { - var bounds = task._bounds; - var viewport = task._viewport; - var expanded = expandBounds(viewport.width, viewport.height, bounds); - for (var i = 0; i < expanded.length; i++) { - var div = bounds[i].div; - var divProperties = task._textDivProperties.get(div); - if (divProperties.angle === 0) { - divProperties.paddingLeft = bounds[i].left - expanded[i].left; - divProperties.paddingTop = bounds[i].top - expanded[i].top; - divProperties.paddingRight = expanded[i].right - bounds[i].right; - divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; - task._textDivProperties.set(div, divProperties); - continue; - } - var e = expanded[i], - b = bounds[i]; - var m = b.m, - c = m[0], - s = m[1]; - var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size]; - var ts = new Float64Array(64); - points.forEach(function (p, i) { - var t = _util.Util.applyTransform(p, m); - ts[i + 0] = c && (e.left - t[0]) / c; - ts[i + 4] = s && (e.top - t[1]) / s; - ts[i + 8] = c && (e.right - t[0]) / c; - ts[i + 12] = s && (e.bottom - t[1]) / s; - ts[i + 16] = s && (e.left - t[0]) / -s; - ts[i + 20] = c && (e.top - t[1]) / c; - ts[i + 24] = s && (e.right - t[0]) / -s; - ts[i + 28] = c && (e.bottom - t[1]) / c; - ts[i + 32] = c && (e.left - t[0]) / -c; - ts[i + 36] = s && (e.top - t[1]) / -s; - ts[i + 40] = c && (e.right - t[0]) / -c; - ts[i + 44] = s && (e.bottom - t[1]) / -s; - ts[i + 48] = s && (e.left - t[0]) / s; - ts[i + 52] = c && (e.top - t[1]) / -c; - ts[i + 56] = s && (e.right - t[0]) / s; - ts[i + 60] = c && (e.bottom - t[1]) / -c; - }); - var findPositiveMin = function findPositiveMin(ts, offset, count) { - var result = 0; - for (var i = 0; i < count; i++) { - var t = ts[offset++]; - if (t > 0) { - result = result ? Math.min(t, result) : t; - } - } - return result; - }; - var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s)); - divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale; - divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale; - divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale; - divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; - task._textDivProperties.set(div, divProperties); - } - } - function expandBounds(width, height, boxes) { - var bounds = boxes.map(function (box, i) { - return { - x1: box.left, - y1: box.top, - x2: box.right, - y2: box.bottom, - index: i, - x1New: undefined, - x2New: undefined - }; - }); - expandBoundsLTR(width, bounds); - var expanded = new Array(boxes.length); - bounds.forEach(function (b) { - var i = b.index; - expanded[i] = { - left: b.x1New, - top: 0, - right: b.x2New, - bottom: 0 - }; - }); - boxes.map(function (box, i) { - var e = expanded[i], - b = bounds[i]; - b.x1 = box.top; - b.y1 = width - e.right; - b.x2 = box.bottom; - b.y2 = width - e.left; - b.index = i; - b.x1New = undefined; - b.x2New = undefined; - }); - expandBoundsLTR(height, bounds); - bounds.forEach(function (b) { - var i = b.index; - expanded[i].top = b.x1New; - expanded[i].bottom = b.x2New; - }); - return expanded; - } - function expandBoundsLTR(width, bounds) { - bounds.sort(function (a, b) { - return a.x1 - b.x1 || a.index - b.index; - }); - var fakeBoundary = { - x1: -Infinity, - y1: -Infinity, - x2: 0, - y2: Infinity, - index: -1, - x1New: 0, - x2New: 0 - }; - var horizon = [{ - start: -Infinity, - end: Infinity, - boundary: fakeBoundary - }]; - bounds.forEach(function (boundary) { - var i = 0; - while (i < horizon.length && horizon[i].end <= boundary.y1) { - i++; - } - var j = horizon.length - 1; - while (j >= 0 && horizon[j].start >= boundary.y2) { - j--; - } - var horizonPart, affectedBoundary; - var q, - k, - maxXNew = -Infinity; - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - var xNew; - if (affectedBoundary.x2 > boundary.x1) { - xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1; - } else if (affectedBoundary.x2New === undefined) { - xNew = (affectedBoundary.x2 + boundary.x1) / 2; - } else { - xNew = affectedBoundary.x2New; - } - if (xNew > maxXNew) { - maxXNew = xNew; - } - } - boundary.x1New = maxXNew; - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - if (affectedBoundary.x2New === undefined) { - if (affectedBoundary.x2 > boundary.x1) { - if (affectedBoundary.index > boundary.index) { - affectedBoundary.x2New = affectedBoundary.x2; - } - } else { - affectedBoundary.x2New = maxXNew; - } - } else if (affectedBoundary.x2New > maxXNew) { - affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2); - } - } - var changedHorizon = [], - lastBoundary = null; - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary; - if (lastBoundary === useBoundary) { - changedHorizon[changedHorizon.length - 1].end = horizonPart.end; - } else { - changedHorizon.push({ - start: horizonPart.start, - end: horizonPart.end, - boundary: useBoundary - }); - lastBoundary = useBoundary; - } - } - if (horizon[i].start < boundary.y1) { - changedHorizon[0].start = boundary.y1; - changedHorizon.unshift({ - start: horizon[i].start, - end: boundary.y1, - boundary: horizon[i].boundary - }); - } - if (boundary.y2 < horizon[j].end) { - changedHorizon[changedHorizon.length - 1].end = boundary.y2; - changedHorizon.push({ - start: boundary.y2, - end: horizon[j].end, - boundary: horizon[j].boundary - }); - } - for (q = i; q <= j; q++) { - horizonPart = horizon[q]; - affectedBoundary = horizonPart.boundary; - if (affectedBoundary.x2New !== undefined) { - continue; - } - var used = false; - for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) { - used = horizon[k].boundary === affectedBoundary; - } - for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) { - used = horizon[k].boundary === affectedBoundary; - } - for (k = 0; !used && k < changedHorizon.length; k++) { - used = changedHorizon[k].boundary === affectedBoundary; - } - if (!used) { - affectedBoundary.x2New = maxXNew; - } - } - Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); - }); - horizon.forEach(function (horizonPart) { - var affectedBoundary = horizonPart.boundary; - if (affectedBoundary.x2New === undefined) { - affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); - } - }); - } - function TextLayerRenderTask(_ref) { - var textContent = _ref.textContent, - textContentStream = _ref.textContentStream, - container = _ref.container, - viewport = _ref.viewport, - textDivs = _ref.textDivs, - textContentItemsStr = _ref.textContentItemsStr, - enhanceTextSelection = _ref.enhanceTextSelection; - - this._textContent = textContent; - this._textContentStream = textContentStream; - this._container = container; - this._viewport = viewport; - this._textDivs = textDivs || []; - this._textContentItemsStr = textContentItemsStr || []; - this._enhanceTextSelection = !!enhanceTextSelection; - this._reader = null; - this._layoutTextLastFontSize = null; - this._layoutTextLastFontFamily = null; - this._layoutTextCtx = null; - this._textDivProperties = new WeakMap(); - this._renderingDone = false; - this._canceled = false; - this._capability = (0, _util.createPromiseCapability)(); - this._renderTimer = null; - this._bounds = []; - } - TextLayerRenderTask.prototype = { - get promise() { - return this._capability.promise; - }, - cancel: function TextLayer_cancel() { - if (this._reader) { - this._reader.cancel(new _util.AbortException('text layer task cancelled')); - this._reader = null; - } - this._canceled = true; - if (this._renderTimer !== null) { - clearTimeout(this._renderTimer); - this._renderTimer = null; - } - this._capability.reject('canceled'); - }, - _processItems: function _processItems(items, styleCache) { - for (var i = 0, len = items.length; i < len; i++) { - this._textContentItemsStr.push(items[i].str); - appendText(this, items[i], styleCache); - } - }, - _layoutText: function _layoutText(textDiv) { - var textLayerFrag = this._container; - var textDivProperties = this._textDivProperties.get(textDiv); - if (textDivProperties.isWhitespace) { - return; - } - var fontSize = textDiv.style.fontSize; - var fontFamily = textDiv.style.fontFamily; - if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { - this._layoutTextCtx.font = fontSize + ' ' + fontFamily; - this._lastFontSize = fontSize; - this._lastFontFamily = fontFamily; - } - var width = this._layoutTextCtx.measureText(textDiv.textContent).width; - var transform = ''; - if (textDivProperties.canvasWidth !== 0 && width > 0) { - textDivProperties.scale = textDivProperties.canvasWidth / width; - transform = 'scaleX(' + textDivProperties.scale + ')'; - } - if (textDivProperties.angle !== 0) { - transform = 'rotate(' + textDivProperties.angle + 'deg) ' + transform; - } - if (transform !== '') { - textDivProperties.originalTransform = transform; - _dom_utils.CustomStyle.setProp('transform', textDiv, transform); - } - this._textDivProperties.set(textDiv, textDivProperties); - textLayerFrag.appendChild(textDiv); - }, - - _render: function TextLayer_render(timeout) { - var _this = this; - - var capability = (0, _util.createPromiseCapability)(); - var styleCache = Object.create(null); - var canvas = document.createElement('canvas'); - canvas.mozOpaque = true; - this._layoutTextCtx = canvas.getContext('2d', { alpha: false }); - if (this._textContent) { - var textItems = this._textContent.items; - var textStyles = this._textContent.styles; - this._processItems(textItems, textStyles); - capability.resolve(); - } else if (this._textContentStream) { - var pump = function pump() { - _this._reader.read().then(function (_ref2) { - var value = _ref2.value, - done = _ref2.done; - - if (done) { - capability.resolve(); - return; - } - _util.Util.extendObj(styleCache, value.styles); - _this._processItems(value.items, styleCache); - pump(); - }, capability.reject); - }; - this._reader = this._textContentStream.getReader(); - pump(); - } else { - throw new Error('Neither "textContent" nor "textContentStream"' + ' parameters specified.'); - } - capability.promise.then(function () { - styleCache = null; - if (!timeout) { - render(_this); - } else { - _this._renderTimer = setTimeout(function () { - render(_this); - _this._renderTimer = null; - }, timeout); - } - }, this._capability.reject); - }, - expandTextDivs: function TextLayer_expandTextDivs(expandDivs) { - if (!this._enhanceTextSelection || !this._renderingDone) { - return; - } - if (this._bounds !== null) { - expand(this); - this._bounds = null; - } - for (var i = 0, ii = this._textDivs.length; i < ii; i++) { - var div = this._textDivs[i]; - var divProperties = this._textDivProperties.get(div); - if (divProperties.isWhitespace) { - continue; - } - if (expandDivs) { - var transform = '', - padding = ''; - if (divProperties.scale !== 1) { - transform = 'scaleX(' + divProperties.scale + ')'; - } - if (divProperties.angle !== 0) { - transform = 'rotate(' + divProperties.angle + 'deg) ' + transform; - } - if (divProperties.paddingLeft !== 0) { - padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;'; - transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)'; - } - if (divProperties.paddingTop !== 0) { - padding += ' padding-top: ' + divProperties.paddingTop + 'px;'; - transform += ' translateY(' + -divProperties.paddingTop + 'px)'; - } - if (divProperties.paddingRight !== 0) { - padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;'; - } - if (divProperties.paddingBottom !== 0) { - padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;'; - } - if (padding !== '') { - div.setAttribute('style', divProperties.style + padding); - } - if (transform !== '') { - _dom_utils.CustomStyle.setProp('transform', div, transform); - } - } else { - div.style.padding = 0; - _dom_utils.CustomStyle.setProp('transform', div, divProperties.originalTransform || ''); - } - } - } - }; - function renderTextLayer(renderParameters) { - var task = new TextLayerRenderTask({ - textContent: renderParameters.textContent, - textContentStream: renderParameters.textContentStream, - container: renderParameters.container, - viewport: renderParameters.viewport, - textDivs: renderParameters.textDivs, - textContentItemsStr: renderParameters.textContentItemsStr, - enhanceTextSelection: renderParameters.enhanceTextSelection - }); - task._render(renderParameters.timeout); - return task; - } - return renderTextLayer; -}(); -exports.renderTextLayer = renderTextLayer; - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -function fixMetadata(meta) { - return meta.replace(/>\\376\\377([^<]+)/g, function (all, codes) { - var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) { - return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1); - }); - var chars = ''; - for (var i = 0; i < bytes.length; i += 2) { - var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1); - chars += code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38 ? String.fromCharCode(code) : '&#x' + (0x10000 + code).toString(16).substring(1) + ';'; - } - return '>' + chars; - }); -} -function Metadata(meta) { - if (typeof meta === 'string') { - meta = fixMetadata(meta); - var parser = new DOMParser(); - meta = parser.parseFromString(meta, 'application/xml'); - } else if (!(meta instanceof Document)) { - throw new Error('Metadata: Invalid metadata object'); - } - this.metaDocument = meta; - this.metadata = Object.create(null); - this.parse(); -} -Metadata.prototype = { - parse: function Metadata_parse() { - var doc = this.metaDocument; - var rdf = doc.documentElement; - if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') { - rdf = rdf.firstChild; - while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') { - rdf = rdf.nextSibling; - } - } - var nodeName = rdf ? rdf.nodeName.toLowerCase() : null; - if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) { - return; - } - var children = rdf.childNodes, - desc, - entry, - name, - i, - ii, - length, - iLength; - for (i = 0, length = children.length; i < length; i++) { - desc = children[i]; - if (desc.nodeName.toLowerCase() !== 'rdf:description') { - continue; - } - for (ii = 0, iLength = desc.childNodes.length; ii < iLength; ii++) { - if (desc.childNodes[ii].nodeName.toLowerCase() !== '#text') { - entry = desc.childNodes[ii]; - name = entry.nodeName.toLowerCase(); - this.metadata[name] = entry.textContent.trim(); - } - } - } - }, - get: function Metadata_get(name) { - return this.metadata[name] || null; - }, - has: function Metadata_has(name) { - return typeof this.metadata[name] !== 'undefined'; - } -}; -exports.Metadata = Metadata; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.WebGLUtils = undefined; - -var _dom_utils = __w_pdfjs_require__(1); - -var _util = __w_pdfjs_require__(0); - -var WebGLUtils = function WebGLUtilsClosure() { - function loadShader(gl, code, shaderType) { - var shader = gl.createShader(shaderType); - gl.shaderSource(shader, code); - gl.compileShader(shader); - var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS); - if (!compiled) { - var errorMsg = gl.getShaderInfoLog(shader); - throw new Error('Error during shader compilation: ' + errorMsg); - } - return shader; - } - function createVertexShader(gl, code) { - return loadShader(gl, code, gl.VERTEX_SHADER); - } - function createFragmentShader(gl, code) { - return loadShader(gl, code, gl.FRAGMENT_SHADER); - } - function createProgram(gl, shaders) { - var program = gl.createProgram(); - for (var i = 0, ii = shaders.length; i < ii; ++i) { - gl.attachShader(program, shaders[i]); - } - gl.linkProgram(program); - var linked = gl.getProgramParameter(program, gl.LINK_STATUS); - if (!linked) { - var errorMsg = gl.getProgramInfoLog(program); - throw new Error('Error during program linking: ' + errorMsg); - } - return program; - } - function createTexture(gl, image, textureId) { - gl.activeTexture(textureId); - var texture = gl.createTexture(); - gl.bindTexture(gl.TEXTURE_2D, texture); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); - gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image); - return texture; - } - var currentGL, currentCanvas; - function generateGL() { - if (currentGL) { - return; - } - currentCanvas = document.createElement('canvas'); - currentGL = currentCanvas.getContext('webgl', { premultipliedalpha: false }); - } - var smaskVertexShaderCode = '\ - attribute vec2 a_position; \ - attribute vec2 a_texCoord; \ - \ - uniform vec2 u_resolution; \ - \ - varying vec2 v_texCoord; \ - \ - void main() { \ - vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \ - gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \ - \ - v_texCoord = a_texCoord; \ - } '; - var smaskFragmentShaderCode = '\ - precision mediump float; \ - \ - uniform vec4 u_backdrop; \ - uniform int u_subtype; \ - uniform sampler2D u_image; \ - uniform sampler2D u_mask; \ - \ - varying vec2 v_texCoord; \ - \ - void main() { \ - vec4 imageColor = texture2D(u_image, v_texCoord); \ - vec4 maskColor = texture2D(u_mask, v_texCoord); \ - if (u_backdrop.a > 0.0) { \ - maskColor.rgb = maskColor.rgb * maskColor.a + \ - u_backdrop.rgb * (1.0 - maskColor.a); \ - } \ - float lum; \ - if (u_subtype == 0) { \ - lum = maskColor.a; \ - } else { \ - lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \ - maskColor.b * 0.11; \ - } \ - imageColor.a *= lum; \ - imageColor.rgb *= imageColor.a; \ - gl_FragColor = imageColor; \ - } '; - var smaskCache = null; - function initSmaskGL() { - var canvas, gl; - generateGL(); - canvas = currentCanvas; - currentCanvas = null; - gl = currentGL; - currentGL = null; - var vertexShader = createVertexShader(gl, smaskVertexShaderCode); - var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode); - var program = createProgram(gl, [vertexShader, fragmentShader]); - gl.useProgram(program); - var cache = {}; - cache.gl = gl; - cache.canvas = canvas; - cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution'); - cache.positionLocation = gl.getAttribLocation(program, 'a_position'); - cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop'); - cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype'); - var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord'); - var texLayerLocation = gl.getUniformLocation(program, 'u_image'); - var texMaskLocation = gl.getUniformLocation(program, 'u_mask'); - var texCoordBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(texCoordLocation); - gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0); - gl.uniform1i(texLayerLocation, 0); - gl.uniform1i(texMaskLocation, 1); - smaskCache = cache; - } - function composeSMask(layer, mask, properties) { - var width = layer.width, - height = layer.height; - if (!smaskCache) { - initSmaskGL(); - } - var cache = smaskCache, - canvas = cache.canvas, - gl = cache.gl; - canvas.width = width; - canvas.height = height; - gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); - gl.uniform2f(cache.resolutionLocation, width, height); - if (properties.backdrop) { - gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1); - } else { - gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0); - } - gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0); - var texture = createTexture(gl, layer, gl.TEXTURE0); - var maskTexture = createTexture(gl, mask, gl.TEXTURE1); - var buffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.positionLocation); - gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0); - gl.clearColor(0, 0, 0, 0); - gl.enable(gl.BLEND); - gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); - gl.clear(gl.COLOR_BUFFER_BIT); - gl.drawArrays(gl.TRIANGLES, 0, 6); - gl.flush(); - gl.deleteTexture(texture); - gl.deleteTexture(maskTexture); - gl.deleteBuffer(buffer); - return canvas; - } - var figuresVertexShaderCode = '\ - attribute vec2 a_position; \ - attribute vec3 a_color; \ - \ - uniform vec2 u_resolution; \ - uniform vec2 u_scale; \ - uniform vec2 u_offset; \ - \ - varying vec4 v_color; \ - \ - void main() { \ - vec2 position = (a_position + u_offset) * u_scale; \ - vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \ - gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \ - \ - v_color = vec4(a_color / 255.0, 1.0); \ - } '; - var figuresFragmentShaderCode = '\ - precision mediump float; \ - \ - varying vec4 v_color; \ - \ - void main() { \ - gl_FragColor = v_color; \ - } '; - var figuresCache = null; - function initFiguresGL() { - var canvas, gl; - generateGL(); - canvas = currentCanvas; - currentCanvas = null; - gl = currentGL; - currentGL = null; - var vertexShader = createVertexShader(gl, figuresVertexShaderCode); - var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode); - var program = createProgram(gl, [vertexShader, fragmentShader]); - gl.useProgram(program); - var cache = {}; - cache.gl = gl; - cache.canvas = canvas; - cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution'); - cache.scaleLocation = gl.getUniformLocation(program, 'u_scale'); - cache.offsetLocation = gl.getUniformLocation(program, 'u_offset'); - cache.positionLocation = gl.getAttribLocation(program, 'a_position'); - cache.colorLocation = gl.getAttribLocation(program, 'a_color'); - figuresCache = cache; - } - function drawFigures(width, height, backgroundColor, figures, context) { - if (!figuresCache) { - initFiguresGL(); - } - var cache = figuresCache, - canvas = cache.canvas, - gl = cache.gl; - canvas.width = width; - canvas.height = height; - gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight); - gl.uniform2f(cache.resolutionLocation, width, height); - var count = 0; - var i, ii, rows; - for (i = 0, ii = figures.length; i < ii; i++) { - switch (figures[i].type) { - case 'lattice': - rows = figures[i].coords.length / figures[i].verticesPerRow | 0; - count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6; - break; - case 'triangles': - count += figures[i].coords.length; - break; - } - } - var coords = new Float32Array(count * 2); - var colors = new Uint8Array(count * 3); - var coordsMap = context.coords, - colorsMap = context.colors; - var pIndex = 0, - cIndex = 0; - for (i = 0, ii = figures.length; i < ii; i++) { - var figure = figures[i], - ps = figure.coords, - cs = figure.colors; - switch (figure.type) { - case 'lattice': - var cols = figure.verticesPerRow; - rows = ps.length / cols | 0; - for (var row = 1; row < rows; row++) { - var offset = row * cols + 1; - for (var col = 1; col < cols; col++, offset++) { - coords[pIndex] = coordsMap[ps[offset - cols - 1]]; - coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1]; - coords[pIndex + 2] = coordsMap[ps[offset - cols]]; - coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1]; - coords[pIndex + 4] = coordsMap[ps[offset - 1]]; - coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1]; - colors[cIndex] = colorsMap[cs[offset - cols - 1]]; - colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1]; - colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2]; - colors[cIndex + 3] = colorsMap[cs[offset - cols]]; - colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1]; - colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2]; - colors[cIndex + 6] = colorsMap[cs[offset - 1]]; - colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1]; - colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2]; - coords[pIndex + 6] = coords[pIndex + 2]; - coords[pIndex + 7] = coords[pIndex + 3]; - coords[pIndex + 8] = coords[pIndex + 4]; - coords[pIndex + 9] = coords[pIndex + 5]; - coords[pIndex + 10] = coordsMap[ps[offset]]; - coords[pIndex + 11] = coordsMap[ps[offset] + 1]; - colors[cIndex + 9] = colors[cIndex + 3]; - colors[cIndex + 10] = colors[cIndex + 4]; - colors[cIndex + 11] = colors[cIndex + 5]; - colors[cIndex + 12] = colors[cIndex + 6]; - colors[cIndex + 13] = colors[cIndex + 7]; - colors[cIndex + 14] = colors[cIndex + 8]; - colors[cIndex + 15] = colorsMap[cs[offset]]; - colors[cIndex + 16] = colorsMap[cs[offset] + 1]; - colors[cIndex + 17] = colorsMap[cs[offset] + 2]; - pIndex += 12; - cIndex += 18; - } - } - break; - case 'triangles': - for (var j = 0, jj = ps.length; j < jj; j++) { - coords[pIndex] = coordsMap[ps[j]]; - coords[pIndex + 1] = coordsMap[ps[j] + 1]; - colors[cIndex] = colorsMap[cs[j]]; - colors[cIndex + 1] = colorsMap[cs[j] + 1]; - colors[cIndex + 2] = colorsMap[cs[j] + 2]; - pIndex += 2; - cIndex += 3; - } - break; - } - } - if (backgroundColor) { - gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0); - } else { - gl.clearColor(0, 0, 0, 0); - } - gl.clear(gl.COLOR_BUFFER_BIT); - var coordsBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer); - gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.positionLocation); - gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0); - var colorsBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer); - gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW); - gl.enableVertexAttribArray(cache.colorLocation); - gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0); - gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY); - gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY); - gl.drawArrays(gl.TRIANGLES, 0, count); - gl.flush(); - gl.deleteBuffer(coordsBuffer); - gl.deleteBuffer(colorsBuffer); - return canvas; - } - function cleanup() { - if (smaskCache && smaskCache.canvas) { - smaskCache.canvas.width = 0; - smaskCache.canvas.height = 0; - } - if (figuresCache && figuresCache.canvas) { - figuresCache.canvas.width = 0; - figuresCache.canvas.height = 0; - } - smaskCache = null; - figuresCache = null; - } - return { - get isEnabled() { - if ((0, _dom_utils.getDefaultSetting)('disableWebGL')) { - return false; - } - var enabled = false; - try { - generateGL(); - enabled = !!currentGL; - } catch (e) {} - return (0, _util.shadow)(this, 'isEnabled', enabled); - }, - composeSMask: composeSMask, - drawFigures: drawFigures, - clear: cleanup - }; -}(); -exports.WebGLUtils = WebGLUtils; - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.PDFJS = exports.isWorker = exports.globalScope = undefined; - -var _api = __w_pdfjs_require__(2); - -var _dom_utils = __w_pdfjs_require__(1); - -var _util = __w_pdfjs_require__(0); - -var _annotation_layer = __w_pdfjs_require__(3); - -var _metadata = __w_pdfjs_require__(6); - -var _text_layer = __w_pdfjs_require__(5); - -var _svg = __w_pdfjs_require__(4); - -var isWorker = typeof window === 'undefined'; -if (!_util.globalScope.PDFJS) { - _util.globalScope.PDFJS = {}; -} -var PDFJS = _util.globalScope.PDFJS; -{ - PDFJS.version = '1.9.426'; - PDFJS.build = '2558a58d'; -} -PDFJS.pdfBug = false; -if (PDFJS.verbosity !== undefined) { - (0, _util.setVerbosityLevel)(PDFJS.verbosity); -} -delete PDFJS.verbosity; -Object.defineProperty(PDFJS, 'verbosity', { - get: function get() { - return (0, _util.getVerbosityLevel)(); - }, - set: function set(level) { - (0, _util.setVerbosityLevel)(level); - }, - - enumerable: true, - configurable: true -}); -PDFJS.VERBOSITY_LEVELS = _util.VERBOSITY_LEVELS; -PDFJS.OPS = _util.OPS; -PDFJS.UNSUPPORTED_FEATURES = _util.UNSUPPORTED_FEATURES; -PDFJS.isValidUrl = _dom_utils.isValidUrl; -PDFJS.shadow = _util.shadow; -PDFJS.createBlob = _util.createBlob; -PDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) { - return (0, _util.createObjectURL)(data, contentType, PDFJS.disableCreateObjectURL); -}; -Object.defineProperty(PDFJS, 'isLittleEndian', { - configurable: true, - get: function PDFJS_isLittleEndian() { - return (0, _util.shadow)(PDFJS, 'isLittleEndian', (0, _util.isLittleEndian)()); - } -}); -PDFJS.removeNullCharacters = _util.removeNullCharacters; -PDFJS.PasswordResponses = _util.PasswordResponses; -PDFJS.PasswordException = _util.PasswordException; -PDFJS.UnknownErrorException = _util.UnknownErrorException; -PDFJS.InvalidPDFException = _util.InvalidPDFException; -PDFJS.MissingPDFException = _util.MissingPDFException; -PDFJS.UnexpectedResponseException = _util.UnexpectedResponseException; -PDFJS.Util = _util.Util; -PDFJS.PageViewport = _util.PageViewport; -PDFJS.createPromiseCapability = _util.createPromiseCapability; -PDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize; -PDFJS.cMapUrl = PDFJS.cMapUrl === undefined ? null : PDFJS.cMapUrl; -PDFJS.cMapPacked = PDFJS.cMapPacked === undefined ? false : PDFJS.cMapPacked; -PDFJS.disableFontFace = PDFJS.disableFontFace === undefined ? false : PDFJS.disableFontFace; -PDFJS.imageResourcesPath = PDFJS.imageResourcesPath === undefined ? '' : PDFJS.imageResourcesPath; -PDFJS.disableWorker = PDFJS.disableWorker === undefined ? false : PDFJS.disableWorker; -PDFJS.workerSrc = PDFJS.workerSrc === undefined ? null : PDFJS.workerSrc; -PDFJS.workerPort = PDFJS.workerPort === undefined ? null : PDFJS.workerPort; -PDFJS.disableRange = PDFJS.disableRange === undefined ? false : PDFJS.disableRange; -PDFJS.disableStream = PDFJS.disableStream === undefined ? false : PDFJS.disableStream; -PDFJS.disableAutoFetch = PDFJS.disableAutoFetch === undefined ? false : PDFJS.disableAutoFetch; -PDFJS.pdfBug = PDFJS.pdfBug === undefined ? false : PDFJS.pdfBug; -PDFJS.postMessageTransfers = PDFJS.postMessageTransfers === undefined ? true : PDFJS.postMessageTransfers; -PDFJS.disableCreateObjectURL = PDFJS.disableCreateObjectURL === undefined ? false : PDFJS.disableCreateObjectURL; -PDFJS.disableWebGL = PDFJS.disableWebGL === undefined ? true : PDFJS.disableWebGL; -PDFJS.externalLinkTarget = PDFJS.externalLinkTarget === undefined ? _dom_utils.LinkTarget.NONE : PDFJS.externalLinkTarget; -PDFJS.externalLinkRel = PDFJS.externalLinkRel === undefined ? _dom_utils.DEFAULT_LINK_REL : PDFJS.externalLinkRel; -PDFJS.isEvalSupported = PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported; -PDFJS.pdfjsNext = PDFJS.pdfjsNext === undefined ? false : PDFJS.pdfjsNext; -{ - var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow; - delete PDFJS.openExternalLinksInNewWindow; - Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', { - get: function get() { - return PDFJS.externalLinkTarget === _dom_utils.LinkTarget.BLANK; - }, - set: function set(value) { - if (value) { - (0, _util.deprecated)('PDFJS.openExternalLinksInNewWindow, please use ' + '"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.'); - } - if (PDFJS.externalLinkTarget !== _dom_utils.LinkTarget.NONE) { - (0, _util.warn)('PDFJS.externalLinkTarget is already initialized'); - return; - } - PDFJS.externalLinkTarget = value ? _dom_utils.LinkTarget.BLANK : _dom_utils.LinkTarget.NONE; - }, - - enumerable: true, - configurable: true - }); - if (savedOpenExternalLinksInNewWindow) { - PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow; - } -} -PDFJS.getDocument = _api.getDocument; -PDFJS.LoopbackPort = _api.LoopbackPort; -PDFJS.PDFDataRangeTransport = _api.PDFDataRangeTransport; -PDFJS.PDFWorker = _api.PDFWorker; -PDFJS.hasCanvasTypedArrays = true; -PDFJS.CustomStyle = _dom_utils.CustomStyle; -PDFJS.LinkTarget = _dom_utils.LinkTarget; -PDFJS.addLinkAttributes = _dom_utils.addLinkAttributes; -PDFJS.getFilenameFromUrl = _dom_utils.getFilenameFromUrl; -PDFJS.isExternalLinkTargetSet = _dom_utils.isExternalLinkTargetSet; -PDFJS.AnnotationLayer = _annotation_layer.AnnotationLayer; -PDFJS.renderTextLayer = _text_layer.renderTextLayer; -PDFJS.Metadata = _metadata.Metadata; -PDFJS.SVGGraphics = _svg.SVGGraphics; -PDFJS.UnsupportedManager = _api._UnsupportedManager; -exports.globalScope = _util.globalScope; -exports.isWorker = isWorker; -exports.PDFJS = PDFJS; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.NetworkManager = exports.PDFNetworkStream = undefined; - -var _util = __w_pdfjs_require__(0); - -var _api = __w_pdfjs_require__(2); - -; -var OK_RESPONSE = 200; -var PARTIAL_CONTENT_RESPONSE = 206; -function NetworkManager(url, args) { - this.url = url; - args = args || {}; - this.isHttp = /^https?:/i.test(url); - this.httpHeaders = this.isHttp && args.httpHeaders || {}; - this.withCredentials = args.withCredentials || false; - this.getXhr = args.getXhr || function NetworkManager_getXhr() { - return new XMLHttpRequest(); - }; - this.currXhrId = 0; - this.pendingRequests = Object.create(null); - this.loadedRequests = Object.create(null); -} -function getArrayBuffer(xhr) { - var data = xhr.response; - if (typeof data !== 'string') { - return data; - } - var length = data.length; - var array = new Uint8Array(length); - for (var i = 0; i < length; i++) { - array[i] = data.charCodeAt(i) & 0xFF; - } - return array.buffer; -} -var supportsMozChunked = function supportsMozChunkedClosure() { - try { - var x = new XMLHttpRequest(); - x.open('GET', _util.globalScope.location.href); - x.responseType = 'moz-chunked-arraybuffer'; - return x.responseType === 'moz-chunked-arraybuffer'; - } catch (e) { - return false; - } -}(); -NetworkManager.prototype = { - requestRange: function NetworkManager_requestRange(begin, end, listeners) { - var args = { - begin: begin, - end: end - }; - for (var prop in listeners) { - args[prop] = listeners[prop]; - } - return this.request(args); - }, - requestFull: function NetworkManager_requestFull(listeners) { - return this.request(listeners); - }, - request: function NetworkManager_request(args) { - var xhr = this.getXhr(); - var xhrId = this.currXhrId++; - var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr }; - xhr.open('GET', this.url); - xhr.withCredentials = this.withCredentials; - for (var property in this.httpHeaders) { - var value = this.httpHeaders[property]; - if (typeof value === 'undefined') { - continue; - } - xhr.setRequestHeader(property, value); - } - if (this.isHttp && 'begin' in args && 'end' in args) { - var rangeStr = args.begin + '-' + (args.end - 1); - xhr.setRequestHeader('Range', 'bytes=' + rangeStr); - pendingRequest.expectedStatus = 206; - } else { - pendingRequest.expectedStatus = 200; - } - var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData; - if (useMozChunkedLoading) { - xhr.responseType = 'moz-chunked-arraybuffer'; - pendingRequest.onProgressiveData = args.onProgressiveData; - pendingRequest.mozChunked = true; - } else { - xhr.responseType = 'arraybuffer'; - } - if (args.onError) { - xhr.onerror = function (evt) { - args.onError(xhr.status); - }; - } - xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); - xhr.onprogress = this.onProgress.bind(this, xhrId); - pendingRequest.onHeadersReceived = args.onHeadersReceived; - pendingRequest.onDone = args.onDone; - pendingRequest.onError = args.onError; - pendingRequest.onProgress = args.onProgress; - xhr.send(null); - return xhrId; - }, - onProgress: function NetworkManager_onProgress(xhrId, evt) { - var pendingRequest = this.pendingRequests[xhrId]; - if (!pendingRequest) { - return; - } - if (pendingRequest.mozChunked) { - var chunk = getArrayBuffer(pendingRequest.xhr); - pendingRequest.onProgressiveData(chunk); - } - var onProgress = pendingRequest.onProgress; - if (onProgress) { - onProgress(evt); - } - }, - onStateChange: function NetworkManager_onStateChange(xhrId, evt) { - var pendingRequest = this.pendingRequests[xhrId]; - if (!pendingRequest) { - return; - } - var xhr = pendingRequest.xhr; - if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { - pendingRequest.onHeadersReceived(); - delete pendingRequest.onHeadersReceived; - } - if (xhr.readyState !== 4) { - return; - } - if (!(xhrId in this.pendingRequests)) { - return; - } - delete this.pendingRequests[xhrId]; - if (xhr.status === 0 && this.isHttp) { - if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } - return; - } - var xhrStatus = xhr.status || OK_RESPONSE; - var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; - if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { - if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } - return; - } - this.loadedRequests[xhrId] = true; - var chunk = getArrayBuffer(xhr); - if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { - var rangeHeader = xhr.getResponseHeader('Content-Range'); - var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); - var begin = parseInt(matches[1], 10); - pendingRequest.onDone({ - begin: begin, - chunk: chunk - }); - } else if (pendingRequest.onProgressiveData) { - pendingRequest.onDone(null); - } else if (chunk) { - pendingRequest.onDone({ - begin: 0, - chunk: chunk - }); - } else if (pendingRequest.onError) { - pendingRequest.onError(xhr.status); - } - }, - hasPendingRequests: function NetworkManager_hasPendingRequests() { - for (var xhrId in this.pendingRequests) { - return true; - } - return false; - }, - getRequestXhr: function NetworkManager_getXhr(xhrId) { - return this.pendingRequests[xhrId].xhr; - }, - isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) { - return !!this.pendingRequests[xhrId].onProgressiveData; - }, - isPendingRequest: function NetworkManager_isPendingRequest(xhrId) { - return xhrId in this.pendingRequests; - }, - isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) { - return xhrId in this.loadedRequests; - }, - abortAllRequests: function NetworkManager_abortAllRequests() { - for (var xhrId in this.pendingRequests) { - this.abortRequest(xhrId | 0); - } - }, - abortRequest: function NetworkManager_abortRequest(xhrId) { - var xhr = this.pendingRequests[xhrId].xhr; - delete this.pendingRequests[xhrId]; - xhr.abort(); - } -}; -function PDFNetworkStream(options) { - this._options = options; - var source = options.source; - this._manager = new NetworkManager(source.url, { - httpHeaders: source.httpHeaders, - withCredentials: source.withCredentials - }); - this._rangeChunkSize = source.rangeChunkSize; - this._fullRequestReader = null; - this._rangeRequestReaders = []; -} -PDFNetworkStream.prototype = { - _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) { - var i = this._rangeRequestReaders.indexOf(reader); - if (i >= 0) { - this._rangeRequestReaders.splice(i, 1); - } - }, - getFullReader: function PDFNetworkStream_getFullReader() { - (0, _util.assert)(!this._fullRequestReader); - this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._options); - return this._fullRequestReader; - }, - getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) { - var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); - reader.onClosed = this._onRangeRequestReaderClosed.bind(this); - this._rangeRequestReaders.push(reader); - return reader; - }, - cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) { - if (this._fullRequestReader) { - this._fullRequestReader.cancel(reason); - } - var readers = this._rangeRequestReaders.slice(0); - readers.forEach(function (reader) { - reader.cancel(reason); - }); - } -}; -function PDFNetworkStreamFullRequestReader(manager, options) { - this._manager = manager; - var source = options.source; - var args = { - onHeadersReceived: this._onHeadersReceived.bind(this), - onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this), - onDone: this._onDone.bind(this), - onError: this._onError.bind(this), - onProgress: this._onProgress.bind(this) - }; - this._url = source.url; - this._fullRequestId = manager.requestFull(args); - this._headersReceivedCapability = (0, _util.createPromiseCapability)(); - this._disableRange = options.disableRange || false; - this._contentLength = source.length; - this._rangeChunkSize = source.rangeChunkSize; - if (!this._rangeChunkSize && !this._disableRange) { - this._disableRange = true; - } - this._isStreamingSupported = false; - this._isRangeSupported = false; - this._cachedChunks = []; - this._requests = []; - this._done = false; - this._storedError = undefined; - this.onProgress = null; -} -PDFNetworkStreamFullRequestReader.prototype = { - _validateRangeRequestCapabilities: function PDFNetworkStreamFullRequestReader_validateRangeRequestCapabilities() { - if (this._disableRange) { - return false; - } - var networkManager = this._manager; - if (!networkManager.isHttp) { - return false; - } - var fullRequestXhrId = this._fullRequestId; - var fullRequestXhr = networkManager.getRequestXhr(fullRequestXhrId); - if (fullRequestXhr.getResponseHeader('Accept-Ranges') !== 'bytes') { - return false; - } - var contentEncoding = fullRequestXhr.getResponseHeader('Content-Encoding') || 'identity'; - if (contentEncoding !== 'identity') { - return false; - } - var length = fullRequestXhr.getResponseHeader('Content-Length'); - length = parseInt(length, 10); - if (!(0, _util.isInt)(length)) { - return false; - } - this._contentLength = length; - if (length <= 2 * this._rangeChunkSize) { - return false; - } - return true; - }, - _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() { - if (this._validateRangeRequestCapabilities()) { - this._isRangeSupported = true; - } - var networkManager = this._manager; - var fullRequestXhrId = this._fullRequestId; - if (networkManager.isStreamingRequest(fullRequestXhrId)) { - this._isStreamingSupported = true; - } else if (this._isRangeSupported) { - networkManager.abortRequest(fullRequestXhrId); - } - this._headersReceivedCapability.resolve(); - }, - _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) { - if (this._requests.length > 0) { - var requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: chunk, - done: false - }); - } else { - this._cachedChunks.push(chunk); - } - }, - _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) { - if (args) { - this._onProgressiveData(args.chunk); - } - this._done = true; - if (this._cachedChunks.length > 0) { - return; - } - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - }, - _onError: function PDFNetworkStreamFullRequestReader_onError(status) { - var url = this._url; - var exception; - if (status === 404 || status === 0 && /^file:/.test(url)) { - exception = new _util.MissingPDFException('Missing PDF "' + url + '".'); - } else { - exception = new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF "' + url + '".', status); - } - this._storedError = exception; - this._headersReceivedCapability.reject(exception); - this._requests.forEach(function (requestCapability) { - requestCapability.reject(exception); - }); - this._requests = []; - this._cachedChunks = []; - }, - _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) { - if (this.onProgress) { - this.onProgress({ - loaded: data.loaded, - total: data.lengthComputable ? data.total : this._contentLength - }); - } - }, - get isRangeSupported() { - return this._isRangeSupported; - }, - get isStreamingSupported() { - return this._isStreamingSupported; - }, - get contentLength() { - return this._contentLength; - }, - get headersReady() { - return this._headersReceivedCapability.promise; - }, - read: function PDFNetworkStreamFullRequestReader_read() { - if (this._storedError) { - return Promise.reject(this._storedError); - } - if (this._cachedChunks.length > 0) { - var chunk = this._cachedChunks.shift(); - return Promise.resolve({ - value: chunk, - done: false - }); - } - if (this._done) { - return Promise.resolve({ - value: undefined, - done: true - }); - } - var requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - }, - cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) { - this._done = true; - this._headersReceivedCapability.reject(reason); - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - if (this._manager.isPendingRequest(this._fullRequestId)) { - this._manager.abortRequest(this._fullRequestId); - } - this._fullRequestReader = null; - } -}; -function PDFNetworkStreamRangeRequestReader(manager, begin, end) { - this._manager = manager; - var args = { - onDone: this._onDone.bind(this), - onProgress: this._onProgress.bind(this) - }; - this._requestId = manager.requestRange(begin, end, args); - this._requests = []; - this._queuedChunk = null; - this._done = false; - this.onProgress = null; - this.onClosed = null; -} -PDFNetworkStreamRangeRequestReader.prototype = { - _close: function PDFNetworkStreamRangeRequestReader_close() { - if (this.onClosed) { - this.onClosed(this); - } - }, - _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) { - var chunk = data.chunk; - if (this._requests.length > 0) { - var requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: chunk, - done: false - }); - } else { - this._queuedChunk = chunk; - } - this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - this._close(); - }, - _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) { - if (!this.isStreamingSupported && this.onProgress) { - this.onProgress({ loaded: evt.loaded }); - } - }, - get isStreamingSupported() { - return false; - }, - read: function PDFNetworkStreamRangeRequestReader_read() { - if (this._queuedChunk !== null) { - var chunk = this._queuedChunk; - this._queuedChunk = null; - return Promise.resolve({ - value: chunk, - done: false - }); - } - if (this._done) { - return Promise.resolve({ - value: undefined, - done: true - }); - } - var requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - }, - cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) { - this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - if (this._manager.isPendingRequest(this._requestId)) { - this._manager.abortRequest(this._requestId); - } - this._close(); - } -}; -(0, _api.setPDFNetworkStreamClass)(PDFNetworkStream); -exports.PDFNetworkStream = PDFNetworkStream; -exports.NetworkManager = NetworkManager; - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -var _typeof2 = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -(function (e, a) { - for (var i in a) { - e[i] = a[i]; - } -})(exports, function (modules) { - var installedModules = {}; - function __w_pdfjs_require__(moduleId) { - if (installedModules[moduleId]) return installedModules[moduleId].exports; - var module = installedModules[moduleId] = { - i: moduleId, - l: false, - exports: {} - }; - modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); - module.l = true; - return module.exports; - } - __w_pdfjs_require__.m = modules; - __w_pdfjs_require__.c = installedModules; - __w_pdfjs_require__.i = function (value) { - return value; - }; - __w_pdfjs_require__.d = function (exports, name, getter) { - if (!__w_pdfjs_require__.o(exports, name)) { - Object.defineProperty(exports, name, { - configurable: false, - enumerable: true, - get: getter - }); - } - }; - __w_pdfjs_require__.n = function (module) { - var getter = module && module.__esModule ? function getDefault() { - return module['default']; - } : function getModuleExports() { - return module; - }; - __w_pdfjs_require__.d(getter, 'a', getter); - return getter; - }; - __w_pdfjs_require__.o = function (object, property) { - return Object.prototype.hasOwnProperty.call(object, property); - }; - __w_pdfjs_require__.p = ""; - return __w_pdfjs_require__(__w_pdfjs_require__.s = 7); -}([function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === 'undefined' ? 'undefined' : _typeof2(obj); - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === 'undefined' ? 'undefined' : _typeof2(obj); - }; - var _require = __w_pdfjs_require__(1), - assert = _require.assert; - function IsPropertyKey(argument) { - return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol'; - } - exports.typeIsObject = function (x) { - return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function'; - }; - exports.createDataProperty = function (o, p, v) { - assert(exports.typeIsObject(o)); - Object.defineProperty(o, p, { - value: v, - writable: true, - enumerable: true, - configurable: true - }); - }; - exports.createArrayFromList = function (elements) { - return elements.slice(); - }; - exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) { - new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset); - }; - exports.CreateIterResultObject = function (value, done) { - assert(typeof done === 'boolean'); - var obj = {}; - Object.defineProperty(obj, 'value', { - value: value, - enumerable: true, - writable: true, - configurable: true - }); - Object.defineProperty(obj, 'done', { - value: done, - enumerable: true, - writable: true, - configurable: true - }); - return obj; - }; - exports.IsFiniteNonNegativeNumber = function (v) { - if (Number.isNaN(v)) { - return false; - } - if (v === Infinity) { - return false; - } - if (v < 0) { - return false; - } - return true; - }; - function Call(F, V, args) { - if (typeof F !== 'function') { - throw new TypeError('Argument is not a function'); - } - return Function.prototype.apply.call(F, V, args); - } - exports.InvokeOrNoop = function (O, P, args) { - assert(O !== undefined); - assert(IsPropertyKey(P)); - assert(Array.isArray(args)); - var method = O[P]; - if (method === undefined) { - return undefined; - } - return Call(method, O, args); - }; - exports.PromiseInvokeOrNoop = function (O, P, args) { - assert(O !== undefined); - assert(IsPropertyKey(P)); - assert(Array.isArray(args)); - try { - return Promise.resolve(exports.InvokeOrNoop(O, P, args)); - } catch (returnValueE) { - return Promise.reject(returnValueE); - } - }; - exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) { - assert(O !== undefined); - assert(IsPropertyKey(P)); - assert(Array.isArray(args)); - assert(Array.isArray(argsF)); - var method = void 0; - try { - method = O[P]; - } catch (methodE) { - return Promise.reject(methodE); - } - if (method === undefined) { - return F.apply(null, argsF); - } - try { - return Promise.resolve(Call(method, O, args)); - } catch (e) { - return Promise.reject(e); - } - }; - exports.TransferArrayBuffer = function (O) { - return O.slice(); - }; - exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) { - highWaterMark = Number(highWaterMark); - if (Number.isNaN(highWaterMark) || highWaterMark < 0) { - throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN'); - } - return highWaterMark; - }; - exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) { - if (size !== undefined && typeof size !== 'function') { - throw new TypeError('size property of a queuing strategy must be a function'); - } - highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark); - return { - size: size, - highWaterMark: highWaterMark - }; - }; -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - function rethrowAssertionErrorRejection(e) { - if (e && e.constructor === AssertionError) { - setTimeout(function () { - throw e; - }, 0); - } - } - function AssertionError(message) { - this.name = 'AssertionError'; - this.message = message || ''; - this.stack = new Error().stack; - } - AssertionError.prototype = Object.create(Error.prototype); - AssertionError.prototype.constructor = AssertionError; - function assert(value, message) { - if (!value) { - throw new AssertionError(message); - } - } - module.exports = { - rethrowAssertionErrorRejection: rethrowAssertionErrorRejection, - AssertionError: AssertionError, - assert: assert - }; -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - var _require = __w_pdfjs_require__(0), - InvokeOrNoop = _require.InvokeOrNoop, - PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop, - ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy, - typeIsObject = _require.typeIsObject; - var _require2 = __w_pdfjs_require__(1), - assert = _require2.assert, - rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection; - var _require3 = __w_pdfjs_require__(3), - DequeueValue = _require3.DequeueValue, - EnqueueValueWithSize = _require3.EnqueueValueWithSize, - PeekQueueValue = _require3.PeekQueueValue, - ResetQueue = _require3.ResetQueue; - var WritableStream = function () { - function WritableStream() { - var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - size = _ref.size, - _ref$highWaterMark = _ref.highWaterMark, - highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark; - _classCallCheck(this, WritableStream); - this._state = 'writable'; - this._storedError = undefined; - this._writer = undefined; - this._writableStreamController = undefined; - this._writeRequests = []; - this._inFlightWriteRequest = undefined; - this._closeRequest = undefined; - this._inFlightCloseRequest = undefined; - this._pendingAbortRequest = undefined; - this._backpressure = false; - var type = underlyingSink.type; - if (type !== undefined) { - throw new RangeError('Invalid type is specified'); - } - this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark); - this._writableStreamController.__startSteps(); - } - _createClass(WritableStream, [{ - key: 'abort', - value: function abort(reason) { - if (IsWritableStream(this) === false) { - return Promise.reject(streamBrandCheckException('abort')); - } - if (IsWritableStreamLocked(this) === true) { - return Promise.reject(new TypeError('Cannot abort a stream that already has a writer')); - } - return WritableStreamAbort(this, reason); - } - }, { - key: 'getWriter', - value: function getWriter() { - if (IsWritableStream(this) === false) { - throw streamBrandCheckException('getWriter'); - } - return AcquireWritableStreamDefaultWriter(this); - } - }, { - key: 'locked', - get: function get() { - if (IsWritableStream(this) === false) { - throw streamBrandCheckException('locked'); - } - return IsWritableStreamLocked(this); - } - }]); - return WritableStream; - }(); - module.exports = { - AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter, - IsWritableStream: IsWritableStream, - IsWritableStreamLocked: IsWritableStreamLocked, - WritableStream: WritableStream, - WritableStreamAbort: WritableStreamAbort, - WritableStreamDefaultControllerError: WritableStreamDefaultControllerError, - WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation, - WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease, - WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite, - WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight - }; - function AcquireWritableStreamDefaultWriter(stream) { - return new WritableStreamDefaultWriter(stream); - } - function IsWritableStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) { - return false; - } - return true; - } - function IsWritableStreamLocked(stream) { - assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams'); - if (stream._writer === undefined) { - return false; - } - return true; - } - function WritableStreamAbort(stream, reason) { - var state = stream._state; - if (state === 'closed') { - return Promise.resolve(undefined); - } - if (state === 'errored') { - return Promise.reject(stream._storedError); - } - var error = new TypeError('Requested to abort'); - if (stream._pendingAbortRequest !== undefined) { - return Promise.reject(error); - } - assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring'); - var wasAlreadyErroring = false; - if (state === 'erroring') { - wasAlreadyErroring = true; - reason = undefined; - } - var promise = new Promise(function (resolve, reject) { - stream._pendingAbortRequest = { - _resolve: resolve, - _reject: reject, - _reason: reason, - _wasAlreadyErroring: wasAlreadyErroring - }; - }); - if (wasAlreadyErroring === false) { - WritableStreamStartErroring(stream, error); - } - return promise; - } - function WritableStreamAddWriteRequest(stream) { - assert(IsWritableStreamLocked(stream) === true); - assert(stream._state === 'writable'); - var promise = new Promise(function (resolve, reject) { - var writeRequest = { - _resolve: resolve, - _reject: reject - }; - stream._writeRequests.push(writeRequest); - }); - return promise; - } - function WritableStreamDealWithRejection(stream, error) { - var state = stream._state; - if (state === 'writable') { - WritableStreamStartErroring(stream, error); - return; - } - assert(state === 'erroring'); - WritableStreamFinishErroring(stream); - } - function WritableStreamStartErroring(stream, reason) { - assert(stream._storedError === undefined, 'stream._storedError === undefined'); - assert(stream._state === 'writable', 'state must be writable'); - var controller = stream._writableStreamController; - assert(controller !== undefined, 'controller must not be undefined'); - stream._state = 'erroring'; - stream._storedError = reason; - var writer = stream._writer; - if (writer !== undefined) { - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason); - } - if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) { - WritableStreamFinishErroring(stream); - } - } - function WritableStreamFinishErroring(stream) { - assert(stream._state === 'erroring', 'stream._state === erroring'); - assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false'); - stream._state = 'errored'; - stream._writableStreamController.__errorSteps(); - var storedError = stream._storedError; - for (var i = 0; i < stream._writeRequests.length; i++) { - var writeRequest = stream._writeRequests[i]; - writeRequest._reject(storedError); - } - stream._writeRequests = []; - if (stream._pendingAbortRequest === undefined) { - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - return; - } - var abortRequest = stream._pendingAbortRequest; - stream._pendingAbortRequest = undefined; - if (abortRequest._wasAlreadyErroring === true) { - abortRequest._reject(storedError); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - return; - } - var promise = stream._writableStreamController.__abortSteps(abortRequest._reason); - promise.then(function () { - abortRequest._resolve(); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - }, function (reason) { - abortRequest._reject(reason); - WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); - }); - } - function WritableStreamFinishInFlightWrite(stream) { - assert(stream._inFlightWriteRequest !== undefined); - stream._inFlightWriteRequest._resolve(undefined); - stream._inFlightWriteRequest = undefined; - } - function WritableStreamFinishInFlightWriteWithError(stream, error) { - assert(stream._inFlightWriteRequest !== undefined); - stream._inFlightWriteRequest._reject(error); - stream._inFlightWriteRequest = undefined; - assert(stream._state === 'writable' || stream._state === 'erroring'); - WritableStreamDealWithRejection(stream, error); - } - function WritableStreamFinishInFlightClose(stream) { - assert(stream._inFlightCloseRequest !== undefined); - stream._inFlightCloseRequest._resolve(undefined); - stream._inFlightCloseRequest = undefined; - var state = stream._state; - assert(state === 'writable' || state === 'erroring'); - if (state === 'erroring') { - stream._storedError = undefined; - if (stream._pendingAbortRequest !== undefined) { - stream._pendingAbortRequest._resolve(); - stream._pendingAbortRequest = undefined; - } - } - stream._state = 'closed'; - var writer = stream._writer; - if (writer !== undefined) { - defaultWriterClosedPromiseResolve(writer); - } - assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined'); - assert(stream._storedError === undefined, 'stream._storedError === undefined'); - } - function WritableStreamFinishInFlightCloseWithError(stream, error) { - assert(stream._inFlightCloseRequest !== undefined); - stream._inFlightCloseRequest._reject(error); - stream._inFlightCloseRequest = undefined; - assert(stream._state === 'writable' || stream._state === 'erroring'); - if (stream._pendingAbortRequest !== undefined) { - stream._pendingAbortRequest._reject(error); - stream._pendingAbortRequest = undefined; - } - WritableStreamDealWithRejection(stream, error); - } - function WritableStreamCloseQueuedOrInFlight(stream) { - if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) { - return false; - } - return true; - } - function WritableStreamHasOperationMarkedInFlight(stream) { - if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) { - return false; - } - return true; - } - function WritableStreamMarkCloseRequestInFlight(stream) { - assert(stream._inFlightCloseRequest === undefined); - assert(stream._closeRequest !== undefined); - stream._inFlightCloseRequest = stream._closeRequest; - stream._closeRequest = undefined; - } - function WritableStreamMarkFirstWriteRequestInFlight(stream) { - assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request'); - assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty'); - stream._inFlightWriteRequest = stream._writeRequests.shift(); - } - function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) { - assert(stream._state === 'errored', '_stream_.[[state]] is `"errored"`'); - if (stream._closeRequest !== undefined) { - assert(stream._inFlightCloseRequest === undefined); - stream._closeRequest._reject(stream._storedError); - stream._closeRequest = undefined; - } - var writer = stream._writer; - if (writer !== undefined) { - defaultWriterClosedPromiseReject(writer, stream._storedError); - writer._closedPromise.catch(function () {}); - } - } - function WritableStreamUpdateBackpressure(stream, backpressure) { - assert(stream._state === 'writable'); - assert(WritableStreamCloseQueuedOrInFlight(stream) === false); - var writer = stream._writer; - if (writer !== undefined && backpressure !== stream._backpressure) { - if (backpressure === true) { - defaultWriterReadyPromiseReset(writer); - } else { - assert(backpressure === false); - defaultWriterReadyPromiseResolve(writer); - } - } - stream._backpressure = backpressure; - } - var WritableStreamDefaultWriter = function () { - function WritableStreamDefaultWriter(stream) { - _classCallCheck(this, WritableStreamDefaultWriter); - if (IsWritableStream(stream) === false) { - throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance'); - } - if (IsWritableStreamLocked(stream) === true) { - throw new TypeError('This stream has already been locked for exclusive writing by another writer'); - } - this._ownerWritableStream = stream; - stream._writer = this; - var state = stream._state; - if (state === 'writable') { - if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) { - defaultWriterReadyPromiseInitialize(this); - } else { - defaultWriterReadyPromiseInitializeAsResolved(this); - } - defaultWriterClosedPromiseInitialize(this); - } else if (state === 'erroring') { - defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError); - this._readyPromise.catch(function () {}); - defaultWriterClosedPromiseInitialize(this); - } else if (state === 'closed') { - defaultWriterReadyPromiseInitializeAsResolved(this); - defaultWriterClosedPromiseInitializeAsResolved(this); - } else { - assert(state === 'errored', 'state must be errored'); - var storedError = stream._storedError; - defaultWriterReadyPromiseInitializeAsRejected(this, storedError); - this._readyPromise.catch(function () {}); - defaultWriterClosedPromiseInitializeAsRejected(this, storedError); - this._closedPromise.catch(function () {}); - } - } - _createClass(WritableStreamDefaultWriter, [{ - key: 'abort', - value: function abort(reason) { - if (IsWritableStreamDefaultWriter(this) === false) { - return Promise.reject(defaultWriterBrandCheckException('abort')); - } - if (this._ownerWritableStream === undefined) { - return Promise.reject(defaultWriterLockException('abort')); - } - return WritableStreamDefaultWriterAbort(this, reason); - } - }, { - key: 'close', - value: function close() { - if (IsWritableStreamDefaultWriter(this) === false) { - return Promise.reject(defaultWriterBrandCheckException('close')); - } - var stream = this._ownerWritableStream; - if (stream === undefined) { - return Promise.reject(defaultWriterLockException('close')); - } - if (WritableStreamCloseQueuedOrInFlight(stream) === true) { - return Promise.reject(new TypeError('cannot close an already-closing stream')); - } - return WritableStreamDefaultWriterClose(this); - } - }, { - key: 'releaseLock', - value: function releaseLock() { - if (IsWritableStreamDefaultWriter(this) === false) { - throw defaultWriterBrandCheckException('releaseLock'); - } - var stream = this._ownerWritableStream; - if (stream === undefined) { - return; - } - assert(stream._writer !== undefined); - WritableStreamDefaultWriterRelease(this); - } - }, { - key: 'write', - value: function write(chunk) { - if (IsWritableStreamDefaultWriter(this) === false) { - return Promise.reject(defaultWriterBrandCheckException('write')); - } - if (this._ownerWritableStream === undefined) { - return Promise.reject(defaultWriterLockException('write to')); - } - return WritableStreamDefaultWriterWrite(this, chunk); - } - }, { - key: 'closed', - get: function get() { - if (IsWritableStreamDefaultWriter(this) === false) { - return Promise.reject(defaultWriterBrandCheckException('closed')); - } - return this._closedPromise; - } - }, { - key: 'desiredSize', - get: function get() { - if (IsWritableStreamDefaultWriter(this) === false) { - throw defaultWriterBrandCheckException('desiredSize'); - } - if (this._ownerWritableStream === undefined) { - throw defaultWriterLockException('desiredSize'); - } - return WritableStreamDefaultWriterGetDesiredSize(this); - } - }, { - key: 'ready', - get: function get() { - if (IsWritableStreamDefaultWriter(this) === false) { - return Promise.reject(defaultWriterBrandCheckException('ready')); - } - return this._readyPromise; - } - }]); - return WritableStreamDefaultWriter; - }(); - function IsWritableStreamDefaultWriter(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) { - return false; - } - return true; - } - function WritableStreamDefaultWriterAbort(writer, reason) { - var stream = writer._ownerWritableStream; - assert(stream !== undefined); - return WritableStreamAbort(stream, reason); - } - function WritableStreamDefaultWriterClose(writer) { - var stream = writer._ownerWritableStream; - assert(stream !== undefined); - var state = stream._state; - if (state === 'closed' || state === 'errored') { - return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed')); - } - assert(state === 'writable' || state === 'erroring'); - assert(WritableStreamCloseQueuedOrInFlight(stream) === false); - var promise = new Promise(function (resolve, reject) { - var closeRequest = { - _resolve: resolve, - _reject: reject - }; - stream._closeRequest = closeRequest; - }); - if (stream._backpressure === true && state === 'writable') { - defaultWriterReadyPromiseResolve(writer); - } - WritableStreamDefaultControllerClose(stream._writableStreamController); - return promise; - } - function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { - var stream = writer._ownerWritableStream; - assert(stream !== undefined); - var state = stream._state; - if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') { - return Promise.resolve(); - } - if (state === 'errored') { - return Promise.reject(stream._storedError); - } - assert(state === 'writable' || state === 'erroring'); - return WritableStreamDefaultWriterClose(writer); - } - function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) { - if (writer._closedPromiseState === 'pending') { - defaultWriterClosedPromiseReject(writer, error); - } else { - defaultWriterClosedPromiseResetToRejected(writer, error); - } - writer._closedPromise.catch(function () {}); - } - function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) { - if (writer._readyPromiseState === 'pending') { - defaultWriterReadyPromiseReject(writer, error); - } else { - defaultWriterReadyPromiseResetToRejected(writer, error); - } - writer._readyPromise.catch(function () {}); - } - function WritableStreamDefaultWriterGetDesiredSize(writer) { - var stream = writer._ownerWritableStream; - var state = stream._state; - if (state === 'errored' || state === 'erroring') { - return null; - } - if (state === 'closed') { - return 0; - } - return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController); - } - function WritableStreamDefaultWriterRelease(writer) { - var stream = writer._ownerWritableStream; - assert(stream !== undefined); - assert(stream._writer === writer); - var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness'); - WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError); - WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError); - stream._writer = undefined; - writer._ownerWritableStream = undefined; - } - function WritableStreamDefaultWriterWrite(writer, chunk) { - var stream = writer._ownerWritableStream; - assert(stream !== undefined); - var controller = stream._writableStreamController; - var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk); - if (stream !== writer._ownerWritableStream) { - return Promise.reject(defaultWriterLockException('write to')); - } - var state = stream._state; - if (state === 'errored') { - return Promise.reject(stream._storedError); - } - if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') { - return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to')); - } - if (state === 'erroring') { - return Promise.reject(stream._storedError); - } - assert(state === 'writable'); - var promise = WritableStreamAddWriteRequest(stream); - WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); - return promise; - } - var WritableStreamDefaultController = function () { - function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) { - _classCallCheck(this, WritableStreamDefaultController); - if (IsWritableStream(stream) === false) { - throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance'); - } - if (stream._writableStreamController !== undefined) { - throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor'); - } - this._controlledWritableStream = stream; - this._underlyingSink = underlyingSink; - this._queue = undefined; - this._queueTotalSize = undefined; - ResetQueue(this); - this._started = false; - var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark); - this._strategySize = normalizedStrategy.size; - this._strategyHWM = normalizedStrategy.highWaterMark; - var backpressure = WritableStreamDefaultControllerGetBackpressure(this); - WritableStreamUpdateBackpressure(stream, backpressure); - } - _createClass(WritableStreamDefaultController, [{ - key: 'error', - value: function error(e) { - if (IsWritableStreamDefaultController(this) === false) { - throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController'); - } - var state = this._controlledWritableStream._state; - if (state !== 'writable') { - return; - } - WritableStreamDefaultControllerError(this, e); - } - }, { - key: '__abortSteps', - value: function __abortSteps(reason) { - return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]); - } - }, { - key: '__errorSteps', - value: function __errorSteps() { - ResetQueue(this); - } - }, { - key: '__startSteps', - value: function __startSteps() { - var _this = this; - var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]); - var stream = this._controlledWritableStream; - Promise.resolve(startResult).then(function () { - assert(stream._state === 'writable' || stream._state === 'erroring'); - _this._started = true; - WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this); - }, function (r) { - assert(stream._state === 'writable' || stream._state === 'erroring'); - _this._started = true; - WritableStreamDealWithRejection(stream, r); - }).catch(rethrowAssertionErrorRejection); - } - }]); - return WritableStreamDefaultController; - }(); - function WritableStreamDefaultControllerClose(controller) { - EnqueueValueWithSize(controller, 'close', 0); - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function WritableStreamDefaultControllerGetChunkSize(controller, chunk) { - var strategySize = controller._strategySize; - if (strategySize === undefined) { - return 1; - } - try { - return strategySize(chunk); - } catch (chunkSizeE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); - return 1; - } - } - function WritableStreamDefaultControllerGetDesiredSize(controller) { - return controller._strategyHWM - controller._queueTotalSize; - } - function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) { - var writeRecord = { chunk: chunk }; - try { - EnqueueValueWithSize(controller, writeRecord, chunkSize); - } catch (enqueueE) { - WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); - return; - } - var stream = controller._controlledWritableStream; - if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') { - var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - } - function IsWritableStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) { - return false; - } - return true; - } - function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { - var stream = controller._controlledWritableStream; - if (controller._started === false) { - return; - } - if (stream._inFlightWriteRequest !== undefined) { - return; - } - var state = stream._state; - if (state === 'closed' || state === 'errored') { - return; - } - if (state === 'erroring') { - WritableStreamFinishErroring(stream); - return; - } - if (controller._queue.length === 0) { - return; - } - var writeRecord = PeekQueueValue(controller); - if (writeRecord === 'close') { - WritableStreamDefaultControllerProcessClose(controller); - } else { - WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk); - } - } - function WritableStreamDefaultControllerErrorIfNeeded(controller, error) { - if (controller._controlledWritableStream._state === 'writable') { - WritableStreamDefaultControllerError(controller, error); - } - } - function WritableStreamDefaultControllerProcessClose(controller) { - var stream = controller._controlledWritableStream; - WritableStreamMarkCloseRequestInFlight(stream); - DequeueValue(controller); - assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued'); - var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []); - sinkClosePromise.then(function () { - WritableStreamFinishInFlightClose(stream); - }, function (reason) { - WritableStreamFinishInFlightCloseWithError(stream, reason); - }).catch(rethrowAssertionErrorRejection); - } - function WritableStreamDefaultControllerProcessWrite(controller, chunk) { - var stream = controller._controlledWritableStream; - WritableStreamMarkFirstWriteRequestInFlight(stream); - var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]); - sinkWritePromise.then(function () { - WritableStreamFinishInFlightWrite(stream); - var state = stream._state; - assert(state === 'writable' || state === 'erroring'); - DequeueValue(controller); - if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') { - var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); - WritableStreamUpdateBackpressure(stream, backpressure); - } - WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); - }, function (reason) { - WritableStreamFinishInFlightWriteWithError(stream, reason); - }).catch(rethrowAssertionErrorRejection); - } - function WritableStreamDefaultControllerGetBackpressure(controller) { - var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller); - return desiredSize <= 0; - } - function WritableStreamDefaultControllerError(controller, error) { - var stream = controller._controlledWritableStream; - assert(stream._state === 'writable'); - WritableStreamStartErroring(stream, error); - } - function streamBrandCheckException(name) { - return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream'); - } - function defaultWriterBrandCheckException(name) { - return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter'); - } - function defaultWriterLockException(name) { - return new TypeError('Cannot ' + name + ' a stream using a released writer'); - } - function defaultWriterClosedPromiseInitialize(writer) { - writer._closedPromise = new Promise(function (resolve, reject) { - writer._closedPromise_resolve = resolve; - writer._closedPromise_reject = reject; - writer._closedPromiseState = 'pending'; - }); - } - function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) { - writer._closedPromise = Promise.reject(reason); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'rejected'; - } - function defaultWriterClosedPromiseInitializeAsResolved(writer) { - writer._closedPromise = Promise.resolve(undefined); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'resolved'; - } - function defaultWriterClosedPromiseReject(writer, reason) { - assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined'); - assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined'); - assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending'); - writer._closedPromise_reject(reason); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'rejected'; - } - function defaultWriterClosedPromiseResetToRejected(writer, reason) { - assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined'); - assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined'); - assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending'); - writer._closedPromise = Promise.reject(reason); - writer._closedPromiseState = 'rejected'; - } - function defaultWriterClosedPromiseResolve(writer) { - assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined'); - assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined'); - assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending'); - writer._closedPromise_resolve(undefined); - writer._closedPromise_resolve = undefined; - writer._closedPromise_reject = undefined; - writer._closedPromiseState = 'resolved'; - } - function defaultWriterReadyPromiseInitialize(writer) { - writer._readyPromise = new Promise(function (resolve, reject) { - writer._readyPromise_resolve = resolve; - writer._readyPromise_reject = reject; - }); - writer._readyPromiseState = 'pending'; - } - function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) { - writer._readyPromise = Promise.reject(reason); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'rejected'; - } - function defaultWriterReadyPromiseInitializeAsResolved(writer) { - writer._readyPromise = Promise.resolve(undefined); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'fulfilled'; - } - function defaultWriterReadyPromiseReject(writer, reason) { - assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined'); - assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined'); - writer._readyPromise_reject(reason); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'rejected'; - } - function defaultWriterReadyPromiseReset(writer) { - assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined'); - assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined'); - writer._readyPromise = new Promise(function (resolve, reject) { - writer._readyPromise_resolve = resolve; - writer._readyPromise_reject = reject; - }); - writer._readyPromiseState = 'pending'; - } - function defaultWriterReadyPromiseResetToRejected(writer, reason) { - assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined'); - assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined'); - writer._readyPromise = Promise.reject(reason); - writer._readyPromiseState = 'rejected'; - } - function defaultWriterReadyPromiseResolve(writer) { - assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined'); - assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined'); - writer._readyPromise_resolve(undefined); - writer._readyPromise_resolve = undefined; - writer._readyPromise_reject = undefined; - writer._readyPromiseState = 'fulfilled'; - } -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var _require = __w_pdfjs_require__(0), - IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber; - var _require2 = __w_pdfjs_require__(1), - assert = _require2.assert; - exports.DequeueValue = function (container) { - assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].'); - assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.'); - var pair = container._queue.shift(); - container._queueTotalSize -= pair.size; - if (container._queueTotalSize < 0) { - container._queueTotalSize = 0; - } - return pair.value; - }; - exports.EnqueueValueWithSize = function (container, value, size) { - assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].'); - size = Number(size); - if (!IsFiniteNonNegativeNumber(size)) { - throw new RangeError('Size must be a finite, non-NaN, non-negative number.'); - } - container._queue.push({ - value: value, - size: size - }); - container._queueTotalSize += size; - }; - exports.PeekQueueValue = function (container) { - assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].'); - assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.'); - var pair = container._queue[0]; - return pair.value; - }; - exports.ResetQueue = function (container) { - assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].'); - container._queue = []; - container._queueTotalSize = 0; - }; -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - var _require = __w_pdfjs_require__(0), - ArrayBufferCopy = _require.ArrayBufferCopy, - CreateIterResultObject = _require.CreateIterResultObject, - IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber, - InvokeOrNoop = _require.InvokeOrNoop, - PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop, - TransferArrayBuffer = _require.TransferArrayBuffer, - ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy, - ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark; - var _require2 = __w_pdfjs_require__(0), - createArrayFromList = _require2.createArrayFromList, - createDataProperty = _require2.createDataProperty, - typeIsObject = _require2.typeIsObject; - var _require3 = __w_pdfjs_require__(1), - assert = _require3.assert, - rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection; - var _require4 = __w_pdfjs_require__(3), - DequeueValue = _require4.DequeueValue, - EnqueueValueWithSize = _require4.EnqueueValueWithSize, - ResetQueue = _require4.ResetQueue; - var _require5 = __w_pdfjs_require__(2), - AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter, - IsWritableStream = _require5.IsWritableStream, - IsWritableStreamLocked = _require5.IsWritableStreamLocked, - WritableStreamAbort = _require5.WritableStreamAbort, - WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation, - WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease, - WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite, - WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight; - var ReadableStream = function () { - function ReadableStream() { - var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - size = _ref.size, - highWaterMark = _ref.highWaterMark; - _classCallCheck(this, ReadableStream); - this._state = 'readable'; - this._reader = undefined; - this._storedError = undefined; - this._disturbed = false; - this._readableStreamController = undefined; - var type = underlyingSource.type; - var typeString = String(type); - if (typeString === 'bytes') { - if (highWaterMark === undefined) { - highWaterMark = 0; - } - this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark); - } else if (type === undefined) { - if (highWaterMark === undefined) { - highWaterMark = 1; - } - this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark); - } else { - throw new RangeError('Invalid type is specified'); - } - } - _createClass(ReadableStream, [{ - key: 'cancel', - value: function cancel(reason) { - if (IsReadableStream(this) === false) { - return Promise.reject(streamBrandCheckException('cancel')); - } - if (IsReadableStreamLocked(this) === true) { - return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader')); - } - return ReadableStreamCancel(this, reason); - } - }, { - key: 'getReader', - value: function getReader() { - var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - mode = _ref2.mode; - if (IsReadableStream(this) === false) { - throw streamBrandCheckException('getReader'); - } - if (mode === undefined) { - return AcquireReadableStreamDefaultReader(this); - } - mode = String(mode); - if (mode === 'byob') { - return AcquireReadableStreamBYOBReader(this); - } - throw new RangeError('Invalid mode is specified'); - } - }, { - key: 'pipeThrough', - value: function pipeThrough(_ref3, options) { - var writable = _ref3.writable, - readable = _ref3.readable; - var promise = this.pipeTo(writable, options); - ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise); - return readable; - } - }, { - key: 'pipeTo', - value: function pipeTo(dest) { - var _this = this; - var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - preventClose = _ref4.preventClose, - preventAbort = _ref4.preventAbort, - preventCancel = _ref4.preventCancel; - if (IsReadableStream(this) === false) { - return Promise.reject(streamBrandCheckException('pipeTo')); - } - if (IsWritableStream(dest) === false) { - return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream')); - } - preventClose = Boolean(preventClose); - preventAbort = Boolean(preventAbort); - preventCancel = Boolean(preventCancel); - if (IsReadableStreamLocked(this) === true) { - return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream')); - } - if (IsWritableStreamLocked(dest) === true) { - return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream')); - } - var reader = AcquireReadableStreamDefaultReader(this); - var writer = AcquireWritableStreamDefaultWriter(dest); - var shuttingDown = false; - var currentWrite = Promise.resolve(); - return new Promise(function (resolve, reject) { - function pipeLoop() { - currentWrite = Promise.resolve(); - if (shuttingDown === true) { - return Promise.resolve(); - } - return writer._readyPromise.then(function () { - return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) { - var value = _ref5.value, - done = _ref5.done; - if (done === true) { - return; - } - currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {}); - }); - }).then(pipeLoop); - } - isOrBecomesErrored(_this, reader._closedPromise, function (storedError) { - if (preventAbort === false) { - shutdownWithAction(function () { - return WritableStreamAbort(dest, storedError); - }, true, storedError); - } else { - shutdown(true, storedError); - } - }); - isOrBecomesErrored(dest, writer._closedPromise, function (storedError) { - if (preventCancel === false) { - shutdownWithAction(function () { - return ReadableStreamCancel(_this, storedError); - }, true, storedError); - } else { - shutdown(true, storedError); - } - }); - isOrBecomesClosed(_this, reader._closedPromise, function () { - if (preventClose === false) { - shutdownWithAction(function () { - return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); - }); - } else { - shutdown(); - } - }); - if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') { - var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it'); - if (preventCancel === false) { - shutdownWithAction(function () { - return ReadableStreamCancel(_this, destClosed); - }, true, destClosed); - } else { - shutdown(true, destClosed); - } - } - pipeLoop().catch(function (err) { - currentWrite = Promise.resolve(); - rethrowAssertionErrorRejection(err); - }); - function waitForWritesToFinish() { - var oldCurrentWrite = currentWrite; - return currentWrite.then(function () { - return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; - }); - } - function isOrBecomesErrored(stream, promise, action) { - if (stream._state === 'errored') { - action(stream._storedError); - } else { - promise.catch(action).catch(rethrowAssertionErrorRejection); - } - } - function isOrBecomesClosed(stream, promise, action) { - if (stream._state === 'closed') { - action(); - } else { - promise.then(action).catch(rethrowAssertionErrorRejection); - } - } - function shutdownWithAction(action, originalIsError, originalError) { - if (shuttingDown === true) { - return; - } - shuttingDown = true; - if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) { - waitForWritesToFinish().then(doTheRest); - } else { - doTheRest(); - } - function doTheRest() { - action().then(function () { - return finalize(originalIsError, originalError); - }, function (newError) { - return finalize(true, newError); - }).catch(rethrowAssertionErrorRejection); - } - } - function shutdown(isError, error) { - if (shuttingDown === true) { - return; - } - shuttingDown = true; - if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) { - waitForWritesToFinish().then(function () { - return finalize(isError, error); - }).catch(rethrowAssertionErrorRejection); - } else { - finalize(isError, error); - } - } - function finalize(isError, error) { - WritableStreamDefaultWriterRelease(writer); - ReadableStreamReaderGenericRelease(reader); - if (isError) { - reject(error); - } else { - resolve(undefined); - } - } - }); - } - }, { - key: 'tee', - value: function tee() { - if (IsReadableStream(this) === false) { - throw streamBrandCheckException('tee'); - } - var branches = ReadableStreamTee(this, false); - return createArrayFromList(branches); - } - }, { - key: 'locked', - get: function get() { - if (IsReadableStream(this) === false) { - throw streamBrandCheckException('locked'); - } - return IsReadableStreamLocked(this); - } - }]); - return ReadableStream; - }(); - module.exports = { - ReadableStream: ReadableStream, - IsReadableStreamDisturbed: IsReadableStreamDisturbed, - ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose, - ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue, - ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError, - ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize - }; - function AcquireReadableStreamBYOBReader(stream) { - return new ReadableStreamBYOBReader(stream); - } - function AcquireReadableStreamDefaultReader(stream) { - return new ReadableStreamDefaultReader(stream); - } - function IsReadableStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) { - return false; - } - return true; - } - function IsReadableStreamDisturbed(stream) { - assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams'); - return stream._disturbed; - } - function IsReadableStreamLocked(stream) { - assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams'); - if (stream._reader === undefined) { - return false; - } - return true; - } - function ReadableStreamTee(stream, cloneForBranch2) { - assert(IsReadableStream(stream) === true); - assert(typeof cloneForBranch2 === 'boolean'); - var reader = AcquireReadableStreamDefaultReader(stream); - var teeState = { - closedOrErrored: false, - canceled1: false, - canceled2: false, - reason1: undefined, - reason2: undefined - }; - teeState.promise = new Promise(function (resolve) { - teeState._resolve = resolve; - }); - var pull = create_ReadableStreamTeePullFunction(); - pull._reader = reader; - pull._teeState = teeState; - pull._cloneForBranch2 = cloneForBranch2; - var cancel1 = create_ReadableStreamTeeBranch1CancelFunction(); - cancel1._stream = stream; - cancel1._teeState = teeState; - var cancel2 = create_ReadableStreamTeeBranch2CancelFunction(); - cancel2._stream = stream; - cancel2._teeState = teeState; - var underlyingSource1 = Object.create(Object.prototype); - createDataProperty(underlyingSource1, 'pull', pull); - createDataProperty(underlyingSource1, 'cancel', cancel1); - var branch1Stream = new ReadableStream(underlyingSource1); - var underlyingSource2 = Object.create(Object.prototype); - createDataProperty(underlyingSource2, 'pull', pull); - createDataProperty(underlyingSource2, 'cancel', cancel2); - var branch2Stream = new ReadableStream(underlyingSource2); - pull._branch1 = branch1Stream._readableStreamController; - pull._branch2 = branch2Stream._readableStreamController; - reader._closedPromise.catch(function (r) { - if (teeState.closedOrErrored === true) { - return; - } - ReadableStreamDefaultControllerError(pull._branch1, r); - ReadableStreamDefaultControllerError(pull._branch2, r); - teeState.closedOrErrored = true; - }); - return [branch1Stream, branch2Stream]; - } - function create_ReadableStreamTeePullFunction() { - function f() { - var reader = f._reader, - branch1 = f._branch1, - branch2 = f._branch2, - teeState = f._teeState; - return ReadableStreamDefaultReaderRead(reader).then(function (result) { - assert(typeIsObject(result)); - var value = result.value; - var done = result.done; - assert(typeof done === 'boolean'); - if (done === true && teeState.closedOrErrored === false) { - if (teeState.canceled1 === false) { - ReadableStreamDefaultControllerClose(branch1); - } - if (teeState.canceled2 === false) { - ReadableStreamDefaultControllerClose(branch2); - } - teeState.closedOrErrored = true; - } - if (teeState.closedOrErrored === true) { - return; - } - var value1 = value; - var value2 = value; - if (teeState.canceled1 === false) { - ReadableStreamDefaultControllerEnqueue(branch1, value1); - } - if (teeState.canceled2 === false) { - ReadableStreamDefaultControllerEnqueue(branch2, value2); - } - }); - } - return f; - } - function create_ReadableStreamTeeBranch1CancelFunction() { - function f(reason) { - var stream = f._stream, - teeState = f._teeState; - teeState.canceled1 = true; - teeState.reason1 = reason; - if (teeState.canceled2 === true) { - var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]); - var cancelResult = ReadableStreamCancel(stream, compositeReason); - teeState._resolve(cancelResult); - } - return teeState.promise; - } - return f; - } - function create_ReadableStreamTeeBranch2CancelFunction() { - function f(reason) { - var stream = f._stream, - teeState = f._teeState; - teeState.canceled2 = true; - teeState.reason2 = reason; - if (teeState.canceled1 === true) { - var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]); - var cancelResult = ReadableStreamCancel(stream, compositeReason); - teeState._resolve(cancelResult); - } - return teeState.promise; - } - return f; - } - function ReadableStreamAddReadIntoRequest(stream) { - assert(IsReadableStreamBYOBReader(stream._reader) === true); - assert(stream._state === 'readable' || stream._state === 'closed'); - var promise = new Promise(function (resolve, reject) { - var readIntoRequest = { - _resolve: resolve, - _reject: reject - }; - stream._reader._readIntoRequests.push(readIntoRequest); - }); - return promise; - } - function ReadableStreamAddReadRequest(stream) { - assert(IsReadableStreamDefaultReader(stream._reader) === true); - assert(stream._state === 'readable'); - var promise = new Promise(function (resolve, reject) { - var readRequest = { - _resolve: resolve, - _reject: reject - }; - stream._reader._readRequests.push(readRequest); - }); - return promise; - } - function ReadableStreamCancel(stream, reason) { - stream._disturbed = true; - if (stream._state === 'closed') { - return Promise.resolve(undefined); - } - if (stream._state === 'errored') { - return Promise.reject(stream._storedError); - } - ReadableStreamClose(stream); - var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason); - return sourceCancelPromise.then(function () { - return undefined; - }); - } - function ReadableStreamClose(stream) { - assert(stream._state === 'readable'); - stream._state = 'closed'; - var reader = stream._reader; - if (reader === undefined) { - return undefined; - } - if (IsReadableStreamDefaultReader(reader) === true) { - for (var i = 0; i < reader._readRequests.length; i++) { - var _resolve = reader._readRequests[i]._resolve; - _resolve(CreateIterResultObject(undefined, true)); - } - reader._readRequests = []; - } - defaultReaderClosedPromiseResolve(reader); - return undefined; - } - function ReadableStreamError(stream, e) { - assert(IsReadableStream(stream) === true, 'stream must be ReadableStream'); - assert(stream._state === 'readable', 'state must be readable'); - stream._state = 'errored'; - stream._storedError = e; - var reader = stream._reader; - if (reader === undefined) { - return undefined; - } - if (IsReadableStreamDefaultReader(reader) === true) { - for (var i = 0; i < reader._readRequests.length; i++) { - var readRequest = reader._readRequests[i]; - readRequest._reject(e); - } - reader._readRequests = []; - } else { - assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader'); - for (var _i = 0; _i < reader._readIntoRequests.length; _i++) { - var readIntoRequest = reader._readIntoRequests[_i]; - readIntoRequest._reject(e); - } - reader._readIntoRequests = []; - } - defaultReaderClosedPromiseReject(reader, e); - reader._closedPromise.catch(function () {}); - } - function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) { - var reader = stream._reader; - assert(reader._readIntoRequests.length > 0); - var readIntoRequest = reader._readIntoRequests.shift(); - readIntoRequest._resolve(CreateIterResultObject(chunk, done)); - } - function ReadableStreamFulfillReadRequest(stream, chunk, done) { - var reader = stream._reader; - assert(reader._readRequests.length > 0); - var readRequest = reader._readRequests.shift(); - readRequest._resolve(CreateIterResultObject(chunk, done)); - } - function ReadableStreamGetNumReadIntoRequests(stream) { - return stream._reader._readIntoRequests.length; - } - function ReadableStreamGetNumReadRequests(stream) { - return stream._reader._readRequests.length; - } - function ReadableStreamHasBYOBReader(stream) { - var reader = stream._reader; - if (reader === undefined) { - return false; - } - if (IsReadableStreamBYOBReader(reader) === false) { - return false; - } - return true; - } - function ReadableStreamHasDefaultReader(stream) { - var reader = stream._reader; - if (reader === undefined) { - return false; - } - if (IsReadableStreamDefaultReader(reader) === false) { - return false; - } - return true; - } - var ReadableStreamDefaultReader = function () { - function ReadableStreamDefaultReader(stream) { - _classCallCheck(this, ReadableStreamDefaultReader); - if (IsReadableStream(stream) === false) { - throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance'); - } - if (IsReadableStreamLocked(stream) === true) { - throw new TypeError('This stream has already been locked for exclusive reading by another reader'); - } - ReadableStreamReaderGenericInitialize(this, stream); - this._readRequests = []; - } - _createClass(ReadableStreamDefaultReader, [{ - key: 'cancel', - value: function cancel(reason) { - if (IsReadableStreamDefaultReader(this) === false) { - return Promise.reject(defaultReaderBrandCheckException('cancel')); - } - if (this._ownerReadableStream === undefined) { - return Promise.reject(readerLockException('cancel')); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - }, { - key: 'read', - value: function read() { - if (IsReadableStreamDefaultReader(this) === false) { - return Promise.reject(defaultReaderBrandCheckException('read')); - } - if (this._ownerReadableStream === undefined) { - return Promise.reject(readerLockException('read from')); - } - return ReadableStreamDefaultReaderRead(this); - } - }, { - key: 'releaseLock', - value: function releaseLock() { - if (IsReadableStreamDefaultReader(this) === false) { - throw defaultReaderBrandCheckException('releaseLock'); - } - if (this._ownerReadableStream === undefined) { - return; - } - if (this._readRequests.length > 0) { - throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'); - } - ReadableStreamReaderGenericRelease(this); - } - }, { - key: 'closed', - get: function get() { - if (IsReadableStreamDefaultReader(this) === false) { - return Promise.reject(defaultReaderBrandCheckException('closed')); - } - return this._closedPromise; - } - }]); - return ReadableStreamDefaultReader; - }(); - var ReadableStreamBYOBReader = function () { - function ReadableStreamBYOBReader(stream) { - _classCallCheck(this, ReadableStreamBYOBReader); - if (!IsReadableStream(stream)) { - throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source'); - } - if (IsReadableByteStreamController(stream._readableStreamController) === false) { - throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source'); - } - if (IsReadableStreamLocked(stream)) { - throw new TypeError('This stream has already been locked for exclusive reading by another reader'); - } - ReadableStreamReaderGenericInitialize(this, stream); - this._readIntoRequests = []; - } - _createClass(ReadableStreamBYOBReader, [{ - key: 'cancel', - value: function cancel(reason) { - if (!IsReadableStreamBYOBReader(this)) { - return Promise.reject(byobReaderBrandCheckException('cancel')); - } - if (this._ownerReadableStream === undefined) { - return Promise.reject(readerLockException('cancel')); - } - return ReadableStreamReaderGenericCancel(this, reason); - } - }, { - key: 'read', - value: function read(view) { - if (!IsReadableStreamBYOBReader(this)) { - return Promise.reject(byobReaderBrandCheckException('read')); - } - if (this._ownerReadableStream === undefined) { - return Promise.reject(readerLockException('read from')); - } - if (!ArrayBuffer.isView(view)) { - return Promise.reject(new TypeError('view must be an array buffer view')); - } - if (view.byteLength === 0) { - return Promise.reject(new TypeError('view must have non-zero byteLength')); - } - return ReadableStreamBYOBReaderRead(this, view); - } - }, { - key: 'releaseLock', - value: function releaseLock() { - if (!IsReadableStreamBYOBReader(this)) { - throw byobReaderBrandCheckException('releaseLock'); - } - if (this._ownerReadableStream === undefined) { - return; - } - if (this._readIntoRequests.length > 0) { - throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'); - } - ReadableStreamReaderGenericRelease(this); - } - }, { - key: 'closed', - get: function get() { - if (!IsReadableStreamBYOBReader(this)) { - return Promise.reject(byobReaderBrandCheckException('closed')); - } - return this._closedPromise; - } - }]); - return ReadableStreamBYOBReader; - }(); - function IsReadableStreamBYOBReader(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) { - return false; - } - return true; - } - function IsReadableStreamDefaultReader(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) { - return false; - } - return true; - } - function ReadableStreamReaderGenericInitialize(reader, stream) { - reader._ownerReadableStream = stream; - stream._reader = reader; - if (stream._state === 'readable') { - defaultReaderClosedPromiseInitialize(reader); - } else if (stream._state === 'closed') { - defaultReaderClosedPromiseInitializeAsResolved(reader); - } else { - assert(stream._state === 'errored', 'state must be errored'); - defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError); - reader._closedPromise.catch(function () {}); - } - } - function ReadableStreamReaderGenericCancel(reader, reason) { - var stream = reader._ownerReadableStream; - assert(stream !== undefined); - return ReadableStreamCancel(stream, reason); - } - function ReadableStreamReaderGenericRelease(reader) { - assert(reader._ownerReadableStream !== undefined); - assert(reader._ownerReadableStream._reader === reader); - if (reader._ownerReadableStream._state === 'readable') { - defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness')); - } else { - defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness')); - } - reader._closedPromise.catch(function () {}); - reader._ownerReadableStream._reader = undefined; - reader._ownerReadableStream = undefined; - } - function ReadableStreamBYOBReaderRead(reader, view) { - var stream = reader._ownerReadableStream; - assert(stream !== undefined); - stream._disturbed = true; - if (stream._state === 'errored') { - return Promise.reject(stream._storedError); - } - return ReadableByteStreamControllerPullInto(stream._readableStreamController, view); - } - function ReadableStreamDefaultReaderRead(reader) { - var stream = reader._ownerReadableStream; - assert(stream !== undefined); - stream._disturbed = true; - if (stream._state === 'closed') { - return Promise.resolve(CreateIterResultObject(undefined, true)); - } - if (stream._state === 'errored') { - return Promise.reject(stream._storedError); - } - assert(stream._state === 'readable'); - return stream._readableStreamController.__pullSteps(); - } - var ReadableStreamDefaultController = function () { - function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) { - _classCallCheck(this, ReadableStreamDefaultController); - if (IsReadableStream(stream) === false) { - throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance'); - } - if (stream._readableStreamController !== undefined) { - throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor'); - } - this._controlledReadableStream = stream; - this._underlyingSource = underlyingSource; - this._queue = undefined; - this._queueTotalSize = undefined; - ResetQueue(this); - this._started = false; - this._closeRequested = false; - this._pullAgain = false; - this._pulling = false; - var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark); - this._strategySize = normalizedStrategy.size; - this._strategyHWM = normalizedStrategy.highWaterMark; - var controller = this; - var startResult = InvokeOrNoop(underlyingSource, 'start', [this]); - Promise.resolve(startResult).then(function () { - controller._started = true; - assert(controller._pulling === false); - assert(controller._pullAgain === false); - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - }, function (r) { - ReadableStreamDefaultControllerErrorIfNeeded(controller, r); - }).catch(rethrowAssertionErrorRejection); - } - _createClass(ReadableStreamDefaultController, [{ - key: 'close', - value: function close() { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('close'); - } - if (this._closeRequested === true) { - throw new TypeError('The stream has already been closed; do not close it again!'); - } - var state = this._controlledReadableStream._state; - if (state !== 'readable') { - throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed'); - } - ReadableStreamDefaultControllerClose(this); - } - }, { - key: 'enqueue', - value: function enqueue(chunk) { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('enqueue'); - } - if (this._closeRequested === true) { - throw new TypeError('stream is closed or draining'); - } - var state = this._controlledReadableStream._state; - if (state !== 'readable') { - throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to'); - } - return ReadableStreamDefaultControllerEnqueue(this, chunk); - } - }, { - key: 'error', - value: function error(e) { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('error'); - } - var stream = this._controlledReadableStream; - if (stream._state !== 'readable') { - throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored'); - } - ReadableStreamDefaultControllerError(this, e); - } - }, { - key: '__cancelSteps', - value: function __cancelSteps(reason) { - ResetQueue(this); - return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]); - } - }, { - key: '__pullSteps', - value: function __pullSteps() { - var stream = this._controlledReadableStream; - if (this._queue.length > 0) { - var chunk = DequeueValue(this); - if (this._closeRequested === true && this._queue.length === 0) { - ReadableStreamClose(stream); - } else { - ReadableStreamDefaultControllerCallPullIfNeeded(this); - } - return Promise.resolve(CreateIterResultObject(chunk, false)); - } - var pendingPromise = ReadableStreamAddReadRequest(stream); - ReadableStreamDefaultControllerCallPullIfNeeded(this); - return pendingPromise; - } - }, { - key: 'desiredSize', - get: function get() { - if (IsReadableStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('desiredSize'); - } - return ReadableStreamDefaultControllerGetDesiredSize(this); - } - }]); - return ReadableStreamDefaultController; - }(); - function IsReadableStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) { - return false; - } - return true; - } - function ReadableStreamDefaultControllerCallPullIfNeeded(controller) { - var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller); - if (shouldPull === false) { - return undefined; - } - if (controller._pulling === true) { - controller._pullAgain = true; - return undefined; - } - assert(controller._pullAgain === false); - controller._pulling = true; - var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]); - pullPromise.then(function () { - controller._pulling = false; - if (controller._pullAgain === true) { - controller._pullAgain = false; - return ReadableStreamDefaultControllerCallPullIfNeeded(controller); - } - return undefined; - }, function (e) { - ReadableStreamDefaultControllerErrorIfNeeded(controller, e); - }).catch(rethrowAssertionErrorRejection); - return undefined; - } - function ReadableStreamDefaultControllerShouldCallPull(controller) { - var stream = controller._controlledReadableStream; - if (stream._state === 'closed' || stream._state === 'errored') { - return false; - } - if (controller._closeRequested === true) { - return false; - } - if (controller._started === false) { - return false; - } - if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - return true; - } - var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); - if (desiredSize > 0) { - return true; - } - return false; - } - function ReadableStreamDefaultControllerClose(controller) { - var stream = controller._controlledReadableStream; - assert(controller._closeRequested === false); - assert(stream._state === 'readable'); - controller._closeRequested = true; - if (controller._queue.length === 0) { - ReadableStreamClose(stream); - } - } - function ReadableStreamDefaultControllerEnqueue(controller, chunk) { - var stream = controller._controlledReadableStream; - assert(controller._closeRequested === false); - assert(stream._state === 'readable'); - if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - ReadableStreamFulfillReadRequest(stream, chunk, false); - } else { - var chunkSize = 1; - if (controller._strategySize !== undefined) { - var strategySize = controller._strategySize; - try { - chunkSize = strategySize(chunk); - } catch (chunkSizeE) { - ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE); - throw chunkSizeE; - } - } - try { - EnqueueValueWithSize(controller, chunk, chunkSize); - } catch (enqueueE) { - ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); - throw enqueueE; - } - } - ReadableStreamDefaultControllerCallPullIfNeeded(controller); - return undefined; - } - function ReadableStreamDefaultControllerError(controller, e) { - var stream = controller._controlledReadableStream; - assert(stream._state === 'readable'); - ResetQueue(controller); - ReadableStreamError(stream, e); - } - function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) { - if (controller._controlledReadableStream._state === 'readable') { - ReadableStreamDefaultControllerError(controller, e); - } - } - function ReadableStreamDefaultControllerGetDesiredSize(controller) { - var stream = controller._controlledReadableStream; - var state = stream._state; - if (state === 'errored') { - return null; - } - if (state === 'closed') { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - var ReadableStreamBYOBRequest = function () { - function ReadableStreamBYOBRequest(controller, view) { - _classCallCheck(this, ReadableStreamBYOBRequest); - this._associatedReadableByteStreamController = controller; - this._view = view; - } - _createClass(ReadableStreamBYOBRequest, [{ - key: 'respond', - value: function respond(bytesWritten) { - if (IsReadableStreamBYOBRequest(this) === false) { - throw byobRequestBrandCheckException('respond'); - } - if (this._associatedReadableByteStreamController === undefined) { - throw new TypeError('This BYOB request has been invalidated'); - } - ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); - } - }, { - key: 'respondWithNewView', - value: function respondWithNewView(view) { - if (IsReadableStreamBYOBRequest(this) === false) { - throw byobRequestBrandCheckException('respond'); - } - if (this._associatedReadableByteStreamController === undefined) { - throw new TypeError('This BYOB request has been invalidated'); - } - if (!ArrayBuffer.isView(view)) { - throw new TypeError('You can only respond with array buffer views'); - } - ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); - } - }, { - key: 'view', - get: function get() { - return this._view; - } - }]); - return ReadableStreamBYOBRequest; - }(); - var ReadableByteStreamController = function () { - function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) { - _classCallCheck(this, ReadableByteStreamController); - if (IsReadableStream(stream) === false) { - throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source'); - } - if (stream._readableStreamController !== undefined) { - throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source'); - } - this._controlledReadableStream = stream; - this._underlyingByteSource = underlyingByteSource; - this._pullAgain = false; - this._pulling = false; - ReadableByteStreamControllerClearPendingPullIntos(this); - this._queue = this._queueTotalSize = undefined; - ResetQueue(this); - this._closeRequested = false; - this._started = false; - this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark); - var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; - if (autoAllocateChunkSize !== undefined) { - if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) { - throw new RangeError('autoAllocateChunkSize must be a positive integer'); - } - } - this._autoAllocateChunkSize = autoAllocateChunkSize; - this._pendingPullIntos = []; - var controller = this; - var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]); - Promise.resolve(startResult).then(function () { - controller._started = true; - assert(controller._pulling === false); - assert(controller._pullAgain === false); - ReadableByteStreamControllerCallPullIfNeeded(controller); - }, function (r) { - if (stream._state === 'readable') { - ReadableByteStreamControllerError(controller, r); - } - }).catch(rethrowAssertionErrorRejection); - } - _createClass(ReadableByteStreamController, [{ - key: 'close', - value: function close() { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('close'); - } - if (this._closeRequested === true) { - throw new TypeError('The stream has already been closed; do not close it again!'); - } - var state = this._controlledReadableStream._state; - if (state !== 'readable') { - throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed'); - } - ReadableByteStreamControllerClose(this); - } - }, { - key: 'enqueue', - value: function enqueue(chunk) { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('enqueue'); - } - if (this._closeRequested === true) { - throw new TypeError('stream is closed or draining'); - } - var state = this._controlledReadableStream._state; - if (state !== 'readable') { - throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to'); - } - if (!ArrayBuffer.isView(chunk)) { - throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController'); - } - ReadableByteStreamControllerEnqueue(this, chunk); - } - }, { - key: 'error', - value: function error(e) { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('error'); - } - var stream = this._controlledReadableStream; - if (stream._state !== 'readable') { - throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored'); - } - ReadableByteStreamControllerError(this, e); - } - }, { - key: '__cancelSteps', - value: function __cancelSteps(reason) { - if (this._pendingPullIntos.length > 0) { - var firstDescriptor = this._pendingPullIntos[0]; - firstDescriptor.bytesFilled = 0; - } - ResetQueue(this); - return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]); - } - }, { - key: '__pullSteps', - value: function __pullSteps() { - var stream = this._controlledReadableStream; - assert(ReadableStreamHasDefaultReader(stream) === true); - if (this._queueTotalSize > 0) { - assert(ReadableStreamGetNumReadRequests(stream) === 0); - var entry = this._queue.shift(); - this._queueTotalSize -= entry.byteLength; - ReadableByteStreamControllerHandleQueueDrain(this); - var view = void 0; - try { - view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); - } catch (viewE) { - return Promise.reject(viewE); - } - return Promise.resolve(CreateIterResultObject(view, false)); - } - var autoAllocateChunkSize = this._autoAllocateChunkSize; - if (autoAllocateChunkSize !== undefined) { - var buffer = void 0; - try { - buffer = new ArrayBuffer(autoAllocateChunkSize); - } catch (bufferE) { - return Promise.reject(bufferE); - } - var pullIntoDescriptor = { - buffer: buffer, - byteOffset: 0, - byteLength: autoAllocateChunkSize, - bytesFilled: 0, - elementSize: 1, - ctor: Uint8Array, - readerType: 'default' - }; - this._pendingPullIntos.push(pullIntoDescriptor); - } - var promise = ReadableStreamAddReadRequest(stream); - ReadableByteStreamControllerCallPullIfNeeded(this); - return promise; - } - }, { - key: 'byobRequest', - get: function get() { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('byobRequest'); - } - if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) { - var firstDescriptor = this._pendingPullIntos[0]; - var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled); - this._byobRequest = new ReadableStreamBYOBRequest(this, view); - } - return this._byobRequest; - } - }, { - key: 'desiredSize', - get: function get() { - if (IsReadableByteStreamController(this) === false) { - throw byteStreamControllerBrandCheckException('desiredSize'); - } - return ReadableByteStreamControllerGetDesiredSize(this); - } - }]); - return ReadableByteStreamController; - }(); - function IsReadableByteStreamController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) { - return false; - } - return true; - } - function IsReadableStreamBYOBRequest(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) { - return false; - } - return true; - } - function ReadableByteStreamControllerCallPullIfNeeded(controller) { - var shouldPull = ReadableByteStreamControllerShouldCallPull(controller); - if (shouldPull === false) { - return undefined; - } - if (controller._pulling === true) { - controller._pullAgain = true; - return undefined; - } - assert(controller._pullAgain === false); - controller._pulling = true; - var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]); - pullPromise.then(function () { - controller._pulling = false; - if (controller._pullAgain === true) { - controller._pullAgain = false; - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - }, function (e) { - if (controller._controlledReadableStream._state === 'readable') { - ReadableByteStreamControllerError(controller, e); - } - }).catch(rethrowAssertionErrorRejection); - return undefined; - } - function ReadableByteStreamControllerClearPendingPullIntos(controller) { - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - controller._pendingPullIntos = []; - } - function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) { - assert(stream._state !== 'errored', 'state must not be errored'); - var done = false; - if (stream._state === 'closed') { - assert(pullIntoDescriptor.bytesFilled === 0); - done = true; - } - var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - if (pullIntoDescriptor.readerType === 'default') { - ReadableStreamFulfillReadRequest(stream, filledView, done); - } else { - assert(pullIntoDescriptor.readerType === 'byob'); - ReadableStreamFulfillReadIntoRequest(stream, filledView, done); - } - } - function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) { - var bytesFilled = pullIntoDescriptor.bytesFilled; - var elementSize = pullIntoDescriptor.elementSize; - assert(bytesFilled <= pullIntoDescriptor.byteLength); - assert(bytesFilled % elementSize === 0); - return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize); - } - function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) { - controller._queue.push({ - buffer: buffer, - byteOffset: byteOffset, - byteLength: byteLength - }); - controller._queueTotalSize += byteLength; - } - function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) { - var elementSize = pullIntoDescriptor.elementSize; - var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize; - var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled); - var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy; - var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize; - var totalBytesToCopyRemaining = maxBytesToCopy; - var ready = false; - if (maxAlignedBytes > currentAlignedBytes) { - totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled; - ready = true; - } - var queue = controller._queue; - while (totalBytesToCopyRemaining > 0) { - var headOfQueue = queue[0]; - var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength); - var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy); - if (headOfQueue.byteLength === bytesToCopy) { - queue.shift(); - } else { - headOfQueue.byteOffset += bytesToCopy; - headOfQueue.byteLength -= bytesToCopy; - } - controller._queueTotalSize -= bytesToCopy; - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor); - totalBytesToCopyRemaining -= bytesToCopy; - } - if (ready === false) { - assert(controller._queueTotalSize === 0, 'queue must be empty'); - assert(pullIntoDescriptor.bytesFilled > 0); - assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize); - } - return ready; - } - function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) { - assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor); - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - pullIntoDescriptor.bytesFilled += size; - } - function ReadableByteStreamControllerHandleQueueDrain(controller) { - assert(controller._controlledReadableStream._state === 'readable'); - if (controller._queueTotalSize === 0 && controller._closeRequested === true) { - ReadableStreamClose(controller._controlledReadableStream); - } else { - ReadableByteStreamControllerCallPullIfNeeded(controller); - } - } - function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { - if (controller._byobRequest === undefined) { - return; - } - controller._byobRequest._associatedReadableByteStreamController = undefined; - controller._byobRequest._view = undefined; - controller._byobRequest = undefined; - } - function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { - assert(controller._closeRequested === false); - while (controller._pendingPullIntos.length > 0) { - if (controller._queueTotalSize === 0) { - return; - } - var pullIntoDescriptor = controller._pendingPullIntos[0]; - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) { - ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerPullInto(controller, view) { - var stream = controller._controlledReadableStream; - var elementSize = 1; - if (view.constructor !== DataView) { - elementSize = view.constructor.BYTES_PER_ELEMENT; - } - var ctor = view.constructor; - var pullIntoDescriptor = { - buffer: view.buffer, - byteOffset: view.byteOffset, - byteLength: view.byteLength, - bytesFilled: 0, - elementSize: elementSize, - ctor: ctor, - readerType: 'byob' - }; - if (controller._pendingPullIntos.length > 0) { - pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer); - controller._pendingPullIntos.push(pullIntoDescriptor); - return ReadableStreamAddReadIntoRequest(stream); - } - if (stream._state === 'closed') { - var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); - return Promise.resolve(CreateIterResultObject(emptyView, true)); - } - if (controller._queueTotalSize > 0) { - if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) { - var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); - ReadableByteStreamControllerHandleQueueDrain(controller); - return Promise.resolve(CreateIterResultObject(filledView, false)); - } - if (controller._closeRequested === true) { - var e = new TypeError('Insufficient bytes to fill elements in the given buffer'); - ReadableByteStreamControllerError(controller, e); - return Promise.reject(e); - } - } - pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer); - controller._pendingPullIntos.push(pullIntoDescriptor); - var promise = ReadableStreamAddReadIntoRequest(stream); - ReadableByteStreamControllerCallPullIfNeeded(controller); - return promise; - } - function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { - firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); - assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0'); - var stream = controller._controlledReadableStream; - if (ReadableStreamHasBYOBReader(stream) === true) { - while (ReadableStreamGetNumReadIntoRequests(stream) > 0) { - var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller); - ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor); - } - } - } - function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) { - if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) { - throw new RangeError('bytesWritten out of range'); - } - ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor); - if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) { - return; - } - ReadableByteStreamControllerShiftPendingPullInto(controller); - var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize; - if (remainderSize > 0) { - var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled; - var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end); - ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength); - } - pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer); - pullIntoDescriptor.bytesFilled -= remainderSize; - ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } - function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) { - var firstDescriptor = controller._pendingPullIntos[0]; - var stream = controller._controlledReadableStream; - if (stream._state === 'closed') { - if (bytesWritten !== 0) { - throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream'); - } - ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor); - } else { - assert(stream._state === 'readable'); - ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor); - } - } - function ReadableByteStreamControllerShiftPendingPullInto(controller) { - var descriptor = controller._pendingPullIntos.shift(); - ReadableByteStreamControllerInvalidateBYOBRequest(controller); - return descriptor; - } - function ReadableByteStreamControllerShouldCallPull(controller) { - var stream = controller._controlledReadableStream; - if (stream._state !== 'readable') { - return false; - } - if (controller._closeRequested === true) { - return false; - } - if (controller._started === false) { - return false; - } - if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) { - return true; - } - if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) { - return true; - } - if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) { - return true; - } - return false; - } - function ReadableByteStreamControllerClose(controller) { - var stream = controller._controlledReadableStream; - assert(controller._closeRequested === false); - assert(stream._state === 'readable'); - if (controller._queueTotalSize > 0) { - controller._closeRequested = true; - return; - } - if (controller._pendingPullIntos.length > 0) { - var firstPendingPullInto = controller._pendingPullIntos[0]; - if (firstPendingPullInto.bytesFilled > 0) { - var e = new TypeError('Insufficient bytes to fill elements in the given buffer'); - ReadableByteStreamControllerError(controller, e); - throw e; - } - } - ReadableStreamClose(stream); - } - function ReadableByteStreamControllerEnqueue(controller, chunk) { - var stream = controller._controlledReadableStream; - assert(controller._closeRequested === false); - assert(stream._state === 'readable'); - var buffer = chunk.buffer; - var byteOffset = chunk.byteOffset; - var byteLength = chunk.byteLength; - var transferredBuffer = TransferArrayBuffer(buffer); - if (ReadableStreamHasDefaultReader(stream) === true) { - if (ReadableStreamGetNumReadRequests(stream) === 0) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } else { - assert(controller._queue.length === 0); - var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength); - ReadableStreamFulfillReadRequest(stream, transferredView, false); - } - } else if (ReadableStreamHasBYOBReader(stream) === true) { - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller); - } else { - assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked'); - ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength); - } - } - function ReadableByteStreamControllerError(controller, e) { - var stream = controller._controlledReadableStream; - assert(stream._state === 'readable'); - ReadableByteStreamControllerClearPendingPullIntos(controller); - ResetQueue(controller); - ReadableStreamError(stream, e); - } - function ReadableByteStreamControllerGetDesiredSize(controller) { - var stream = controller._controlledReadableStream; - var state = stream._state; - if (state === 'errored') { - return null; - } - if (state === 'closed') { - return 0; - } - return controller._strategyHWM - controller._queueTotalSize; - } - function ReadableByteStreamControllerRespond(controller, bytesWritten) { - bytesWritten = Number(bytesWritten); - if (IsFiniteNonNegativeNumber(bytesWritten) === false) { - throw new RangeError('bytesWritten must be a finite'); - } - assert(controller._pendingPullIntos.length > 0); - ReadableByteStreamControllerRespondInternal(controller, bytesWritten); - } - function ReadableByteStreamControllerRespondWithNewView(controller, view) { - assert(controller._pendingPullIntos.length > 0); - var firstDescriptor = controller._pendingPullIntos[0]; - if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) { - throw new RangeError('The region specified by view does not match byobRequest'); - } - if (firstDescriptor.byteLength !== view.byteLength) { - throw new RangeError('The buffer of view has different capacity than byobRequest'); - } - firstDescriptor.buffer = view.buffer; - ReadableByteStreamControllerRespondInternal(controller, view.byteLength); - } - function streamBrandCheckException(name) { - return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream'); - } - function readerLockException(name) { - return new TypeError('Cannot ' + name + ' a stream using a released reader'); - } - function defaultReaderBrandCheckException(name) { - return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader'); - } - function defaultReaderClosedPromiseInitialize(reader) { - reader._closedPromise = new Promise(function (resolve, reject) { - reader._closedPromise_resolve = resolve; - reader._closedPromise_reject = reject; - }); - } - function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) { - reader._closedPromise = Promise.reject(reason); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - function defaultReaderClosedPromiseInitializeAsResolved(reader) { - reader._closedPromise = Promise.resolve(undefined); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - function defaultReaderClosedPromiseReject(reader, reason) { - assert(reader._closedPromise_resolve !== undefined); - assert(reader._closedPromise_reject !== undefined); - reader._closedPromise_reject(reason); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - function defaultReaderClosedPromiseResetToRejected(reader, reason) { - assert(reader._closedPromise_resolve === undefined); - assert(reader._closedPromise_reject === undefined); - reader._closedPromise = Promise.reject(reason); - } - function defaultReaderClosedPromiseResolve(reader) { - assert(reader._closedPromise_resolve !== undefined); - assert(reader._closedPromise_reject !== undefined); - reader._closedPromise_resolve(undefined); - reader._closedPromise_resolve = undefined; - reader._closedPromise_reject = undefined; - } - function byobReaderBrandCheckException(name) { - return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader'); - } - function defaultControllerBrandCheckException(name) { - return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController'); - } - function byobRequestBrandCheckException(name) { - return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest'); - } - function byteStreamControllerBrandCheckException(name) { - return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController'); - } - function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) { - try { - Promise.prototype.then.call(promise, undefined, function () {}); - } catch (e) {} - } -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var transformStream = __w_pdfjs_require__(6); - var readableStream = __w_pdfjs_require__(4); - var writableStream = __w_pdfjs_require__(2); - exports.TransformStream = transformStream.TransformStream; - exports.ReadableStream = readableStream.ReadableStream; - exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed; - exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose; - exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue; - exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError; - exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize; - exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter; - exports.IsWritableStream = writableStream.IsWritableStream; - exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked; - exports.WritableStream = writableStream.WritableStream; - exports.WritableStreamAbort = writableStream.WritableStreamAbort; - exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError; - exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation; - exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease; - exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite; -}, function (module, exports, __w_pdfjs_require__) { - "use strict"; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - var _require = __w_pdfjs_require__(1), - assert = _require.assert; - var _require2 = __w_pdfjs_require__(0), - InvokeOrNoop = _require2.InvokeOrNoop, - PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback, - PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop, - typeIsObject = _require2.typeIsObject; - var _require3 = __w_pdfjs_require__(4), - ReadableStream = _require3.ReadableStream, - ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose, - ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue, - ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError, - ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize; - var _require4 = __w_pdfjs_require__(2), - WritableStream = _require4.WritableStream, - WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError; - function TransformStreamCloseReadable(transformStream) { - if (transformStream._errored === true) { - throw new TypeError('TransformStream is already errored'); - } - if (transformStream._readableClosed === true) { - throw new TypeError('Readable side is already closed'); - } - TransformStreamCloseReadableInternal(transformStream); - } - function TransformStreamEnqueueToReadable(transformStream, chunk) { - if (transformStream._errored === true) { - throw new TypeError('TransformStream is already errored'); - } - if (transformStream._readableClosed === true) { - throw new TypeError('Readable side is already closed'); - } - var controller = transformStream._readableController; - try { - ReadableStreamDefaultControllerEnqueue(controller, chunk); - } catch (e) { - transformStream._readableClosed = true; - TransformStreamErrorIfNeeded(transformStream, e); - throw transformStream._storedError; - } - var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller); - var maybeBackpressure = desiredSize <= 0; - if (maybeBackpressure === true && transformStream._backpressure === false) { - TransformStreamSetBackpressure(transformStream, true); - } - } - function TransformStreamError(transformStream, e) { - if (transformStream._errored === true) { - throw new TypeError('TransformStream is already errored'); - } - TransformStreamErrorInternal(transformStream, e); - } - function TransformStreamCloseReadableInternal(transformStream) { - assert(transformStream._errored === false); - assert(transformStream._readableClosed === false); - try { - ReadableStreamDefaultControllerClose(transformStream._readableController); - } catch (e) { - assert(false); - } - transformStream._readableClosed = true; - } - function TransformStreamErrorIfNeeded(transformStream, e) { - if (transformStream._errored === false) { - TransformStreamErrorInternal(transformStream, e); - } - } - function TransformStreamErrorInternal(transformStream, e) { - assert(transformStream._errored === false); - transformStream._errored = true; - transformStream._storedError = e; - if (transformStream._writableDone === false) { - WritableStreamDefaultControllerError(transformStream._writableController, e); - } - if (transformStream._readableClosed === false) { - ReadableStreamDefaultControllerError(transformStream._readableController, e); - } - } - function TransformStreamReadableReadyPromise(transformStream) { - assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized'); - if (transformStream._backpressure === false) { - return Promise.resolve(); - } - assert(transformStream._backpressure === true, '_backpressure should have been initialized'); - return transformStream._backpressureChangePromise; - } - function TransformStreamSetBackpressure(transformStream, backpressure) { - assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed'); - if (transformStream._backpressureChangePromise !== undefined) { - transformStream._backpressureChangePromise_resolve(backpressure); - } - transformStream._backpressureChangePromise = new Promise(function (resolve) { - transformStream._backpressureChangePromise_resolve = resolve; - }); - transformStream._backpressureChangePromise.then(function (resolution) { - assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed'); - }); - transformStream._backpressure = backpressure; - } - function TransformStreamDefaultTransform(chunk, transformStreamController) { - var transformStream = transformStreamController._controlledTransformStream; - TransformStreamEnqueueToReadable(transformStream, chunk); - return Promise.resolve(); - } - function TransformStreamTransform(transformStream, chunk) { - assert(transformStream._errored === false); - assert(transformStream._transforming === false); - assert(transformStream._backpressure === false); - transformStream._transforming = true; - var transformer = transformStream._transformer; - var controller = transformStream._transformStreamController; - var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]); - return transformPromise.then(function () { - transformStream._transforming = false; - return TransformStreamReadableReadyPromise(transformStream); - }, function (e) { - TransformStreamErrorIfNeeded(transformStream, e); - return Promise.reject(e); - }); - } - function IsTransformStreamDefaultController(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) { - return false; - } - return true; - } - function IsTransformStream(x) { - if (!typeIsObject(x)) { - return false; - } - if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) { - return false; - } - return true; - } - var TransformStreamSink = function () { - function TransformStreamSink(transformStream, startPromise) { - _classCallCheck(this, TransformStreamSink); - this._transformStream = transformStream; - this._startPromise = startPromise; - } - _createClass(TransformStreamSink, [{ - key: 'start', - value: function start(c) { - var transformStream = this._transformStream; - transformStream._writableController = c; - return this._startPromise.then(function () { - return TransformStreamReadableReadyPromise(transformStream); - }); - } - }, { - key: 'write', - value: function write(chunk) { - var transformStream = this._transformStream; - return TransformStreamTransform(transformStream, chunk); - } - }, { - key: 'abort', - value: function abort() { - var transformStream = this._transformStream; - transformStream._writableDone = true; - TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted')); - } - }, { - key: 'close', - value: function close() { - var transformStream = this._transformStream; - assert(transformStream._transforming === false); - transformStream._writableDone = true; - var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]); - return flushPromise.then(function () { - if (transformStream._errored === true) { - return Promise.reject(transformStream._storedError); - } - if (transformStream._readableClosed === false) { - TransformStreamCloseReadableInternal(transformStream); - } - return Promise.resolve(); - }).catch(function (r) { - TransformStreamErrorIfNeeded(transformStream, r); - return Promise.reject(transformStream._storedError); - }); - } - }]); - return TransformStreamSink; - }(); - var TransformStreamSource = function () { - function TransformStreamSource(transformStream, startPromise) { - _classCallCheck(this, TransformStreamSource); - this._transformStream = transformStream; - this._startPromise = startPromise; - } - _createClass(TransformStreamSource, [{ - key: 'start', - value: function start(c) { - var transformStream = this._transformStream; - transformStream._readableController = c; - return this._startPromise.then(function () { - assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized'); - if (transformStream._backpressure === true) { - return Promise.resolve(); - } - assert(transformStream._backpressure === false, '_backpressure should have been initialized'); - return transformStream._backpressureChangePromise; - }); - } - }, { - key: 'pull', - value: function pull() { - var transformStream = this._transformStream; - assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false'); - assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized'); - TransformStreamSetBackpressure(transformStream, false); - return transformStream._backpressureChangePromise; - } - }, { - key: 'cancel', - value: function cancel() { - var transformStream = this._transformStream; - transformStream._readableClosed = true; - TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled')); - } - }]); - return TransformStreamSource; - }(); - var TransformStreamDefaultController = function () { - function TransformStreamDefaultController(transformStream) { - _classCallCheck(this, TransformStreamDefaultController); - if (IsTransformStream(transformStream) === false) { - throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance'); - } - if (transformStream._transformStreamController !== undefined) { - throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor'); - } - this._controlledTransformStream = transformStream; - } - _createClass(TransformStreamDefaultController, [{ - key: 'enqueue', - value: function enqueue(chunk) { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('enqueue'); - } - TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk); - } - }, { - key: 'close', - value: function close() { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('close'); - } - TransformStreamCloseReadable(this._controlledTransformStream); - } - }, { - key: 'error', - value: function error(reason) { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('error'); - } - TransformStreamError(this._controlledTransformStream, reason); - } - }, { - key: 'desiredSize', - get: function get() { - if (IsTransformStreamDefaultController(this) === false) { - throw defaultControllerBrandCheckException('desiredSize'); - } - var transformStream = this._controlledTransformStream; - var readableController = transformStream._readableController; - return ReadableStreamDefaultControllerGetDesiredSize(readableController); - } - }]); - return TransformStreamDefaultController; - }(); - var TransformStream = function () { - function TransformStream() { - var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - _classCallCheck(this, TransformStream); - this._transformer = transformer; - var readableStrategy = transformer.readableStrategy, - writableStrategy = transformer.writableStrategy; - this._transforming = false; - this._errored = false; - this._storedError = undefined; - this._writableController = undefined; - this._readableController = undefined; - this._transformStreamController = undefined; - this._writableDone = false; - this._readableClosed = false; - this._backpressure = undefined; - this._backpressureChangePromise = undefined; - this._backpressureChangePromise_resolve = undefined; - this._transformStreamController = new TransformStreamDefaultController(this); - var startPromise_resolve = void 0; - var startPromise = new Promise(function (resolve) { - startPromise_resolve = resolve; - }); - var source = new TransformStreamSource(this, startPromise); - this._readable = new ReadableStream(source, readableStrategy); - var sink = new TransformStreamSink(this, startPromise); - this._writable = new WritableStream(sink, writableStrategy); - assert(this._writableController !== undefined); - assert(this._readableController !== undefined); - var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController); - TransformStreamSetBackpressure(this, desiredSize <= 0); - var transformStream = this; - var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]); - startPromise_resolve(startResult); - startPromise.catch(function (e) { - if (transformStream._errored === false) { - transformStream._errored = true; - transformStream._storedError = e; - } - }); - } - _createClass(TransformStream, [{ - key: 'readable', - get: function get() { - if (IsTransformStream(this) === false) { - throw streamBrandCheckException('readable'); - } - return this._readable; - } - }, { - key: 'writable', - get: function get() { - if (IsTransformStream(this) === false) { - throw streamBrandCheckException('writable'); - } - return this._writable; - } - }]); - return TransformStream; - }(); - module.exports = { TransformStream: TransformStream }; - function defaultControllerBrandCheckException(name) { - return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController'); - } - function streamBrandCheckException(name) { - return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream'); - } -}, function (module, exports, __w_pdfjs_require__) { - module.exports = __w_pdfjs_require__(5); -}])); - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CanvasGraphics = undefined; - -var _util = __w_pdfjs_require__(0); - -var _pattern_helper = __w_pdfjs_require__(13); - -var _webgl = __w_pdfjs_require__(7); - -var MIN_FONT_SIZE = 16; -var MAX_FONT_SIZE = 100; -var MAX_GROUP_SIZE = 4096; -var MIN_WIDTH_FACTOR = 0.65; -var COMPILE_TYPE3_GLYPHS = true; -var MAX_SIZE_TO_COMPILE = 1000; -var FULL_CHUNK_HEIGHT = 16; -var IsLittleEndianCached = { - get value() { - return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)()); - } -}; -function addContextCurrentTransform(ctx) { - if (!ctx.mozCurrentTransform) { - ctx._originalSave = ctx.save; - ctx._originalRestore = ctx.restore; - ctx._originalRotate = ctx.rotate; - ctx._originalScale = ctx.scale; - ctx._originalTranslate = ctx.translate; - ctx._originalTransform = ctx.transform; - ctx._originalSetTransform = ctx.setTransform; - ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; - ctx._transformStack = []; - Object.defineProperty(ctx, 'mozCurrentTransform', { - get: function getCurrentTransform() { - return this._transformMatrix; - } - }); - Object.defineProperty(ctx, 'mozCurrentTransformInverse', { - get: function getCurrentTransformInverse() { - var m = this._transformMatrix; - var a = m[0], - b = m[1], - c = m[2], - d = m[3], - e = m[4], - f = m[5]; - var ad_bc = a * d - b * c; - var bc_ad = b * c - a * d; - return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc]; - } - }); - ctx.save = function ctxSave() { - var old = this._transformMatrix; - this._transformStack.push(old); - this._transformMatrix = old.slice(0, 6); - this._originalSave(); - }; - ctx.restore = function ctxRestore() { - var prev = this._transformStack.pop(); - if (prev) { - this._transformMatrix = prev; - this._originalRestore(); - } - }; - ctx.translate = function ctxTranslate(x, y) { - var m = this._transformMatrix; - m[4] = m[0] * x + m[2] * y + m[4]; - m[5] = m[1] * x + m[3] * y + m[5]; - this._originalTranslate(x, y); - }; - ctx.scale = function ctxScale(x, y) { - var m = this._transformMatrix; - m[0] = m[0] * x; - m[1] = m[1] * x; - m[2] = m[2] * y; - m[3] = m[3] * y; - this._originalScale(x, y); - }; - ctx.transform = function ctxTransform(a, b, c, d, e, f) { - var m = this._transformMatrix; - this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]]; - ctx._originalTransform(a, b, c, d, e, f); - }; - ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { - this._transformMatrix = [a, b, c, d, e, f]; - ctx._originalSetTransform(a, b, c, d, e, f); - }; - ctx.rotate = function ctxRotate(angle) { - var cosValue = Math.cos(angle); - var sinValue = Math.sin(angle); - var m = this._transformMatrix; - this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]]; - this._originalRotate(angle); - }; - } -} -var CachedCanvases = function CachedCanvasesClosure() { - function CachedCanvases(canvasFactory) { - this.canvasFactory = canvasFactory; - this.cache = Object.create(null); - } - CachedCanvases.prototype = { - getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) { - var canvasEntry; - if (this.cache[id] !== undefined) { - canvasEntry = this.cache[id]; - this.canvasFactory.reset(canvasEntry, width, height); - canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0); - } else { - canvasEntry = this.canvasFactory.create(width, height); - this.cache[id] = canvasEntry; - } - if (trackTransform) { - addContextCurrentTransform(canvasEntry.context); - } - return canvasEntry; - }, - clear: function clear() { - for (var id in this.cache) { - var canvasEntry = this.cache[id]; - this.canvasFactory.destroy(canvasEntry); - delete this.cache[id]; - } - } - }; - return CachedCanvases; -}(); -function compileType3Glyph(imgData) { - var POINT_TO_PROCESS_LIMIT = 1000; - var width = imgData.width, - height = imgData.height; - var i, - j, - j0, - width1 = width + 1; - var points = new Uint8Array(width1 * (height + 1)); - var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); - var lineSize = width + 7 & ~7, - data0 = imgData.data; - var data = new Uint8Array(lineSize * height), - pos = 0, - ii; - for (i = 0, ii = data0.length; i < ii; i++) { - var mask = 128, - elem = data0[i]; - while (mask > 0) { - data[pos++] = elem & mask ? 0 : 255; - mask >>= 1; - } - } - var count = 0; - pos = 0; - if (data[pos] !== 0) { - points[0] = 1; - ++count; - } - for (j = 1; j < width; j++) { - if (data[pos] !== data[pos + 1]) { - points[j] = data[pos] ? 2 : 1; - ++count; - } - pos++; - } - if (data[pos] !== 0) { - points[j] = 2; - ++count; - } - for (i = 1; i < height; i++) { - pos = i * lineSize; - j0 = i * width1; - if (data[pos - lineSize] !== data[pos]) { - points[j0] = data[pos] ? 1 : 8; - ++count; - } - var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); - for (j = 1; j < width; j++) { - sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); - if (POINT_TYPES[sum]) { - points[j0 + j] = POINT_TYPES[sum]; - ++count; - } - pos++; - } - if (data[pos - lineSize] !== data[pos]) { - points[j0 + j] = data[pos] ? 2 : 4; - ++count; - } - if (count > POINT_TO_PROCESS_LIMIT) { - return null; - } - } - pos = lineSize * (height - 1); - j0 = i * width1; - if (data[pos] !== 0) { - points[j0] = 8; - ++count; - } - for (j = 1; j < width; j++) { - if (data[pos] !== data[pos + 1]) { - points[j0 + j] = data[pos] ? 4 : 8; - ++count; - } - pos++; - } - if (data[pos] !== 0) { - points[j0 + j] = 4; - ++count; - } - if (count > POINT_TO_PROCESS_LIMIT) { - return null; - } - var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); - var outlines = []; - for (i = 0; count && i <= height; i++) { - var p = i * width1; - var end = p + width; - while (p < end && !points[p]) { - p++; - } - if (p === end) { - continue; - } - var coords = [p % width1, i]; - var type = points[p], - p0 = p, - pp; - do { - var step = steps[type]; - do { - p += step; - } while (!points[p]); - pp = points[p]; - if (pp !== 5 && pp !== 10) { - type = pp; - points[p] = 0; - } else { - type = pp & 0x33 * type >> 4; - points[p] &= type >> 2 | type << 2; - } - coords.push(p % width1); - coords.push(p / width1 | 0); - --count; - } while (p0 !== p); - outlines.push(coords); - --i; - } - var drawOutline = function drawOutline(c) { - c.save(); - c.scale(1 / width, -1 / height); - c.translate(0, -height); - c.beginPath(); - for (var i = 0, ii = outlines.length; i < ii; i++) { - var o = outlines[i]; - c.moveTo(o[0], o[1]); - for (var j = 2, jj = o.length; j < jj; j += 2) { - c.lineTo(o[j], o[j + 1]); - } - } - c.fill(); - c.beginPath(); - c.restore(); - }; - return drawOutline; -} -var CanvasExtraState = function CanvasExtraStateClosure() { - function CanvasExtraState() { - this.alphaIsShape = false; - this.fontSize = 0; - this.fontSizeScale = 1; - this.textMatrix = _util.IDENTITY_MATRIX; - this.textMatrixScale = 1; - this.fontMatrix = _util.FONT_IDENTITY_MATRIX; - this.leading = 0; - this.x = 0; - this.y = 0; - this.lineX = 0; - this.lineY = 0; - this.charSpacing = 0; - this.wordSpacing = 0; - this.textHScale = 1; - this.textRenderingMode = _util.TextRenderingMode.FILL; - this.textRise = 0; - this.fillColor = '#000000'; - this.strokeColor = '#000000'; - this.patternFill = false; - this.fillAlpha = 1; - this.strokeAlpha = 1; - this.lineWidth = 1; - this.activeSMask = null; - this.resumeSMaskCtx = null; - } - CanvasExtraState.prototype = { - clone: function CanvasExtraState_clone() { - return Object.create(this); - }, - setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) { - this.x = x; - this.y = y; - } - }; - return CanvasExtraState; -}(); -var CanvasGraphics = function CanvasGraphicsClosure() { - var EXECUTION_TIME = 15; - var EXECUTION_STEPS = 10; - function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer) { - this.ctx = canvasCtx; - this.current = new CanvasExtraState(); - this.stateStack = []; - this.pendingClip = null; - this.pendingEOFill = false; - this.res = null; - this.xobjs = null; - this.commonObjs = commonObjs; - this.objs = objs; - this.canvasFactory = canvasFactory; - this.imageLayer = imageLayer; - this.groupStack = []; - this.processingType3 = null; - this.baseTransform = null; - this.baseTransformStack = []; - this.groupLevel = 0; - this.smaskStack = []; - this.smaskCounter = 0; - this.tempSMask = null; - this.cachedCanvases = new CachedCanvases(this.canvasFactory); - if (canvasCtx) { - addContextCurrentTransform(canvasCtx); - } - this.cachedGetSinglePixelWidth = null; - } - function putBinaryImageData(ctx, imgData) { - if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) { - ctx.putImageData(imgData, 0, 0); - return; - } - var height = imgData.height, - width = imgData.width; - var partialChunkHeight = height % FULL_CHUNK_HEIGHT; - var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - var srcPos = 0, - destPos; - var src = imgData.data; - var dest = chunkImgData.data; - var i, j, thisChunkHeight, elemsInThisChunk; - if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { - var srcLength = src.byteLength; - var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); - var dest32DataLength = dest32.length; - var fullSrcDiff = width + 7 >> 3; - var white = 0xFFFFFFFF; - var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF; - for (i = 0; i < totalChunks; i++) { - thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - destPos = 0; - for (j = 0; j < thisChunkHeight; j++) { - var srcDiff = srcLength - srcPos; - var k = 0; - var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; - var kEndUnrolled = kEnd & ~7; - var mask = 0; - var srcByte = 0; - for (; k < kEndUnrolled; k += 8) { - srcByte = src[srcPos++]; - dest32[destPos++] = srcByte & 128 ? white : black; - dest32[destPos++] = srcByte & 64 ? white : black; - dest32[destPos++] = srcByte & 32 ? white : black; - dest32[destPos++] = srcByte & 16 ? white : black; - dest32[destPos++] = srcByte & 8 ? white : black; - dest32[destPos++] = srcByte & 4 ? white : black; - dest32[destPos++] = srcByte & 2 ? white : black; - dest32[destPos++] = srcByte & 1 ? white : black; - } - for (; k < kEnd; k++) { - if (mask === 0) { - srcByte = src[srcPos++]; - mask = 128; - } - dest32[destPos++] = srcByte & mask ? white : black; - mask >>= 1; - } - } - while (destPos < dest32DataLength) { - dest32[destPos++] = 0; - } - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { - j = 0; - elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; - for (i = 0; i < fullChunks; i++) { - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - srcPos += elemsInThisChunk; - ctx.putImageData(chunkImgData, 0, j); - j += FULL_CHUNK_HEIGHT; - } - if (i < totalChunks) { - elemsInThisChunk = width * partialChunkHeight * 4; - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - ctx.putImageData(chunkImgData, 0, j); - } - } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { - thisChunkHeight = FULL_CHUNK_HEIGHT; - elemsInThisChunk = width * thisChunkHeight; - for (i = 0; i < totalChunks; i++) { - if (i >= fullChunks) { - thisChunkHeight = partialChunkHeight; - elemsInThisChunk = width * thisChunkHeight; - } - destPos = 0; - for (j = elemsInThisChunk; j--;) { - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = 255; - } - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else { - throw new Error('bad image kind: ' + imgData.kind); - } - } - function putBinaryImageMask(ctx, imgData) { - var height = imgData.height, - width = imgData.width; - var partialChunkHeight = height % FULL_CHUNK_HEIGHT; - var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - var srcPos = 0; - var src = imgData.data; - var dest = chunkImgData.data; - for (var i = 0; i < totalChunks; i++) { - var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - var destPos = 3; - for (var j = 0; j < thisChunkHeight; j++) { - var mask = 0; - for (var k = 0; k < width; k++) { - if (!mask) { - var elem = src[srcPos++]; - mask = 128; - } - dest[destPos] = elem & mask ? 0 : 255; - destPos += 4; - mask >>= 1; - } - } - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } - function copyCtxState(sourceCtx, destCtx) { - var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font']; - for (var i = 0, ii = properties.length; i < ii; i++) { - var property = properties[i]; - if (sourceCtx[property] !== undefined) { - destCtx[property] = sourceCtx[property]; - } - } - if (sourceCtx.setLineDash !== undefined) { - destCtx.setLineDash(sourceCtx.getLineDash()); - destCtx.lineDashOffset = sourceCtx.lineDashOffset; - } - } - function resetCtxToDefault(ctx) { - ctx.strokeStyle = '#000000'; - ctx.fillStyle = '#000000'; - ctx.fillRule = 'nonzero'; - ctx.globalAlpha = 1; - ctx.lineWidth = 1; - ctx.lineCap = 'butt'; - ctx.lineJoin = 'miter'; - ctx.miterLimit = 10; - ctx.globalCompositeOperation = 'source-over'; - ctx.font = '10px sans-serif'; - if (ctx.setLineDash !== undefined) { - ctx.setLineDash([]); - ctx.lineDashOffset = 0; - } - } - function composeSMaskBackdrop(bytes, r0, g0, b0) { - var length = bytes.length; - for (var i = 3; i < length; i += 4) { - var alpha = bytes[i]; - if (alpha === 0) { - bytes[i - 3] = r0; - bytes[i - 2] = g0; - bytes[i - 1] = b0; - } else if (alpha < 255) { - var alpha_ = 255 - alpha; - bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; - bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; - bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; - } - } - } - function composeSMaskAlpha(maskData, layerData, transferMap) { - var length = maskData.length; - var scale = 1 / 255; - for (var i = 3; i < length; i += 4) { - var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; - layerData[i] = layerData[i] * alpha * scale | 0; - } - } - function composeSMaskLuminosity(maskData, layerData, transferMap) { - var length = maskData.length; - for (var i = 3; i < length; i += 4) { - var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; - layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; - } - } - function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) { - var hasBackdrop = !!backdrop; - var r0 = hasBackdrop ? backdrop[0] : 0; - var g0 = hasBackdrop ? backdrop[1] : 0; - var b0 = hasBackdrop ? backdrop[2] : 0; - var composeFn; - if (subtype === 'Luminosity') { - composeFn = composeSMaskLuminosity; - } else { - composeFn = composeSMaskAlpha; - } - var PIXELS_TO_PROCESS = 1048576; - var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); - for (var row = 0; row < height; row += chunkSize) { - var chunkHeight = Math.min(chunkSize, height - row); - var maskData = maskCtx.getImageData(0, row, width, chunkHeight); - var layerData = layerCtx.getImageData(0, row, width, chunkHeight); - if (hasBackdrop) { - composeSMaskBackdrop(maskData.data, r0, g0, b0); - } - composeFn(maskData.data, layerData.data, transferMap); - maskCtx.putImageData(layerData, 0, row); - } - } - function composeSMask(ctx, smask, layerCtx) { - var mask = smask.canvas; - var maskCtx = smask.context; - ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY); - var backdrop = smask.backdrop || null; - if (!smask.transferMap && _webgl.WebGLUtils.isEnabled) { - var composed = _webgl.WebGLUtils.composeSMask(layerCtx.canvas, mask, { - subtype: smask.subtype, - backdrop: backdrop - }); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.drawImage(composed, smask.offsetX, smask.offsetY); - return; - } - genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap); - ctx.drawImage(mask, 0, 0); - } - var LINE_CAP_STYLES = ['butt', 'round', 'square']; - var LINE_JOIN_STYLES = ['miter', 'round', 'bevel']; - var NORMAL_CLIP = {}; - var EO_CLIP = {}; - CanvasGraphics.prototype = { - beginDrawing: function beginDrawing(_ref) { - var transform = _ref.transform, - viewport = _ref.viewport, - transparency = _ref.transparency, - _ref$background = _ref.background, - background = _ref$background === undefined ? null : _ref$background; - - var width = this.ctx.canvas.width; - var height = this.ctx.canvas.height; - this.ctx.save(); - this.ctx.fillStyle = background || 'rgb(255, 255, 255)'; - this.ctx.fillRect(0, 0, width, height); - this.ctx.restore(); - if (transparency) { - var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true); - this.compositeCtx = this.ctx; - this.transparentCanvas = transparentCanvas.canvas; - this.ctx = transparentCanvas.context; - this.ctx.save(); - this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform); - } - this.ctx.save(); - resetCtxToDefault(this.ctx); - if (transform) { - this.ctx.transform.apply(this.ctx, transform); - } - this.ctx.transform.apply(this.ctx, viewport.transform); - this.baseTransform = this.ctx.mozCurrentTransform.slice(); - if (this.imageLayer) { - this.imageLayer.beginLayout(); - } - }, - - executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { - var argsArray = operatorList.argsArray; - var fnArray = operatorList.fnArray; - var i = executionStartIdx || 0; - var argsArrayLen = argsArray.length; - if (argsArrayLen === i) { - return i; - } - var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function'; - var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; - var steps = 0; - var commonObjs = this.commonObjs; - var objs = this.objs; - var fnId; - while (true) { - if (stepper !== undefined && i === stepper.nextBreakPoint) { - stepper.breakIt(i, continueCallback); - return i; - } - fnId = fnArray[i]; - if (fnId !== _util.OPS.dependency) { - this[fnId].apply(this, argsArray[i]); - } else { - var deps = argsArray[i]; - for (var n = 0, nn = deps.length; n < nn; n++) { - var depObjId = deps[n]; - var common = depObjId[0] === 'g' && depObjId[1] === '_'; - var objsPool = common ? commonObjs : objs; - if (!objsPool.isResolved(depObjId)) { - objsPool.get(depObjId, continueCallback); - return i; - } - } - } - i++; - if (i === argsArrayLen) { - return i; - } - if (chunkOperations && ++steps > EXECUTION_STEPS) { - if (Date.now() > endTime) { - continueCallback(); - return i; - } - steps = 0; - } - } - }, - endDrawing: function CanvasGraphics_endDrawing() { - if (this.current.activeSMask !== null) { - this.endSMaskGroup(); - } - this.ctx.restore(); - if (this.transparentCanvas) { - this.ctx = this.compositeCtx; - this.ctx.save(); - this.ctx.setTransform(1, 0, 0, 1, 0, 0); - this.ctx.drawImage(this.transparentCanvas, 0, 0); - this.ctx.restore(); - this.transparentCanvas = null; - } - this.cachedCanvases.clear(); - _webgl.WebGLUtils.clear(); - if (this.imageLayer) { - this.imageLayer.endLayout(); - } - }, - setLineWidth: function CanvasGraphics_setLineWidth(width) { - this.current.lineWidth = width; - this.ctx.lineWidth = width; - }, - setLineCap: function CanvasGraphics_setLineCap(style) { - this.ctx.lineCap = LINE_CAP_STYLES[style]; - }, - setLineJoin: function CanvasGraphics_setLineJoin(style) { - this.ctx.lineJoin = LINE_JOIN_STYLES[style]; - }, - setMiterLimit: function CanvasGraphics_setMiterLimit(limit) { - this.ctx.miterLimit = limit; - }, - setDash: function CanvasGraphics_setDash(dashArray, dashPhase) { - var ctx = this.ctx; - if (ctx.setLineDash !== undefined) { - ctx.setLineDash(dashArray); - ctx.lineDashOffset = dashPhase; - } - }, - setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {}, - setFlatness: function CanvasGraphics_setFlatness(flatness) {}, - setGState: function CanvasGraphics_setGState(states) { - for (var i = 0, ii = states.length; i < ii; i++) { - var state = states[i]; - var key = state[0]; - var value = state[1]; - switch (key) { - case 'LW': - this.setLineWidth(value); - break; - case 'LC': - this.setLineCap(value); - break; - case 'LJ': - this.setLineJoin(value); - break; - case 'ML': - this.setMiterLimit(value); - break; - case 'D': - this.setDash(value[0], value[1]); - break; - case 'RI': - this.setRenderingIntent(value); - break; - case 'FL': - this.setFlatness(value); - break; - case 'Font': - this.setFont(value[0], value[1]); - break; - case 'CA': - this.current.strokeAlpha = state[1]; - break; - case 'ca': - this.current.fillAlpha = state[1]; - this.ctx.globalAlpha = state[1]; - break; - case 'BM': - this.ctx.globalCompositeOperation = value; - break; - case 'SMask': - if (this.current.activeSMask) { - if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) { - this.suspendSMaskGroup(); - } else { - this.endSMaskGroup(); - } - } - this.current.activeSMask = value ? this.tempSMask : null; - if (this.current.activeSMask) { - this.beginSMaskGroup(); - } - this.tempSMask = null; - break; - } - } - }, - beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() { - var activeSMask = this.current.activeSMask; - var drawnWidth = activeSMask.canvas.width; - var drawnHeight = activeSMask.canvas.height; - var cacheId = 'smaskGroupAt' + this.groupLevel; - var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); - var currentCtx = this.ctx; - var currentTransform = currentCtx.mozCurrentTransform; - this.ctx.save(); - var groupCtx = scratchCanvas.context; - groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY); - groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY); - groupCtx.transform.apply(groupCtx, currentTransform); - activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse; - copyCtxState(currentCtx, groupCtx); - this.ctx = groupCtx; - this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]); - this.groupStack.push(currentCtx); - this.groupLevel++; - }, - suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.ctx; - this.groupLevel--; - this.ctx = this.groupStack.pop(); - composeSMask(this.ctx, this.current.activeSMask, groupCtx); - this.ctx.restore(); - this.ctx.save(); - copyCtxState(groupCtx, this.ctx); - this.current.resumeSMaskCtx = groupCtx; - var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); - this.ctx.transform.apply(this.ctx, deltaTransform); - groupCtx.save(); - groupCtx.setTransform(1, 0, 0, 1, 0, 0); - groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height); - groupCtx.restore(); - }, - resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.current.resumeSMaskCtx; - var currentCtx = this.ctx; - this.ctx = groupCtx; - this.groupStack.push(currentCtx); - this.groupLevel++; - }, - endSMaskGroup: function CanvasGraphics_endSMaskGroup() { - var groupCtx = this.ctx; - this.groupLevel--; - this.ctx = this.groupStack.pop(); - composeSMask(this.ctx, this.current.activeSMask, groupCtx); - this.ctx.restore(); - copyCtxState(groupCtx, this.ctx); - var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); - this.ctx.transform.apply(this.ctx, deltaTransform); - }, - save: function CanvasGraphics_save() { - this.ctx.save(); - var old = this.current; - this.stateStack.push(old); - this.current = old.clone(); - this.current.resumeSMaskCtx = null; - }, - restore: function CanvasGraphics_restore() { - if (this.current.resumeSMaskCtx) { - this.resumeSMaskGroup(); - } - if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) { - this.endSMaskGroup(); - } - if (this.stateStack.length !== 0) { - this.current = this.stateStack.pop(); - this.ctx.restore(); - this.pendingClip = null; - this.cachedGetSinglePixelWidth = null; - } - }, - transform: function CanvasGraphics_transform(a, b, c, d, e, f) { - this.ctx.transform(a, b, c, d, e, f); - this.cachedGetSinglePixelWidth = null; - }, - constructPath: function CanvasGraphics_constructPath(ops, args) { - var ctx = this.ctx; - var current = this.current; - var x = current.x, - y = current.y; - for (var i = 0, j = 0, ii = ops.length; i < ii; i++) { - switch (ops[i] | 0) { - case _util.OPS.rectangle: - x = args[j++]; - y = args[j++]; - var width = args[j++]; - var height = args[j++]; - if (width === 0) { - width = this.getSinglePixelWidth(); - } - if (height === 0) { - height = this.getSinglePixelWidth(); - } - var xw = x + width; - var yh = y + height; - this.ctx.moveTo(x, y); - this.ctx.lineTo(xw, y); - this.ctx.lineTo(xw, yh); - this.ctx.lineTo(x, yh); - this.ctx.lineTo(x, y); - this.ctx.closePath(); - break; - case _util.OPS.moveTo: - x = args[j++]; - y = args[j++]; - ctx.moveTo(x, y); - break; - case _util.OPS.lineTo: - x = args[j++]; - y = args[j++]; - ctx.lineTo(x, y); - break; - case _util.OPS.curveTo: - x = args[j + 4]; - y = args[j + 5]; - ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); - j += 6; - break; - case _util.OPS.curveTo2: - ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); - x = args[j + 2]; - y = args[j + 3]; - j += 4; - break; - case _util.OPS.curveTo3: - x = args[j + 2]; - y = args[j + 3]; - ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); - j += 4; - break; - case _util.OPS.closePath: - ctx.closePath(); - break; - } - } - current.setCurrentPoint(x, y); - }, - closePath: function CanvasGraphics_closePath() { - this.ctx.closePath(); - }, - stroke: function CanvasGraphics_stroke(consumePath) { - consumePath = typeof consumePath !== 'undefined' ? consumePath : true; - var ctx = this.ctx; - var strokeColor = this.current.strokeColor; - ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth); - ctx.globalAlpha = this.current.strokeAlpha; - if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') { - ctx.save(); - ctx.strokeStyle = strokeColor.getPattern(ctx, this); - ctx.stroke(); - ctx.restore(); - } else { - ctx.stroke(); - } - if (consumePath) { - this.consumePath(); - } - ctx.globalAlpha = this.current.fillAlpha; - }, - closeStroke: function CanvasGraphics_closeStroke() { - this.closePath(); - this.stroke(); - }, - fill: function CanvasGraphics_fill(consumePath) { - consumePath = typeof consumePath !== 'undefined' ? consumePath : true; - var ctx = this.ctx; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; - var needRestore = false; - if (isPatternFill) { - ctx.save(); - if (this.baseTransform) { - ctx.setTransform.apply(ctx, this.baseTransform); - } - ctx.fillStyle = fillColor.getPattern(ctx, this); - needRestore = true; - } - if (this.pendingEOFill) { - ctx.fill('evenodd'); - this.pendingEOFill = false; - } else { - ctx.fill(); - } - if (needRestore) { - ctx.restore(); - } - if (consumePath) { - this.consumePath(); - } - }, - eoFill: function CanvasGraphics_eoFill() { - this.pendingEOFill = true; - this.fill(); - }, - fillStroke: function CanvasGraphics_fillStroke() { - this.fill(false); - this.stroke(false); - this.consumePath(); - }, - eoFillStroke: function CanvasGraphics_eoFillStroke() { - this.pendingEOFill = true; - this.fillStroke(); - }, - closeFillStroke: function CanvasGraphics_closeFillStroke() { - this.closePath(); - this.fillStroke(); - }, - closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() { - this.pendingEOFill = true; - this.closePath(); - this.fillStroke(); - }, - endPath: function CanvasGraphics_endPath() { - this.consumePath(); - }, - clip: function CanvasGraphics_clip() { - this.pendingClip = NORMAL_CLIP; - }, - eoClip: function CanvasGraphics_eoClip() { - this.pendingClip = EO_CLIP; - }, - beginText: function CanvasGraphics_beginText() { - this.current.textMatrix = _util.IDENTITY_MATRIX; - this.current.textMatrixScale = 1; - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - }, - endText: function CanvasGraphics_endText() { - var paths = this.pendingTextPaths; - var ctx = this.ctx; - if (paths === undefined) { - ctx.beginPath(); - return; - } - ctx.save(); - ctx.beginPath(); - for (var i = 0; i < paths.length; i++) { - var path = paths[i]; - ctx.setTransform.apply(ctx, path.transform); - ctx.translate(path.x, path.y); - path.addToPath(ctx, path.fontSize); - } - ctx.restore(); - ctx.clip(); - ctx.beginPath(); - delete this.pendingTextPaths; - }, - setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) { - this.current.charSpacing = spacing; - }, - setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) { - this.current.wordSpacing = spacing; - }, - setHScale: function CanvasGraphics_setHScale(scale) { - this.current.textHScale = scale / 100; - }, - setLeading: function CanvasGraphics_setLeading(leading) { - this.current.leading = -leading; - }, - setFont: function CanvasGraphics_setFont(fontRefName, size) { - var fontObj = this.commonObjs.get(fontRefName); - var current = this.current; - if (!fontObj) { - throw new Error('Can\'t find font for ' + fontRefName); - } - current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX; - if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { - (0, _util.warn)('Invalid font matrix for font ' + fontRefName); - } - if (size < 0) { - size = -size; - current.fontDirection = -1; - } else { - current.fontDirection = 1; - } - this.current.font = fontObj; - this.current.fontSize = size; - if (fontObj.isType3Font) { - return; - } - var name = fontObj.loadedName || 'sans-serif'; - var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal'; - var italic = fontObj.italic ? 'italic' : 'normal'; - var typeface = '"' + name + '", ' + fontObj.fallbackName; - var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size; - this.current.fontSizeScale = size / browserFontSize; - var rule = italic + ' ' + bold + ' ' + browserFontSize + 'px ' + typeface; - this.ctx.font = rule; - }, - setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) { - this.current.textRenderingMode = mode; - }, - setTextRise: function CanvasGraphics_setTextRise(rise) { - this.current.textRise = rise; - }, - moveText: function CanvasGraphics_moveText(x, y) { - this.current.x = this.current.lineX += x; - this.current.y = this.current.lineY += y; - }, - setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) { - this.setLeading(-y); - this.moveText(x, y); - }, - setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) { - this.current.textMatrix = [a, b, c, d, e, f]; - this.current.textMatrixScale = Math.sqrt(a * a + b * b); - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - }, - nextLine: function CanvasGraphics_nextLine() { - this.moveText(0, this.current.leading); - }, - paintChar: function CanvasGraphics_paintChar(character, x, y) { - var ctx = this.ctx; - var current = this.current; - var font = current.font; - var textRenderingMode = current.textRenderingMode; - var fontSize = current.fontSize / current.fontSizeScale; - var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; - var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); - var addToPath; - if (font.disableFontFace || isAddToPathSet) { - addToPath = font.getPathGenerator(this.commonObjs, character); - } - if (font.disableFontFace) { - ctx.save(); - ctx.translate(x, y); - ctx.beginPath(); - addToPath(ctx, fontSize); - if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.fill(); - } - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.stroke(); - } - ctx.restore(); - } else { - if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.fillText(character, x, y); - } - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.strokeText(character, x, y); - } - } - if (isAddToPathSet) { - var paths = this.pendingTextPaths || (this.pendingTextPaths = []); - paths.push({ - transform: ctx.mozCurrentTransform, - x: x, - y: y, - fontSize: fontSize, - addToPath: addToPath - }); - } - }, - get isFontSubpixelAAEnabled() { - var ctx = this.canvasFactory.create(10, 10).context; - ctx.scale(1.5, 1); - ctx.fillText('I', 0, 10); - var data = ctx.getImageData(0, 0, 10, 10).data; - var enabled = false; - for (var i = 3; i < data.length; i += 4) { - if (data[i] > 0 && data[i] < 255) { - enabled = true; - break; - } - } - return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled); - }, - showText: function CanvasGraphics_showText(glyphs) { - var current = this.current; - var font = current.font; - if (font.isType3Font) { - return this.showType3Text(glyphs); - } - var fontSize = current.fontSize; - if (fontSize === 0) { - return; - } - var ctx = this.ctx; - var fontSizeScale = current.fontSizeScale; - var charSpacing = current.charSpacing; - var wordSpacing = current.wordSpacing; - var fontDirection = current.fontDirection; - var textHScale = current.textHScale * fontDirection; - var glyphsLength = glyphs.length; - var vertical = font.vertical; - var spacingDir = vertical ? 1 : -1; - var defaultVMetrics = font.defaultVMetrics; - var widthAdvanceScale = fontSize * current.fontMatrix[0]; - var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace; - ctx.save(); - ctx.transform.apply(ctx, current.textMatrix); - ctx.translate(current.x, current.y + current.textRise); - if (current.patternFill) { - ctx.fillStyle = current.fillColor.getPattern(ctx, this); - } - if (fontDirection > 0) { - ctx.scale(textHScale, -1); - } else { - ctx.scale(textHScale, 1); - } - var lineWidth = current.lineWidth; - var scale = current.textMatrixScale; - if (scale === 0 || lineWidth === 0) { - var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - this.cachedGetSinglePixelWidth = null; - lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR; - } - } else { - lineWidth /= scale; - } - if (fontSizeScale !== 1.0) { - ctx.scale(fontSizeScale, fontSizeScale); - lineWidth /= fontSizeScale; - } - ctx.lineWidth = lineWidth; - var x = 0, - i; - for (i = 0; i < glyphsLength; ++i) { - var glyph = glyphs[i]; - if ((0, _util.isNum)(glyph)) { - x += spacingDir * glyph * fontSize / 1000; - continue; - } - var restoreNeeded = false; - var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - var character = glyph.fontChar; - var accent = glyph.accent; - var scaledX, scaledY, scaledAccentX, scaledAccentY; - var width = glyph.width; - if (vertical) { - var vmetric, vx, vy; - vmetric = glyph.vmetric || defaultVMetrics; - vx = glyph.vmetric ? vmetric[1] : width * 0.5; - vx = -vx * widthAdvanceScale; - vy = vmetric[2] * widthAdvanceScale; - width = vmetric ? -vmetric[0] : width; - scaledX = vx / fontSizeScale; - scaledY = (x + vy) / fontSizeScale; - } else { - scaledX = x / fontSizeScale; - scaledY = 0; - } - if (font.remeasure && width > 0) { - var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; - if (width < measuredWidth && this.isFontSubpixelAAEnabled) { - var characterScaleX = width / measuredWidth; - restoreNeeded = true; - ctx.save(); - ctx.scale(characterScaleX, 1); - scaledX /= characterScaleX; - } else if (width !== measuredWidth) { - scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; - } - } - if (glyph.isInFont || font.missingFile) { - if (simpleFillText && !accent) { - ctx.fillText(character, scaledX, scaledY); - } else { - this.paintChar(character, scaledX, scaledY); - if (accent) { - scaledAccentX = scaledX + accent.offset.x / fontSizeScale; - scaledAccentY = scaledY - accent.offset.y / fontSizeScale; - this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY); - } - } - } - var charWidth = width * widthAdvanceScale + spacing * fontDirection; - x += charWidth; - if (restoreNeeded) { - ctx.restore(); - } - } - if (vertical) { - current.y -= x * textHScale; - } else { - current.x += x * textHScale; - } - ctx.restore(); - }, - showType3Text: function CanvasGraphics_showType3Text(glyphs) { - var ctx = this.ctx; - var current = this.current; - var font = current.font; - var fontSize = current.fontSize; - var fontDirection = current.fontDirection; - var spacingDir = font.vertical ? 1 : -1; - var charSpacing = current.charSpacing; - var wordSpacing = current.wordSpacing; - var textHScale = current.textHScale * fontDirection; - var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; - var glyphsLength = glyphs.length; - var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; - var i, glyph, width, spacingLength; - if (isTextInvisible || fontSize === 0) { - return; - } - this.cachedGetSinglePixelWidth = null; - ctx.save(); - ctx.transform.apply(ctx, current.textMatrix); - ctx.translate(current.x, current.y); - ctx.scale(textHScale, fontDirection); - for (i = 0; i < glyphsLength; ++i) { - glyph = glyphs[i]; - if ((0, _util.isNum)(glyph)) { - spacingLength = spacingDir * glyph * fontSize / 1000; - this.ctx.translate(spacingLength, 0); - current.x += spacingLength * textHScale; - continue; - } - var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - var operatorList = font.charProcOperatorList[glyph.operatorListId]; - if (!operatorList) { - (0, _util.warn)('Type3 character "' + glyph.operatorListId + '" is not available.'); - continue; - } - this.processingType3 = glyph; - this.save(); - ctx.scale(fontSize, fontSize); - ctx.transform.apply(ctx, fontMatrix); - this.executeOperatorList(operatorList); - this.restore(); - var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); - width = transformed[0] * fontSize + spacing; - ctx.translate(width, 0); - current.x += width * textHScale; - } - ctx.restore(); - this.processingType3 = null; - }, - setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {}, - setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { - this.ctx.rect(llx, lly, urx - llx, ury - lly); - this.clip(); - this.endPath(); - }, - getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) { - var _this = this; - - var pattern; - if (IR[0] === 'TilingPattern') { - var color = IR[1]; - var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice(); - var canvasGraphicsFactory = { - createCanvasGraphics: function createCanvasGraphics(ctx) { - return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory); - } - }; - pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); - } else { - pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR); - } - return pattern; - }, - setStrokeColorN: function CanvasGraphics_setStrokeColorN() { - this.current.strokeColor = this.getColorN_Pattern(arguments); - }, - setFillColorN: function CanvasGraphics_setFillColorN() { - this.current.fillColor = this.getColorN_Pattern(arguments); - this.current.patternFill = true; - }, - setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); - this.ctx.strokeStyle = color; - this.current.strokeColor = color; - }, - setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) { - var color = _util.Util.makeCssRgb(r, g, b); - this.ctx.fillStyle = color; - this.current.fillColor = color; - this.current.patternFill = false; - }, - shadingFill: function CanvasGraphics_shadingFill(patternIR) { - var ctx = this.ctx; - this.save(); - var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR); - ctx.fillStyle = pattern.getPattern(ctx, this, true); - var inv = ctx.mozCurrentTransformInverse; - if (inv) { - var canvas = ctx.canvas; - var width = canvas.width; - var height = canvas.height; - var bl = _util.Util.applyTransform([0, 0], inv); - var br = _util.Util.applyTransform([0, height], inv); - var ul = _util.Util.applyTransform([width, 0], inv); - var ur = _util.Util.applyTransform([width, height], inv); - var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); - var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); - var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); - var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); - this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); - } else { - this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); - } - this.restore(); - }, - beginInlineImage: function CanvasGraphics_beginInlineImage() { - throw new Error('Should not call beginInlineImage'); - }, - beginImageData: function CanvasGraphics_beginImageData() { - throw new Error('Should not call beginImageData'); - }, - paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) { - this.save(); - this.baseTransformStack.push(this.baseTransform); - if ((0, _util.isArray)(matrix) && matrix.length === 6) { - this.transform.apply(this, matrix); - } - this.baseTransform = this.ctx.mozCurrentTransform; - if ((0, _util.isArray)(bbox) && bbox.length === 4) { - var width = bbox[2] - bbox[0]; - var height = bbox[3] - bbox[1]; - this.ctx.rect(bbox[0], bbox[1], width, height); - this.clip(); - this.endPath(); - } - }, - paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() { - this.restore(); - this.baseTransform = this.baseTransformStack.pop(); - }, - beginGroup: function CanvasGraphics_beginGroup(group) { - this.save(); - var currentCtx = this.ctx; - if (!group.isolated) { - (0, _util.info)('TODO: Support non-isolated groups.'); - } - if (group.knockout) { - (0, _util.warn)('Knockout groups not supported.'); - } - var currentTransform = currentCtx.mozCurrentTransform; - if (group.matrix) { - currentCtx.transform.apply(currentCtx, group.matrix); - } - if (!group.bbox) { - throw new Error('Bounding box is required.'); - } - var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform); - var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; - bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; - var offsetX = Math.floor(bounds[0]); - var offsetY = Math.floor(bounds[1]); - var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); - var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); - var scaleX = 1, - scaleY = 1; - if (drawnWidth > MAX_GROUP_SIZE) { - scaleX = drawnWidth / MAX_GROUP_SIZE; - drawnWidth = MAX_GROUP_SIZE; - } - if (drawnHeight > MAX_GROUP_SIZE) { - scaleY = drawnHeight / MAX_GROUP_SIZE; - drawnHeight = MAX_GROUP_SIZE; - } - var cacheId = 'groupAt' + this.groupLevel; - if (group.smask) { - cacheId += '_smask_' + this.smaskCounter++ % 2; - } - var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); - var groupCtx = scratchCanvas.context; - groupCtx.scale(1 / scaleX, 1 / scaleY); - groupCtx.translate(-offsetX, -offsetY); - groupCtx.transform.apply(groupCtx, currentTransform); - if (group.smask) { - this.smaskStack.push({ - canvas: scratchCanvas.canvas, - context: groupCtx, - offsetX: offsetX, - offsetY: offsetY, - scaleX: scaleX, - scaleY: scaleY, - subtype: group.smask.subtype, - backdrop: group.smask.backdrop, - transferMap: group.smask.transferMap || null, - startTransformInverse: null - }); - } else { - currentCtx.setTransform(1, 0, 0, 1, 0, 0); - currentCtx.translate(offsetX, offsetY); - currentCtx.scale(scaleX, scaleY); - } - copyCtxState(currentCtx, groupCtx); - this.ctx = groupCtx; - this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]); - this.groupStack.push(currentCtx); - this.groupLevel++; - this.current.activeSMask = null; - }, - endGroup: function CanvasGraphics_endGroup(group) { - this.groupLevel--; - var groupCtx = this.ctx; - this.ctx = this.groupStack.pop(); - if (this.ctx.imageSmoothingEnabled !== undefined) { - this.ctx.imageSmoothingEnabled = false; - } else { - this.ctx.mozImageSmoothingEnabled = false; - } - if (group.smask) { - this.tempSMask = this.smaskStack.pop(); - } else { - this.ctx.drawImage(groupCtx.canvas, 0, 0); - } - this.restore(); - }, - beginAnnotations: function CanvasGraphics_beginAnnotations() { - this.save(); - if (this.baseTransform) { - this.ctx.setTransform.apply(this.ctx, this.baseTransform); - } - }, - endAnnotations: function CanvasGraphics_endAnnotations() { - this.restore(); - }, - beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) { - this.save(); - resetCtxToDefault(this.ctx); - this.current = new CanvasExtraState(); - if ((0, _util.isArray)(rect) && rect.length === 4) { - var width = rect[2] - rect[0]; - var height = rect[3] - rect[1]; - this.ctx.rect(rect[0], rect[1], width, height); - this.clip(); - this.endPath(); - } - this.transform.apply(this, transform); - this.transform.apply(this, matrix); - }, - endAnnotation: function CanvasGraphics_endAnnotation() { - this.restore(); - }, - paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) { - var domImage = this.objs.get(objId); - if (!domImage) { - (0, _util.warn)('Dependent image isn\'t ready yet'); - return; - } - this.save(); - var ctx = this.ctx; - ctx.scale(1 / w, -1 / h); - ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h); - if (this.imageLayer) { - var currentTransform = ctx.mozCurrentTransformInverse; - var position = this.getCanvasPosition(0, 0); - this.imageLayer.appendImage({ - objId: objId, - left: position[0], - top: position[1], - width: w / currentTransform[0], - height: h / currentTransform[3] - }); - } - this.restore(); - }, - paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) { - var ctx = this.ctx; - var width = img.width, - height = img.height; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; - var glyph = this.processingType3; - if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) { - if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) { - glyph.compiled = compileType3Glyph({ - data: img.data, - width: width, - height: height - }); - } else { - glyph.compiled = null; - } - } - if (glyph && glyph.compiled) { - glyph.compiled(ctx); - return; - } - var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height); - var maskCtx = maskCanvas.context; - maskCtx.save(); - putBinaryImageMask(maskCtx, img); - maskCtx.globalCompositeOperation = 'source-in'; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); - this.paintInlineImageXObject(maskCanvas.canvas); - }, - paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) { - var width = imgData.width; - var height = imgData.height; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; - var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height); - var maskCtx = maskCanvas.context; - maskCtx.save(); - putBinaryImageMask(maskCtx, imgData); - maskCtx.globalCompositeOperation = 'source-in'; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); - var ctx = this.ctx; - for (var i = 0, ii = positions.length; i < ii; i += 2) { - ctx.save(); - ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]); - ctx.scale(1, -1); - ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); - ctx.restore(); - } - }, - paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) { - var ctx = this.ctx; - var fillColor = this.current.fillColor; - var isPatternFill = this.current.patternFill; - for (var i = 0, ii = images.length; i < ii; i++) { - var image = images[i]; - var width = image.width, - height = image.height; - var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height); - var maskCtx = maskCanvas.context; - maskCtx.save(); - putBinaryImageMask(maskCtx, image); - maskCtx.globalCompositeOperation = 'source-in'; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); - ctx.save(); - ctx.transform.apply(ctx, image.transform); - ctx.scale(1, -1); - ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); - ctx.restore(); - } - }, - paintImageXObject: function CanvasGraphics_paintImageXObject(objId) { - var imgData = this.objs.get(objId); - if (!imgData) { - (0, _util.warn)('Dependent image isn\'t ready yet'); - return; - } - this.paintInlineImageXObject(imgData); - }, - paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { - var imgData = this.objs.get(objId); - if (!imgData) { - (0, _util.warn)('Dependent image isn\'t ready yet'); - return; - } - var width = imgData.width; - var height = imgData.height; - var map = []; - for (var i = 0, ii = positions.length; i < ii; i += 2) { - map.push({ - transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], - x: 0, - y: 0, - w: width, - h: height - }); - } - this.paintInlineImageXObjectGroup(imgData, map); - }, - paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) { - var width = imgData.width; - var height = imgData.height; - var ctx = this.ctx; - this.save(); - ctx.scale(1 / width, -1 / height); - var currentTransform = ctx.mozCurrentTransformInverse; - var a = currentTransform[0], - b = currentTransform[1]; - var widthScale = Math.max(Math.sqrt(a * a + b * b), 1); - var c = currentTransform[2], - d = currentTransform[3]; - var heightScale = Math.max(Math.sqrt(c * c + d * d), 1); - var imgToPaint, tmpCanvas; - if (imgData instanceof HTMLElement || !imgData.data) { - imgToPaint = imgData; - } else { - tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height); - var tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData); - imgToPaint = tmpCanvas.canvas; - } - var paintWidth = width, - paintHeight = height; - var tmpCanvasId = 'prescale1'; - while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { - var newWidth = paintWidth, - newHeight = paintHeight; - if (widthScale > 2 && paintWidth > 1) { - newWidth = Math.ceil(paintWidth / 2); - widthScale /= paintWidth / newWidth; - } - if (heightScale > 2 && paintHeight > 1) { - newHeight = Math.ceil(paintHeight / 2); - heightScale /= paintHeight / newHeight; - } - tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); - tmpCtx = tmpCanvas.context; - tmpCtx.clearRect(0, 0, newWidth, newHeight); - tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); - imgToPaint = tmpCanvas.canvas; - paintWidth = newWidth; - paintHeight = newHeight; - tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1'; - } - ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height); - if (this.imageLayer) { - var position = this.getCanvasPosition(0, -height); - this.imageLayer.appendImage({ - imgData: imgData, - left: position[0], - top: position[1], - width: width / currentTransform[0], - height: height / currentTransform[3] - }); - } - this.restore(); - }, - paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) { - var ctx = this.ctx; - var w = imgData.width; - var h = imgData.height; - var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h); - var tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData); - for (var i = 0, ii = map.length; i < ii; i++) { - var entry = map[i]; - ctx.save(); - ctx.transform.apply(ctx, entry.transform); - ctx.scale(1, -1); - ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); - if (this.imageLayer) { - var position = this.getCanvasPosition(entry.x, entry.y); - this.imageLayer.appendImage({ - imgData: imgData, - left: position[0], - top: position[1], - width: w, - height: h - }); - } - ctx.restore(); - } - }, - paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() { - this.ctx.fillRect(0, 0, 1, 1); - }, - paintXObject: function CanvasGraphics_paintXObject() { - (0, _util.warn)('Unsupported \'paintXObject\' command.'); - }, - markPoint: function CanvasGraphics_markPoint(tag) {}, - markPointProps: function CanvasGraphics_markPointProps(tag, properties) {}, - beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {}, - beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {}, - endMarkedContent: function CanvasGraphics_endMarkedContent() {}, - beginCompat: function CanvasGraphics_beginCompat() {}, - endCompat: function CanvasGraphics_endCompat() {}, - consumePath: function CanvasGraphics_consumePath() { - var ctx = this.ctx; - if (this.pendingClip) { - if (this.pendingClip === EO_CLIP) { - ctx.clip('evenodd'); - } else { - ctx.clip(); - } - this.pendingClip = null; - } - ctx.beginPath(); - }, - getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) { - if (this.cachedGetSinglePixelWidth === null) { - this.ctx.save(); - var inverse = this.ctx.mozCurrentTransformInverse; - this.ctx.restore(); - this.cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3])); - } - return this.cachedGetSinglePixelWidth; - }, - getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) { - var transform = this.ctx.mozCurrentTransform; - return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]]; - } - }; - for (var op in _util.OPS) { - CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; - } - return CanvasGraphics; -}(); -exports.CanvasGraphics = CanvasGraphics; - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.FontLoader = exports.FontFaceObject = undefined; - -var _util = __w_pdfjs_require__(0); - -function FontLoader(docId) { - this.docId = docId; - this.styleElement = null; - this.nativeFontFaces = []; - this.loadTestFontId = 0; - this.loadingContext = { - requests: [], - nextRequestId: 0 - }; -} -FontLoader.prototype = { - insertRule: function fontLoaderInsertRule(rule) { - var styleElement = this.styleElement; - if (!styleElement) { - styleElement = this.styleElement = document.createElement('style'); - styleElement.id = 'PDFJS_FONT_STYLE_TAG_' + this.docId; - document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement); - } - var styleSheet = styleElement.sheet; - styleSheet.insertRule(rule, styleSheet.cssRules.length); - }, - clear: function fontLoaderClear() { - if (this.styleElement) { - this.styleElement.remove(); - this.styleElement = null; - } - this.nativeFontFaces.forEach(function (nativeFontFace) { - document.fonts.delete(nativeFontFace); - }); - this.nativeFontFaces.length = 0; - } -}; -{ - var getLoadTestFont = function getLoadTestFont() { - return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQ' + 'AABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwA' + 'AAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbm' + 'FtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAA' + 'AADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6A' + 'ABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAA' + 'MQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAA' + 'AAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAA' + 'AAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQ' + 'AAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMA' + 'AQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAA' + 'EAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAA' + 'AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAA' + 'AAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgc' + 'A/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWF' + 'hYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQA' + 'AAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAg' + 'ABAAAAAAAAAAAD6AAAAAAAAA=='); - }; - Object.defineProperty(FontLoader.prototype, 'loadTestFont', { - get: function get() { - return (0, _util.shadow)(this, 'loadTestFont', getLoadTestFont()); - }, - - configurable: true - }); - FontLoader.prototype.addNativeFontFace = function fontLoader_addNativeFontFace(nativeFontFace) { - this.nativeFontFaces.push(nativeFontFace); - document.fonts.add(nativeFontFace); - }; - FontLoader.prototype.bind = function fontLoaderBind(fonts, callback) { - var rules = []; - var fontsToLoad = []; - var fontLoadPromises = []; - var getNativeFontPromise = function getNativeFontPromise(nativeFontFace) { - return nativeFontFace.loaded.catch(function (e) { - (0, _util.warn)('Failed to load font "' + nativeFontFace.family + '": ' + e); - }); - }; - var isFontLoadingAPISupported = FontLoader.isFontLoadingAPISupported && !FontLoader.isSyncFontLoadingSupported; - for (var i = 0, ii = fonts.length; i < ii; i++) { - var font = fonts[i]; - if (font.attached || font.loading === false) { - continue; - } - font.attached = true; - if (isFontLoadingAPISupported) { - var nativeFontFace = font.createNativeFontFace(); - if (nativeFontFace) { - this.addNativeFontFace(nativeFontFace); - fontLoadPromises.push(getNativeFontPromise(nativeFontFace)); - } - } else { - var rule = font.createFontFaceRule(); - if (rule) { - this.insertRule(rule); - rules.push(rule); - fontsToLoad.push(font); - } - } - } - var request = this.queueLoadingCallback(callback); - if (isFontLoadingAPISupported) { - Promise.all(fontLoadPromises).then(function () { - request.complete(); - }); - } else if (rules.length > 0 && !FontLoader.isSyncFontLoadingSupported) { - this.prepareFontLoadEvent(rules, fontsToLoad, request); - } else { - request.complete(); - } - }; - FontLoader.prototype.queueLoadingCallback = function FontLoader_queueLoadingCallback(callback) { - function LoadLoader_completeRequest() { - (0, _util.assert)(!request.end, 'completeRequest() cannot be called twice'); - request.end = Date.now(); - while (context.requests.length > 0 && context.requests[0].end) { - var otherRequest = context.requests.shift(); - setTimeout(otherRequest.callback, 0); - } - } - var context = this.loadingContext; - var requestId = 'pdfjs-font-loading-' + context.nextRequestId++; - var request = { - id: requestId, - complete: LoadLoader_completeRequest, - callback: callback, - started: Date.now() - }; - context.requests.push(request); - return request; - }; - FontLoader.prototype.prepareFontLoadEvent = function fontLoaderPrepareFontLoadEvent(rules, fonts, request) { - function int32(data, offset) { - return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; - } - function spliceString(s, offset, remove, insert) { - var chunk1 = s.substr(0, offset); - var chunk2 = s.substr(offset + remove); - return chunk1 + insert + chunk2; - } - var i, ii; - var canvas = document.createElement('canvas'); - canvas.width = 1; - canvas.height = 1; - var ctx = canvas.getContext('2d'); - var called = 0; - function isFontReady(name, callback) { - called++; - if (called > 30) { - (0, _util.warn)('Load test font never loaded.'); - callback(); - return; - } - ctx.font = '30px ' + name; - ctx.fillText('.', 0, 20); - var imageData = ctx.getImageData(0, 0, 1, 1); - if (imageData.data[3] > 0) { - callback(); - return; - } - setTimeout(isFontReady.bind(null, name, callback)); - } - var loadTestFontId = 'lt' + Date.now() + this.loadTestFontId++; - var data = this.loadTestFont; - var COMMENT_OFFSET = 976; - data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); - var CFF_CHECKSUM_OFFSET = 16; - var XXXX_VALUE = 0x58585858; - var checksum = int32(data, CFF_CHECKSUM_OFFSET); - for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { - checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; - } - if (i < loadTestFontId.length) { - checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0; - } - data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); - var url = 'url(data:font/opentype;base64,' + btoa(data) + ');'; - var rule = '@font-face { font-family:"' + loadTestFontId + '";src:' + url + '}'; - this.insertRule(rule); - var names = []; - for (i = 0, ii = fonts.length; i < ii; i++) { - names.push(fonts[i].loadedName); - } - names.push(loadTestFontId); - var div = document.createElement('div'); - div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;'); - for (i = 0, ii = names.length; i < ii; ++i) { - var span = document.createElement('span'); - span.textContent = 'Hi'; - span.style.fontFamily = names[i]; - div.appendChild(span); - } - document.body.appendChild(div); - isFontReady(loadTestFontId, function () { - document.body.removeChild(div); - request.complete(); - }); - }; -} -{ - FontLoader.isFontLoadingAPISupported = typeof document !== 'undefined' && !!document.fonts; -} -{ - var isSyncFontLoadingSupported = function isSyncFontLoadingSupported() { - if (typeof navigator === 'undefined') { - return true; - } - var supported = false; - var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); - if (m && m[1] >= 14) { - supported = true; - } - return supported; - }; - Object.defineProperty(FontLoader, 'isSyncFontLoadingSupported', { - get: function get() { - return (0, _util.shadow)(FontLoader, 'isSyncFontLoadingSupported', isSyncFontLoadingSupported()); - }, - - enumerable: true, - configurable: true - }); -} -var IsEvalSupportedCached = { - get value() { - return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)()); - } -}; -var FontFaceObject = function FontFaceObjectClosure() { - function FontFaceObject(translatedData, options) { - this.compiledGlyphs = Object.create(null); - for (var i in translatedData) { - this[i] = translatedData[i]; - } - this.options = options; - } - FontFaceObject.prototype = { - createNativeFontFace: function FontFaceObject_createNativeFontFace() { - if (!this.data) { - return null; - } - if (this.options.disableFontFace) { - this.disableFontFace = true; - return null; - } - var nativeFontFace = new FontFace(this.loadedName, this.data, {}); - if (this.options.fontRegistry) { - this.options.fontRegistry.registerFont(this); - } - return nativeFontFace; - }, - createFontFaceRule: function FontFaceObject_createFontFaceRule() { - if (!this.data) { - return null; - } - if (this.options.disableFontFace) { - this.disableFontFace = true; - return null; - } - var data = (0, _util.bytesToString)(new Uint8Array(this.data)); - var fontName = this.loadedName; - var url = 'url(data:' + this.mimetype + ';base64,' + btoa(data) + ');'; - var rule = '@font-face { font-family:"' + fontName + '";src:' + url + '}'; - if (this.options.fontRegistry) { - this.options.fontRegistry.registerFont(this, url); - } - return rule; - }, - getPathGenerator: function FontFaceObject_getPathGenerator(objs, character) { - if (!(character in this.compiledGlyphs)) { - var cmds = objs.get(this.loadedName + '_path_' + character); - var current, i, len; - if (this.options.isEvalSupported && IsEvalSupportedCached.value) { - var args, - js = ''; - for (i = 0, len = cmds.length; i < len; i++) { - current = cmds[i]; - if (current.args !== undefined) { - args = current.args.join(','); - } else { - args = ''; - } - js += 'c.' + current.cmd + '(' + args + ');\n'; - } - this.compiledGlyphs[character] = new Function('c', 'size', js); - } else { - this.compiledGlyphs[character] = function (c, size) { - for (i = 0, len = cmds.length; i < len; i++) { - current = cmds[i]; - if (current.cmd === 'scale') { - current.args = [size, -size]; - } - c[current.cmd].apply(c, current.args); - } - }; - } - } - return this.compiledGlyphs[character]; - } - }; - return FontFaceObject; -}(); -exports.FontFaceObject = FontFaceObject; -exports.FontLoader = FontLoader; - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TilingPattern = exports.getShadingPatternFromIR = undefined; - -var _util = __w_pdfjs_require__(0); - -var _webgl = __w_pdfjs_require__(7); - -var ShadingIRs = {}; -ShadingIRs.RadialAxial = { - fromIR: function RadialAxial_fromIR(raw) { - var type = raw[1]; - var colorStops = raw[2]; - var p0 = raw[3]; - var p1 = raw[4]; - var r0 = raw[5]; - var r1 = raw[6]; - return { - type: 'Pattern', - getPattern: function RadialAxial_getPattern(ctx) { - var grad; - if (type === 'axial') { - grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]); - } else if (type === 'radial') { - grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1); - } - for (var i = 0, ii = colorStops.length; i < ii; ++i) { - var c = colorStops[i]; - grad.addColorStop(c[0], c[1]); - } - return grad; - } - }; - } -}; -var createMeshCanvas = function createMeshCanvasClosure() { - function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { - var coords = context.coords, - colors = context.colors; - var bytes = data.data, - rowSize = data.width * 4; - var tmp; - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; - } - if (coords[p2 + 1] > coords[p3 + 1]) { - tmp = p2; - p2 = p3; - p3 = tmp; - tmp = c2; - c2 = c3; - c3 = tmp; - } - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; - } - var x1 = (coords[p1] + context.offsetX) * context.scaleX; - var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; - var x2 = (coords[p2] + context.offsetX) * context.scaleX; - var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; - var x3 = (coords[p3] + context.offsetX) * context.scaleX; - var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; - if (y1 >= y3) { - return; - } - var c1r = colors[c1], - c1g = colors[c1 + 1], - c1b = colors[c1 + 2]; - var c2r = colors[c2], - c2g = colors[c2 + 1], - c2b = colors[c2 + 2]; - var c3r = colors[c3], - c3g = colors[c3 + 1], - c3b = colors[c3 + 2]; - var minY = Math.round(y1), - maxY = Math.round(y3); - var xa, car, cag, cab; - var xb, cbr, cbg, cbb; - var k; - for (var y = minY; y <= maxY; y++) { - if (y < y2) { - k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2); - xa = x1 - (x1 - x2) * k; - car = c1r - (c1r - c2r) * k; - cag = c1g - (c1g - c2g) * k; - cab = c1b - (c1b - c2b) * k; - } else { - k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3); - xa = x2 - (x2 - x3) * k; - car = c2r - (c2r - c3r) * k; - cag = c2g - (c2g - c3g) * k; - cab = c2b - (c2b - c3b) * k; - } - k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3); - xb = x1 - (x1 - x3) * k; - cbr = c1r - (c1r - c3r) * k; - cbg = c1g - (c1g - c3g) * k; - cbb = c1b - (c1b - c3b) * k; - var x1_ = Math.round(Math.min(xa, xb)); - var x2_ = Math.round(Math.max(xa, xb)); - var j = rowSize * y + x1_ * 4; - for (var x = x1_; x <= x2_; x++) { - k = (xa - x) / (xa - xb); - k = k < 0 ? 0 : k > 1 ? 1 : k; - bytes[j++] = car - (car - cbr) * k | 0; - bytes[j++] = cag - (cag - cbg) * k | 0; - bytes[j++] = cab - (cab - cbb) * k | 0; - bytes[j++] = 255; - } - } - } - function drawFigure(data, figure, context) { - var ps = figure.coords; - var cs = figure.colors; - var i, ii; - switch (figure.type) { - case 'lattice': - var verticesPerRow = figure.verticesPerRow; - var rows = Math.floor(ps.length / verticesPerRow) - 1; - var cols = verticesPerRow - 1; - for (i = 0; i < rows; i++) { - var q = i * verticesPerRow; - for (var j = 0; j < cols; j++, q++) { - drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); - drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); - } - } - break; - case 'triangles': - for (i = 0, ii = ps.length; i < ii; i += 3) { - drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); - } - break; - default: - throw new Error('illegal figure'); - } - } - function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases) { - var EXPECTED_SCALE = 1.1; - var MAX_PATTERN_SIZE = 3000; - var BORDER_SIZE = 2; - var offsetX = Math.floor(bounds[0]); - var offsetY = Math.floor(bounds[1]); - var boundsWidth = Math.ceil(bounds[2]) - offsetX; - var boundsHeight = Math.ceil(bounds[3]) - offsetY; - var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - var scaleX = boundsWidth / width; - var scaleY = boundsHeight / height; - var context = { - coords: coords, - colors: colors, - offsetX: -offsetX, - offsetY: -offsetY, - scaleX: 1 / scaleX, - scaleY: 1 / scaleY - }; - var paddedWidth = width + BORDER_SIZE * 2; - var paddedHeight = height + BORDER_SIZE * 2; - var canvas, tmpCanvas, i, ii; - if (_webgl.WebGLUtils.isEnabled) { - canvas = _webgl.WebGLUtils.drawFigures(width, height, backgroundColor, figures, context); - tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false); - tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE); - canvas = tmpCanvas.canvas; - } else { - tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false); - var tmpCtx = tmpCanvas.context; - var data = tmpCtx.createImageData(width, height); - if (backgroundColor) { - var bytes = data.data; - for (i = 0, ii = bytes.length; i < ii; i += 4) { - bytes[i] = backgroundColor[0]; - bytes[i + 1] = backgroundColor[1]; - bytes[i + 2] = backgroundColor[2]; - bytes[i + 3] = 255; - } - } - for (i = 0; i < figures.length; i++) { - drawFigure(data, figures[i], context); - } - tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); - canvas = tmpCanvas.canvas; - } - return { - canvas: canvas, - offsetX: offsetX - BORDER_SIZE * scaleX, - offsetY: offsetY - BORDER_SIZE * scaleY, - scaleX: scaleX, - scaleY: scaleY - }; - } - return createMeshCanvas; -}(); -ShadingIRs.Mesh = { - fromIR: function Mesh_fromIR(raw) { - var coords = raw[2]; - var colors = raw[3]; - var figures = raw[4]; - var bounds = raw[5]; - var matrix = raw[6]; - var background = raw[8]; - return { - type: 'Pattern', - getPattern: function Mesh_getPattern(ctx, owner, shadingFill) { - var scale; - if (shadingFill) { - scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); - } else { - scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); - if (matrix) { - var matrixScale = _util.Util.singularValueDecompose2dScale(matrix); - scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; - } - } - var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases); - if (!shadingFill) { - ctx.setTransform.apply(ctx, owner.baseTransform); - if (matrix) { - ctx.transform.apply(ctx, matrix); - } - } - ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); - ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); - return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat'); - } - }; - } -}; -ShadingIRs.Dummy = { - fromIR: function Dummy_fromIR() { - return { - type: 'Pattern', - getPattern: function Dummy_fromIR_getPattern() { - return 'hotpink'; - } - }; - } -}; -function getShadingPatternFromIR(raw) { - var shadingIR = ShadingIRs[raw[0]]; - if (!shadingIR) { - throw new Error('Unknown IR type: ' + raw[0]); - } - return shadingIR.fromIR(raw); -} -var TilingPattern = function TilingPatternClosure() { - var PaintType = { - COLORED: 1, - UNCOLORED: 2 - }; - var MAX_PATTERN_SIZE = 3000; - function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) { - this.operatorList = IR[2]; - this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; - this.bbox = IR[4]; - this.xstep = IR[5]; - this.ystep = IR[6]; - this.paintType = IR[7]; - this.tilingType = IR[8]; - this.color = color; - this.canvasGraphicsFactory = canvasGraphicsFactory; - this.baseTransform = baseTransform; - this.type = 'Pattern'; - this.ctx = ctx; - } - TilingPattern.prototype = { - createPatternCanvas: function TilinPattern_createPatternCanvas(owner) { - var operatorList = this.operatorList; - var bbox = this.bbox; - var xstep = this.xstep; - var ystep = this.ystep; - var paintType = this.paintType; - var tilingType = this.tilingType; - var color = this.color; - var canvasGraphicsFactory = this.canvasGraphicsFactory; - (0, _util.info)('TilingType: ' + tilingType); - var x0 = bbox[0], - y0 = bbox[1], - x1 = bbox[2], - y1 = bbox[3]; - var topLeft = [x0, y0]; - var botRight = [x0 + xstep, y0 + ystep]; - var width = botRight[0] - topLeft[0]; - var height = botRight[1] - topLeft[1]; - var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); - var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); - var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; - width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE); - height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE); - var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true); - var tmpCtx = tmpCanvas.context; - var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); - graphics.groupLevel = owner.groupLevel; - this.setFillAndStrokeStyleToContext(tmpCtx, paintType, color); - this.setScale(width, height, xstep, ystep); - this.transformToScale(graphics); - var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]]; - graphics.transform.apply(graphics, tmpTranslate); - this.clipBbox(graphics, bbox, x0, y0, x1, y1); - graphics.executeOperatorList(operatorList); - return tmpCanvas.canvas; - }, - setScale: function TilingPattern_setScale(width, height, xstep, ystep) { - this.scale = [width / xstep, height / ystep]; - }, - transformToScale: function TilingPattern_transformToScale(graphics) { - var scale = this.scale; - var tmpScale = [scale[0], 0, 0, scale[1], 0, 0]; - graphics.transform.apply(graphics, tmpScale); - }, - scaleToContext: function TilingPattern_scaleToContext() { - var scale = this.scale; - this.ctx.scale(1 / scale[0], 1 / scale[1]); - }, - clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) { - if ((0, _util.isArray)(bbox) && bbox.length === 4) { - var bboxWidth = x1 - x0; - var bboxHeight = y1 - y0; - graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); - graphics.clip(); - graphics.endPath(); - } - }, - setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(context, paintType, color) { - switch (paintType) { - case PaintType.COLORED: - var ctx = this.ctx; - context.fillStyle = ctx.fillStyle; - context.strokeStyle = ctx.strokeStyle; - break; - case PaintType.UNCOLORED: - var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]); - context.fillStyle = cssColor; - context.strokeStyle = cssColor; - break; - default: - throw new _util.FormatError('Unsupported paint type: ' + paintType); - } - }, - getPattern: function TilingPattern_getPattern(ctx, owner) { - var temporaryPatternCanvas = this.createPatternCanvas(owner); - ctx = this.ctx; - ctx.setTransform.apply(ctx, this.baseTransform); - ctx.transform.apply(ctx, this.matrix); - this.scaleToContext(); - return ctx.createPattern(temporaryPatternCanvas, 'repeat'); - } - }; - return TilingPattern; -}(); -exports.getShadingPatternFromIR = getShadingPatternFromIR; -exports.TilingPattern = TilingPattern; - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.PDFDataTransportStream = undefined; - -var _util = __w_pdfjs_require__(0); - -var PDFDataTransportStream = function PDFDataTransportStreamClosure() { - function PDFDataTransportStream(params, pdfDataRangeTransport) { - var _this = this; - - (0, _util.assert)(pdfDataRangeTransport); - this._queuedChunks = []; - var initialData = params.initialData; - if (initialData && initialData.length > 0) { - var buffer = new Uint8Array(initialData).buffer; - this._queuedChunks.push(buffer); - } - this._pdfDataRangeTransport = pdfDataRangeTransport; - this._isRangeSupported = !params.disableRange; - this._isStreamingSupported = !params.disableStream; - this._contentLength = params.length; - this._fullRequestReader = null; - this._rangeReaders = []; - this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) { - _this._onReceiveData({ - begin: begin, - chunk: chunk - }); - }); - this._pdfDataRangeTransport.addProgressListener(function (loaded) { - _this._onProgress({ loaded: loaded }); - }); - this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) { - _this._onReceiveData({ chunk: chunk }); - }); - this._pdfDataRangeTransport.transportReady(); - } - PDFDataTransportStream.prototype = { - _onReceiveData: function PDFDataTransportStream_onReceiveData(args) { - var buffer = new Uint8Array(args.chunk).buffer; - if (args.begin === undefined) { - if (this._fullRequestReader) { - this._fullRequestReader._enqueue(buffer); - } else { - this._queuedChunks.push(buffer); - } - } else { - var found = this._rangeReaders.some(function (rangeReader) { - if (rangeReader._begin !== args.begin) { - return false; - } - rangeReader._enqueue(buffer); - return true; - }); - (0, _util.assert)(found); - } - }, - _onProgress: function PDFDataTransportStream_onDataProgress(evt) { - if (this._rangeReaders.length > 0) { - var firstReader = this._rangeReaders[0]; - if (firstReader.onProgress) { - firstReader.onProgress({ loaded: evt.loaded }); - } - } - }, - _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) { - var i = this._rangeReaders.indexOf(reader); - if (i >= 0) { - this._rangeReaders.splice(i, 1); - } - }, - getFullReader: function PDFDataTransportStream_getFullReader() { - (0, _util.assert)(!this._fullRequestReader); - var queuedChunks = this._queuedChunks; - this._queuedChunks = null; - return new PDFDataTransportStreamReader(this, queuedChunks); - }, - getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) { - var reader = new PDFDataTransportStreamRangeReader(this, begin, end); - this._pdfDataRangeTransport.requestDataRange(begin, end); - this._rangeReaders.push(reader); - return reader; - }, - cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) { - if (this._fullRequestReader) { - this._fullRequestReader.cancel(reason); - } - var readers = this._rangeReaders.slice(0); - readers.forEach(function (rangeReader) { - rangeReader.cancel(reason); - }); - this._pdfDataRangeTransport.abort(); - } - }; - function PDFDataTransportStreamReader(stream, queuedChunks) { - this._stream = stream; - this._done = false; - this._queuedChunks = queuedChunks || []; - this._requests = []; - this._headersReady = Promise.resolve(); - stream._fullRequestReader = this; - this.onProgress = null; - } - PDFDataTransportStreamReader.prototype = { - _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) { - if (this._done) { - return; - } - if (this._requests.length > 0) { - var requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: chunk, - done: false - }); - return; - } - this._queuedChunks.push(chunk); - }, - get headersReady() { - return this._headersReady; - }, - get isRangeSupported() { - return this._stream._isRangeSupported; - }, - get isStreamingSupported() { - return this._stream._isStreamingSupported; - }, - get contentLength() { - return this._stream._contentLength; - }, - read: function PDFDataTransportStreamReader_read() { - if (this._queuedChunks.length > 0) { - var chunk = this._queuedChunks.shift(); - return Promise.resolve({ - value: chunk, - done: false - }); - } - if (this._done) { - return Promise.resolve({ - value: undefined, - done: true - }); - } - var requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - }, - cancel: function PDFDataTransportStreamReader_cancel(reason) { - this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - } - }; - function PDFDataTransportStreamRangeReader(stream, begin, end) { - this._stream = stream; - this._begin = begin; - this._end = end; - this._queuedChunk = null; - this._requests = []; - this._done = false; - this.onProgress = null; - } - PDFDataTransportStreamRangeReader.prototype = { - _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) { - if (this._done) { - return; - } - if (this._requests.length === 0) { - this._queuedChunk = chunk; - } else { - var requestsCapability = this._requests.shift(); - requestsCapability.resolve({ - value: chunk, - done: false - }); - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - } - this._done = true; - this._stream._removeRangeReader(this); - }, - get isStreamingSupported() { - return false; - }, - read: function PDFDataTransportStreamRangeReader_read() { - if (this._queuedChunk) { - var chunk = this._queuedChunk; - this._queuedChunk = null; - return Promise.resolve({ - value: chunk, - done: false - }); - } - if (this._done) { - return Promise.resolve({ - value: undefined, - done: true - }); - } - var requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - }, - cancel: function PDFDataTransportStreamRangeReader_cancel(reason) { - this._done = true; - this._requests.forEach(function (requestCapability) { - requestCapability.resolve({ - value: undefined, - done: true - }); - }); - this._requests = []; - this._stream._removeRangeReader(this); - } - }; - return PDFDataTransportStream; -}(); -exports.PDFDataTransportStream = PDFDataTransportStream; - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -var pdfjsVersion = '1.9.426'; -var pdfjsBuild = '2558a58d'; -var pdfjsSharedUtil = __w_pdfjs_require__(0); -var pdfjsDisplayGlobal = __w_pdfjs_require__(8); -var pdfjsDisplayAPI = __w_pdfjs_require__(2); -var pdfjsDisplayTextLayer = __w_pdfjs_require__(5); -var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(3); -var pdfjsDisplayDOMUtils = __w_pdfjs_require__(1); -var pdfjsDisplaySVG = __w_pdfjs_require__(4); -{ - __w_pdfjs_require__(9); -} -exports.PDFJS = pdfjsDisplayGlobal.PDFJS; -exports.build = pdfjsDisplayAPI.build; -exports.version = pdfjsDisplayAPI.version; -exports.getDocument = pdfjsDisplayAPI.getDocument; -exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort; -exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport; -exports.PDFWorker = pdfjsDisplayAPI.PDFWorker; -exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer; -exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer; -exports.CustomStyle = pdfjsDisplayDOMUtils.CustomStyle; -exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability; -exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses; -exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException; -exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException; -exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics; -exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding; -exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException; -exports.OPS = pdfjsSharedUtil.OPS; -exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES; -exports.isValidUrl = pdfjsDisplayDOMUtils.isValidUrl; -exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl; -exports.createObjectURL = pdfjsSharedUtil.createObjectURL; -exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters; -exports.shadow = pdfjsSharedUtil.shadow; -exports.createBlob = pdfjsSharedUtil.createBlob; -exports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException; -exports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl; -exports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes; -exports.StatTimer = pdfjsSharedUtil.StatTimer; - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) { - var globalScope = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : false ? undefined : {}; - var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || ''; - var isAndroid = /Android/.test(userAgent); - var isAndroidPre3 = /Android\s[0-2][^\d]/.test(userAgent); - var isAndroidPre5 = /Android\s[0-4][^\d]/.test(userAgent); - var isChrome = userAgent.indexOf('Chrom') >= 0; - var isChromeWithRangeBug = /Chrome\/(39|40)\./.test(userAgent); - var isIOSChrome = userAgent.indexOf('CriOS') >= 0; - var isIE = userAgent.indexOf('Trident') >= 0; - var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent); - var isOpera = userAgent.indexOf('Opera') >= 0; - var isSafari = /Safari\//.test(userAgent) && !/(Chrome\/|Android\s)/.test(userAgent); - var hasDOM = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && (typeof document === 'undefined' ? 'undefined' : _typeof(document)) === 'object'; - if (typeof PDFJS === 'undefined') { - globalScope.PDFJS = {}; - } - PDFJS.compatibilityChecked = true; - (function checkTypedArrayCompatibility() { - if (typeof Uint8Array !== 'undefined') { - if (typeof Uint8Array.prototype.subarray === 'undefined') { - Uint8Array.prototype.subarray = function subarray(start, end) { - return new Uint8Array(this.slice(start, end)); - }; - Float32Array.prototype.subarray = function subarray(start, end) { - return new Float32Array(this.slice(start, end)); - }; - } - if (typeof Float64Array === 'undefined') { - globalScope.Float64Array = Float32Array; - } - return; - } - function subarray(start, end) { - return new TypedArray(this.slice(start, end)); - } - function setArrayOffset(array, offset) { - if (arguments.length < 2) { - offset = 0; - } - for (var i = 0, n = array.length; i < n; ++i, ++offset) { - this[offset] = array[i] & 0xFF; - } - } - function Uint32ArrayView(buffer, length) { - this.buffer = buffer; - this.byteLength = buffer.length; - this.length = length; - ensureUint32ArrayViewProps(this.length); - } - Uint32ArrayView.prototype = Object.create(null); - var uint32ArrayViewSetters = 0; - function createUint32ArrayProp(index) { - return { - get: function get() { - var buffer = this.buffer, - offset = index << 2; - return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0; - }, - set: function set(value) { - var buffer = this.buffer, - offset = index << 2; - buffer[offset] = value & 255; - buffer[offset + 1] = value >> 8 & 255; - buffer[offset + 2] = value >> 16 & 255; - buffer[offset + 3] = value >>> 24 & 255; - } - }; - } - function ensureUint32ArrayViewProps(length) { - while (uint32ArrayViewSetters < length) { - Object.defineProperty(Uint32ArrayView.prototype, uint32ArrayViewSetters, createUint32ArrayProp(uint32ArrayViewSetters)); - uint32ArrayViewSetters++; - } - } - function TypedArray(arg1) { - var result, i, n; - if (typeof arg1 === 'number') { - result = []; - for (i = 0; i < arg1; ++i) { - result[i] = 0; - } - } else if ('slice' in arg1) { - result = arg1.slice(0); - } else { - result = []; - for (i = 0, n = arg1.length; i < n; ++i) { - result[i] = arg1[i]; - } - } - result.subarray = subarray; - result.buffer = result; - result.byteLength = result.length; - result.set = setArrayOffset; - if ((typeof arg1 === 'undefined' ? 'undefined' : _typeof(arg1)) === 'object' && arg1.buffer) { - result.buffer = arg1.buffer; - } - return result; - } - globalScope.Uint8Array = TypedArray; - globalScope.Int8Array = TypedArray; - globalScope.Int32Array = TypedArray; - globalScope.Uint16Array = TypedArray; - globalScope.Float32Array = TypedArray; - globalScope.Float64Array = TypedArray; - globalScope.Uint32Array = function () { - if (arguments.length === 3) { - if (arguments[1] !== 0) { - throw new Error('offset !== 0 is not supported'); - } - return new Uint32ArrayView(arguments[0], arguments[2]); - } - return TypedArray.apply(this, arguments); - }; - })(); - (function canvasPixelArrayBuffer() { - if (!hasDOM || !window.CanvasPixelArray) { - return; - } - var cpaProto = window.CanvasPixelArray.prototype; - if ('buffer' in cpaProto) { - return; - } - Object.defineProperty(cpaProto, 'buffer', { - get: function get() { - return this; - }, - - enumerable: false, - configurable: true - }); - Object.defineProperty(cpaProto, 'byteLength', { - get: function get() { - return this.length; - }, - - enumerable: false, - configurable: true - }); - })(); - (function normalizeURLObject() { - if (!globalScope.URL) { - globalScope.URL = globalScope.webkitURL; - } - })(); - (function checkObjectDefinePropertyCompatibility() { - if (typeof Object.defineProperty !== 'undefined') { - var definePropertyPossible = true; - try { - if (hasDOM) { - Object.defineProperty(new Image(), 'id', { value: 'test' }); - } - var Test = function Test() {}; - Test.prototype = { - get id() {} - }; - Object.defineProperty(new Test(), 'id', { - value: '', - configurable: true, - enumerable: true, - writable: false - }); - } catch (e) { - definePropertyPossible = false; - } - if (definePropertyPossible) { - return; - } - } - Object.defineProperty = function objectDefineProperty(obj, name, def) { - delete obj[name]; - if ('get' in def) { - obj.__defineGetter__(name, def['get']); - } - if ('set' in def) { - obj.__defineSetter__(name, def['set']); - } - if ('value' in def) { - obj.__defineSetter__(name, function objectDefinePropertySetter(value) { - this.__defineGetter__(name, function objectDefinePropertyGetter() { - return value; - }); - return value; - }); - obj[name] = def.value; - } - }; - })(); - (function checkXMLHttpRequestResponseCompatibility() { - if (typeof XMLHttpRequest === 'undefined') { - return; - } - var xhrPrototype = XMLHttpRequest.prototype; - var xhr = new XMLHttpRequest(); - if (!('overrideMimeType' in xhr)) { - Object.defineProperty(xhrPrototype, 'overrideMimeType', { - value: function xmlHttpRequestOverrideMimeType(mimeType) {} - }); - } - if ('responseType' in xhr) { - return; - } - Object.defineProperty(xhrPrototype, 'responseType', { - get: function xmlHttpRequestGetResponseType() { - return this._responseType || 'text'; - }, - set: function xmlHttpRequestSetResponseType(value) { - if (value === 'text' || value === 'arraybuffer') { - this._responseType = value; - if (value === 'arraybuffer' && typeof this.overrideMimeType === 'function') { - this.overrideMimeType('text/plain; charset=x-user-defined'); - } - } - } - }); - if (typeof VBArray !== 'undefined') { - Object.defineProperty(xhrPrototype, 'response', { - get: function xmlHttpRequestResponseGet() { - if (this.responseType === 'arraybuffer') { - return new Uint8Array(new VBArray(this.responseBody).toArray()); - } - return this.responseText; - } - }); - return; - } - Object.defineProperty(xhrPrototype, 'response', { - get: function xmlHttpRequestResponseGet() { - if (this.responseType !== 'arraybuffer') { - return this.responseText; - } - var text = this.responseText; - var i, - n = text.length; - var result = new Uint8Array(n); - for (i = 0; i < n; ++i) { - result[i] = text.charCodeAt(i) & 0xFF; - } - return result.buffer; - } - }); - })(); - (function checkWindowBtoaCompatibility() { - if ('btoa' in globalScope) { - return; - } - var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - globalScope.btoa = function (chars) { - var buffer = ''; - var i, n; - for (i = 0, n = chars.length; i < n; i += 3) { - var b1 = chars.charCodeAt(i) & 0xFF; - var b2 = chars.charCodeAt(i + 1) & 0xFF; - var b3 = chars.charCodeAt(i + 2) & 0xFF; - var d1 = b1 >> 2, - d2 = (b1 & 3) << 4 | b2 >> 4; - var d3 = i + 1 < n ? (b2 & 0xF) << 2 | b3 >> 6 : 64; - var d4 = i + 2 < n ? b3 & 0x3F : 64; - buffer += digits.charAt(d1) + digits.charAt(d2) + digits.charAt(d3) + digits.charAt(d4); - } - return buffer; - }; - })(); - (function checkWindowAtobCompatibility() { - if ('atob' in globalScope) { - return; - } - var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - globalScope.atob = function (input) { - input = input.replace(/=+$/, ''); - if (input.length % 4 === 1) { - throw new Error('bad atob input'); - } - for (var bc = 0, bs, buffer, idx = 0, output = ''; buffer = input.charAt(idx++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) { - buffer = digits.indexOf(buffer); - } - return output; - }; - })(); - (function checkFunctionPrototypeBindCompatibility() { - if (typeof Function.prototype.bind !== 'undefined') { - return; - } - Function.prototype.bind = function functionPrototypeBind(obj) { - var fn = this, - headArgs = Array.prototype.slice.call(arguments, 1); - var bound = function functionPrototypeBindBound() { - var args = headArgs.concat(Array.prototype.slice.call(arguments)); - return fn.apply(obj, args); - }; - return bound; - }; - })(); - (function checkDatasetProperty() { - if (!hasDOM) { - return; - } - var div = document.createElement('div'); - if ('dataset' in div) { - return; - } - Object.defineProperty(HTMLElement.prototype, 'dataset', { - get: function get() { - if (this._dataset) { - return this._dataset; - } - var dataset = {}; - for (var j = 0, jj = this.attributes.length; j < jj; j++) { - var attribute = this.attributes[j]; - if (attribute.name.substring(0, 5) !== 'data-') { - continue; - } - var key = attribute.name.substring(5).replace(/\-([a-z])/g, function (all, ch) { - return ch.toUpperCase(); - }); - dataset[key] = attribute.value; - } - Object.defineProperty(this, '_dataset', { - value: dataset, - writable: false, - enumerable: false - }); - return dataset; - }, - - enumerable: true - }); - })(); - (function checkClassListProperty() { - function changeList(element, itemName, add, remove) { - var s = element.className || ''; - var list = s.split(/\s+/g); - if (list[0] === '') { - list.shift(); - } - var index = list.indexOf(itemName); - if (index < 0 && add) { - list.push(itemName); - } - if (index >= 0 && remove) { - list.splice(index, 1); - } - element.className = list.join(' '); - return index >= 0; - } - if (!hasDOM) { - return; - } - var div = document.createElement('div'); - if ('classList' in div) { - return; - } - var classListPrototype = { - add: function add(name) { - changeList(this.element, name, true, false); - }, - contains: function contains(name) { - return changeList(this.element, name, false, false); - }, - remove: function remove(name) { - changeList(this.element, name, false, true); - }, - toggle: function toggle(name) { - changeList(this.element, name, true, true); - } - }; - Object.defineProperty(HTMLElement.prototype, 'classList', { - get: function get() { - if (this._classList) { - return this._classList; - } - var classList = Object.create(classListPrototype, { - element: { - value: this, - writable: false, - enumerable: true - } - }); - Object.defineProperty(this, '_classList', { - value: classList, - writable: false, - enumerable: false - }); - return classList; - }, - - enumerable: true - }); - })(); - (function checkWorkerConsoleCompatibility() { - if (typeof importScripts === 'undefined' || 'console' in globalScope) { - return; - } - var consoleTimer = {}; - var workerConsole = { - log: function log() { - var args = Array.prototype.slice.call(arguments); - globalScope.postMessage({ - targetName: 'main', - action: 'console_log', - data: args - }); - }, - error: function error() { - var args = Array.prototype.slice.call(arguments); - globalScope.postMessage({ - targetName: 'main', - action: 'console_error', - data: args - }); - }, - time: function time(name) { - consoleTimer[name] = Date.now(); - }, - timeEnd: function timeEnd(name) { - var time = consoleTimer[name]; - if (!time) { - throw new Error('Unknown timer name ' + name); - } - this.log('Timer:', name, Date.now() - time); - } - }; - globalScope.console = workerConsole; - })(); - (function checkConsoleCompatibility() { - if (!hasDOM) { - return; - } - if (!('console' in window)) { - window.console = { - log: function log() {}, - error: function error() {}, - warn: function warn() {} - }; - return; - } - if (!('bind' in console.log)) { - console.log = function (fn) { - return function (msg) { - return fn(msg); - }; - }(console.log); - console.error = function (fn) { - return function (msg) { - return fn(msg); - }; - }(console.error); - console.warn = function (fn) { - return function (msg) { - return fn(msg); - }; - }(console.warn); - return; - } - })(); - (function checkOnClickCompatibility() { - function ignoreIfTargetDisabled(event) { - if (isDisabled(event.target)) { - event.stopPropagation(); - } - } - function isDisabled(node) { - return node.disabled || node.parentNode && isDisabled(node.parentNode); - } - if (isOpera) { - document.addEventListener('click', ignoreIfTargetDisabled, true); - } - })(); - (function checkOnBlobSupport() { - if (isIE || isIOSChrome) { - PDFJS.disableCreateObjectURL = true; - } - })(); - (function checkNavigatorLanguage() { - if (typeof navigator === 'undefined') { - return; - } - if ('language' in navigator) { - return; - } - PDFJS.locale = navigator.userLanguage || 'en-US'; - })(); - (function checkRangeRequests() { - if (isSafari || isAndroidPre3 || isChromeWithRangeBug || isIOS) { - PDFJS.disableRange = true; - PDFJS.disableStream = true; - } - })(); - (function checkHistoryManipulation() { - if (!hasDOM) { - return; - } - if (!history.pushState || isAndroidPre3) { - PDFJS.disableHistory = true; - } - })(); - (function checkSetPresenceInImageData() { - if (!hasDOM) { - return; - } - if (window.CanvasPixelArray) { - if (typeof window.CanvasPixelArray.prototype.set !== 'function') { - window.CanvasPixelArray.prototype.set = function (arr) { - for (var i = 0, ii = this.length; i < ii; i++) { - this[i] = arr[i]; - } - }; - } - } else { - var polyfill = false, - versionMatch; - if (isChrome) { - versionMatch = userAgent.match(/Chrom(e|ium)\/([0-9]+)\./); - polyfill = versionMatch && parseInt(versionMatch[2]) < 21; - } else if (isAndroid) { - polyfill = isAndroidPre5; - } else if (isSafari) { - versionMatch = userAgent.match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//); - polyfill = versionMatch && parseInt(versionMatch[1]) < 6; - } - if (polyfill) { - var contextPrototype = window.CanvasRenderingContext2D.prototype; - var createImageData = contextPrototype.createImageData; - contextPrototype.createImageData = function (w, h) { - var imageData = createImageData.call(this, w, h); - imageData.data.set = function (arr) { - for (var i = 0, ii = this.length; i < ii; i++) { - this[i] = arr[i]; - } - }; - return imageData; - }; - contextPrototype = null; - } - } - })(); - (function checkRequestAnimationFrame() { - function installFakeAnimationFrameFunctions() { - window.requestAnimationFrame = function (callback) { - return window.setTimeout(callback, 20); - }; - window.cancelAnimationFrame = function (timeoutID) { - window.clearTimeout(timeoutID); - }; - } - if (!hasDOM) { - return; - } - if (isIOS) { - installFakeAnimationFrameFunctions(); - return; - } - if ('requestAnimationFrame' in window) { - return; - } - window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame; - if (window.requestAnimationFrame) { - return; - } - installFakeAnimationFrameFunctions(); - })(); - (function checkCanvasSizeLimitation() { - if (isIOS || isAndroid) { - PDFJS.maxCanvasPixels = 5242880; - } - })(); - (function checkFullscreenSupport() { - if (!hasDOM) { - return; - } - if (isIE && window.parent !== window) { - PDFJS.disableFullscreen = true; - } - })(); - (function checkCurrentScript() { - if (!hasDOM) { - return; - } - if ('currentScript' in document) { - return; - } - Object.defineProperty(document, 'currentScript', { - get: function get() { - var scripts = document.getElementsByTagName('script'); - return scripts[scripts.length - 1]; - }, - - enumerable: true, - configurable: true - }); - })(); - (function checkInputTypeNumberAssign() { - if (!hasDOM) { - return; - } - var el = document.createElement('input'); - try { - el.type = 'number'; - } catch (ex) { - var inputProto = el.constructor.prototype; - var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type'); - Object.defineProperty(inputProto, 'type', { - get: function get() { - return typeProperty.get.call(this); - }, - set: function set(value) { - typeProperty.set.call(this, value === 'number' ? 'text' : value); - }, - - enumerable: true, - configurable: true - }); - } - })(); - (function checkDocumentReadyState() { - if (!hasDOM) { - return; - } - if (!document.attachEvent) { - return; - } - var documentProto = document.constructor.prototype; - var readyStateProto = Object.getOwnPropertyDescriptor(documentProto, 'readyState'); - Object.defineProperty(documentProto, 'readyState', { - get: function get() { - var value = readyStateProto.get.call(this); - return value === 'interactive' ? 'loading' : value; - }, - set: function set(value) { - readyStateProto.set.call(this, value); - }, - - enumerable: true, - configurable: true - }); - })(); - (function checkChildNodeRemove() { - if (!hasDOM) { - return; - } - if (typeof Element.prototype.remove !== 'undefined') { - return; - } - Element.prototype.remove = function () { - if (this.parentNode) { - this.parentNode.removeChild(this); - } - }; - })(); - (function checkNumberIsNaN() { - if (Number.isNaN) { - return; - } - Number.isNaN = function (value) { - return typeof value === 'number' && isNaN(value); - }; - })(); - (function checkNumberIsInteger() { - if (Number.isInteger) { - return; - } - Number.isInteger = function (value) { - return typeof value === 'number' && isFinite(value) && Math.floor(value) === value; - }; - })(); - (function checkPromise() { - if (globalScope.Promise) { - if (typeof globalScope.Promise.all !== 'function') { - globalScope.Promise.all = function (iterable) { - var count = 0, - results = [], - resolve, - reject; - var promise = new globalScope.Promise(function (resolve_, reject_) { - resolve = resolve_; - reject = reject_; - }); - iterable.forEach(function (p, i) { - count++; - p.then(function (result) { - results[i] = result; - count--; - if (count === 0) { - resolve(results); - } - }, reject); - }); - if (count === 0) { - resolve(results); - } - return promise; - }; - } - if (typeof globalScope.Promise.resolve !== 'function') { - globalScope.Promise.resolve = function (value) { - return new globalScope.Promise(function (resolve) { - resolve(value); - }); - }; - } - if (typeof globalScope.Promise.reject !== 'function') { - globalScope.Promise.reject = function (reason) { - return new globalScope.Promise(function (resolve, reject) { - reject(reason); - }); - }; - } - if (typeof globalScope.Promise.prototype.catch !== 'function') { - globalScope.Promise.prototype.catch = function (onReject) { - return globalScope.Promise.prototype.then(undefined, onReject); - }; - } - return; - } - var STATUS_PENDING = 0; - var STATUS_RESOLVED = 1; - var STATUS_REJECTED = 2; - var REJECTION_TIMEOUT = 500; - var HandlerManager = { - handlers: [], - running: false, - unhandledRejections: [], - pendingRejectionCheck: false, - scheduleHandlers: function scheduleHandlers(promise) { - if (promise._status === STATUS_PENDING) { - return; - } - this.handlers = this.handlers.concat(promise._handlers); - promise._handlers = []; - if (this.running) { - return; - } - this.running = true; - setTimeout(this.runHandlers.bind(this), 0); - }, - runHandlers: function runHandlers() { - var RUN_TIMEOUT = 1; - var timeoutAt = Date.now() + RUN_TIMEOUT; - while (this.handlers.length > 0) { - var handler = this.handlers.shift(); - var nextStatus = handler.thisPromise._status; - var nextValue = handler.thisPromise._value; - try { - if (nextStatus === STATUS_RESOLVED) { - if (typeof handler.onResolve === 'function') { - nextValue = handler.onResolve(nextValue); - } - } else if (typeof handler.onReject === 'function') { - nextValue = handler.onReject(nextValue); - nextStatus = STATUS_RESOLVED; - if (handler.thisPromise._unhandledRejection) { - this.removeUnhandeledRejection(handler.thisPromise); - } - } - } catch (ex) { - nextStatus = STATUS_REJECTED; - nextValue = ex; - } - handler.nextPromise._updateStatus(nextStatus, nextValue); - if (Date.now() >= timeoutAt) { - break; - } - } - if (this.handlers.length > 0) { - setTimeout(this.runHandlers.bind(this), 0); - return; - } - this.running = false; - }, - addUnhandledRejection: function addUnhandledRejection(promise) { - this.unhandledRejections.push({ - promise: promise, - time: Date.now() - }); - this.scheduleRejectionCheck(); - }, - removeUnhandeledRejection: function removeUnhandeledRejection(promise) { - promise._unhandledRejection = false; - for (var i = 0; i < this.unhandledRejections.length; i++) { - if (this.unhandledRejections[i].promise === promise) { - this.unhandledRejections.splice(i); - i--; - } - } - }, - scheduleRejectionCheck: function scheduleRejectionCheck() { - var _this = this; - - if (this.pendingRejectionCheck) { - return; - } - this.pendingRejectionCheck = true; - setTimeout(function () { - _this.pendingRejectionCheck = false; - var now = Date.now(); - for (var i = 0; i < _this.unhandledRejections.length; i++) { - if (now - _this.unhandledRejections[i].time > REJECTION_TIMEOUT) { - var unhandled = _this.unhandledRejections[i].promise._value; - var msg = 'Unhandled rejection: ' + unhandled; - if (unhandled.stack) { - msg += '\n' + unhandled.stack; - } - try { - throw new Error(msg); - } catch (_) { - console.warn(msg); - } - _this.unhandledRejections.splice(i); - i--; - } - } - if (_this.unhandledRejections.length) { - _this.scheduleRejectionCheck(); - } - }, REJECTION_TIMEOUT); - } - }; - var Promise = function Promise(resolver) { - this._status = STATUS_PENDING; - this._handlers = []; - try { - resolver.call(this, this._resolve.bind(this), this._reject.bind(this)); - } catch (e) { - this._reject(e); - } - }; - Promise.all = function Promise_all(promises) { - var resolveAll, rejectAll; - var deferred = new Promise(function (resolve, reject) { - resolveAll = resolve; - rejectAll = reject; - }); - var unresolved = promises.length; - var results = []; - if (unresolved === 0) { - resolveAll(results); - return deferred; - } - function reject(reason) { - if (deferred._status === STATUS_REJECTED) { - return; - } - results = []; - rejectAll(reason); - } - for (var i = 0, ii = promises.length; i < ii; ++i) { - var promise = promises[i]; - var resolve = function (i) { - return function (value) { - if (deferred._status === STATUS_REJECTED) { - return; - } - results[i] = value; - unresolved--; - if (unresolved === 0) { - resolveAll(results); - } - }; - }(i); - if (Promise.isPromise(promise)) { - promise.then(resolve, reject); - } else { - resolve(promise); - } - } - return deferred; - }; - Promise.isPromise = function Promise_isPromise(value) { - return value && typeof value.then === 'function'; - }; - Promise.resolve = function Promise_resolve(value) { - return new Promise(function (resolve) { - resolve(value); - }); - }; - Promise.reject = function Promise_reject(reason) { - return new Promise(function (resolve, reject) { - reject(reason); - }); - }; - Promise.prototype = { - _status: null, - _value: null, - _handlers: null, - _unhandledRejection: null, - _updateStatus: function Promise__updateStatus(status, value) { - if (this._status === STATUS_RESOLVED || this._status === STATUS_REJECTED) { - return; - } - if (status === STATUS_RESOLVED && Promise.isPromise(value)) { - value.then(this._updateStatus.bind(this, STATUS_RESOLVED), this._updateStatus.bind(this, STATUS_REJECTED)); - return; - } - this._status = status; - this._value = value; - if (status === STATUS_REJECTED && this._handlers.length === 0) { - this._unhandledRejection = true; - HandlerManager.addUnhandledRejection(this); - } - HandlerManager.scheduleHandlers(this); - }, - _resolve: function Promise_resolve(value) { - this._updateStatus(STATUS_RESOLVED, value); - }, - _reject: function Promise_reject(reason) { - this._updateStatus(STATUS_REJECTED, reason); - }, - then: function Promise_then(onResolve, onReject) { - var nextPromise = new Promise(function (resolve, reject) { - this.resolve = resolve; - this.reject = reject; - }); - this._handlers.push({ - thisPromise: this, - onResolve: onResolve, - onReject: onReject, - nextPromise: nextPromise - }); - HandlerManager.scheduleHandlers(this); - return nextPromise; - }, - catch: function Promise_catch(onReject) { - return this.then(undefined, onReject); - } - }; - globalScope.Promise = Promise; - })(); - (function checkWeakMap() { - if (globalScope.WeakMap) { - return; - } - var id = 0; - function WeakMap() { - this.id = '$weakmap' + id++; - } - WeakMap.prototype = { - has: function has(obj) { - if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object' && typeof obj !== 'function' || obj === null) { - return false; - } - return !!Object.getOwnPropertyDescriptor(obj, this.id); - }, - get: function get(obj) { - return this.has(obj) ? obj[this.id] : undefined; - }, - set: function set(obj, value) { - Object.defineProperty(obj, this.id, { - value: value, - enumerable: false, - configurable: true - }); - }, - delete: function _delete(obj) { - delete obj[this.id]; - } - }; - globalScope.WeakMap = WeakMap; - })(); - (function checkURLConstructor() { - var hasWorkingUrl = false; - try { - if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) { - var u = new URL('b', 'http://a'); - u.pathname = 'c%20d'; - hasWorkingUrl = u.href === 'http://a/c%20d'; - } - } catch (e) {} - if (hasWorkingUrl) { - return; - } - var relative = Object.create(null); - relative['ftp'] = 21; - relative['file'] = 0; - relative['gopher'] = 70; - relative['http'] = 80; - relative['https'] = 443; - relative['ws'] = 80; - relative['wss'] = 443; - var relativePathDotMapping = Object.create(null); - relativePathDotMapping['%2e'] = '.'; - relativePathDotMapping['.%2e'] = '..'; - relativePathDotMapping['%2e.'] = '..'; - relativePathDotMapping['%2e%2e'] = '..'; - function isRelativeScheme(scheme) { - return relative[scheme] !== undefined; - } - function invalid() { - clear.call(this); - this._isInvalid = true; - } - function IDNAToASCII(h) { - if (h === '') { - invalid.call(this); - } - return h.toLowerCase(); - } - function percentEscape(c) { - var unicode = c.charCodeAt(0); - if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) { - return c; - } - return encodeURIComponent(c); - } - function percentEscapeQuery(c) { - var unicode = c.charCodeAt(0); - if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) { - return c; - } - return encodeURIComponent(c); - } - var EOF, - ALPHA = /[a-zA-Z]/, - ALPHANUMERIC = /[a-zA-Z0-9\+\-\.]/; - function parse(input, stateOverride, base) { - function err(message) { - errors.push(message); - } - var state = stateOverride || 'scheme start', - cursor = 0, - buffer = '', - seenAt = false, - seenBracket = false, - errors = []; - loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) { - var c = input[cursor]; - switch (state) { - case 'scheme start': - if (c && ALPHA.test(c)) { - buffer += c.toLowerCase(); - state = 'scheme'; - } else if (!stateOverride) { - buffer = ''; - state = 'no scheme'; - continue; - } else { - err('Invalid scheme.'); - break loop; - } - break; - case 'scheme': - if (c && ALPHANUMERIC.test(c)) { - buffer += c.toLowerCase(); - } else if (c === ':') { - this._scheme = buffer; - buffer = ''; - if (stateOverride) { - break loop; - } - if (isRelativeScheme(this._scheme)) { - this._isRelative = true; - } - if (this._scheme === 'file') { - state = 'relative'; - } else if (this._isRelative && base && base._scheme === this._scheme) { - state = 'relative or authority'; - } else if (this._isRelative) { - state = 'authority first slash'; - } else { - state = 'scheme data'; - } - } else if (!stateOverride) { - buffer = ''; - cursor = 0; - state = 'no scheme'; - continue; - } else if (c === EOF) { - break loop; - } else { - err('Code point not allowed in scheme: ' + c); - break loop; - } - break; - case 'scheme data': - if (c === '?') { - this._query = '?'; - state = 'query'; - } else if (c === '#') { - this._fragment = '#'; - state = 'fragment'; - } else { - if (c !== EOF && c !== '\t' && c !== '\n' && c !== '\r') { - this._schemeData += percentEscape(c); - } - } - break; - case 'no scheme': - if (!base || !isRelativeScheme(base._scheme)) { - err('Missing scheme.'); - invalid.call(this); - } else { - state = 'relative'; - continue; - } - break; - case 'relative or authority': - if (c === '/' && input[cursor + 1] === '/') { - state = 'authority ignore slashes'; - } else { - err('Expected /, got: ' + c); - state = 'relative'; - continue; - } - break; - case 'relative': - this._isRelative = true; - if (this._scheme !== 'file') { - this._scheme = base._scheme; - } - if (c === EOF) { - this._host = base._host; - this._port = base._port; - this._path = base._path.slice(); - this._query = base._query; - this._username = base._username; - this._password = base._password; - break loop; - } else if (c === '/' || c === '\\') { - if (c === '\\') { - err('\\ is an invalid code point.'); - } - state = 'relative slash'; - } else if (c === '?') { - this._host = base._host; - this._port = base._port; - this._path = base._path.slice(); - this._query = '?'; - this._username = base._username; - this._password = base._password; - state = 'query'; - } else if (c === '#') { - this._host = base._host; - this._port = base._port; - this._path = base._path.slice(); - this._query = base._query; - this._fragment = '#'; - this._username = base._username; - this._password = base._password; - state = 'fragment'; - } else { - var nextC = input[cursor + 1]; - var nextNextC = input[cursor + 2]; - if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\' && nextNextC !== '?' && nextNextC !== '#') { - this._host = base._host; - this._port = base._port; - this._username = base._username; - this._password = base._password; - this._path = base._path.slice(); - this._path.pop(); - } - state = 'relative path'; - continue; - } - break; - case 'relative slash': - if (c === '/' || c === '\\') { - if (c === '\\') { - err('\\ is an invalid code point.'); - } - if (this._scheme === 'file') { - state = 'file host'; - } else { - state = 'authority ignore slashes'; - } - } else { - if (this._scheme !== 'file') { - this._host = base._host; - this._port = base._port; - this._username = base._username; - this._password = base._password; - } - state = 'relative path'; - continue; - } - break; - case 'authority first slash': - if (c === '/') { - state = 'authority second slash'; - } else { - err('Expected \'/\', got: ' + c); - state = 'authority ignore slashes'; - continue; - } - break; - case 'authority second slash': - state = 'authority ignore slashes'; - if (c !== '/') { - err('Expected \'/\', got: ' + c); - continue; - } - break; - case 'authority ignore slashes': - if (c !== '/' && c !== '\\') { - state = 'authority'; - continue; - } else { - err('Expected authority, got: ' + c); - } - break; - case 'authority': - if (c === '@') { - if (seenAt) { - err('@ already seen.'); - buffer += '%40'; - } - seenAt = true; - for (var i = 0; i < buffer.length; i++) { - var cp = buffer[i]; - if (cp === '\t' || cp === '\n' || cp === '\r') { - err('Invalid whitespace in authority.'); - continue; - } - if (cp === ':' && this._password === null) { - this._password = ''; - continue; - } - var tempC = percentEscape(cp); - if (this._password !== null) { - this._password += tempC; - } else { - this._username += tempC; - } - } - buffer = ''; - } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { - cursor -= buffer.length; - buffer = ''; - state = 'host'; - continue; - } else { - buffer += c; - } - break; - case 'file host': - if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { - if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) { - state = 'relative path'; - } else if (buffer.length === 0) { - state = 'relative path start'; - } else { - this._host = IDNAToASCII.call(this, buffer); - buffer = ''; - state = 'relative path start'; - } - continue; - } else if (c === '\t' || c === '\n' || c === '\r') { - err('Invalid whitespace in file host.'); - } else { - buffer += c; - } - break; - case 'host': - case 'hostname': - if (c === ':' && !seenBracket) { - this._host = IDNAToASCII.call(this, buffer); - buffer = ''; - state = 'port'; - if (stateOverride === 'hostname') { - break loop; - } - } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { - this._host = IDNAToASCII.call(this, buffer); - buffer = ''; - state = 'relative path start'; - if (stateOverride) { - break loop; - } - continue; - } else if (c !== '\t' && c !== '\n' && c !== '\r') { - if (c === '[') { - seenBracket = true; - } else if (c === ']') { - seenBracket = false; - } - buffer += c; - } else { - err('Invalid code point in host/hostname: ' + c); - } - break; - case 'port': - if (/[0-9]/.test(c)) { - buffer += c; - } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#' || stateOverride) { - if (buffer !== '') { - var temp = parseInt(buffer, 10); - if (temp !== relative[this._scheme]) { - this._port = temp + ''; - } - buffer = ''; - } - if (stateOverride) { - break loop; - } - state = 'relative path start'; - continue; - } else if (c === '\t' || c === '\n' || c === '\r') { - err('Invalid code point in port: ' + c); - } else { - invalid.call(this); - } - break; - case 'relative path start': - if (c === '\\') { - err('\'\\\' not allowed in path.'); - } - state = 'relative path'; - if (c !== '/' && c !== '\\') { - continue; - } - break; - case 'relative path': - if (c === EOF || c === '/' || c === '\\' || !stateOverride && (c === '?' || c === '#')) { - if (c === '\\') { - err('\\ not allowed in relative path.'); - } - var tmp; - if (tmp = relativePathDotMapping[buffer.toLowerCase()]) { - buffer = tmp; - } - if (buffer === '..') { - this._path.pop(); - if (c !== '/' && c !== '\\') { - this._path.push(''); - } - } else if (buffer === '.' && c !== '/' && c !== '\\') { - this._path.push(''); - } else if (buffer !== '.') { - if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') { - buffer = buffer[0] + ':'; - } - this._path.push(buffer); - } - buffer = ''; - if (c === '?') { - this._query = '?'; - state = 'query'; - } else if (c === '#') { - this._fragment = '#'; - state = 'fragment'; - } - } else if (c !== '\t' && c !== '\n' && c !== '\r') { - buffer += percentEscape(c); - } - break; - case 'query': - if (!stateOverride && c === '#') { - this._fragment = '#'; - state = 'fragment'; - } else if (c !== EOF && c !== '\t' && c !== '\n' && c !== '\r') { - this._query += percentEscapeQuery(c); - } - break; - case 'fragment': - if (c !== EOF && c !== '\t' && c !== '\n' && c !== '\r') { - this._fragment += c; - } - break; - } - cursor++; - } - } - function clear() { - this._scheme = ''; - this._schemeData = ''; - this._username = ''; - this._password = null; - this._host = ''; - this._port = ''; - this._path = []; - this._query = ''; - this._fragment = ''; - this._isInvalid = false; - this._isRelative = false; - } - function JURL(url, base) { - if (base !== undefined && !(base instanceof JURL)) { - base = new JURL(String(base)); - } - this._url = url; - clear.call(this); - var input = url.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g, ''); - parse.call(this, input, null, base); - } - JURL.prototype = { - toString: function toString() { - return this.href; - }, - - get href() { - if (this._isInvalid) { - return this._url; - } - var authority = ''; - if (this._username !== '' || this._password !== null) { - authority = this._username + (this._password !== null ? ':' + this._password : '') + '@'; - } - return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment; - }, - set href(value) { - clear.call(this); - parse.call(this, value); - }, - get protocol() { - return this._scheme + ':'; - }, - set protocol(value) { - if (this._isInvalid) { - return; - } - parse.call(this, value + ':', 'scheme start'); - }, - get host() { - return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host; - }, - set host(value) { - if (this._isInvalid || !this._isRelative) { - return; - } - parse.call(this, value, 'host'); - }, - get hostname() { - return this._host; - }, - set hostname(value) { - if (this._isInvalid || !this._isRelative) { - return; - } - parse.call(this, value, 'hostname'); - }, - get port() { - return this._port; - }, - set port(value) { - if (this._isInvalid || !this._isRelative) { - return; - } - parse.call(this, value, 'port'); - }, - get pathname() { - return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData; - }, - set pathname(value) { - if (this._isInvalid || !this._isRelative) { - return; - } - this._path = []; - parse.call(this, value, 'relative path start'); - }, - get search() { - return this._isInvalid || !this._query || this._query === '?' ? '' : this._query; - }, - set search(value) { - if (this._isInvalid || !this._isRelative) { - return; - } - this._query = '?'; - if (value[0] === '?') { - value = value.slice(1); - } - parse.call(this, value, 'query'); - }, - get hash() { - return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment; - }, - set hash(value) { - if (this._isInvalid) { - return; - } - this._fragment = '#'; - if (value[0] === '#') { - value = value.slice(1); - } - parse.call(this, value, 'fragment'); - }, - get origin() { - var host; - if (this._isInvalid || !this._scheme) { - return ''; - } - switch (this._scheme) { - case 'data': - case 'file': - case 'javascript': - case 'mailto': - return 'null'; - case 'blob': - try { - return new JURL(this._schemeData).origin || 'null'; - } catch (_) {} - return 'null'; - } - host = this.host; - if (!host) { - return ''; - } - return this._scheme + '://' + host; - } - }; - var OriginalURL = globalScope.URL; - if (OriginalURL) { - JURL.createObjectURL = function (blob) { - return OriginalURL.createObjectURL.apply(OriginalURL, arguments); - }; - JURL.revokeObjectURL = function (url) { - OriginalURL.revokeObjectURL(url); - }; - } - globalScope.URL = JURL; - })(); -} - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __w_pdfjs_require__) { - -"use strict"; - - -var isReadableStreamSupported = false; -if (typeof ReadableStream !== 'undefined') { - try { - new ReadableStream({ - start: function start(controller) { - controller.close(); - } - }); - isReadableStreamSupported = true; - } catch (e) {} -} -if (isReadableStreamSupported) { - exports.ReadableStream = ReadableStream; -} else { - exports.ReadableStream = __w_pdfjs_require__(10).ReadableStream; -} - -/***/ }) -/******/ ]); -}); -//# sourceMappingURL=pdf.js.map \ No newline at end of file +var e;(function(){var e;e=class extends this.OS.GUI.BaseApplication{constructor(e){super("Preview",e)}main(){return this.currfile=void 0,this.args&&this.args.length>0&&(this.currfile=this.args[0].path.asFileHandle()),this.view=this.find("view"),this.status=this.find("status"),this.zoom=this.find("zoom"),this.btnext=this.find("btnext"),this.btprev=this.find("btprev"),this.btreset=this.find("btreset"),this.txtpage=this.find("txtpage"),this.zoom.set("onchange",e=>this.setViewScale(e.data)),this.btreset.set("onbtclick",e=>(this.zoom.set("value",100),this.setViewScale(100))),this.btnext.set("onbtclick",e=>{var t;if(t=parseInt($(this.txtpage).val()),!isNaN(t))return $(this.txtpage).val(t+1),this.gotoPage()}),this.btprev.set("onbtclick",e=>{var t;if(t=parseInt($(this.txtpage).val()),!isNaN(t))return $(this.txtpage).val(t-1),this.gotoPage()}),$(this.txtpage).keyup(e=>{if(13===e.which&&this.pdf)return this.gotoPage()}),PDFJS.workerSrc=(this.path()+"/pdf.worker.js").asFileHandle().getlink(),this.pdf=void 0,this.img=void 0,this.bindKey("ALT-O",()=>this.actionFile(this.name+"-Open")),this.bindKey("CTRL-X",()=>this.actionFile(this.name+"-Close")),this.zoom.set("max",200),this.zoom.set("value",100),this.open(this.currfile)}open(e){if(e)return this.currfile!==e&&(this.currfile=e),e.onready().then(()=>(e.info.size=(e.info.size/1024).toFixed(2),this.renderFile())).catch(t=>this.error(__("File not found {0}",e.path),t))}gotoPage(){var e;if(this.pdf&&(e=parseInt($(this.txtpage).val()),!isNaN(e)&&!(e<=0||e>this.pdf.numPages)))return $(this.view).empty(),this.renderPDFPages(e,this.zoom.get("value")/100,!1).catch(t=>this.error(__("Unable to render page {0}",e),t))}renderFile(){var e;if(e=this.currfile.info.mime)return this.pdf=void 0,this.img=void 0,$(this.view).empty(),this.zoom.set("value",100),e.match(/^[^\/]+\/.*pdf.*/g)?this.renderPDF():e.match(/image\/.*svg.*/g)?this.renderSVG():e.match(/image\/.*/g)?this.renderImage():this.notify(__("Mime type {0} is not supported",file.info.mime))}setStatus(e){return $(this.status).html(e)}setViewScale(e){var t,r,n,i,a,s;if(this.currfile){if(a=e/100,(i=this.currfile.info.mime).match(/^[^\/]+\/.*pdf.*/g)){if(!this.pdf)return;return $(this.view).empty(),this.load(this.renderPDFPages(1,a)).catch(e=>this.error(__("Unable to set view scale"),e))}if(i.match(/image\/.*svg.*/g))return $($(this.view).children()[0]).css("width",Math.round(e)+"%").css("height",Math.round(e)+"%");if(i.match(/image\/.*/g)){if(!this.img)return;return r=(t=$(this.view).children()[0]).getContext("2d"),s=this.img.width*a,n=this.img.height*a,t.height=n,t.width=s,r.clearRect(0,0,t.width,t.height),r.scale(a,a),r.drawImage(this.img,0,0)}}}renderPDFPages(e,t,r){return new Promise((n,i)=>{var a;return a=`${this.currfile.info.name} (${this.currfile.info.size} Kb)`,e>this.pdf.numPages?n():this.pdf.getPage(e).then(s=>{var o,l,c,u,h;return h=s.getViewport(t),c=$("
").attr("id","page-"+(s.pageIndex+1)).attr("scale",t).addClass("pdf-page"),$(this.view).append(c),o=$("")[0],c.append(o),l=o.getContext("2d"),o.height=h.height,o.width=h.width,u={canvasContext:l,viewport:h},s.render(u),s._canvas=o,this.setStatus(`${a} - page ${e}/${this.pdf.numPages} loaded`),r?this.renderPDFPages(e+1,t,r).then((function(){return n()})).catch((function(e){return i(__e(e))})):n()}).catch((function(e){return i(__e(e))}))})}renderPDF(){return this.load(new Promise((e,t)=>this.currfile.read("binary").then(r=>($(this.view).removeClass(),PDFJS.getDocument({data:r}).then(r=>(this.pdf=r,this.renderPDFPages(1,1,!1).then(()=>($(this.txtpage).val("1"),e())).catch((function(e){return t(__e(e))})))).catch((function(e){return t(__e(e))})))).catch((function(e){return t(__e(e))})))).catch(e=>this.error(__("Unable to view file: {0}",this.currfile.path),e))}renderSVG(){return $(this.view).attr("class","image"),this.currfile.read().then(e=>(this.view.innerHTML=e,$($(this.view).children()[0]).css("width","100%").css("height","100%"))).catch(e=>this.error(__("Unable to read file: {0}",this.currfile.path),e))}renderImage(){return $(this.view).attr("class","image"),this.currfile.read("binary").then(e=>{var t,r,n;return n=new Image,r=$("")[0],$(this.view).append(r),n.onload=()=>{var e;return e=r.getContext("2d"),r.height=n.height,r.width=n.width,this.img=n,e.drawImage(n,0,0),this.setStatus(`${this.currfile.info.name} (${this.currfile.info.size} Kb) - ${n.width}x${n.height}`)},t=new Blob([e],{type:this.currfile.info.mime}),n.src=URL.createObjectURL(t)}).catch(e=>this.error(__("Unable to read file: {0}",this.currfile.path),e))}menu(){return[{text:"__(File)",child:[{text:"__(Open)",dataid:this.name+"-Open",shortcut:"A-O"},{text:"__(Close)",dataid:this.name+"-Close",shortcut:"C-X"}],onchildselect:e=>this.actionFile(e.data.item.get("data").dataid)}]}actionFile(e){switch(e){case this.name+"-Open":return this.openDialog("FileDialog",{title:__("Open file"),mimes:this.meta().mimes}).then(e=>this.open(e.file.path.asFileHandle()));case this.name+"-Close":return this.quit()}}},this.OS.register("Preview",e)}).call(this),e=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get: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=15)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unreachable=t.warn=t.utf8StringToString=t.stringToUTF8String=t.stringToPDFString=t.stringToBytes=t.string32=t.shadow=t.setVerbosityLevel=t.ReadableStream=t.removeNullCharacters=t.readUint32=t.readUint16=t.readInt8=t.log2=t.loadJpegStream=t.isEvalSupported=t.isLittleEndian=t.createValidAbsoluteUrl=t.isSameOrigin=t.isNodeJS=t.isSpace=t.isString=t.isNum=t.isInt=t.isEmptyObj=t.isBool=t.isArrayBuffer=t.isArray=t.info=t.globalScope=t.getVerbosityLevel=t.getLookupTableFactory=t.deprecated=t.createObjectURL=t.createPromiseCapability=t.createBlob=t.bytesToString=t.assert=t.arraysToBytes=t.arrayByteLength=t.FormatError=t.XRefParseException=t.Util=t.UnknownErrorException=t.UnexpectedResponseException=t.TextRenderingMode=t.StreamType=t.StatTimer=t.PasswordResponses=t.PasswordException=t.PageViewport=t.NotImplementedException=t.NativeImageDecoding=t.MissingPDFException=t.MissingDataException=t.MessageHandler=t.InvalidPDFException=t.AbortException=t.CMapCompressionType=t.ImageKind=t.FontType=t.AnnotationType=t.AnnotationFlag=t.AnnotationFieldFlag=t.AnnotationBorderStyleType=t.UNSUPPORTED_FEATURES=t.VERBOSITY_LEVELS=t.OPS=t.IDENTITY_MATRIX=t.FONT_IDENTITY_MATRIX=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r(16);var i=r(17),a="undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:void 0,s={errors:0,warnings:1,infos:5},o=s.warnings;function l(e){o>=s.warnings&&console.log("Warning: "+e)}function c(e){throw new Error(e)}function u(e,t){e||c(t)}var h=function(){function e(e,t){this.name="PasswordException",this.message=e,this.code=t}return e.prototype=new Error,e.constructor=e,e}(),d=function(){function e(e,t){this.name="UnknownErrorException",this.message=e,this.details=t}return e.prototype=new Error,e.constructor=e,e}(),f=function(){function e(e){this.name="InvalidPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}(),p=function(){function e(e){this.name="MissingPDFException",this.message=e}return e.prototype=new Error,e.constructor=e,e}(),m=function(){function e(e,t){this.name="UnexpectedResponseException",this.message=e,this.status=t}return e.prototype=new Error,e.constructor=e,e}(),g=function(){function e(e){this.message=e}return e.prototype=new Error,e.prototype.name="NotImplementedException",e.constructor=e,e}(),v=function(){function e(e,t){this.begin=e,this.end=t,this.message="Missing data ["+e+", "+t+")"}return e.prototype=new Error,e.prototype.name="MissingDataException",e.constructor=e,e}(),b=function(){function e(e){this.message=e}return e.prototype=new Error,e.prototype.name="XRefParseException",e.constructor=e,e}(),_=function(){function e(e){this.message=e}return e.prototype=new Error,e.prototype.name="FormatError",e.constructor=e,e}(),y=function(){function e(e){this.name="AbortException",this.message=e}return e.prototype=new Error,e.constructor=e,e}(),A=/\x00/g;function S(e){u("string"==typeof e,"Invalid argument for stringToBytes");for(var t=e.length,r=new Uint8Array(t),n=0;ne[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t},e.intersect=function(t,r){function n(e,t){return e-t}var i=[t[0],t[2],r[0],r[2]].sort(n),a=[t[1],t[3],r[1],r[3]].sort(n),s=[];return t=e.normalizeRect(t),r=e.normalizeRect(r),(i[0]===t[0]&&i[1]===r[0]||i[0]===r[0]&&i[1]===t[0])&&(s[0]=i[1],s[2]=i[2],(a[0]===t[1]&&a[1]===r[1]||a[0]===r[1]&&a[1]===t[1])&&(s[1]=a[1],s[3]=a[2],s))},e.sign=function(e){return e<0?-1:1};var r=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];return e.toRoman=function(e,t){u(k(e)&&e>0,"The number should be a positive integer.");for(var n,i=[];e>=1e3;)e-=1e3,i.push("M");n=e/100|0,e%=100,i.push(r[n]),n=e/10|0,e%=10,i.push(r[10+n]),i.push(r[20+e]);var a=i.join("");return t?a.toLowerCase():a},e.appendToArray=function(e,t){Array.prototype.push.apply(e,t)},e.prependToArray=function(e,t){Array.prototype.unshift.apply(e,t)},e.extendObj=function(e,t){for(var r in t)e[r]=t[r]},e.getInheritableProperty=function(e,t,r){for(;e&&!e.has(t);)e=e.get("Parent");return e?r?e.getArray(t):e.get(t):null},e.inherit=function(e,t,r){for(var n in e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r)e.prototype[n]=r[n]},e.loadScript=function(e,t){var r=document.createElement("script"),n=!1;r.setAttribute("src",e),t&&(r.onload=function(){n||t(),n=!0}),document.getElementsByTagName("head")[0].appendChild(r)},e}(),C=function(){function e(e,t,r,n,i,a){this.viewBox=e,this.scale=t,this.rotation=r,this.offsetX=n,this.offsetY=i;var s,o,l,c,u,h,d,f,p=(e[2]+e[0])/2,m=(e[3]+e[1])/2;switch(r=(r%=360)<0?r+360:r){case 180:s=-1,o=0,l=0,c=1;break;case 90:s=0,o=1,l=1,c=0;break;case 270:s=0,o=-1,l=-1,c=0;break;default:s=1,o=0,l=0,c=-1}a&&(l=-l,c=-c),0===s?(u=Math.abs(m-e[1])*t+n,h=Math.abs(p-e[0])*t+i,d=Math.abs(e[3]-e[1])*t,f=Math.abs(e[2]-e[0])*t):(u=Math.abs(p-e[0])*t+n,h=Math.abs(m-e[1])*t+i,d=Math.abs(e[2]-e[0])*t,f=Math.abs(e[3]-e[1])*t),this.transform=[s*t,o*t,l*t,c*t,u-s*t*p-l*t*m,h-o*t*p-c*t*m],this.width=d,this.height=f,this.fontScale=t}return e.prototype={clone:function(t){var r="scale"in(t=t||{})?t.scale:this.scale,n="rotation"in t?t.rotation:this.rotation;return new e(this.viewBox.slice(),r,n,this.offsetX,this.offsetY,t.dontFlip)},convertToViewportPoint:function(e,t){return P.applyTransform([e,t],this.transform)},convertToViewportRectangle:function(e){var t=P.applyTransform([e[0],e[1]],this.transform),r=P.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],r[0],r[1]]},convertToPdfPoint:function(e,t){return P.applyInverseTransform([e,t],this.transform)}},e}(),R=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function k(e){return"number"==typeof e&&(0|e)===e}function x(){var e={};return e.promise=new Promise((function(t,r){e.resolve=t,e.reject=r})),e}var T,E=function(){function e(e,t,r){for(;e.lengtha&&(a=s.length)}for(t=0,r=n.length;t2&&void 0!==arguments[2]&&arguments[2];if(!r&&URL.createObjectURL){var n=I(e,t);return URL.createObjectURL(n)}for(var i="data:"+t+";base64,",a=0,s=e.length;a>2,h=(3&o)<<4|l>>4,d=a+1>6:64,f=a+22&&void 0!==arguments[2]?arguments[2]:null;return e?new Promise((function(n,i){n(e.apply(r,t))})):Promise.resolve(void 0)}function O(e){if("object"!==(void 0===e?"undefined":n(e)))return e;switch(e.name){case"AbortException":return new y(e.message);case"MissingPDFException":return new p(e.message);case"UnexpectedResponseException":return new m(e.message,e.status);default:return new d(e.message,e.details)}}function F(e,t,r){t?e.resolve():e.reject(r)}function N(e,t,r){var n=this;this.sourceName=e,this.targetName=t,this.comObj=r,this.callbackId=1,this.streamId=1,this.postMessageTransfers=!0,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null);var i=this.callbacksCapabilities=Object.create(null),a=this.actionHandler=Object.create(null);this._onComObjOnMessage=function(e){var t=e.data;if(t.targetName===n.sourceName)if(t.stream)n._processStreamMessage(t);else if(t.isReply){var s=t.callbackId;if(!(t.callbackId in i))throw new Error("Cannot resolve callback "+s);var o=i[s];delete i[s],"error"in t?o.reject(O(t.error)):o.resolve(t.data)}else{if(!(t.action in a))throw new Error("Unknown action from worker: "+t.action);var l=a[t.action];if(t.callbackId){var c=n.sourceName,u=t.sourceName;Promise.resolve().then((function(){return l[0].call(l[1],t.data)})).then((function(e){r.postMessage({sourceName:c,targetName:u,isReply:!0,callbackId:t.callbackId,data:e})}),(function(e){e instanceof Error&&(e+=""),r.postMessage({sourceName:c,targetName:u,isReply:!0,callbackId:t.callbackId,error:e})}))}else t.streamId?n._createStreamSink(t):l[0].call(l[1],t.data)}},r.addEventListener("message",this._onComObjOnMessage)}N.prototype={on:function(e,t,r){var n=this.actionHandler;if(n[e])throw new Error('There is already an actionName called "'+e+'"');n[e]=[t,r]},send:function(e,t,r){var n={sourceName:this.sourceName,targetName:this.targetName,action:e,data:t};this.postMessage(n,r)},sendWithPromise:function(e,t,r){var n=this.callbackId++,i={sourceName:this.sourceName,targetName:this.targetName,action:e,data:t,callbackId:n},a=x();this.callbacksCapabilities[n]=a;try{this.postMessage(i,r)}catch(e){a.reject(e)}return a.promise},sendWithStream:function(e,t,r,n){var a=this,s=this.streamId++,o=this.sourceName,l=this.targetName;return new i.ReadableStream({start:function(r){var n=x();return a.streamControllers[s]={controller:r,startCall:n,isClosed:!1},a.postMessage({sourceName:o,targetName:l,action:e,streamId:s,data:t,desiredSize:r.desiredSize}),n.promise},pull:function(e){var t=x();return a.streamControllers[s].pullCall=t,a.postMessage({sourceName:o,targetName:l,stream:"pull",streamId:s,desiredSize:e.desiredSize}),t.promise},cancel:function(e){var t=x();return a.streamControllers[s].cancelCall=t,a.streamControllers[s].isClosed=!0,a.postMessage({sourceName:o,targetName:l,stream:"cancel",reason:e,streamId:s}),t.promise}},r)},_createStreamSink:function(e){var t=this,r=this,n=this.actionHandler[e.action],i=e.streamId,a=e.desiredSize,s=this.sourceName,o=e.sourceName,l=x(),c=function(e){var r=e.stream,n=e.chunk,a=e.transfers,l=e.success,c=e.reason;t.postMessage({sourceName:s,targetName:o,stream:r,streamId:i,chunk:n,success:l,reason:c},a)},u={enqueue:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments[2];if(!this.isCancelled){var n=this.desiredSize;this.desiredSize-=t,n>0&&this.desiredSize<=0&&(this.sinkCapability=x(),this.ready=this.sinkCapability.promise),c({stream:"enqueue",chunk:e,transfers:r})}},close:function(){this.isCancelled||(c({stream:"close"}),delete r.streamSinks[i])},error:function(e){this.isCancelled||(this.isCancelled=!0,c({stream:"error",reason:e}))},sinkCapability:l,onPull:null,onCancel:null,isCancelled:!1,desiredSize:a,ready:null};u.sinkCapability.resolve(),u.ready=u.sinkCapability.promise,this.streamSinks[i]=u,D(n[0],[e.data,u],n[1]).then((function(){c({stream:"start_complete",success:!0})}),(function(e){c({stream:"start_complete",success:!1,reason:e})}))},_processStreamMessage:function(e){var t=this,r=this.sourceName,n=e.sourceName,i=e.streamId,a=function(e){var a=e.stream,s=e.success,o=e.reason;t.comObj.postMessage({sourceName:r,targetName:n,stream:a,success:s,streamId:i,reason:o})},s=function(){Promise.all([t.streamControllers[e.streamId].startCall,t.streamControllers[e.streamId].pullCall,t.streamControllers[e.streamId].cancelCall].map((function(e){return e&&(t=e.promise,Promise.resolve(t).catch((function(){})));var t}))).then((function(){delete t.streamControllers[e.streamId]}))};switch(e.stream){case"start_complete":F(this.streamControllers[e.streamId].startCall,e.success,O(e.reason));break;case"pull_complete":F(this.streamControllers[e.streamId].pullCall,e.success,O(e.reason));break;case"pull":if(!this.streamSinks[e.streamId]){a({stream:"pull_complete",success:!0});break}this.streamSinks[e.streamId].desiredSize<=0&&e.desiredSize>0&&this.streamSinks[e.streamId].sinkCapability.resolve(),this.streamSinks[e.streamId].desiredSize=e.desiredSize,D(this.streamSinks[e.streamId].onPull).then((function(){a({stream:"pull_complete",success:!0})}),(function(e){a({stream:"pull_complete",success:!1,reason:e})}));break;case"enqueue":u(this.streamControllers[e.streamId],"enqueue should have stream controller"),this.streamControllers[e.streamId].isClosed||this.streamControllers[e.streamId].controller.enqueue(e.chunk);break;case"close":if(u(this.streamControllers[e.streamId],"close should have stream controller"),this.streamControllers[e.streamId].isClosed)break;this.streamControllers[e.streamId].isClosed=!0,this.streamControllers[e.streamId].controller.close(),s();break;case"error":u(this.streamControllers[e.streamId],"error should have stream controller"),this.streamControllers[e.streamId].controller.error(O(e.reason)),s();break;case"cancel_complete":F(this.streamControllers[e.streamId].cancelCall,e.success,O(e.reason)),s();break;case"cancel":if(!this.streamSinks[e.streamId])break;D(this.streamSinks[e.streamId].onCancel,[O(e.reason)]).then((function(){a({stream:"cancel_complete",success:!0})}),(function(e){a({stream:"cancel_complete",success:!1,reason:e})})),this.streamSinks[e.streamId].sinkCapability.reject(O(e.reason)),this.streamSinks[e.streamId].isCancelled=!0,delete this.streamSinks[e.streamId];break;default:throw new Error("Unexpected stream case")}},postMessage:function(e,t){t&&this.postMessageTransfers?this.comObj.postMessage(e,t):this.comObj.postMessage(e)},destroy:function(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}},t.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],t.IDENTITY_MATRIX=[1,0,0,1,0,0],t.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},t.VERBOSITY_LEVELS=s,t.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},t.AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},t.AnnotationFieldFlag={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864},t.AnnotationFlag={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512},t.AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},t.FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10},t.ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},t.CMapCompressionType={NONE:0,BINARY:1,STREAM:2},t.AbortException=y,t.InvalidPDFException=f,t.MessageHandler=N,t.MissingDataException=v,t.MissingPDFException=p,t.NativeImageDecoding={NONE:"none",DECODE:"decode",DISPLAY:"display"},t.NotImplementedException=g,t.PageViewport=C,t.PasswordException=h,t.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},t.StatTimer=E,t.StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},t.TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},t.UnexpectedResponseException=m,t.UnknownErrorException=d,t.Util=P,t.XRefParseException=b,t.FormatError=_,t.arrayByteLength=w,t.arraysToBytes=function(e){if(1===e.length&&e[0]instanceof Uint8Array)return e[0];var t,r,n,i=0,a=e.length;for(t=0;t=s.infos&&console.log("Info: "+e)},t.isArray=function(e){return e instanceof Array},t.isArrayBuffer=function(e){return"object"===(void 0===e?"undefined":n(e))&&null!==e&&void 0!==e.byteLength},t.isBool=function(e){return"boolean"==typeof e},t.isEmptyObj=function(e){for(var t in e)return!1;return!0},t.isInt=k,t.isNum=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSpace=function(e){return 32===e||9===e||13===e||10===e},t.isNodeJS=function(){return"object"===("undefined"==typeof process?"undefined":n(process))&&process+""=="[object process]"},t.isSameOrigin=function(e,t){try{var r=new URL(e);if(!r.origin||"null"===r.origin)return!1}catch(e){return!1}var n=new URL(t,r);return r.origin===n.origin},t.createValidAbsoluteUrl=function(e,t){if(!e)return null;try{var r=t?new URL(e,t):new URL(e);if(function(e){if(!e)return!1;switch(e.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(r))return r}catch(e){}return null},t.isLittleEndian=function(){var e=new Uint8Array(4);return e[0]=1,1===new Uint32Array(e.buffer,0,1)[0]},t.isEvalSupported=function(){try{return new Function(""),!0}catch(e){return!1}},t.loadJpegStream=function(e,t,r){var n=new Image;n.onload=function(){r.resolve(e,n)},n.onerror=function(){r.resolve(e,null),l("Error during JPEG image loading")},n.src=t},t.log2=function(e){for(var t=1,r=0;e>t;)t<<=1,r++;return r},t.readInt8=function(e,t){return e[t]<<24>>24},t.readUint16=function(e,t){return e[t]<<8|e[t+1]},t.readUint32=function(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0},t.removeNullCharacters=function(e){return"string"!=typeof e?(l("The argument for removeNullCharacters must be a string."),e):e.replace(A,"")},t.ReadableStream=i.ReadableStream,t.setVerbosityLevel=function(e){o=e},t.shadow=function(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!1}),r},t.string32=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},t.stringToBytes=S,t.stringToPDFString=function(e){var t,r=e.length,n=[];if("þ"===e[0]&&"ÿ"===e[1])for(t=2;t0?t:e.length,r>0?r:e.length);return e.substring(e.lastIndexOf("/",n)+1,n)},t.LinkTarget=u,t.getDefaultSetting=d,t.DEFAULT_LINK_REL="noopener noreferrer nofollow",t.DOMCanvasFactory=s,t.DOMCMapReaderFactory=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.build=t.version=t._UnsupportedManager=t.setPDFNetworkStreamClass=t.PDFPageProxy=t.PDFDocumentProxy=t.PDFWorker=t.PDFDataRangeTransport=t.LoopbackPort=t.getDocument=void 0;var n,i,a=function(){function e(e,t){for(var r=0;r=0&&a.renderTasks.splice(n,1),t.cleanupAfterRender&&(t.pendingCleanup=!0),t._tryCleanup(),e?c.capability.reject(e):c.capability.resolve(),r.timeEnd("Rendering"),r.timeEnd("Overall")},c=new E(s,e,this.objs,this.commonObjs,a.operatorList,this.pageNumber,i);c.useRequestAnimationFrame="print"!==n,a.renderTasks||(a.renderTasks=[]),a.renderTasks.push(c);var u=c.task;return e.continueCallback&&((0,o.deprecated)("render is used with continueCallback parameter"),u.onContinue=e.continueCallback),a.displayReadyCapability.promise.then((function(e){t.pendingCleanup?s():(r.time("Rendering"),c.initializeGraphics(e),c.operatorListChanged())})).catch(s),u},getOperatorList:function(){this.intentStates.oplist||(this.intentStates.oplist=Object.create(null));var e,t=this.intentStates.oplist;return t.opListReadCapability||((e={}).operatorListChanged=function(){if(t.operatorList.lastChunk){t.opListReadCapability.resolve(t.operatorList);var r=t.renderTasks.indexOf(e);r>=0&&t.renderTasks.splice(r,1)}},t.receivingOperatorList=!0,t.opListReadCapability=(0,o.createPromiseCapability)(),t.renderTasks=[],t.renderTasks.push(e),t.operatorList={fnArray:[],argsArray:[],lastChunk:!1},this.transport.messageHandler.send("RenderPageRequest",{pageIndex:this.pageIndex,intent:"oplist"})),t.opListReadCapability.promise},streamTextContent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=100;return this.transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this.pageNumber-1,normalizeWhitespace:!0===e.normalizeWhitespace,combineTextItems:!0!==e.disableCombineTextItems},{highWaterMark:t,size:function(e){return e.items.length}})},getTextContent:function(e){e=e||{};var t=this.streamTextContent(e);return new Promise((function(e,r){var n=t.getReader(),i={items:[],styles:Object.create(null)};!function t(){n.read().then((function(r){var n=r.value;r.done?e(i):(o.Util.extendObj(i.styles,n.styles),o.Util.appendToArray(i.items,n.items),t())}),r)}()}))},_destroy:function(){this.destroyed=!0,this.transport.pageCache[this.pageIndex]=null;var e=[];return Object.keys(this.intentStates).forEach((function(t){"oplist"!==t&&this.intentStates[t].renderTasks.forEach((function(t){var r=t.capability.promise.catch((function(){}));e.push(r),t.cancel()}))}),this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1,Promise.all(e)},destroy:function(){(0,o.deprecated)("page destroy method, use cleanup() instead"),this.cleanup()},cleanup:function(){this.pendingCleanup=!0,this._tryCleanup()},_tryCleanup:function(){this.pendingCleanup&&!Object.keys(this.intentStates).some((function(e){var t=this.intentStates[e];return 0!==t.renderTasks.length||t.receivingOperatorList}),this)&&(Object.keys(this.intentStates).forEach((function(e){delete this.intentStates[e]}),this),this.objs.clear(),this.annotationsPromise=null,this.pendingCleanup=!1)},_startRenderPage:function(e,t){var r=this.intentStates[t];r.displayReadyCapability&&r.displayReadyCapability.resolve(e)},_renderPageChunk:function(e,t){var r,n,i=this.intentStates[t];for(r=0,n=e.length;r=0;return i=r===a?r:l?new r.constructor(a,r.byteOffset,r.byteLength):new r.constructor(r),n.set(r,i),i}for(var c in i=(0,o.isArray)(r)?[]:{},n.set(r,i),r){for(var u,h=r;!(u=Object.getOwnPropertyDescriptor(h,c));)h=Object.getPrototypeOf(h);void 0!==u.value&&"function"!=typeof u.value&&(i[c]=e(u.value))}return i}(e)};this._deferred.then((function(){r._listeners.forEach((function(e){e.call(this,i)}),r)}))}else this._listeners.forEach((function(t){t.call(this,{data:e})}),this)}},{key:"addEventListener",value:function(e,t){this._listeners.push(t)}},{key:"removeEventListener",value:function(e,t){var r=this._listeners.indexOf(t);this._listeners.splice(r,1)}},{key:"terminate",value:function(){this._listeners=[]}}]),e}(),R=function(){var e=0;function t(){if(void 0!==n)return n;if((0,l.getDefaultSetting)("workerSrc"))return(0,l.getDefaultSetting)("workerSrc");if(m)return m.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2");throw new Error("No PDFJS.workerSrc specified")}var r=void 0,a=new WeakMap;function s(e,t){if(t&&a.has(t))throw new Error("Cannot use more than one PDFWorker per port");if(this.name=e,this.destroyed=!1,this.postMessageTransfers=!0,this._readyCapability=(0,o.createPromiseCapability)(),this._port=null,this._webWorker=null,this._messageHandler=null,t)return a.set(t,this),void this._initializeFromPort(t);this._initialize()}return s.prototype={get promise(){return this._readyCapability.promise},get port(){return this._port},get messageHandler(){return this._messageHandler},_initializeFromPort:function(e){this._port=e,this._messageHandler=new o.MessageHandler("main","worker",e),this._messageHandler.on("ready",(function(){})),this._readyCapability.resolve()},_initialize:function(){var e,r=this;if(!f&&!(0,l.getDefaultSetting)("disableWorker")&&"undefined"!=typeof Worker){var n=t();try{(0,o.isSameOrigin)(window.location.href,n)||(e="importScripts('"+new URL(n,window.location).href+"');",n=URL.createObjectURL(new Blob([e])));var i=new Worker(n),a=new o.MessageHandler("main","worker",i),s=function(){i.removeEventListener("error",c),a.destroy(),i.terminate(),r.destroyed?r._readyCapability.reject(new Error("Worker was destroyed")):r._setupFakeWorker()},c=function(){r._webWorker||s()};i.addEventListener("error",c),a.on("test",(function(e){i.removeEventListener("error",c),r.destroyed?s():e&&e.supportTypedArray?(r._messageHandler=a,r._port=i,r._webWorker=i,e.supportTransfers||(r.postMessageTransfers=!1,p=!0),r._readyCapability.resolve(),a.send("configure",{verbosity:(0,o.getVerbosityLevel)()})):(r._setupFakeWorker(),a.destroy(),i.terminate())})),a.on("console_log",(function(e){console.log.apply(console,e)})),a.on("console_error",(function(e){console.error.apply(console,e)})),a.on("ready",(function(e){if(i.removeEventListener("error",c),r.destroyed)s();else try{u()}catch(e){r._setupFakeWorker()}}));var u=function(){var e=(0,l.getDefaultSetting)("postMessageTransfers")&&!p,t=new Uint8Array([e?255:0]);try{a.send("test",t,[t.buffer])}catch(e){(0,o.info)("Cannot use postMessage transfers"),t[0]=0,a.send("test",t)}};return void u()}catch(e){(0,o.info)("The worker has been disabled.")}}this._setupFakeWorker()},_setupFakeWorker:function(){var n=this;f||(0,l.getDefaultSetting)("disableWorker")||((0,o.warn)("Setting up fake worker."),f=!0),(r||(r=(0,o.createPromiseCapability)(),(i||function(e){o.Util.loadScript(t(),(function(){e(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler)}))})(r.resolve)),r.promise).then((function(t){if(n.destroyed)n._readyCapability.reject(new Error("Worker was destroyed"));else{var r=Uint8Array!==Float32Array,i=new C(r);n._port=i;var a="fake"+e++,s=new o.MessageHandler(a+"_worker",a,i);t.setup(s,i);var l=new o.MessageHandler(a,a+"_worker",i);n._messageHandler=l,n._readyCapability.resolve()}}))},destroy:function(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),a.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}},s.fromPort=function(e){return a.has(e)?a.get(e):new s(null,e)},s}(),k=function(){function e(e,t,r,n){this.messageHandler=e,this.loadingTask=t,this.commonObjs=new x,this.fontLoader=new c.FontLoader(t.docId),this.CMapReaderFactory=new n({baseUrl:(0,l.getDefaultSetting)("cMapUrl"),isCompressed:(0,l.getDefaultSetting)("cMapPacked")}),this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=r,this._fullReader=null,this._lastProgress=null,this.pageCache=[],this.pagePromises=[],this.downloadInfoCapability=(0,o.createPromiseCapability)(),this.setupMessageHandler()}return e.prototype={destroy:function(){var e=this;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=(0,o.createPromiseCapability)(),this._passwordCapability&&this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));var t=[];this.pageCache.forEach((function(e){e&&t.push(e._destroy())})),this.pageCache=[],this.pagePromises=[];var r=this.messageHandler.sendWithPromise("Terminate",null);return t.push(r),Promise.all(t).then((function(){e.fontLoader.clear(),e._networkStream&&e._networkStream.cancelAllRequests(),e.messageHandler&&(e.messageHandler.destroy(),e.messageHandler=null),e.destroyCapability.resolve()}),this.destroyCapability.reject),this.destroyCapability.promise},setupMessageHandler:function(){var e=this.messageHandler,t=this.loadingTask;e.on("GetReader",(function(e,t){var r=this;(0,o.assert)(this._networkStream),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=function(e){r._lastProgress={loaded:e.loaded,total:e.total}},t.onPull=function(){r._fullReader.read().then((function(e){var r=e.value;e.done?t.close():((0,o.assert)((0,o.isArrayBuffer)(r)),t.enqueue(new Uint8Array(r),1,[r]))})).catch((function(e){t.error(e)}))},t.onCancel=function(e){r._fullReader.cancel(e)}}),this),e.on("ReaderHeadersReady",(function(e){var t=this,r=(0,o.createPromiseCapability)(),n=this._fullReader;return n.headersReady.then((function(){if(!n.isStreamingSupported||!n.isRangeSupported){if(t._lastProgress){var e=t.loadingTask;e.onProgress&&e.onProgress(t._lastProgress)}n.onProgress=function(e){var r=t.loadingTask;r.onProgress&&r.onProgress({loaded:e.loaded,total:e.total})}}r.resolve({isStreamingSupported:n.isStreamingSupported,isRangeSupported:n.isRangeSupported,contentLength:n.contentLength})}),r.reject),r.promise}),this),e.on("GetRangeReader",(function(e,t){(0,o.assert)(this._networkStream);var r=this._networkStream.getRangeReader(e.begin,e.end);t.onPull=function(){r.read().then((function(e){var r=e.value;e.done?t.close():((0,o.assert)((0,o.isArrayBuffer)(r)),t.enqueue(new Uint8Array(r),1,[r]))})).catch((function(e){t.error(e)}))},t.onCancel=function(e){r.cancel(e)}}),this),e.on("GetDoc",(function(e){var t=e.pdfInfo;this.numPages=e.pdfInfo.numPages;var r=this.loadingTask,n=new w(t,this,r);this.pdfDocument=n,r._capability.resolve(n)}),this),e.on("PasswordRequest",(function(e){var r=this;return this._passwordCapability=(0,o.createPromiseCapability)(),t.onPassword?t.onPassword((function(e){r._passwordCapability.resolve({password:e})}),e.code):this._passwordCapability.reject(new o.PasswordException(e.message,e.code)),this._passwordCapability.promise}),this),e.on("PasswordException",(function(e){t._capability.reject(new o.PasswordException(e.message,e.code))}),this),e.on("InvalidPDF",(function(e){this.loadingTask._capability.reject(new o.InvalidPDFException(e.message))}),this),e.on("MissingPDF",(function(e){this.loadingTask._capability.reject(new o.MissingPDFException(e.message))}),this),e.on("UnexpectedResponse",(function(e){this.loadingTask._capability.reject(new o.UnexpectedResponseException(e.message,e.status))}),this),e.on("UnknownError",(function(e){this.loadingTask._capability.reject(new o.UnknownErrorException(e.message,e.details))}),this),e.on("DataLoaded",(function(e){this.downloadInfoCapability.resolve(e)}),this),e.on("PDFManagerReady",(function(e){}),this),e.on("StartRenderPage",(function(e){if(!this.destroyed){var t=this.pageCache[e.pageIndex];t.stats.timeEnd("Page Request"),t._startRenderPage(e.transparency,e.intent)}}),this),e.on("RenderPageChunk",(function(e){this.destroyed||this.pageCache[e.pageIndex]._renderPageChunk(e.operatorList,e.intent)}),this),e.on("commonobj",(function(e){var t=this;if(!this.destroyed){var r=e[0],n=e[1];if(!this.commonObjs.hasData(r))switch(n){case"Font":var i=e[2];if("error"in i){var a=i.error;(0,o.warn)("Error during font loading: "+a),this.commonObjs.resolve(r,a);break}var s=null;(0,l.getDefaultSetting)("pdfBug")&&o.globalScope.FontInspector&&o.globalScope.FontInspector.enabled&&(s={registerFont:function(e,t){o.globalScope.FontInspector.fontAdded(e,t)}});var u=new c.FontFaceObject(i,{isEvalSuported:(0,l.getDefaultSetting)("isEvalSupported"),disableFontFace:(0,l.getDefaultSetting)("disableFontFace"),fontRegistry:s});this.fontLoader.bind([u],(function(e){t.commonObjs.resolve(r,u)}));break;case"FontPath":this.commonObjs.resolve(r,e[2]);break;default:throw new Error("Got unknown common object type "+n)}}}),this),e.on("obj",(function(e){if(!this.destroyed){var t,r=e[0],n=e[1],i=e[2],a=this.pageCache[n];if(!a.objs.hasData(r))switch(i){case"JpegStream":t=e[3],(0,o.loadJpegStream)(r,t,a.objs);break;case"Image":t=e[3],a.objs.resolve(r,t),t&&"data"in t&&t.data.length>8e6&&(a.cleanupAfterRender=!0);break;default:throw new Error("Got unknown object type "+i)}}}),this),e.on("DocProgress",(function(e){if(!this.destroyed){var t=this.loadingTask;t.onProgress&&t.onProgress({loaded:e.loaded,total:e.total})}}),this),e.on("PageError",(function(e){if(!this.destroyed){var t=this.pageCache[e.pageNum-1].intentStates[e.intent];if(!t.displayReadyCapability)throw new Error(e.error);if(t.displayReadyCapability.reject(e.error),t.operatorList){t.operatorList.lastChunk=!0;for(var r=0;rthis.numPages)return Promise.reject(new Error("Invalid page request"));var n=e-1;if(n in this.pagePromises)return this.pagePromises[n];var i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:n}).then((function(e){if(r.destroyed)throw new Error("Transport destroyed");var t=new P(n,e,r);return r.pageCache[n]=t,t}));return this.pagePromises[n]=i,i},getPageIndex:function(e){return this.messageHandler.sendWithPromise("GetPageIndex",{ref:e}).catch((function(e){return Promise.reject(new Error(e))}))},getAnnotations:function(e,t){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:t})},getDestinations:function(){return this.messageHandler.sendWithPromise("GetDestinations",null)},getDestination:function(e){return this.messageHandler.sendWithPromise("GetDestination",{id:e})},getPageLabels:function(){return this.messageHandler.sendWithPromise("GetPageLabels",null)},getPageMode:function(){return this.messageHandler.sendWithPromise("GetPageMode",null)},getAttachments:function(){return this.messageHandler.sendWithPromise("GetAttachments",null)},getJavaScript:function(){return this.messageHandler.sendWithPromise("GetJavaScript",null)},getOutline:function(){return this.messageHandler.sendWithPromise("GetOutline",null)},getMetadata:function(){return this.messageHandler.sendWithPromise("GetMetadata",null).then((function(e){return{info:e[0],metadata:e[1]?new h.Metadata(e[1]):null}}))},getStats:function(){return this.messageHandler.sendWithPromise("GetStats",null)},startCleanup:function(){var e=this;this.messageHandler.sendWithPromise("Cleanup",null).then((function(){for(var t=0,r=e.pageCache.length;t1&&(0,o.deprecated)("getDocument is called with pdfDataRangeTransport, passwordCallback or progressCallback argument"),t&&(t instanceof S||((t=Object.create(t)).length=e.length,t.initialData=e.initialData,t.abort||(t.abort=function(){})),(e=Object.create(e)).range=t),a.onPassword=r||null,a.onProgress=n||null,"string"==typeof e)i={url:e};else if((0,o.isArrayBuffer)(e))i={data:e};else if(e instanceof S)i={range:e};else{if("object"!==(void 0===e?"undefined":s(e)))throw new Error("Invalid parameter in getDocument, need either Uint8Array, string or a parameter object");if(!e.url&&!e.data&&!e.range)throw new Error("Invalid parameter object: need either .data, .range or .url");i=e}var c={},u=null,h=null,f=l.DOMCMapReaderFactory;for(var p in i)if("url"!==p||"undefined"==typeof window)if("range"!==p)if("worker"!==p)if("data"!==p||i[p]instanceof Uint8Array)"CMapReaderFactory"!==p?c[p]=i[p]:f=i[p];else{var m=i[p];if("string"==typeof m)c[p]=(0,o.stringToBytes)(m);else if("object"!==(void 0===m?"undefined":s(m))||null===m||isNaN(m.length)){if(!(0,o.isArrayBuffer)(m))throw new Error("Invalid PDF binary data: either typed array, string or array-like object is expected in the data property.");c[p]=new Uint8Array(m)}else c[p]=new Uint8Array(m)}else h=i[p];else u=i[p];else c[p]=new URL(i[p],window.location).href;if(c.rangeChunkSize=c.rangeChunkSize||65536,c.ignoreErrors=!0!==c.stopAtErrors,void 0!==c.disableNativeImageDecoder&&(0,o.deprecated)("parameter disableNativeImageDecoder, use nativeImageDecoderSupport instead"),c.nativeImageDecoderSupport=c.nativeImageDecoderSupport||(!0===c.disableNativeImageDecoder?o.NativeImageDecoding.NONE:o.NativeImageDecoding.DECODE),c.nativeImageDecoderSupport!==o.NativeImageDecoding.DECODE&&c.nativeImageDecoderSupport!==o.NativeImageDecoding.NONE&&c.nativeImageDecoderSupport!==o.NativeImageDecoding.DISPLAY&&((0,o.warn)("Invalid parameter nativeImageDecoderSupport: need a state of enum {NativeImageDecoding}"),c.nativeImageDecoderSupport=o.NativeImageDecoding.DECODE),!h){var g=(0,l.getDefaultSetting)("workerPort");h=g?R.fromPort(g):new R,a._worker=h}var b=a.docId;return h.promise.then((function(){if(a.destroyed)throw new Error("Loading aborted");return _(h,c,u,b).then((function(e){if(a.destroyed)throw new Error("Loading aborted");var t=void 0;u?t=new d.PDFDataTransportStream(c,u):c.data||(t=new v({source:c,disableRange:(0,l.getDefaultSetting)("disableRange")}));var r=new o.MessageHandler(b,e,h.port);r.postMessageTransfers=h.postMessageTransfers;var n=new k(r,a,t,f);a._transport=n,r.send("Ready",null)}))})).catch(a._capability.reject),a},t.LoopbackPort=C,t.PDFDataRangeTransport=S,t.PDFWorker=R,t.PDFDocumentProxy=w,t.PDFPageProxy=P,t.setPDFNetworkStreamClass=function(e){v=e},t._UnsupportedManager=I,t.version="1.9.426",t.build="2558a58d"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnnotationLayer=void 0;var n=r(1),i=r(0);function a(){}a.prototype={create:function(e){switch(e.data.annotationType){case i.AnnotationType.LINK:return new o(e);case i.AnnotationType.TEXT:return new l(e);case i.AnnotationType.WIDGET:switch(e.data.fieldType){case"Tx":return new u(e);case"Btn":if(e.data.radioButton)return new d(e);if(e.data.checkBox)return new h(e);(0,i.warn)("Unimplemented button widget annotation: pushbutton");break;case"Ch":return new f(e)}return new c(e);case i.AnnotationType.POPUP:return new p(e);case i.AnnotationType.LINE:return new g(e);case i.AnnotationType.HIGHLIGHT:return new v(e);case i.AnnotationType.UNDERLINE:return new b(e);case i.AnnotationType.SQUIGGLY:return new _(e);case i.AnnotationType.STRIKEOUT:return new y(e);case i.AnnotationType.FILEATTACHMENT:return new A(e);default:return new s(e)}}};var s=function(){function e(e,t,r){this.isRenderable=t||!1,this.data=e.data,this.layer=e.layer,this.page=e.page,this.viewport=e.viewport,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderInteractiveForms=e.renderInteractiveForms,t&&(this.container=this._createContainer(r))}return e.prototype={_createContainer:function(e){var t=this.data,r=this.page,a=this.viewport,s=document.createElement("section"),o=t.rect[2]-t.rect[0],l=t.rect[3]-t.rect[1];s.setAttribute("data-annotation-id",t.id);var c=i.Util.normalizeRect([t.rect[0],r.view[3]-t.rect[1]+r.view[1],t.rect[2],r.view[3]-t.rect[3]+r.view[1]]);if(n.CustomStyle.setProp("transform",s,"matrix("+a.transform.join(",")+")"),n.CustomStyle.setProp("transformOrigin",s,-c[0]+"px "+-c[1]+"px"),!e&&t.borderStyle.width>0){s.style.borderWidth=t.borderStyle.width+"px",t.borderStyle.style!==i.AnnotationBorderStyleType.UNDERLINE&&(o-=2*t.borderStyle.width,l-=2*t.borderStyle.width);var u=t.borderStyle.horizontalCornerRadius,h=t.borderStyle.verticalCornerRadius;if(u>0||h>0){var d=u+"px / "+h+"px";n.CustomStyle.setProp("borderRadius",s,d)}switch(t.borderStyle.style){case i.AnnotationBorderStyleType.SOLID:s.style.borderStyle="solid";break;case i.AnnotationBorderStyleType.DASHED:s.style.borderStyle="dashed";break;case i.AnnotationBorderStyleType.BEVELED:(0,i.warn)("Unimplemented border style: beveled");break;case i.AnnotationBorderStyleType.INSET:(0,i.warn)("Unimplemented border style: inset");break;case i.AnnotationBorderStyleType.UNDERLINE:s.style.borderBottomStyle="solid"}t.color?s.style.borderColor=i.Util.makeCssRgb(0|t.color[0],0|t.color[1],0|t.color[2]):s.style.borderWidth=0}return s.style.left=c[0]+"px",s.style.top=c[1]+"px",s.style.width=o+"px",s.style.height=l+"px",s},_createPopup:function(e,t,r){t||((t=document.createElement("div")).style.height=e.style.height,t.style.width=e.style.width,e.appendChild(t));var n=new m({container:e,trigger:t,color:r.color,title:r.title,contents:r.contents,hideWrapper:!0}).render();n.style.left=e.style.width,e.appendChild(n)},render:function(){throw new Error("Abstract method AnnotationElement.render called")}},e}(),o=function(){function e(e){s.call(this,e,!0)}return i.Util.inherit(e,s,{render:function(){this.container.className="linkAnnotation";var e=document.createElement("a");return(0,n.addLinkAttributes)(e,{url:this.data.url,target:this.data.newWindow?n.LinkTarget.BLANK:void 0}),this.data.url||(this.data.action?this._bindNamedAction(e,this.data.action):this._bindLink(e,this.data.dest)),this.container.appendChild(e),this.container},_bindLink:function(e,t){var r=this;e.href=this.linkService.getDestinationHash(t),e.onclick=function(){return t&&r.linkService.navigateTo(t),!1},t&&(e.className="internalLink")},_bindNamedAction:function(e,t){var r=this;e.href=this.linkService.getAnchorUrl(""),e.onclick=function(){return r.linkService.executeNamedAction(t),!1},e.className="internalLink"}}),e}(),l=function(){function e(e){var t=!!(e.data.hasPopup||e.data.title||e.data.contents);s.call(this,e,t)}return i.Util.inherit(e,s,{render:function(){this.container.className="textAnnotation";var e=document.createElement("img");return e.style.height=this.container.style.height,e.style.width=this.container.style.width,e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.alt="[{{type}} Annotation]",e.dataset.l10nId="text_annotation_type",e.dataset.l10nArgs=JSON.stringify({type:this.data.name}),this.data.hasPopup||this._createPopup(this.container,e,this.data),this.container.appendChild(e),this.container}}),e}(),c=function(){function e(e,t){s.call(this,e,t)}return i.Util.inherit(e,s,{render:function(){return this.container}}),e}(),u=function(){var e=["left","center","right"];function t(e){var t=e.renderInteractiveForms||!e.data.hasAppearance&&!!e.data.fieldValue;c.call(this,e,t)}return i.Util.inherit(t,c,{render:function(){this.container.className="textWidgetAnnotation";var t=null;if(this.renderInteractiveForms){if(this.data.multiLine?(t=document.createElement("textarea")).textContent=this.data.fieldValue:((t=document.createElement("input")).type="text",t.setAttribute("value",this.data.fieldValue)),t.disabled=this.data.readOnly,null!==this.data.maxLen&&(t.maxLength=this.data.maxLen),this.data.comb){var r=(this.data.rect[2]-this.data.rect[0])/this.data.maxLen;t.classList.add("comb"),t.style.letterSpacing="calc("+r+"px - 1ch)"}}else{(t=document.createElement("div")).textContent=this.data.fieldValue,t.style.verticalAlign="middle",t.style.display="table-cell";var n=null;this.data.fontRefName&&(n=this.page.commonObjs.getData(this.data.fontRefName)),this._setTextStyle(t,n)}return null!==this.data.textAlignment&&(t.style.textAlign=e[this.data.textAlignment]),this.container.appendChild(t),this.container},_setTextStyle:function(e,t){var r=e.style;if(r.fontSize=this.data.fontSize+"px",r.direction=this.data.fontDirection<0?"rtl":"ltr",t){r.fontWeight=t.black?t.bold?"900":"bold":t.bold?"bold":"normal",r.fontStyle=t.italic?"italic":"normal";var n=t.loadedName?'"'+t.loadedName+'", ':"",i=t.fallbackName||"Helvetica, sans-serif";r.fontFamily=n+i}}}),t}(),h=function(){function e(e){c.call(this,e,e.renderInteractiveForms)}return i.Util.inherit(e,c,{render:function(){this.container.className="buttonWidgetAnnotation checkBox";var e=document.createElement("input");return e.disabled=this.data.readOnly,e.type="checkbox",this.data.fieldValue&&"Off"!==this.data.fieldValue&&e.setAttribute("checked",!0),this.container.appendChild(e),this.container}}),e}(),d=function(){function e(e){c.call(this,e,e.renderInteractiveForms)}return i.Util.inherit(e,c,{render:function(){this.container.className="buttonWidgetAnnotation radioButton";var e=document.createElement("input");return e.disabled=this.data.readOnly,e.type="radio",e.name=this.data.fieldName,this.data.fieldValue===this.data.buttonValue&&e.setAttribute("checked",!0),this.container.appendChild(e),this.container}}),e}(),f=function(){function e(e){c.call(this,e,e.renderInteractiveForms)}return i.Util.inherit(e,c,{render:function(){this.container.className="choiceWidgetAnnotation";var e=document.createElement("select");e.disabled=this.data.readOnly,this.data.combo||(e.size=this.data.options.length,this.data.multiSelect&&(e.multiple=!0));for(var t=0,r=this.data.options.length;t=0&&i.setAttribute("selected",!0),e.appendChild(i)}return this.container.appendChild(e),this.container}}),e}(),p=function(){var e=["Line"];function t(e){var t=!(!e.data.title&&!e.data.contents);s.call(this,e,t)}return i.Util.inherit(t,s,{render:function(){if(this.container.className="popupAnnotation",e.indexOf(this.data.parentType)>=0)return this.container;var t='[data-annotation-id="'+this.data.parentId+'"]',r=this.layer.querySelector(t);if(!r)return this.container;var i=new m({container:this.container,trigger:r,color:this.data.color,title:this.data.title,contents:this.data.contents}),a=parseFloat(r.style.left),s=parseFloat(r.style.width);return n.CustomStyle.setProp("transformOrigin",this.container,-(a+s)+"px -"+r.style.top),this.container.style.left=a+s+"px",this.container.appendChild(i.render()),this.container}}),t}(),m=function(){function e(e){this.container=e.container,this.trigger=e.trigger,this.color=e.color,this.title=e.title,this.contents=e.contents,this.hideWrapper=e.hideWrapper||!1,this.pinned=!1}return e.prototype={render:function(){var e=document.createElement("div");e.className="popupWrapper",this.hideElement=this.hideWrapper?e:this.container,this.hideElement.setAttribute("hidden",!0);var t=document.createElement("div");t.className="popup";var r=this.color;if(r){var n=.7*(255-r[0])+r[0],a=.7*(255-r[1])+r[1],s=.7*(255-r[2])+r[2];t.style.backgroundColor=i.Util.makeCssRgb(0|n,0|a,0|s)}var o=this._formatContents(this.contents),l=document.createElement("h1");return l.textContent=this.title,this.trigger.addEventListener("click",this._toggle.bind(this)),this.trigger.addEventListener("mouseover",this._show.bind(this,!1)),this.trigger.addEventListener("mouseout",this._hide.bind(this,!1)),t.addEventListener("click",this._hide.bind(this,!0)),t.appendChild(l),t.appendChild(o),e.appendChild(t),e},_formatContents:function(e){for(var t=document.createElement("p"),r=e.split(/(?:\r\n?|\n)/),n=0,i=r.length;n>1&2147483647:n>>1&2147483647;t[r]=n}function s(e,r,n,i){var a=i,s=r.length;n[a]=s>>24&255,n[a+1]=s>>16&255,n[a+2]=s>>8&255,n[a+3]=255&s,n[a+=4]=255&e.charCodeAt(0),n[a+1]=255&e.charCodeAt(1),n[a+2]=255&e.charCodeAt(2),n[a+3]=255&e.charCodeAt(3),a+=4,n.set(r,a);var o=function(e,r,n){for(var i=-1,a=r;a>>8^t[s]}return-1^i}(n,i+4,a+=r.length);n[a]=o>>24&255,n[a+1]=o>>16&255,n[a+2]=o>>8&255,n[a+3]=255&o}function o(e){var t=e.length,r=Math.ceil(t/65535),n=new Uint8Array(2+t+5*r+4),i=0;n[i++]=120,n[i++]=156;for(var a=0;t>65535;)n[i++]=0,n[i++]=255,n[i++]=255,n[i++]=0,n[i++]=0,n.set(e.subarray(a,a+65535),i),i+=65535,a+=65535,t-=65535;n[i++]=1,n[i++]=255&t,n[i++]=t>>8&255,n[i++]=255&~t,n[i++]=(65535&~t)>>8&255,n.set(e.subarray(a),i),i+=e.length-a;var s=function(e,t,r){for(var n=1,i=0,a=0;a>24&255,n[i++]=s>>16&255,n[i++]=s>>8&255,n[i++]=255&s,n}return function(t,r){return function(t,r,n){var a,l,c,u=t.width,h=t.height,d=t.data;switch(r){case i.ImageKind.GRAYSCALE_1BPP:l=0,a=1,c=u+7>>3;break;case i.ImageKind.RGB_24BPP:l=2,a=8,c=3*u;break;case i.ImageKind.RGBA_32BPP:l=6,a=8,c=4*u;break;default:throw new Error("invalid format")}var f,p,m=new Uint8Array((1+c)*h),g=0,v=0;for(f=0;f>24&255,u>>16&255,u>>8&255,255&u,h>>24&255,h>>16&255,h>>8&255,255&h,a,l,0,0,0]),_=function(e){if(!(0,i.isNodeJS)())return o(e);try{var t;t=parseInt(process.versions.node)>=8?e:new Buffer(e);var r=require("zlib").deflateSync(t,{level:9});return r instanceof Uint8Array?r:new Uint8Array(r)}catch(e){(0,i.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+e)}return o(e)}(m),y=e.length+36+b.length+_.length,A=new Uint8Array(y),S=0;return A.set(e,S),s("IHDR",b,A,S+=e.length),s("IDATA",_,A,S+=12+b.length),S+=12+_.length,s("IEND",new Uint8Array(0),A,S),(0,i.createObjectURL)(A,"image/png",n)}(t,void 0===t.kind?i.ImageKind.GRAYSCALE_1BPP:t.kind,r)}}(),s=function(){function e(){this.fontSizeScale=1,this.fontWeight="normal",this.fontSize=0,this.textMatrix=i.IDENTITY_MATRIX,this.fontMatrix=i.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.activeClipUrl=null,this.clipGroup=null,this.maskId=""}return e.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(e,t){this.x=e,this.y=t}},e}();t.SVGGraphics=n=function(){function e(e){if(e===(0|e))return e.toString();var t=e.toFixed(10),r=t.length-1;if("0"!==t[r])return t;do{r--}while("0"===t[r]);return t.substr(0,"."===t[r]?r:r+1)}function t(t){if(0===t[4]&&0===t[5]){if(0===t[1]&&0===t[2])return 1===t[0]&&1===t[3]?"":"scale("+e(t[0])+" "+e(t[3])+")";if(t[0]===t[3]&&t[1]===-t[2])return"rotate("+e(180*Math.acos(t[0])/Math.PI)+")"}else if(1===t[0]&&0===t[1]&&0===t[2]&&1===t[3])return"translate("+e(t[4])+" "+e(t[5])+")";return"matrix("+e(t[0])+" "+e(t[1])+" "+e(t[2])+" "+e(t[3])+" "+e(t[4])+" "+e(t[5])+")"}function r(e,t,r){this.current=new s,this.transformMatrix=i.IDENTITY_MATRIX,this.transformStack=[],this.extraStack=[],this.commonObjs=e,this.objs=t,this.pendingClip=null,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts=Object.create(null),this.cssStyle=null,this.forceDataSchema=!!r}var n="http://www.w3.org/2000/svg",o="http://www.w3.org/1999/xlink",l=["butt","round","square"],c=["miter","round","bevel"],u=0,h=0;return r.prototype={save:function(){this.transformStack.push(this.transformMatrix);var e=this.current;this.extraStack.push(e),this.current=e.clone()},restore:function(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.pendingClip=null,this.tgrp=null},group:function(e){this.save(),this.executeOpTree(e),this.restore()},loadDependencies:function(e){for(var t=this,r=e.fnArray,n=r.length,a=e.argsArray,s=0;s1&&(d.vertical?c.canvasWidth=a.height*r._viewport.scale:c.canvasWidth=a.width*r._viewport.scale),r._textDivProperties.set(l,c),r._textContentStream&&r._layoutText(l),r._enhanceTextSelection){var v=1,b=0;0!==h&&(v=Math.cos(h),b=Math.sin(h));var _,y,A=(d.vertical?a.height:a.width)*r._viewport.scale,S=m;0!==h?(_=[v,b,-b,v,f,p],y=n.Util.getAxialAlignedBoundingBox([0,0,A,S],_)):y=[f,p,f+A,p+S],r._bounds.push({left:y[0],top:y[1],right:y[2],bottom:y[3],div:l,size:[A,S],m:_})}}function a(e){if(!e._canceled){var t=e._textDivs,r=e._capability,n=t.length;if(n>1e5)return e._renderingDone=!0,void r.resolve();if(!e._textContentStream)for(var i=0;i=0&&r[a].start>=e.y2;)a--;var s,o,l=-1/0;for(s=t;s<=a;s++){var c;(c=(i=(n=r[s]).boundary).x2>e.x1?i.index>e.index?i.x1New:e.x1:void 0===i.x2New?(i.x2+e.x1)/2:i.x2New)>l&&(l=c)}for(e.x1New=l,s=t;s<=a;s++)void 0===(i=(n=r[s]).boundary).x2New?i.x2>e.x1?i.index>e.index&&(i.x2New=i.x2):i.x2New=l:i.x2New>l&&(i.x2New=Math.max(l,i.x2));var u=[],h=null;for(s=t;s<=a;s++){var d=(i=(n=r[s]).boundary).x2>e.x2?i:e;h===d?u[u.length-1].end=n.end:(u.push({start:n.start,end:n.end,boundary:d}),h=d)}for(r[t].start=0&&r[o].start>=i.y1;o--)f=r[o].boundary===i;for(o=a+1;!f&&o0&&(r.scale=r.canvasWidth/s,o="scaleX("+r.scale+")"),0!==r.angle&&(o="rotate("+r.angle+"deg) "+o),""!==o&&(r.originalTransform=o,i.CustomStyle.setProp("transform",e,o)),this._textDivProperties.set(e,r),t.appendChild(e)}},_render:function(e){var t=this,r=(0,n.createPromiseCapability)(),i=Object.create(null),s=document.createElement("canvas");if(s.mozOpaque=!0,this._layoutTextCtx=s.getContext("2d",{alpha:!1}),this._textContent){var o=this._textContent.items,l=this._textContent.styles;this._processItems(o,l),r.resolve()}else{if(!this._textContentStream)throw new Error('Neither "textContent" nor "textContentStream" parameters specified.');this._reader=this._textContentStream.getReader(),function e(){t._reader.read().then((function(a){var s=a.value;a.done?r.resolve():(n.Util.extendObj(i,s.styles),t._processItems(s.items,i),e())}),r.reject)}()}r.promise.then((function(){i=null,e?t._renderTimer=setTimeout((function(){a(t),t._renderTimer=null}),e):a(t)}),this._capability.reject)},expandTextDivs:function(e){if(this._enhanceTextSelection&&this._renderingDone){null!==this._bounds&&(function(e){for(var t=e._bounds,r=e._viewport,i=function(e,t,r){var n=r.map((function(e,t){return{x1:e.left,y1:e.top,x2:e.right,y2:e.bottom,index:t,x1New:void 0,x2New:void 0}}));s(e,n);var i=new Array(r.length);return n.forEach((function(e){var t=e.index;i[t]={left:e.x1New,top:0,right:e.x2New,bottom:0}})),r.map((function(t,r){var a=i[r],s=n[r];s.x1=t.top,s.y1=e-a.right,s.x2=t.bottom,s.y2=e-a.left,s.index=r,s.x1New=void 0,s.x2New=void 0})),s(t,n),n.forEach((function(e){var t=e.index;i[t].top=e.x1New,i[t].bottom=e.x2New})),i}(r.width,r.height,t),a=0;a0&&(n=n?Math.min(a,n):a)}return n},v=1+Math.min(Math.abs(d),Math.abs(f));l.paddingLeft=g(m,32,16)/v,l.paddingTop=g(m,48,16)/v,l.paddingRight=g(m,0,16)/v,l.paddingBottom=g(m,16,16)/v,e._textDivProperties.set(o,l)}else l.paddingLeft=t[a].left-i[a].left,l.paddingTop=t[a].top-i[a].top,l.paddingRight=i[a].right-t[a].right,l.paddingBottom=i[a].bottom-t[a].bottom,e._textDivProperties.set(o,l)}}(this),this._bounds=null);for(var t=0,r=this._textDivs.length;t\\376\\377([^<]+)/g,(function(e,t){for(var r=t.replace(/\\([0-3])([0-7])([0-7])/g,(function(e,t,r,n){return String.fromCharCode(64*t+8*r+1*n)})),n="",i=0;i=32&&a<127&&60!==a&&62!==a&&38!==a?String.fromCharCode(a):"&#x"+(65536+a).toString(16).substring(1)+";"}return">"+n}))}(e),e=(new DOMParser).parseFromString(e,"application/xml");else if(!(e instanceof Document))throw new Error("Metadata: Invalid metadata object");this.metaDocument=e,this.metadata=Object.create(null),this.parse()}Object.defineProperty(t,"__esModule",{value:!0}),n.prototype={parse:function(){var e=this.metaDocument.documentElement;if("rdf:rdf"!==e.nodeName.toLowerCase())for(e=e.firstChild;e&&"rdf:rdf"!==e.nodeName.toLowerCase();)e=e.nextSibling;var t=e?e.nodeName.toLowerCase():null;if(e&&"rdf:rdf"===t&&e.hasChildNodes()){var r,n,i,a,s,o,l,c=e.childNodes;for(a=0,o=c.length;a 0.0) { maskColor.rgb = maskColor.rgb * maskColor.a + u_backdrop.rgb * (1.0 - maskColor.a); } float lum; if (u_subtype == 0) { lum = maskColor.a; } else { lum = maskColor.r * 0.3 + maskColor.g * 0.59 + maskColor.b * 0.11; } imageColor.a *= lum; imageColor.rgb *= imageColor.a; gl_FragColor = imageColor; } ")]);n.useProgram(i);var s={};s.gl=n,s.canvas=e,s.resolutionLocation=n.getUniformLocation(i,"u_resolution"),s.positionLocation=n.getAttribLocation(i,"a_position"),s.backdropLocation=n.getUniformLocation(i,"u_backdrop"),s.subtypeLocation=n.getUniformLocation(i,"u_subtype");var h=n.getAttribLocation(i,"a_texCoord"),d=n.getUniformLocation(i,"u_image"),f=n.getUniformLocation(i,"u_mask"),p=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,p),n.bufferData(n.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),n.STATIC_DRAW),n.enableVertexAttribArray(h),n.vertexAttribPointer(h,2,n.FLOAT,!1,0,0),n.uniform1i(d,0),n.uniform1i(f,1),u=s}();var f=u,p=f.canvas,m=f.gl;p.width=h,p.height=d,m.viewport(0,0,m.drawingBufferWidth,m.drawingBufferHeight),m.uniform2f(f.resolutionLocation,h,d),i.backdrop?m.uniform4f(f.resolutionLocation,i.backdrop[0],i.backdrop[1],i.backdrop[2],1):m.uniform4f(f.resolutionLocation,0,0,0,0),m.uniform1i(f.subtypeLocation,"Luminosity"===i.subtype?1:0);var g=s(m,e,m.TEXTURE0),v=s(m,n,m.TEXTURE1),b=m.createBuffer();return m.bindBuffer(m.ARRAY_BUFFER,b),m.bufferData(m.ARRAY_BUFFER,new Float32Array([0,0,h,0,0,d,0,d,h,0,h,d]),m.STATIC_DRAW),m.enableVertexAttribArray(f.positionLocation),m.vertexAttribPointer(f.positionLocation,2,m.FLOAT,!1,0,0),m.clearColor(0,0,0,0),m.enable(m.BLEND),m.blendFunc(m.ONE,m.ONE_MINUS_SRC_ALPHA),m.clear(m.COLOR_BUFFER_BIT),m.drawArrays(m.TRIANGLES,0,6),m.flush(),m.deleteTexture(g),m.deleteTexture(v),m.deleteBuffer(b),p},drawFigures:function(e,n,i,s,u){h||function(){var e,n;c(),e=l,l=null,n=o,o=null;var i=a(n,[t(n," attribute vec2 a_position; attribute vec3 a_color; uniform vec2 u_resolution; uniform vec2 u_scale; uniform vec2 u_offset; varying vec4 v_color; void main() { vec2 position = (a_position + u_offset) * u_scale; vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); v_color = vec4(a_color / 255.0, 1.0); } "),r(n," precision mediump float; varying vec4 v_color; void main() { gl_FragColor = v_color; } ")]);n.useProgram(i);var s={};s.gl=n,s.canvas=e,s.resolutionLocation=n.getUniformLocation(i,"u_resolution"),s.scaleLocation=n.getUniformLocation(i,"u_scale"),s.offsetLocation=n.getUniformLocation(i,"u_offset"),s.positionLocation=n.getAttribLocation(i,"a_position"),s.colorLocation=n.getAttribLocation(i,"a_color"),h=s}();var d=h,f=d.canvas,p=d.gl;f.width=e,f.height=n,p.viewport(0,0,p.drawingBufferWidth,p.drawingBufferHeight),p.uniform2f(d.resolutionLocation,e,n);var m,g,v,b=0;for(m=0,g=s.length;m=2&&r.onHeadersReceived&&(r.onHeadersReceived(),delete r.onHeadersReceived),4===n.readyState&&e in this.pendingRequests)if(delete this.pendingRequests[e],0===n.status&&this.isHttp)r.onError&&r.onError(n.status);else{var i=n.status||200;if(200===i&&206===r.expectedStatus||i===r.expectedStatus){this.loadedRequests[e]=!0;var a=s(n);if(206===i){var o=n.getResponseHeader("Content-Range"),l=/bytes (\d+)-(\d+)\/(\d+)/.exec(o),c=parseInt(l[1],10);r.onDone({begin:c,chunk:a})}else r.onProgressiveData?r.onDone(null):a?r.onDone({begin:0,chunk:a}):r.onError&&r.onError(n.status)}else r.onError&&r.onError(n.status)}}},hasPendingRequests:function(){for(var e in this.pendingRequests)return!0;return!1},getRequestXhr:function(e){return this.pendingRequests[e].xhr},isStreamingRequest:function(e){return!!this.pendingRequests[e].onProgressiveData},isPendingRequest:function(e){return e in this.pendingRequests},isLoadedRequest:function(e){return e in this.loadedRequests},abortAllRequests:function(){for(var e in this.pendingRequests)this.abortRequest(0|e)},abortRequest:function(e){var t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}},l.prototype={_onRangeRequestReaderClosed:function(e){var t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)},getFullReader:function(){return(0,n.assert)(!this._fullRequestReader),this._fullRequestReader=new c(this._manager,this._options),this._fullRequestReader},getRangeReader:function(e,t){var r=new u(this._manager,e,t);return r.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(r),r},cancelAllRequests:function(e){this._fullRequestReader&&this._fullRequestReader.cancel(e),this._rangeRequestReaders.slice(0).forEach((function(t){t.cancel(e)}))}},c.prototype={_validateRangeRequestCapabilities:function(){if(this._disableRange)return!1;var e=this._manager;if(!e.isHttp)return!1;var t=this._fullRequestId,r=e.getRequestXhr(t);if("bytes"!==r.getResponseHeader("Accept-Ranges"))return!1;if("identity"!==(r.getResponseHeader("Content-Encoding")||"identity"))return!1;var i=r.getResponseHeader("Content-Length");return i=parseInt(i,10),!(!(0,n.isInt)(i)||(this._contentLength=i,i<=2*this._rangeChunkSize))},_onHeadersReceived:function(){this._validateRangeRequestCapabilities()&&(this._isRangeSupported=!0);var e=this._manager,t=this._fullRequestId;e.isStreamingRequest(t)?this._isStreamingSupported=!0:this._isRangeSupported&&e.abortRequest(t),this._headersReceivedCapability.resolve()},_onProgressiveData:function(e){this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._cachedChunks.push(e)},_onDone:function(e){e&&this._onProgressiveData(e.chunk),this._done=!0,this._cachedChunks.length>0||(this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[])},_onError:function(e){var t,r=this._url;t=404===e||0===e&&/^file:/.test(r)?new n.MissingPDFException('Missing PDF "'+r+'".'):new n.UnexpectedResponseException("Unexpected server response ("+e+') while retrieving PDF "'+r+'".',e),this._storedError=t,this._headersReceivedCapability.reject(t),this._requests.forEach((function(e){e.reject(t)})),this._requests=[],this._cachedChunks=[]},_onProgress:function(e){this.onProgress&&this.onProgress({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})},get isRangeSupported(){return this._isRangeSupported},get isStreamingSupported(){return this._isStreamingSupported},get contentLength(){return this._contentLength},get headersReady(){return this._headersReceivedCapability.promise},read:function(){if(this._storedError)return Promise.reject(this._storedError);if(this._cachedChunks.length>0){var e=this._cachedChunks.shift();return Promise.resolve({value:e,done:!1})}if(this._done)return Promise.resolve({value:void 0,done:!0});var t=(0,n.createPromiseCapability)();return this._requests.push(t),t.promise},cancel:function(e){this._done=!0,this._headersReceivedCapability.reject(e),this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[],this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}},u.prototype={_close:function(){this.onClosed&&this.onClosed(this)},_onDone:function(e){var t=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunk=t,this._done=!0,this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[],this._close()},_onProgress:function(e){!this.isStreamingSupported&&this.onProgress&&this.onProgress({loaded:e.loaded})},get isStreamingSupported(){return!1},read:function(){if(null!==this._queuedChunk){var e=this._queuedChunk;return this._queuedChunk=null,Promise.resolve({value:e,done:!1})}if(this._done)return Promise.resolve({value:void 0,done:!0});var t=(0,n.createPromiseCapability)();return this._requests.push(t),t.promise},cancel:function(e){this._done=!0,this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[],this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}},(0,i.setPDFNetworkStreamClass)(l),t.PDFNetworkStream=l,t.NetworkManager=a},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e,t){for(var r in t)e[r]=t[r]}(t,function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get: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=7)}([function(e,t,r){var i="function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?function(e){return void 0===e?"undefined":n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":n(e)},a=r(1).assert;function s(e){return"string"==typeof e||"symbol"===(void 0===e?"undefined":i(e))}function o(e,t,r){if("function"!=typeof e)throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}t.typeIsObject=function(e){return"object"===(void 0===e?"undefined":i(e))&&null!==e||"function"==typeof e},t.createDataProperty=function(e,r,n){a(t.typeIsObject(e)),Object.defineProperty(e,r,{value:n,writable:!0,enumerable:!0,configurable:!0})},t.createArrayFromList=function(e){return e.slice()},t.ArrayBufferCopy=function(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)},t.CreateIterResultObject=function(e,t){a("boolean"==typeof t);var r={};return Object.defineProperty(r,"value",{value:e,enumerable:!0,writable:!0,configurable:!0}),Object.defineProperty(r,"done",{value:t,enumerable:!0,writable:!0,configurable:!0}),r},t.IsFiniteNonNegativeNumber=function(e){return!(Number.isNaN(e)||e===1/0||e<0)},t.InvokeOrNoop=function(e,t,r){a(void 0!==e),a(s(t)),a(Array.isArray(r));var n=e[t];if(void 0!==n)return o(n,e,r)},t.PromiseInvokeOrNoop=function(e,r,n){a(void 0!==e),a(s(r)),a(Array.isArray(n));try{return Promise.resolve(t.InvokeOrNoop(e,r,n))}catch(e){return Promise.reject(e)}},t.PromiseInvokeOrPerformFallback=function(e,t,r,n,i){a(void 0!==e),a(s(t)),a(Array.isArray(r)),a(Array.isArray(i));var l=void 0;try{l=e[t]}catch(e){return Promise.reject(e)}if(void 0===l)return n.apply(null,i);try{return Promise.resolve(o(l,e,r))}catch(e){return Promise.reject(e)}},t.TransferArrayBuffer=function(e){return e.slice()},t.ValidateAndNormalizeHighWaterMark=function(e){if(e=Number(e),Number.isNaN(e)||e<0)throw new RangeError("highWaterMark property of a queuing strategy must be non-negative and non-NaN");return e},t.ValidateAndNormalizeQueuingStrategy=function(e,r){if(void 0!==e&&"function"!=typeof e)throw new TypeError("size property of a queuing strategy must be a function");return{size:e,highWaterMark:r=t.ValidateAndNormalizeHighWaterMark(r)}}},function(e,t,r){function n(e){this.name="AssertionError",this.message=e||"",this.stack=(new Error).stack}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,e.exports={rethrowAssertionErrorRejection:function(e){e&&e.constructor===n&&setTimeout((function(){throw e}),0)},AssertionError:n,assert:function(e,t){if(!e)throw new n(t)}}},function(e,t,r){var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.size,a=r.highWaterMark,s=void 0===a?1:a;i(this,e),this._state="writable",this._storedError=void 0,this._writer=void 0,this._writableStreamController=void 0,this._writeRequests=[],this._inFlightWriteRequest=void 0,this._closeRequest=void 0,this._inFlightCloseRequest=void 0,this._pendingAbortRequest=void 0,this._backpressure=!1;var o=t.type;if(void 0!==o)throw new RangeError("Invalid type is specified");this._writableStreamController=new N(this,t,n,s),this._writableStreamController.__startSteps()}return n(e,[{key:"abort",value:function(e){return!1===y(this)?Promise.reject(B("abort")):!0===A(this)?Promise.reject(new TypeError("Cannot abort a stream that already has a writer")):S(this,e)}},{key:"getWriter",value:function(){if(!1===y(this))throw B("getWriter");return _(this)}},{key:"locked",get:function(){if(!1===y(this))throw B("locked");return A(this)}}]),e}();function _(e){return new E(e)}function y(e){return!!c(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function A(e){return h(!0===y(e),"IsWritableStreamLocked should only be used on known writable streams"),void 0!==e._writer}function S(e,t){var r=e._state;if("closed"===r)return Promise.resolve(void 0);if("errored"===r)return Promise.reject(e._storedError);var n=new TypeError("Requested to abort");if(void 0!==e._pendingAbortRequest)return Promise.reject(n);h("writable"===r||"erroring"===r,"state must be writable or erroring");var i=!1;"erroring"===r&&(i=!0,t=void 0);var a=new Promise((function(r,n){e._pendingAbortRequest={_resolve:r,_reject:n,_reason:t,_wasAlreadyErroring:i}}));return!1===i&&P(e,n),a}function w(e,t){var r=e._state;"writable"!==r?(h("erroring"===r),C(e)):P(e,t)}function P(e,t){h(void 0===e._storedError,"stream._storedError === undefined"),h("writable"===e._state,"state must be writable");var r=e._writableStreamController;h(void 0!==r,"controller must not be undefined"),e._state="erroring",e._storedError=t;var n=e._writer;void 0!==n&&D(n,t),!1===k(e)&&!0===r._started&&C(e)}function C(e){h("erroring"===e._state,"stream._state === erroring"),h(!1===k(e),"WritableStreamHasOperationMarkedInFlight(stream) === false"),e._state="errored",e._writableStreamController.__errorSteps();for(var t=e._storedError,r=0;r0,"Spec-level failure: should never dequeue from an empty queue.");var t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value},t.EnqueueValueWithSize=function(e,t,r){if(i("_queue"in e&&"_queueTotalSize"in e,"Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and [[queueTotalSize]]."),r=Number(r),!n(r))throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r},t.PeekQueueValue=function(e){return i("_queue"in e&&"_queueTotalSize"in e,"Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]]."),i(e._queue.length>0,"Spec-level failure: should never peek at an empty queue."),e._queue[0].value},t.ResetQueue=function(e){i("_queue"in e&&"_queueTotalSize"in e,"Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]]."),e._queue=[],e._queueTotalSize=0}},function(e,t,r){var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.size,a=r.highWaterMark;i(this,e),this._state="readable",this._reader=void 0,this._storedError=void 0,this._disturbed=!1,this._readableStreamController=void 0;var s=t.type,o=String(s);if("bytes"===o)void 0===a&&(a=0),this._readableStreamController=new fe(this,t,a);else{if(void 0!==s)throw new RangeError("Invalid type is specified");void 0===a&&(a=1),this._readableStreamController=new ie(this,t,n,a)}}return n(e,[{key:"cancel",value:function(e){return!1===M(this)?Promise.reject(Ee("cancel")):!0===j(this)?Promise.reject(new TypeError("Cannot cancel a stream that already has a reader")):B(this,e)}},{key:"getReader",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mode;if(!1===M(this))throw Ee("getReader");if(void 0===t)return N(this);if("byob"===(t=String(t)))return F(this);throw new RangeError("Invalid mode is specified")}},{key:"pipeThrough",value:function(e,t){var r=e.writable,n=e.readable;return function(e){try{Promise.prototype.then.call(e,void 0,(function(){}))}catch(e){}}(this.pipeTo(r,t)),n}},{key:"pipeTo",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.preventClose,i=r.preventAbort,a=r.preventCancel;if(!1===M(this))return Promise.reject(Ee("pipeTo"));if(!1===k(e))return Promise.reject(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));if(n=Boolean(n),i=Boolean(i),a=Boolean(a),!0===j(this))return Promise.reject(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream"));if(!0===x(e))return Promise.reject(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream"));var s=N(this),o=R(e),l=!1,c=Promise.resolve();return new Promise((function(r,u){var h,d,f;if(g(t,s._closedPromise,(function(t){!1===i?v((function(){return T(e,t)}),!0,t):b(!0,t)})),g(e,o._closedPromise,(function(e){!1===a?v((function(){return B(t,e)}),!0,e):b(!0,e)})),h=t,d=s._closedPromise,f=function(){!1===n?v((function(){return E(o)})):b()},"closed"===h._state?f():d.then(f).catch(y),!0===D(e)||"closed"===e._state){var p=new TypeError("the destination writable stream closed before all data could be piped to it");!1===a?v((function(){return B(t,p)}),!0,p):b(!0,p)}function m(){var e=c;return c.then((function(){return e!==c?m():void 0}))}function g(e,t,r){"errored"===e._state?r(e._storedError):t.catch(r).catch(y)}function v(t,r,n){function i(){t().then((function(){return _(r,n)}),(function(e){return _(!0,e)})).catch(y)}!0!==l&&(l=!0,"writable"===e._state&&!1===D(e)?m().then(i):i())}function b(t,r){!0!==l&&(l=!0,"writable"===e._state&&!1===D(e)?m().then((function(){return _(t,r)})).catch(y):_(t,r))}function _(e,t){I(o),re(s),e?u(t):r(void 0)}(function e(){return c=Promise.resolve(),!0===l?Promise.resolve():o._readyPromise.then((function(){return ne(s).then((function(e){var t=e.value;!0!==e.done&&(c=L(o,t).catch((function(){})))}))})).then(e)})().catch((function(e){c=Promise.resolve(),y(e)}))}))}},{key:"tee",value:function(){if(!1===M(this))throw Ee("tee");var e=q(this,!1);return m(e)}},{key:"locked",get:function(){if(!1===M(this))throw Ee("locked");return j(this)}}]),e}();function F(e){return new K(e)}function N(e){return new Q(e)}function M(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function j(e){return _(!0===M(e),"IsReadableStreamLocked should only be used on known readable streams"),void 0!==e._reader}function q(e,t){_(!0===M(e)),_("boolean"==typeof t);var r=N(e),n={closedOrErrored:!1,canceled1:!1,canceled2:!1,reason1:void 0,reason2:void 0};n.promise=new Promise((function(e){n._resolve=e}));var i=function e(){var t=e._branch1,r=e._branch2,n=e._teeState;return ne(e._reader).then((function(e){_(v(e));var i=e.value,a=e.done;if(_("boolean"==typeof a),!0===a&&!1===n.closedOrErrored&&(!1===n.canceled1&&oe(t),!1===n.canceled2&&oe(r),n.closedOrErrored=!0),!0!==n.closedOrErrored){var s=i,o=i;!1===n.canceled1&&le(t,s),!1===n.canceled2&&le(r,o)}}))};i._reader=r,i._teeState=n,i._cloneForBranch2=t;var a=function e(t){var r=e._stream,n=e._teeState;if(n.canceled1=!0,n.reason1=t,!0===n.canceled2){var i=B(r,m([n.reason1,n.reason2]));n._resolve(i)}return n.promise};a._stream=e,a._teeState=n;var s=function e(t){var r=e._stream,n=e._teeState;if(n.canceled2=!0,n.reason2=t,!0===n.canceled1){var i=B(r,m([n.reason1,n.reason2]));n._resolve(i)}return n.promise};s._stream=e,s._teeState=n;var o=Object.create(Object.prototype);g(o,"pull",i),g(o,"cancel",a);var l=new O(o),c=Object.create(Object.prototype);g(c,"pull",i),g(c,"cancel",s);var u=new O(c);return i._branch1=l._readableStreamController,i._branch2=u._readableStreamController,r._closedPromise.catch((function(e){!0!==n.closedOrErrored&&(ce(i._branch1,e),ce(i._branch2,e),n.closedOrErrored=!0)})),[l,u]}function U(e){return _(!0===$(e._reader)),_("readable"===e._state||"closed"===e._state),new Promise((function(t,r){var n={_resolve:t,_reject:r};e._reader._readIntoRequests.push(n)}))}function W(e){return _(!0===Z(e._reader)),_("readable"===e._state),new Promise((function(t,r){var n={_resolve:t,_reject:r};e._reader._readRequests.push(n)}))}function B(e,t){return e._disturbed=!0,"closed"===e._state?Promise.resolve(void 0):"errored"===e._state?Promise.reject(e._storedError):(z(e),e._readableStreamController.__cancelSteps(t).then((function(){})))}function z(e){_("readable"===e._state),e._state="closed";var t=e._reader;if(void 0!==t){if(!0===Z(t)){for(var r=0;r0),n._readRequests.shift()._resolve(o(t,r))}function X(e){return e._reader._readIntoRequests.length}function Y(e){return e._reader._readRequests.length}function V(e){var t=e._reader;return void 0!==t&&!1!==$(t)}function J(e){var t=e._reader;return void 0!==t&&!1!==Z(t)}e.exports={ReadableStream:O,IsReadableStreamDisturbed:function(e){return _(!0===M(e),"IsReadableStreamDisturbed should only be used on known readable streams"),e._disturbed},ReadableStreamDefaultControllerClose:oe,ReadableStreamDefaultControllerEnqueue:le,ReadableStreamDefaultControllerError:ce,ReadableStreamDefaultControllerGetDesiredSize:he};var Q=function(){function e(t){if(i(this,e),!1===M(t))throw new TypeError("ReadableStreamDefaultReader can only be constructed with a ReadableStream instance");if(!0===j(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");ee(this,t),this._readRequests=[]}return n(e,[{key:"cancel",value:function(e){return!1===Z(this)?Promise.reject(Le("cancel")):void 0===this._ownerReadableStream?Promise.reject(Ie("cancel")):te(this,e)}},{key:"read",value:function(){return!1===Z(this)?Promise.reject(Le("read")):void 0===this._ownerReadableStream?Promise.reject(Ie("read from")):ne(this)}},{key:"releaseLock",value:function(){if(!1===Z(this))throw Le("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");re(this)}}},{key:"closed",get:function(){return!1===Z(this)?Promise.reject(Le("closed")):this._closedPromise}}]),e}(),K=function(){function e(t){if(i(this,e),!M(t))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===pe(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(j(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");ee(this,t),this._readIntoRequests=[]}return n(e,[{key:"cancel",value:function(e){return $(this)?void 0===this._ownerReadableStream?Promise.reject(Ie("cancel")):te(this,e):Promise.reject(Oe("cancel"))}},{key:"read",value:function(e){return $(this)?void 0===this._ownerReadableStream?Promise.reject(Ie("read from")):ArrayBuffer.isView(e)?0===e.byteLength?Promise.reject(new TypeError("view must have non-zero byteLength")):function(e,t){var r=e._ownerReadableStream;return _(void 0!==r),r._disturbed=!0,"errored"===r._state?Promise.reject(r._storedError):function(e,t){var r=e._controlledReadableStream,n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);var i=t.constructor,a={buffer:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,ctor:i,readerType:"byob"};if(e._pendingPullIntos.length>0)return a.buffer=h(a.buffer),e._pendingPullIntos.push(a),U(r);if("closed"===r._state){var s=new t.constructor(a.buffer,a.byteOffset,0);return Promise.resolve(o(s,!0))}if(e._queueTotalSize>0){if(!0===Ae(e,a)){var l=_e(a);return we(e),Promise.resolve(o(l,!1))}if(!0===e._closeRequested){var c=new TypeError("Insufficient bytes to fill elements in the given buffer");return xe(e,c),Promise.reject(c)}}a.buffer=h(a.buffer),e._pendingPullIntos.push(a);var u=U(r);return ge(e),u}(r._readableStreamController,t)}(this,e):Promise.reject(new TypeError("view must be an array buffer view")):Promise.reject(Oe("read"))}},{key:"releaseLock",value:function(){if(!$(this))throw Oe("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");re(this)}}},{key:"closed",get:function(){return $(this)?this._closedPromise:Promise.reject(Oe("closed"))}}]),e}();function $(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function Z(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function ee(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?function(e){e._closedPromise=new Promise((function(t,r){e._closedPromise_resolve=t,e._closedPromise_reject=r}))}(e):"closed"===t._state?function(e){e._closedPromise=Promise.resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e):(_("errored"===t._state,"state must be errored"),function(e,t){e._closedPromise=Promise.reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e,t._storedError),e._closedPromise.catch((function(){})))}function te(e,t){var r=e._ownerReadableStream;return _(void 0!==r),B(r,t)}function re(e){_(void 0!==e._ownerReadableStream),_(e._ownerReadableStream._reader===e),"readable"===e._ownerReadableStream._state?De(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){_(void 0===e._closedPromise_resolve),_(void 0===e._closedPromise_reject),e._closedPromise=Promise.reject(t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._closedPromise.catch((function(){})),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function ne(e){var t=e._ownerReadableStream;return _(void 0!==t),t._disturbed=!0,"closed"===t._state?Promise.resolve(o(void 0,!0)):"errored"===t._state?Promise.reject(t._storedError):(_("readable"===t._state),t._readableStreamController.__pullSteps())}var ie=function(){function e(t,r,n,a){if(i(this,e),!1===M(t))throw new TypeError("ReadableStreamDefaultController can only be constructed with a ReadableStream instance");if(void 0!==t._readableStreamController)throw new TypeError("ReadableStreamDefaultController instances can only be created by the ReadableStream constructor");this._controlledReadableStream=t,this._underlyingSource=r,this._queue=void 0,this._queueTotalSize=void 0,P(this),this._started=!1,this._closeRequested=!1,this._pullAgain=!1,this._pulling=!1;var s=d(n,a);this._strategySize=s.size,this._strategyHWM=s.highWaterMark;var o=this,l=c(r,"start",[this]);Promise.resolve(l).then((function(){o._started=!0,_(!1===o._pulling),_(!1===o._pullAgain),se(o)}),(function(e){ue(o,e)})).catch(y)}return n(e,[{key:"close",value:function(){if(!1===ae(this))throw Fe("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var e=this._controlledReadableStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be closed");oe(this)}},{key:"enqueue",value:function(e){if(!1===ae(this))throw Fe("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var t=this._controlledReadableStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be enqueued to");return le(this,e)}},{key:"error",value:function(e){if(!1===ae(this))throw Fe("error");var t=this._controlledReadableStream;if("readable"!==t._state)throw new TypeError("The stream is "+t._state+" and so cannot be errored");ce(this,e)}},{key:"__cancelSteps",value:function(e){return P(this),u(this._underlyingSource,"cancel",[e])}},{key:"__pullSteps",value:function(){var e=this._controlledReadableStream;if(this._queue.length>0){var t=S(this);return!0===this._closeRequested&&0===this._queue.length?z(e):se(this),Promise.resolve(o(t,!1))}var r=W(e);return se(this),r}},{key:"desiredSize",get:function(){if(!1===ae(this))throw Fe("desiredSize");return he(this)}}]),e}();function ae(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_underlyingSource")}function se(e){!1!==function(e){var t=e._controlledReadableStream;return"closed"!==t._state&&"errored"!==t._state&&!0!==e._closeRequested&&!1!==e._started&&(!0===j(t)&&Y(t)>0||he(e)>0)}(e)&&(!0!==e._pulling?(_(!1===e._pullAgain),e._pulling=!0,u(e._underlyingSource,"pull",[e]).then((function(){if(e._pulling=!1,!0===e._pullAgain)return e._pullAgain=!1,se(e)}),(function(t){ue(e,t)})).catch(y)):e._pullAgain=!0)}function oe(e){var t=e._controlledReadableStream;_(!1===e._closeRequested),_("readable"===t._state),e._closeRequested=!0,0===e._queue.length&&z(t)}function le(e,t){var r=e._controlledReadableStream;if(_(!1===e._closeRequested),_("readable"===r._state),!0===j(r)&&Y(r)>0)H(r,t,!1);else{var n=1;if(void 0!==e._strategySize){var i=e._strategySize;try{n=i(t)}catch(t){throw ue(e,t),t}}try{w(e,t,n)}catch(t){throw ue(e,t),t}}se(e)}function ce(e,t){var r=e._controlledReadableStream;_("readable"===r._state),P(e),G(r,t)}function ue(e,t){"readable"===e._controlledReadableStream._state&&ce(e,t)}function he(e){var t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}var de=function(){function e(t,r){i(this,e),this._associatedReadableByteStreamController=t,this._view=r}return n(e,[{key:"respond",value:function(e){if(!1===me(this))throw Ne("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");!function(e,t){if(t=Number(t),!1===l(t))throw new RangeError("bytesWritten must be a finite");_(e._pendingPullIntos.length>0),Re(e,t)}(this._associatedReadableByteStreamController,e)}},{key:"respondWithNewView",value:function(e){if(!1===me(this))throw Ne("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");!function(e,t){_(e._pendingPullIntos.length>0);var r=e._pendingPullIntos[0];if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,Re(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}},{key:"view",get:function(){return this._view}}]),e}(),fe=function(){function e(t,r,n){if(i(this,e),!1===M(t))throw new TypeError("ReadableByteStreamController can only be constructed with a ReadableStream instance given a byte source");if(void 0!==t._readableStreamController)throw new TypeError("ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte source");this._controlledReadableStream=t,this._underlyingByteSource=r,this._pullAgain=!1,this._pulling=!1,ve(this),this._queue=this._queueTotalSize=void 0,P(this),this._closeRequested=!1,this._started=!1,this._strategyHWM=f(n);var a=r.autoAllocateChunkSize;if(void 0!==a&&(!1===Number.isInteger(a)||a<=0))throw new RangeError("autoAllocateChunkSize must be a positive integer");this._autoAllocateChunkSize=a,this._pendingPullIntos=[];var s=this,o=c(r,"start",[this]);Promise.resolve(o).then((function(){s._started=!0,_(!1===s._pulling),_(!1===s._pullAgain),ge(s)}),(function(e){"readable"===t._state&&xe(s,e)})).catch(y)}return n(e,[{key:"close",value:function(){if(!1===pe(this))throw Me("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var e=this._controlledReadableStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be closed");!function(e){var t=e._controlledReadableStream;if(_(!1===e._closeRequested),_("readable"===t._state),e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0&&e._pendingPullIntos[0].bytesFilled>0){var r=new TypeError("Insufficient bytes to fill elements in the given buffer");throw xe(e,r),r}z(t)}}(this)}},{key:"enqueue",value:function(e){if(!1===pe(this))throw Me("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var t=this._controlledReadableStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be enqueued to");if(!ArrayBuffer.isView(e))throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");!function(e,t){var r=e._controlledReadableStream;_(!1===e._closeRequested),_("readable"===r._state);var n=t.buffer,i=t.byteOffset,a=t.byteLength,s=h(n);!0===J(r)?0===Y(r)?ye(e,s,i,a):(_(0===e._queue.length),H(r,new Uint8Array(s,i,a),!1)):!0===V(r)?(ye(e,s,i,a),Ce(e)):(_(!1===j(r),"stream must not be locked"),ye(e,s,i,a))}(this,e)}},{key:"error",value:function(e){if(!1===pe(this))throw Me("error");var t=this._controlledReadableStream;if("readable"!==t._state)throw new TypeError("The stream is "+t._state+" and so cannot be errored");xe(this,e)}},{key:"__cancelSteps",value:function(e){return this._pendingPullIntos.length>0&&(this._pendingPullIntos[0].bytesFilled=0),P(this),u(this._underlyingByteSource,"cancel",[e])}},{key:"__pullSteps",value:function(){var e=this._controlledReadableStream;if(_(!0===J(e)),this._queueTotalSize>0){_(0===Y(e));var t=this._queue.shift();this._queueTotalSize-=t.byteLength,we(this);var r=void 0;try{r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}catch(e){return Promise.reject(e)}return Promise.resolve(o(r,!1))}var n=this._autoAllocateChunkSize;if(void 0!==n){var i=void 0;try{i=new ArrayBuffer(n)}catch(e){return Promise.reject(e)}var a={buffer:i,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(a)}var s=W(e);return ge(this),s}},{key:"byobRequest",get:function(){if(!1===pe(this))throw Me("byobRequest");if(void 0===this._byobRequest&&this._pendingPullIntos.length>0){var e=this._pendingPullIntos[0],t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled);this._byobRequest=new de(this,t)}return this._byobRequest}},{key:"desiredSize",get:function(){if(!1===pe(this))throw Me("desiredSize");return Te(this)}}]),e}();function pe(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_underlyingByteSource")}function me(e){return!!v(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function ge(e){!1!==function(e){var t=e._controlledReadableStream;return"readable"===t._state&&!0!==e._closeRequested&&!1!==e._started&&(!0===J(t)&&Y(t)>0||!0===V(t)&&X(t)>0||Te(e)>0)}(e)&&(!0!==e._pulling?(_(!1===e._pullAgain),e._pulling=!0,u(e._underlyingByteSource,"pull",[e]).then((function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,ge(e))}),(function(t){"readable"===e._controlledReadableStream._state&&xe(e,t)})).catch(y)):e._pullAgain=!0)}function ve(e){Pe(e),e._pendingPullIntos=[]}function be(e,t){_("errored"!==e._state,"state must not be errored");var r=!1;"closed"===e._state&&(_(0===t.bytesFilled),r=!0);var n=_e(t);"default"===t.readerType?H(e,n,r):(_("byob"===t.readerType),function(e,t,r){var n=e._reader;_(n._readIntoRequests.length>0),n._readIntoRequests.shift()._resolve(o(t,r))}(e,n,r))}function _e(e){var t=e.bytesFilled,r=e.elementSize;return _(t<=e.byteLength),_(t%r==0),new e.ctor(e.buffer,e.byteOffset,t/r)}function ye(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Ae(e,t){var r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,i=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),a=t.bytesFilled+i,o=a-a%r,l=i,c=!1;o>n&&(l=o-t.bytesFilled,c=!0);for(var u=e._queue;l>0;){var h=u[0],d=Math.min(l,h.byteLength),f=t.byteOffset+t.bytesFilled;s(t.buffer,f,h.buffer,h.byteOffset,d),h.byteLength===d?u.shift():(h.byteOffset+=d,h.byteLength-=d),e._queueTotalSize-=d,Se(e,d,t),l-=d}return!1===c&&(_(0===e._queueTotalSize,"queue must be empty"),_(t.bytesFilled>0),_(t.bytesFilled0;){if(0===e._queueTotalSize)return;var t=e._pendingPullIntos[0];!0===Ae(e,t)&&(ke(e),be(e._controlledReadableStream,t))}}function Re(e,t){var r=e._pendingPullIntos[0],n=e._controlledReadableStream;if("closed"===n._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=h(t.buffer),_(0===t.bytesFilled,"bytesFilled must be 0");var r=e._controlledReadableStream;if(!0===V(r))for(;X(r)>0;)be(r,ke(e))}(e,r)}else _("readable"===n._state),function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Se(e,t,r),!(r.bytesFilled0){var i=r.byteOffset+r.bytesFilled,a=r.buffer.slice(i-n,i);ye(e,a,0,a.byteLength)}r.buffer=h(r.buffer),r.bytesFilled-=n,be(e._controlledReadableStream,r),Ce(e)}}(e,t,r)}function ke(e){var t=e._pendingPullIntos.shift();return Pe(e),t}function xe(e,t){var r=e._controlledReadableStream;_("readable"===r._state),ve(e),P(e),G(r,t)}function Te(e){var t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Ee(e){return new TypeError("ReadableStream.prototype."+e+" can only be used on a ReadableStream")}function Ie(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Le(e){return new TypeError("ReadableStreamDefaultReader.prototype."+e+" can only be used on a ReadableStreamDefaultReader")}function De(e,t){_(void 0!==e._closedPromise_resolve),_(void 0!==e._closedPromise_reject),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function Oe(e){return new TypeError("ReadableStreamBYOBReader.prototype."+e+" can only be used on a ReadableStreamBYOBReader")}function Fe(e){return new TypeError("ReadableStreamDefaultController.prototype."+e+" can only be used on a ReadableStreamDefaultController")}function Ne(e){return new TypeError("ReadableStreamBYOBRequest.prototype."+e+" can only be used on a ReadableStreamBYOBRequest")}function Me(e){return new TypeError("ReadableByteStreamController.prototype."+e+" can only be used on a ReadableByteStreamController")}},function(e,t,r){var n=r(6),i=r(4),a=r(2);t.TransformStream=n.TransformStream,t.ReadableStream=i.ReadableStream,t.IsReadableStreamDisturbed=i.IsReadableStreamDisturbed,t.ReadableStreamDefaultControllerClose=i.ReadableStreamDefaultControllerClose,t.ReadableStreamDefaultControllerEnqueue=i.ReadableStreamDefaultControllerEnqueue,t.ReadableStreamDefaultControllerError=i.ReadableStreamDefaultControllerError,t.ReadableStreamDefaultControllerGetDesiredSize=i.ReadableStreamDefaultControllerGetDesiredSize,t.AcquireWritableStreamDefaultWriter=a.AcquireWritableStreamDefaultWriter,t.IsWritableStream=a.IsWritableStream,t.IsWritableStreamLocked=a.IsWritableStreamLocked,t.WritableStream=a.WritableStream,t.WritableStreamAbort=a.WritableStreamAbort,t.WritableStreamDefaultControllerError=a.WritableStreamDefaultControllerError,t.WritableStreamDefaultWriterCloseWithErrorPropagation=a.WritableStreamDefaultWriterCloseWithErrorPropagation,t.WritableStreamDefaultWriterRelease=a.WritableStreamDefaultWriterRelease,t.WritableStreamDefaultWriterWrite=a.WritableStreamDefaultWriterWrite},function(e,t,r){var n=function(){function e(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this._transformer=t;var r=t.readableStrategy,n=t.writableStrategy;this._transforming=!1,this._errored=!1,this._storedError=void 0,this._writableController=void 0,this._readableController=void 0,this._transformStreamController=void 0,this._writableDone=!1,this._readableClosed=!1,this._backpressure=void 0,this._backpressureChangePromise=void 0,this._backpressureChangePromise_resolve=void 0,this._transformStreamController=new I(this);var s=void 0,l=new Promise((function(e){s=e})),c=new E(this,l);this._readable=new d(c,r);var u=new T(this,l);this._writable=new b(u,n),a(void 0!==this._writableController),a(void 0!==this._readableController);var h=g(this._readableController);C(this,h<=0);var f=this,p=o(t,"start",[f._transformStreamController]);s(p),l.catch((function(e){!1===f._errored&&(f._errored=!0,f._storedError=e)}))}return n(e,[{key:"readable",get:function(){if(!1===x(this))throw O("readable");return this._readable}},{key:"writable",get:function(){if(!1===x(this))throw O("writable");return this._writable}}]),e}();function D(e){return new TypeError("TransformStreamDefaultController.prototype."+e+" can only be used on a TransformStreamDefaultController")}function O(e){return new TypeError("TransformStream.prototype."+e+" can only be used on a TransformStream")}e.exports={TransformStream:L}},function(e,t,r){e.exports=r(5)}]))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CanvasGraphics=void 0;var n=r(0),i=r(13),a=r(7),s={get value(){return(0,n.shadow)(s,"value",(0,n.isLittleEndian)())}};function o(e){e.mozCurrentTransform||(e._originalSave=e.save,e._originalRestore=e.restore,e._originalRotate=e.rotate,e._originalScale=e.scale,e._originalTranslate=e.translate,e._originalTransform=e.transform,e._originalSetTransform=e.setTransform,e._transformMatrix=e._transformMatrix||[1,0,0,1,0,0],e._transformStack=[],Object.defineProperty(e,"mozCurrentTransform",{get:function(){return this._transformMatrix}}),Object.defineProperty(e,"mozCurrentTransformInverse",{get:function(){var e=this._transformMatrix,t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],s=e[5],o=t*i-r*n,l=r*n-t*i;return[i/o,r/l,n/l,t/o,(i*a-n*s)/l,(r*a-t*s)/o]}}),e.save=function(){var e=this._transformMatrix;this._transformStack.push(e),this._transformMatrix=e.slice(0,6),this._originalSave()},e.restore=function(){var e=this._transformStack.pop();e&&(this._transformMatrix=e,this._originalRestore())},e.translate=function(e,t){var r=this._transformMatrix;r[4]=r[0]*e+r[2]*t+r[4],r[5]=r[1]*e+r[3]*t+r[5],this._originalTranslate(e,t)},e.scale=function(e,t){var r=this._transformMatrix;r[0]=r[0]*e,r[1]=r[1]*e,r[2]=r[2]*t,r[3]=r[3]*t,this._originalScale(e,t)},e.transform=function(t,r,n,i,a,s){var o=this._transformMatrix;this._transformMatrix=[o[0]*t+o[2]*r,o[1]*t+o[3]*r,o[0]*n+o[2]*i,o[1]*n+o[3]*i,o[0]*a+o[2]*s+o[4],o[1]*a+o[3]*s+o[5]],e._originalTransform(t,r,n,i,a,s)},e.setTransform=function(t,r,n,i,a,s){this._transformMatrix=[t,r,n,i,a,s],e._originalSetTransform(t,r,n,i,a,s)},e.rotate=function(e){var t=Math.cos(e),r=Math.sin(e),n=this._transformMatrix;this._transformMatrix=[n[0]*t+n[2]*r,n[1]*t+n[3]*r,n[0]*-r+n[2]*t,n[1]*-r+n[3]*t,n[4],n[5]],this._originalRotate(e)})}var l=function(){function e(e){this.canvasFactory=e,this.cache=Object.create(null)}return e.prototype={getCanvas:function(e,t,r,n){var i;return void 0!==this.cache[e]?(i=this.cache[e],this.canvasFactory.reset(i,t,r),i.context.setTransform(1,0,0,1,0,0)):(i=this.canvasFactory.create(t,r),this.cache[e]=i),n&&o(i.context),i},clear:function(){for(var e in this.cache){var t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}},e}(),c=function(){function e(){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=n.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=n.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=n.TextRenderingMode.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.resumeSMaskCtx=null}return e.prototype={clone:function(){return Object.create(this)},setCurrentPoint:function(e,t){this.x=e,this.y=t}},e}(),u=function(){function e(e,t,r,n,i){this.ctx=e,this.current=new c,this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=t,this.objs=r,this.canvasFactory=n,this.imageLayer=i,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.cachedCanvases=new l(this.canvasFactory),e&&o(e),this.cachedGetSinglePixelWidth=null}function t(e,t){if("undefined"!=typeof ImageData&&t instanceof ImageData)e.putImageData(t,0,0);else{var r,i,a,o,l,c=t.height,u=t.width,h=c%16,d=(c-h)/16,f=0===h?d:d+1,p=e.createImageData(u,16),m=0,g=t.data,v=p.data;if(t.kind===n.ImageKind.GRAYSCALE_1BPP){var b=g.byteLength,_=new Uint32Array(v.buffer,0,v.byteLength>>2),y=_.length,A=u+7>>3,S=4294967295,w=s.value?4278190080:255;for(i=0;iA?u:8*P-7,k=-8&R,x=0,T=0;C>=1}for(;r=d&&(l=u*(o=h)),r=0,a=l;a--;)v[r++]=g[m++],v[r++]=g[m++],v[r++]=g[m++],v[r++]=255;e.putImageData(p,0,16*i)}}}}function r(e,t){for(var r=t.height,n=t.width,i=r%16,a=(r-i)/16,s=0===i?a:a+1,o=e.createImageData(n,16),l=0,c=t.data,u=o.data,h=0;h>=1}e.putImageData(o,0,16*h)}}function u(e,t){for(var r=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font"],n=0,i=r.length;n>8,e[a-2]=e[a-2]*s+r*o>>8,e[a-1]=e[a-1]*s+n*o>>8}}}function f(e,t,r){for(var n=e.length,i=3;i>8]>>8:t[i]*a>>16}}function m(e,t,r){var n=t.canvas,i=t.context;e.setTransform(t.scaleX,0,0,t.scaleY,t.offsetX,t.offsetY);var s=t.backdrop||null;if(!t.transferMap&&a.WebGLUtils.isEnabled){var o=a.WebGLUtils.composeSMask(r.canvas,n,{subtype:t.subtype,backdrop:s});return e.setTransform(1,0,0,1,0,0),void e.drawImage(o,t.offsetX,t.offsetY)}!function(e,t,r,n,i,a,s){var o,l=!!a,c=l?a[0]:0,u=l?a[1]:0,h=l?a[2]:0;o="Luminosity"===i?p:f;for(var m=Math.min(n,Math.ceil(1048576/r)),g=0;g10&&"function"==typeof r,h=u?Date.now()+15:0,d=0,f=this.commonObjs,p=this.objs;;){if(void 0!==i&&o===i.nextBreakPoint)return i.breakIt(o,r),o;if((c=s[o])!==n.OPS.dependency)this[c].apply(this,a[o]);else for(var m=a[o],g=0,v=m.length;g10){if(Date.now()>h)return r(),o;d=0}}},endDrawing:function(){null!==this.current.activeSMask&&this.endSMaskGroup(),this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null),this.cachedCanvases.clear(),a.WebGLUtils.clear(),this.imageLayer&&this.imageLayer.endLayout()},setLineWidth:function(e){this.current.lineWidth=e,this.ctx.lineWidth=e},setLineCap:function(e){this.ctx.lineCap=g[e]},setLineJoin:function(e){this.ctx.lineJoin=v[e]},setMiterLimit:function(e){this.ctx.miterLimit=e},setDash:function(e,t){var r=this.ctx;void 0!==r.setLineDash&&(r.setLineDash(e),r.lineDashOffset=t)},setRenderingIntent:function(e){},setFlatness:function(e){},setGState:function(e){for(var t=0,r=e.length;t0&&this.stateStack[this.stateStack.length-1].activeSMask===this.current.activeSMask?this.suspendSMaskGroup():this.endSMaskGroup()),this.current.activeSMask=a?this.tempSMask:null,this.current.activeSMask&&this.beginSMaskGroup(),this.tempSMask=null}}},beginSMaskGroup:function(){var e=this.current.activeSMask,t=e.canvas.width,r=e.canvas.height,n="smaskGroupAt"+this.groupLevel,i=this.cachedCanvases.getCanvas(n,t,r,!0),a=this.ctx,s=a.mozCurrentTransform;this.ctx.save();var o=i.context;o.scale(1/e.scaleX,1/e.scaleY),o.translate(-e.offsetX,-e.offsetY),o.transform.apply(o,s),e.startTransformInverse=o.mozCurrentTransformInverse,u(a,o),this.ctx=o,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(a),this.groupLevel++},suspendSMaskGroup:function(){var e=this.ctx;this.groupLevel--,this.ctx=this.groupStack.pop(),m(this.ctx,this.current.activeSMask,e),this.ctx.restore(),this.ctx.save(),u(e,this.ctx),this.current.resumeSMaskCtx=e;var t=n.Util.transform(this.current.activeSMask.startTransformInverse,e.mozCurrentTransform);this.ctx.transform.apply(this.ctx,t),e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,e.canvas.width,e.canvas.height),e.restore()},resumeSMaskGroup:function(){var e=this.current.resumeSMaskCtx,t=this.ctx;this.ctx=e,this.groupStack.push(t),this.groupLevel++},endSMaskGroup:function(){var e=this.ctx;this.groupLevel--,this.ctx=this.groupStack.pop(),m(this.ctx,this.current.activeSMask,e),this.ctx.restore(),u(e,this.ctx);var t=n.Util.transform(this.current.activeSMask.startTransformInverse,e.mozCurrentTransform);this.ctx.transform.apply(this.ctx,t)},save:function(){this.ctx.save();var e=this.current;this.stateStack.push(e),this.current=e.clone(),this.current.resumeSMaskCtx=null},restore:function(){this.current.resumeSMaskCtx&&this.resumeSMaskGroup(),null===this.current.activeSMask||0!==this.stateStack.length&&this.stateStack[this.stateStack.length-1].activeSMask===this.current.activeSMask||this.endSMaskGroup(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.ctx.restore(),this.pendingClip=null,this.cachedGetSinglePixelWidth=null)},transform:function(e,t,r,n,i,a){this.ctx.transform(e,t,r,n,i,a),this.cachedGetSinglePixelWidth=null},constructPath:function(e,t){for(var r=this.ctx,i=this.current,a=i.x,s=i.y,o=0,l=0,c=e.length;o100?100:t;this.current.fontSizeScale=t/c;var u=o+" "+s+" "+c+"px "+l;this.ctx.font=u}},setTextRenderingMode:function(e){this.current.textRenderingMode=e},setTextRise:function(e){this.current.textRise=e},moveText:function(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t},setLeadingMoveText:function(e,t){this.setLeading(-t),this.moveText(e,t)},setTextMatrix:function(e,t,r,n,i,a){this.current.textMatrix=[e,t,r,n,i,a],this.current.textMatrixScale=Math.sqrt(e*e+t*t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0},nextLine:function(){this.moveText(0,this.current.leading)},paintChar:function(e,t,r){var i,a=this.ctx,s=this.current,o=s.font,l=s.textRenderingMode,c=s.fontSize/s.fontSizeScale,u=l&n.TextRenderingMode.FILL_STROKE_MASK,h=!!(l&n.TextRenderingMode.ADD_TO_PATH_FLAG);(o.disableFontFace||h)&&(i=o.getPathGenerator(this.commonObjs,e)),o.disableFontFace?(a.save(),a.translate(t,r),a.beginPath(),i(a,c),u!==n.TextRenderingMode.FILL&&u!==n.TextRenderingMode.FILL_STROKE||a.fill(),u!==n.TextRenderingMode.STROKE&&u!==n.TextRenderingMode.FILL_STROKE||a.stroke(),a.restore()):(u!==n.TextRenderingMode.FILL&&u!==n.TextRenderingMode.FILL_STROKE||a.fillText(e,t,r),u!==n.TextRenderingMode.STROKE&&u!==n.TextRenderingMode.FILL_STROKE||a.strokeText(e,t,r)),h&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:a.mozCurrentTransform,x:t,y:r,fontSize:c,addToPath:i})},get isFontSubpixelAAEnabled(){var e=this.canvasFactory.create(10,10).context;e.scale(1.5,1),e.fillText("I",0,10);for(var t=e.getImageData(0,0,10,10).data,r=!1,i=3;i0&&t[i]<255){r=!0;break}return(0,n.shadow)(this,"isFontSubpixelAAEnabled",r)},showText:function(e){var t=this.current,r=t.font;if(r.isType3Font)return this.showType3Text(e);var i=t.fontSize;if(0!==i){var a=this.ctx,s=t.fontSizeScale,o=t.charSpacing,l=t.wordSpacing,c=t.fontDirection,u=t.textHScale*c,h=e.length,d=r.vertical,f=d?1:-1,p=r.defaultVMetrics,m=i*t.fontMatrix[0],g=t.textRenderingMode===n.TextRenderingMode.FILL&&!r.disableFontFace;a.save(),a.transform.apply(a,t.textMatrix),a.translate(t.x,t.y+t.textRise),t.patternFill&&(a.fillStyle=t.fillColor.getPattern(a,this)),c>0?a.scale(u,-1):a.scale(u,1);var v=t.lineWidth,b=t.textMatrixScale;if(0===b||0===v){var _=t.textRenderingMode&n.TextRenderingMode.FILL_STROKE_MASK;_!==n.TextRenderingMode.STROKE&&_!==n.TextRenderingMode.FILL_STROKE||(this.cachedGetSinglePixelWidth=null,v=.65*this.getSinglePixelWidth())}else v/=b;1!==s&&(a.scale(s,s),v/=s),a.lineWidth=v;var y,A=0;for(y=0;y0){var F=1e3*a.measureText(L).width/i*s;if(O4096&&(h=l/4096,l=4096),c>4096&&(d=c/4096,c=4096);var f="groupAt"+this.groupLevel;e.smask&&(f+="_smask_"+this.smaskCounter++%2);var p=this.cachedCanvases.getCanvas(f,l,c,!0),m=p.context;m.scale(1/h,1/d),m.translate(-s,-o),m.transform.apply(m,r),e.smask?this.smaskStack.push({canvas:p.canvas,context:m,offsetX:s,offsetY:o,scaleX:h,scaleY:d,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(s,o),t.scale(h,d)),u(t,m),this.ctx=m,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(t),this.groupLevel++,this.current.activeSMask=null},endGroup:function(e){this.groupLevel--;var t=this.ctx;this.ctx=this.groupStack.pop(),void 0!==this.ctx.imageSmoothingEnabled?this.ctx.imageSmoothingEnabled=!1:this.ctx.mozImageSmoothingEnabled=!1,e.smask?this.tempSMask=this.smaskStack.pop():this.ctx.drawImage(t.canvas,0,0),this.restore()},beginAnnotations:function(){this.save(),this.baseTransform&&this.ctx.setTransform.apply(this.ctx,this.baseTransform)},endAnnotations:function(){this.restore()},beginAnnotation:function(e,t,r){if(this.save(),h(this.ctx),this.current=new c,(0,n.isArray)(e)&&4===e.length){var i=e[2]-e[0],a=e[3]-e[1];this.ctx.rect(e[0],e[1],i,a),this.clip(),this.endPath()}this.transform.apply(this,t),this.transform.apply(this,r)},endAnnotation:function(){this.restore()},paintJpegXObject:function(e,t,r){var i=this.objs.get(e);if(i){this.save();var a=this.ctx;if(a.scale(1/t,-1/r),a.drawImage(i,0,0,i.width,i.height,0,-r,t,r),this.imageLayer){var s=a.mozCurrentTransformInverse,o=this.getCanvasPosition(0,0);this.imageLayer.appendImage({objId:e,left:o[0],top:o[1],width:t/s[0],height:r/s[3]})}this.restore()}else(0,n.warn)("Dependent image isn't ready yet")},paintImageMaskXObject:function(e){var t=this.ctx,n=e.width,i=e.height,a=this.current.fillColor,s=this.current.patternFill,o=this.processingType3;if(o&&void 0===o.compiled&&(o.compiled=n<=1e3&&i<=1e3?function(e){var t,r,n,i,a=e.width,s=e.height,o=a+1,l=new Uint8Array(o*(s+1)),c=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),u=a+7&-8,h=e.data,d=new Uint8Array(u*s),f=0;for(t=0,i=h.length;t0;)d[f++]=m&p?0:255,p>>=1;var g=0;for(0!==d[f=0]&&(l[0]=1,++g),r=1;r>2)+(d[f+1]?4:0)+(d[f-u+1]?8:0)]&&(l[n+r]=c[v],++g),f++;if(d[f-u]!==d[f]&&(l[n+r]=d[f]?2:4,++g),g>1e3)return null}for(n=t*o,0!==d[f=u*(s-1)]&&(l[n]=8,++g),r=1;r1e3)return null;var b=new Int32Array([0,o,-1,0,-o,0,0,0,1]),_=[];for(t=0;g&&t<=s;t++){for(var y=t*o,A=y+a;y>4,l[y]&=P>>2|P<<2),w.push(y%o),w.push(y/o|0),--g}while(C!==y);_.push(w),--t}}return function(e){e.save(),e.scale(1/a,-1/s),e.translate(0,-s),e.beginPath();for(var t=0,r=_.length;t2&&m>1||f>2&&g>1;){var b=m,_=g;u>2&&m>1&&(u/=m/(b=Math.ceil(m/2))),f>2&&g>1&&(f/=g/(_=Math.ceil(g/2))),(p=(s=this.cachedCanvases.getCanvas(v,b,_)).context).clearRect(0,0,b,_),p.drawImage(a,0,0,m,g,0,0,b,_),a=s.canvas,m=b,g=_,v="prescale1"===v?"prescale2":"prescale1"}if(i.drawImage(a,0,0,m,g,0,-n,r,n),this.imageLayer){var y=this.getCanvasPosition(0,-n);this.imageLayer.appendImage({imgData:e,left:y[0],top:y[1],width:r/o[0],height:n/o[3]})}this.restore()},paintInlineImageXObjectGroup:function(e,r){var n=this.ctx,i=e.width,a=e.height,s=this.cachedCanvases.getCanvas("inlineImage",i,a);t(s.context,e);for(var o=0,l=r.length;o0&&!i.isSyncFontLoadingSupported?this.prepareFontLoadEvent(r,a,p):p.complete()},i.prototype.queueLoadingCallback=function(e){var t=this.loadingContext,r={id:"pdfjs-font-loading-"+t.nextRequestId++,complete:function(){for((0,n.assert)(!r.end,"completeRequest() cannot be called twice"),r.end=Date.now();t.requests.length>0&&t.requests[0].end;){var e=t.requests.shift();setTimeout(e.callback,0)}},callback:e,started:Date.now()};return t.requests.push(r),r},i.prototype.prepareFontLoadEvent=function(e,t,r){function i(e,t){return e.charCodeAt(t)<<24|e.charCodeAt(t+1)<<16|e.charCodeAt(t+2)<<8|255&e.charCodeAt(t+3)}function a(e,t,r,n){return e.substr(0,t)+n+e.substr(t+r)}var s,o,l=document.createElement("canvas");l.width=1,l.height=1;var c=l.getContext("2d"),u=0,h="lt"+Date.now()+this.loadTestFontId++,d=this.loadTestFont,f=i(d=a(d,976,h.length,h),16);for(s=0,o=h.length-3;s30)return(0,n.warn)("Load test font never loaded."),void r();c.font="30px "+t,c.fillText(".",0,20),c.getImageData(0,0,1,1).data[3]>0?r():setTimeout(e.bind(null,t,r))}(h,(function(){document.body.removeChild(g),r.complete()}))},i.isFontLoadingAPISupported="undefined"!=typeof document&&!!document.fonts,Object.defineProperty(i,"isSyncFontLoadingSupported",{get:function(){return(0,n.shadow)(i,"isSyncFontLoadingSupported",function(){if("undefined"==typeof navigator)return!0;var e=!1,t=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);return t&&t[1]>=14&&(e=!0),e}())},enumerable:!0,configurable:!0});var a={get value(){return(0,n.shadow)(this,"value",(0,n.isEvalSupported)())}},s=function(){function e(e,t){for(var r in this.compiledGlyphs=Object.create(null),e)this[r]=e[r];this.options=t}return e.prototype={createNativeFontFace:function(){if(!this.data)return null;if(this.options.disableFontFace)return this.disableFontFace=!0,null;var e=new FontFace(this.loadedName,this.data,{});return this.options.fontRegistry&&this.options.fontRegistry.registerFont(this),e},createFontFaceRule:function(){if(!this.data)return null;if(this.options.disableFontFace)return this.disableFontFace=!0,null;var e=(0,n.bytesToString)(new Uint8Array(this.data)),t=this.loadedName,r="url(data:"+this.mimetype+";base64,"+btoa(e)+");",i='@font-face { font-family:"'+t+'";src:'+r+"}";return this.options.fontRegistry&&this.options.fontRegistry.registerFont(this,r),i},getPathGenerator:function(e,t){if(!(t in this.compiledGlyphs)){var r,n,i,s=e.get(this.loadedName+"_path_"+t);if(this.options.isEvalSupported&&a.value){var o,l="";for(n=0,i=s.length;nc[n+1]&&(l=r,r=n,n=l,l=a,a=s,s=l),c[n+1]>c[i+1]&&(l=n,n=i,i=l,l=s,s=o,o=l),c[r+1]>c[n+1]&&(l=r,r=n,n=l,l=a,a=s,s=l);var f=(c[r]+t.offsetX)*t.scaleX,p=(c[r+1]+t.offsetY)*t.scaleY,m=(c[n]+t.offsetX)*t.scaleX,g=(c[n+1]+t.offsetY)*t.scaleY,v=(c[i]+t.offsetX)*t.scaleX,b=(c[i+1]+t.offsetY)*t.scaleY;if(!(p>=b))for(var _,y,A,S,w,P,C,R,k,x=u[a],T=u[a+1],E=u[a+2],I=u[s],L=u[s+1],D=u[s+2],O=u[o],F=u[o+1],N=u[o+2],M=Math.round(p),j=Math.round(b),q=M;q<=j;q++){qb?1:g===b?0:(g-q)/(g-b)),y=I-(I-O)*k,A=L-(L-F)*k,S=D-(D-N)*k),w=f-(f-v)*(k=qb?1:(p-q)/(p-b)),P=x-(x-O)*k,C=T-(T-F)*k,R=E-(E-N)*k;for(var U=Math.round(Math.min(_,w)),W=Math.round(Math.max(_,w)),B=d*q+4*U,z=U;z<=W;z++)k=(k=(_-z)/(_-w))<0?0:k>1?1:k,h[B++]=y-(y-P)*k|0,h[B++]=A-(A-C)*k|0,h[B++]=S-(S-R)*k|0,h[B++]=255}}function t(t,r,n){var i,a,s=r.coords,o=r.colors;switch(r.type){case"lattice":var l=r.verticesPerRow,c=Math.floor(s.length/l)-1,u=l-1;for(i=0;i0){var a=new Uint8Array(i).buffer;this._queuedChunks.push(a)}this._pdfDataRangeTransport=t,this._isRangeSupported=!e.disableRange,this._isStreamingSupported=!e.disableStream,this._contentLength=e.length,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener((function(e,t){r._onReceiveData({begin:e,chunk:t})})),this._pdfDataRangeTransport.addProgressListener((function(e){r._onProgress({loaded:e})})),this._pdfDataRangeTransport.addProgressiveReadListener((function(e){r._onReceiveData({chunk:e})})),this._pdfDataRangeTransport.transportReady()}function t(e,t){this._stream=e,this._done=!1,this._queuedChunks=t||[],this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}function r(e,t,r){this._stream=e,this._begin=t,this._end=r,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}return e.prototype={_onReceiveData:function(e){var t=new Uint8Array(e.chunk).buffer;if(void 0===e.begin)this._fullRequestReader?this._fullRequestReader._enqueue(t):this._queuedChunks.push(t);else{var r=this._rangeReaders.some((function(r){return r._begin===e.begin&&(r._enqueue(t),!0)}));(0,n.assert)(r)}},_onProgress:function(e){if(this._rangeReaders.length>0){var t=this._rangeReaders[0];t.onProgress&&t.onProgress({loaded:e.loaded})}},_removeRangeReader:function(e){var t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)},getFullReader:function(){(0,n.assert)(!this._fullRequestReader);var e=this._queuedChunks;return this._queuedChunks=null,new t(this,e)},getRangeReader:function(e,t){var n=new r(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(n),n},cancelAllRequests:function(e){this._fullRequestReader&&this._fullRequestReader.cancel(e),this._rangeReaders.slice(0).forEach((function(t){t.cancel(e)})),this._pdfDataRangeTransport.abort()}},t.prototype={_enqueue:function(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e))},get headersReady(){return this._headersReady},get isRangeSupported(){return this._stream._isRangeSupported},get isStreamingSupported(){return this._stream._isStreamingSupported},get contentLength(){return this._stream._contentLength},read:function(){if(this._queuedChunks.length>0){var e=this._queuedChunks.shift();return Promise.resolve({value:e,done:!1})}if(this._done)return Promise.resolve({value:void 0,done:!0});var t=(0,n.createPromiseCapability)();return this._requests.push(t),t.promise},cancel:function(e){this._done=!0,this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[]}},r.prototype={_enqueue:function(e){this._done||(0===this._requests.length?this._queuedChunk=e:(this._requests.shift().resolve({value:e,done:!1}),this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[]),this._done=!0,this._stream._removeRangeReader(this))},get isStreamingSupported(){return!1},read:function(){if(this._queuedChunk){var e=this._queuedChunk;return this._queuedChunk=null,Promise.resolve({value:e,done:!1})}if(this._done)return Promise.resolve({value:void 0,done:!0});var t=(0,n.createPromiseCapability)();return this._requests.push(t),t.promise},cancel:function(e){this._done=!0,this._requests.forEach((function(e){e.resolve({value:void 0,done:!0})})),this._requests=[],this._stream._removeRangeReader(this)}},e}();t.PDFDataTransportStream=i},function(e,t,r){"use strict";var n=r(0),i=r(8),a=r(2),s=r(5),o=r(3),l=r(1),c=r(4);r(9),t.PDFJS=i.PDFJS,t.build=a.build,t.version=a.version,t.getDocument=a.getDocument,t.LoopbackPort=a.LoopbackPort,t.PDFDataRangeTransport=a.PDFDataRangeTransport,t.PDFWorker=a.PDFWorker,t.renderTextLayer=s.renderTextLayer,t.AnnotationLayer=o.AnnotationLayer,t.CustomStyle=l.CustomStyle,t.createPromiseCapability=n.createPromiseCapability,t.PasswordResponses=n.PasswordResponses,t.InvalidPDFException=n.InvalidPDFException,t.MissingPDFException=n.MissingPDFException,t.SVGGraphics=c.SVGGraphics,t.NativeImageDecoding=n.NativeImageDecoding,t.UnexpectedResponseException=n.UnexpectedResponseException,t.OPS=n.OPS,t.UNSUPPORTED_FEATURES=n.UNSUPPORTED_FEATURES,t.isValidUrl=l.isValidUrl,t.createValidAbsoluteUrl=n.createValidAbsoluteUrl,t.createObjectURL=n.createObjectURL,t.removeNullCharacters=n.removeNullCharacters,t.shadow=n.shadow,t.createBlob=n.createBlob,t.RenderingCancelledException=l.RenderingCancelledException,t.getFilenameFromUrl=l.getFilenameFromUrl,t.addLinkAttributes=l.addLinkAttributes,t.StatTimer=n.StatTimer},function(e,t,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};if("undefined"==typeof PDFJS||!PDFJS.compatibilityChecked){var i="undefined"!=typeof window&&window.Math===Math?window:"undefined"!=typeof global&&global.Math===Math?global:"undefined"!=typeof self&&self.Math===Math?self:{},a="undefined"!=typeof navigator&&navigator.userAgent||"",s=/Android/.test(a),o=/Android\s[0-2][^\d]/.test(a),l=/Android\s[0-4][^\d]/.test(a),c=a.indexOf("Chrom")>=0,u=/Chrome\/(39|40)\./.test(a),h=a.indexOf("CriOS")>=0,d=a.indexOf("Trident")>=0,f=/\b(iPad|iPhone|iPod)(?=;)/.test(a),p=a.indexOf("Opera")>=0,m=/Safari\//.test(a)&&!/(Chrome\/|Android\s)/.test(a),g="object"===("undefined"==typeof window?"undefined":n(window))&&"object"===("undefined"==typeof document?"undefined":n(document));"undefined"==typeof PDFJS&&(i.PDFJS={}),PDFJS.compatibilityChecked=!0,function(){if("undefined"!=typeof Uint8Array)return void 0===Uint8Array.prototype.subarray&&(Uint8Array.prototype.subarray=function(e,t){return new Uint8Array(this.slice(e,t))},Float32Array.prototype.subarray=function(e,t){return new Float32Array(this.slice(e,t))}),void("undefined"==typeof Float64Array&&(i.Float64Array=Float32Array));function e(e,t){return new o(this.slice(e,t))}function t(e,t){arguments.length<2&&(t=0);for(var r=0,n=e.length;r>>0},set:function(t){var r=this.buffer,n=e<<2;r[n]=255&t,r[n+1]=t>>8&255,r[n+2]=t>>16&255,r[n+3]=t>>>24&255}}}function o(r){var i,a,s;if("number"==typeof r)for(i=[],a=0;a>4,c=r+1>6:64,u=r+2>2)+e.charAt(l)+e.charAt(c)+e.charAt(u)}return i}}}(),"atob"in i||(i.atob=function(e){if((e=e.replace(/=+$/,"")).length%4==1)throw new Error("bad atob input");for(var t,r,n=0,i=0,a="";r=e.charAt(i++);~r&&(t=n%4?64*t+r:r,n++%4)?a+=String.fromCharCode(255&t>>(-2*n&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return a}),void 0===Function.prototype.bind&&(Function.prototype.bind=function(e){var t=this,r=Array.prototype.slice.call(arguments,1),n=function(){var n=r.concat(Array.prototype.slice.call(arguments));return t.apply(e,n)};return n}),g&&("dataset"in document.createElement("div")||Object.defineProperty(HTMLElement.prototype,"dataset",{get:function(){if(this._dataset)return this._dataset;for(var e={},t=0,r=this.attributes.length;t=0&&n&&i.splice(a,1),e.className=i.join(" "),a>=0}if(g&&!("classList"in document.createElement("div"))){var t={add:function(t){e(this.element,t,!0,!1)},contains:function(t){return e(this.element,t,!1,!1)},remove:function(t){e(this.element,t,!1,!0)},toggle:function(t){e(this.element,t,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList;var e=Object.create(t,{element:{value:this,writable:!1,enumerable:!0}});return Object.defineProperty(this,"_classList",{value:e,writable:!1,enumerable:!1}),e},enumerable:!0})}}(),function(){if("undefined"!=typeof importScripts&&!("console"in i)){var e={},t={log:function(){var e=Array.prototype.slice.call(arguments);i.postMessage({targetName:"main",action:"console_log",data:e})},error:function(){var e=Array.prototype.slice.call(arguments);i.postMessage({targetName:"main",action:"console_error",data:e})},time:function(t){e[t]=Date.now()},timeEnd:function(t){var r=e[t];if(!r)throw new Error("Unknown timer name "+t);this.log("Timer:",t,Date.now()-r)}};i.console=t}}(),function(){if(g){var e;if("console"in window)return"bind"in console.log?void 0:(console.log=(e=console.log,function(t){return e(t)}),console.error=function(e){return function(t){return e(t)}}(console.error),void(console.warn=function(e){return function(t){return e(t)}}(console.warn)));window.console={log:function(){},error:function(){},warn:function(){}}}}(),p&&document.addEventListener("click",(function(e){(function e(t){return t.disabled||t.parentNode&&e(t.parentNode)})(e.target)&&e.stopPropagation()}),!0),(d||h)&&(PDFJS.disableCreateObjectURL=!0),"undefined"!=typeof navigator&&("language"in navigator||(PDFJS.locale=navigator.userLanguage||"en-US")),(m||o||u||f)&&(PDFJS.disableRange=!0,PDFJS.disableStream=!0),g&&(history.pushState&&!o||(PDFJS.disableHistory=!0)),function(){if(g)if(window.CanvasPixelArray)"function"!=typeof window.CanvasPixelArray.prototype.set&&(window.CanvasPixelArray.prototype.set=function(e){for(var t=0,r=this.length;t0;){var t=this.handlers.shift(),r=t.thisPromise._status,n=t.thisPromise._value;try{1===r?"function"==typeof t.onResolve&&(n=t.onResolve(n)):"function"==typeof t.onReject&&(n=t.onReject(n),r=1,t.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(t.thisPromise))}catch(e){r=2,n=e}if(t.nextPromise._updateStatus(r,n),Date.now()>=e)break}this.handlers.length>0?setTimeout(this.runHandlers.bind(this),0):this.running=!1},addUnhandledRejection:function(e){this.unhandledRejections.push({promise:e,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(e){e._unhandledRejection=!1;for(var t=0;t500){var n=e.unhandledRejections[r].promise._value,i="Unhandled rejection: "+n;n.stack&&(i+="\n"+n.stack);try{throw new Error(i)}catch(e){console.warn(i)}e.unhandledRejections.splice(r),r--}e.unhandledRejections.length&&e.scheduleRejectionCheck()}),500))}},t=function(e){this._status=0,this._handlers=[];try{e.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(e){this._reject(e)}};t.all=function(e){var r,n,i=new t((function(e,t){r=e,n=t})),a=e.length,s=[];if(0===a)return r(s),i;function o(e){2!==i._status&&(s=[],n(e))}for(var l=0,c=e.length;l32&&t<127&&-1===[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}function p(e){var t=e.charCodeAt(0);return t>32&&t<127&&-1===[34,35,60,62,96].indexOf(t)?e:encodeURIComponent(e)}function m(e,t,n){function i(e){_.push(e)}var c=t||"scheme start",m=0,g="",v=!1,b=!1,_=[];e:for(;(e[m-1]!==s||0===m)&&!this._isInvalid;){var y=e[m];switch(c){case"scheme start":if(!y||!o.test(y)){if(t){i("Invalid scheme.");break e}g="",c="no scheme";continue}g+=y.toLowerCase(),c="scheme";break;case"scheme":if(y&&l.test(y))g+=y.toLowerCase();else{if(":"!==y){if(t){if(y===s)break e;i("Code point not allowed in scheme: "+y);break e}g="",m=0,c="no scheme";continue}if(this._scheme=g,g="",t)break e;u(this._scheme)&&(this._isRelative=!0),c="file"===this._scheme?"relative":this._isRelative&&n&&n._scheme===this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"===y?(this._query="?",c="query"):"#"===y?(this._fragment="#",c="fragment"):y!==s&&"\t"!==y&&"\n"!==y&&"\r"!==y&&(this._schemeData+=f(y));break;case"no scheme":if(n&&u(n._scheme)){c="relative";continue}i("Missing scheme."),h.call(this);break;case"relative or authority":if("/"!==y||"/"!==e[m+1]){i("Expected /, got: "+y),c="relative";continue}c="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!==this._scheme&&(this._scheme=n._scheme),y===s){this._host=n._host,this._port=n._port,this._path=n._path.slice(),this._query=n._query,this._username=n._username,this._password=n._password;break e}if("/"===y||"\\"===y)"\\"===y&&i("\\ is an invalid code point."),c="relative slash";else if("?"===y)this._host=n._host,this._port=n._port,this._path=n._path.slice(),this._query="?",this._username=n._username,this._password=n._password,c="query";else{if("#"!==y){var A=e[m+1],S=e[m+2];("file"!==this._scheme||!o.test(y)||":"!==A&&"|"!==A||S!==s&&"/"!==S&&"\\"!==S&&"?"!==S&&"#"!==S)&&(this._host=n._host,this._port=n._port,this._username=n._username,this._password=n._password,this._path=n._path.slice(),this._path.pop()),c="relative path";continue}this._host=n._host,this._port=n._port,this._path=n._path.slice(),this._query=n._query,this._fragment="#",this._username=n._username,this._password=n._password,c="fragment"}break;case"relative slash":if("/"!==y&&"\\"!==y){"file"!==this._scheme&&(this._host=n._host,this._port=n._port,this._username=n._username,this._password=n._password),c="relative path";continue}"\\"===y&&i("\\ is an invalid code point."),c="file"===this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!==y){i("Expected '/', got: "+y),c="authority ignore slashes";continue}c="authority second slash";break;case"authority second slash":if(c="authority ignore slashes","/"!==y){i("Expected '/', got: "+y);continue}break;case"authority ignore slashes":if("/"!==y&&"\\"!==y){c="authority";continue}i("Expected authority, got: "+y);break;case"authority":if("@"===y){v&&(i("@ already seen."),g+="%40"),v=!0;for(var w=0;w`Cls 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 XH|WOajx~s%KCbO@{nyJ4$m#z9?O-LU literal 1214218 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

nn(# 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 q`JP;eiqh$_>0|X!{Oz3&x { - return this.error("test error"); - }); - this.observable.on("btclick", (e) => { - return this.notify("button clicked"); - }); - this.observable.on("menuselect", (e) => { - return this.notify(e.id); - }); - list = this.find('list'); - list.set("data", [ - { - text: "some thing with avery long text" - }, - { - text: "some thing 1", - closable: true - }, - { - text: "some thing 2", - iconclass: "fa fa-camera-retro fa-lg" - }, - { - text: "some thing 3" - }, - { - text: "some thing 4" - }, - { - text: "some thing 5" - } - ]); - list.unshift({ - text: "shifted el" - }); - list.set("onlistselect", (e) => { - return this.notify(e.data.items); - }); - sw = this.find('switch'); - sw.set("onchange", (e) => { - return this.notify(e.data); - }); - spin = this.find('spin'); - spin.set("onchange", (e) => { - return this.notify(e.data); - }); - menu = this.find('menu'); - menu.set("items", this.menu()); - list.contextmenuHandle = (e, m) => { - m.set("items", this.menu()); - return m.show(e); - }; - grid = this.find('grid'); - grid.set("oncelldbclick", (e) => { - return this.notify("on dbclick", e); - }); - grid.set("onrowselect", (e) => { - return this.notify("on rowselect", e.data.items); - }); - this.observable.on("cellselect", function(e) { - return console.log("observable", e); - }); - grid.set("header", [ - { - text: "header1", - width: 80 - }, - { - text: "header2" - }, - { - text: "header3" - } - ]); - grid.set("rows", [ - [ - { - text: "text 1" - }, - { - text: "text 2" - }, - { - text: "text 3" - } - ], - [ - { - text: "text 4" - }, - { - text: "text 5" - }, - { - text: "text 6" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "Subgrid on columns and rows. Subgrid on columns, implicit grid rows. Subgrid on rows, defined column tracks" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ], - [ - { - text: "text 7" - }, - { - text: "text 8" - }, - { - text: "text 9" - } - ] - ]); - tdata = { - name: 'My Tree', - nodes: [ - { - name: 'hello', - iconclass: 'fa fa-car' - }, - { - name: 'wat' - }, - { - name: 'child folder', - nodes: [ - { - name: 'child folder', - nodes: [ - { - name: 'hello' - }, - { - name: 'wat' - } - ] - }, - { - name: 'hello' - }, - { - name: 'wat' - }, - { - name: 'child folder', - nodes: [ - { - name: 'hello' - }, - { - name: 'wat' - } - ] - } - ] - } - ] - }; - tree = this.find('tree'); - tree.set("data", tdata); - tree.set("ontreeselect", (e) => { - return this.notify(e.data.item.get("treepath")); - }); - tree.set("ontreedbclick", (e) => { - return this.notify("treedbclick", e); - }); - this.observable.on("treedbclick", (e) => { - return this.notify("observable treedbclick", e); - }); - slider = this.find('slider'); - slider.set("onchange", (v) => { - return this.notify(v); - }); - cal = this.find('cal'); - cal.set("ondateselect", (e) => { - return this.notify(e); - }); - pk = this.find('cpk'); - pk.set("oncolorselect", (e) => { - return this.notify(e); - }); - pk.set("oncolorselect", (e) => { - return this.notify(e); - }); - fileview = this.find('fileview'); - fileview.set("fetch", function(path) { - return new Promise(function(resolve, reject) { - var dir; - dir = path.asFileHandle(); - return dir.read().then(function(d) { - var p; - p = dir.parent().asFileHandle(); - p.filename = "[..]"; - p.type = "dir"; - if (d.error) { - return reject(d.error); - } - d.result.unshift(p); - return resolve(d.result); - }); - }); - }); - fileview.set("path", "home:///"); - viewoption = this.find('viewoption'); - viewoption.set("data", [ - { - text: "icon" - }, - { - text: "list" - }, - { - text: "tree" - } - ]); - viewoption.set("onlistselect", (e) => { - this.notify(e.data.item.get("data").text); - return fileview.set("view", e.data.item.get("data").text); - }); - dllist = this.find("dialoglist"); - btrun = this.find("btrundia"); - dllist.set("data", [ - { - text: "Prompt dialog", - id: "prompt" - }, - { - text: "Calendar dialog", - id: "calendar" - }, - { - text: "Color picker dialog", - id: "colorpicker" - }, - { - text: "Info dialog", - id: "info" - }, - { - text: "YesNo dialog", - id: "yesno" - }, - { - text: "Selection dialog", - id: "selection" - }, - { - text: "About dialog", - id: "about" - }, - { - text: "File dialog", - id: "file" - }, - { - text: "Text dialog", - id: "text" - } - ]); - return btrun.set("onbtclick", (e) => { - var item; - item = dllist.get("selectedItem"); - if (!item) { - return; - } - switch (item.get("data").id) { - case "prompt": - return this.openDialog("PromptDialog", { - title: "Prompt review", - value: "txt data", - label: "enter value" - }).then((d) => { - return this.notify(d); - }); - case "calendar": - return this.openDialog("CalendarDialog", { - title: "Calendar" - }).then((d) => { - return this.notify(d); - }); - case "colorpicker": - return this.openDialog("ColorPickerDialog").then((d) => { - return this.notify(d); - }); - case "info": - return this.openDialog("InfoDialog", { - title: "Info application", - name: "Show case", - date: "10/12/2014", - description: "the brown fox jumps over the lazy dog" - }).then(function(d) {}); - case "yesno": - return this.openDialog("YesNoDialog", { - title: "Question ?", - text: "Do you realy want to delete file ?" - }).then((d) => { - return this.notify(d); - }); - case "selection": - return this.openDialog("SelectionDialog", { - title: "Select data ?", - data: [ - { - text: "Option 1" - }, - { - text: "Option 2" - }, - { - text: "Option 3", - iconclass: "fa fa-camera-retro fa-lg" - } - ] - }).then((d) => { - return this.notify(d.text); - }); - case "about": - return this.openDialog("AboutDialog").then((d) => {}); - case "file": - return this.openDialog("FileDialog", { - title: "Select file ?", - //root: "home:///", - mimes: ["text/*", "dir"], - file: "Untitled".asFileHandle() - }).then((f, name) => { - return this.notify(f, name); - }); - case "text": - return this.openDialog("TextDialog", { - title: "Text dialog review", - value: "txt data" - }).then((d) => { - return this.notify(d); - }); - } - }); - } - - mnFile() { - var arr; - //@notify file - arr = { - text: "__(File)", - child: [ - { - text: "__(New file)", - dataid: `${this.name}-mkf`, - shortcut: 'C-F' - }, - { - text: "__(New folder)", - dataid: `${this.name}-mkdir`, - shortcut: 'C-D' - }, - { - text: "__(Open with)", - dataid: `${this.name}-open`, - child: this.apps - }, - { - text: "__(Upload)", - dataid: `${this.name}-upload`, - shortcut: 'C-U' - }, - { - text: "__(Download)", - dataid: `${this.name}-download` - }, - { - text: "__(Share file)", - dataid: `${this.name}-share`, - shortcut: 'C-S' - }, - { - text: "__(Properties)", - dataid: `${this.name}-info`, - shortcut: 'C-I' - } - ], - onchildselect: (e) => { - return this.notify("child", e); - } - }; - return arr; - } - - mnEdit() { - return { - text: "__(Edit)", - child: [ - { - text: "__(Rename)", - dataid: `${this.name}-mv`, - shortcut: 'C-R' - }, - { - text: "__(Delete)", - dataid: `${this.name}-rm`, - shortcut: 'C-M' - }, - { - text: "__(Cut)", - dataid: `${this.name}-cut`, - shortcut: 'C-X' - }, - { - text: "__(Copy)", - dataid: `${this.name}-copy`, - shortcut: 'C-C' - }, - { - text: "__(Paste)", - dataid: `${this.name}-paste`, - shortcut: 'C-P' - } - ], - onchildselect: (e) => { - return console.log("child", e); - } - }; - } - - menu() { - var menu; - menu = [ - this.mnFile(), - this.mnEdit(), - { - text: "__(View)", - child: [ - { - text: "__(Refresh)", - dataid: `${this.name}-refresh`, - onmenuselect: function(e) { - return console.log("select", - e); - } - }, - { - text: "__(Sidebar)", - switch: true, - checked: true - }, - { - text: "__(Navigation bar)", - switch: true, - checked: false - }, - { - text: "__(Hidden files)", - switch: true, - checked: true, - dataid: `${this.name}-hidden` - }, - { - text: "__(Type)", - child: [ - { - text: "__(Icon view)", - radio: true, - checked: true, - dataid: `${this.name}-icon`, - type: 'icon' - }, - { - text: "__(List view)", - radio: true, - checked: false, - dataid: `${this.name}-list`, - type: 'list' - }, - { - text: "__(Tree view)", - radio: true, - checked: false, - dataid: `${this.name}-tree`, - type: 'tree' - } - ], - onchildselect: function(e) { - return console.log("child", - e); - } - } - ], - onchildselect: (e) => { - return console.log("child", - e); - } - } - ]; - return menu; - } - - }; - - ShowCase.singleton = true; - - this.OS.register("ShowCase", ShowCase); - -}).call(this); +(function(){var t;(t=class extends this.OS.GUI.BaseApplication{constructor(t){super("ShowCase",t)}main(){var t,e,i,n,o,a,s,l,d;return this.find("bttest").set("onbtclick",t=>this.error("test error")),this.observable.on("btclick",t=>this.notify("button clicked")),this.observable.on("menuselect",t=>this.notify(t.id)),(o=this.find("list")).set("data",[{text:"some thing with avery long text"},{text:"some thing 1",closable:!0},{text:"some thing 2",iconclass:"fa fa-camera-retro fa-lg"},{text:"some thing 3"},{text:"some thing 4"},{text:"some thing 5"}]),o.unshift({text:"shifted el"}),o.set("onlistselect",t=>this.notify(t.data.items)),this.find("switch").set("onchange",t=>this.notify(t.data)),this.find("spin").set("onchange",t=>this.notify(t.data)),this.find("menu").set("items",this.menu()),o.contextmenuHandle=(t,e)=>(e.set("items",this.menu()),e.show(t)),(n=this.find("grid")).set("oncelldbclick",t=>this.notify("on dbclick",t)),n.set("onrowselect",t=>this.notify("on rowselect",t.data.items)),this.observable.on("cellselect",(function(t){return console.log("observable",t)})),n.set("header",[{text:"header1",width:80},{text:"header2"},{text:"header3"}]),n.set("rows",[[{text:"text 1"},{text:"text 2"},{text:"text 3"}],[{text:"text 4"},{text:"text 5"},{text:"text 6"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"Subgrid on columns and rows. Subgrid on columns, implicit grid rows. Subgrid on rows, defined column tracks"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}],[{text:"text 7"},{text:"text 8"},{text:"text 9"}]]),s={name:"My Tree",nodes:[{name:"hello",iconclass:"fa fa-car"},{name:"wat"},{name:"child folder",nodes:[{name:"child folder",nodes:[{name:"hello"},{name:"wat"}]},{name:"hello"},{name:"wat"},{name:"child folder",nodes:[{name:"hello"},{name:"wat"}]}]}]},(l=this.find("tree")).set("data",s),l.set("ontreeselect",t=>this.notify(t.data.item.get("treepath"))),l.set("ontreedbclick",t=>this.notify("treedbclick",t)),this.observable.on("treedbclick",t=>this.notify("observable treedbclick",t)),this.find("slider").set("onchange",t=>this.notify(t)),this.find("cal").set("ondateselect",t=>this.notify(t)),(a=this.find("cpk")).set("oncolorselect",t=>this.notify(t)),a.set("oncolorselect",t=>this.notify(t)),(i=this.find("fileview")).set("fetch",(function(t){return new Promise((function(e,i){var n;return(n=t.asFileHandle()).read().then((function(t){var o;return(o=n.parent().asFileHandle()).filename="[..]",o.type="dir",t.error?i(t.error):(t.result.unshift(o),e(t.result))}))}))})),i.set("path","home:///"),(d=this.find("viewoption")).set("data",[{text:"icon"},{text:"list"},{text:"tree"}]),d.set("onlistselect",t=>(this.notify(t.data.item.get("data").text),i.set("view",t.data.item.get("data").text))),e=this.find("dialoglist"),t=this.find("btrundia"),e.set("data",[{text:"Prompt dialog",id:"prompt"},{text:"Calendar dialog",id:"calendar"},{text:"Color picker dialog",id:"colorpicker"},{text:"Info dialog",id:"info"},{text:"YesNo dialog",id:"yesno"},{text:"Selection dialog",id:"selection"},{text:"About dialog",id:"about"},{text:"File dialog",id:"file"},{text:"Text dialog",id:"text"}]),t.set("onbtclick",t=>{var i;if(i=e.get("selectedItem"))switch(i.get("data").id){case"prompt":return this.openDialog("PromptDialog",{title:"Prompt review",value:"txt data",label:"enter value"}).then(t=>this.notify(t));case"calendar":return this.openDialog("CalendarDialog",{title:"Calendar"}).then(t=>this.notify(t));case"colorpicker":return this.openDialog("ColorPickerDialog").then(t=>this.notify(t));case"info":return this.openDialog("InfoDialog",{title:"Info application",name:"Show case",date:"10/12/2014",description:"the brown fox jumps over the lazy dog"}).then((function(t){}));case"yesno":return this.openDialog("YesNoDialog",{title:"Question ?",text:"Do you realy want to delete file ?"}).then(t=>this.notify(t));case"selection":return this.openDialog("SelectionDialog",{title:"Select data ?",data:[{text:"Option 1"},{text:"Option 2"},{text:"Option 3",iconclass:"fa fa-camera-retro fa-lg"}]}).then(t=>this.notify(t.text));case"about":return this.openDialog("AboutDialog").then(t=>{});case"file":return this.openDialog("FileDialog",{title:"Select file ?",mimes:["text/*","dir"],file:"Untitled".asFileHandle()}).then((t,e)=>this.notify(t,e));case"text":return this.openDialog("TextDialog",{title:"Text dialog review",value:"txt data"}).then(t=>this.notify(t))}})}mnFile(){return{text:"__(File)",child:[{text:"__(New file)",dataid:this.name+"-mkf",shortcut:"C-F"},{text:"__(New folder)",dataid:this.name+"-mkdir",shortcut:"C-D"},{text:"__(Open with)",dataid:this.name+"-open",child:this.apps},{text:"__(Upload)",dataid:this.name+"-upload",shortcut:"C-U"},{text:"__(Download)",dataid:this.name+"-download"},{text:"__(Share file)",dataid:this.name+"-share",shortcut:"C-S"},{text:"__(Properties)",dataid:this.name+"-info",shortcut:"C-I"}],onchildselect:t=>this.notify("child",t)}}mnEdit(){return{text:"__(Edit)",child:[{text:"__(Rename)",dataid:this.name+"-mv",shortcut:"C-R"},{text:"__(Delete)",dataid:this.name+"-rm",shortcut:"C-M"},{text:"__(Cut)",dataid:this.name+"-cut",shortcut:"C-X"},{text:"__(Copy)",dataid:this.name+"-copy",shortcut:"C-C"},{text:"__(Paste)",dataid:this.name+"-paste",shortcut:"C-P"}],onchildselect:t=>console.log("child",t)}}menu(){return[this.mnFile(),this.mnEdit(),{text:"__(View)",child:[{text:"__(Refresh)",dataid:this.name+"-refresh",onmenuselect:function(t){return console.log("select",t)}},{text:"__(Sidebar)",switch:!0,checked:!0},{text:"__(Navigation bar)",switch:!0,checked:!1},{text:"__(Hidden files)",switch:!0,checked:!0,dataid:this.name+"-hidden"},{text:"__(Type)",child:[{text:"__(Icon view)",radio:!0,checked:!0,dataid:this.name+"-icon",type:"icon"},{text:"__(List view)",radio:!0,checked:!1,dataid:this.name+"-list",type:"list"},{text:"__(Tree view)",radio:!0,checked:!1,dataid:this.name+"-tree",type:"tree"}],onchildselect:function(t){return console.log("child",t)}}],onchildselect:t=>console.log("child",t)}]}}).singleton=!0,this.OS.register("ShowCase",t)}).call(this); \ No newline at end of file diff --git a/ShowCase/build/debug/package.json b/ShowCase/build/debug/package.json index cf86e25..a95ee54 100644 --- a/ShowCase/build/debug/package.json +++ b/ShowCase/build/debug/package.json @@ -7,7 +7,7 @@ "email": "xsang.le@gmail.com", "licences": "GPLv3" }, - "version":"0.0.2-a", + "version":"0.0.3-a", "category":"Other", "mimes":["none"], "iconclass": "fa fa-delicious", diff --git a/ShowCase/build/release/ShowCase.zip b/ShowCase/build/release/ShowCase.zip index e76ded7e73146ea8c71ebcae956db3c3484463d2..26ee8f30683ecf2c4953748834a89fffd30132fe 100644 GIT binary patch literal 9533 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 diff --git a/ShowCase/package.json b/ShowCase/package.json index cf86e25..a95ee54 100644 --- a/ShowCase/package.json +++ b/ShowCase/package.json @@ -7,7 +7,7 @@ "email": "xsang.le@gmail.com", "licences": "GPLv3" }, - "version":"0.0.2-a", + "version":"0.0.3-a", "category":"Other", "mimes":["none"], "iconclass": "fa fa-delicious", diff --git a/TinyEditor/build/debug/main.js b/TinyEditor/build/debug/main.js index bac3af2..369a669 100644 --- a/TinyEditor/build/debug/main.js +++ b/TinyEditor/build/debug/main.js @@ -1,144 +1 @@ -(function() { - void 0; - var TinyEditor; - - TinyEditor = class TinyEditor extends this.OS.GUI.BaseApplication { - constructor(args) { - super("TinyEditor", args); - } - - main() { - this.editor = this.find("editor"); - this.bindKey("ALT-N", () => { - return this.newFile(); - }); - this.bindKey("ALT-O", () => { - return this.openFile(); - }); - this.bindKey("CTRL-S", () => { - return this.saveFile(); - }); - this.filehandle = this.args && this.args.length > 0 ? this.args[0].path.asFileHandle() : null; - $(this.editor).on('input', (e) => { - if (this.filehandle.dirty === true) { - return; - } - this.filehandle.dirty = true; - return this.scheme.set("apptitle", `${this.filehandle.path}*`); - }); - return this.read(); - } - - menu() { - var m; - m = [ - { - text: "__(File)", - child: [ - { - text: "__(New)", - dataid: "new", - shortcut: 'A-N' - }, - { - text: "__(Open)", - dataid: "open", - shortcut: 'A-O' - }, - { - text: "__(Save)", - dataid: "save", - shortcut: 'C-S' - } - ], - onchildselect: (e) => { - switch (e.data.item.get("data").dataid) { - case "new": - return this.newFile(); - case "open": - return this.openFile(); - case "save": - return this.saveFile(); - } - } - } - ]; - return m; - } - - newFile() { - this.filehandle = null; - return this.read(); - } - - openFile() { - return this.openDialog("FileDialog", { - title: __("Open file") - }).then((d) => { - this.filehandle = d.file.path.asFileHandle(); - return this.read(); - }); - } - - saveFile() { - this.filehandle.cache = this.editor.value; - if (this.filehandle.path !== "Untitled") { - return this.write(); - } - return this.openDialog("FileDialog", { - title: __("Save as"), - file: this.filehandle - }).then((f) => { - var d; - d = f.file.path.asFileHandle(); - if (f.file.type === "file") { - d = d.parent(); - } - this.filehandle.setPath(`${d.path}/${f.name}`); - return this.write(); - }); - } - - read() { - this.editor.value = ""; - if (this.filehandle === null) { - this.filehandle = "Untitled".asFileHandle(); - this.scheme.set("apptitle", "Untitled"); - return; - } - return this.filehandle.read().then((d) => { - this.scheme.set("apptitle", this.filehandle.path); - return this.editor.value = d; - }).catch((e) => { - return this.error(__("Unable to read file content")); - }); - } - - write() { - return this.filehandle.write("text/plain").then((d) => { - this.filehandle.dirty = false; - return this.scheme.set("apptitle", `${this.filehandle.path}`); - }).catch((e) => { - return this.error(__("Error saving file {0}", this.filehandle.path), e); - }); - } - - cleanup(e) { - if (!this.filehandle.dirty) { - return; - } - e.preventDefault(); - return this.ask({ - title: "__(Quit)", - text: "__(Quit without saving?)" - }).then(() => { - this.filehandle.dirty = false; - return this.quit(); - }); - } - - }; - - this.OS.register("TinyEditor", TinyEditor); - -}).call(this); +(function(){var e;e=class extends this.OS.GUI.BaseApplication{constructor(e){super("TinyEditor",e)}main(){return this.editor=this.find("editor"),this.bindKey("ALT-N",()=>this.newFile()),this.bindKey("ALT-O",()=>this.openFile()),this.bindKey("CTRL-S",()=>this.saveFile()),this.filehandle=this.args&&this.args.length>0?this.args[0].path.asFileHandle():null,$(this.editor).on("input",e=>{if(!0!==this.filehandle.dirty)return this.filehandle.dirty=!0,this.scheme.set("apptitle",this.filehandle.path+"*")}),this.read()}menu(){return[{text:"__(File)",child:[{text:"__(New)",dataid:"new",shortcut:"A-N"},{text:"__(Open)",dataid:"open",shortcut:"A-O"},{text:"__(Save)",dataid:"save",shortcut:"C-S"}],onchildselect:e=>{switch(e.data.item.get("data").dataid){case"new":return this.newFile();case"open":return this.openFile();case"save":return this.saveFile()}}}]}newFile(){return this.filehandle=null,this.read()}openFile(){return this.openDialog("FileDialog",{title:__("Open file")}).then(e=>(this.filehandle=e.file.path.asFileHandle(),this.read()))}saveFile(){return this.filehandle.cache=this.editor.value,"Untitled"!==this.filehandle.path?this.write():this.openDialog("FileDialog",{title:__("Save as"),file:this.filehandle}).then(e=>{var t;return t=e.file.path.asFileHandle(),"file"===e.file.type&&(t=t.parent()),this.filehandle.setPath(`${t.path}/${e.name}`),this.write()})}read(){return this.editor.value="",null===this.filehandle?(this.filehandle="Untitled".asFileHandle(),void this.scheme.set("apptitle","Untitled")):this.filehandle.read().then(e=>(this.scheme.set("apptitle",this.filehandle.path),this.editor.value=e)).catch(e=>this.error(__("Unable to read file content")))}write(){return this.filehandle.write("text/plain").then(e=>(this.filehandle.dirty=!1,this.scheme.set("apptitle",""+this.filehandle.path))).catch(e=>this.error(__("Error saving file {0}",this.filehandle.path),e))}cleanup(e){if(this.filehandle.dirty)return e.preventDefault(),this.ask({title:"__(Quit)",text:"__(Quit without saving?)"}).then(()=>(this.filehandle.dirty=!1,this.quit()))}},this.OS.register("TinyEditor",e)}).call(this); \ No newline at end of file diff --git a/TinyEditor/build/debug/package.json b/TinyEditor/build/debug/package.json index e49e5c6..c56ed9a 100644 --- a/TinyEditor/build/debug/package.json +++ b/TinyEditor/build/debug/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.2-a", + "version":"0.0.3-a", "category":"Other", "iconclass":"fa fa-adn", "mimes":["text/.*"] diff --git a/TinyEditor/build/release/TinyEditor.zip b/TinyEditor/build/release/TinyEditor.zip index f5e663398ec69a3b8ace917d32a86eead442da7a..f2f782e253cdbc23564fc5d5e7446091f8ac2306 100644 GIT binary patch literal 3342 zcma)8&u`pB6iy38Wq})9I5|U=dRp)7mLC#w>MfxO1tm10Nf1&LwG(@GJ*jtWJmcL& zE1$R_B>n{c3l97RNT?T1oH%jhhB$EJ&5U<#FH2z)OZLorGvE8(H*em-?h7w=*7Q%7 z-ydB6{n>*b;9Wnj!qbys%*KqwYMk7q!;3D>vhI|ND4ja+s<=v6fF3_~kJyEBb|S9Q z93yASBNYeey?!4#G2^3H1?XM<5m80EJPObe7njx?4LT0|%<7Y~^un>tn5lJp26(cfcy)2cg z$D`ic{ZscpO>n2vhWh!l+dnFRsGpZL)G_6Pgi?0exj0$H>!~xRsGhd;q0`RHkUpmQ zhzsB8Z<^1HMiCby|4u)>rW`$Dfc7sbpJOmhg~jpIMj+sq!KOT3v=`vdCEOHpSvG zTxt?v^_;097j`)tS74SNf;?SRMT$K$b_Qd+?9xSBdq>@e$a8TpFcX4JKjH~<@hZdp zhGCj9vD)(f(WAZYVZ&6?32T`SVTYKC2+oSx6j+xV8;e(xFfmf`pnq>MbkaX18C5Z% zQm^!}adxpUiX`!FxW>*#hzU@QxX22HJQfUQeCV$C*Mm71^PNe=b9ITEq}8zOWU$`1 zY*mL|GUcNADMxmy;iK{0Mz;_yEAHT+MlPg>iDHqSlbIHwuSS@)0Bic`{CO6&B#P1=%XSdXardL&I8UrER|7GCzb=G|Y8on&$T*Z{?|%3Ij^A z1P-^aNt9Er!q{a*!y;UUmuU|9 zfwN)4{~rM!f(RTc5%x3&>sF&_#BA!9+MK60cuvSjFMxtzZlf+Uwz1)=KmkKJ6KYXl z>YWIjuLFp}eR5-_%~V|WZp;`Fbj->p)tRb-D{*NFZE@ISD?rH8DgX?Ih{5O4CMl0>MO|G3YEN7dUhhLJ!X?S9US|oSiN1=s6%@l5p3Cp z=wKW;A#m&30A~Gib*05{^Wic~7!^gP??$Ne%iFa|JeQthW<^(X`w1)_b{5D3Vm;`-ZogT$oUc$0JYHZ?4;Zr(dUZHzB{(9oTVwf~pC}$_aUP zCSo$oIrOcm00Zbgc<7kqn_kJLpzXoMFh#!IQ1_&W7Qju8d_vJO7ly=xDT4l=i?moZJH^V z7*c0QyEKCP&&D?9VkyTuHAlv*Sd#Z z_FHaYYrk(Hvx|my*=@PKtle&1ox7dOWv^w?)Lvghr{9v$!S1z}^z=3OdlQiS`ilPg E8zj0ZY5)KL literal 4824 zcmbVQ&2QX96i-_UWkD54a73C8Ro7dx-lc-ewwn^#P*6(~nzTYhQ9H3`*OPi}V~;n9 z!k)Oof54412M#^JU%;h*1y^o}12^8A@z`T;vT51GlIP=n{ocpC@y6YAue6r%ckbtB z8yEh1e&=_1$L9@rGB4m0?gnxa-e9AHE=!W`zKHyIpTMgWGUP-0__4Fa41q%mcJCHKT2EE>H7?0iXAY;+ko$y`~XR;^! z-nIUYbLy5(t5w(Z(en@fkf0$x7vPyN5xHKLwd$VOJ`U9#VgRa^HF$KVb)+Dluyib< z0qI{?!-V<1h{l5t`^kZx*^N`5r)tBjuG#pvUmsn(xU_`NYeuuZ%o*j8Cq*1N9fC5Z zvG6tfDN8MMueV^a0-Fqp7qTp~r@-?(@)3WLx$B$morhnzpR$avCP^qfhC-AGLcBQ2 zWSV>63kNL9v}lZ!&b_6CS-7w_95e z?sYd$VVAKfU&w9*ng=ZMArA^z5K408ina|0Zpfpt49E)UlbhA_c7MlBm<(K&p@h#B z6ToReqC5-@oR=L7`Hl-Q)D}^a%Qj%j8=#62(Yq_9TwkQ}kPL^QT$%#`#-I6VCm2bD z%*wUGzs5AfMe(Ti+fFPhV#cLIO$h{SpIkm_@2VpWi~uGS z!nnp97qcKvrI&*O?bYu6c1_OA)?|^`bqMJNaxvl;3ts=9f;S=f7YN4OSS0vXce5eb zvVX_6K8})iABO@Vo?22zbz72+-NSZC0T_z{RG?HLUuxQr=z0vgK2zoOvFA=%m~$iUxcZCLj$DHBOCLtc zaG%;SYD2f5LQtEUSNYlA@^a{ILV^;O(N2|Xh}gg!-=@4bp&vD%$4cuPBcb8}2BR0i z9^okV$-@MYLlm^LON=qRk)IE4OnD?L^D6*~o&qWLN$bKXvjMm|aJnENoF~1@MtS(*99 z3mSkEAUvrTsv`Df5n4m62$U|kplE!K`ZK7t$2x17@RLCELe8Q*LBAXo#QSpXgO-}g~+;p3dSRPtQZF_@dPaPu-!XEF;x=;Hm7t(G!ss;>K;1(@|IG2Ul zH#@Xhz8cl*SR=56o$SDGK~7bPY7sV5mo&u_u3sr1i%iblrm8y}Al_154MWwM!?=EB zeDB#$-*wI`E#dPfTp1JQJ!NC=?qzYL(ZP0_4r4_h2nuN`dAQjc0@LGNnX_7U+NK|A$ wf?Lh^i6&L^Ye7ZTK3h=jWlf@Hyi`Qryj72$jl1Vx#ntoh_b#aM%iB2m590q2t^fc4 diff --git a/TinyEditor/package.json b/TinyEditor/package.json index e49e5c6..c56ed9a 100644 --- a/TinyEditor/package.json +++ b/TinyEditor/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.2-a", + "version":"0.0.3-a", "category":"Other", "iconclass":"fa fa-adn", "mimes":["text/.*"] diff --git a/packages.json b/packages.json index bf53747..62701cd 100644 --- a/packages.json +++ b/packages.json @@ -1,11 +1,11 @@ [ { "pkgname": "About", - "name": "__(About AntOS)", + "name": "About AntOS", "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/About/README.md", "category": "Other", "author": "Xuan Sang LE", - "version": "0.0.1-a", + "version": "0.0.2-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/About/build/release/About.zip" }, { @@ -14,7 +14,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/ActivityMonitor/README.md", "category": "System", "author": "Xuan Sang LE", - "version": "0.0.1-a", + "version": "0.0.2-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/ActivityMonitor/build/release/ActivityMonitor.zip" }, { @@ -23,7 +23,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/LuaPlayground/README.md", "category": "System", "author": "Xuan Sang LEs", - "version": "0.0.2-a", + "version": "0.0.3-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/LuaPlayground/build/release/LuaPlayground.zip" }, { @@ -32,7 +32,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/MarkOn/README.md", "category": "Utils", "author": "Xuan Sang LE", - "version": "0.0.1-a", + "version": "0.0.2-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/MarkOn/build/release/MarkOn.zip" }, { @@ -41,7 +41,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Preview/README.md", "category": "Utils", "author": "Xuan Sang LE", - "version": "0.0.4-a", + "version": "0.0.5-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/Preview/build/release/Preview.zip" }, { @@ -50,7 +50,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/ShowCase/README.md", "category": "Other", "author": "Xuan Sang LE", - "version": "0.0.2-a", + "version": "0.0.3-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/ShowCase/build/release/ShowCase.zip" }, { @@ -59,7 +59,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/TinyEditor/README.md", "category": "Other", "author": "Xuan Sang LE", - "version": "0.0.2-a", + "version": "0.0.3-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/TinyEditor/build/release/TinyEditor.zip" }, { @@ -68,7 +68,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/wTerm/README.md", "category": "System", "author": "Xuan Sang LE", - "version": "0.0.3-a", + "version": "0.0.4-a", "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/wTerm/build/release/wTerm.zip" } diff --git a/wTerm/build/debug/main.js b/wTerm/build/debug/main.js index 71fab2e..e361356 100644 --- a/wTerm/build/debug/main.js +++ b/wTerm/build/debug/main.js @@ -1,191 +1 @@ -(function() { - void 0; - var wTerm; - - // 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/ - wTerm = class wTerm extends this.OS.GUI.BaseApplication { - constructor(args) { - super("wTerm", 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.socket) { - return this.socket.send(`i${d.key}`); - } - }); - this.socket = void 0; - this.on("focus", () => { - return this.term.focus(); - }); - this.mterm.contextmenuHandle = (e, m) => { - m.set("items", [ - { - text: "__(Copy)", - id: "copy" - }, - { - text: "__(Paste)", - id: "paste" - } - ]); - m.set("onmenuselect", (e) => { - if (!e) { - return; - } - return this.mctxHandle(e.data.item.get("data")); - }); - return m.show(e); - }; - this.resizeContent(); - this.openSession(); - if (!this.systemsetting.desktop.menu[this.name]) { - - // make desktop menu if not exist - this.systemsetting.desktop.menu[this.name] = { - text: "__(Open terminal)", - app: "wTerm" - }; - } - return this.on("hboxchange", (e) => { - return this.resizeContent(); - }); - } - - mctxHandle(data) { - var text; - switch (data.id) { - case "paste": - return this._api.getClipboard().then((text) => { - var i, len, results, v; - if (!(text && text !== "")) { - return; - } - results = []; - for (i = 0, len = text.length; i < len; i++) { - v = text[i]; - results.push(this.socket.send(`i${v}`)); - } - return results; - }).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 ncol, nrow; - this.fitAddon.fit(); - ncol = this.term.cols; - nrow = this.term.rows; - if (!this.socket) { - return; - } - return this.socket.send(`s${ncol}:${nrow}`); - } - - openSession() { - this.term.clear(); - this.term.focus(); - console.log(this.setting.uri); - if (!this.setting.uri) { - return this.configure(); - } - this.socket = new WebSocket(this.setting.uri); - this.socket.onopen = () => { - this.resizeContent(($(this.mterm)).width(), ($(this.mterm)).height()); - return this.term.focus(); - }; - this.socket.onerror = (e) => { - this.error(__("Unable to connect to: {0}", this.setting.uri), e); - return this.socket = void 0; - }; - this.socket.onmessage = (e) => { - if (this.term && e.data) { - return this.term.write(e.data); - } - }; - return this.socket.onclose = () => { - this.socket = void 0; - return this.notify(__("Terminal connection closed")); - }; - } - - cleanup(e) { - if (this.socket) { - return this.socket.close(); - } - } - - menu() { - return { - text: "__(Edit)", - child: [ - { - text: "__(Terminal URI)", - dataid: `${this.name}-termuri` - } - ], - onchildselect: (e) => { - return this.configure(); - } - }; - } - - configure() { - if (this.socket) { - this.socket.close(); - } - return this.openDialog("PromptDialog", { - title: "__(Please enter terminal URI)", - label: "__(URI)", - value: this.setting.uri || "wss://lxsang.me/wterm" - }).then((d) => { - if (!(d && d !== "")) { - return; - } - this.setting.uri = d; - return this.openSession(); - }); - } - - }; - - this.OS.register("wTerm", wTerm); - -}).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{if(this.socket)return this.socket.send("i"+e.key)}),this.socket=void 0,this.on("focus",()=>this.term.focus()),this.mterm.contextmenuHandle=(e,t)=>(t.set("items",[{text:"__(Copy)",id:"copy"},{text:"__(Paste)",id:"paste"}]),t.set("onmenuselect",e=>{if(e)return this.mctxHandle(e.data.item.get("data"))}),t.show(e)),this.resizeContent(),this.openSession(),this.systemsetting.desktop.menu[this.name]||(this.systemsetting.desktop.menu[this.name]={text:"__(Open terminal)",app:"wTerm"}),this.on("hboxchange",e=>this.resizeContent())}mctxHandle(e){var t;switch(e.id){case"paste":return this._api.getClipboard().then(e=>{var t,r,i,n;if(e&&""!==e){for(i=[],t=0,r=e.length;tthis.error(__("Unable to paste"),e));case"copy":if(!(t=this.term.getSelection())||""===t)return;return this._api.setClipboard(t)}}resizeContent(){var e,t;if(this.fitAddon.fit(),e=this.term.cols,t=this.term.rows,this.socket)return this.socket.send(`s${e}:${t}`)}openSession(){return this.term.clear(),this.term.focus(),console.log(this.setting.uri),this.setting.uri?(this.socket=new WebSocket(this.setting.uri),this.socket.onopen=()=>(this.resizeContent($(this.mterm).width(),$(this.mterm).height()),this.term.focus()),this.socket.onerror=e=>(this.error(__("Unable to connect to: {0}",this.setting.uri),e),this.socket=void 0),this.socket.onmessage=e=>{if(this.term&&e.data)return this.term.write(e.data)},this.socket.onclose=()=>(this.socket=void 0,this.notify(__("Terminal connection closed")))):this.configure()}cleanup(e){if(this.socket)return this.socket.close()}menu(){return{text:"__(Edit)",child:[{text:"__(Terminal URI)",dataid:this.name+"-termuri"}],onchildselect:e=>this.configure()}}configure(){return this.socket&&this.socket.close(),this.openDialog("PromptDialog",{title:"__(Please enter terminal URI)",label:"__(URI)",value:this.setting.uri||"wss://lxsang.me/wterm"}).then(e=>{if(e&&""!==e)return this.setting.uri=e,this.openSession()})}},this.OS.register("wTerm",e)}).call(this),e=window,t=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=0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FitAddon=void 0;var i=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")),i=Math.max(0,parseInt(t.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o=r-(parseInt(n.getPropertyValue("padding-top"))+parseInt(n.getPropertyValue("padding-bottom"))),s=i-(parseInt(n.getPropertyValue("padding-right"))+parseInt(n.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth;return{cols:Math.max(2,Math.floor(s/e._renderService.dimensions.actualCellWidth)),rows:Math.max(1,Math.floor(o/e._renderService.dimensions.actualCellHeight))}}},e}();t.FitAddon=i}])},"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(),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";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)}Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,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 m(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 S=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){m._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),m._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),m._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),m._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),m._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),m._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),m._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},m=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 S(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!m(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(m(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),m=r(58),S=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 S.EventEmitter,r._onKey=new S.EventEmitter,r._onRender=new S.EventEmitter,r._onSelectionChange=new S.EventEmitter,r._onTitleChange=new S.EventEmitter,r._onFocus=new S.EventEmitter,r._onBlur=new S.EventEmitter,r._onA11yCharEmitter=new S.EventEmitter,r._onA11yTabEmitter=new S.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(S.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(S.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(S.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(S.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(){var e;t._isSendingComposition&&(t._isSendingComposition=!1,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=""},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))},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)|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)},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))&&"break"!==a(););},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;for(i.push(r.translateBufferLineToString(e[1],!0,e[0],s)),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)}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,m=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 S=n.lines.get(e[1]-1);if(S&&o.isWrapped&&32!==S.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,m+=w}}}if(i&&b+m===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&&(m+=L.length)}}return{start:b,length:m}}}}},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},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;return c=n(r,i,s,a).length>0?i-o(s,i):t,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):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++)}},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(),m=this._workCell.getBgColorMode(),S=!!this._workCell.isInverse();if(S){var C=g;g=b,b=C;var w=y;y=m,m=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)||S&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(m){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:S&&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)},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())},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)},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}},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),m=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=m},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},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=_.length-1,b=_[y];0===b&&(b=_[--y]);for(var m=l.length-d-1,S=f;m>=0;){var C=Math.min(S,b);if(l[y].copyCellsFrom(l[m],S-C,b-C,C,!0),0==(b-=C)&&(b=_[--y]),0==(S-=C)){m--;var w=Math.max(m,0);S=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&&(m>u||0===h[m].getTrimmedLength());m--)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))},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},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)},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]],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>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;rcwA$28`vXJj01X%w6NPOWOiZx%-PyHM zVd?ZezxTfP-uJ%Wd*Anc_us8&{#4mCxWi4aC?mhsxt9k2gZg)$0-AiQ;Om%M_i8l} zyiwD8$6jENkEnOdeQwx-{=1jX|D&R;jC?*KumazwzpjwTq?ZnT*s<#ox{Q1*k*Ttx zh4vW}vhGKs8Rf^aTHI998ZS)SyeN|5DcLaa+mF(%v(xdkW|(?5Zl-k}3DZV4gLIyo zycy{#Cn6z7%)wM0nOR-)n@Pn8sU`>|n;cWL1kb5cgu@A<&9kK%n)DMJiYBM{>3CK* z()x8NMcW@~?#$&C#}sqT)fjU$#O z(n`YL=@^2ffunfV;6z@Kx-YFRWHWgozYaSeAxNZ&4wx#^vfE@WkwOv=`G;w|Ndo6N z#Y8Gt8kz>RJ!XU(8R7fVnJIx2l|+P#1Igt?B6MVfvSFgUFhgiAHw+FPTWO8>F;EJ{ zP1q)9l}NyckJ25R$%;ZoGCc_!nh#M&1|+MGgs7Q(o|(=dErtxk28W0v$LJ02nHk zjY-9fCwUZ762f#`HV~JQJ!HWV{I{Rb>u1UGY)w%Y6;X@AhN3`#WYL6=`T# zG^I{amry8$v~e>THM{hv+1@T_5*jjxMJ1HU8p%>5Kqd)z0SKBPMDqYwaycOsm+g4+ zYrw6K(^dHR0?pPyKBIPk_HIQWkY?VL@Ouk%-D+WGhT|kjG6ly}6z@DiH|-U2xyzE^ zlp&O60hmw+4)TG3y+KZCk%R-NQU)xnh&(+#2@Fz&C2+34!DyXExk&4@nFEK*_H|k1 zIyO^C)(aT0Ie9pX_!p1SYiIN3k!dR0cqpqYJ*8Q*YxPz%8nde@FDdHgq2&Y@N^2w* zi4>2cxjYrE4%4n5AvCEZ%p@;dFD_>%kusiyyyPvH27I|Qr0Z!w064=P1$m56@y3{;~+du$?60#}hH`r;0c07|h6gL3amgWlkv!3)Duoq9I z4d@1!lCZqfVC@My7!rht9W8W`F=affBVNeGVWYHch7?KxDuqpd_X)aTHb;8ErQTeu z*ZzcJLYc;sN-7bt+l|vvZqApm|CXD!gPa5loyT^o$tr5+f@CqU;m~PB2%F4zT1=!+ z&!ypQ%9Z?E1~VthK%fMtAv+0xIy`%lZepfQ#Y~|HUOY+r`IJ10Qg%Od0-KOiS>(h8 zjkAElnHgOEQ@VB*>eEajtRn>@$dR1DvF(OoxxuHS2Yxy4h_N~w76c267b81`ISpdT*M^H)4mV9#qs z@@$dpe72x~vm>4eI9eR>v{6*ddV8;Dt&j5KYZXrzx9#(6r9^yM0a?_V+vn+JDfNX< zU;EKcm~l@z_3#gUs-*Lqwg_U(`g(`g0~WCVDAh=Y0q;5(dIr30FpLj)TVOai;9U#D zQv=>LFnl`Tt;OdDyjMDO0NjU*0D!Y+*iLS!oU_ z!y!exPBB$EBayojuDH|Xx3+aK-&>7;*UQvdAN4XjH&(&{II1IgKRE?uUWf`&eCQQd zjdj=SuI-gBC>GFdw9eee9HwY;MB>@ET$@O2_cJ%a@Y(&$hH^9%9){^A3?%vu4={a> zNPy@ceSq0W;fG%KHsY7}Fh2a*gG}5N2;i>An0lN!$ZW=o!|obfvC6dq@7>0-*4cy1 z9)2lGOw@n=WD$a&RdN);Z|UX zNg;po_i%7=7+mRolF4h~cYewE8${Hl2LkafNtu~J-I7f!JzO6bv3gdy|5|G`wYmcp zF28}_-{cPA+wX9fi@2iLPblsbQ+c^!UsJ^KTPQ*Z4Gu)P6mZYNvev0hnl|HW(N zZe!o}TenWJXWW$fNV5-i=V|wPYj2Lt)Im-C{t@=Ya$4bsG`#vNcdhm6zuY?+>+`4C z@}Y?71{KERISeLsP?1vOl8$E%G-QoEk39R;7Z6U?Lb6W71eu?FM7cov=?D zkj-QWE}VP}H`UQ=2Gn6O7VHy8;p-EdI|UI;^P@qjPbf8Sb7O=nOsm0Ql*Boiw=s|`?6E;=J3b!qYTv7?)2geZy`ikJ#cby}B@O-?C}nw&LQf a51yo9{qJ4tt19=DdCD5V`H`n+kpCZQofH)S delta 9141 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 Bk@Wxo diff --git a/wTerm/package.json b/wTerm/package.json index 332faa6..c4e9c5c 100644 --- a/wTerm/package.json +++ b/wTerm/package.json @@ -6,7 +6,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.0.3-a", + "version":"0.0.4-a", "category":"System", "iconclass":"fa fa-terminal", "mimes":["none"],