-
Notifications
You must be signed in to change notification settings - Fork 0
/
fiwl.js
10 lines (10 loc) · 303 KB
/
fiwl.js
1
2
3
4
5
6
7
8
9
10
!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}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 i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));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=33)}([function(e,t,r){"use strict";var n,i;r.d(t,"a",(function(){return i})),function(e){e.UP="",e.SCREEN="screen-",e.MOUSE="mouse-",e.TOUCH="touch-",e.DIRECTION="direction",e.KEYBOARD="keyboard-",e.GAMEPAD="gamepad-"}(n||(n={})),function(e){e.SELECT="select",e.DOUBLE="double",e.BACK="back",e.OPTION="option",e.SCROLL="scroll",e.DRAG_START="drag-start",e.DRAG_MOVE="drag-move",e.DRAG_END="drag-end",e.SCREEN_RESIZE="screen-resize",e.MOUSE_LEFT_PRESS="mouse-left-press",e.MOUSE_LEFT_DOUBLE="mouse-left-double",e.MOUSE_LEFT_RELEASE="mouse-left-release",e.MOUSE_MIDDLE_PRESS="mouse-middle-press",e.MOUSE_MIDDLE_DOUBLE="mouse-middle-double",e.MOUSE_MIDDLE_RELEASE="mouse-middle-release",e.MOUSE_RIGHT_PRESS="mouse-right-press",e.MOUSE_RIGHT_DOUBLE="mouse-right-double",e.MOUSE_RIGHT_RELEASE="mouse-right-release",e.MOUSE_HOVER_START="mouse-hover-start",e.MOUSE_HOVER_END="mouse-hover-end",e.MOUSE_MOVE="mouse-move",e.MOUSE_SCROLL="mouse-scroll",e.MOUSE_USE="mouse-use",e.MOUSE_UNUSE="mouse-unuse",e.TOUCH_START="touch-start",e.TOUCH_DOUBLE="touch-double",e.TOUCH_LONG="touch-long",e.TOUCH_MOVE="touch-move",e.TOUCH_END="touch-end",e.TOUCH_ZOOM="touch-zoom",e.TOUCH_ROTATE="touch-rotate",e.DIRECTION_UP="directionup",e.DIRECTION_BOTTOM="directionbottom",e.DIRECTION_LEFT="directionleft",e.DIRECTION_RIGHT="directionright",e.KEYBOARD_PRESS="keyboard-press",e.KEYBOARD_DOUBLE="keyboard-double",e.KEYBOARD_HOLD="keyboard-hold",e.KEYBOARD_HOLD_DELAY="keyboard-hold-delay",e.KEYBOARD_RELEASE="keyboard-release",e.KEYBOARD_USE="keyboard-use",e.KEYBOARD_UNUSE="keyboard-unuse",e.GAMEPAD_CONNECT="gamepad-connect",e.GAMEPAD_DISCONNECT="gamepad-disconnect",e.GAMEPAD_PRESS="gamepad-press",e.GAMEPAD_HOLD="gamepad-hold",e.GAMEPAD_HOLD_DELAY="gamepad-hold-delay",e.GAMEPAD_RELEASE="gamepad-release",e.GAMEPAD_USE="gamepad-use",e.GAMEPAD_UNUSE="gamepad-unuse"}(i||(i={}))},function(e,t,r){"use strict";var n,i,a=(n=function(e,t){return(n=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}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=function(e){function t(t,r,n){var i=e.call(this,t+" - "+r+"\nURL: "+n+"\n")||this;return i.name="NetworkError",i.code=t,i.reason=r,i.url=n,i}return a(t,e),t}(Error),s=r(21),u=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},l=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},c=r(28),h=new Map,p=null,f=null;function d(e,t,r){return void 0===r&&(r=""),new Promise((function(n,a){var s=new XMLHttpRequest;switch(s.open(i[t],e,!0,p,f),s.onreadystatechange=function(){if(s.status>=400||4==s.status||5==s.status){var t=new o(s.status,s.statusText,e);throw a(t),null}s.status<200&&2!=s.status||s.readyState==XMLHttpRequest.DONE&&n(s.response)},h.forEach((function(e,t){s.setRequestHeader(t,e)})),s.setRequestHeader("Is-Resource","true"),t){case i.GET:s.send();break;case i.POST:s.send(r);break;default:a(new o(400,'"'+i[t]+'" is not a valid method!',e))}}))}!function(e){e[e.GET=0]="GET",e[e.POST=1]="POST"}(i||(i={}));t.a={get:function(e){return d(e,i.GET)},getJSON:function(e){return u(this,void 0,void 0,(function(){var t;return l(this,(function(r){switch(r.label){case 0:return[4,d(e,i.GET)];case 1:return t=r.sent(),[2,JSON.parse(t)]}}))}))},getVARL:function(e){return u(this,void 0,void 0,(function(){var t;return l(this,(function(r){switch(r.label){case 0:return[4,d(e,i.GET)];case 1:return t=r.sent(),[4,c.decode(t)];case 2:return[2,r.sent()]}}))}))},getImage:function(e){return new Promise((function(t,r){var n=document.createElement("img");n.onload=function(){var e=createImageBitmap(n,0,0,n.width,n.height);t(e)},n.onerror=function(){return r(new Error("Image is inaccessible"))},n.src=e}))},getFont:function(e){return new Promise((function(t,r){Object(s.a)(e,(function(e,n){e?r(e):t(n)}))}))},post:function(e,t){return u(this,void 0,void 0,(function(){var r;return l(this,(function(n){switch(n.label){case 0:return"string"!=typeof t?[3,2]:[4,d(e,i.POST,t)];case 1:return[2,n.sent()];case 2:return r=JSON.stringify(t),[4,d(e,i.POST,r)];case 3:return[2,n.sent()]}}))}))},download:function(e,t){var r=document.createElement("a");r.href=e,r.download=t,r.click()},upload:function(e,t,r,n){return void 0===r&&(r={}),void 0===n&&(n=null),new Promise((function(i,a){var s=document.createElement("form");s.method="POST",s.enctype="multipart/form-data",s.action=e;var u=document.createElement("input");if(u.name=t,u.type="file",null==n)u.accept=null;else if("string"==typeof n)u.accept=n;else{if(!Array.isArray(n))throw new TypeError("filetype must either string or array!");u.accept=n.join(",")}u.onchange=function(){if(u.files.length>0){var t=new XMLHttpRequest;"function"==typeof r.onProgress&&(t.upload.onprogress=function(e){var t=e.loaded,n=e.total,i=100*t/n;r.onProgress(i,t,n,u.files.length)}),t.onloadend=function(){if(200==t.status)"function"==typeof r.onSuccess&&r.onSuccess(),i(!0);else{var n=new o(t.status,t.statusText,e);"function"==typeof r.onFailed&&r.onFailed(n),a(n)}},t.open("POST",e),h.forEach((function(e,r){t.setRequestHeader(r,e)}));var n=new FormData(s);t.send(n)}else"function"==typeof r.onCancel&&r.onCancel(),i(!1)},s.appendChild(u),u.click()}))},header:h,setCredential:function(e,t){p=e,f=t},removeCredential:function(){p=null,f=null},Method:i}},function(e,t,r){"use strict";var n=r(4),i=r(0),a=r(3),o=new Map;u();var s=[];function u(){for(var e in i.a)o.set(i.a[e],[])}function l(e,t,r){var n=o.get(e);r instanceof a.a?n.push({func:t,target:r}):n.push({func:t})}function c(e,t,r){if(!app.stage)return!1;if(!e.container)return!1;if(!e.visible)return!1;var n=e.globalX,i=e.globalY,a=n+e.measuredWidth,o=i+e.measuredHeight;return t>=n&&t<=a&&r>=i&&r<=o}t.a={attachDOM:function(e){for(var t=r(31),n=t.keys(),i=0;i<n.length;i++){var a=n[i];if(a.endsWith(".ts")){var u=new(0,t(a).default);s.push(u),u.attach(e,o)}}},attachRootLayout:function(e){l(i.a.SELECT,(function(t){return function e(t,r){var i=null;switch(typeof t.onSelect){case"function":i=t.onSelect;break;case"string":i=new Function(t.onSelect)}if(null!=i){var a=r;c(t,a.x,a.y)&&i.call(t,a)}if(t instanceof n.a)for(var o=0;o<t.length;o++){var s=t.contents[o];e(s,r)}}(e,t)}))},resetListenerMap:u,startDispatchers:function(){for(var e=0;e<s.length;e++)s[e].start()},stopDispatchers:function(){for(var e=0;e<s.length;e++)s[e].stop()},isInTarget:c,addEventListener:l,removeEventListener:function(e,t){for(var r=o.get(e),n=0;n<r.length;n++){r[n].func==t&&(r.splice(n,1),n--)}}}},function(e,t,r){"use strict";var n=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},i=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a=function(){function e(){this.id=function(){for(var e="_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=e.length,r="",n=0;n<8;n++){var i=Math.floor(Math.random()*t);if(0==n)for(;!isNaN(Number(e.charAt(i)));)i=Math.floor(Math.random()*t);r+=e.charAt(i)}return r}(),this.x=0,this.y=0,this.width="100dp",this.height="100dp",this.scaleX=1,this.scaleY=1,this.alpha=1,this.angle=0,this.elevation=0,this.cornerRadius=0,this.presence=!0,this.visible=!0,this.clipping=!0,this.suspendUpdate=!1,this.backgroundColor=app.res.style.backgroundColor,this.foregroundColor=app.res.style.foregroundColor,this.borderColor=this.foregroundColor,this.borderSize=0,this.paddingTop=0,this.paddingBottom=0,this.paddingLeft=0,this.paddingRight=0,this.marginTop=0,this.marginBottom=0,this.marginLeft=0,this.marginRight=0,this.alignSelf="",this.hookTopToTopOf=null,this.hookTopToBottomOf=null,this.hookBottomToBottomOf=null,this.hookBottomToTopOf=null,this.hookLeftToLeftOf=null,this.hookLeftToRightOf=null,this.hookRightToRightOf=null,this.hookRightToLeftOf=null,this.onDraw=null,this.onUpdate=null,this.onSelect=null,this.onOption=null,this.onScroll=null,this.onDragStart=null,this.onDragMove=null,this.onDragEnd=null,this.onHoverStart=null,this.onHoverMove=null,this.onHoverEnd=null,this.onAsyncCreate=null,this.onReady=null,this.onSuspend=null,this.onDestroy=null,e.internal.set(this,{container:null,update:null})}return e.prototype.asyncCreate=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){return[2]}))}))},e.prototype.ready=function(){},e.prototype.suspend=function(){},Object.defineProperty(e.prototype,"container",{get:function(){return e.internal.get(this).container},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"globalX",{get:function(){return null!=this.container?this.container.measureEachContentX(this.id):app.unit.resolve(this.x)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"globalY",{get:function(){return null!=this.container?this.container.measureEachContentY(this.id):app.unit.resolve(this.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"measuredWidth",{get:function(){if(this.id==app.stage.layout.id)return app.display.width;var e;switch(this.width){case"content":var t=this.measuredContentsWidth;e=t,e+=app.unit.resolve(this.paddingLeft,t/2),e+=app.unit.resolve(this.paddingRight,t/2);break;case"container":e=null!=this.container?this.container.measureEachContentWidth(this.id):0;break;default:e=null!=this.container?this.container.measureEachContentWidth(this.id):app.unit.resolve(this.width)}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"measuredHeight",{get:function(){if(this.id==app.stage.layout.id)return app.display.height;var e;switch(this.height){case"content":var t=this.measuredContentsHeight;e=t,e+=app.unit.resolve(this.paddingTop,t/2),e+=app.unit.resolve(this.paddingBottom,t/2);break;case"container":e=null!=this.container?this.container.measureEachContentHeight(this.id):0;break;default:e=null!=this.container?this.container.measureEachContentHeight(this.id):app.unit.resolve(this.height)}return e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"measuredContentsWidth",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"measuredContentsHeight",{get:function(){return 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paddingHorizontal",{get:function(){return this.paddingLeft==this.paddingRight?this.paddingLeft:NaN},set:function(e){this.paddingLeft=e,this.paddingRight=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paddingVertical",{get:function(){return this.paddingTop==this.paddingBottom?this.paddingTop:NaN},set:function(e){this.paddingTop=e,this.paddingBottom=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paddings",{get:function(){return isNaN("string"==typeof this.paddingVertical?parseFloat(this.paddingVertical):this.paddingVertical)||isNaN("string"==typeof this.paddingHorizontal?parseFloat(this.paddingHorizontal):this.paddingHorizontal)||this.paddingVertical!=this.paddingHorizontal?NaN:this.paddingTop},set:function(e){this.paddingVertical=e,this.paddingHorizontal=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"marginHorizontal",{get:function(){return this.marginLeft==this.marginRight?this.marginLeft:NaN},set:function(e){this.marginLeft=e,this.marginRight=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"marginVertical",{get:function(){return this.marginTop==this.marginBottom?this.marginTop:NaN},set:function(e){this.marginTop=e,this.marginBottom=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"margins",{get:function(){return isNaN("string"==typeof this.marginVertical?parseFloat(this.marginVertical):this.marginVertical)||isNaN("string"==typeof this.marginHorizontal?parseFloat(this.marginHorizontal):this.marginHorizontal)||this.marginVertical!=this.marginHorizontal?NaN:this.marginTop},set:function(e){this.marginVertical=e,this.marginHorizontal=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scale",{get:function(){return this.scaleX==this.scaleY?this.scaleX:NaN},set:function(e){this.scaleX=e,this.scaleY=e},enumerable:!1,configurable:!0}),e.prototype.requestUpdate=function(){var t=e.internal.get(this).update;"function"==typeof t&&t()},e.prototype.drawBackground=function(e){var t,r=[],n=this.globalX,i=this.globalY,a=this.measuredWidth,o=this.measuredHeight,s=app.unit.resolve(this.cornerRadius,Math.min(a,o)/2);if(t=0==s?e.rect(n,i,a,o,this.backgroundColor):e.roundRect(n,i,a,o,this.backgroundColor,s),r.push(t),0!=this.borderSize){var u=void 0;u=0==s?e.lineRect(n,i,a,o,this.borderColor,app.unit.resolve(this.borderSize,32*app.display.scale)):e.lineRoundRect(n,i,a,o,this.borderColor,s,app.unit.resolve(this.borderSize,32*app.display.scale)),r.push(u)}if(0!=this.elevation){var l=e.group(r);r=[e.elevate(l,app.unit.resolve(this.elevation,24),this.angle)]}return r},e.prototype.drawPostEffect=function(e,t){if(0!=this.angle){var r=e.group(t);t=[e.rotate(r,this.angle,this.globalX,this.globalY,this.measuredWidth,this.measuredHeight)]}if(this.alpha<1){r=e.group(t);t=[e.transparency(r,this.alpha)]}if(0!=this.scaleX||0!=this.scaleY){r=e.group(t);t=[e.scale(r,this.scaleX,this.scaleY,this.globalX,this.globalY,this.measuredWidth,this.measuredHeight)]}return t},e.prototype.draw=function(e){return this.drawPostEffect(e,this.drawBackground(e))},e.prototype.addEventListener=function(e,t){app.event.addEventListener(e,t,this)},e.prototype.removeEventListener=function(e,t){app.event.removeEventListener(e,t)},e.parseContents=null,e.customContentsKey=null,e.writableContents=!1,e.flagNoUpdate=[],e.flagNoAnimate=[],e.flagForwardWeakMap=[],e.internal=new WeakMap,e}();t.a=a},function(e,t,r){"use strict";var n,i=r(3),a=(n=function(e,t){return(n=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}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=function(e){function t(){var r=e.call(this)||this;return r.alignContents="",r.width="content",r.height="content",t.internal.set(r,{container:null,contents:[]}),r}return a(t,e),Object.defineProperty(t.prototype,"contents",{get:function(){return t.internal.get(this).contents},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this.contents.length},enumerable:!1,configurable:!0}),t.prototype.findContent=function(e,r){void 0===r&&(r=!1);for(var n=0;n<this.length;n++){if((i=this.contents[n]).id==e)return i}if(r)for(n=0;n<this.length;n++){var i;if((i=this.contents[n])instanceof t){var a=i.findContent(e,r);if(null!=a)return a}}return null},Object.defineProperty(t.prototype,"measuredContentsWidth",{get:function(){for(var e=0,t=0;t<this.length;t++){var r=this.contents[t];if("container"!=r.width&&(("string"!=typeof r.width||!r.width.trimRight().endsWith("%"))&&r.presence)){var n=void 0;n="content"==r.width||"number"==typeof r.width?r.measuredWidth:app.unit.resolve(r.width,0);var i=app.unit.resolve(r.x,0);i+=n,i+=app.unit.resolve(r.marginLeft,n/2),i+=app.unit.resolve(r.marginRight,n/2),e=Math.max(e,i)}}return e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"measuredContentsHeight",{get:function(){for(var e=0,t=0;t<this.length;t++){var r=this.contents[t];if("container"!=r.height&&(("string"!=typeof r.height||!r.height.trimRight().endsWith("%"))&&r.presence)){var n=void 0;n="content"==r.height||"number"==typeof r.height?r.measuredHeight:app.unit.resolve(r.height,0);var i=app.unit.resolve(r.y,0);i+=n,i+=app.unit.resolve(r.marginTop,n/2),i+=app.unit.resolve(r.marginBottom,n/2),e=Math.max(e,i)}}return e},enumerable:!1,configurable:!0}),t.prototype.measureEachContentX=function(e){var t,r=this.globalX,n=this.measuredWidth,i=app.unit.resolve(this.paddingLeft,n/2),a=app.unit.resolve(this.paddingRight,n/2),o=this.findContent(e);if(null==o)t=r+i;else{if(!o.presence)return 0;var s=o.measuredWidth,u=app.unit.resolve(o.marginLeft,s/2),l=app.unit.resolve(o.marginRight,s/2),c=this.alignContents;o.alignSelf.length>0&&(c=o.alignSelf);for(var h=c.split("|"),p=!1,f=0;f<h.length;f++){switch(h[f].toLowerCase()){case"left":t=r+i+u;break;case"center":case"center-x":t=r+i+(n-i-a)/2-s/2;break;case"right":t=r+n-a-s-l;break;default:continue}p=!0;break}p||(t=r+i+u),t=app.unit.resolve(o.x,n)+t}return t},t.prototype.measureEachContentY=function(e){var t,r=this.globalY,n=this.measuredHeight,i=app.unit.resolve(this.paddingTop,n/2),a=app.unit.resolve(this.paddingBottom,n/2),o=this.findContent(e);if(null==o)t=r+i;else{if(!o.presence)return 0;var s=o.measuredHeight,u=app.unit.resolve(o.marginTop,s/2),l=app.unit.resolve(o.marginBottom,s/2),c=this.alignContents;o.alignSelf.length>0&&(c=o.alignSelf);for(var h=c.split("|"),p=!1,f=0;f<h.length;f++){switch(h[f].toLowerCase()){case"top":t=r+i+u;break;case"center":case"center-y":t=r+i+(n-i-a)/2-s/2;break;case"bottom":t=r+n-a-s-l;break;default:continue}p=!0;break}p||(t=r+i+u),t=app.unit.resolve(o.y,n)+t}return t},t.prototype.measureEachContentWidth=function(e){var t=this.measuredWidth,r=app.unit.resolve(this.paddingLeft,t/2),n=app.unit.resolve(this.paddingRight,t/2),i=0,a=this.findContent(e);if(null!=a){if(!a.presence)return 0;var o=r+n+app.unit.resolve(a.marginLeft,t/2)+app.unit.resolve(a.marginRight,t/2);i="container"==a.width?t-o:app.unit.resolve(a.width,t-o)}return i},t.prototype.measureEachContentHeight=function(e){var t=this.measuredHeight,r=app.unit.resolve(this.paddingTop,t/2),n=app.unit.resolve(this.paddingBottom,t/2),i=0,a=this.findContent(e);if(null!=a){if(!a.presence)return 0;var o=r+n+app.unit.resolve(a.marginTop,t/2)+app.unit.resolve(a.marginBottom,t/2);i="container"==a.height?t-o:app.unit.resolve(a.height,t-o)}return i},t.prototype.draw=function(e){var t=[],r=this.drawBackground(e);t.push(e.group(r));for(var n=[],i=0;i<this.length;i++)if(this.contents[i].visible){var a=this.contents[i].draw(e);n.push(e.group(a))}var o=e.group(n),s=this.measuredWidth,u=this.measuredHeight;if(this.clipping){var l=void 0;if(0==this.cornerRadius)l=e.crop(o,this.globalX,this.globalY,s,u);else{var c=app.unit.resolve(this.cornerRadius,Math.min(s,u)/2),h=e.roundRect(this.globalX,this.globalY,s,u,app.colors.transparent,c);l=e.mask(o,h)}t.push(l)}else t.push(o);return this.drawPostEffect(e,t)},t}(i.a);t.a=o},function(e,t,r){"use strict";var n,i=function(){function e(e,t){var r=this;this.outputElement=null,this.context=null,this.instructBuffer=[],this.execHandler=NaN;var n=document.getElementById(e);n instanceof HTMLCanvasElement?this.outputElement=n:(this.outputElement=document.createElement("canvas"),this.outputElement.id=e,document.body.appendChild(this.outputElement));var i=function(e){return e.preventDefault(),!1};if(this.context=this.outputElement.getContext("2d"),this.outputElement.addEventListener("contextmenu",i),this.outputElement.addEventListener("selectstart",i),t){document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden",this.outputElement.style.position="absolute",this.outputElement.style.top="0",this.outputElement.style.left="0",this.outputElement.style.width="100%",this.outputElement.style.height="100%";var a=function(){r.outputElement.width=r.width,r.outputElement.height=r.height};window.addEventListener("resize",a),a()}}return Object.defineProperty(e.prototype,"scale",{get:function(){return window.devicePixelRatio},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return null!=this.outputElement?this.outputElement.clientWidth*this.scale:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return null!=this.outputElement?this.outputElement.clientHeight*this.scale:0},enumerable:!1,configurable:!0}),e.prototype.reset=function(){var e=this;this.instructBuffer=[],this.instructBuffer.push({render:function(t){return t.clearRect(0,0,e.width,e.height)}})},e.prototype.setCursor=function(e){var t="default";switch(e){case"processing":t="wait";break;case"clickable":t="pointer";break;case"text":t="text";break;case"move":t="move";break;case"draggable":t="grab";break;case"dragging":t="grabbing";break;case"denied":t="not-allowed"}this.outputElement.style.cursor=t},e.prototype.pushInstruction=function(e){var t=this;this.instructBuffer.push(e),isNaN(this.execHandler)&&(this.execHandler=requestAnimationFrame((function(){t.executeInstruction()})))},e.prototype.executeInstruction=function(){var e=this;if(0!=this.instructBuffer.length){for(var t=0;t<this.instructBuffer.length;t++){this.context.save(),this.instructBuffer[t].render(this.context),this.context.restore()}this.instructBuffer=[],this.execHandler=requestAnimationFrame((function(){e.executeInstruction()}))}else this.execHandler=NaN},e}(),a=r(8),o=function(){function e(e){if(void 0===e&&(e=null),this.tag="boot",this.objectContext=this,this.x=0,this.y=0,this.alpha=1,this.scaleX=1,this.scaleY=1,this.radian=0,this.splash=e,null!=e){var t=e.width/e.height;this.splashHeight=128,this.splashWidth=this.splashHeight*t}}return e.prototype.close=function(){var e=this;return new Promise((function(t){var r=setInterval((function(){e.alpha>0?(e.alpha=Math.max(e.alpha-.1,0),e.scaleX+=.05,e.scaleY+=.05):(clearInterval(r),t())}),1e3/60)}))},e.prototype.drawFunc=function(e){if(null==app.display)return[];var t=[];if(t.push(e.rect(0,0,app.display.width,app.display.height,app.res.style.primaryColor)),null!=this.splash){var r=app.unit.convert(this.splashWidth,app.unit.Types.DP),n=app.unit.convert(this.splashHeight,app.unit.Types.DP);t.push(e.bitmap(this.splash,app.display.width/2-r/2,app.display.height/2.8-n/2,r,n))}else{var i=app.unit.resolve(app.res.style.displayTextSize);t.push(e.text(app.manifest.name,16,app.display.height/2.4-i/2,i,app.res.style.onPrimaryColor,["bold"],null,"center"))}this.radian<4*Math.PI-.2?this.radian+=.075:this.radian>2*Math.PI-.8&&this.radian<2*Math.PI+.8?this.radian+=1.6:this.radian-=4*Math.PI;var a=this.radian*(180/Math.PI),o=this.radian*(180/Math.PI)*2,s=this.radian>=2*Math.PI;return t.push(e.lineArc(app.display.width/2,app.display.height/1.4,app.unit.convert(32,app.unit.Types.DP),app.res.style.onPrimaryColor,a,o,app.unit.convert(8,app.unit.Types.DP),1,s)),t},e}(),s=r(1),u=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},l=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},c=[],h=!1,p=NaN;function f(){return u(this,void 0,void 0,(function(){var e;return l(this,(function(t){switch(t.label){case 0:return null==(e=d("boot"))?[3,2]:[4,e.close()];case 1:t.sent(),h=!1,function(e){for(var t=0;t<c.length;t++){c[t].tag==e&&c.splice(t,1)}}(e.tag),t.label=2;case 2:return[2]}}))}))}function d(e){for(var t=0;t<c.length;t++){var r=c[t];if(r.tag==e)return r}return null}function g(){isNaN(p)||(cancelAnimationFrame(p),p=NaN);var e=a.a.api;n.reset();for(var t=0;t<c.length;t++){var r=c[t],i=e.group(r.drawFunc.call(r.objectContext,e));1==r.scaleX&&1==r.scaleY||(i=e.scale(i,r.scaleX,r.scaleY,0,0,v(),y())),0==r.x&&0==r.y||(i=e.translate(i,r.x,r.y)),1!=r.alpha&&(i=e.transparency(i,r.alpha)),n.pushInstruction(i)}h&&(p=requestAnimationFrame(g))}function v(){return Math.round(n.width)}function y(){return Math.round(n.height)}t.a={attachRenderer:function(e){return u(this,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return n=new i(e.domID,e.immersive),!0===e.immersive&&window.addEventListener("resize",(function(){return g()})),[4,(r=app.manifest.splash,new Promise((function(e){r.toLowerCase().endsWith(".svg")?s.a.getImage(r).then((function(t){c.push(new o(t)),e()})).catch((function(t){console.error(t),c.push(new o),e()})):(c.push(new o),e())})))];case 1:return t.sent(),h=!0,requestAnimationFrame(g),[2]}var r}))}))},getScale:function(){return n.scale},getWidth:v,getHeight:y,render:g,setCursor:function(e){n&&n.setCursor(e)},nextStage:function(e){return u(this,void 0,void 0,(function(){var t;return l(this,(function(r){switch(r.label){case 0:return t={tag:"",objectContext:e.layout,drawFunc:e.layout.draw,x:0,y:0,alpha:1,scaleX:1,scaleY:1},null==d("boot")?[3,2]:(t.tag="stage",c.unshift(t),[4,f()]);case 1:return r.sent(),[3,3];case 2:d("stage"),r.label=3;case 3:return[2]}}))}))}}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return o})),r.d(t,"bind",(function(){return s}));var n=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},i=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a=function(){this.redLight=16764370,this.red=16007990,this.redDark=12000284,this.pinkLight=16301008,this.pink=15277667,this.pinkDark=8916559,this.purpleLight=14794471,this.purple=10233776,this.purpleDark=4854924,this.indigoLight=12962537,this.indigo=4149685,this.indigoDark=1713022,this.blueLight=12312315,this.blue=2201331,this.blueDark=870305,this.cyanLight=11725810,this.cyan=48340,this.cyanDark=24676,this.tealLight=11722715,this.teal=38536,this.tealDark=19776,this.greenLight=13166281,this.green=5025616,this.greenDark=1793568,this.limeLight=15791299,this.lime=13491257,this.limeDark=8550167,this.yellowLight=16775620,this.yellow=16771899,this.yellowDark=16088855,this.amberLight=16772275,this.amber=16761095,this.amberDark=16740096,this.orangeLight=16774112,this.orange=16750592,this.orangeDark=15094016,this.brownLight=14142664,this.brown=7951688,this.brownDark=4073251,this.grayLight=16119285,this.gray=10395294,this.grayBlue=6323595,this.grayDark=2171169,this.white=16777215,this.black=0,this.greyLight=16119285,this.grey=10395294,this.greyBlue=6323595,this.greyDark=2171169,this.transparent=4278190080,this.Convert={rgba:function(e,t,r,n){void 0===n&&(n=1);var i=r;return i|=t<<8,i|=e<<16,(i|=255*(1-n)<<24)>>>0},hexAlpha:function(e,t){var r=e>>>0&16777215;return r|=255*(1-t)<<24}}};t.default=a;var o="colors",s=function(e){return n(void 0,void 0,void 0,(function(){var e;return i(this,(function(t){return e=new a,Object.freeze(e.Convert),[2,Object.freeze(e)]}))}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return N})),r.d(t,"bind",(function(){return D})),r.d(t,"syncBind",(function(){return P}));var n,i=r(3),a=(n=function(e,t){return(n=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}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},s=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},u=new WeakMap,l=new Map,c=new WeakMap,h=function(e){function t(){var t=e.call(this)||this;return t.text="",t.textSize=app.res.style.controlTextSize,t.textColor=app.res.style.textColor,t.bold=!1,t.italic=!1,t.underline=!1,t.wrap=!0,t.alignText="",t.width="content",t.height="content",t.backgroundColor=app.colors.transparent,t}return a(t,e),t.prototype.asyncCreate=function(){return o(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return this.fontType.length>0?[4,f(this,this.fontType)]:[3,2];case 1:return e.sent(),[3,3];case 2:u.set(this,""),e.label=3;case 3:return[2]}}))}))},Object.defineProperty(t.prototype,"fontType",{get:function(){return u.has(this)?u.get(this):""},set:function(e){var t=this;if("string"!=typeof e&&(e=""),0==(e=e.trim()).length)return u.set(this,e),void this.requestUpdate();u.has(this)?f(this,e).finally((function(){return t.requestUpdate()})):u.set(this,e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"measuredContentsWidth",{get:function(){return m(this,!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"measuredContentsHeight",{get:function(){return m(this,!1)},enumerable:!1,configurable:!0}),t.prototype.draw=function(e){var t=[],r=this.drawBackground(e);t.push(e.group(r));var n,i=d(this.alignSelf);n=this.alignText?d(this.alignText):this.alignSelf?i:{horizontal:"left",vertical:"top"};var a=l.get(this.fontType),o=app.unit.convert(16,app.unit.Types.SP),s=app.unit.resolve(this.textSize,o),u=NaN;"content"!=this.width&&(u=this.measuredWidth),c.has(this)&&c.delete(this);var h=g(this,n,s,u);c.set(this,h),"content"==this.width&&(u=this.measuredContentsWidth);var p=[];this.bold&&p.push("bold"),this.italic&&p.push("italic"),this.underline&&p.push("underline");var f=this.globalX,v=this.globalY,y=this.measuredHeight,m=app.unit.resolve(this.paddingLeft,u/2),b=app.unit.resolve(this.paddingRight,u/2),x=app.unit.resolve(this.paddingTop,y/2),w=app.unit.resolve(this.paddingBottom,y/2);"content"==this.width&&(u+=m+b);for(var S=0,E=0;E<h.length;E++){var T=h[E];S=Math.max(S,T.width)}var k=0;switch(i.horizontal){case"left":k=m;break;case"center":k=u/2-S/2;break;case"right":k=u-S-b}var O=0;h.length>0&&(O+=h[h.length-1].y+h[h.length-1].height,O+=h[0].y*h.length);var U=0;switch(i.vertical){case"top":h.length>0&&(U-=h[0].y/2),U+=x;break;case"center":U=y/2-O/2,U+=x-w;break;case"bottom":U=y-O,U-=w}var R=[];for(E=0;E<h.length;E++){T=h[E];R.push(e.text(T.text,f+T.x+k,v+T.y+U,s,this.textColor,p,a,n.horizontal))}var L=e.group(R);if(c.delete(this),this.clipping){var C=void 0;if(0!=this.cornerRadius){var N=e.roundRect(f,v,u,y,app.colors.transparent);C=e.mask(L,N)}else C=e.crop(L,f,v,u,y);t.push(C)}else t.push(L);return this.drawPostEffect(e,t)},t.flagForwardWeakMap=[u],t.customContentsKey="text",t.parseContents=p,t.writableContents=!0,t}(i.a);function p(e){return(e=(e=(e=(e=(e=(e=e.replace(/\\r/gm,"\r")).replace(/\\n/gm,"\n")).replace(/\\t/gm,"\t")).replace(/\\\"/gm,'"')).replace(/\\\'/gm,"'")).replace(/\\\\/gm,"\\")).trim()}function f(e,t){return o(this,void 0,void 0,(function(){var r,n,i;return s(this,(function(a){switch(a.label){case 0:return l.has(t)?(u.set(e,t),[3,5]):[3,1];case 1:r=t.replace(/\..*$/,""),n="ttf",t!=r&&(n=t.substr(r.length+1)),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,app.res.loadFont(r,n)];case 3:return(i=a.sent()).supported?(u.set(e,t),l.set(t,i)):(u.set(e,""),console.error(new Error('"'+t+'" font type is invalid!'))),[3,5];case 4:return a.sent(),u.set(e,""),console.error(new Error('"'+t+'" font type is inaccessible')),[3,5];case 5:return[2]}}))}))}function d(e){for(var t={horizontal:"left",vertical:"top"},r=e.split("|"),n=0;n<r.length;n++){var i=r[n],a=!1;if(!a)switch(a=!0,i){case"left":case"center":case"right":t.horizontal=i;break;case"center-x":t.horizontal="center";break;default:a=!1}var o=!1;if(!o)switch(o=!0,i){case"top":case"center":case"bottom":t.vertical=i;break;case"center-y":t.vertical="center";break;default:o=!1}if(a&&o)break}return t}function g(e,t,r,n){void 0===n&&(n=NaN);var i=[];"string"!=typeof e.text&&(e.text=String(e.text));for(var a=e.text.replace(/\r/gm,"").split("\n"),o=e.fontType?null:function(e,t){var r=document.createElement("canvas").getContext("2d"),n=[];e.bold&&n.push("bold");e.italic&&n.push("italic");e.underline&&n.push("underline");return r.font=r.font.replace(/^.*px/,n.join(" ")+" "+t+"px"),r.textAlign="left",r.textBaseline="top",r}(e,r),s=0;s<a.length;s++){v(l={text:a[s],x:0,y:0,width:0,height:0},o,e,r),i.push(l)}var u=0;if(isNaN(n)){if(i.length>0){for(s=0;s<i.length;s++){var l=i[s];u=Math.max(u,l.width)}y(i,t,u)}}else u=n,function(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];o.text=o.text.trim();var s=o.text.match(/\s/g)||[],u=o.text.length>0?s.length+1:0;if(!(u<=1||o.width<=t)){var l={text:"",x:0,y:0,width:0,height:0};for(e.push(l);u>1&&o.width>t;){var c=s[u-2],h=u<s.length+1?s[u-1]:"",p=o.text.substr(o.text.lastIndexOf(c)+1);o.text=o.text.substr(0,o.text.lastIndexOf(c)),l.text=p+h+l.text,u--,v(o,r,n,i)}v(l,r,n,i)}}}(i,n,o,e,r),y(i,t,u);return o&&o.canvas.remove(),i}function v(e,t,r,n){if(r.fontType){var i=l.get(r.fontType).getPath(e.text,0,0,n).getBoundingBox();e.width=i.x2-i.x1,e.height=i.y2-i.y1,0==e.y&&(e.y=i.y2)}else e.width=t.measureText(e.text).width,e.height=n}function y(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(n>0){var a=e[n-1];i.y=a.y+a.height}switch(t.horizontal){case"center":i.x=r/2-i.width/2;break;case"right":i.x=r-i.width}}}function m(e,t){var r;if(c.has(e))r=c.get(e);else{var n=void 0;n=e.alignText?d(e.alignText):e.alignSelf?d(e.alignSelf):{horizontal:"left",vertical:"top"};var i=app.unit.convert(16,app.unit.Types.SP);r=g(e,n,app.unit.resolve(e.textSize,i)),c.set(e,r)}for(var a=0,o=0;o<r.length;o++){var s=r[o];t?a=Math.max(a,s.width):a+=s.height}return a}var b=r(0),x=function(){var e=function(t,r){return(e=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])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),w=new WeakMap,S=function(e){function t(){var t=e.call(this)||this;return t.rippleColor=3741319168,t.paddings="16dp",t.alignText="center",t.cornerRadius="8dp",t.elevation="8dp",t.textColor=app.res.style.onSecondaryColor,t.backgroundColor=app.res.style.secondaryColor,w.set(t,[]),t}return x(t,e),t.prototype.ready=function(){var e=this;this.addEventListener(b.a.MOUSE_HOVER_START,(function(e){app.display.setCursor("clickable")})),this.addEventListener(b.a.MOUSE_HOVER_END,(function(e){app.display.setCursor("default")}));var t=function(r){r.r<r.rMax?r.r+=8*app.display.scale:r.r=r.rMax,r.frame>30&&(r.alpha=1-(r.frame-30)/30),e.requestUpdate(),r.frame<60&&(r.frame++,requestAnimationFrame((function(){return t(r)})))};this.addEventListener(b.a.SELECT,(function(r){var n,i,a,o,s,u,l,c,h,p,f,d={x:r.x,y:r.y,r:0,rMax:(n=e,i=r.x,a=r.y,o=n.globalX,s=n.globalY,u=n.measuredWidth,l=n.measuredHeight,c=Math.sqrt(Math.pow(i-o,2)+Math.pow(a-s,2)),h=Math.sqrt(Math.pow(i-(o+u),2)+Math.pow(a-s,2)),p=Math.sqrt(Math.pow(i-(o+u),2)+Math.pow(a-(s+l),2)),f=Math.sqrt(Math.pow(i-o,2)+Math.pow(a-(s+l),2)),2*Math.max(c,h,p,f)),alpha:1,frame:0};w.get(e).push(d),requestAnimationFrame((function(){return t(d)}))}))},t.prototype.drawBackground=function(t){var r=[],n=t.group(e.prototype.drawBackground.call(this,t));r.push(n);for(var i=w.get(this),a=0;a<i.length;a++){var o=i[a];if(o.frame>=60)i.splice(a,1),a--;else{var s=t.ellipse(o.x-o.r/2,o.y-o.r/2,o.r,o.r,this.rippleColor),u=t.transparency(s,o.alpha);r.push(u)}}var l=t.group(r);return r=[t.mask(l,n)]},t}(h);var E=r(4),T=function(){var e=function(t,r){return(e=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])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),k=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.orientation="vertical",t.spacing=0,t}return T(t,e),Object.defineProperty(t.prototype,"measuredContentsWidth",{get:function(){var e=app.unit.resolve(this.spacing,0),t=0;"vertical"==this.orientation&&(t=app.unit.resolve(this.paddingLeft,0)+app.unit.resolve(this.paddingRight,0));for(var r=0;r<this.length;r++){var n=this.contents[r];if(n.presence){var i=0;"container"==n.width?"horizontal"==this.orientation&&(i=U(this)):i="content"==n.width?n.measuredWidth:"string"==typeof n.width?n.width.trimRight().endsWith("%")?0:app.unit.resolve(n.width,0):n.width;var a=app.unit.resolve(n.x,0),o=app.unit.resolve(n.marginLeft,i/2),s=app.unit.resolve(n.marginRight,i/2);switch(this.orientation){case"horizontal":if(t+=a,t+=i,t+=o+s,r<this.length-1){var u=this.contents[this.length-1];(r<this.length-2||u.presence)&&(t+=e)}break;case"vertical":var l=a;l+=i,l+=o+s,t=Math.max(t,l);break;default:return 0}}}return t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"measuredContentsHeight",{get:function(){var e=app.unit.resolve(this.spacing,0),t=0;"horizontal"==this.orientation&&(t=app.unit.resolve(this.paddingTop,0)+app.unit.resolve(this.paddingBottom,0));for(var r=0;r<this.length;r++){var n=this.contents[r];if(n.presence){var i=0;"container"==n.height?"vertical"==this.orientation&&(i=R(this)):i="content"==n.height?n.measuredHeight:"string"==typeof n.height?n.height.trimRight().endsWith("%")?0:app.unit.resolve(n.height,0):n.height;var a=app.unit.resolve(n.y,0),o=app.unit.resolve(n.marginTop,i/2),s=app.unit.resolve(n.marginBottom,i/2);switch(this.orientation){case"horizontal":var u;i,u=o+s,t=Math.max(t,u);break;case"vertical":if(t+=a,t+=i,t+=o+s,r<this.length-1){var l=this.contents[this.length-1];(r<this.length-2||l.presence)&&(t+=e)}break;default:return 0}}}return t},enumerable:!1,configurable:!0}),t.prototype.measureEachContentWidth=function(t){switch(this.orientation){case"horizontal":var r=this.findContent(t);if(null==r)return 0;if(!r.presence)return 0;if("container"==r.width)return U(this);if("content"==r.width)return r.measuredWidth;if("string"==typeof r.width){var n=r.width.trim();if(n.endsWith("%")){var i=this.measuredWidth,a=app.unit.resolve(this.paddingLeft,i/2),o=app.unit.resolve(this.paddingRight,i/2),s=Math.max(0,i-this.measuredContentsWidth-a-o),u=O(this,"x"),l=parseFloat(n.substr(0,n.length-1));return Math.max(0,s*l/u)}}return app.unit.resolve(r.width,0);case"vertical":return e.prototype.measureEachContentWidth.call(this,t);default:return 0}},t.prototype.measureEachContentHeight=function(t){switch(this.orientation){case"vertical":var r=this.findContent(t);if(null==r)return 0;if(!r.presence)return 0;if("container"==r.height)return R(this);if("content"==r.height)return r.measuredHeight;if("string"==typeof r.height){var n=r.height.trim();if(n.endsWith("%")){var i=this.measuredHeight,a=app.unit.resolve(this.paddingTop,i/2),o=app.unit.resolve(this.paddingBottom,i/2),s=Math.max(0,i-this.measuredContentsHeight-a-o),u=O(this,"y"),l=parseFloat(n.substr(0,n.length-1));return Math.max(0,s*l/u)}}return app.unit.resolve(r.height,0);case"horizontal":return e.prototype.measureEachContentHeight.call(this,t);default:return 0}},t.prototype.measureEachContentX=function(t){var r=this.measuredWidth,n=app.unit.resolve(this.paddingLeft,r/2),i=app.unit.resolve(this.paddingRight,r/2),a=0;if(a+=this.globalX,0==O(this,"x"))for(var o=this.alignContents.split("|"),s=0;s<o.length;s++){switch(o[s].toLowerCase()){case"left":a+=n;break;case"center":case"center-x":a+=n-i,a+=(r-this.measuredContentsWidth)/2;break;case"right":a-=i,a+=r-this.measuredContentsWidth;break;default:continue}break}else a+=n;var u=this.findContent(t);if(null==u)return a;if(!u.presence)return 0;switch(this.orientation){case"horizontal":var l=app.unit.resolve(this.paddingRight,r/2),c=app.unit.resolve(this.spacing,Math.min(n,l));for(s=0;s<this.length;s++){var h=this.contents[s],p=Math.abs(h.measuredWidth);if(a+=app.unit.resolve(h.x,p),a+=app.unit.resolve(h.marginLeft,p/2),h==u)break;if(h.presence&&(a+=p,a+=app.unit.resolve(h.marginRight,p/2),s<this.length-1)){var f=this.contents[this.length-1];(s<this.length-2||f.presence)&&(a+=c)}}return a;case"vertical":return e.prototype.measureEachContentX.call(this,t);default:return a}},t.prototype.measureEachContentY=function(t){var r=this.measuredHeight,n=app.unit.resolve(this.paddingTop,r/2),i=app.unit.resolve(this.paddingBottom,r/2),a=0;if(a+=this.globalY,0==O(this,"y"))for(var o=this.alignContents.split("|"),s=0;s<o.length;s++){switch(o[s].toLowerCase()){case"top":a+=n;break;case"center":case"center-y":a+=n-i,a+=(r-this.measuredContentsHeight)/2;break;case"bottom":a-=i,a+=r-this.measuredContentsHeight;break;default:continue}break}else a+=n;var u=this.findContent(t);if(null==u)return a;if(!u.presence)return 0;switch(this.orientation){case"vertical":var l=app.unit.resolve(this.paddingBottom,r/2),c=app.unit.resolve(this.spacing,Math.min(n,l));for(s=0;s<this.length;s++){var h=this.contents[s],p=Math.abs(h.measuredHeight);if(a+=app.unit.resolve(h.y,p),a+=app.unit.resolve(h.marginTop,p/2),h==u)break;if(h.presence&&(a+=p,a+=app.unit.resolve(h.marginBottom,p/2),s<this.length-1)){var f=this.contents[this.length-1];(s<this.length-2||f.presence)&&(a+=c)}}return a;case"horizontal":return e.prototype.measureEachContentY.call(this,t);default:return a}},t}(E.a);function O(e,t){for(var r=0,n=0;n<e.length;n++){var i=e.contents[n];if(i.presence){var a=void 0;switch(t){case"x":a=i.width;break;case"y":a=i.height}"string"==typeof a&&(a=a.trim()).endsWith("%")&&(a=a.substr(0,a.length-1),r+=parseFloat(a))}}return r}function U(e){for(var t=e;null!=t.container;){var r=!1;if("container"==t.width&&(r=!0),"content"==t.width&&(r=!0),"string"==typeof t.width&&t.width.trimRight().endsWith("%")&&(r=!0),!r)return app.unit.resolve(t.width,0);t=t.container}return app.display.width}function R(e){for(var t=e;null!=t.container;){var r=!1;if("container"==t.height&&(r=!0),"content"==t.height&&(r=!0),"string"==typeof t.height&&t.height.trimRight().endsWith("%")&&(r=!0),!r)return app.unit.resolve(t.height,0);t=t.container}return app.display.height}var L=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},C=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},N="widgets",D=function(e){return L(void 0,void 0,void 0,(function(){return C(this,(function(e){return[2,Object.freeze({Button:S,DisplayObject:i.a,Label:h,Layout:E.a,SeriesLayout:k})]}))}))},P=function(e){return Object.freeze({Button:S,DisplayObject:i.a,Label:h,Layout:E.a,SeriesLayout:k})}},function(e,t,r){"use strict";var n=function(){function e(e,t,r,n,i){this.target=e,this.x=t,this.y=r,this.width=n,this.height=i}return e.prototype.render=function(e){e.fillStyle="#ffffff",e.beginPath(),e.rect(this.x,this.y,this.width,this.height),e.clip(),e.closePath(),e.fillStyle="",this.target.render(e)},e}(),i=function(){function e(e,t,r,n,i){void 0===n&&(n=NaN),void 0===i&&(i=NaN),this.bitmap=e,this.x=t,this.y=r,this.width=n,this.height=i}return e.prototype.render=function(e){isNaN(this.width)&&isNaN(this.height)?e.drawImage(this.bitmap,this.x,this.y):e.drawImage(this.bitmap,this.x,this.y,this.width,this.height)},e}();function a(e){if(e>>>=0,Number.isNaN(e))throw new TypeError('"'+e+'" is not a valid color!');if(e<0||e>4294967295)throw new TypeError("#"+e.toString(16)+" is not a valid color!");return"rgba("+(e>>16&255)+","+(e>>8&255)+","+(255&e)+","+(255-(e>>24&255))/255+")"}function o(e){return e*(Math.PI/180)}var s=function(){function e(e,t,r,n,i,a,o,s){void 0===a&&(a=[]),void 0===o&&(o=null),void 0===s&&(s="left"),this.styles=[],this.font=null,this.horizontalAlign="left",this.text=e,this.x=t,this.y=r,this.size=n,this.colorHex=i,this.styles=a,this.font=o,this.horizontalAlign=s}return e.prototype.render=function(e){this.text=this.text.replace(/\r/gm,""),null==this.font?this.renderWithDefaultFont(e):(this.renderWithCustomFont(e),this.font=void 0)},e.prototype.renderWithDefaultFont=function(e){var t=this.styles.join(" ");e.font=e.font.replace(/^.*px/,t+" "+this.size+"px"),e.textBaseline="top";var r=0,n=e.measureText(this.text).width;switch(this.horizontalAlign){case"left":e.textAlign=this.horizontalAlign;break;case"center":e.textAlign=this.horizontalAlign,r+=n/2;break;case"right":e.textAlign=this.horizontalAlign,r+=n}e.fillStyle=a(this.colorHex),e.fillText(this.text,this.x+r,this.y)},e.prototype.renderWithCustomFont=function(t){var r=this.text.split("\n",1)[0];this.text==r||e.hadBeenWarned||(console.warn("WARNING: Custom font does not support multi-line render!\nplease split lines on your own."),e.hadBeenWarned=!0),this.font.draw(t,r,this.x,this.y+2*this.size/3,this.size)},e.hadBeenWarned=!1,e}(),u=function(){function e(e,t,r){void 0===r&&(r=0),this.target=e,this.elevation=t,this.angle=r}return e.prototype.render=function(e){e.shadowColor="rgba(0,0,0,0.5)",e.shadowBlur=this.elevation+1;var t=o(this.angle),r=.5*(this.elevation+1);e.shadowOffsetX=Math.sin(t/2)*r,e.shadowOffsetY=Math.abs(Math.cos(t)*r),this.target.render(e)},e}(),l=function(){function e(e,t,r,n,i,a,o,s){void 0===o&&(o=1),void 0===s&&(s=!1),this.x=e,this.y=t,this.radius=r,this.colorHex=n,this.startAngle=i,this.endAngle=a,this.stretchRatio=o,this.isCounterClockwise=s}return e.prototype.render=function(e){var t=o(this.startAngle),r=o(this.endAngle),n=Math.abs(r-t),i=90-n/2;e.fillStyle=a(this.colorHex),e.beginPath(),e.ellipse(this.x,this.y,this.radius*this.stretchRatio,this.radius,t-i,i,i+n,this.isCounterClockwise),e.closePath(),e.fill()},e}(),c=function(){function e(e,t,r,n,i){this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i}return e.prototype.render=function(e){e.fillStyle=a(this.colorHex),e.beginPath(),e.ellipse(this.x+this.width/2,this.y+this.height/2,this.width/2,this.height/2,0,0,2*Math.PI),e.closePath(),e.fill()},e}(),h=function(){function e(e,t,r,n,i,a){void 0===r&&(r=0),void 0===n&&(n=0),void 0===i&&(i=NaN),void 0===a&&(a=NaN),this.colorHex=e,this.vertices=t,this.x=r,this.y=n,this.width=i,this.height=a}return e.prototype.render=function(e){if(!(this.vertices.length<=0)){var t=1;isNaN(this.width)||(t=this.width/this.widthOrigin);var r=1;isNaN(this.height)||(r=this.height/this.heightOrigin),e.fillStyle=a(this.colorHex),e.beginPath();var n=this.vertices[0];e.moveTo(n.x,n.y);for(var i=1;i<this.vertices.length;i++){var o=this.vertices[i-1],s=this.vertices[i];if(!0===s.smooth)if(i<this.vertices.length-1){var u=this.vertices[i+1];e.quadraticCurveTo(this.x+s.x*t,this.y+s.y*r,this.x+u.x*t,this.y+u.y*r),i++}else{var l=this.x+o.x*t,c=this.y+o.y*r,h=this.x+s.x*t,p=this.y+s.y*r,f=Math.sqrt(Math.pow(h-l,2)+Math.pow(p-c,2));e.arcTo(l,c,h,p,f/2)}else if(!(isNaN(o.nextBezierX)&&isNaN(o.nextBezierY)&&isNaN(s.prevBezierX)&&isNaN(s.prevBezierY))){var d=isNaN(o.nextBezierX)?o.x:o.nextBezierX,g=isNaN(o.nextBezierY)?o.y:o.nextBezierY,v=isNaN(s.prevBezierX)?s.x:s.prevBezierX,y=isNaN(s.prevBezierY)?s.y:s.prevBezierY;d=this.x+d*t,g=this.y+g*r,v=this.x+v*t,y=this.y+y*r;var m=this.x+s.x*t,b=this.y+s.y*r;e.bezierCurveTo(d,g,v,y,m,b)}else e.lineTo(this.x+s.x*t,this.y+s.y*r)}e.closePath(),e.fill()}},Object.defineProperty(e.prototype,"widthOrigin",{get:function(){for(var e=0,t=0,r=0;r<this.vertices.length;r++){var n=this.vertices[r];e=Math.min(e,n.x),t=Math.max(t,n.x)}return t-e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"heightOrigin",{get:function(){for(var e=0,t=0,r=0;r<this.vertices.length;r++){var n=this.vertices[r];e=Math.min(e,n.y),t=Math.max(t,n.y)}return t-e},enumerable:!1,configurable:!0}),e}(),p=function(){function e(e,t,r,n,i,a,o){void 0===o&&(o=!1),this.x=e,this.y=t,this.radius=r,this.colorHex=n,this.startAngle=i,this.endAngle=a,this.isCounterClockwise=o}return e.prototype.render=function(e){},e}(),f=function(){function e(e,t,r,n,i){this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i}return e.prototype.render=function(e){e.fillStyle=a(this.colorHex),e.fillRect(this.x,this.y,this.width,this.height)},e}(),d=function(){function e(e,t,r,n,i,a){void 0===a&&(a=16),this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i,this.cornerRadius=a}return e.prototype.render=function(e){this.cornerRadius=Math.min(this.cornerRadius,this.width/2,this.height/2),e.fillStyle=a(this.colorHex),e.beginPath(),e.moveTo(this.x+this.cornerRadius,this.y),e.lineTo(this.x+this.width-this.cornerRadius,this.y),e.quadraticCurveTo(this.x+this.width,this.y,this.x+this.width,this.y+this.cornerRadius),e.lineTo(this.x+this.width,this.y+this.height-this.cornerRadius),e.quadraticCurveTo(this.x+this.width,this.y+this.height,this.x+this.width-this.cornerRadius,this.y+this.height),e.lineTo(this.x+this.cornerRadius,this.y+this.height),e.quadraticCurveTo(this.x,this.y+this.height,this.x,this.y+this.height-this.cornerRadius),e.lineTo(this.x,this.y+this.cornerRadius),e.quadraticCurveTo(this.x,this.y,this.x+this.cornerRadius,this.y),e.closePath(),e.fill()},e}(),g=function(){function e(e,t,r,n,i,a,o){void 0===o&&(o=!1),this.target=e,this.startX=t,this.startY=r,this.endX=n,this.endY=i,this.gradientPoints=a,this.isRadial=o}return e.prototype.render=function(e){var t;if(this.isRadial){var r=Math.sqrt(Math.pow(this.endX-this.startX,2)+Math.pow(this.endY-this.startY,2));t=e.createRadialGradient(this.startX,this.startY,0,this.startX,this.startY,r)}else t=e.createLinearGradient(this.startX,this.startY,this.endX,this.endY);for(var n=0;n<this.gradientPoints.length;n++){var i=this.gradientPoints[n];t.addColorStop(i.index,a(i.colorHex))}e.globalCompositeOperation="destination-in",this.target.render(e)},e}(),v=function(){function e(e){this.instructions=e}return e.prototype.render=function(e){for(var t=0;t<this.instructions.length;t++)e.save(),this.instructions[t].render(e),e.restore()},e}(),y=function(){function e(e,t,r){void 0===r&&(r=!1),this.target=e,this.mask=t,this.allowIntersectCut=r}return e.prototype.render=function(e){this.mask.render(e);var t=this.allowIntersectCut?"evenodd":"nonzero";e.clip(t),this.target.render(e)},e}(),m=function(){function e(e,t,r,n,i,a){void 0===r&&(r=0),void 0===n&&(n=0),void 0===i&&(i=NaN),void 0===a&&(a=NaN),this.target=e,this.angle=t,this.x=r,this.y=n,this.width=i,this.height=a}return e.prototype.render=function(e){var t=isNaN(this.width)?this.x:this.x+this.width/2,r=isNaN(this.height)?this.y:this.y+this.height/2;e.translate(t,r),e.rotate(this.angle*Math.PI/180),e.translate(-t,-r),this.target.render(e)},e}(),b=function(){function e(e,t,r,n,i,a,o){void 0===n&&(n=0),void 0===i&&(i=0),void 0===a&&(a=NaN),void 0===o&&(o=NaN),this.target=e,this.scaleX=t,this.scaleY=r,this.x=n,this.y=i,this.width=a,this.height=o}return e.prototype.render=function(e){var t=isNaN(this.width)?this.x:this.x+this.width/2,r=isNaN(this.height)?this.y:this.y+this.height/2;e.translate(t,r),e.scale(this.scaleX,this.scaleY),e.translate(-t,-r),this.target.render(e)},e}(),x=function(){function e(e,t,r,n,i){this.target=e,this.colorHex=t,this.blur=r,this.offsetX=n,this.offsetY=i}return e.prototype.render=function(e){e.shadowColor=a(this.colorHex),e.shadowBlur=this.blur,e.shadowOffsetX=this.offsetX,e.shadowOffsetY=this.offsetY,this.target.render(e)},e}(),w=function(){function e(e,t,r,n,i,a,o,s,u){void 0===o&&(o=1),void 0===s&&(s=1),void 0===u&&(u=!1),this.x=e,this.y=t,this.radius=r,this.colorHex=n,this.startAngle=i,this.endAngle=a,this.thickness=o,this.stretchRatio=s,this.isCounterClockwise=u}return e.prototype.render=function(e){var t=o(this.startAngle),r=o(this.endAngle),n=Math.abs(r-t),i=90-n/2;e.lineWidth=this.thickness,e.lineCap="round",e.lineJoin="round",e.strokeStyle=a(this.colorHex),e.beginPath(),e.ellipse(this.x,this.y,this.radius*this.stretchRatio,this.radius,t-i,i,i+n,this.isCounterClockwise),e.stroke(),e.closePath()},e}(),S=function(){function e(e,t,r,n,i,a){void 0===a&&(a=1),this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i,this.thickness=a}return e.prototype.render=function(e){e.lineWidth=this.thickness,e.strokeStyle=a(this.colorHex),e.beginPath(),e.ellipse(this.x+this.width/2,this.y+this.height/2,this.width/2,this.height/2,0,0,2*Math.PI),e.stroke(),e.closePath()},e}(),E=function(){function e(e,t,r,n,i,a,o){void 0===r&&(r=1),void 0===n&&(n=0),void 0===i&&(i=0),void 0===a&&(a=NaN),void 0===o&&(o=NaN),this.colorHex=e,this.vertices=t,this.thickness=r,this.x=n,this.y=i,this.width=a,this.height=o}return e.prototype.render=function(e){if(!(this.vertices.length<=0)){var t=1;isNaN(this.width)||(t=this.width/this.widthOrigin);var r=1;isNaN(this.height)||(r=this.height/this.heightOrigin),e.strokeStyle=a(this.colorHex),e.lineJoin="round",e.lineCap="round";var n=this.vertices[0];e.beginPath(),e.lineWidth=isNaN(n.thickness)?this.thickness:n.thickness,e.moveTo(n.x,n.y);for(var i=1;i<this.vertices.length;i++){var o=this.vertices[i-1],s=this.vertices[i];if(!0===s.smooth)if(i<this.vertices.length-1){var u=this.vertices[i+1];e.lineWidth=isNaN(u.thickness)?this.thickness:u.thickness,e.quadraticCurveTo(this.x+s.x*t,this.y+s.y*r,this.x+u.x*t,this.y+u.y*r),i++}else{var l=this.x+o.x*t,c=this.y+o.y*r,h=this.x+s.x*t,p=this.y+s.y*r,f=Math.sqrt(Math.pow(h-l,2)+Math.pow(p-c,2));e.lineWidth=isNaN(s.thickness)?this.thickness:s.thickness,e.arcTo(l,c,h,p,f/2)}else if(e.lineWidth=isNaN(s.thickness)?this.thickness:s.thickness,!(isNaN(o.nextBezierX)&&isNaN(o.nextBezierY)&&isNaN(s.prevBezierX)&&isNaN(s.prevBezierY))){var d=isNaN(o.nextBezierX)?o.x:o.nextBezierX,g=isNaN(o.nextBezierY)?o.y:o.nextBezierY,v=isNaN(s.prevBezierX)?s.x:s.prevBezierX,y=isNaN(s.prevBezierY)?s.y:s.prevBezierY;d=this.x+d*t,g=this.y+g*r,v=this.x+v*t,y=this.y+y*r;var m=this.x+s.x*t,b=this.y+s.y*r;e.bezierCurveTo(d,g,v,y,m,b)}else e.lineTo(this.x+s.x*t,this.y+s.y*r)}e.stroke(),e.closePath()}},Object.defineProperty(e.prototype,"widthOrigin",{get:function(){for(var e=0,t=0,r=0;r<this.vertices.length;r++){var n=this.vertices[r];e=Math.min(e,n.x),t=Math.max(t,n.x)}return t-e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"heightOrigin",{get:function(){for(var e=0,t=0,r=0;r<this.vertices.length;r++){var n=this.vertices[r];e=Math.min(e,n.y),t=Math.max(t,n.y)}return t-e},enumerable:!1,configurable:!0}),e}(),T=function(){function e(e,t,r,n,i,a,o,s){void 0===o&&(o=1),void 0===s&&(s=!1),this.x=e,this.y=t,this.radius=r,this.colorHex=n,this.startAngle=i,this.endAngle=a,this.thickness=o,this.isCounterClockwise=s}return e.prototype.render=function(e){},e}(),k=function(){function e(e,t,r,n,i,a){this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i,this.thickness=a}return e.prototype.render=function(e){e.lineWidth=this.thickness,e.lineCap="round",e.lineJoin="round",e.strokeStyle=a(this.colorHex),e.strokeRect(this.x,this.y,this.width,this.height)},e}(),O=function(){function e(e,t,r,n,i,a,o){void 0===a&&(a=16),void 0===o&&(o=1),this.x=e,this.y=t,this.width=r,this.height=n,this.colorHex=i,this.cornerRadius=a,this.thickness=o}return e.prototype.render=function(e){this.cornerRadius=Math.min(this.cornerRadius,this.width/2,this.height/2),e.strokeStyle=a(this.colorHex),e.lineWidth=this.thickness,e.beginPath(),e.moveTo(this.x+this.cornerRadius,this.y),e.lineTo(this.x+this.width-this.cornerRadius,this.y),e.quadraticCurveTo(this.x+this.width,this.y,this.x+this.width,this.y+this.cornerRadius),e.lineTo(this.x+this.width,this.y+this.height-this.cornerRadius),e.quadraticCurveTo(this.x+this.width,this.y+this.height,this.x+this.width-this.cornerRadius,this.y+this.height),e.lineTo(this.x+this.cornerRadius,this.y+this.height),e.quadraticCurveTo(this.x,this.y+this.height,this.x,this.y+this.height-this.cornerRadius),e.lineTo(this.x,this.y+this.cornerRadius),e.quadraticCurveTo(this.x,this.y,this.x+this.cornerRadius,this.y),e.closePath(),e.stroke()},e}(),U=function(){function e(e,t,r){this.target=e,this.deltaX=t,this.deltaY=r}return e.prototype.render=function(e){e.translate(this.deltaX,this.deltaY),this.target.render(e)},e}(),R=function(){function e(e,t){this.target=e,this.alpha=t}return e.prototype.render=function(e){e.globalAlpha=this.alpha,this.target.render(e)},e}(),L=function(){function e(){}return Object.defineProperty(e,"api",{get:function(){return null==e._instance&&(e._instance=new e),e._instance},enumerable:!1,configurable:!0}),e.prototype.crop=function(e,t,r,i,a){return new n(e,t,r,i,a)},e.prototype.bitmap=function(e,t,r,n,a){return void 0===n&&(n=NaN),void 0===a&&(a=NaN),new i(e,t,r,n,a)},e.prototype.text=function(e,t,r,n,i,a,o,u){return void 0===a&&(a=[]),void 0===o&&(o=null),void 0===u&&(u="left"),new s(e,t,r,n,i,a,o,u)},e.prototype.elevate=function(e,t,r){return void 0===r&&(r=0),new u(e,t,r)},e.prototype.arc=function(e,t,r,n,i,a,o,s){return void 0===o&&(o=1),void 0===s&&(s=!1),new l(e,t,r,n,i,a,o,s)},e.prototype.ellipse=function(e,t,r,n,i){return new c(e,t,r,n,i)},e.prototype.path=function(e,t,r,n,i,a){return void 0===r&&(r=0),void 0===n&&(n=0),void 0===i&&(i=NaN),void 0===a&&(a=NaN),new h(e,t,r,n,i,a)},e.prototype.pie=function(e,t,r,n,i,a,o){return void 0===o&&(o=!1),new p(e,t,r,n,i,a,o)},e.prototype.rect=function(e,t,r,n,i){return new f(e,t,r,n,i)},e.prototype.roundRect=function(e,t,r,n,i,a){return void 0===a&&(a=16),new d(e,t,r,n,i,a)},e.prototype.gradientify=function(e,t,r,n,i,a,o){return void 0===o&&(o=!1),new g(e,t,r,n,i,a,o)},e.prototype.group=function(e){return new v(e)},e.prototype.mask=function(e,t,r){return void 0===r&&(r=!1),new y(e,t,r)},e.prototype.rotate=function(e,t,r,n,i,a){return void 0===r&&(r=0),void 0===n&&(n=0),void 0===i&&(i=NaN),void 0===a&&(a=NaN),new m(e,t,r,n,i,a)},e.prototype.scale=function(e,t,r,n,i,a,o){return void 0===n&&(n=0),void 0===i&&(i=0),void 0===a&&(a=NaN),void 0===o&&(o=NaN),new b(e,t,r,n,i,a,o)},e.prototype.shadow=function(e,t,r,n,i){return new x(e,t,r,n,i)},e.prototype.lineArc=function(e,t,r,n,i,a,o,s,u){return void 0===o&&(o=1),void 0===s&&(s=1),void 0===u&&(u=!1),new w(e,t,r,n,i,a,o,s,u)},e.prototype.lineEllipse=function(e,t,r,n,i,a){return void 0===a&&(a=1),new S(e,t,r,n,i,a)},e.prototype.linePath=function(e,t,r,n,i,a,o){return void 0===r&&(r=1),void 0===n&&(n=0),void 0===i&&(i=0),void 0===a&&(a=NaN),void 0===o&&(o=NaN),new E(e,t,r,n,i,a,o)},e.prototype.linePie=function(e,t,r,n,i,a,o,s){return void 0===o&&(o=1),void 0===s&&(s=!1),new T(e,t,r,n,i,a,o,s)},e.prototype.lineRect=function(e,t,r,n,i,a){return new k(e,t,r,n,i,a)},e.prototype.lineRoundRect=function(e,t,r,n,i,a,o){return void 0===a&&(a=16),void 0===o&&(o=1),new O(e,t,r,n,i,a,o)},e.prototype.translate=function(e,t,r){return new U(e,t,r)},e.prototype.transparency=function(e,t){return new R(e,t)},e._instance=null,e}();t.a=L},function(e,t){},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return o})),r.d(t,"bind",(function(){return s}));var n=r(5),i=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},a=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},o="display",s=function(e){return i(void 0,void 0,void 0,(function(){var t;return a(this,(function(r){switch(r.label){case 0:return[4,n.a.attachRenderer(e)];case 1:return r.sent(),t={scale:1,width:0,height:0,isLandscape:!0,setCursor:n.a.setCursor},Object.defineProperty(t,"scale",{get:n.a.getScale}),Object.defineProperty(t,"width",{get:n.a.getWidth}),Object.defineProperty(t,"height",{get:n.a.getHeight}),Object.defineProperty(t,"isLandscape",{get:function(){return n.a.getWidth()>n.a.getHeight()}}),[2,Object.freeze(t)]}}))}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return o})),r.d(t,"bind",(function(){return s}));var n=r(2),i=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},a=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},o="event",s=function(e){return i(void 0,void 0,void 0,(function(){var t,r,i;return a(this,(function(a){if(!((t=document.getElementById(e.domID))instanceof HTMLCanvasElement))throw new TypeError('params#domID ("'+e.domID+'") expected HTMLCanvasElement not '+t.constructor.name);return r=t,n.a.attachDOM(r),i={addEventListener:n.a.addEventListener,removeEventListener:n.a.removeEventListener},[2,Object.freeze(i)]}))}))}},function(e,t,r){"use strict";r.r(t);var n=r(0),i=r(2),a=r(3),o=function(){return(o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},s=function(){function e(){var e=this;this.pressingLeft=!1,this.pressingMiddle=!1,this.pressingRight=!1,this.lastX=NaN,this.lastY=NaN,this.doubleLeftHandler=NaN,this.doubleMiddleHandler=NaN,this.doubleRightHandler=NaN,this.hoverTarget=null,this.dragging=!1,this.triggerPress=function(t){var r,a;switch(e.updateButtonState(t.buttons),t.button){case 0:r=n.a.MOUSE_LEFT_PRESS,a=e.leftPressListeners;break;case 1:r=n.a.MOUSE_MIDDLE_PRESS,a=e.middlePressListeners;break;case 2:r=n.a.MOUSE_RIGHT_PRESS,a=e.rightPressListeners;break;default:return}if(0!=a.length){var s=t.clientX,u=t.clientX;app.display&&(s*=app.display.scale,u*=app.display.scale);for(var l={type:r,x:s,y:u,velocityX:0,velocityY:0,scrollX:0,scrollY:0,pressingLeft:e.pressingLeft,pressingMiddle:e.pressingMiddle,pressingRight:e.pressingRight,dragging:e.dragging,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},c=0;c<a.length;c++){var h=a[c];if(h.target){var p=h.target;i.a.isInTarget(p,s,u)&&h.func.call(p,o(o({},l),{target:p}))}else h.func(o({},l))}}},this.triggerMove=function(t){var r,s,u=t.clientX,l=t.clientY;if(app.display&&(u*=app.display.scale,l*=app.display.scale),isNaN(e.lastX)?(e.lastX=u,r=0):(r=u-e.lastX,e.lastX=u),isNaN(e.lastY)?(e.lastY=l,s=0):(s=l-e.lastY,e.lastY=l),e.pressingLeft&&(e.dragging=!0),0!=e.moveListeners.length||0!=e.hoverStartListeners.length||0!=e.hoverEndListeners.length){for(var c={type:n.a.MOUSE_MOVE,x:u,y:l,velocityX:r,velocityY:s,scrollX:0,scrollY:0,pressingLeft:e.pressingLeft,pressingMiddle:e.pressingMiddle,pressingRight:e.pressingRight,dragging:e.dragging,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},h=0;h<e.moveListeners.length;h++){if((d=e.moveListeners[h]).target){var p=d.target;i.a.isInTarget(p,u,l)&&d.func.call(p,o(o({},c),{target:p}))}else d.func(o({},c))}var f=null;for(h=0;h<e.hoverStartListeners.length;h++){if((p=(d=e.hoverStartListeners[h]).target)instanceof a.a){if(i.a.isInTarget(p,u,l)){p!=e.hoverTarget&&(d.func.call(p,o(o({},c),{type:n.a.MOUSE_HOVER_START,target:p})),f=e.hoverTarget,e.hoverTarget=p);break}if(null!=e.hoverTarget&&!i.a.isInTarget(e.hoverTarget,u,l)){f=e.hoverTarget,e.hoverTarget=null;break}}}if(null!=f)for(h=0;h<e.hoverEndListeners.length;h++){var d;(p=(d=e.hoverEndListeners[h]).target)instanceof a.a&&(p==f&&d.func.call(p,o(o({},c),{type:n.a.MOUSE_HOVER_START,target:p})))}}},this.triggerRelease=function(t){e.updateButtonState(t.buttons);var r,a,s,u,l=t.clientX,c=t.clientX;app.display&&(l*=app.display.scale,c*=app.display.scale),isNaN(e.lastX)?(e.lastX=l,r=0):(r=l-e.lastX,e.lastX=l),isNaN(e.lastY)?(e.lastY=c,a=0):(a=c-e.lastY,e.lastY=c);var h=null,p=null;switch(t.button){case 0:s=n.a.MOUSE_LEFT_RELEASE,u=e.leftReleaseListeners,e.dragging=!1,isNaN(e.doubleLeftHandler)?e.doubleLeftHandler=window.setTimeout((function(){e.doubleLeftHandler=NaN}),500):(window.clearTimeout(e.doubleLeftHandler),e.doubleLeftHandler=NaN,h=n.a.MOUSE_LEFT_DOUBLE,p=e.leftDoubleListeners);break;case 1:s=n.a.MOUSE_MIDDLE_RELEASE,u=e.middleReleaseListeners,isNaN(e.doubleMiddleHandler)?e.doubleMiddleHandler=window.setTimeout((function(){e.doubleMiddleHandler=NaN}),500):(window.clearTimeout(e.doubleMiddleHandler),e.doubleMiddleHandler=NaN,h=n.a.MOUSE_MIDDLE_DOUBLE,p=e.middleDoubleListeners);break;case 2:s=n.a.MOUSE_RIGHT_RELEASE,u=e.rightReleaseListeners,isNaN(e.doubleRightHandler)?e.doubleRightHandler=window.setTimeout((function(){e.doubleRightHandler=NaN}),500):(window.clearTimeout(e.doubleRightHandler),e.doubleRightHandler=NaN,h=n.a.MOUSE_RIGHT_DOUBLE,p=e.rightDoubleListeners);break;default:return}if(0!=u.length){for(var f={type:s,x:l,y:c,velocityX:r,velocityY:a,scrollX:0,scrollY:0,pressingLeft:e.pressingLeft,pressingMiddle:e.pressingMiddle,pressingRight:e.pressingRight,dragging:e.dragging,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},d=0;d<u.length;d++){if((v=u[d]).target){var g=v.target;i.a.isInTarget(g,l,c)&&v.func.call(g,o(o({},f),{target:g}))}else v.func(o({},f))}if(h&&p)for(d=0;d<p.length;d++){var v;if((v=p[d]).target){g=v.target;i.a.isInTarget(g,l,c)&&v.func.call(g,o(o({},f),{type:h,target:g}))}else v.func(o(o({},f),{type:h}))}}},this.triggerScroll=function(t){if(0!=e.scrollListeners.length){var r=t.clientX,a=t.clientX;app.display&&(r*=app.display.scale,a*=app.display.scale);for(var s={type:n.a.MOUSE_MOVE,x:r,y:a,velocityX:0,velocityY:0,scrollX:t.deltaX,scrollY:t.deltaY,pressingLeft:e.pressingLeft,pressingMiddle:e.pressingMiddle,pressingRight:e.pressingRight,dragging:e.dragging,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},u=0;u<e.scrollListeners.length;u++){var l=e.scrollListeners[u];if(l.target){var c=l.target;i.a.isInTarget(c,r,a)&&l.func.call(c,o(o({},s),{target:c}))}else l.func(o({},s))}}}}return e.prototype.attach=function(e,t){this.viewportInstance=e,this.leftPressListeners=t.get(n.a.MOUSE_LEFT_PRESS),this.leftDoubleListeners=t.get(n.a.MOUSE_LEFT_DOUBLE),this.leftReleaseListeners=t.get(n.a.MOUSE_LEFT_RELEASE),this.middlePressListeners=t.get(n.a.MOUSE_MIDDLE_PRESS),this.middleDoubleListeners=t.get(n.a.MOUSE_MIDDLE_DOUBLE),this.middleReleaseListeners=t.get(n.a.MOUSE_MIDDLE_RELEASE),this.rightPressListeners=t.get(n.a.MOUSE_RIGHT_PRESS),this.rightDoubleListeners=t.get(n.a.MOUSE_RIGHT_DOUBLE),this.rightReleaseListeners=t.get(n.a.MOUSE_RIGHT_RELEASE),this.hoverStartListeners=t.get(n.a.MOUSE_HOVER_START),this.hoverEndListeners=t.get(n.a.MOUSE_HOVER_END),this.moveListeners=t.get(n.a.MOUSE_MOVE),this.scrollListeners=t.get(n.a.MOUSE_SCROLL)},e.prototype.start=function(){this.viewportInstance.addEventListener("mousedown",this.triggerPress),this.viewportInstance.addEventListener("mousemove",this.triggerMove),this.viewportInstance.addEventListener("mouseup",this.triggerRelease),this.viewportInstance.addEventListener("wheel",this.triggerScroll)},e.prototype.stop=function(){this.viewportInstance.removeEventListener("mousedown",this.triggerPress),this.viewportInstance.removeEventListener("mousemove",this.triggerMove),this.viewportInstance.removeEventListener("mouseup",this.triggerRelease),this.viewportInstance.removeEventListener("wheel",this.triggerScroll)},e.prototype.updateButtonState=function(e){this.pressingLeft=1==(1&e),this.pressingRight=1==(e>>1&1),this.pressingMiddle=1==(e>>2&1)},e}();t.default=s},function(e,t,r){"use strict";r.r(t);var n=r(0),i=r(2),a=r(3),o=function(){return(o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},s=function(){function e(){var e=this;this.onMouseRelease=function(t){0==t.button&&e.triggerSelect(t.clientX,t.clientY,t)},this.onTouchEnd=function(t){t.preventDefault();var r=t.changedTouches[0];e.triggerSelect(r.clientX,r.clientY,t)}}return e.prototype.attach=function(e,t){this.viewportInstance=e,this.selectListeners=t.get(n.a.SELECT)},e.prototype.start=function(){this.viewportInstance.addEventListener("mouseup",this.onMouseRelease),this.viewportInstance.addEventListener("touchend",this.onTouchEnd)},e.prototype.stop=function(){this.viewportInstance.removeEventListener("mouseup",this.onMouseRelease),this.viewportInstance.removeEventListener("touchend",this.onTouchEnd)},e.prototype.triggerSelect=function(e,t,r){if(0!=this.triggerSelect.length){app.display&&(e*=app.display.scale,t*=app.display.scale);for(var s={type:n.a.TOUCH_START,x:e,y:t,velocityX:0,velocityY:0,scrollX:0,scrollY:0,dragging:!1,withALT:r.altKey,withCTRL:r.ctrlKey,withShift:r.shiftKey},u=0;u<this.selectListeners.length;u++){var l=this.selectListeners[u],c=l.target;c instanceof a.a?i.a.isInTarget(c,e,t)&&l.func.call(c,o(o({},s),{target:c})):l.func(o({},s))}}},e}();t.default=s},function(e,t,r){"use strict";r.r(t);var n=r(0),i=function(){return(i=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},a=function(){function e(){var e=this;this.triggerResize=function(){var t;t=app.display?{type:n.a.SCREEN_RESIZE,width:app.display.width,height:app.display.height,scale:app.display.scale,orientation:app.display.isLandscape?"landscape":"potrait"}:{type:n.a.SCREEN_RESIZE,width:0,height:0,scale:0,orientation:"landscape"};for(var r=0;r<e.resizeListeners.length;r++){var a=e.resizeListeners[r];a.func(i(i({},t),{target:a.target}))}}}return e.prototype.attach=function(e,t){this.viewportInstance=e,this.resizeListeners=t.get(n.a.SCREEN_RESIZE)},e.prototype.start=function(){this.viewportInstance.addEventListener("resize",this.triggerResize)},e.prototype.stop=function(){this.viewportInstance.removeEventListener("resize",this.triggerResize)},e}();t.default=a},function(e,t,r){"use strict";r.r(t);var n=r(0),i=r(2),a=function(){return(a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},o=function(){function e(){var e=this;this.doubleHandler=NaN,this.holdHandler=NaN,this.lastX=NaN,this.lastY=NaN,this.triggerStart=function(t){if(t.preventDefault(),0!=e.startListeners.length||1==t.touches.length){var r=t.changedTouches[0],o=e.compileFingers(t.touches),s={type:n.a.TOUCH_START,id:r.identifier,x:r.clientX,y:r.clientY,pressure:2*r.force,width:2*r.radiusX,height:2*r.radiusY,rotate:0,zoom:0,velocityX:0,velocityY:0,scrollX:0,scrollY:0,fingers:o,count:o.length,dragging:!1,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey};if(isNaN(e.holdHandler)?1==o.length&&(e.holdHandler=window.setTimeout((function(){return e.triggerLong(s)}),1e3)):(window.clearTimeout(e.holdHandler),e.holdHandler),0!=e.startListeners.length)for(var u=0;u<e.startListeners.length;u++){var l=e.startListeners[u];if(l.target){var c=l.target;i.a.isInTarget(c,r.clientX,r.clientY)&&l.func.call(c,a(a({},s),{target:c}))}else l.func(a({},s))}}},this.triggerMove=function(t){t.preventDefault(),isNaN(e.holdHandler)||(window.clearTimeout(e.holdHandler),e.holdHandler=NaN);var r=t.changedTouches[0],o=0,s=0;if(0==r.identifier&&(isNaN(e.lastX)||(o=r.clientX-e.lastX),e.lastX=r.clientX,isNaN(e.lastY)||(s=r.clientY-e.lastY),e.lastY=r.clientY),0!=e.moveListeners.length)for(var u=e.compileFingers(t.touches),l={type:n.a.TOUCH_MOVE,id:r.identifier,x:r.clientX,y:r.clientY,pressure:2*r.force,width:2*r.radiusX,height:2*r.radiusY,rotate:0,zoom:0,velocityX:o,velocityY:s,scrollX:o,scrollY:s,fingers:u,count:u.length,dragging:!1,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},c=0;c<e.moveListeners.length;c++){var h=e.moveListeners[c];if(h.target){var p=h.target;i.a.isInTarget(p,r.clientX,r.clientY)&&h.func.call(p,a(a({},l),{target:p}))}else h.func(a({},l))}},this.triggerEnd=function(t){t.preventDefault(),isNaN(e.holdHandler)||(window.clearTimeout(e.holdHandler),e.holdHandler=NaN);var r=t.changedTouches[0],o=0,s=0;if(0==r.identifier&&(isNaN(e.lastX)||(o=r.clientX-e.lastX),e.lastX=r.clientX,isNaN(e.lastY)||(s=r.clientY-e.lastY),e.lastY=r.clientY),0!=e.endListeners.length)for(var u=e.compileFingers(t.touches),l={type:n.a.TOUCH_END,id:r.identifier,x:r.clientX,y:r.clientY,pressure:2*r.force,width:2*r.radiusX,height:2*r.radiusY,rotate:0,zoom:0,velocityX:o,velocityY:s,scrollX:o,scrollY:s,fingers:u,count:u.length,dragging:!1,withALT:t.altKey,withCTRL:t.ctrlKey,withShift:t.shiftKey},c=0;c<e.endListeners.length;c++){var h=e.endListeners[c];if(h.target){var p=h.target;i.a.isInTarget(p,r.clientX,r.clientY)&&h.func.call(p,a(a({},l),{target:p}))}else h.func(a({},l))}}}return e.prototype.attach=function(e,t){this.viewportInstance=e,this.startListeners=t.get(n.a.TOUCH_START),this.doubleListeners=t.get(n.a.TOUCH_DOUBLE),this.longListeners=t.get(n.a.TOUCH_LONG),this.moveListeners=t.get(n.a.TOUCH_MOVE),this.endListeners=t.get(n.a.TOUCH_END),this.zoomListeners=t.get(n.a.TOUCH_ZOOM),this.rotateListeners=t.get(n.a.TOUCH_ROTATE)},e.prototype.start=function(){this.viewportInstance.addEventListener("touchstart",this.triggerStart),this.viewportInstance.addEventListener("touchmove",this.triggerMove),this.viewportInstance.addEventListener("touchend",this.triggerEnd)},e.prototype.stop=function(){this.viewportInstance.removeEventListener("touchstart",this.triggerStart),this.viewportInstance.removeEventListener("touchmove",this.triggerMove),this.viewportInstance.removeEventListener("touchend",this.triggerEnd)},e.prototype.triggerLong=function(e){this.holdHandler=NaN;for(var t=0;t<this.longListeners.length;t++){var r=this.longListeners[t];if(r.target){var o=r.target;i.a.isInTarget(o,e.x,e.y)&&r.func(a(a({},e),{type:n.a.TOUCH_LONG,target:o}))}else r.func(a(a({},e),{type:n.a.TOUCH_LONG}))}},e.prototype.compileFingers=function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push({id:n.identifier,x:n.clientX,y:n.clientY,width:2*n.radiusX,height:2*n.radiusY,pressure:2*n.force})}return t},e}();t.default=o},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return o})),r.d(t,"bind",(function(){return s}));var n=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},i=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a={name:"Blank App",icon:"",splash:"",description:"This is a FIWL-based app",metadata:{},stages:[],widgets:{}},o="manifest",s=function(e){return n(void 0,void 0,void 0,(function(){var t,r,n,o,s;return i(this,(function(i){switch(i.label){case 0:(t=e.root.length>0?e.root:"/").endsWith("/")||(t+="/"),t+="manifest.json",i.label=1;case 1:return i.trys.push([1,3,,4]),[4,app.net.getJSON(t)];case 2:return r=i.sent(),[3,4];case 3:throw i.sent(),new Error('"manifest.json" is invalid');case 4:return n=Object.assign(a,r),e.root.length>1&&((o=e.root.trim().replace(/\/$/,"")).startsWith("/")||(o="/"+o),n.icon.length>0&&(n.icon=o+n.icon.trim().replace(/^\//,"")),n.splash.length>0&&(n.splash=o+n.splash.trim().replace(/^\//,""))),document.title=n.name,n.icon.endsWith(".svg")&&(null==(s=document.querySelector("link[rel*='icon']"))&&((s=document.createElement("link")).setAttribute("rel","icon"),document.head.appendChild(s)),s.setAttribute("href",n.icon)),[2,Object.freeze(n)]}}))}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return o})),r.d(t,"bind",(function(){return s}));var n=r(1),i=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},a=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},o="net",s=function(e){return i(void 0,void 0,void 0,(function(){var e;return a(this,(function(t){return e={get:function(e){return n.a.get(e)},getJSON:function(e){return n.a.getJSON(e)},getImage:function(e){return n.a.getImage(e)},post:function(e,t){return n.a.post(e,t)},setHeader:function(e,t){n.a.header.set(e,t)},getHeader:function(e){return n.a.header.get(e)},removeHeader:function(e){n.a.header.delete(e)},download:function(e,t){return n.a.download(e,t)},upload:function(e,t,r,i){return void 0===r&&(r=null),void 0===i&&(i="data"),n.a.upload(e,i,t,r)},setCredential:function(e,t){n.a.setCredential(e,t)},removeCredential:function(){n.a.removeCredential()}},[2,Object.freeze(e)]}))}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return h})),r.d(t,"bind",(function(){return p}));var n=r(1),i=function(){this.primaryColor=6056896,this.primaryLightColor=9345523,this.primaryDarkColor=2507151,this.onPrimaryColor=16777215,this.secondaryColor=5025616,this.secondaryLightColor=8446590,this.secondaryDarkColor=556835,this.onSecondaryColor=16777215,this.errorColor=11534368,this.onErrorColor=16777215,this.textColor=0,this.foregroundColor=0,this.backgroundColor=16777215,this.stageBackgroundColor=14671839,this.displayTextSize="48sp",this.titleTextSize="38sp",this.headerTextSize="32sp",this.bodyTextSize="12sp",this.controlTextSize="24sp",this.headerFontType="",this.bodyFontType="",this.controlFontType=""},a=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},o=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}};function s(e,t){var r=t.replace(/\..*$/,""),n=t.substr(r.length+1);console.warn("WARNING: Change app.res."+e+'("'+r+"."+n+'") to app.res.'+e+'("'+r+'", "'+n+'")')}var u={loadStyle:function(e){var t,r;e=e.trim().replace(/\/$/,"");var a=[];return a.push(n.a.getVARL("/style.varl").then((function(e){t=e})).catch((function(){console.clear(),console.warn("/style.varl is not accessible!")}))),""!=e&&"/"!=e&&a.push(n.a.getVARL(e+"/style.varl").then((function(e){r=e})).catch((function(){console.clear()}))),Promise.all(a).then((function(){var e=new i;return Object.assign(e,t),Object.assign(e,r),e}))},loadIcon:function(e,t){return a(this,void 0,void 0,(function(){return o(this,(function(r){switch(r.label){case 0:if(""==(e=e.trim().replace(/\/$/,""))||"/"==e)return[3,6];r.label=1;case 1:return r.trys.push([1,3,,5]),[4,n.a.getImage(e+"/icons/"+t+".svg")];case 2:return[2,r.sent()];case 3:return r.sent(),[4,n.a.getImage("/icons/"+t+".svg")];case 4:return[2,r.sent()];case 5:return[3,8];case 6:return[4,n.a.getImage("/icons/"+t+".svg")];case 7:return[2,r.sent()];case 8:return[2]}}))}))},loadPicture:function(e,t,r){return void 0===r&&(r="jpg"),a(this,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:if(e=e.trim().replace(/\/$/,""),t.match(/\..*$/)&&s("loadPicture",t),""==e||"/"==e)return[3,6];i.label=1;case 1:return i.trys.push([1,3,,5]),[4,n.a.getImage(e+"/pictures/"+t+"."+r)];case 2:return[2,i.sent()];case 3:return i.sent(),[4,n.a.getImage("/pictures/"+t+"."+r)];case 4:return[2,i.sent()];case 5:return[3,8];case 6:return[4,n.a.getImage("/pictures/"+t+"."+r)];case 7:return[2,i.sent()];case 8:return[2]}}))}))},loadFont:function(e,t,r){return void 0===r&&(r="ttf"),a(this,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:if(e=e.trim().replace(/\/$/,""),t.match(/\..*$/)&&s("loadFont",t),""==e||"/"==e)return[3,6];i.label=1;case 1:return i.trys.push([1,3,,5]),[4,n.a.getFont(e+"/fonts/"+t+"."+r)];case 2:return[2,i.sent()];case 3:return i.sent(),[4,n.a.getFont("/fonts/"+t+"."+r)];case 4:return[2,i.sent()];case 5:return[3,8];case 6:return[4,n.a.getFont("/fonts/"+t+"."+r)];case 7:return[2,i.sent()];case 8:return[2]}}))}))}},l=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},c=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},h="res",p=function(e){return l(void 0,void 0,void 0,(function(){var t,r,n,i,a,o;return c(this,(function(s){switch(s.label){case 0:for(t=app.manifest.stages,r={route:e.url},n=0;n<t.length;n++)if((i=t[n]).route==r.route){r=Object.assign(r,i);break}return"string"!=typeof r.resource&&(r.resource=r.route),r.resource.startsWith("/")||(r.resource="/"+r.resource),a=e.root.replace(/\/$/,""),r.resource=a+r.resource,[4,u.loadStyle(r.resource)];case 1:return o=s.sent(),[2,Object.freeze({url:r.route,style:o,loadIcon:function(e){return u.loadIcon(r.resource,e)},loadPicture:function(e,t){return void 0===t&&(t="jpg"),u.loadPicture(r.resource,e,t)},loadFont:function(e,t){return void 0===t&&(t="ttf"),u.loadFont(r.resource,e,t)}})]}}))}))}},function(e,t,r){"use strict";r.r(t),r.d(t,"name",(function(){return d})),r.d(t,"bind",(function(){return g}));var n=r(5);function i(){return.75}function a(){return 1*n.a.getScale()}function o(){return.75*n.a.getScale()}function s(e){return.01*e*1}function u(){return s(n.a.getWidth())}function l(){return s(n.a.getHeight())}function c(e,t,r){return void 0===r&&(r=1),e*t/r}var h={convert:c,resolve:function(e,t){switch(void 0===t&&(t=100),typeof e){case"string":var r=parseFloat(e);if(isNaN(r))throw new SyntaxError('"'+e+'" is not a valid value');switch(function(e){for(var t=0;t<e.length;t++){var r=e[t];if(isNaN(parseFloat(r))&&"."!=r)return e.substr(t).trim()}return""}(e)){case"":case"px":return r;case"dp":return c(r,a());case"pt":return c(r,.75);case"sp":return c(r,o());case"%":return c(r,s(t));case"vw":return c(r,u());case"vh":return c(r,l());default:throw new SyntaxError('"'+e+'" has invalid unit')}case"number":return e;default:return NaN}},typesGetters:{PX:function(){return 1},DP:a,PT:i,SP:o,percent:s,VW:u,VH:l}},p=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},f=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},d="unit",g=function(e){return p(void 0,void 0,void 0,(function(){var e,t;return f(this,(function(r){return e={PX:1,DP:1,PT:1,SP:1,VW:1,VH:1,percent:h.typesGetters.percent},Object.defineProperty(e,"PX",{get:h.typesGetters.PX}),Object.defineProperty(e,"DP",{get:h.typesGetters.DP}),Object.defineProperty(e,"PT",{get:h.typesGetters.PT}),Object.defineProperty(e,"SP",{get:h.typesGetters.SP}),Object.defineProperty(e,"VW",{get:h.typesGetters.VW}),Object.defineProperty(e,"VH",{get:h.typesGetters.VH}),t={convert:h.convert,resolve:h.resolve,Types:Object.freeze(e)},[2,Object.freeze(t)]}))}))}},function(e,t,r){"use strict";var n=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},i=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},a=new WeakMap,o=!1;function s(e,t,r){if(null==e[t]){var n=r;Object.defineProperty(e,t,{get:function(){return n},set:function(e){o&&(n=e)}})}else o=!0,e[t]=r,o=!1}var u,l={registerAppParams:function(e,t){a.set(e,t)},bindExposables:function(e,t){return n(this,void 0,void 0,(function(){var n,o,u,l,c,h,p;return i(this,(function(i){switch(i.label){case 0:if(!a.has(e))throw new ReferenceError("[INTERNAL] App instance is not registered in paramsMap");for(n=r(23),o=n.keys(),u={},l=0;l<o.length;l++)h=o[l],c=n(h).name,u[c]=h;l=0,i.label=1;case 1:return l<t.length?(c=t[l],"string"!=typeof(h=u[c])?[3,3]:[4,n(h).bind(a.get(e))]):[3,5];case 2:return p=i.sent(),s(e,c,p),[3,4];case 3:throw new ReferenceError('[INTERNAL] Exposable with "'+c+'" name is not exist');case 4:return l++,[3,1];case 5:return[2]}}))}))},putMetaConst:s},c=r(3),h=(u=function(e,t){return(u=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}u(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),p=function(e){function t(t){var r=e.call(this,'"'+t+'" is not a valid widget!')||this;return r.name="MissingWidgetError",r.widgetClassName=t,r}return h(t,e),t}(ReferenceError),f=r(4),d=new DOMParser;function g(e){var t;if("string"==typeof e)t=d.parseFromString("<xml>"+e+"</xml>","text/xml").children[0];else{if(!(e instanceof Element))throw new SyntaxError("Expected string or Element object!");t=e}var r=t.tagName,n=app.widgets[r],i=n.internal;if("function"!=typeof n)throw new p(r);var a=new n;if(i.set(a,{container:null}),!(a instanceof c.a))throw new p(r);for(var o=t.attributes,s=0;s<o.length;s++){var u=o[s],l=u.name;if("contents"!=l){var h=v(u.value);a[l]=h}}if("function"==typeof n.parseContents){if(t.innerHTML.trim().length>0){var y="contents",m=n.parseContents(t.innerHTML);"string"==typeof n.customContentsKey&&(y=n.customContentsKey),!0===n.writableContents?a[y]=m:(i.get(a)[y]=m,Object.defineProperty(a,y,{get:function(){return i.get(a)[y]}}))}}else if(a instanceof f.a){var b=i.get(a);b.contents=new Array,i.set(a,b);var x=t.children;for(s=0;s<x.length;s++){var w=g(x[s]);i.get(w).container=a,i.get(a).contents.push(w)}}return a}function v(e){if(""===e)return null;if(!isNaN(Number(e)))return Number(e);if("true"==e)return!0;if("false"==e)return!1;if("string"==typeof e){if(e.startsWith("#"))return Number("0x"+e.substr(1));if(e.startsWith("@color/"))return app.colors[e.substr(7)];if(e.startsWith("@style/"))return app.res.style[e.substr(7)];e=(e=(e=(e=(e=(e=e.replace(/\\r/gm,"\r")).replace(/\\n/gm,"\n")).replace(/\\t/gm,"\t")).replace(/\\\"/gm,'"')).replace(/\\\'/gm,"'")).replace(/\\\\/gm,"\\")}return e}var y=function(){var e=function(t,r){return(e=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])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),m=function(e){function t(r){var n=e.call(this,t.makeExplanation(r))||this;return n.name="FIWLParserError",n.route=app.res.url,r instanceof Document?n.explanation=t.parseErrorDOM(r):n.explanation="string"==typeof r?r+"\n":"","string"==typeof n.stack&&(n.stack=n.stack.replace(/\r/gm,"").split("\n\n")[0]),n}return y(t,e),t.makeExplanation=function(e){return'On route "'+app.res.url+'"\n'+(e instanceof Document?t.parseErrorDOM(e):"string"==typeof e?e+"\n":"")},t.parseErrorDOM=function(e){var t=e.getElementsByTagName("parsererror");if(t.length>0){var r=t[0].getElementsByTagName("div");if(r.length>0)return r[0].textContent+"\n"}return""},t}(SyntaxError),b=r(1),x=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},w=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},S=function(){var e=this;this.onCreated=function(){return x(e,void 0,void 0,(function(){return w(this,(function(e){return[2]}))}))},this.onReady=function(){},this.onFocus=function(){},this.onUpdate=function(){},this.onDraw=function(){},this.onUnfocus=function(){},this.onSuspend=function(){},this.onDestroy=function(){}},E=new DOMParser;var T=function(){return(T=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function k(e,t){var r=new e.constructor;r.suspendUpdate=!0,Object.defineProperty(r,"id",{value:e.id,writable:!1,configurable:!1});var n=T({},e.constructor.internal.get(e));if(n.container=null,e instanceof f.a){for(var i=[],a=0;a<n.contents.length;a++){var o=k(n.contents[a],t);i.push(o),o.constructor.internal.get(o).container=r}n.contents=i}n.update=function(e){return void 0===e&&(e=""),t(r,e)},r.constructor.internal.set(r,n);for(var s=Object.keys(e),u=function(t){var i=s[t];if("fontType"==i&&console.log("ok"),"id"==i)return"continue";"function"==typeof e[i]||e.constructor.flagNoUpdate.includes(i)?r[i]=e[i]:Object.defineProperty(r,i,{get:function(){return e[i]},set:function(t){e[i]=t,n.update(i)}})},l=0;l<s.length;l++)u(l);var c=e.constructor.flagForwardWeakMap;for(l=0;l<c.length;l++){var h=c[l];h.set(r,h.get(e))}return r.suspendUpdate=!1,r}var O,U=r(5);!function(e){e[e.UNAVAILABLE=0]="UNAVAILABLE",e[e.PASSIVE=1]="PASSIVE",e[e.ACTIVE=2]="ACTIVE",e[e.FOCUS=3]="FOCUS"}(O||(O={}));var R=r(2),L=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},C=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},N=[],D=NaN,P=O.UNAVAILABLE;function M(e){for(var t=0;t<N.length;t++){if(N[t].url==e)return t}return NaN}function A(e,t){switch(typeof e){case"function":return e.call(t);case"string":return new Function(e).call(t)}}function I(e){return L(this,void 0,void 0,(function(){var t,r,n,i,a,o;return C(this,(function(s){switch(s.label){case 0:for((t=app.res.url).startsWith("/")||(t="/"+t),t.endsWith("/")||(t+="/"),r=t+"main.fiwl",n=0;n<app.manifest.stages.length;n++)if((i=app.manifest.stages[n]).route==e){"string"==typeof i.layout&&(r=t+i.layout.replace(/^\//,""));break}return[4,b.a.get(r)];case 1:return a=s.sent(),o=function(e){e=function(e){var t=e.trim(),r=/\<(script|event)[^\/]*?\>/gim,n=t.match(r);if(null!=n)for(var i=n.length,a=0;a<i;a++){var o=(c=r.exec(t)).index+c[0].length;t=t.substr(0,o)+"<![CDATA["+t.substr(o)}var s=/(\<\/script\>)|(\<\/event\>)/gim,u=t.match(s);if(null!=u){var l=u.length;for(a=0;a<l;a++){var c;o=(c=s.exec(t)).index;t=t.substr(0,o)+"]]>"+t.substr(o)}}return t}(e.trim());var t=E.parseFromString(e,"text/xml");if(t.getElementsByTagName("parsererror").length>0)throw new m(t);if(1!=t.children.length)throw new m("Only one root tag allowed in .fiwl file");var r=t.children[0];if("stage"!=r.tagName.toLowerCase())throw new m('Root tag must "Stage"');for(var n=new S,i={title:null},a=r.attributes,o=0;o<a.length;o++){var s=a.item(o),u=s.name,l=s.value;i[u]=l}var h=r.children,p=!1;for(o=0;o<h.length;o++){var d=h[o];switch(d.tagName.toLowerCase()){case"event":if(!d.hasAttribute("on")){console.warn('Every <event> ... </event> must have "on" attribute. Otherwise, they\'re useless');break}var v=d.getAttribute("on"),y="on"+v[0].toUpperCase()+v.substr(1).toLowerCase();"function"==typeof n[y]?(i[y]=new Function(d.textContent),Object.defineProperty(i[y],"name",{value:y[0].toUpperCase()+y.substr(1)+"Listener",writable:!0,configurable:!0})):console.warn("Stage doesn't support "+y+"(...) event");break;case"script":var x="javascript";switch(d.hasAttribute("type")&&(x=d.getAttribute("type").toLowerCase()),x){case"javascript":if(d.hasAttribute("from"))b.a.get(d.getAttribute("from")).then((function(e){var t=new Function(e);Object.defineProperty(t,"name",{value:"StageController",writable:!1,configurable:!1}),t.call(i)}));else{var w=new Function(d.textContent);Object.defineProperty(w,"name",{value:"StageController",writable:!1,configurable:!1}),w.call(i)}break;case"wasm":break;default:console.error('"'+x+'" is not supported')}break;default:if(p)throw new m("Only one root layout allowed in a Stage tag");i.layout=g(d),d.hasAttribute("width")||(i.layout.width="container"),d.hasAttribute("height")||(i.layout.height="container"),d.hasAttribute("backgroundColor")||(i.layout.backgroundColor=app.res.style.stageBackgroundColor),p=!0}}if(null==i.layout)throw new m("Stage must contain exactly one root Layout tag");if(!(i.layout instanceof f.a)&&i.layout instanceof c.a)throw new m("Expected Layout or its descendants instead of "+i.layout.className);return i}(a),N.push(o),P=O.PASSIVE,[4,B(o.layout)];case 2:return s.sent(),A(o.onCreated,o),[2]}}))}))}function B(e){return L(this,void 0,void 0,(function(){var t,r,n;return C(this,(function(i){switch(i.label){case 0:return[4,e.asyncCreate.call(e)];case 1:if(i.sent(),!(e instanceof f.a))return[3,3];for(t=[],r=0;r<e.length;r++)n=e.contents[r],t.push(B(n));return[4,Promise.all(t)];case 2:i.sent(),i.label=3;case 3:return[4,A(e.onAsyncCreate,e)];case 4:return i.sent(),[2]}}))}))}function F(){return L(this,void 0,void 0,(function(){var e,t;return C(this,(function(r){switch(r.label){case 0:return P!=O.PASSIVE?(console.error("StageManager.activate() only called when currentStatus = PASSIVE"),[2]):(e=N[N.length-1],t=new S,function(e,t,r){for(var n=Object.keys(e),i=function(i){var a=n[i];switch(a){case"url":Object.defineProperty(t,a,{value:e[a],writable:!1,configurable:!1});break;case"layout":Object.defineProperty(t,a,{value:k(e[a],r),writable:!1,configurable:!0});break;case"title":var o=e[a];Object.defineProperty(t,a,{get:function(){return o},set:function(e){o=e,document.title=e}});break;default:t[a]=e[a]}},a=0;a<n.length;a++)i(a)}(e,t,_),l.putMetaConst(app,"stage",t),[4,U.a.nextStage(t)]);case 1:return r.sent(),"function"==typeof t.onDraw&&t.onDraw.call(t),"string"==typeof t.title&&(document.title=t.title),R.a.attachRootLayout(t.layout),P=O.ACTIVE,function e(t){if(t instanceof f.a)for(var r=0;r<t.length;r++){var n=t.contents[r];e(n)}t.ready(),A(t.onReady,t)}(t.layout),A(t.onReady,t),[2]}}))}))}function G(){R.a.startDispatchers(),P=O.FOCUS,A(app.stage.onFocus,app.stage)}function _(e,t){void 0===t&&(t=""),P==O.FOCUS&&(isNaN(D)&&(D=requestAnimationFrame((function(){U.a.render(),D=NaN,A(app.stage.onDraw,app.stage)}))),A(app.stage.onUpdate,app.stage))}function H(){A(app.stage.onUnfocus,app.stage),R.a.stopDispatchers(),P=O.ACTIVE}var z,Y,W={goto:function(e){return L(this,void 0,void 0,(function(){var t,r,n;return C(this,(function(i){switch(i.label){case 0:if(P==O.FOCUS&&H(),P==O.ACTIVE&&function(){if(P!=O.ACTIVE)return void console.error("StageManager.close() only called when currentStatus = ACTIVE");document.title=app.manifest.name,A(app.stage.onSuspend,app.stage),R.a.resetListenerMap(),function e(t){if(t.suspend(),A(t.onSuspend,t),t instanceof f.a)for(var r=0;r<t.length;r++){var n=t.contents[r];e(n)}c.a.internal.delete(t)}(app.stage.layout),l.putMetaConst(app,"stage",null)}(),t=M(e),!Number.isNaN(t))return[3,5];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,I(e)];case 2:return i.sent(),[3,4];case 3:if(n=i.sent(),"/"==e||""==e)throw n;return console.error(n),function(){if(N.length>0)N[N.length-1];else window.location.href="/"}(),[2];case 4:return r=N[N.length-1],[3,6];case 5:r=N.splice(t,1)[0],N.push(r),i.label=6;case 6:return[4,F()];case 7:return i.sent(),G(),[2]}}))}))},focus:G,unfocus:H},X=function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}u((n=n.apply(e,t||[])).next())}))},j=function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},q=function(){function e(e){l.registerAppParams(this,e);var t=l.bindExposables(this,["colors","net","manifest","res","display","unit","event","widgets"]);"object"==typeof e.callback&&("function"==typeof e.callback.onFail&&t.catch((function(t){return e.callback.onFail(t)})),"function"==typeof e.callback.onCreated&&t.then((function(){return e.callback.onCreated()}))),t.then((function(){return W.goto(e.url)}))}return e.prototype.goto=function(e){return X(this,void 0,void 0,(function(){return j(this,(function(e){return[2]}))}))},e}(),V={url:(Y=location.href,Y=Y.replace(/(\/|(\/|^)index\.(html?|php|asp|cgi)\/?)$/,""),history.replaceState({},document.title,Y),location.pathname),root:"/",domID:"fiwl-viewport",immersive:!0,callback:{onFail:function(e){if(console.error(e),!0!==z.immersive)return;var t=e.stack,r=t.substr(0,t.indexOf("\n")).replace(/\r/g,""),n=t.substr(t.indexOf("\n")+1),i=document.body;document.onselectstart=null,i.innerHTML="<h1><b>"+r+"</b></h1>",i.innerHTML+="<pre>"+n+"</pre>",i.innerHTML+="<br><br>[aborted]"}}};t.a=function(e,t){return void 0===e&&(e=null),void 0===t&&(t={}),z=Object.assign(V,t),"string"==typeof e&&(z.url=e),!0===z.immersive&&function(){if("function"==typeof window.matchMedia){window.matchMedia("(prefers-color-scheme: dark)").matches?(document.body.style.color="#ff7f7f",document.body.style.backgroundColor="#000000"):document.body.style.color="#c62828"}}(),new q(z)}},function(e,t,r){"use strict";(function(e){var n,i;r.d(t,"a",(function(){return Rn})),
/*! https://mths.be/codepointat v0.2.0 by @mathias */
String.prototype.codePointAt||(n=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),i=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var i,a=t.charCodeAt(n);return a>=55296&&a<=56319&&r>n+1&&(i=t.charCodeAt(n+1))>=56320&&i<=57343?1024*(a-55296)+i-56320+65536:a}},n?n(String.prototype,"codePointAt",{value:i,configurable:!0,writable:!0}):String.prototype.codePointAt=i);function a(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function o(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new a,this.dtree=new a}var s=new a,u=new a,l=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array(30),p=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new a,g=new Uint8Array(320);function v(e,t,r,n){var i,a;for(i=0;i<r;++i)e[i]=0;for(i=0;i<30-r;++i)e[i+r]=i/r|0;for(a=n,i=0;i<30;++i)t[i]=a,a+=1<<e[i]}var y=new Uint16Array(16);function m(e,t,r,n){var i,a;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<n;++i)e.table[t[r+i]]++;for(e.table[0]=0,a=0,i=0;i<16;++i)y[i]=a,a+=e.table[i];for(i=0;i<n;++i)t[r+i]&&(e.trans[y[t[r+i]]++]=i)}function b(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function x(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function w(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=0,n=0,i=0,a=e.tag;do{n=2*n+(1&a),a>>>=1,++i,r+=t.table[i],n-=t.table[i]}while(n>=0);return e.tag=a,e.bitcount-=i,t.trans[r+n]}function S(e,t,r){var n,i,a,o,s,u;for(n=x(e,5,257),i=x(e,5,1),a=x(e,4,4),o=0;o<19;++o)g[o]=0;for(o=0;o<a;++o){var l=x(e,3,0);g[f[o]]=l}for(m(d,g,0,19),s=0;s<n+i;){var c=w(e,d);switch(c){case 16:var h=g[s-1];for(u=x(e,2,3);u;--u)g[s++]=h;break;case 17:for(u=x(e,3,3);u;--u)g[s++]=0;break;case 18:for(u=x(e,7,11);u;--u)g[s++]=0;break;default:g[s++]=c}}m(t,g,0,n),m(r,g,n,i)}function E(e,t,r){for(;;){var n,i,a,o,s=w(e,t);if(256===s)return 0;if(s<256)e.dest[e.destLen++]=s;else for(n=x(e,l[s-=257],c[s]),i=w(e,r),o=a=e.destLen-x(e,h[i],p[i]);o<a+n;++o)e.dest[e.destLen++]=e.dest[o]}}function T(e){for(var t,r;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return-3;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,0}!function(e,t){var r;for(r=0;r<7;++r)e.table[r]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,r=0;r<24;++r)e.trans[r]=256+r;for(r=0;r<144;++r)e.trans[24+r]=r;for(r=0;r<8;++r)e.trans[168+r]=280+r;for(r=0;r<112;++r)e.trans[176+r]=144+r;for(r=0;r<5;++r)t.table[r]=0;for(t.table[5]=32,r=0;r<32;++r)t.trans[r]=r}(s,u),v(l,c,4,3),v(h,p,2,1),l[28]=0,c[28]=258;var k=function(e,t){var r,n,i=new o(e,t);do{switch(r=b(i),x(i,2,0)){case 0:n=T(i);break;case 1:n=E(i,s,u);break;case 2:S(i,i.ltree,i.dtree),n=E(i,i.ltree,i.dtree);break;default:n=-3}if(0!==n)throw new Error("Data error")}while(!r);return i.destLen<i.dest.length?"function"==typeof i.dest.slice?i.dest.slice(0,i.destLen):i.dest.subarray(0,i.destLen):i.dest};function O(e,t,r,n,i){return Math.pow(1-i,3)*e+3*Math.pow(1-i,2)*i*t+3*(1-i)*Math.pow(i,2)*r+Math.pow(i,3)*n}function U(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function R(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function L(e){throw new Error(e)}function C(e,t){e||L(t)}U.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},U.prototype.addPoint=function(e,t){"number"==typeof e&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=e,this.x2=e),e<this.x1&&(this.x1=e),e>this.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),t<this.y1&&(this.y1=t),t>this.y2&&(this.y2=t))},U.prototype.addX=function(e){this.addPoint(e,null)},U.prototype.addY=function(e){this.addPoint(null,e)},U.prototype.addBezier=function(e,t,r,n,i,a,o,s){var u=[e,t],l=[r,n],c=[i,a],h=[o,s];this.addPoint(e,t),this.addPoint(o,s);for(var p=0;p<=1;p++){var f=6*u[p]-12*l[p]+6*c[p],d=-3*u[p]+9*l[p]-9*c[p]+3*h[p],g=3*l[p]-3*u[p];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var y=(-f+Math.sqrt(v))/(2*d);0<y&&y<1&&(0===p&&this.addX(O(u[p],l[p],c[p],h[p],y)),1===p&&this.addY(O(u[p],l[p],c[p],h[p],y)));var m=(-f-Math.sqrt(v))/(2*d);0<m&&m<1&&(0===p&&this.addX(O(u[p],l[p],c[p],h[p],m)),1===p&&this.addY(O(u[p],l[p],c[p],h[p],m)))}}else{if(0===f)continue;var b=-g/f;0<b&&b<1&&(0===p&&this.addX(O(u[p],l[p],c[p],h[p],b)),1===p&&this.addY(O(u[p],l[p],c[p],h[p],b)))}}},U.prototype.addQuad=function(e,t,r,n,i,a){var o=e+2/3*(r-e),s=t+2/3*(n-t),u=o+1/3*(i-e),l=s+1/3*(a-t);this.addBezier(e,t,o,s,u,l,i,a)},R.prototype.moveTo=function(e,t){this.commands.push({type:"M",x:e,y:t})},R.prototype.lineTo=function(e,t){this.commands.push({type:"L",x:e,y:t})},R.prototype.curveTo=R.prototype.bezierCurveTo=function(e,t,r,n,i,a){this.commands.push({type:"C",x1:e,y1:t,x2:r,y2:n,x:i,y:a})},R.prototype.quadTo=R.prototype.quadraticCurveTo=function(e,t,r,n){this.commands.push({type:"Q",x1:e,y1:t,x:r,y:n})},R.prototype.close=R.prototype.closePath=function(){this.commands.push({type:"Z"})},R.prototype.extend=function(e){if(e.commands)e=e.commands;else if(e instanceof U){var t=e;return this.moveTo(t.x1,t.y1),this.lineTo(t.x2,t.y1),this.lineTo(t.x2,t.y2),this.lineTo(t.x1,t.y2),void this.close()}Array.prototype.push.apply(this.commands,e)},R.prototype.getBoundingBox=function(){for(var e=new U,t=0,r=0,n=0,i=0,a=0;a<this.commands.length;a++){var o=this.commands[a];switch(o.type){case"M":e.addPoint(o.x,o.y),t=n=o.x,r=i=o.y;break;case"L":e.addPoint(o.x,o.y),n=o.x,i=o.y;break;case"Q":e.addQuad(n,i,o.x1,o.y1,o.x,o.y),n=o.x,i=o.y;break;case"C":e.addBezier(n,i,o.x1,o.y1,o.x2,o.y2,o.x,o.y),n=o.x,i=o.y;break;case"Z":n=t,i=r;break;default:throw new Error("Unexpected path command "+o.type)}}return e.isEmpty()&&e.addPoint(0,0),e},R.prototype.draw=function(e){e.beginPath();for(var t=0;t<this.commands.length;t+=1){var r=this.commands[t];"M"===r.type?e.moveTo(r.x,r.y):"L"===r.type?e.lineTo(r.x,r.y):"C"===r.type?e.bezierCurveTo(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?e.quadraticCurveTo(r.x1,r.y1,r.x,r.y):"Z"===r.type&&e.closePath()}this.fill&&(e.fillStyle=this.fill,e.fill()),this.stroke&&(e.strokeStyle=this.stroke,e.lineWidth=this.strokeWidth,e.stroke())},R.prototype.toPathData=function(e){function t(t){return Math.round(t)===t?""+Math.round(t):t.toFixed(e)}function r(){for(var e=arguments,r="",n=0;n<arguments.length;n+=1){var i=e[n];i>=0&&n>0&&(r+=" "),r+=t(i)}return r}e=void 0!==e?e:2;for(var n="",i=0;i<this.commands.length;i+=1){var a=this.commands[i];"M"===a.type?n+="M"+r(a.x,a.y):"L"===a.type?n+="L"+r(a.x,a.y):"C"===a.type?n+="C"+r(a.x1,a.y1,a.x2,a.y2,a.x,a.y):"Q"===a.type?n+="Q"+r(a.x1,a.y1,a.x,a.y):"Z"===a.type&&(n+="Z")}return n},R.prototype.toSVG=function(e){var t='<path d="';return t+=this.toPathData(e),t+='"',this.fill&&"black"!==this.fill&&(null===this.fill?t+=' fill="none"':t+=' fill="'+this.fill+'"'),this.stroke&&(t+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),t+="/>"},R.prototype.toDOMElement=function(e){var t=this.toPathData(e),r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",t),r};var N={fail:L,argument:C,assert:C},D={},P={},M={};function A(e){return function(){return e}}P.BYTE=function(e){return N.argument(e>=0&&e<=255,"Byte value should be between 0 and 255."),[e]},M.BYTE=A(1),P.CHAR=function(e){return[e.charCodeAt(0)]},M.CHAR=A(1),P.CHARARRAY=function(e){for(var t=[],r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},M.CHARARRAY=function(e){return e.length},P.USHORT=function(e){return[e>>8&255,255&e]},M.USHORT=A(2),P.SHORT=function(e){return e>=32768&&(e=-(65536-e)),[e>>8&255,255&e]},M.SHORT=A(2),P.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},M.UINT24=A(3),P.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},M.ULONG=A(4),P.LONG=function(e){return e>=2147483648&&(e=-(4294967296-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},M.LONG=A(4),P.FIXED=P.ULONG,M.FIXED=M.ULONG,P.FWORD=P.SHORT,M.FWORD=M.SHORT,P.UFWORD=P.USHORT,M.UFWORD=M.USHORT,P.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},M.LONGDATETIME=A(8),P.TAG=function(e){return N.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},M.TAG=A(4),P.Card8=P.BYTE,M.Card8=M.BYTE,P.Card16=P.USHORT,M.Card16=M.USHORT,P.OffSize=P.BYTE,M.OffSize=M.BYTE,P.SID=P.USHORT,M.SID=M.USHORT,P.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?P.NUMBER16(e):P.NUMBER32(e)},M.NUMBER=function(e){return P.NUMBER(e).length},P.NUMBER16=function(e){return[28,e>>8&255,255&e]},M.NUMBER16=A(3),P.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},M.NUMBER32=A(5),P.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var i="",a=0,o=t.length;a<o;a+=1){var s=t[a];i+="e"===s?"-"===t[++a]?"c":"b":"."===s?"a":"-"===s?"e":s}for(var u=[30],l=0,c=(i+=1&i.length?"f":"ff").length;l<c;l+=2)u.push(parseInt(i.substr(l,2),16));return u},M.REAL=function(e){return P.REAL(e).length},P.NAME=P.CHARARRAY,M.NAME=M.CHARARRAY,P.STRING=P.CHARARRAY,M.STRING=M.CHARARRAY,D.UTF8=function(e,t,r){for(var n=[],i=r,a=0;a<i;a++,t+=1)n[a]=e.getUint8(t);return String.fromCharCode.apply(null,n)},D.UTF16=function(e,t,r){for(var n=[],i=r/2,a=0;a<i;a++,t+=2)n[a]=e.getUint16(t);return String.fromCharCode.apply(null,n)},P.UTF16=function(e){for(var t=[],r=0;r<e.length;r+=1){var n=e.charCodeAt(r);t[t.length]=n>>8&255,t[t.length]=255&n}return t},M.UTF16=function(e){return 2*e.length};var I={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};D.MACSTRING=function(e,t,r,n){var i=I[n];if(void 0!==i){for(var a="",o=0;o<r;o++){var s=e.getUint8(t+o);a+=s<=127?String.fromCharCode(s):i[127&s]}return a}};var B,F="function"==typeof WeakMap&&new WeakMap;function G(e){return e>=-128&&e<=127}function _(e,t,r){for(var n=0,i=e.length;t<i&&n<64&&0===e[t];)++t,++n;return r.push(128|n-1),t}function H(e,t,r){for(var n=0,i=e.length,a=t;a<i&&n<64;){var o=e[a];if(!G(o))break;if(0===o&&a+1<i&&0===e[a+1])break;++a,++n}r.push(n-1);for(var s=t;s<a;++s)r.push(e[s]+256&255);return a}function z(e,t,r){for(var n=0,i=e.length,a=t;a<i&&n<64;){var o=e[a];if(0===o)break;if(G(o)&&a+1<i&&G(e[a+1]))break;++a,++n}r.push(64|n-1);for(var s=t;s<a;++s){var u=e[s];r.push(u+65536>>8&255,u+256&255)}return a}P.MACSTRING=function(e,t){var r=function(e){if(!B)for(var t in B={},I)B[t]=new String(t);var r=B[e];if(void 0!==r){if(F){var n=F.get(r);if(void 0!==n)return n}var i=I[e];if(void 0!==i){for(var a={},o=0;o<i.length;o++)a[i.charCodeAt(o)]=o+128;return F&&F.set(r,a),a}}}(t);if(void 0!==r){for(var n=[],i=0;i<e.length;i++){var a=e.charCodeAt(i);if(a>=128&&void 0===(a=r[a]))return;n[i]=a}return n}},M.MACSTRING=function(e,t){var r=P.MACSTRING(e,t);return void 0!==r?r.length:0},P.VARDELTAS=function(e){for(var t=0,r=[];t<e.length;){var n=e[t];t=0===n?_(e,t,r):n>=-128&&n<=127?H(e,t,r):z(e,t,r)}return r},P.INDEX=function(e){for(var t=1,r=[t],n=[],i=0;i<e.length;i+=1){var a=P.OBJECT(e[i]);Array.prototype.push.apply(n,a),t+=a.length,r.push(t)}if(0===n.length)return[0,0];for(var o=[],s=1+Math.floor(Math.log(t)/Math.log(2))/8|0,u=[void 0,P.BYTE,P.USHORT,P.UINT24,P.ULONG][s],l=0;l<r.length;l+=1){var c=u(r[l]);Array.prototype.push.apply(o,c)}return Array.prototype.concat(P.Card16(e.length),P.OffSize(s),o,n)},M.INDEX=function(e){return P.INDEX(e).length},P.DICT=function(e){for(var t=[],r=Object.keys(e),n=r.length,i=0;i<n;i+=1){var a=parseInt(r[i],0),o=e[a];t=(t=t.concat(P.OPERAND(o.value,o.type))).concat(P.OPERATOR(a))}return t},M.DICT=function(e){return P.DICT(e).length},P.OPERATOR=function(e){return e<1200?[e]:[12,e-1200]},P.OPERAND=function(e,t){var r=[];if(Array.isArray(t))for(var n=0;n<t.length;n+=1)N.argument(e.length===t.length,"Not enough arguments given for type"+t),r=r.concat(P.OPERAND(e[n],t[n]));else if("SID"===t)r=r.concat(P.NUMBER(e));else if("offset"===t)r=r.concat(P.NUMBER32(e));else if("number"===t)r=r.concat(P.NUMBER(e));else{if("real"!==t)throw new Error("Unknown operand type "+t);r=r.concat(P.REAL(e))}return r},P.OP=P.BYTE,M.OP=M.BYTE;var Y="function"==typeof WeakMap&&new WeakMap;function W(e,t,r){for(var n=0;n<t.length;n+=1){var i=t[n];this[i.name]=i.value}if(this.tableName=e,this.fields=t,r)for(var a=Object.keys(r),o=0;o<a.length;o+=1){var s=a[o],u=r[s];void 0!==this[s]&&(this[s]=u)}}function X(e,t,r){void 0===r&&(r=t.length);var n=new Array(t.length+1);n[0]={name:e+"Count",type:"USHORT",value:r};for(var i=0;i<t.length;i++)n[i+1]={name:e+i,type:"USHORT",value:t[i]};return n}function j(e,t,r){var n=t.length,i=new Array(n+1);i[0]={name:e+"Count",type:"USHORT",value:n};for(var a=0;a<n;a++)i[a+1]={name:e+a,type:"TABLE",value:r(t[a],a)};return i}function q(e,t,r){var n=t.length,i=[];i[0]={name:e+"Count",type:"USHORT",value:n};for(var a=0;a<n;a++)i=i.concat(r(t[a],a));return i}function V(e){1===e.format?W.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(X("glyph",e.glyphs))):N.assert(!1,"Can't create coverage table format 2 yet.")}function K(e){W.call(this,"scriptListTable",q("scriptRecord",e,(function(e,t){var r=e.script,n=r.defaultLangSys;return N.assert(!!n,"Unable to write GSUB: script "+e.tag+" has no default language system."),[{name:"scriptTag"+t,type:"TAG",value:e.tag},{name:"script"+t,type:"TABLE",value:new W("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new W("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:n.reqFeatureIndex}].concat(X("featureIndex",n.featureIndexes)))}].concat(q("langSys",r.langSysRecords,(function(e,t){var r=e.langSys;return[{name:"langSysTag"+t,type:"TAG",value:e.tag},{name:"langSys"+t,type:"TABLE",value:new W("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:r.reqFeatureIndex}].concat(X("featureIndex",r.featureIndexes)))}]}))))}]})))}function Z(e){W.call(this,"featureListTable",q("featureRecord",e,(function(e,t){var r=e.feature;return[{name:"featureTag"+t,type:"TAG",value:e.tag},{name:"feature"+t,type:"TABLE",value:new W("featureTable",[{name:"featureParams",type:"USHORT",value:r.featureParams}].concat(X("lookupListIndex",r.lookupListIndexes)))}]})))}function J(e,t){W.call(this,"lookupListTable",j("lookup",e,(function(e){var r=t[e.lookupType];return N.assert(!!r,"Unable to write GSUB lookup type "+e.lookupType+" tables."),new W("lookupTable",[{name:"lookupType",type:"USHORT",value:e.lookupType},{name:"lookupFlag",type:"USHORT",value:e.lookupFlag}].concat(j("subtable",e.subtables,r)))})))}P.CHARSTRING=function(e){if(Y){var t=Y.get(e);if(void 0!==t)return t}for(var r=[],n=e.length,i=0;i<n;i+=1){var a=e[i];r=r.concat(P[a.type](a.value))}return Y&&Y.set(e,r),r},M.CHARSTRING=function(e){return P.CHARSTRING(e).length},P.OBJECT=function(e){var t=P[e.type];return N.argument(void 0!==t,"No encoding function for type "+e.type),t(e.value)},M.OBJECT=function(e){var t=M[e.type];return N.argument(void 0!==t,"No sizeOf function for type "+e.type),t(e.value)},P.TABLE=function(e){for(var t=[],r=e.fields.length,n=[],i=[],a=0;a<r;a+=1){var o=e.fields[a],s=P[o.type];N.argument(void 0!==s,"No encoding function for field type "+o.type+" ("+o.name+")");var u=e[o.name];void 0===u&&(u=o.value);var l=s(u);"TABLE"===o.type?(i.push(t.length),t=t.concat([0,0]),n.push(l)):t=t.concat(l)}for(var c=0;c<n.length;c+=1){var h=i[c],p=t.length;N.argument(p<65536,"Table "+e.tableName+" too big."),t[h]=p>>8,t[h+1]=255&p,t=t.concat(n[c])}return t},M.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n<r;n+=1){var i=e.fields[n],a=M[i.type];N.argument(void 0!==a,"No sizeOf function for field type "+i.type+" ("+i.name+")");var o=e[i.name];void 0===o&&(o=i.value),t+=a(o),"TABLE"===i.type&&(t+=2)}return t},P.RECORD=P.TABLE,M.RECORD=M.TABLE,P.LITERAL=function(e){return e},M.LITERAL=function(e){return e.length},W.prototype.encode=function(){return P.TABLE(this)},W.prototype.sizeOf=function(){return M.TABLE(this)},V.prototype=Object.create(W.prototype),V.prototype.constructor=V,K.prototype=Object.create(W.prototype),K.prototype.constructor=K,Z.prototype=Object.create(W.prototype),Z.prototype.constructor=Z,J.prototype=Object.create(W.prototype),J.prototype.constructor=J;var Q={Table:W,Record:W,Coverage:V,ScriptList:K,FeatureList:Z,LookupList:J,ushortList:X,tableList:j,recordList:q};function $(e,t){return e.getUint8(t)}function ee(e,t){return e.getUint16(t,!1)}function te(e,t){return e.getUint32(t,!1)}function re(e,t){return e.getInt16(t,!1)+e.getUint16(t+2,!1)/65535}var ne={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function ie(e,t){this.data=e,this.offset=t,this.relativeOffset=0}ie.prototype.parseByte=function(){var e=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ie.prototype.parseChar=function(){var e=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,e},ie.prototype.parseCard8=ie.prototype.parseByte,ie.prototype.parseUShort=function(){var e=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ie.prototype.parseCard16=ie.prototype.parseUShort,ie.prototype.parseSID=ie.prototype.parseUShort,ie.prototype.parseOffset16=ie.prototype.parseUShort,ie.prototype.parseShort=function(){var e=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,e},ie.prototype.parseF2Dot14=function(){var e=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,e},ie.prototype.parseULong=function(){var e=te(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ie.prototype.parseOffset32=ie.prototype.parseULong,ie.prototype.parseFixed=function(){var e=re(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,e},ie.prototype.parseString=function(e){var t=this.data,r=this.offset+this.relativeOffset,n="";this.relativeOffset+=e;for(var i=0;i<e;i++)n+=String.fromCharCode(t.getUint8(r+i));return n},ie.prototype.parseTag=function(){return this.parseString(4)},ie.prototype.parseLongDateTime=function(){var e=te(this.data,this.offset+this.relativeOffset+4);return e-=2082844800,this.relativeOffset+=8,e},ie.prototype.parseVersion=function(e){var t=ee(this.data,this.offset+this.relativeOffset),r=ee(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===e&&(e=4096),t+r/e/10},ie.prototype.skip=function(e,t){void 0===t&&(t=1),this.relativeOffset+=ne[e]*t},ie.prototype.parseULongList=function(e){void 0===e&&(e=this.parseULong());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=r.getUint32(n),n+=4;return this.relativeOffset+=4*e,t},ie.prototype.parseOffset16List=ie.prototype.parseUShortList=function(e){void 0===e&&(e=this.parseUShort());for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=r.getUint16(n),n+=2;return this.relativeOffset+=2*e,t},ie.prototype.parseShortList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=r.getInt16(n),n+=2;return this.relativeOffset+=2*e,t},ie.prototype.parseByteList=function(e){for(var t=new Array(e),r=this.data,n=this.offset+this.relativeOffset,i=0;i<e;i++)t[i]=r.getUint8(n++);return this.relativeOffset+=e,t},ie.prototype.parseList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ie.prototype.parseList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=0;n<e;n++)r[n]=t.call(this);return r},ie.prototype.parseRecordList=function(e,t){t||(t=e,e=this.parseUShort());for(var r=new Array(e),n=Object.keys(t),i=0;i<e;i++){for(var a={},o=0;o<n.length;o++){var s=n[o],u=t[s];a[s]=u.call(this)}r[i]=a}return r},ie.prototype.parseRecordList32=function(e,t){t||(t=e,e=this.parseULong());for(var r=new Array(e),n=Object.keys(t),i=0;i<e;i++){for(var a={},o=0;o<n.length;o++){var s=n[o],u=t[s];a[s]=u.call(this)}r[i]=a}return r},ie.prototype.parseStruct=function(e){if("function"==typeof e)return e.call(this);for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var i=t[n],a=e[i];r[i]=a.call(this)}return r},ie.prototype.parseValueRecord=function(e){if(void 0===e&&(e=this.parseUShort()),0!==e){var t={};return 1&e&&(t.xPlacement=this.parseShort()),2&e&&(t.yPlacement=this.parseShort()),4&e&&(t.xAdvance=this.parseShort()),8&e&&(t.yAdvance=this.parseShort()),16&e&&(t.xPlaDevice=void 0,this.parseShort()),32&e&&(t.yPlaDevice=void 0,this.parseShort()),64&e&&(t.xAdvDevice=void 0,this.parseShort()),128&e&&(t.yAdvDevice=void 0,this.parseShort()),t}},ie.prototype.parseValueRecordList=function(){for(var e=this.parseUShort(),t=this.parseUShort(),r=new Array(t),n=0;n<t;n++)r[n]=this.parseValueRecord(e);return r},ie.prototype.parsePointer=function(e){var t=this.parseOffset16();if(t>0)return new ie(this.data,this.offset+t).parseStruct(e)},ie.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ie(this.data,this.offset+t).parseStruct(e)},ie.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,i=new Array(r),a=0;a<r;a++){var o=t[a];if(0!==o)if(this.relativeOffset=o,e){for(var s=this.parseOffset16List(),u=new Array(s.length),l=0;l<s.length;l++)this.relativeOffset=o+s[l],u[l]=e.call(this);i[a]=u}else i[a]=this.parseUShortList();else i[a]=void 0}return this.relativeOffset=n,i},ie.prototype.parseCoverage=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort(),r=this.parseUShort();if(1===t)return{format:1,glyphs:this.parseUShortList(r)};if(2===t){for(var n=new Array(r),i=0;i<r;i++)n[i]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:n}}throw new Error("0x"+e.toString(16)+": Coverage format must be 1 or 2.")},ie.prototype.parseClassDef=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===t)return{format:2,ranges:this.parseRecordList({start:ie.uShort,end:ie.uShort,classId:ie.uShort})};throw new Error("0x"+e.toString(16)+": ClassDef format must be 1 or 2.")},ie.list=function(e,t){return function(){return this.parseList(e,t)}},ie.list32=function(e,t){return function(){return this.parseList32(e,t)}},ie.recordList=function(e,t){return function(){return this.parseRecordList(e,t)}},ie.recordList32=function(e,t){return function(){return this.parseRecordList32(e,t)}},ie.pointer=function(e){return function(){return this.parsePointer(e)}},ie.pointer32=function(e){return function(){return this.parsePointer32(e)}},ie.tag=ie.prototype.parseTag,ie.byte=ie.prototype.parseByte,ie.uShort=ie.offset16=ie.prototype.parseUShort,ie.uShortList=ie.prototype.parseUShortList,ie.uLong=ie.offset32=ie.prototype.parseULong,ie.uLongList=ie.prototype.parseULongList,ie.struct=ie.prototype.parseStruct,ie.coverage=ie.prototype.parseCoverage,ie.classDef=ie.prototype.parseClassDef;var ae={reserved:ie.uShort,reqFeatureIndex:ie.uShort,featureIndexes:ie.uShortList};ie.prototype.parseScriptList=function(){return this.parsePointer(ie.recordList({tag:ie.tag,script:ie.pointer({defaultLangSys:ie.pointer(ae),langSysRecords:ie.recordList({tag:ie.tag,langSys:ie.pointer(ae)})})}))||[]},ie.prototype.parseFeatureList=function(){return this.parsePointer(ie.recordList({tag:ie.tag,feature:ie.pointer({featureParams:ie.offset16,lookupListIndexes:ie.uShortList})}))||[]},ie.prototype.parseLookupList=function(e){return this.parsePointer(ie.list(ie.pointer((function(){var t=this.parseUShort();N.argument(1<=t&&t<=9,"GPOS/GSUB lookup type "+t+" unknown.");var r=this.parseUShort(),n=16&r;return{lookupType:t,lookupFlag:r,subtables:this.parseList(ie.pointer(e[t])),markFilteringSet:n?this.parseUShort():void 0}}))))||[]},ie.prototype.parseFeatureVariationsList=function(){return this.parsePointer32((function(){var e=this.parseUShort(),t=this.parseUShort();return N.argument(1===e&&t<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:ie.offset32,featureTableSubstitutionOffset:ie.offset32})}))||[]};var oe={getByte:$,getCard8:$,getUShort:ee,getCard16:ee,getShort:function(e,t){return e.getInt16(t,!1)},getULong:te,getFixed:re,getTag:function(e,t){for(var r="",n=t;n<t+4;n+=1)r+=String.fromCharCode(e.getInt8(n));return r},getOffset:function(e,t,r){for(var n=0,i=0;i<r;i+=1)n<<=8,n+=e.getUint8(t+i);return n},getBytes:function(e,t,r){for(var n=[],i=t;i<r;i+=1)n.push(e.getUint8(i));return n},bytesToString:function(e){for(var t="",r=0;r<e.length;r+=1)t+=String.fromCharCode(e[r]);return t},Parser:ie};function se(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}var ue={parse:function(e,t){var r={};r.version=oe.getUShort(e,t),N.argument(0===r.version,"cmap table version should be 0."),r.numTables=oe.getUShort(e,t+2);for(var n=-1,i=r.numTables-1;i>=0;i-=1){var a=oe.getUShort(e,t+4+8*i),o=oe.getUShort(e,t+4+8*i+2);if(3===a&&(0===o||1===o||10===o)||0===a&&(0===o||1===o||2===o||3===o||4===o)){n=oe.getULong(e,t+4+8*i+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var s=new oe.Parser(e,t+n);if(r.format=s.parseUShort(),12===r.format)!function(e,t){var r;t.parseUShort(),e.length=t.parseULong(),e.language=t.parseULong(),e.groupCount=r=t.parseULong(),e.glyphIndexMap={};for(var n=0;n<r;n+=1)for(var i=t.parseULong(),a=t.parseULong(),o=t.parseULong(),s=i;s<=a;s+=1)e.glyphIndexMap[s]=o,o++}(r,s);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");!function(e,t,r,n,i){var a;e.length=t.parseUShort(),e.language=t.parseUShort(),e.segCount=a=t.parseUShort()>>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new oe.Parser(r,n+i+14),s=new oe.Parser(r,n+i+16+2*a),u=new oe.Parser(r,n+i+16+4*a),l=new oe.Parser(r,n+i+16+6*a),c=n+i+16+8*a,h=0;h<a-1;h+=1)for(var p=void 0,f=o.parseUShort(),d=s.parseUShort(),g=u.parseShort(),v=l.parseUShort(),y=d;y<=f;y+=1)0!==v?(c=l.offset+l.relativeOffset-2,c+=v,c+=2*(y-d),0!==(p=oe.getUShort(r,c))&&(p=p+g&65535)):p=y+g&65535,e.glyphIndexMap[y]=p}(r,s,e,t,n)}return r},make:function(e){var t,r=!0;for(t=e.length-1;t>0;t-=1){if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var i=new Q.Table("cmap",n);for(i.segments=[],t=0;t<e.length;t+=1){for(var a=e.get(t),o=0;o<a.unicodes.length;o+=1)se(i,a.unicodes[o],t);i.segments=i.segments.sort((function(e,t){return e.start-t.start}))}!function(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}(i);var s=i.segments.length,u=0,l=[],c=[],h=[],p=[],f=[],d=[];for(t=0;t<s;t+=1){var g=i.segments[t];g.end<=65535&&g.start<=65535?(l=l.concat({name:"end_"+t,type:"USHORT",value:g.end}),c=c.concat({name:"start_"+t,type:"USHORT",value:g.start}),h=h.concat({name:"idDelta_"+t,type:"SHORT",value:g.delta}),p=p.concat({name:"idRangeOffset_"+t,type:"USHORT",value:g.offset}),void 0!==g.glyphId&&(f=f.concat({name:"glyph_"+t,type:"USHORT",value:g.glyphId}))):u+=1,r||void 0===g.glyphIndex||(d=(d=(d=d.concat({name:"cmap12Start_"+t,type:"ULONG",value:g.start})).concat({name:"cmap12End_"+t,type:"ULONG",value:g.end})).concat({name:"cmap12Glyph_"+t,type:"ULONG",value:g.glyphIndex}))}if(i.segCountX2=2*(s-u),i.searchRange=2*Math.pow(2,Math.floor(Math.log(s-u)/Math.log(2))),i.entrySelector=Math.log(i.searchRange/2)/Math.log(2),i.rangeShift=i.segCountX2-i.searchRange,i.fields=i.fields.concat(l),i.fields.push({name:"reservedPad",type:"USHORT",value:0}),i.fields=i.fields.concat(c),i.fields=i.fields.concat(h),i.fields=i.fields.concat(p),i.fields=i.fields.concat(f),i.cmap4Length=14+2*l.length+2+2*c.length+2*h.length+2*p.length+2*f.length,!r){var v=16+4*d.length;i.cmap12Offset=20+i.cmap4Length,i.fields=i.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:v},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:d.length/3}]),i.fields=i.fields.concat(d)}return i}},le=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],ce=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],he=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],pe=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function fe(e){this.font=e}function de(e){this.cmap=e}function ge(e,t){this.encoding=e,this.charset=t}function ve(e){switch(e.version){case 1:this.names=pe.slice();break;case 2:this.names=new Array(e.numberOfGlyphs);for(var t=0;t<e.numberOfGlyphs;t++)e.glyphNameIndex[t]<pe.length?this.names[t]=pe[e.glyphNameIndex[t]]:this.names[t]=e.names[e.glyphNameIndex[t]-pe.length];break;case 2.5:this.names=new Array(e.numberOfGlyphs);for(var r=0;r<e.numberOfGlyphs;r++)this.names[r]=pe[r+e.glyphNameIndex[r]];break;case 3:default:this.names=[]}}function ye(e,t){t.lowMemory?function(e){e._IndexToUnicodeMap={};for(var t=e.tables.cmap.glyphIndexMap,r=Object.keys(t),n=0;n<r.length;n+=1){var i=r[n],a=t[i];void 0===e._IndexToUnicodeMap[a]?e._IndexToUnicodeMap[a]={unicodes:[parseInt(i)]}:e._IndexToUnicodeMap[a].unicodes.push(parseInt(i))}}(e):function(e){for(var t,r=e.tables.cmap.glyphIndexMap,n=Object.keys(r),i=0;i<n.length;i+=1){var a=n[i],o=r[a];(t=e.glyphs.get(o)).addUnicode(parseInt(a))}for(var s=0;s<e.glyphs.length;s+=1)t=e.glyphs.get(s),e.cffEncoding?e.isCIDFont?t.name="gid"+s:t.name=e.cffEncoding.charset[s]:e.glyphNames.names&&(t.name=e.glyphNames.glyphIndexToName(s))}(e)}fe.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.font.glyphs;if(r)for(var n=0;n<r.length;n+=1)for(var i=r.get(n),a=0;a<i.unicodes.length;a+=1)if(i.unicodes[a]===t)return n;return null},de.prototype.charToGlyphIndex=function(e){return this.cmap.glyphIndexMap[e.codePointAt(0)]||0},ge.prototype.charToGlyphIndex=function(e){var t=e.codePointAt(0),r=this.encoding[t];return this.charset.indexOf(r)},ve.prototype.nameToGlyphIndex=function(e){return this.names.indexOf(e)},ve.prototype.glyphIndexToName=function(e){return this.names[e]};var me={line:function(e,t,r,n,i){e.beginPath(),e.moveTo(t,r),e.lineTo(n,i),e.stroke()}};function be(e){this.bindConstructorValues(e)}function xe(e,t,r){Object.defineProperty(e,t,{get:function(){return e.path,e[r]},set:function(t){e[r]=t},enumerable:!0,configurable:!0})}function we(e,t){if(this.font=e,this.glyphs={},Array.isArray(t))for(var r=0;r<t.length;r++){var n=t[r];n.path.unitsPerEm=e.unitsPerEm,this.glyphs[r]=n}this.length=t&&t.length||0}be.prototype.bindConstructorValues=function(e){var t,r;this.index=e.index||0,this.name=e.name||null,this.unicode=e.unicode||void 0,this.unicodes=e.unicodes||void 0!==e.unicode?[e.unicode]:[],"xMin"in e&&(this.xMin=e.xMin),"yMin"in e&&(this.yMin=e.yMin),"xMax"in e&&(this.xMax=e.xMax),"yMax"in e&&(this.yMax=e.yMax),"advanceWidth"in e&&(this.advanceWidth=e.advanceWidth),Object.defineProperty(this,"path",(t=e.path,r=t||new R,{configurable:!0,get:function(){return"function"==typeof r&&(r=r()),r},set:function(e){r=e}}))},be.prototype.addUnicode=function(e){0===this.unicodes.length&&(this.unicode=e),this.unicodes.push(e)},be.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},be.prototype.getPath=function(e,t,r,n,i){var a,o;e=void 0!==e?e:0,t=void 0!==t?t:0,r=void 0!==r?r:72,n||(n={});var s=n.xScale,u=n.yScale;if(n.hinting&&i&&i.hinting&&(o=this.path&&i.hinting.exec(this,r)),o)a=i.hinting.getCommands(o),e=Math.round(e),t=Math.round(t),s=u=1;else{a=this.path.commands;var l=1/(this.path.unitsPerEm||1e3)*r;void 0===s&&(s=l),void 0===u&&(u=l)}for(var c=new R,h=0;h<a.length;h+=1){var p=a[h];"M"===p.type?c.moveTo(e+p.x*s,t+-p.y*u):"L"===p.type?c.lineTo(e+p.x*s,t+-p.y*u):"Q"===p.type?c.quadraticCurveTo(e+p.x1*s,t+-p.y1*u,e+p.x*s,t+-p.y*u):"C"===p.type?c.curveTo(e+p.x1*s,t+-p.y1*u,e+p.x2*s,t+-p.y2*u,e+p.x*s,t+-p.y*u):"Z"===p.type&&c.closePath()}return c},be.prototype.getContours=function(){if(void 0===this.points)return[];for(var e=[],t=[],r=0;r<this.points.length;r+=1){var n=this.points[r];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return N.argument(0===t.length,"There are still points left in the current contour."),e},be.prototype.getMetrics=function(){for(var e=this.path.commands,t=[],r=[],n=0;n<e.length;n+=1){var i=e[n];"Z"!==i.type&&(t.push(i.x),r.push(i.y)),"Q"!==i.type&&"C"!==i.type||(t.push(i.x1),r.push(i.y1)),"C"===i.type&&(t.push(i.x2),r.push(i.y2))}var a={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,r),xMax:Math.max.apply(null,t),yMax:Math.max.apply(null,r),leftSideBearing:this.leftSideBearing};return isFinite(a.xMin)||(a.xMin=0),isFinite(a.xMax)||(a.xMax=this.advanceWidth),isFinite(a.yMin)||(a.yMin=0),isFinite(a.yMax)||(a.yMax=0),a.rightSideBearing=this.advanceWidth-a.leftSideBearing-(a.xMax-a.xMin),a},be.prototype.draw=function(e,t,r,n,i){this.getPath(t,r,n,i).draw(e)},be.prototype.drawPoints=function(e,t,r,n){function i(t,r,n,i){e.beginPath();for(var a=0;a<t.length;a+=1)e.moveTo(r+t[a].x*i,n+t[a].y*i),e.arc(r+t[a].x*i,n+t[a].y*i,2,0,2*Math.PI,!1);e.closePath(),e.fill()}t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24;for(var a=1/this.path.unitsPerEm*n,o=[],s=[],u=this.path,l=0;l<u.commands.length;l+=1){var c=u.commands[l];void 0!==c.x&&o.push({x:c.x,y:-c.y}),void 0!==c.x1&&s.push({x:c.x1,y:-c.y1}),void 0!==c.x2&&s.push({x:c.x2,y:-c.y2})}e.fillStyle="blue",i(o,t,r,a),e.fillStyle="red",i(s,t,r,a)},be.prototype.drawMetrics=function(e,t,r,n){var i;t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:24,i=1/this.path.unitsPerEm*n,e.lineWidth=1,e.strokeStyle="black",me.line(e,t,-1e4,t,1e4),me.line(e,-1e4,r,1e4,r);var a=this.xMin||0,o=this.yMin||0,s=this.xMax||0,u=this.yMax||0,l=this.advanceWidth||0;e.strokeStyle="blue",me.line(e,t+a*i,-1e4,t+a*i,1e4),me.line(e,t+s*i,-1e4,t+s*i,1e4),me.line(e,-1e4,r+-o*i,1e4,r+-o*i),me.line(e,-1e4,r+-u*i,1e4,r+-u*i),e.strokeStyle="green",me.line(e,t+l*i,-1e4,t+l*i,1e4)},we.prototype.get=function(e){if(void 0===this.glyphs[e]){this.font._push(e),"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());var t=this.glyphs[e],r=this.font._IndexToUnicodeMap[e];if(r)for(var n=0;n<r.unicodes.length;n++)t.addUnicode(r.unicodes[n]);this.font.cffEncoding?this.font.isCIDFont?t.name="gid"+e:t.name=this.font.cffEncoding.charset[e]:this.font.glyphNames.names&&(t.name=this.font.glyphNames.glyphIndexToName(e)),this.glyphs[e].advanceWidth=this.font._hmtxTableData[e].advanceWidth,this.glyphs[e].leftSideBearing=this.font._hmtxTableData[e].leftSideBearing}else"function"==typeof this.glyphs[e]&&(this.glyphs[e]=this.glyphs[e]());return this.glyphs[e]},we.prototype.push=function(e,t){this.glyphs[e]=t,this.length++};var Se={GlyphSet:we,glyphLoader:function(e,t){return new be({index:t,font:e})},ttfGlyphLoader:function(e,t,r,n,i,a){return function(){var o=new be({index:t,font:e});return o.path=function(){r(o,n,i);var t=a(e.glyphs,o);return t.unitsPerEm=e.unitsPerEm,t},xe(o,"xMin","_xMin"),xe(o,"xMax","_xMax"),xe(o,"yMin","_yMin"),xe(o,"yMax","_yMax"),o}},cffGlyphLoader:function(e,t,r,n){return function(){var i=new be({index:t,font:e});return i.path=function(){var t=r(e,i,n);return t.unitsPerEm=e.unitsPerEm,t},i}}};function Ee(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r+=1)if(!Ee(e[r],t[r]))return!1;return!0}return!1}function Te(e){return e.length<1240?107:e.length<33900?1131:32768}function ke(e,t,r){var n,i,a=[],o=[],s=oe.getCard16(e,t);if(0!==s){var u=oe.getByte(e,t+2);n=t+(s+1)*u+2;for(var l=t+3,c=0;c<s+1;c+=1)a.push(oe.getOffset(e,l,u)),l+=u;i=n+a[s]}else i=t+2;for(var h=0;h<a.length-1;h+=1){var p=oe.getBytes(e,n+a[h],n+a[h+1]);r&&(p=r(p)),o.push(p)}return{objects:o,startOffset:t,endOffset:i}}function Oe(e,t){if(28===t)return e.parseByte()<<8|e.parseByte();if(29===t)return e.parseByte()<<24|e.parseByte()<<16|e.parseByte()<<8|e.parseByte();if(30===t)return function(e){for(var t="",r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var n=e.parseByte(),i=n>>4,a=15&n;if(15===i)break;if(t+=r[i],15===a)break;t+=r[a]}return parseFloat(t)}(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function Ue(e,t,r){t=void 0!==t?t:0;var n=new oe.Parser(e,t),i=[],a=[];for(r=void 0!==r?r:e.length;n.relativeOffset<r;){var o=n.parseByte();o<=21?(12===o&&(o=1200+n.parseByte()),i.push([o,a]),a=[]):a.push(Oe(n,o))}return function(e){for(var t={},r=0;r<e.length;r+=1){var n=e[r][0],i=e[r][1],a=void 0;if(a=1===i.length?i[0]:i,t.hasOwnProperty(n)&&!isNaN(t[n]))throw new Error("Object "+t+" already has key "+n);t[n]=a}return t}(i)}function Re(e,t){return t=t<=390?le[t]:e[t-391]}function Le(e,t,r){for(var n,i={},a=0;a<t.length;a+=1){var o=t[a];if(Array.isArray(o.type)){var s=[];s.length=o.type.length;for(var u=0;u<o.type.length;u++)void 0===(n=void 0!==e[o.op]?e[o.op][u]:void 0)&&(n=void 0!==o.value&&void 0!==o.value[u]?o.value[u]:null),"SID"===o.type[u]&&(n=Re(r,n)),s[u]=n;i[o.name]=s}else void 0===(n=e[o.op])&&(n=void 0!==o.value?o.value:null),"SID"===o.type&&(n=Re(r,n)),i[o.name]=n}return i}var Ce=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],Ne=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function De(e,t){return Le(Ue(e,0,e.byteLength),Ce,t)}function Pe(e,t,r,n){return Le(Ue(e,t,r),Ne,n)}function Me(e,t,r,n){for(var i=[],a=0;a<r.length;a+=1){var o=De(new DataView(new Uint8Array(r[a]).buffer),n);o._subrs=[],o._subrsBias=0;var s=o.private[0],u=o.private[1];if(0!==s&&0!==u){var l=Pe(e,u+t,s,n);if(o._defaultWidthX=l.defaultWidthX,o._nominalWidthX=l.nominalWidthX,0!==l.subrs){var c=ke(e,u+l.subrs+t);o._subrs=c.objects,o._subrsBias=Te(o._subrs)}o._privateDict=l}i.push(o)}return i}function Ae(e,t,r){var n,i,a,o,s,u,l,c,h=new R,p=[],f=0,d=!1,g=!1,v=0,y=0;if(e.isCIDFont){var m=e.tables.cff.topDict._fdSelect[t.index],b=e.tables.cff.topDict._fdArray[m];s=b._subrs,u=b._subrsBias,l=b._defaultWidthX,c=b._nominalWidthX}else s=e.tables.cff.topDict._subrs,u=e.tables.cff.topDict._subrsBias,l=e.tables.cff.topDict._defaultWidthX,c=e.tables.cff.topDict._nominalWidthX;var x=l;function w(e,t){g&&h.closePath(),h.moveTo(e,t),g=!0}function S(){p.length%2!=0&&!d&&(x=p.shift()+c),f+=p.length>>1,p.length=0,d=!0}return function r(l){for(var m,b,E,T,k,O,U,R,L,C,N,D,P=0;P<l.length;){var M=l[P];switch(P+=1,M){case 1:case 3:S();break;case 4:p.length>1&&!d&&(x=p.shift()+c,d=!0),y+=p.pop(),w(v,y);break;case 5:for(;p.length>0;)v+=p.shift(),y+=p.shift(),h.lineTo(v,y);break;case 6:for(;p.length>0&&(v+=p.shift(),h.lineTo(v,y),0!==p.length);)y+=p.shift(),h.lineTo(v,y);break;case 7:for(;p.length>0&&(y+=p.shift(),h.lineTo(v,y),0!==p.length);)v+=p.shift(),h.lineTo(v,y);break;case 8:for(;p.length>0;)n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o+p.shift(),h.curveTo(n,i,a,o,v,y);break;case 10:k=p.pop()+u,(O=s[k])&&r(O);break;case 11:return;case 12:switch(M=l[P],P+=1,M){case 35:n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),U=a+p.shift(),R=o+p.shift(),L=U+p.shift(),C=R+p.shift(),N=L+p.shift(),D=C+p.shift(),v=N+p.shift(),y=D+p.shift(),p.shift(),h.curveTo(n,i,a,o,U,R),h.curveTo(L,C,N,D,v,y);break;case 34:n=v+p.shift(),i=y,a=n+p.shift(),o=i+p.shift(),U=a+p.shift(),R=o,L=U+p.shift(),C=o,N=L+p.shift(),D=y,v=N+p.shift(),h.curveTo(n,i,a,o,U,R),h.curveTo(L,C,N,D,v,y);break;case 36:n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),U=a+p.shift(),R=o,L=U+p.shift(),C=o,N=L+p.shift(),D=C+p.shift(),v=N+p.shift(),h.curveTo(n,i,a,o,U,R),h.curveTo(L,C,N,D,v,y);break;case 37:n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),U=a+p.shift(),R=o+p.shift(),L=U+p.shift(),C=R+p.shift(),N=L+p.shift(),D=C+p.shift(),Math.abs(N-v)>Math.abs(D-y)?v=N+p.shift():y=D+p.shift(),h.curveTo(n,i,a,o,U,R),h.curveTo(L,C,N,D,v,y);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+M),p.length=0}break;case 14:p.length>0&&!d&&(x=p.shift()+c,d=!0),g&&(h.closePath(),g=!1);break;case 18:S();break;case 19:case 20:S(),P+=f+7>>3;break;case 21:p.length>2&&!d&&(x=p.shift()+c,d=!0),y+=p.pop(),w(v+=p.pop(),y);break;case 22:p.length>1&&!d&&(x=p.shift()+c,d=!0),w(v+=p.pop(),y);break;case 23:S();break;case 24:for(;p.length>2;)n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o+p.shift(),h.curveTo(n,i,a,o,v,y);v+=p.shift(),y+=p.shift(),h.lineTo(v,y);break;case 25:for(;p.length>6;)v+=p.shift(),y+=p.shift(),h.lineTo(v,y);n=v+p.shift(),i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o+p.shift(),h.curveTo(n,i,a,o,v,y);break;case 26:for(p.length%2&&(v+=p.shift());p.length>0;)n=v,i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a,y=o+p.shift(),h.curveTo(n,i,a,o,v,y);break;case 27:for(p.length%2&&(y+=p.shift());p.length>0;)n=v+p.shift(),i=y,a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o,h.curveTo(n,i,a,o,v,y);break;case 28:m=l[P],b=l[P+1],p.push((m<<24|b<<16)>>16),P+=2;break;case 29:k=p.pop()+e.gsubrsBias,(O=e.gsubrs[k])&&r(O);break;case 30:for(;p.length>0&&(n=v,i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o+(1===p.length?p.shift():0),h.curveTo(n,i,a,o,v,y),0!==p.length);)n=v+p.shift(),i=y,a=n+p.shift(),o=i+p.shift(),y=o+p.shift(),v=a+(1===p.length?p.shift():0),h.curveTo(n,i,a,o,v,y);break;case 31:for(;p.length>0&&(n=v+p.shift(),i=y,a=n+p.shift(),o=i+p.shift(),y=o+p.shift(),v=a+(1===p.length?p.shift():0),h.curveTo(n,i,a,o,v,y),0!==p.length);)n=v,i=y+p.shift(),a=n+p.shift(),o=i+p.shift(),v=a+p.shift(),y=o+(1===p.length?p.shift():0),h.curveTo(n,i,a,o,v,y);break;default:M<32?console.log("Glyph "+t.index+": unknown operator "+M):M<247?p.push(M-139):M<251?(m=l[P],P+=1,p.push(256*(M-247)+m+108)):M<255?(m=l[P],P+=1,p.push(256*-(M-251)-m-108)):(m=l[P],b=l[P+1],E=l[P+2],T=l[P+3],P+=4,p.push((m<<24|b<<16|E<<8|T)/65536))}}}(r),t.advanceWidth=x,h}function Ie(e,t){var r,n=le.indexOf(e);return n>=0&&(r=n),(n=t.indexOf(e))>=0?r=n+le.length:(r=le.length+t.length,t.push(e)),r}function Be(e,t,r){for(var n={},i=0;i<e.length;i+=1){var a=e[i],o=t[a.name];void 0===o||Ee(o,a.value)||("SID"===a.type&&(o=Ie(o,r)),n[a.op]={name:a.name,type:a.type,value:o})}return n}function Fe(e,t){var r=new Q.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=Be(Ce,e,t),r}function Ge(e){var t=new Q.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:e}],t}function _e(e){var t=[],r=e.path;t.push({name:"width",type:"NUMBER",value:e.advanceWidth});for(var n=0,i=0,a=0;a<r.commands.length;a+=1){var o=void 0,s=void 0,u=r.commands[a];if("Q"===u.type){u={type:"C",x:u.x,y:u.y,x1:1/3*n+2/3*u.x1,y1:1/3*i+2/3*u.y1,x2:1/3*u.x+2/3*u.x1,y2:1/3*u.y+2/3*u.y1}}if("M"===u.type)o=Math.round(u.x-n),s=Math.round(u.y-i),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rmoveto",type:"OP",value:21}),n=Math.round(u.x),i=Math.round(u.y);else if("L"===u.type)o=Math.round(u.x-n),s=Math.round(u.y-i),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rlineto",type:"OP",value:5}),n=Math.round(u.x),i=Math.round(u.y);else if("C"===u.type){var l=Math.round(u.x1-n),c=Math.round(u.y1-i),h=Math.round(u.x2-u.x1),p=Math.round(u.y2-u.y1);o=Math.round(u.x-u.x2),s=Math.round(u.y-u.y2),t.push({name:"dx1",type:"NUMBER",value:l}),t.push({name:"dy1",type:"NUMBER",value:c}),t.push({name:"dx2",type:"NUMBER",value:h}),t.push({name:"dy2",type:"NUMBER",value:p}),t.push({name:"dx",type:"NUMBER",value:o}),t.push({name:"dy",type:"NUMBER",value:s}),t.push({name:"rrcurveto",type:"OP",value:8}),n=Math.round(u.x),i=Math.round(u.y)}}return t.push({name:"endchar",type:"OP",value:14}),t}var He={parse:function(e,t,r,n){r.tables.cff={};var i=function(e,t){var r={};return r.formatMajor=oe.getCard8(e,t),r.formatMinor=oe.getCard8(e,t+1),r.size=oe.getCard8(e,t+2),r.offsetSize=oe.getCard8(e,t+3),r.startOffset=t,r.endOffset=t+4,r}(e,t),a=ke(e,i.endOffset,oe.bytesToString),o=ke(e,a.endOffset),s=ke(e,o.endOffset,oe.bytesToString),u=ke(e,s.endOffset);r.gsubrs=u.objects,r.gsubrsBias=Te(r.gsubrs);var l=Me(e,t,o.objects,s.objects);if(1!==l.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+l.length);var c=l[0];if(r.tables.cff.topDict=c,c._privateDict&&(r.defaultWidthX=c._privateDict.defaultWidthX,r.nominalWidthX=c._privateDict.nominalWidthX),void 0!==c.ros[0]&&void 0!==c.ros[1]&&(r.isCIDFont=!0),r.isCIDFont){var h=c.fdArray,p=c.fdSelect;if(0===h||0===p)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var f=ke(e,h+=t),d=Me(e,t,f.objects,s.objects);c._fdArray=d,p+=t,c._fdSelect=function(e,t,r,n){var i,a=[],o=new oe.Parser(e,t),s=o.parseCard8();if(0===s)for(var u=0;u<r;u++){if((i=o.parseCard8())>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");a.push(i)}else{if(3!==s)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+s);var l,c=o.parseCard16(),h=o.parseCard16();if(0!==h)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+h);for(var p=0;p<c;p++){if(i=o.parseCard8(),l=o.parseCard16(),i>=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+i+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;h<l;h++)a.push(i);h=l}if(l!==r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+l)}return a}(e,p,r.numGlyphs,d.length)}var g,v=t+c.private[1],y=Pe(e,v,c.private[0],s.objects);if(r.defaultWidthX=y.defaultWidthX,r.nominalWidthX=y.nominalWidthX,0!==y.subrs){var m=v+y.subrs,b=ke(e,m);r.subrs=b.objects,r.subrsBias=Te(r.subrs)}else r.subrs=[],r.subrsBias=0;n.lowMemory?(g=function(e,t){var r,n,i=[],a=oe.getCard16(e,t);if(0!==a){var o=oe.getByte(e,t+2);r=t+(a+1)*o+2;for(var s=t+3,u=0;u<a+1;u+=1)i.push(oe.getOffset(e,s,o)),s+=o;n=r+i[a]}else n=t+2;return{offsets:i,startOffset:t,endOffset:n}}(e,t+c.charStrings),r.nGlyphs=g.offsets.length):(g=ke(e,t+c.charStrings),r.nGlyphs=g.objects.length);var x=function(e,t,r,n){var i,a,o=new oe.Parser(e,t);r-=1;var s=[".notdef"],u=o.parseCard8();if(0===u)for(var l=0;l<r;l+=1)i=o.parseSID(),s.push(Re(n,i));else if(1===u)for(;s.length<=r;){i=o.parseSID(),a=o.parseCard8();for(var c=0;c<=a;c+=1)s.push(Re(n,i)),i+=1}else{if(2!==u)throw new Error("Unknown charset format "+u);for(;s.length<=r;){i=o.parseSID(),a=o.parseCard16();for(var h=0;h<=a;h+=1)s.push(Re(n,i)),i+=1}}return s}(e,t+c.charset,r.nGlyphs,s.objects);if(0===c.encoding?r.cffEncoding=new ge(ce,x):1===c.encoding?r.cffEncoding=new ge(he,x):r.cffEncoding=function(e,t,r){var n,i={},a=new oe.Parser(e,t),o=a.parseCard8();if(0===o)for(var s=a.parseCard8(),u=0;u<s;u+=1)i[n=a.parseCard8()]=u;else{if(1!==o)throw new Error("Unknown encoding format "+o);var l=a.parseCard8();n=1;for(var c=0;c<l;c+=1)for(var h=a.parseCard8(),p=a.parseCard8(),f=h;f<=h+p;f+=1)i[f]=n,n+=1}return new ge(i,r)}(e,t+c.encoding,x),r.encoding=r.encoding||r.cffEncoding,r.glyphs=new Se.GlyphSet(r),n.lowMemory)r._push=function(n){var i=function(e,t,r,n,i){var a=oe.getCard16(r,n),o=0;0!==a&&(o=n+(a+1)*oe.getByte(r,n+2)+2);var s=oe.getBytes(r,o+t[e],o+t[e+1]);return i&&(s=i(s)),s}(n,g.offsets,e,t+c.charStrings);r.glyphs.push(n,Se.cffGlyphLoader(r,n,Ae,i))};else for(var w=0;w<r.nGlyphs;w+=1){var S=g.objects[w];r.glyphs.push(w,Se.cffGlyphLoader(r,w,Ae,S))}},make:function(e,t){for(var r,n=new Q.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),i=1/t.unitsPerEm,a={version:t.version,fullName:t.fullName,familyName:t.familyName,weight:t.weightName,fontBBox:t.fontBBox||[0,0,0,0],fontMatrix:[i,0,0,i,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},o=[],s=1;s<e.length;s+=1)r=e.get(s),o.push(r.name);var u=[];n.header=new Q.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}]),n.nameIndex=function(e){var t=new Q.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r<e.length;r+=1)t.names.push({name:"name_"+r,type:"NAME",value:e[r]});return t}([t.postScriptName]);var l=Fe(a,u);n.topDictIndex=Ge(l),n.globalSubrIndex=new Q.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}]),n.charsets=function(e,t){for(var r=new Q.Record("Charsets",[{name:"format",type:"Card8",value:0}]),n=0;n<e.length;n+=1){var i=Ie(e[n],t);r.fields.push({name:"glyph_"+n,type:"SID",value:i})}return r}(o,u),n.charStringsIndex=function(e){for(var t=new Q.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),r=0;r<e.length;r+=1){var n=e.get(r),i=_e(n);t.charStrings.push({name:n.name,type:"CHARSTRING",value:i})}return t}(e),n.privateDict=function(e,t){var r=new Q.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return r.dict=Be(Ne,e,t),r}({},u),n.stringIndex=function(e){var t=new Q.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var r=0;r<e.length;r+=1)t.strings.push({name:"string_"+r,type:"STRING",value:e[r]});return t}(u);var c=n.header.sizeOf()+n.nameIndex.sizeOf()+n.topDictIndex.sizeOf()+n.stringIndex.sizeOf()+n.globalSubrIndex.sizeOf();return a.charset=c,a.encoding=0,a.charStrings=a.charset+n.charsets.sizeOf(),a.private[1]=a.charStrings+n.charStringsIndex.sizeOf(),l=Fe(a,u),n.topDictIndex=Ge(l),n}};var ze={parse:function(e,t){var r={},n=new oe.Parser(e,t);return r.version=n.parseVersion(),r.fontRevision=Math.round(1e3*n.parseFixed())/1e3,r.checkSumAdjustment=n.parseULong(),r.magicNumber=n.parseULong(),N.argument(1594834165===r.magicNumber,"Font header has wrong magic number."),r.flags=n.parseUShort(),r.unitsPerEm=n.parseUShort(),r.created=n.parseLongDateTime(),r.modified=n.parseLongDateTime(),r.xMin=n.parseShort(),r.yMin=n.parseShort(),r.xMax=n.parseShort(),r.yMax=n.parseShort(),r.macStyle=n.parseUShort(),r.lowestRecPPEM=n.parseUShort(),r.fontDirectionHint=n.parseShort(),r.indexToLocFormat=n.parseShort(),r.glyphDataFormat=n.parseShort(),r},make:function(e){var t=Math.round((new Date).getTime()/1e3)+2082844800,r=t;return e.createdTimestamp&&(r=e.createdTimestamp+2082844800),new Q.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:r},{name:"modified",type:"LONGDATETIME",value:t},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],e)}};var Ye={parse:function(e,t){var r={},n=new oe.Parser(e,t);return r.version=n.parseVersion(),r.ascender=n.parseShort(),r.descender=n.parseShort(),r.lineGap=n.parseShort(),r.advanceWidthMax=n.parseUShort(),r.minLeftSideBearing=n.parseShort(),r.minRightSideBearing=n.parseShort(),r.xMaxExtent=n.parseShort(),r.caretSlopeRise=n.parseShort(),r.caretSlopeRun=n.parseShort(),r.caretOffset=n.parseShort(),n.relativeOffset+=8,r.metricDataFormat=n.parseShort(),r.numberOfHMetrics=n.parseUShort(),r},make:function(e){return new Q.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],e)}};var We={parse:function(e,t,r,n,i,a,o){o.lowMemory?function(e,t,r,n,i){var a,o;e._hmtxTableData={};for(var s=new oe.Parser(t,r),u=0;u<i;u+=1)u<n&&(a=s.parseUShort(),o=s.parseShort()),e._hmtxTableData[u]={advanceWidth:a,leftSideBearing:o}}(e,t,r,n,i):function(e,t,r,n,i){for(var a,o,s=new oe.Parser(e,t),u=0;u<n;u+=1){u<r&&(a=s.parseUShort(),o=s.parseShort());var l=i.get(u);l.advanceWidth=a,l.leftSideBearing=o}}(t,r,n,i,a)},make:function(e){for(var t=new Q.Table("hmtx",[]),r=0;r<e.length;r+=1){var n=e.get(r),i=n.advanceWidth||0,a=n.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+r,type:"USHORT",value:i}),t.fields.push({name:"leftSideBearing_"+r,type:"SHORT",value:a})}return t}};var Xe={make:function(e){for(var t=new Q.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:e.length}]),r="",n=12+4*e.length,i=0;i<e.length;++i){var a=r.indexOf(e[i]);a<0&&(a=r.length,r+=e[i]),t.fields.push({name:"offset "+i,type:"USHORT",value:n+a}),t.fields.push({name:"length "+i,type:"USHORT",value:e[i].length})}return t.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),t},parse:function(e,t){var r=new oe.Parser(e,t),n=r.parseULong();N.argument(1===n,"Unsupported ltag table version."),r.skip("uLong",1);for(var i=r.parseULong(),a=[],o=0;o<i;o++){for(var s="",u=t+r.parseUShort(),l=r.parseUShort(),c=u;c<u+l;++c)s+=String.fromCharCode(e.getInt8(c));a.push(s)}return a}};var je={parse:function(e,t){var r={},n=new oe.Parser(e,t);return r.version=n.parseVersion(),r.numGlyphs=n.parseUShort(),1===r.version&&(r.maxPoints=n.parseUShort(),r.maxContours=n.parseUShort(),r.maxCompositePoints=n.parseUShort(),r.maxCompositeContours=n.parseUShort(),r.maxZones=n.parseUShort(),r.maxTwilightPoints=n.parseUShort(),r.maxStorage=n.parseUShort(),r.maxFunctionDefs=n.parseUShort(),r.maxInstructionDefs=n.parseUShort(),r.maxStackElements=n.parseUShort(),r.maxSizeOfInstructions=n.parseUShort(),r.maxComponentElements=n.parseUShort(),r.maxComponentDepth=n.parseUShort()),r},make:function(e){return new Q.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:e}])}},qe=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Ve={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},Ke={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},Ze={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function Je(e,t,r){switch(e){case 0:if(65535===t)return"und";if(r)return r[t];break;case 1:return Ve[t];case 3:return Ze[t]}}var Qe={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},$e={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function et(e,t,r){switch(e){case 0:return"utf-16";case 1:return $e[r]||Qe[t];case 3:if(1===t||10===t)return"utf-16"}}function tt(e){var t={};for(var r in e)t[e[r]]=parseInt(r);return t}function rt(e,t,r,n,i,a){return new Q.Record("NameRecord",[{name:"platformID",type:"USHORT",value:e},{name:"encodingID",type:"USHORT",value:t},{name:"languageID",type:"USHORT",value:r},{name:"nameID",type:"USHORT",value:n},{name:"length",type:"USHORT",value:i},{name:"offset",type:"USHORT",value:a}])}function nt(e,t){var r=function(e,t){var r=e.length,n=t.length-r+1;e:for(var i=0;i<n;i++)for(;i<n;i++){for(var a=0;a<r;a++)if(t[i+a]!==e[a])continue e;return i}return-1}(e,t);if(r<0){r=t.length;for(var n=0,i=e.length;n<i;++n)t.push(e[n])}return r}var it={parse:function(e,t,r){for(var n={},i=new oe.Parser(e,t),a=i.parseUShort(),o=i.parseUShort(),s=i.offset+i.parseUShort(),u=0;u<o;u++){var l=i.parseUShort(),c=i.parseUShort(),h=i.parseUShort(),p=i.parseUShort(),f=qe[p]||p,d=i.parseUShort(),g=i.parseUShort(),v=Je(l,h,r),y=et(l,c,h);if(void 0!==y&&void 0!==v){var m=void 0;if(m="utf-16"===y?D.UTF16(e,s+g,d):D.MACSTRING(e,s+g,d,y)){var b=n[f];void 0===b&&(b=n[f]={}),b[v]=m}}}return 1===a&&i.parseUShort(),n},make:function(e,t){var r,n=[],i={},a=tt(qe);for(var o in e){var s=a[o];if(void 0===s&&(s=o),r=parseInt(s),isNaN(r))throw new Error('Name table entry "'+o+'" does not exist, see nameTableNames for complete list.');i[r]=e[o],n.push(r)}for(var u=tt(Ve),l=tt(Ze),c=[],h=[],p=0;p<n.length;p++){var f=i[r=n[p]];for(var d in f){var g=f[d],v=1,y=u[d],m=Ke[y],b=et(v,m,y),x=P.MACSTRING(g,b);void 0===x&&(v=0,(y=t.indexOf(d))<0&&(y=t.length,t.push(d)),m=4,x=P.UTF16(g));var w=nt(x,h);c.push(rt(v,m,y,r,x.length,w));var S=l[d];if(void 0!==S){var E=P.UTF16(g),T=nt(E,h);c.push(rt(3,1,S,r,E.length,T))}}}c.sort((function(e,t){return e.platformID-t.platformID||e.encodingID-t.encodingID||e.languageID-t.languageID||e.nameID-t.nameID}));for(var k=new Q.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:c.length},{name:"stringOffset",type:"USHORT",value:6+12*c.length}]),O=0;O<c.length;O++)k.fields.push({name:"record_"+O,type:"RECORD",value:c[O]});return k.fields.push({name:"strings",type:"LITERAL",value:h}),k}},at=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];var ot={parse:function(e,t){var r={},n=new oe.Parser(e,t);r.version=n.parseUShort(),r.xAvgCharWidth=n.parseShort(),r.usWeightClass=n.parseUShort(),r.usWidthClass=n.parseUShort(),r.fsType=n.parseUShort(),r.ySubscriptXSize=n.parseShort(),r.ySubscriptYSize=n.parseShort(),r.ySubscriptXOffset=n.parseShort(),r.ySubscriptYOffset=n.parseShort(),r.ySuperscriptXSize=n.parseShort(),r.ySuperscriptYSize=n.parseShort(),r.ySuperscriptXOffset=n.parseShort(),r.ySuperscriptYOffset=n.parseShort(),r.yStrikeoutSize=n.parseShort(),r.yStrikeoutPosition=n.parseShort(),r.sFamilyClass=n.parseShort(),r.panose=[];for(var i=0;i<10;i++)r.panose[i]=n.parseByte();return r.ulUnicodeRange1=n.parseULong(),r.ulUnicodeRange2=n.parseULong(),r.ulUnicodeRange3=n.parseULong(),r.ulUnicodeRange4=n.parseULong(),r.achVendID=String.fromCharCode(n.parseByte(),n.parseByte(),n.parseByte(),n.parseByte()),r.fsSelection=n.parseUShort(),r.usFirstCharIndex=n.parseUShort(),r.usLastCharIndex=n.parseUShort(),r.sTypoAscender=n.parseShort(),r.sTypoDescender=n.parseShort(),r.sTypoLineGap=n.parseShort(),r.usWinAscent=n.parseUShort(),r.usWinDescent=n.parseUShort(),r.version>=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r},make:function(e){return new Q.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)},unicodeRanges:at,getUnicodeRange:function(e){for(var t=0;t<at.length;t+=1){var r=at[t];if(e>=r.begin&&e<r.end)return t}return-1}};var st={parse:function(e,t){var r={},n=new oe.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=pe.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var i=0;i<r.numberOfGlyphs;i++)r.glyphNameIndex[i]=n.parseUShort();r.names=[];for(var a=0;a<r.numberOfGlyphs;a++)if(r.glyphNameIndex[a]>=pe.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var s=0;s<r.numberOfGlyphs;s++)r.offset[s]=n.parseChar()}return r},make:function(){return new Q.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}},ut=new Array(9);ut[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ie.coverage),deltaGlyphId:this.parseUShort()}:2===t?{substFormat:2,coverage:this.parsePointer(ie.coverage),substitute:this.parseOffset16List()}:void N.assert(!1,"0x"+e.toString(16)+": lookup type 1 format must be 1 or 2.")},ut[2]=function(){var e=this.parseUShort();return N.argument(1===e,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ie.coverage),sequences:this.parseListOfLists()}},ut[3]=function(){var e=this.parseUShort();return N.argument(1===e,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ie.coverage),alternateSets:this.parseListOfLists()}},ut[4]=function(){var e=this.parseUShort();return N.argument(1===e,"GSUB ligature table identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ie.coverage),ligatureSets:this.parseListOfLists((function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}}))}};var lt={sequenceIndex:ie.uShort,lookupListIndex:ie.uShort};ut[5]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();if(1===t)return{substFormat:t,coverage:this.parsePointer(ie.coverage),ruleSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{input:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,lt)}}))};if(2===t)return{substFormat:t,coverage:this.parsePointer(ie.coverage),classDef:this.parsePointer(ie.classDef),classSets:this.parseListOfLists((function(){var e=this.parseUShort(),t=this.parseUShort();return{classes:this.parseUShortList(e-1),lookupRecords:this.parseRecordList(t,lt)}}))};if(3===t){var r=this.parseUShort(),n=this.parseUShort();return{substFormat:t,coverages:this.parseList(r,ie.pointer(ie.coverage)),lookupRecords:this.parseRecordList(n,lt)}}N.assert(!1,"0x"+e.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},ut[6]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{substFormat:1,coverage:this.parsePointer(ie.coverage),chainRuleSets:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(lt)}}))}:2===t?{substFormat:2,coverage:this.parsePointer(ie.coverage),backtrackClassDef:this.parsePointer(ie.classDef),inputClassDef:this.parsePointer(ie.classDef),lookaheadClassDef:this.parsePointer(ie.classDef),chainClassSet:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(lt)}}))}:3===t?{substFormat:3,backtrackCoverage:this.parseList(ie.pointer(ie.coverage)),inputCoverage:this.parseList(ie.pointer(ie.coverage)),lookaheadCoverage:this.parseList(ie.pointer(ie.coverage)),lookupRecords:this.parseRecordList(lt)}:void N.assert(!1,"0x"+e.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},ut[7]=function(){var e=this.parseUShort();N.argument(1===e,"GSUB Extension Substitution subtable identifier-format must be 1");var t=this.parseUShort(),r=new ie(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:t,extension:ut[t].call(r)}},ut[8]=function(){var e=this.parseUShort();return N.argument(1===e,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:e,coverage:this.parsePointer(ie.coverage),backtrackCoverage:this.parseList(ie.pointer(ie.coverage)),lookaheadCoverage:this.parseList(ie.pointer(ie.coverage)),substitutes:this.parseUShortList()}};var ct=new Array(9);ct[1]=function(e){return 1===e.substFormat?new Q.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Q.Coverage(e.coverage)},{name:"deltaGlyphID",type:"USHORT",value:e.deltaGlyphId}]):new Q.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new Q.Coverage(e.coverage)}].concat(Q.ushortList("substitute",e.substitute)))},ct[3]=function(e){return N.assert(1===e.substFormat,"Lookup type 3 substFormat must be 1."),new Q.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Q.Coverage(e.coverage)}].concat(Q.tableList("altSet",e.alternateSets,(function(e){return new Q.Table("alternateSetTable",Q.ushortList("alternate",e))}))))},ct[4]=function(e){return N.assert(1===e.substFormat,"Lookup type 4 substFormat must be 1."),new Q.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Q.Coverage(e.coverage)}].concat(Q.tableList("ligSet",e.ligatureSets,(function(e){return new Q.Table("ligatureSetTable",Q.tableList("ligature",e,(function(e){return new Q.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:e.ligGlyph}].concat(Q.ushortList("component",e.components,e.components.length+1)))})))}))))};var ht={parse:function(e,t){var r=new ie(e,t=t||0),n=r.parseVersion(1);return N.argument(1===n||1.1===n,"Unsupported GSUB table version."),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(ut)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(ut),variations:r.parseFeatureVariationsList()}},make:function(e){return new Q.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Q.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new Q.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new Q.LookupList(e.lookups,ct)}])}};var pt={parse:function(e,t){var r=new oe.Parser(e,t),n=r.parseULong();N.argument(1===n,"Unsupported META table version."),r.parseULong(),r.parseULong();for(var i=r.parseULong(),a={},o=0;o<i;o++){var s=r.parseTag(),u=r.parseULong(),l=r.parseULong(),c=D.UTF8(e,t+u,l);a[s]=c}return a},make:function(e){var t=Object.keys(e).length,r="",n=16+12*t,i=new Q.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:n},{name:"numTags",type:"ULONG",value:t}]);for(var a in e){var o=r.length;r+=e[a],i.fields.push({name:"tag "+a,type:"TAG",value:a}),i.fields.push({name:"offset "+a,type:"ULONG",value:n+o}),i.fields.push({name:"length "+a,type:"ULONG",value:e[a].length})}return i.fields.push({name:"stringPool",type:"CHARARRAY",value:r}),i}};function ft(e){return Math.log(e)/Math.log(2)|0}function dt(e){for(;e.length%4!=0;)e.push(0);for(var t=0,r=0;r<e.length;r+=4)t+=(e[r]<<24)+(e[r+1]<<16)+(e[r+2]<<8)+e[r+3];return t%=Math.pow(2,32)}function gt(e,t,r,n){return new Q.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==e?e:""},{name:"checkSum",type:"ULONG",value:void 0!==t?t:0},{name:"offset",type:"ULONG",value:void 0!==r?r:0},{name:"length",type:"ULONG",value:void 0!==n?n:0}])}function vt(e){var t=new Q.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);t.tables=e,t.numTables=e.length;var r=Math.pow(2,ft(t.numTables));t.searchRange=16*r,t.entrySelector=ft(r),t.rangeShift=16*t.numTables-t.searchRange;for(var n=[],i=[],a=t.sizeOf()+gt().sizeOf()*t.numTables;a%4!=0;)a+=1,i.push({name:"padding",type:"BYTE",value:0});for(var o=0;o<e.length;o+=1){var s=e[o];N.argument(4===s.tableName.length,"Table name"+s.tableName+" is invalid.");var u=s.sizeOf(),l=gt(s.tableName,dt(s.encode()),a,u);for(n.push({name:l.tag+" Table Record",type:"RECORD",value:l}),i.push({name:s.tableName+" table",type:"RECORD",value:s}),a+=u,N.argument(!isNaN(a),"Something went wrong calculating the offset.");a%4!=0;)a+=1,i.push({name:"padding",type:"BYTE",value:0})}return n.sort((function(e,t){return e.value.tag>t.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(i),t}function yt(e,t,r){for(var n=0;n<t.length;n+=1){var i=e.charToGlyphIndex(t[n]);if(i>0)return e.glyphs.get(i).getMetrics()}return r}function mt(e){for(var t=0,r=0;r<e.length;r+=1)t+=e[r];return t/e.length}var bt={make:vt,fontToTable:function(e){for(var t,r=[],n=[],i=[],a=[],o=[],s=[],u=[],l=0,c=0,h=0,p=0,f=0,d=0;d<e.glyphs.length;d+=1){var g=e.glyphs.get(d),v=0|g.unicode;if(isNaN(g.advanceWidth))throw new Error("Glyph "+g.name+" ("+d+"): advanceWidth is not a number.");(t>v||void 0===t)&&v>0&&(t=v),l<v&&(l=v);var y=ot.getUnicodeRange(v);if(y<32)c|=1<<y;else if(y<64)h|=1<<y-32;else if(y<96)p|=1<<y-64;else{if(!(y<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");f|=1<<y-96}if(".notdef"!==g.name){var m=g.getMetrics();r.push(m.xMin),n.push(m.yMin),i.push(m.xMax),a.push(m.yMax),s.push(m.leftSideBearing),u.push(m.rightSideBearing),o.push(g.advanceWidth)}}var b={xMin:Math.min.apply(null,r),yMin:Math.min.apply(null,n),xMax:Math.max.apply(null,i),yMax:Math.max.apply(null,a),advanceWidthMax:Math.max.apply(null,o),advanceWidthAvg:mt(o),minLeftSideBearing:Math.min.apply(null,s),maxLeftSideBearing:Math.max.apply(null,s),minRightSideBearing:Math.min.apply(null,u)};b.ascender=e.ascender,b.descender=e.descender;var x=ze.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:b.xMin,yMin:b.yMin,xMax:b.xMax,yMax:b.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),w=Ye.make({ascender:b.ascender,descender:b.descender,advanceWidthMax:b.advanceWidthMax,minLeftSideBearing:b.minLeftSideBearing,minRightSideBearing:b.minRightSideBearing,xMaxExtent:b.maxLeftSideBearing+(b.xMax-b.xMin),numberOfHMetrics:e.glyphs.length}),S=je.make(e.glyphs.length),E=ot.make(Object.assign({xAvgCharWidth:Math.round(b.advanceWidthAvg),usFirstCharIndex:t,usLastCharIndex:l,ulUnicodeRange1:c,ulUnicodeRange2:h,ulUnicodeRange3:p,ulUnicodeRange4:f,sTypoAscender:b.ascender,sTypoDescender:b.descender,sTypoLineGap:0,usWinAscent:b.yMax,usWinDescent:Math.abs(b.yMin),ulCodePageRange1:1,sxHeight:yt(e,"xyvw",{yMax:Math.round(b.ascender/2)}).yMax,sCapHeight:yt(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",b).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),T=We.make(e.glyphs),k=ue.make(e.glyphs),O=e.getEnglishName("fontFamily"),U=e.getEnglishName("fontSubfamily"),R=O+" "+U,L=e.getEnglishName("postScriptName");L||(L=O.replace(/\s/g,"")+"-"+U);var C={};for(var N in e.names)C[N]=e.names[N];C.uniqueID||(C.uniqueID={en:e.getEnglishName("manufacturer")+":"+R}),C.postScriptName||(C.postScriptName={en:L}),C.preferredFamily||(C.preferredFamily=e.names.fontFamily),C.preferredSubfamily||(C.preferredSubfamily=e.names.fontSubfamily);var D=[],P=it.make(C,D),M=D.length>0?Xe.make(D):void 0,A=st.make(),I=He.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:U,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),B=e.metas&&Object.keys(e.metas).length>0?pt.make(e.metas):void 0,F=[x,w,S,E,P,k,A,I,T];M&&F.push(M),e.tables.gsub&&F.push(ht.make(e.tables.gsub)),B&&F.push(B);for(var G=vt(F),_=dt(G.encode()),H=G.fields,z=!1,Y=0;Y<H.length;Y+=1)if("head table"===H[Y].name){H[Y].value.checkSumAdjustment=2981146554-_,z=!0;break}if(!z)throw new Error("Could not find head table with checkSum to adjust.");return G},computeCheckSum:dt};function xt(e,t){for(var r=0,n=e.length-1;r<=n;){var i=r+n>>>1,a=e[i].tag;if(a===t)return i;a<t?r=i+1:n=i-1}return-r-1}function wt(e,t){for(var r=0,n=e.length-1;r<=n;){var i=r+n>>>1,a=e[i];if(a===t)return i;a<t?r=i+1:n=i-1}return-r-1}function St(e,t){for(var r,n=0,i=e.length-1;n<=i;){var a=n+i>>>1,o=(r=e[a]).start;if(o===t)return r;o<t?n=a+1:i=a-1}if(n>0)return t>(r=e[n-1]).end?0:r}function Et(e,t){this.font=e,this.tableName=t}function Tt(e){Et.call(this,e,"gpos")}function kt(e){Et.call(this,e,"gsub")}function Ot(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n<r;n++)if(e[n]!==t[n])return!1;return!0}function Ut(e,t,r){for(var n=e.subtables,i=0;i<n.length;i++){var a=n[i];if(a.substFormat===t)return a}if(r)return n.push(r),r}function Rt(e){for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;++n)r[n]=e[n];return t}function Lt(e,t){if(!e)throw t}function Ct(e,t,r,n,i){var a;return(t&n)>0?(a=e.parseByte(),0==(t&i)&&(a=-a),a=r+a):a=(t&i)>0?r:r+e.parseShort(),a}function Nt(e,t,r){var n,i,a=new oe.Parser(t,r);if(e.numberOfContours=a.parseShort(),e._xMin=a.parseShort(),e._yMin=a.parseShort(),e._xMax=a.parseShort(),e._yMax=a.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],s=0;s<e.numberOfContours;s+=1)o.push(a.parseUShort());e.instructionLength=a.parseUShort(),e.instructions=[];for(var u=0;u<e.instructionLength;u+=1)e.instructions.push(a.parseByte());var l=o[o.length-1]+1;n=[];for(var c=0;c<l;c+=1)if(i=a.parseByte(),n.push(i),(8&i)>0)for(var h=a.parseByte(),p=0;p<h;p+=1)n.push(i),c+=1;if(N.argument(n.length===l,"Bad flags."),o.length>0){var f,d=[];if(l>0){for(var g=0;g<l;g+=1)i=n[g],(f={}).onCurve=!!(1&i),f.lastPointOfContour=o.indexOf(g)>=0,d.push(f);for(var v=0,y=0;y<l;y+=1)i=n[y],(f=d[y]).x=Ct(a,i,v,2,16),v=f.x;for(var m=0,b=0;b<l;b+=1)i=n[b],(f=d[b]).y=Ct(a,i,m,4,32),m=f.y}e.points=d}else e.points=[]}else if(0===e.numberOfContours)e.points=[];else{e.isComposite=!0,e.points=[],e.components=[];for(var x=!0;x;){n=a.parseUShort();var w={glyphIndex:a.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&n)>0?(2&n)>0?(w.dx=a.parseShort(),w.dy=a.parseShort()):w.matchedPoints=[a.parseUShort(),a.parseUShort()]:(2&n)>0?(w.dx=a.parseChar(),w.dy=a.parseChar()):w.matchedPoints=[a.parseByte(),a.parseByte()],(8&n)>0?w.xScale=w.yScale=a.parseF2Dot14():(64&n)>0?(w.xScale=a.parseF2Dot14(),w.yScale=a.parseF2Dot14()):(128&n)>0&&(w.xScale=a.parseF2Dot14(),w.scale01=a.parseF2Dot14(),w.scale10=a.parseF2Dot14(),w.yScale=a.parseF2Dot14()),e.components.push(w),x=!!(32&n)}if(256&n){e.instructionLength=a.parseUShort(),e.instructions=[];for(var S=0;S<e.instructionLength;S+=1)e.instructions.push(a.parseByte())}}}function Dt(e,t){for(var r=[],n=0;n<e.length;n+=1){var i=e[n],a={x:t.xScale*i.x+t.scale01*i.y+t.dx,y:t.scale10*i.x+t.yScale*i.y+t.dy,onCurve:i.onCurve,lastPointOfContour:i.lastPointOfContour};r.push(a)}return r}function Pt(e){var t=new R;if(!e)return t;for(var r=function(e){for(var t=[],r=[],n=0;n<e.length;n+=1){var i=e[n];r.push(i),i.lastPointOfContour&&(t.push(r),r=[])}return N.argument(0===r.length,"There are still points left in the current contour."),t}(e),n=0;n<r.length;++n){var i=r[n],a=null,o=i[i.length-1],s=i[0];if(o.onCurve)t.moveTo(o.x,o.y);else if(s.onCurve)t.moveTo(s.x,s.y);else{var u={x:.5*(o.x+s.x),y:.5*(o.y+s.y)};t.moveTo(u.x,u.y)}for(var l=0;l<i.length;++l)if(a=o,o=s,s=i[(l+1)%i.length],o.onCurve)t.lineTo(o.x,o.y);else{var c=s;a.onCurve||{x:.5*(o.x+a.x),y:.5*(o.y+a.y)},s.onCurve||(c={x:.5*(o.x+s.x),y:.5*(o.y+s.y)}),t.quadraticCurveTo(o.x,o.y,c.x,c.y)}t.closePath()}return t}function Mt(e,t){if(t.isComposite)for(var r=0;r<t.components.length;r+=1){var n=t.components[r],i=e.get(n.glyphIndex);if(i.getPath(),i.points){var a=void 0;if(void 0===n.matchedPoints)a=Dt(i.points,n);else{if(n.matchedPoints[0]>t.points.length-1||n.matchedPoints[1]>i.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],s=i.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};s=Dt([s],u)[0],u.dx=o.x-s.x,u.dy=o.y-s.y,a=Dt(i.points,u)}t.points=t.points.concat(a)}}return Pt(t.points)}Et.prototype={searchTag:xt,binSearch:wt,getTable:function(e){var t=this.font.tables[this.tableName];return!t&&e&&(t=this.font.tables[this.tableName]=this.createDefaultTable()),t},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map((function(e){return e.tag})):[]},getDefaultScriptName:function(){var e=this.getTable();if(e){for(var t=!1,r=0;r<e.scripts.length;r++){var n=e.scripts[r].tag;if("DFLT"===n)return n;"latn"===n&&(t=!0)}return t?"latn":void 0}},getScriptTable:function(e,t){var r=this.getTable(t);if(r){e=e||"DFLT";var n=r.scripts,i=xt(r.scripts,e);if(i>=0)return n[i].script;if(t){var a={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-i,0,a),a.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var i=xt(n.langSysRecords,t);if(i>=0)return n.langSysRecords[i].langSys;if(r){var a={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-i,0,a),a.langSys}}},getFeatureTable:function(e,t,r,n){var i=this.getLangSysTable(e,t,n);if(i){for(var a,o=i.featureIndexes,s=this.font.tables[this.tableName].features,u=0;u<o.length;u++)if((a=s[o[u]]).tag===r)return a.feature;if(n){var l=s.length;return N.assert(0===l||r>=s[l-1].tag,"Features must be added in alphabetical order."),a={tag:r,feature:{params:0,lookupListIndexes:[]}},s.push(a),o.push(l),a.feature}}},getLookupTables:function(e,t,r,n,i){var a=this.getFeatureTable(e,t,r,i),o=[];if(a){for(var s,u=a.lookupListIndexes,l=this.font.tables[this.tableName].lookups,c=0;c<u.length;c++)(s=l[u[c]]).lookupType===n&&o.push(s);if(0===o.length&&i){s={lookupType:n,lookupFlag:0,subtables:[],markFilteringSet:void 0};var h=l.length;return l.push(s),u.push(h),[s]}}return o},getGlyphClass:function(e,t){switch(e.format){case 1:return e.startGlyph<=t&&t<e.startGlyph+e.classes.length?e.classes[t-e.startGlyph]:0;case 2:var r=St(e.ranges,t);return r?r.classId:0}},getCoverageIndex:function(e,t){switch(e.format){case 1:var r=wt(e.glyphs,t);return r>=0?r:-1;case 2:var n=St(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n<r.length;n++)for(var i=r[n],a=i.start,o=i.end,s=a;s<=o;s++)t.push(s);return t}},Tt.prototype=Et.prototype,Tt.prototype.init=function(){var e=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(e)},Tt.prototype.getKerningValue=function(e,t,r){for(var n=0;n<e.length;n++)for(var i=e[n].subtables,a=0;a<i.length;a++){var o=i[a],s=this.getCoverageIndex(o.coverage,t);if(!(s<0))switch(o.posFormat){case 1:for(var u=o.pairSets[s],l=0;l<u.length;l++){var c=u[l];if(c.secondGlyph===r)return c.value1&&c.value1.xAdvance||0}break;case 2:var h=this.getGlyphClass(o.classDef1,t),p=this.getGlyphClass(o.classDef2,r),f=o.classRecords[h][p];return f.value1&&f.value1.xAdvance||0}}return 0},Tt.prototype.getKerningTables=function(e,t){if(this.font.tables.gpos)return this.getLookupTables(e,t,"kern",2)},kt.prototype=Et.prototype,kt.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},kt.prototype.getSingle=function(e,t,r){for(var n=[],i=this.getLookupTables(t,r,e,1),a=0;a<i.length;a++)for(var o=i[a].subtables,s=0;s<o.length;s++){var u=o[s],l=this.expandCoverage(u.coverage),c=void 0;if(1===u.substFormat){var h=u.deltaGlyphId;for(c=0;c<l.length;c++){var p=l[c];n.push({sub:p,by:p+h})}}else{var f=u.substitute;for(c=0;c<l.length;c++)n.push({sub:l[c],by:f[c]})}}return n},kt.prototype.getAlternates=function(e,t,r){for(var n=[],i=this.getLookupTables(t,r,e,3),a=0;a<i.length;a++)for(var o=i[a].subtables,s=0;s<o.length;s++)for(var u=o[s],l=this.expandCoverage(u.coverage),c=u.alternateSets,h=0;h<l.length;h++)n.push({sub:l[h],by:c[h]});return n},kt.prototype.getLigatures=function(e,t,r){for(var n=[],i=this.getLookupTables(t,r,e,4),a=0;a<i.length;a++)for(var o=i[a].subtables,s=0;s<o.length;s++)for(var u=o[s],l=this.expandCoverage(u.coverage),c=u.ligatureSets,h=0;h<l.length;h++)for(var p=l[h],f=c[h],d=0;d<f.length;d++){var g=f[d];n.push({sub:[p].concat(g.components),by:g.ligGlyph})}return n},kt.prototype.addSingle=function(e,t,r,n){var i=Ut(this.getLookupTables(r,n,e,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});N.assert(1===i.coverage.format,"Ligature: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.substitute.splice(o,0,0)),i.substitute[o]=t.by},kt.prototype.addAlternate=function(e,t,r,n){var i=Ut(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});N.assert(1===i.coverage.format,"Ligature: unable to modify coverage table format "+i.coverage.format);var a=t.sub,o=this.binSearch(i.coverage.glyphs,a);o<0&&(o=-1-o,i.coverage.glyphs.splice(o,0,a),i.alternateSets.splice(o,0,0)),i.alternateSets[o]=t.by},kt.prototype.addLigature=function(e,t,r,n){var i=this.getLookupTables(r,n,e,4,!0)[0],a=i.subtables[0];a||(a={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},i.subtables[0]=a),N.assert(1===a.coverage.format,"Ligature: unable to modify coverage table format "+a.coverage.format);var o=t.sub[0],s=t.sub.slice(1),u={ligGlyph:t.by,components:s},l=this.binSearch(a.coverage.glyphs,o);if(l>=0){for(var c=a.ligatureSets[l],h=0;h<c.length;h++)if(Ot(c[h].components,s))return;c.push(u)}else l=-1-l,a.coverage.glyphs.splice(l,0,o),a.ligatureSets.splice(l,0,[u])},kt.prototype.getFeature=function(e,t,r){if(/ss\d\d/.test(e))return this.getSingle(e,t,r);switch(e){case"aalt":case"salt":return this.getSingle(e,t,r).concat(this.getAlternates(e,t,r));case"dlig":case"liga":case"rlig":return this.getLigatures(e,t,r)}},kt.prototype.add=function(e,t,r,n){if(/ss\d\d/.test(e))return this.addSingle(e,t,r,n);switch(e){case"aalt":case"salt":return"number"==typeof t.by?this.addSingle(e,t,r,n):this.addAlternate(e,t,r,n);case"dlig":case"liga":case"rlig":return this.addLigature(e,t,r,n)}};var At,It,Bt,Ft,Gt={getPath:Pt,parse:function(e,t,r,n,i){return i.lowMemory?function(e,t,r,n){var i=new Se.GlyphSet(n);return n._push=function(a){var o=r[a];o!==r[a+1]?i.push(a,Se.ttfGlyphLoader(n,a,Nt,e,t+o,Mt)):i.push(a,Se.glyphLoader(n,a))},i}(e,t,r,n):function(e,t,r,n){for(var i=new Se.GlyphSet(n),a=0;a<r.length-1;a+=1){var o=r[a];o!==r[a+1]?i.push(a,Se.ttfGlyphLoader(n,a,Nt,e,t+o,Mt)):i.push(a,Se.glyphLoader(n,a))}return i}(e,t,r,n)}};function _t(e){this.font=e,this.getCommands=function(e){return Gt.getPath(e).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function Ht(e){return e}function zt(e){return Math.sign(e)*Math.round(Math.abs(e))}function Yt(e){return Math.sign(e)*Math.round(Math.abs(2*e))/2}function Wt(e){return Math.sign(e)*(Math.round(Math.abs(e)+.5)-.5)}function Xt(e){return Math.sign(e)*Math.ceil(Math.abs(e))}function jt(e){return Math.sign(e)*Math.floor(Math.abs(e))}var qt=function(e){var t=this.srPeriod,r=this.srPhase,n=1;return e<0&&(e=-e,n=-1),e+=this.srThreshold-r,e=Math.trunc(e/t)*t,(e+=r)<0?r*n:e*n},Vt={x:1,y:0,axis:"x",distance:function(e,t,r,n){return(r?e.xo:e.x)-(n?t.xo:t.x)},interpolate:function(e,t,r,n){var i,a,o,s,u,l,c;if(!n||n===this)return i=e.xo-t.xo,a=e.xo-r.xo,u=t.x-t.xo,l=r.x-r.xo,0===(c=(o=Math.abs(i))+(s=Math.abs(a)))?void(e.x=e.xo+(u+l)/2):void(e.x=e.xo+(u*s+l*o)/c);i=n.distance(e,t,!0,!0),a=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(c=(o=Math.abs(i))+(s=Math.abs(a)))?Vt.setRelative(e,e,(u*s+l*o)/c,n,!0):Vt.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(e,t,r,n,i){if(n&&n!==this){var a=i?t.xo:t.x,o=i?t.yo:t.y,s=a+r*n.x,u=o+r*n.y;e.x=s+(e.y-u)/n.normalSlope}else e.x=(i?t.xo:t.x)+r},slope:0,touch:function(e){e.xTouched=!0},touched:function(e){return e.xTouched},untouch:function(e){e.xTouched=!1}},Kt={x:0,y:1,axis:"y",distance:function(e,t,r,n){return(r?e.yo:e.y)-(n?t.yo:t.y)},interpolate:function(e,t,r,n){var i,a,o,s,u,l,c;if(!n||n===this)return i=e.yo-t.yo,a=e.yo-r.yo,u=t.y-t.yo,l=r.y-r.yo,0===(c=(o=Math.abs(i))+(s=Math.abs(a)))?void(e.y=e.yo+(u+l)/2):void(e.y=e.yo+(u*s+l*o)/c);i=n.distance(e,t,!0,!0),a=n.distance(e,r,!0,!0),u=n.distance(t,t,!1,!0),l=n.distance(r,r,!1,!0),0!==(c=(o=Math.abs(i))+(s=Math.abs(a)))?Kt.setRelative(e,e,(u*s+l*o)/c,n,!0):Kt.setRelative(e,e,(u+l)/2,n,!0)},normalSlope:0,setRelative:function(e,t,r,n,i){if(n&&n!==this){var a=i?t.xo:t.x,o=i?t.yo:t.y,s=a+r*n.x,u=o+r*n.y;e.y=u+n.normalSlope*(e.x-s)}else e.y=(i?t.yo:t.y)+r},slope:Number.POSITIVE_INFINITY,touch:function(e){e.yTouched=!0},touched:function(e){return e.yTouched},untouch:function(e){e.yTouched=!1}};function Zt(e,t){this.x=e,this.y=t,this.axis=void 0,this.slope=t/e,this.normalSlope=-e/t,Object.freeze(this)}function Jt(e,t){var r=Math.sqrt(e*e+t*t);return t/=r,1===(e/=r)&&0===t?Vt:0===e&&1===t?Kt:new Zt(e,t)}function Qt(e,t,r,n){this.x=this.xo=Math.round(64*e)/64,this.y=this.yo=Math.round(64*t)/64,this.lastPointOfContour=r,this.onCurve=n,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(Vt),Object.freeze(Kt),Zt.prototype.distance=function(e,t,r,n){return this.x*Vt.distance(e,t,r,n)+this.y*Kt.distance(e,t,r,n)},Zt.prototype.interpolate=function(e,t,r,n){var i,a,o,s,u,l,c;o=n.distance(e,t,!0,!0),s=n.distance(e,r,!0,!0),i=n.distance(t,t,!1,!0),a=n.distance(r,r,!1,!0),0!==(c=(u=Math.abs(o))+(l=Math.abs(s)))?this.setRelative(e,e,(i*l+a*u)/c,n,!0):this.setRelative(e,e,(i+a)/2,n,!0)},Zt.prototype.setRelative=function(e,t,r,n,i){n=n||this;var a=i?t.xo:t.x,o=i?t.yo:t.y,s=a+r*n.x,u=o+r*n.y,l=n.normalSlope,c=this.slope,h=e.x,p=e.y;e.x=(c*h-l*s+u-p)/(c-l),e.y=c*(e.x-h)+p},Zt.prototype.touch=function(e){e.xTouched=!0,e.yTouched=!0},Qt.prototype.nextTouched=function(e){for(var t=this.nextPointOnContour;!e.touched(t)&&t!==this;)t=t.nextPointOnContour;return t},Qt.prototype.prevTouched=function(e){for(var t=this.prevPointOnContour;!e.touched(t)&&t!==this;)t=t.prevPointOnContour;return t};var $t=Object.freeze(new Qt(0,0)),er={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function tr(e,t){switch(this.env=e,this.stack=[],this.prog=t,e){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=Vt,this.round=zt}}function rr(e){for(var t=e.tZone=new Array(e.gZone.length),r=0;r<t.length;r++)t[r]=new Qt(0,0)}function nr(e,t){var r,n=e.prog,i=e.ip,a=1;do{if(88===(r=n[++i]))a++;else if(89===r)a--;else if(64===r)i+=n[i+1]+1;else if(65===r)i+=2*n[i+1]+1;else if(r>=176&&r<=183)i+=r-176+1;else if(r>=184&&r<=191)i+=2*(r-184+1);else if(t&&1===a&&27===r)break}while(a>0);e.ip=i}function ir(e,t){exports.DEBUG&&console.log(t.step,"SVTCA["+e.axis+"]"),t.fv=t.pv=t.dpv=e}function ar(e,t){exports.DEBUG&&console.log(t.step,"SPVTCA["+e.axis+"]"),t.pv=t.dpv=e}function or(e,t){exports.DEBUG&&console.log(t.step,"SFVTCA["+e.axis+"]"),t.fv=e}function sr(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],u=t.z1[o];exports.DEBUG&&console.log("SPVTL["+e+"]",a,o),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.pv=t.dpv=Jt(r,n)}function ur(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],u=t.z1[o];exports.DEBUG&&console.log("SFVTL["+e+"]",a,o),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.fv=Jt(r,n)}function lr(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function cr(e,t){var r=t.stack.pop(),n=t.z0[r],i=t.fv,a=t.pv;exports.DEBUG&&console.log(t.step,"MDAP["+e+"]",r);var o=a.distance(n,$t);e&&(o=t.round(o)),i.setRelative(n,$t,o,a),i.touch(n),t.rp0=t.rp1=r}function hr(e,t){var r,n,i,a=t.z2,o=a.length-2;exports.DEBUG&&console.log(t.step,"IUP["+e.axis+"]");for(var s=0;s<o;s++)r=a[s],e.touched(r)||(n=r.prevTouched(e))!==r&&(n===(i=r.nextTouched(e))&&e.setRelative(r,r,e.distance(n,n,!1,!0),e,!0),e.interpolate(r,n,i,e))}function pr(e,t){for(var r=t.stack,n=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,s=t.loop,u=t.z2;s--;){var l=r.pop(),c=u[l],h=o.distance(i,i,!1,!0);a.setRelative(c,c,h,o),a.touch(c),exports.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}t.loop=1}function fr(e,t){var r=t.stack,n=e?t.rp1:t.rp2,i=(e?t.z0:t.z1)[n],a=t.fv,o=t.pv,s=r.pop(),u=t.z2[t.contours[s]],l=u;exports.DEBUG&&console.log(t.step,"SHC["+e+"]",s);var c=o.distance(i,i,!1,!0);do{l!==i&&a.setRelative(l,l,c,o),l=l.nextPointOnContour}while(l!==u)}function dr(e,t){var r,n,i=t.stack,a=e?t.rp1:t.rp2,o=(e?t.z0:t.z1)[a],s=t.fv,u=t.pv,l=i.pop();switch(exports.DEBUG&&console.log(t.step,"SHZ["+e+"]",l),l){case 0:r=t.tZone;break;case 1:r=t.gZone;break;default:throw new Error("Invalid zone")}for(var c=u.distance(o,o,!1,!0),h=r.length-2,p=0;p<h;p++)n=r[p],s.setRelative(n,n,c,u)}function gr(e,t){var r=t.stack,n=r.pop()/64,i=r.pop(),a=t.z1[i],o=t.z0[t.rp0],s=t.fv,u=t.pv;s.setRelative(a,o,n,u),s.touch(a),exports.DEBUG&&console.log(t.step,"MSIRP["+e+"]",n,i),t.rp1=t.rp0,t.rp2=i,e&&(t.rp0=i)}function vr(e,t){var r=t.stack,n=r.pop(),i=r.pop(),a=t.z0[i],o=t.fv,s=t.pv,u=t.cvt[n];exports.DEBUG&&console.log(t.step,"MIAP["+e+"]",n,"(",u,")",i);var l=s.distance(a,$t);e&&(Math.abs(l-u)<t.cvCutIn&&(l=u),l=t.round(l)),o.setRelative(a,$t,l,s),0===t.zp0&&(a.xo=a.x,a.yo=a.y),o.touch(a),t.rp0=t.rp1=i}function yr(e,t){var r=t.stack,n=r.pop(),i=t.z2[n];exports.DEBUG&&console.log(t.step,"GC["+e+"]",n),r.push(64*t.dpv.distance(i,$t,e,!1))}function mr(e,t){var r=t.stack,n=r.pop(),i=r.pop(),a=t.z1[n],o=t.z0[i],s=t.dpv.distance(o,a,e,e);exports.DEBUG&&console.log(t.step,"MD["+e+"]",n,i,"->",s),t.stack.push(Math.round(64*s))}function br(e,t){var r=t.stack,n=r.pop(),i=t.fv,a=t.pv,o=t.ppem,s=t.deltaBase+16*(e-1),u=t.deltaShift,l=t.z0;exports.DEBUG&&console.log(t.step,"DELTAP["+e+"]",n,r);for(var c=0;c<n;c++){var h=r.pop(),p=r.pop();if(s+((240&p)>>4)===o){var f=(15&p)-8;f>=0&&f++,exports.DEBUG&&console.log(t.step,"DELTAPFIX",h,"by",f*u);var d=l[h];i.setRelative(d,d,f*u,a)}}}function xr(e,t){var r=t.stack,n=r.pop();exports.DEBUG&&console.log(t.step,"ROUND[]"),r.push(64*t.round(n/64))}function wr(e,t){var r=t.stack,n=r.pop(),i=t.ppem,a=t.deltaBase+16*(e-1),o=t.deltaShift;exports.DEBUG&&console.log(t.step,"DELTAC["+e+"]",n,r);for(var s=0;s<n;s++){var u=r.pop(),l=r.pop();if(a+((240&l)>>4)===i){var c=(15&l)-8;c>=0&&c++;var h=c*o;exports.DEBUG&&console.log(t.step,"DELTACFIX",u,"by",h),t.cvt[u]+=h}}}function Sr(e,t){var r,n,i=t.stack,a=i.pop(),o=i.pop(),s=t.z2[a],u=t.z1[o];exports.DEBUG&&console.log(t.step,"SDPVTL["+e+"]",a,o),e?(r=s.y-u.y,n=u.x-s.x):(r=u.x-s.x,n=u.y-s.y),t.dpv=Jt(r,n)}function Er(e,t){var r=t.stack,n=t.prog,i=t.ip;exports.DEBUG&&console.log(t.step,"PUSHB["+e+"]");for(var a=0;a<e;a++)r.push(n[++i]);t.ip=i}function Tr(e,t){var r=t.ip,n=t.prog,i=t.stack;exports.DEBUG&&console.log(t.ip,"PUSHW["+e+"]");for(var a=0;a<e;a++){var o=n[++r]<<8|n[++r];32768&o&&(o=-(1+(65535^o))),i.push(o)}t.ip=r}function kr(e,t,r,n,i,a){var o,s,u,l,c=a.stack,h=e&&c.pop(),p=c.pop(),f=a.rp0,d=a.z0[f],g=a.z1[p],v=a.minDis,y=a.fv,m=a.dpv;u=(s=o=m.distance(g,d,!0,!0))>=0?1:-1,s=Math.abs(s),e&&(l=a.cvt[h],n&&Math.abs(s-l)<a.cvCutIn&&(s=l)),r&&s<v&&(s=v),n&&(s=a.round(s)),y.setRelative(g,d,u*s,m),y.touch(g),exports.DEBUG&&console.log(a.step,(e?"MIRP[":"MDRP[")+(t?"M":"m")+(r?">":"_")+(n?"R":"_")+(0===i?"Gr":1===i?"Bl":2===i?"Wh":"")+"]",e?h+"("+a.cvt[h]+","+l+")":"",p,"(d =",o,"->",u*s,")"),a.rp1=a.rp0,a.rp2=p,t&&(a.rp0=p)}function Or(e){this.char=e,this.state={},this.activeState=null}function Ur(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function Rr(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function Lr(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function Cr(e){this.eventId=e,this.subscribers=[]}function Nr(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new Cr(e)})})),e&&r.forEach((function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)}));["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Dr(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Nr.call(this,e)}function Pr(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Mr(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Ar(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function Ir(e){return/[A-z]/.test(e)}function Br(e){this.font=e,this.features={}}function Fr(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Gr(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n<r.length;n++){var i=r[n];if(e>=i.start&&e<=i.end){var a=e-i.start;return i.index+a}}break;default:return-1}return-1}function _r(e,t){return-1===Gr(e,t.coverage)?null:e+t.deltaGlyphId}function Hr(e,t){var r=Gr(e,t.coverage);return-1===r?null:t.substitute[r]}function zr(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=t.current,o=Gr(a=Array.isArray(a)?a[0]:a,i);-1!==o&&r.push(o)}return r.length!==e.length?-1:r}function Yr(e,t){var r=t.inputCoverage.length+t.lookaheadCoverage.length+t.backtrackCoverage.length;if(e.context.length<r)return[];var n=zr(t.inputCoverage,e);if(-1===n)return[];var i=t.inputCoverage.length-1;if(e.lookahead.length<t.lookaheadCoverage.length)return[];for(var a=e.lookahead.slice(i);a.length&&Ar(a[0].char);)a.shift();var o=new Lr(a,0),s=zr(t.lookaheadCoverage,o),u=[].concat(e.backtrack);for(u.reverse();u.length&&Ar(u[0].char);)u.shift();if(u.length<t.backtrackCoverage.length)return[];var l=new Lr(u,0),c=zr(t.backtrackCoverage,l),h=[];if(n.length===t.inputCoverage.length&&s.length===t.lookaheadCoverage.length&&c.length===t.backtrackCoverage.length)for(var p=0;p<t.lookupRecords.length;p++)for(var f=t.lookupRecords[p].lookupListIndex,d=this.getLookupByIndex(f),g=0;g<d.subtables.length;g++){var v=d.subtables[g],y=this.getLookupMethod(d,v);if("12"===this.getSubstitutionType(d,v))for(var m=0;m<n.length;m++){var b=y(e.get(m));b&&h.push(b)}}return h}function Wr(e,t){var r,n=Gr(e.current,t.coverage);if(-1===n)return null;for(var i=t.ligatureSets[n],a=0;a<i.length;a++){r=i[a];for(var o=0;o<r.components.length;o++){if(e.lookahead[o]!==r.components[o])break;if(o===r.components.length-1)return r}}return null}function Xr(e,t){var r=Gr(e,t.coverage);return-1===r?null:t.sequences[r]}_t.prototype.exec=function(e,t){if("number"!=typeof t)throw new Error("Point size is not a number!");if(!(this._errorState>2)){var r=this.font,n=this._prepState;if(!n||n.ppem!==t){var i=this._fpgmState;if(!i){tr.prototype=er,(i=this._fpgmState=new tr("fpgm",r.tables.fpgm)).funcs=[],i.font=r,exports.DEBUG&&(console.log("---EXEC FPGM---"),i.step=-1);try{It(i)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}tr.prototype=i,(n=this._prepState=new tr("prep",r.tables.prep)).ppem=t;var a=r.tables.cvt;if(a)for(var o=n.cvt=new Array(a.length),s=t/r.unitsPerEm,u=0;u<a.length;u++)o[u]=a[u]*s;else n.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),n.step=-1);try{It(n)}catch(e){this._errorState<2&&console.log("Hinting error in PREP:"+e),this._errorState=2}}if(!(this._errorState>1))try{return Bt(e,n)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},Bt=function(e,t){var r,n,i,a=t.ppem/t.font.unitsPerEm,o=a,s=e.components;if(tr.prototype=t,s){var u=t.font;n=[],r=[];for(var l=0;l<s.length;l++){var c=s[l],h=u.glyphs.get(c.glyphIndex);i=new tr("glyf",h.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+l+"---"),i.step=-1),Ft(h,i,a,o);for(var p=Math.round(c.dx*a),f=Math.round(c.dy*o),d=i.gZone,g=i.contours,v=0;v<d.length;v++){var y=d[v];y.xTouched=y.yTouched=!1,y.xo=y.x=y.x+p,y.yo=y.y=y.y+f}var m=n.length;n.push.apply(n,d);for(var b=0;b<g.length;b++)r.push(g[b]+m)}e.instructions&&!i.inhibitGridFit&&((i=new tr("glyf",e.instructions)).gZone=i.z0=i.z1=i.z2=n,i.contours=r,n.push(new Qt(0,0),new Qt(Math.round(e.advanceWidth*a),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),i.step=-1),It(i),n.length-=2)}else i=new tr("glyf",e.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),i.step=-1),Ft(e,i,a,o),n=i.gZone;return n},Ft=function(e,t,r,n){for(var i,a,o,s=e.points||[],u=s.length,l=t.gZone=t.z0=t.z1=t.z2=[],c=t.contours=[],h=0;h<u;h++)i=s[h],l[h]=new Qt(i.x*r,i.y*n,i.lastPointOfContour,i.onCurve);for(var p=0;p<u;p++)i=l[p],a||(a=i,c.push(p)),i.lastPointOfContour?(i.nextPointOnContour=a,a.prevPointOnContour=i,a=void 0):(o=l[p+1],i.nextPointOnContour=o,o.prevPointOnContour=i);if(!t.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",t.stack);for(var f=0;f<u;f++)console.log(f,l[f].x,l[f].y)}if(l.push(new Qt(0,0),new Qt(Math.round(e.advanceWidth*r),0)),It(t),l.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",t.stack);for(var d=0;d<u;d++)console.log(d,l[d].x,l[d].y)}}},It=function(e){var t=e.prog;if(t){var r,n=t.length;for(e.ip=0;e.ip<n;e.ip++){if(exports.DEBUG&&e.step++,!(r=At[t[e.ip]]))throw new Error("unknown instruction: 0x"+Number(t[e.ip]).toString(16));r(e)}}},At=[ir.bind(void 0,Kt),ir.bind(void 0,Vt),ar.bind(void 0,Kt),ar.bind(void 0,Vt),or.bind(void 0,Kt),or.bind(void 0,Vt),sr.bind(void 0,0),sr.bind(void 0,1),ur.bind(void 0,0),ur.bind(void 0,1),function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.pv=e.dpv=Jt(n,r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",r,n),e.fv=Jt(n,r)},function(e){var t=e.stack,r=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),t.push(16384*r.x),t.push(16384*r.y)},function(e){var t=e.stack,r=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),t.push(16384*r.x),t.push(16384*r.y)},function(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")},function(e){var t=e.stack,r=t.pop(),n=t.pop(),i=t.pop(),a=t.pop(),o=t.pop(),s=e.z0,u=e.z1,l=s[r],c=s[n],h=u[i],p=u[a],f=e.z2[o];exports.DEBUG&&console.log("ISECT[], ",r,n,i,a,o);var d=l.x,g=l.y,v=c.x,y=c.y,m=h.x,b=h.y,x=p.x,w=p.y,S=(d-v)*(b-w)-(g-y)*(m-x),E=d*y-g*v,T=m*w-b*x;f.x=(E*(m-x)-T*(d-v))/S,f.y=(E*(b-w)-T*(g-y))/S},function(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)},function(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)},function(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",t),e.zp0=t,t){case 0:e.tZone||rr(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",t),e.zp1=t,t){case 0:e.tZone||rr(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",t),e.zp2=t,t){case 0:e.tZone||rr(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){var t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",t),e.zp0=e.zp1=e.zp2=t,t){case 0:e.tZone||rr(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}},function(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)},function(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=zt},function(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=Wt},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",t),e.minDis=t/64},function(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),nr(e,!1)},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",t),e.ip+=t-1},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",t),e.cvCutIn=t/64},void 0,void 0,function(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),t.push(t[t.length-1])},lr,function(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),t.push(r),t.push(n)},function(e){var t=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),t.push(t.length)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CINDEX[]",r),t.push(t[t.length-r])},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"MINDEX[]",r),t.push(t.splice(t.length-r,1)[0])},void 0,void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",r,n);var i=e.ip,a=e.prog;e.prog=e.funcs[r];for(var o=0;o<n;o++)It(e),exports.DEBUG&&console.log(++e.step,o+1<n?"next loopcall":"done loopcall",o);e.ip=i,e.prog=a},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"CALL[]",t);var r=e.ip,n=e.prog;e.prog=e.funcs[t],It(e),e.ip=r,e.prog=n,exports.DEBUG&&console.log(++e.step,"returning from",t)},function(e){if("fpgm"!==e.env)throw new Error("FDEF not allowed here");var t=e.stack,r=e.prog,n=e.ip,i=t.pop(),a=n;for(exports.DEBUG&&console.log(e.step,"FDEF[]",i);45!==r[++n];);e.ip=n,e.funcs[i]=r.slice(a+1,n)},void 0,cr.bind(void 0,0),cr.bind(void 0,1),hr.bind(void 0,Kt),hr.bind(void 0,Vt),pr.bind(void 0,0),pr.bind(void 0,1),fr.bind(void 0,0),fr.bind(void 0,1),dr.bind(void 0,0),dr.bind(void 0,1),function(e){for(var t=e.stack,r=e.loop,n=e.fv,i=t.pop()/64,a=e.z2;r--;){var o=t.pop(),s=a[o];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-r)+": ":"")+"SHPIX[]",o,i),n.setRelative(s,s,i),n.touch(s)}e.loop=1},function(e){for(var t=e.stack,r=e.rp1,n=e.rp2,i=e.loop,a=e.z0[r],o=e.z1[n],s=e.fv,u=e.dpv,l=e.z2;i--;){var c=t.pop(),h=l[c];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"IP[]",c,r,"<->",n),s.interpolate(h,a,o,u),s.touch(h)}e.loop=1},gr.bind(void 0,0),gr.bind(void 0,1),function(e){for(var t=e.stack,r=e.rp0,n=e.z0[r],i=e.loop,a=e.fv,o=e.pv,s=e.z1;i--;){var u=t.pop(),l=s[u];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-i)+": ":"")+"ALIGNRP[]",u),a.setRelative(l,n,0,o),a.touch(l)}e.loop=1},function(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=Yt},vr.bind(void 0,0),vr.bind(void 0,1),function(e){var t=e.prog,r=e.ip,n=e.stack,i=t[++r];exports.DEBUG&&console.log(e.step,"NPUSHB[]",i);for(var a=0;a<i;a++)n.push(t[++r]);e.ip=r},function(e){var t=e.ip,r=e.prog,n=e.stack,i=r[++t];exports.DEBUG&&console.log(e.step,"NPUSHW[]",i);for(var a=0;a<i;a++){var o=r[++t]<<8|r[++t];32768&o&&(o=-(1+(65535^o))),n.push(o)}e.ip=t},function(e){var t=e.stack,r=e.store;r||(r=e.store=[]);var n=t.pop(),i=t.pop();exports.DEBUG&&console.log(e.step,"WS",n,i),r[i]=n},function(e){var t=e.stack,r=e.store,n=t.pop();exports.DEBUG&&console.log(e.step,"RS",n);var i=r&&r[n]||0;t.push(i)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTP",r,n),e.cvt[n]=r/64},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"RCVT",r),t.push(64*e.cvt[r])},yr.bind(void 0,0),yr.bind(void 0,1),void 0,mr.bind(void 0,0),mr.bind(void 0,1),function(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)},void 0,function(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0},void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LT[]",r,n),t.push(n<r?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"LTEQ[]",r,n),t.push(n<=r?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GT[]",r,n),t.push(n>r?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",r,n),t.push(n>=r?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"EQ[]",r,n),t.push(r===n?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",r,n),t.push(r!==n?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ODD[]",r),t.push(Math.trunc(r)%2?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",r),t.push(Math.trunc(r)%2?0:1)},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",t),t||(nr(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))},function(e){exports.DEBUG&&console.log(e.step,"EIF[]")},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"AND[]",r,n),t.push(r&&n?1:0)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"OR[]",r,n),t.push(r||n?1:0)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NOT[]",r),t.push(r?0:1)},br.bind(void 0,1),function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDB[]",t),e.deltaBase=t},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SDS[]",t),e.deltaShift=Math.pow(.5,t)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"ADD[]",r,n),t.push(n+r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"SUB[]",r,n),t.push(n-r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"DIV[]",r,n),t.push(64*n/r)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MUL[]",r,n),t.push(n*r/64)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"ABS[]",r),t.push(Math.abs(r))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"NEG[]",r),t.push(-r)},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",r),t.push(64*Math.floor(r/64))},function(e){var t=e.stack,r=t.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",r),t.push(64*Math.ceil(r/64))},xr.bind(void 0,0),xr.bind(void 0,1),xr.bind(void 0,2),xr.bind(void 0,3),void 0,void 0,void 0,void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",r,n),e.cvt[n]=r*e.ppem/e.font.unitsPerEm},br.bind(void 0,2),br.bind(void 0,3),wr.bind(void 0,1),wr.bind(void 0,2),wr.bind(void 0,3),function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=qt,192&r){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t},function(e){var t,r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=qt,192&r){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,48&r){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}r&=15,e.srThreshold=0===r?0:(r/8-.5)*t},void 0,void 0,function(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=Ht},void 0,function(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=Xt},function(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=jt},lr,lr,void 0,void 0,void 0,void 0,void 0,function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",t)},Sr.bind(void 0,0),Sr.bind(void 0,1),function(e){var t=e.stack,r=t.pop(),n=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",r),1&r&&(n=35),32&r&&(n|=4096),t.push(n)},void 0,function(e){var t=e.stack,r=t.pop(),n=t.pop(),i=t.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),t.push(n),t.push(r),t.push(i)},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MAX[]",r,n),t.push(Math.max(n,r))},function(e){var t=e.stack,r=t.pop(),n=t.pop();exports.DEBUG&&console.log(e.step,"MIN[]",r,n),t.push(Math.min(n,r))},function(e){var t=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",t)},function(e){var t=e.stack.pop(),r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",t,r),t){case 1:return void(e.inhibitGridFit=!!r);case 2:return void(e.ignoreCvt=!!r);default:throw new Error("invalid INSTCTRL[] selector")}},void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Er.bind(void 0,1),Er.bind(void 0,2),Er.bind(void 0,3),Er.bind(void 0,4),Er.bind(void 0,5),Er.bind(void 0,6),Er.bind(void 0,7),Er.bind(void 0,8),Tr.bind(void 0,1),Tr.bind(void 0,2),Tr.bind(void 0,3),Tr.bind(void 0,4),Tr.bind(void 0,5),Tr.bind(void 0,6),Tr.bind(void 0,7),Tr.bind(void 0,8),kr.bind(void 0,0,0,0,0,0),kr.bind(void 0,0,0,0,0,1),kr.bind(void 0,0,0,0,0,2),kr.bind(void 0,0,0,0,0,3),kr.bind(void 0,0,0,0,1,0),kr.bind(void 0,0,0,0,1,1),kr.bind(void 0,0,0,0,1,2),kr.bind(void 0,0,0,0,1,3),kr.bind(void 0,0,0,1,0,0),kr.bind(void 0,0,0,1,0,1),kr.bind(void 0,0,0,1,0,2),kr.bind(void 0,0,0,1,0,3),kr.bind(void 0,0,0,1,1,0),kr.bind(void 0,0,0,1,1,1),kr.bind(void 0,0,0,1,1,2),kr.bind(void 0,0,0,1,1,3),kr.bind(void 0,0,1,0,0,0),kr.bind(void 0,0,1,0,0,1),kr.bind(void 0,0,1,0,0,2),kr.bind(void 0,0,1,0,0,3),kr.bind(void 0,0,1,0,1,0),kr.bind(void 0,0,1,0,1,1),kr.bind(void 0,0,1,0,1,2),kr.bind(void 0,0,1,0,1,3),kr.bind(void 0,0,1,1,0,0),kr.bind(void 0,0,1,1,0,1),kr.bind(void 0,0,1,1,0,2),kr.bind(void 0,0,1,1,0,3),kr.bind(void 0,0,1,1,1,0),kr.bind(void 0,0,1,1,1,1),kr.bind(void 0,0,1,1,1,2),kr.bind(void 0,0,1,1,1,3),kr.bind(void 0,1,0,0,0,0),kr.bind(void 0,1,0,0,0,1),kr.bind(void 0,1,0,0,0,2),kr.bind(void 0,1,0,0,0,3),kr.bind(void 0,1,0,0,1,0),kr.bind(void 0,1,0,0,1,1),kr.bind(void 0,1,0,0,1,2),kr.bind(void 0,1,0,0,1,3),kr.bind(void 0,1,0,1,0,0),kr.bind(void 0,1,0,1,0,1),kr.bind(void 0,1,0,1,0,2),kr.bind(void 0,1,0,1,0,3),kr.bind(void 0,1,0,1,1,0),kr.bind(void 0,1,0,1,1,1),kr.bind(void 0,1,0,1,1,2),kr.bind(void 0,1,0,1,1,3),kr.bind(void 0,1,1,0,0,0),kr.bind(void 0,1,1,0,0,1),kr.bind(void 0,1,1,0,0,2),kr.bind(void 0,1,1,0,0,3),kr.bind(void 0,1,1,0,1,0),kr.bind(void 0,1,1,0,1,1),kr.bind(void 0,1,1,0,1,2),kr.bind(void 0,1,1,0,1,3),kr.bind(void 0,1,1,1,0,0),kr.bind(void 0,1,1,1,0,1),kr.bind(void 0,1,1,1,0,2),kr.bind(void 0,1,1,1,0,3),kr.bind(void 0,1,1,1,1,0),kr.bind(void 0,1,1,1,1,1),kr.bind(void 0,1,1,1,1,2),kr.bind(void 0,1,1,1,1,3)],Or.prototype.setState=function(e,t){return this.state[e]=t,this.activeState={key:e,value:this.state[e]},this.activeState},Or.prototype.getState=function(e){return this.state[e]||null},Dr.prototype.inboundIndex=function(e){return e>=0&&e<this.tokens.length},Dr.prototype.composeRUD=function(e){var t=this,r=e.map((function(e){return t[e[0]].apply(t,e.slice(1).concat(!0))})),n=function(e){return"object"==typeof e&&e.hasOwnProperty("FAIL")};if(r.every(n))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:r.filter(n)};this.dispatch("composeRUD",[r.filter((function(e){return!n(e)}))])},Dr.prototype.replaceRange=function(e,t,r,n){t=null!==t?t:this.tokens.length;var i=r.every((function(e){return e instanceof Or}));if(!isNaN(e)&&this.inboundIndex(e)&&i){var a=this.tokens.splice.apply(this.tokens,[e,t].concat(r));return n||this.dispatch("replaceToken",[e,t,r]),[a,r]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Dr.prototype.replaceToken=function(e,t,r){if(!isNaN(e)&&this.inboundIndex(e)&&t instanceof Or){var n=this.tokens.splice(e,1,t);return r||this.dispatch("replaceToken",[e,t]),[n[0],t]}return{FAIL:"replaceToken: invalid token or index."}},Dr.prototype.removeRange=function(e,t,r){t=isNaN(t)?this.tokens.length:t;var n=this.tokens.splice(e,t);return r||this.dispatch("removeRange",[n,e,t]),n},Dr.prototype.removeToken=function(e,t){if(!isNaN(e)&&this.inboundIndex(e)){var r=this.tokens.splice(e,1);return t||this.dispatch("removeToken",[r,e]),r}return{FAIL:"removeToken: invalid token index."}},Dr.prototype.insertToken=function(e,t,r){return e.every((function(e){return e instanceof Or}))?(this.tokens.splice.apply(this.tokens,[t,0].concat(e)),r||this.dispatch("insertToken",[e,t]),e):{FAIL:"insertToken: invalid token(s)."}},Dr.prototype.registerModifier=function(e,t,r){this.events.newToken.subscribe((function(n,i){var a=[n,i],o=[n,i];if(null===t||!0===t.apply(this,a)){var s=r.apply(this,o);n.setState(e,s)}})),this.registeredModifiers.push(e)},Cr.prototype.subscribe=function(e){return"function"==typeof e?this.subscribers.push(e)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},Cr.prototype.unsubscribe=function(e){this.subscribers.splice(e,1)},Lr.prototype.setCurrentIndex=function(e){this.index=e,this.current=this.context[e],this.backtrack=this.context.slice(0,e),this.lookahead=this.context.slice(e+1)},Lr.prototype.get=function(e){switch(!0){case 0===e:return this.current;case e<0&&Math.abs(e)<=this.backtrack.length:return this.backtrack.slice(e)[0];case e>0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Dr.prototype.rangeToText=function(e){if(e instanceof Ur)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Dr.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Dr.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Dr.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Dr.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof Cr&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Dr.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new Rr(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Dr.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Dr.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Dr.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e){if(e.hasOwnProperty(t))e[t].ranges=[]}},Dr.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t<e.length;t++){var r=new Lr(e,t);this.runContextCheck(r)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Dr.prototype.setEndOffset=function(e,t){var r=new Ur(this.getContext(t).openRange.startIndex,e,t),n=this.getContext(t).ranges;return r.rangeId=t+"."+n.length,n.push(r),this.getContext(t).openRange=null,r},Dr.prototype.runContextCheck=function(e){var t=this,r=e.index;this.contextCheckers.forEach((function(n){var i=n.contextName,a=t.getContext(i).openRange;if(!a&&n.checkStart(e)&&(a=new Ur(r,null,i),t.getContext(i).openRange=a,t.dispatch("contextStart",[i,r])),a&&n.checkEnd(e)){var o=r-a.startIndex+1,s=t.setEndOffset(o,i);t.dispatch("contextEnd",[i,s])}}))},Dr.prototype.tokenize=function(e){this.tokens=[],this.resetContextsRanges();var t=Array.from(e);this.dispatch("start");for(var r=0;r<t.length;r++){var n=t[r],i=new Lr(t,r);this.dispatch("next",[i]),this.runContextCheck(i);var a=new Or(n);this.tokens.push(a),this.dispatch("newToken",[a,i])}return this.dispatch("end",[this.tokens]),this.tokens},Br.prototype.getDefaultScriptFeaturesIndexes=function(){for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var r=e[t];if("DFLT"===r.tag)return r.script.defaultLangSys.featureIndexes}return[]},Br.prototype.getScriptFeaturesIndexes=function(e){if(!this.font.tables.gsub)return[];if(!e)return this.getDefaultScriptFeaturesIndexes();for(var t=this.font.tables.gsub.scripts,r=0;r<t.length;r++){var n=t[r];if(n.tag===e&&n.script.defaultLangSys)return n.script.defaultLangSys.featureIndexes;var i=n.langSysRecords;if(i)for(var a=0;a<i.length;a++){var o=i[a];if(o.tag===e)return o.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},Br.prototype.mapTagsToFeatures=function(e,t){for(var r={},n=0;n<e.length;n++){var i=e[n].tag,a=e[n].feature;r[i]=a}this.features[t].tags=r},Br.prototype.getScriptFeatures=function(e){var t=this.features[e];if(this.features.hasOwnProperty(e))return t;var r=this.getScriptFeaturesIndexes(e);if(!r)return null;var n=this.font.tables.gsub;return t=r.map((function(e){return n.features[e]})),this.features[e]=t,this.mapTagsToFeatures(t,e),t},Br.prototype.getSubstitutionType=function(e,t){return e.lookupType.toString()+t.substFormat.toString()},Br.prototype.getLookupMethod=function(e,t){var r=this;switch(this.getSubstitutionType(e,t)){case"11":return function(e){return _r.apply(r,[e,t])};case"12":return function(e){return Hr.apply(r,[e,t])};case"63":return function(e){return Yr.apply(r,[e,t])};case"41":return function(e){return Wr.apply(r,[e,t])};case"21":return function(e){return Xr.apply(r,[e,t])};default:throw new Error("lookupType: "+e.lookupType+" - substFormat: "+t.substFormat+" is not yet supported")}},Br.prototype.lookupFeature=function(e){var t=e.contextParams,r=t.index,n=this.getFeature({tag:e.tag,script:e.script});if(!n)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+e.tag+"' for script '"+e.script+"'.");for(var i=this.getFeatureLookups(n),a=[].concat(t.context),o=0;o<i.length;o++)for(var s=i[o],u=this.getLookupSubtables(s),l=0;l<u.length;l++){var c=u[l],h=this.getSubstitutionType(s,c),p=this.getLookupMethod(s,c),f=void 0;switch(h){case"11":(f=p(t.current))&&a.splice(r,1,new Fr({id:11,tag:e.tag,substitution:f}));break;case"12":(f=p(t.current))&&a.splice(r,1,new Fr({id:12,tag:e.tag,substitution:f}));break;case"63":f=p(t),Array.isArray(f)&&f.length&&a.splice(r,1,new Fr({id:63,tag:e.tag,substitution:f}));break;case"41":(f=p(t))&&a.splice(r,1,new Fr({id:41,tag:e.tag,substitution:f}));break;case"21":(f=p(t.current))&&a.splice(r,1,new Fr({id:21,tag:e.tag,substitution:f}))}t=new Lr(a,r),Array.isArray(f)&&!f.length||(f=null)}return a.length?a:null},Br.prototype.supports=function(e){if(!e.script)return!1;this.getScriptFeatures(e.script);var t=this.features.hasOwnProperty(e.script);if(!e.tag)return t;var r=this.features[e.script].some((function(t){return t.tag===e.tag}));return t&&r},Br.prototype.getLookupSubtables=function(e){return e.subtables||null},Br.prototype.getLookupByIndex=function(e){return this.font.tables.gsub.lookups[e]||null},Br.prototype.getFeatureLookups=function(e){return e.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Br.prototype.getFeature=function(e){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(e.script)||this.getScriptFeatures(e.script);var t=this.features[e.script];return t?t.tags[e.tag]?this.features[e.script].tags[e.tag]:null:{FAIL:"No feature for script "+e.script}};var jr={startCheck:function(e){var t=e.current,r=e.get(-1);return null===r&&Pr(t)||!Pr(r)&&Pr(t)},endCheck:function(e){var t=e.get(1);return null===t||!Pr(t)}};var qr={startCheck:function(e){var t=e.current,r=e.get(-1);return(Pr(t)||Ar(t))&&!Pr(r)},endCheck:function(e){var t=e.get(1);switch(!0){case null===t:return!0;case!Pr(t)&&!Ar(t):var r=/\s/.test(t);if(!r)return!0;if(r){if(!e.lookahead.some((function(e){return Pr(e)||Ar(e)})))return!0}break;default:return!1}}};var Vr={11:function(e,t,r){t[r].setState(e.tag,e.substitution)},12:function(e,t,r){t[r].setState(e.tag,e.substitution)},63:function(e,t,r){e.substitution.forEach((function(n,i){t[r+i].setState(e.tag,n)}))},41:function(e,t,r){var n=t[r];n.setState(e.tag,e.substitution.ligGlyph);for(var i=e.substitution.components.length,a=0;a<i;a++)(n=t[r+a+1]).setState("deleted",!0)}};function Kr(e,t,r){e instanceof Fr&&Vr[e.id]&&Vr[e.id](e,t,r)}function Zr(e){var t=this,r=this.featuresTags.arab,n=this.tokenizer.getRangeTokens(e);if(1!==n.length){var i=new Lr(n.map((function(e){return e.getState("glyphIndex")})),0),a=new Lr(n.map((function(e){return e.char})),0);n.forEach((function(e,o){if(!Ar(e.char)){i.setCurrentIndex(o),a.setCurrentIndex(o);var s,u=0;switch(function(e){for(var t=[].concat(e.backtrack),r=t.length-1;r>=0;r--){var n=t[r],i=Mr(n),a=Ar(n);if(!i&&!a)return!0;if(i)return!1}return!1}(a)&&(u|=1),function(e){if(Mr(e.current))return!1;for(var t=0;t<e.lookahead.length;t++){if(!Ar(e.lookahead[t]))return!0}return!1}(a)&&(u|=2),u){case 1:s="fina";break;case 2:s="init";break;case 3:s="medi"}if(-1!==r.indexOf(s)){var l=t.query.lookupFeature({tag:s,script:"arab",contextParams:i});if(l instanceof Error)return console.info(l.message);l.forEach((function(e,t){e instanceof Fr&&(Kr(e,n,t),i.context[t]=e.substitution)}))}}}))}}function Jr(e,t){return new Lr(e.map((function(e){return e.activeState.value})),t||0)}function Qr(e){var t=this,r=this.tokenizer.getRangeTokens(e),n=Jr(r);n.context.forEach((function(e,i){n.setCurrentIndex(i);var a=t.query.lookupFeature({tag:"rlig",script:"arab",contextParams:n});a.length&&(a.forEach((function(e){return Kr(e,r,i)})),n=Jr(r))}))}var $r={startCheck:function(e){var t=e.current,r=e.get(-1);return null===r&&Ir(t)||!Ir(r)&&Ir(t)},endCheck:function(e){var t=e.get(1);return null===t||!Ir(t)}};function en(e,t){return new Lr(e.map((function(e){return e.activeState.value})),t||0)}function tn(e){var t=this,r=this.tokenizer.getRangeTokens(e),n=en(r);n.context.forEach((function(e,i){n.setCurrentIndex(i);var a=t.query.lookupFeature({tag:"liga",script:"latn",contextParams:n});a.length&&(a.forEach((function(e){return Kr(e,r,i)})),n=en(r))}))}function rn(e){this.baseDir=e||"ltr",this.tokenizer=new Dr,this.featuresTags={}}function nn(e){var t=this.contextChecks[e+"Check"];return this.tokenizer.registerContextChecker(e,t.startCheck,t.endCheck)}function an(){return nn.call(this,"latinWord"),nn.call(this,"arabicWord"),nn.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function on(){var e=this;this.tokenizer.getContextRanges("arabicSentence").forEach((function(t){var r=e.tokenizer.getRangeTokens(t);e.tokenizer.replaceRange(t.startIndex,t.endOffset,r.reverse())}))}function sn(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function un(){var e=this;this.featuresTags.hasOwnProperty("arab")&&(sn.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Zr.call(e,t)})))}function ln(){var e=this;this.featuresTags.hasOwnProperty("arab")&&(-1!==this.featuresTags.arab.indexOf("rlig")&&(sn.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(t){Qr.call(e,t)}))))}function cn(){var e=this;this.featuresTags.hasOwnProperty("latn")&&(-1!==this.featuresTags.latn.indexOf("liga")&&(sn.call(this),this.tokenizer.getContextRanges("latinWord").forEach((function(t){tn.call(e,t)}))))}function hn(e){(e=e||{}).tables=e.tables||{},e.empty||(Lt(e.familyName,"When creating a new Font object, familyName is required."),Lt(e.styleName,"When creating a new Font object, styleName is required."),Lt(e.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Lt(e.ascender,"When creating a new Font object, ascender is required."),Lt(e.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:e.familyName||" "},fontSubfamily:{en:e.styleName||" "},fullName:{en:e.fullName||e.familyName+" "+e.styleName},postScriptName:{en:e.postScriptName||(e.familyName+e.styleName).replace(/\s/g,"")},designer:{en:e.designer||" "},designerURL:{en:e.designerURL||" "},manufacturer:{en:e.manufacturer||" "},manufacturerURL:{en:e.manufacturerURL||" "},license:{en:e.license||" "},licenseURL:{en:e.licenseURL||" "},version:{en:e.version||"Version 0.1"},description:{en:e.description||" "},copyright:{en:e.copyright||" "},trademark:{en:e.trademark||" "}},this.unitsPerEm=e.unitsPerEm||1e3,this.ascender=e.ascender,this.descender=e.descender,this.createdTimestamp=e.createdTimestamp,this.tables=Object.assign(e.tables,{os2:Object.assign({usWeightClass:e.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:e.widthClass||this.usWidthClasses.MEDIUM,fsSelection:e.fsSelection||this.fsSelectionValues.REGULAR},e.tables.os2)})),this.supported=!0,this.glyphs=new Se.GlyphSet(this,e.glyphs||[]),this.encoding=new fe(this),this.position=new Tt(this),this.substitution=new kt(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new _t(this):void 0}})}function pn(e,t){var r=JSON.stringify(e),n=256;for(var i in t){var a=parseInt(i);if(a&&!(a<256)){if(JSON.stringify(t[i])===r)return a;n<=a&&(n=a+1)}}return t[n]=e,n}function fn(e,t,r){var n=pn(t.name,r);return[{name:"tag_"+e,type:"TAG",value:t.tag},{name:"minValue_"+e,type:"FIXED",value:t.minValue<<16},{name:"defaultValue_"+e,type:"FIXED",value:t.defaultValue<<16},{name:"maxValue_"+e,type:"FIXED",value:t.maxValue<<16},{name:"flags_"+e,type:"USHORT",value:0},{name:"nameID_"+e,type:"USHORT",value:n}]}function dn(e,t,r){var n={},i=new oe.Parser(e,t);return n.tag=i.parseTag(),n.minValue=i.parseFixed(),n.defaultValue=i.parseFixed(),n.maxValue=i.parseFixed(),i.skip("uShort",1),n.name=r[i.parseUShort()]||{},n}function gn(e,t,r,n){for(var i=[{name:"nameID_"+e,type:"USHORT",value:pn(t.name,n)},{name:"flags_"+e,type:"USHORT",value:0}],a=0;a<r.length;++a){var o=r[a].tag;i.push({name:"axis_"+e+" "+o,type:"FIXED",value:t.coordinates[o]<<16})}return i}function vn(e,t,r,n){var i={},a=new oe.Parser(e,t);i.name=n[a.parseUShort()]||{},a.skip("uShort",1),i.coordinates={};for(var o=0;o<r.length;++o)i.coordinates[r[o].tag]=a.parseFixed();return i}rn.prototype.setText=function(e){this.text=e},rn.prototype.contextChecks={latinWordCheck:$r,arabicWordCheck:jr,arabicSentenceCheck:qr},rn.prototype.registerFeatures=function(e,t){var r=this,n=t.filter((function(t){return r.query.supports({script:e,tag:t})}));this.featuresTags.hasOwnProperty(e)?this.featuresTags[e]=this.featuresTags[e].concat(n):this.featuresTags[e]=n},rn.prototype.applyFeatures=function(e,t){if(!e)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Br(e));for(var r=0;r<t.length;r++){var n=t[r];this.query.supports({script:n.script})&&this.registerFeatures(n.script,n.tags)}},rn.prototype.registerModifier=function(e,t,r){this.tokenizer.registerModifier(e,t,r)},rn.prototype.checkContextReady=function(e){return!!this.tokenizer.getContext(e)},rn.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(un.call(this),ln.call(this)),this.checkContextReady("latinWord")&&cn.call(this),this.checkContextReady("arabicSentence")&&on.call(this)},rn.prototype.processText=function(e){this.text&&this.text===e||(this.setText(e),an.call(this),this.applyFeaturesToContexts())},rn.prototype.getBidiText=function(e){return this.processText(e),this.tokenizer.getText()},rn.prototype.getTextGlyphs=function(e){this.processText(e);for(var t=[],r=0;r<this.tokenizer.tokens.length;r++){var n=this.tokenizer.tokens[r];if(!n.state.deleted){var i=n.activeState.value;t.push(Array.isArray(i)?i[0]:i)}}return t},hn.prototype.hasChar=function(e){return null!==this.encoding.charToGlyphIndex(e)},hn.prototype.charToGlyphIndex=function(e){return this.encoding.charToGlyphIndex(e)},hn.prototype.charToGlyph=function(e){var t=this.charToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},hn.prototype.updateFeatures=function(e){return this.defaultRenderOptions.features.map((function(t){return"latn"===t.script?{script:"latn",tags:t.tags.filter((function(t){return e[t]}))}:t}))},hn.prototype.stringToGlyphs=function(e,t){var r=this,n=new rn;n.registerModifier("glyphIndex",null,(function(e){return r.charToGlyphIndex(e.char)}));var i=t?this.updateFeatures(t.features):this.defaultRenderOptions.features;n.applyFeatures(this,i);for(var a=n.getTextGlyphs(e),o=a.length,s=new Array(o),u=this.glyphs.get(0),l=0;l<o;l+=1)s[l]=this.glyphs.get(a[l])||u;return s},hn.prototype.nameToGlyphIndex=function(e){return this.glyphNames.nameToGlyphIndex(e)},hn.prototype.nameToGlyph=function(e){var t=this.nameToGlyphIndex(e),r=this.glyphs.get(t);return r||(r=this.glyphs.get(0)),r},hn.prototype.glyphIndexToName=function(e){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(e):""},hn.prototype.getKerningValue=function(e,t){e=e.index||e,t=t.index||t;var r=this.position.defaultKerningTables;return r?this.position.getKerningValue(r,e,t):this.kerningPairs[e+","+t]||0},hn.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},hn.prototype.forEachGlyph=function(e,t,r,n,i,a){t=void 0!==t?t:0,r=void 0!==r?r:0,n=void 0!==n?n:72,i=Object.assign({},this.defaultRenderOptions,i);var o,s=1/this.unitsPerEm*n,u=this.stringToGlyphs(e,i);if(i.kerning){var l=i.script||this.position.getDefaultScriptName();o=this.position.getKerningTables(l,i.language)}for(var c=0;c<u.length;c+=1){var h=u[c];if(a.call(this,h,t,r,n,i),h.advanceWidth&&(t+=h.advanceWidth*s),i.kerning&&c<u.length-1)t+=(o?this.position.getKerningValue(o,h.index,u[c+1].index):this.getKerningValue(h,u[c+1]))*s;i.letterSpacing?t+=i.letterSpacing*n:i.tracking&&(t+=i.tracking/1e3*n)}return t},hn.prototype.getPath=function(e,t,r,n,i){var a=new R;return this.forEachGlyph(e,t,r,n,i,(function(e,t,r,n){var o=e.getPath(t,r,n,i,this);a.extend(o)})),a},hn.prototype.getPaths=function(e,t,r,n,i){var a=[];return this.forEachGlyph(e,t,r,n,i,(function(e,t,r,n){var o=e.getPath(t,r,n,i,this);a.push(o)})),a},hn.prototype.getAdvanceWidth=function(e,t,r){return this.forEachGlyph(e,0,0,t,r,(function(){}))},hn.prototype.draw=function(e,t,r,n,i,a){this.getPath(t,r,n,i,a).draw(e)},hn.prototype.drawPoints=function(e,t,r,n,i,a){this.forEachGlyph(t,r,n,i,a,(function(t,r,n,i){t.drawPoints(e,r,n,i)}))},hn.prototype.drawMetrics=function(e,t,r,n,i,a){this.forEachGlyph(t,r,n,i,a,(function(t,r,n,i){t.drawMetrics(e,r,n,i)}))},hn.prototype.getEnglishName=function(e){var t=this.names[e];if(t)return t.en},hn.prototype.validate=function(){var e=this;function t(t){var r=e.getEnglishName(t);r&&r.trim().length}t("fontFamily"),t("weightName"),t("manufacturer"),t("copyright"),t("version"),this.unitsPerEm},hn.prototype.toTables=function(){return bt.fontToTable(this)},hn.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},hn.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n<e.length;n++)r[n]=e[n];return t},hn.prototype.download=function(t){var n=this.getEnglishName("fontFamily"),i=this.getEnglishName("fontSubfamily");t=t||n.replace(/\s/g,"")+"-"+i+".otf";var a=this.toArrayBuffer();if("undefined"!=typeof window)if(window.URL=window.URL||window.webkitURL,window.URL){var o=new DataView(a),s=new Blob([o],{type:"font/opentype"}),u=document.createElement("a");u.href=window.URL.createObjectURL(s),u.download=t;var l=document.createEvent("MouseEvents");l.initEvent("click",!0,!1),u.dispatchEvent(l)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var c=r(9),h=function(t){for(var r=new e(t.byteLength),n=new Uint8Array(t),i=0;i<r.length;++i)r[i]=n[i];return r}(a);c.writeFileSync(t,h)}},hn.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},hn.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},hn.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var yn={make:function(e,t){var r=new Q.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:e.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:e.instances.length},{name:"instanceSize",type:"USHORT",value:4+4*e.axes.length}]);r.offsetToData=r.sizeOf();for(var n=0;n<e.axes.length;n++)r.fields=r.fields.concat(fn(n,e.axes[n],t));for(var i=0;i<e.instances.length;i++)r.fields=r.fields.concat(gn(i,e.instances[i],e.axes,t));return r},parse:function(e,t,r){var n=new oe.Parser(e,t),i=n.parseULong();N.argument(65536===i,"Unsupported fvar table version.");var a=n.parseOffset16();n.skip("uShort",1);for(var o=n.parseUShort(),s=n.parseUShort(),u=n.parseUShort(),l=n.parseUShort(),c=[],h=0;h<o;h++)c.push(dn(e,t+a+h*s,r));for(var p=[],f=t+a+o*s,d=0;d<u;d++)p.push(vn(e,f+d*l,c,r));return{axes:c,instances:p}}},mn=new Array(10);mn[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ie.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ie.coverage),values:this.parseValueRecordList()}:void N.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},mn[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();N.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ie.coverage),n=this.parseUShort(),i=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:i,pairSets:this.parseList(ie.pointer(ie.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(i)}}))))};if(2===t){var a=this.parsePointer(ie.classDef),o=this.parsePointer(ie.classDef),s=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:i,classDef1:a,classDef2:o,class1Count:s,class2Count:u,classRecords:this.parseList(s,ie.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(i)}})))}}},mn[3]=function(){return{error:"GPOS Lookup 3 not supported"}},mn[4]=function(){return{error:"GPOS Lookup 4 not supported"}},mn[5]=function(){return{error:"GPOS Lookup 5 not supported"}},mn[6]=function(){return{error:"GPOS Lookup 6 not supported"}},mn[7]=function(){return{error:"GPOS Lookup 7 not supported"}},mn[8]=function(){return{error:"GPOS Lookup 8 not supported"}},mn[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var bn=new Array(10);var xn={parse:function(e,t){var r=new ie(e,t=t||0),n=r.parseVersion(1);return N.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(mn)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(mn),variations:r.parseFeatureVariationsList()}},make:function(e){return new Q.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Q.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new Q.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new Q.LookupList(e.lookups,bn)}])}};var wn={parse:function(e,t){var r=new oe.Parser(e,t),n=r.parseUShort();if(0===n)return function(e){var t={};e.skip("uShort");var r=e.parseUShort();N.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var i=0;i<n;i+=1){var a=e.parseUShort(),o=e.parseUShort(),s=e.parseShort();t[a+","+o]=s}return t}(r);if(1===n)return function(e){var t={};e.skip("uShort"),e.parseULong()>1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var i=0;i<n;i+=1){var a=e.parseUShort(),o=e.parseUShort(),s=e.parseShort();t[a+","+o]=s}}return t}(r);throw new Error("Unsupported kern table version ("+n+").")}};var Sn={parse:function(e,t,r,n){for(var i=new oe.Parser(e,t),a=n?i.parseUShort:i.parseULong,o=[],s=0;s<r+1;s+=1){var u=a.call(i);n&&(u*=2),o.push(u)}return o}};function En(e,t){r(9).readFile(e,(function(e,r){if(e)return t(e.message);t(null,Rt(r))}))}function Tn(e,t){var r=new XMLHttpRequest;r.open("get",e,!0),r.responseType="arraybuffer",r.onload=function(){return r.response?t(null,r.response):t("Font could not be loaded: "+r.statusText)},r.onerror=function(){t("Font could not be loaded")},r.send()}function kn(e,t){for(var r=[],n=12,i=0;i<t;i+=1){var a=oe.getTag(e,n),o=oe.getULong(e,n+4),s=oe.getULong(e,n+8),u=oe.getULong(e,n+12);r.push({tag:a,checksum:o,offset:s,length:u,compression:!1}),n+=16}return r}function On(e,t){if("WOFF"===t.compression){var r=new Uint8Array(e.buffer,t.offset+2,t.compressedLength-2),n=new Uint8Array(t.length);if(k(r,n),n.byteLength!==t.length)throw new Error("Decompression error: "+t.tag+" decompressed length doesn't match recorded length");return{data:new DataView(n.buffer,0),offset:0}}return{data:e,offset:t.offset}}function Un(e,t){var r,n;t=null==t?{}:t;var i,a,o,s,u,l,c,h,p,f,d,g,v=new hn({empty:!0}),y=new DataView(e,0),m=[],b=oe.getTag(y,0);if(b===String.fromCharCode(0,1,0,0)||"true"===b||"typ1"===b)v.outlinesFormat="truetype",m=kn(y,i=oe.getUShort(y,4));else if("OTTO"===b)v.outlinesFormat="cff",m=kn(y,i=oe.getUShort(y,4));else{if("wOFF"!==b)throw new Error("Unsupported OpenType signature "+b);var x=oe.getTag(y,4);if(x===String.fromCharCode(0,1,0,0))v.outlinesFormat="truetype";else{if("OTTO"!==x)throw new Error("Unsupported OpenType flavor "+b);v.outlinesFormat="cff"}m=function(e,t){for(var r=[],n=44,i=0;i<t;i+=1){var a=oe.getTag(e,n),o=oe.getULong(e,n+4),s=oe.getULong(e,n+8),u=oe.getULong(e,n+12),l=void 0;l=s<u&&"WOFF",r.push({tag:a,offset:o,compression:l,compressedLength:s,length:u}),n+=20}return r}(y,i=oe.getUShort(y,12))}for(var w=0;w<i;w+=1){var S=m[w],E=void 0;switch(S.tag){case"cmap":E=On(y,S),v.tables.cmap=ue.parse(E.data,E.offset),v.encoding=new de(v.tables.cmap);break;case"cvt ":E=On(y,S),g=new oe.Parser(E.data,E.offset),v.tables.cvt=g.parseShortList(S.length/2);break;case"fvar":o=S;break;case"fpgm":E=On(y,S),g=new oe.Parser(E.data,E.offset),v.tables.fpgm=g.parseByteList(S.length);break;case"head":E=On(y,S),v.tables.head=ze.parse(E.data,E.offset),v.unitsPerEm=v.tables.head.unitsPerEm,r=v.tables.head.indexToLocFormat;break;case"hhea":E=On(y,S),v.tables.hhea=Ye.parse(E.data,E.offset),v.ascender=v.tables.hhea.ascender,v.descender=v.tables.hhea.descender,v.numberOfHMetrics=v.tables.hhea.numberOfHMetrics;break;case"hmtx":c=S;break;case"ltag":E=On(y,S),n=Xe.parse(E.data,E.offset);break;case"maxp":E=On(y,S),v.tables.maxp=je.parse(E.data,E.offset),v.numGlyphs=v.tables.maxp.numGlyphs;break;case"name":f=S;break;case"OS/2":E=On(y,S),v.tables.os2=ot.parse(E.data,E.offset);break;case"post":E=On(y,S),v.tables.post=st.parse(E.data,E.offset),v.glyphNames=new ve(v.tables.post);break;case"prep":E=On(y,S),g=new oe.Parser(E.data,E.offset),v.tables.prep=g.parseByteList(S.length);break;case"glyf":s=S;break;case"loca":p=S;break;case"CFF ":a=S;break;case"kern":h=S;break;case"GPOS":u=S;break;case"GSUB":l=S;break;case"meta":d=S}}var T=On(y,f);if(v.tables.name=it.parse(T.data,T.offset,n),v.names=v.tables.name,s&&p){var k=0===r,O=On(y,p),U=Sn.parse(O.data,O.offset,v.numGlyphs,k),R=On(y,s);v.glyphs=Gt.parse(R.data,R.offset,U,v,t)}else{if(!a)throw new Error("Font doesn't contain TrueType or CFF outlines.");var L=On(y,a);He.parse(L.data,L.offset,v,t)}var C=On(y,c);if(We.parse(v,C.data,C.offset,v.numberOfHMetrics,v.numGlyphs,v.glyphs,t),ye(v,t),h){var N=On(y,h);v.kerningPairs=wn.parse(N.data,N.offset)}else v.kerningPairs={};if(u){var D=On(y,u);v.tables.gpos=xn.parse(D.data,D.offset),v.position.init()}if(l){var P=On(y,l);v.tables.gsub=ht.parse(P.data,P.offset)}if(o){var M=On(y,o);v.tables.fvar=yn.parse(M.data,M.offset,v.names)}if(d){var A=On(y,d);v.tables.meta=pt.parse(A.data,A.offset),v.metas=v.tables.meta}return v}function Rn(e,t,r){var n="undefined"==typeof window?En:Tn;return new Promise((function(i,a){n(e,(function(e,n){if(e){if(t)return t(e);a(e)}var o;try{o=Un(n,r)}catch(e){if(t)return t(e,null);a(e)}if(t)return t(null,o);i(o)}))}))}}).call(this,r(24).Buffer)},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){var n={"./ColorPreset":6,"./ColorPreset.ts":6,"./DisplayInterface":10,"./DisplayInterface.ts":10,"./EventInterface":11,"./EventInterface.ts":11,"./ManifestInterface":16,"./ManifestInterface.ts":16,"./NetworkInterface":17,"./NetworkInterface.ts":17,"./ResourceInterface":18,"./ResourceInterface.ts":18,"./UnitConversionInterface":19,"./UnitConversionInterface.ts":19,"./WidgetClasses":7,"./WidgetClasses.ts":7};function i(e){var t=a(e);return r(t)}function a(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}i.keys=function(){return Object.keys(n)},i.resolve=a,e.exports=i,i.id=23},function(e,t,r){"use strict";(function(e){
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var n=r(25),i=r(26),a=r(27);function o(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,r){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,r);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return l(this,e,t,r)}function l(e,t,r,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=p(e,t);return e}(e,t,r,n):"string"==typeof t?function(e,t,r){"string"==typeof r&&""!==r||(r="utf8");if(!u.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|d(t,r),i=(e=s(e,n)).write(t,r);i!==n&&(e=e.slice(0,i));return e}(e,t,r):function(e,t){if(u.isBuffer(t)){var r=0|f(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?s(e,0):p(e,t);if("Buffer"===t.type&&a(t.data))return p(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=s(e,t<0?0:0|f(t)),!u.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function p(e,t){var r=t.length<0?0:0|f(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function f(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function d(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return _(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(e).length;default:if(n)return _(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,r);case"utf8":case"utf-8":return O(this,t,r);case"ascii":return U(this,t,r);case"latin1":case"binary":return R(this,t,r);case"base64":return k(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function v(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=u.from(t,n)),u.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,n,i){var a,o=1,s=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,u/=2,r/=2}function l(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(a=r;a<s;a++)if(l(e,a)===l(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===u)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+u>s&&(r=s-u),a=r;a>=0;a--){for(var h=!0,p=0;p<u;p++)if(l(e,a+p)!==l(t,p)){h=!1;break}if(h)return a}return-1}function b(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(t.substr(2*o,2),16);if(isNaN(s))return o;e[r+o]=s}return o}function x(e,t,r,n){return z(_(t,e.length-r),e,r,n)}function w(e,t,r,n){return z(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function S(e,t,r,n){return w(e,t,r,n)}function E(e,t,r,n){return z(H(t),e,r,n)}function T(e,t,r,n){return z(function(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function k(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function O(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a,o,s,u,l=e[i],c=null,h=l>239?4:l>223?3:l>191?2:1;if(i+h<=r)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(a=e[i+1]))&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(u=(15&l)<<12|(63&a)<<6|63&o)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=4096));return r}(n)}t.Buffer=u,t.SlowBuffer=function(e){+e!=e&&(e=0);return u.alloc(+e)},t.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=o(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,r){return l(null,e,t,r)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,r){return function(e,t,r,n){return c(t),t<=0?s(e,t):void 0!==r?"string"==typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},u.allocUnsafe=function(e){return h(null,e)},u.allocUnsafeSlow=function(e){return h(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},u.concat=function(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=u.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var o=e[r];if(!u.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},u.byteLength=d,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)v(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)v(this,t,t+3),v(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)v(this,t,t+7),v(this,t+1,t+6),v(this,t+2,t+5),v(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?O(this,0,e):g.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},u.prototype.compare=function(e,t,r,n,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=e.slice(t,r),h=0;h<s;++h)if(l[h]!==c[h]){a=l[h],o=c[h];break}return a<o?-1:o<a?1:0},u.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},u.prototype.indexOf=function(e,t,r){return y(this,e,t,r,!0)},u.prototype.lastIndexOf=function(e,t,r){return y(this,e,t,r,!1)},u.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":return w(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function U(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function R(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function L(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a<r;++a)i+=G(e[a]);return i}function C(e,t,r){for(var n=e.slice(t,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function N(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,r,n,i,a){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function P(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i<a;++i)e[r+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function M(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i<a;++i)e[r+i]=t>>>8*(n?i:3-i)&255}function A(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(e,t,r,n,a){return a||A(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function B(e,t,r,n,a){return a||A(e,0,r,8),i.write(e,t,r,n,52,8),r+8}u.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;r=new u(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},u.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},u.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},u.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},u.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||N(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},u.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},u.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||D(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},u.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},u.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);D(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},u.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,r){return I(this,e,t,!0,r)},u.prototype.writeFloatBE=function(e,t,r){return I(this,e,t,!1,r)},u.prototype.writeDoubleLE=function(e,t,r){return B(this,e,t,!0,r)},u.prototype.writeDoubleBE=function(e,t,r){return B(this,e,t,!1,r)},u.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i,a=n-r;if(this===e&&r<t&&t<n)for(i=a-1;i>=0;--i)e[i+t]=this[i+r];else if(a<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),t);return a},u.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=u.isBuffer(e)?e:_(new u(e,n).toString()),s=o.length;for(a=0;a<r-t;++a)this[a+t]=o[a%s]}return this};var F=/[^+\/0-9A-Za-z-_]/g;function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function _(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function H(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(22))},function(e,t,r){"use strict";t.byteLength=function(e){var t=l(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=l(e),o=n[0],s=n[1],u=new a(function(e,t,r){return 3*(t+r)/4-r}(0,o,s)),c=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],u[c++]=t>>16&255,u[c++]=t>>8&255,u[c++]=255&t;2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[c++]=255&t);1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t);return u},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(c(e,o,o+16383>s?s:o+16383));1===i?(t=e[r-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=o.length;s<u;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var i,a,o=[],s=t;s<r;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,i){var a,o,s=8*i-n-1,u=(1<<s)-1,l=u>>1,c=-7,h=r?i-1:0,p=r?-1:1,f=e[t+h];for(h+=p,a=f&(1<<-c)-1,f>>=-c,c+=s;c>0;a=256*a+e[t+h],h+=p,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+e[t+h],h+=p,c-=8);if(0===a)a=1-l;else{if(a===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,n),a-=l}return(f?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,u,l=8*a-i-1,c=(1<<l)-1,h=c>>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+h>=1?p/u:p*Math.pow(2,1-h))*u>=2&&(o++,u/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(t*u-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+f]=255&s,f+=d,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[r+f]=255&o,f+=d,o/=256,l-=8);e[r+f-d]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){const n=r(29).default,i=r(30).default;e.exports={encodeSync:e=>{if("string"==typeof e)throw new TypeError("Did you mean .decodeSync(...)?");return n.sync(e)},encode:(e,t)=>{if("string"==typeof e)throw new TypeError("Did you mean .decode(...)?");return n.async(e,t)},decodeSync:e=>{if("string"!=typeof e)throw new TypeError("Did you mean .encodeSync(...)?");return i.sync(e)},decode:(e,t)=>{if("string"!=typeof e)throw new TypeError("Did you mean .encode(...)?");return i.async(e,t)}}},function(e,t,r){"use strict";r.r(t);const n={sync:e=>i(e).replace(/\n/gm,"\r\n"),async:(e,t=null)=>{let r=new Promise(t=>{t(n.sync(e))});return"function"==typeof t&&r.then(e=>(t(e),e)),r}};function i(e,t=0){let r="";for(let e=0;e<t;e++)r+="\t";let n=function(e){let t=[];if(Array.isArray(e))for(let r=0;r<e.length;e++)t.push(r);else t=Object.keys(e);return t}(e),i="";for(let s=0;s<n.length;s++){let u=n[s],l=e[u];u=o(u),l=a(l,!1,t),i.length>0&&(i+="\n"),i+=r+u+" = "+l}return i}function a(e,t=!1,r=0){let n;if("string"==typeof e)n=o(e,t);else if("object"==typeof e&&null!==e)if(Array.isArray(e))n=function(e,t=0){let r="[";for(let n=0;n<e.length;n++)r.length>1&&(r+=", "),r+=a(e[n],!0,t);return r+="]",r}(e,r);else{n="{\n"+i(e,r+1)+"\n";for(let e=0;e<r;e++)n+="\t";n+="}"}else"boolean"==typeof e?n=e:null==e?n="":"number"==typeof e&&(n=parseFloat(String(e)));return n}function o(e,t=!1){let r=e;var n;return("string"==typeof(n=e)&&null!=n.match(/((^\s)|\"|\=|\'|\`|(\s$))/)||t)&&(r=r.replace(/\\/gm,"\\\\").replace(/\n/gm,"\\n").replace(/\t/gm,"\\t").replace(/\"/gm,'\\"').replace(/\'/gm,"\\'"),r=`"${r}"`),r}t.default=n},function(e,t,r){"use strict";r.r(t);const n={sync:e=>o(a(e)),async:(e,t=null)=>{let r=new Promise(t=>{t(n.sync(e))});return"function"==typeof t&&r.then(e=>(t(e),e)),r}},i="Please use correct .varl format:\nkey1 = any value\nkey2 = any value\n...";function a(e){e=e.replace(/\r/g,"").trim();let t=0,r=0,n=[],i=null,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(o==e.length-1){if(n.push(e.substr(a)),t>0&&"}"!=s)throw new SyntaxError('Excessive "{" bracket');if(r>0&&"]"!=s)throw new SyntaxError('Excessive "[" bracket');break}let u="";switch(s){case"*":if(null!==i)break;let n=!0;for(o++;o<e.length&&n;)"\n"==e[o]?(n=!1,a=o+1):o++;break;case"{":t++;break;case"}":if(!(t>0))throw new SyntaxError('Excessive "}" bracket');t--;break;case"[":r++;break;case"]":if(!(r>0))throw new SyntaxError('Excessive "]" bracket');r--;break;case"\\":null===i&&o++;break;case'"':null===i?i='"':'"'===i&&(i=null);break;case"'":null===i?i="'":"'"===i&&(i=null);break;case"\n":if(0==t&&0==r&&(u=e.substring(a,o),a=o+1,null!==i))throw new SyntaxError('You forgot the close quote (")')}u=u.trim(),""!=u&&n.push(u)}return n}function o(e){let t={};for(let r=0;r<e.length;r++){let n=e[r],a=s(n),o=n.substr(0,a).trim();if(o=u(o),""==o)throw new SyntaxError(i);let c=n.substr(a+1).trim();c=l(c),t[o]=c}return t}function s(e){let t=null;for(let r=0;r<e.length;r++){switch(e[r]){case"\\":r++;break;case'"':null===t?t='"':'"'===t&&(t=null);break;case"'":null===t?t="'":"'"===t&&(t=null);break;case"=":if(0==r)throw new SyntaxError(i);if(null===t)return r}}if('"'==t)throw new SyntaxError('You forgot the close quote (")');if("'"==t)throw new SyntaxError("You forgot the close quote (')");throw new SyntaxError(i)}function u(e){let t=e.trim();return t.startsWith('"')&&t.endsWith('"')&&!t.endsWith('\\"')?t=t.substr(1,t.length-2).replace(/\\\n/gm,"\n").replace(/\\\t/gm,"\t").replace(/\\\"/gm,'"').replace(/\\\'/gm,"'").replace(/\\\\/gm,"\\"):t.startsWith("'")&&t.endsWith("'")&&!t.endsWith("\\'")&&(t=t.substr(1,t.length-2).replace(/\\\'/gm,"'")),t}function l(e){let t;if(e.startsWith("{")&&e.endsWith("}")){t=o(a(e.substr(1,e.length-2).trim()))}else if(e.startsWith("[")&&e.endsWith("]")){t=function(e){let t=0,r=0,n=null,i=[],a=0;for(let o=0;o<e.length;o++){let s=e[o];if(o==e.length-1){let n=l(e.substring(a,e.length).trim());if(t>0&&"}"!=s)throw new SyntaxError('Excessive "{" bracket');if(r>0&&"]"!=s)throw new SyntaxError('Excessive "[" bracket');i.push(n)}switch(s){case"*":if(null!==n)break;let s=!0;for(o++;o<e.length&&s;)"\n"==e[o]?(s=!1,a=o+1):o++;break;case"{":t++;break;case"}":if(!(t>0))throw new SyntaxError('Excessive "}" bracket');t--;break;case"[":r++;break;case"]":if(!(r>0))throw new SyntaxError('Excessive "]" bracket');r--;break;case"\\":null===n&&o++;break;case'"':null===n?n='"':'"'===n&&(n=null);break;case"'":null===n?n="'":"'"===n&&(n=null);break;case",":if(0==t&&0==r&&null===n){let t=l(e.substring(a,o).trim());i.push(t),a=o+1}}if('"'==n)throw new SyntaxError('You forgot the close quote (")');if("'"==n)throw new SyntaxError("You forgot the close quote (')")}return i}(e.substr(1,e.length-2))}else t=e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?u(e):"true"==e||"false"!=e&&(isNaN(e)?u(e):e.includes(".")||e.includes("e")?parseFloat(e):e.startsWith("0o")?parseInt(e.substr(2),8):parseInt(e));return t}t.default=n},function(e,t,r){var n={"./MouseEventDispatcher":12,"./MouseEventDispatcher.ts":12,"./PointingEventDispatcher":13,"./PointingEventDispatcher.ts":13,"./ScreenEventDispatcher":14,"./ScreenEventDispatcher.ts":14,"./TouchEventDispatcher":15,"./TouchEventDispatcher.ts":15};function i(e){var t=a(e);return r(t)}function a(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}i.keys=function(){return Object.keys(n)},i.resolve=a,e.exports=i,i.id=31},,function(e,t,r){"use strict";r.r(t),function(e){var t=r(20);Object.defineProperty(e,"app",{value:Object(t.a)(),writable:!1})}.call(this,r(22))}]);