!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["perspective-viewer-hypergrid"]=t():e["perspective-viewer-hypergrid"]=t()}(window,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=130)}([function(e,t,i){"use strict";var n=i(3).extend("Feature",{next:null,detached:null,cursor:null,currentHoverCell:null,setNext:function(e){this.next?this.next.setNext(e):(this.next=e,this.detached=e)},detachChain:function(){this.next=null},attachChain:function(){this.next=this.detached},handleMouseMove:function(e,t){this.next&&this.next.handleMouseMove(e,t)},handleMouseExit:function(e,t){this.next&&this.next.handleMouseExit(e,t)},handleMouseEnter:function(e,t){this.next&&this.next.handleMouseEnter(e,t)},handleMouseDown:function(e,t){this.next&&this.next.handleMouseDown(e,t)},handleMouseUp:function(e,t){this.next&&this.next.handleMouseUp(e,t)},handleKeyDown:function(e,t){if(!this.next)return!0;this.next.handleKeyDown(e,t)},handleKeyUp:function(e,t){this.next&&this.next.handleKeyUp(e,t)},handleWheelMoved:function(e,t){this.next&&this.next.handleWheelMoved(e,t)},handleDoubleClick:function(e,t){this.next&&this.next.handleDoubleClick(e,t)},handleClick:function(e,t){this.next&&this.next.handleClick(e,t)},handleMouseDrag:function(e,t){this.next&&this.next.handleMouseDrag(e,t)},handleContextMenu:function(e,t){this.next&&this.next.handleContextMenu(e,t)},handleTouchStart:function(e,t){this.next&&this.next.handleTouchStart(e,t)},handleTouchMove:function(e,t){this.next&&this.next.handleTouchMove(e,t)},handleTouchEnd:function(e,t){this.next&&this.next.handleTouchEnd(e,t)},moveSingleSelect:function(e,t,i){this.next&&this.next.moveSingleSelect(e,t,i)},isFirstFixedRow:function(e,t){return t.gridCell.y<1},isFirstFixedColumn:function(e,t){return 0===t.gridCell.x},setCursor:function(e){this.next&&this.next.setCursor(e),this.cursor&&e.beCursor(this.cursor)},initializeOn:function(e){this.next&&this.next.initializeOn(e)}});e.exports=n},function(e,t,i){var n=i(27)("wks"),r=i(20),o=i(6).Symbol,s="function"==typeof o;(e.exports=function(e){return n[e]||(n[e]=s&&o[e]||(s?o:r)("Symbol."+e))}).store=n},function(e,t,i){"use strict";function n(e,t){Object.defineProperty(this,e,{value:t,writable:!1,enumerable:!0,configurable:!1})}function r(e,t){n.call(this,"x",Number(e)||0),n.call(this,"y",Number(t)||0)}function o(e,t,i,o){e=Number(e)||0,t=Number(t)||0,(i=Number(i)||0)<0&&(e+=i,i=-i),(o=Number(o)||0)<0&&(t+=o,o=-o),n.call(this,"origin",new r(e,t)),n.call(this,"extent",new r(i,o)),n.call(this,"corner",new r(e+i,t+o)),n.call(this,"center",new r(e+i/2,t+o/2))}r.prototype={plus:function(e){return new r(this.x+e.x,this.y+e.y)},plusXY:function(e,t){return new r(this.x+(e||0),this.y+(t||0))},minus:function(e){return new r(this.x-e.x,this.y-e.y)},min:function(e){return new r(Math.min(this.x,e.x),Math.min(this.y,e.y))},max:function(e){return new r(Math.max(this.x,e.x),Math.max(this.y,e.y))},distance:function(e){var t=e.x-this.x,i=e.y-this.y;return Math.sqrt(t*t+i*i)},equals:function(e){var t=!1;return e&&(t=this.x===e.x&&this.y===e.y),t},greaterThan:function(e){return this.x>e.x&&this.y>e.y},lessThan:function(e){return this.x=e.x&&this.y>=e.y},lessThanOrEqualTo:function(e){return this.x<=e.x&&this.y<=e.y},within:function(e){var t=e.origin.x,i=t+e.extent.x,n=e.origin.y,r=n+e.extent.y;return e.extent.x<0&&(t=i,i=e.origin.x),e.extent.y<0&&(n=r,r=e.origin.y),t<=this.x&&this.x0&&s.y>0?n=new o(r.x,r.y,s.x,s.y):"function"==typeof t&&(n=t.call(i||this,e)),n},intersects:function(e){return e.corner.x>this.origin.x&&e.corner.y>this.origin.y&&e.origin.x0||0===i[0]&&(i[1]>0||0===i[1]&&i[2]>=0)},n.prototype.deprecated=i(158),n.prototype.HypergridError=i(22),n.prototype.notify=function(e,t){switch(t){case"warn":console.warn(e);break;case"alert":alert(e);break;default:throw new this.HypergridError(e)}},n.prototype.unwrap=function(e){return"f"===(typeof e)[0]&&(e=e()),e},n.prototype.mixIn=i(35).mixIn,n.prototype.createApply=function(e,t,i){var n=Array.prototype.slice.call(arguments,2),r=[null].concat(n).concat(t),o=e.bind.apply(e,r);return new o},e.exports=n},function(e,t,i){var n=i(99),r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")();e.exports=o},function(e,t,i){"use strict";var n=i(3).extend("CellRenderer",{paint:function(e,t){},roundRect:function(e,t,i,n,r,o,s,a){a||(a=!0),o||(o=5),e.beginPath(),e.moveTo(t+o,i),e.lineTo(t+n-o,i),e.quadraticCurveTo(t+n,i,t+n,i+o),e.lineTo(t+n,i+r-o),e.quadraticCurveTo(t+n,i+r,t+n-o,i+r),e.lineTo(t+o,i+r),e.quadraticCurveTo(t,i+r,t,i+r-o),e.lineTo(t,i+o),e.quadraticCurveTo(t,i,t+o,i),e.closePath(),a&&e.stroke(),s&&e.fill(),e.closePath()}});e.exports=n},function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,t,i){var n=i(15);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,i){e.exports=!i(8)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,i){var n=i(11),r=i(29);e.exports=i(9)?function(e,t,i){return n.f(e,t,r(1,i))}:function(e,t,i){return e[t]=i,e}},function(e,t,i){var n=i(7),r=i(84),o=i(50),s=Object.defineProperty;t.f=i(9)?Object.defineProperty:function(e,t,i){if(n(e),t=o(t,!0),n(i),r)try{return s(e,t,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[t]=i.value),e}},function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},function(e,t,i){"use strict";var n=i(3),r=i(159),o=i(64),s=n.extend("CellEditor",{initialize:function(e,t){for(var i in t)this[i]=t[i];this.event=t;var n=this.event.value;n instanceof Array&&(n=n[1]),this.grid=e,this.grid.cellEditor=this,this.locale=e.localization.locale;var r=this.grid.localization.get(t.format);r!==o.prototype.string&&"string"!==t.format&&(this.localizer=r),this.initialValue=n;var s=document.createElement("DIV");s.innerHTML=this.grid.modules.templater.render(this.template,this),this.el=s.firstChild,this.input=this.el,this.errors=0;var a=this;this.el.addEventListener("keyup",this.keyup.bind(this)),this.el.addEventListener("keydown",(function(t){9===t.keyCode&&t.preventDefault(),e.fireSyntheticEditorKeyDownEvent(a,t)})),this.el.addEventListener("keypress",(function(t){e.fireSyntheticEditorKeyPressEvent(a,t)})),this.el.addEventListener("mousedown",(function(e){a.onmousedown(e)}))},onmousedown:function(e){e.stopPropagation()},localizer:o.prototype.null,specialKeyups:{9:"stopEditing",13:"stopEditing",27:"cancelEditing"},keyup:function(e){var t,i,n=this.grid,r=this.event.properties,o=r.feedbackCount,s=n.canvas.getKeyChar(e);if((t=this.specialKeyups[e.keyCode])&&(i=this[t](o))&&n.repaint(),r.mappedNavKey(s,e.ctrlKey)&&(!t&&(i=this.stopEditing(o))&&n.repaint(),i)){var a=n.canvas.newEvent(e,"fin-editor-keydown",{grid:n,alt:e.altKey,ctrl:e.ctrlKey,char:s,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,shift:e.shiftKey,identifier:e.key,editor:this});n.delegateKeyDown(a)}return this.grid.fireSyntheticEditorKeyUpEvent(this,e),i},checkEditorPositionFlag:!1,gridRenderedNotification:function(){this.checkEditor()},scrollValueChangedNotification:function(){this.checkEditorPositionFlag=!0},moveEditor:function(){this.setBounds(this.event.bounds)},beginEditing:function(){this.grid.fireRequestCellEdit(this.event,this.initialValue)&&(this.checkEditorPositionFlag=!0,this.checkEditor())},setEditorValue:function(e){this.input.value=this.localizer.format(e)},showEditor:function(){this.el.style.display="inline"},hideEditor:function(){this.el.style.display="none"},stopEditing:function(e){var t=this.input.value;try{var i=this.validateEditorValue(t);if(!i)var n=this.getEditorValue(t)}catch(e){i=e}if(!i&&this.grid.fireSyntheticEditorDataChangeEvent(this,this.initialValue,n))try{this.saveEditorValue(n)}catch(e){i=e}return i?e>=0?this.errorEffectBegin(++this.errors%e==0&&i):this.cancelEditing():(this.hideEditor(),this.grid.cellEditor=null,this.el.remove()),!i},cancelEditing:function(){return this.setEditorValue(this.initialValue),this.hideEditor(),this.grid.cellEditor=null,this.el.remove(),this.grid.takeFocus(),!0},errorEffectBegin:function(e){if(!this.effecting){var t=this.grid.properties.feedbackEffect,i=r[t.name||t];if(i){var n=Object.assign({},t.options);n.callback=this.errorEffectEnd.bind(this,e),this.effecting=!0,i.call(this,n)}}},errorEffectEnd:function(e,t){if(e){var i='Invalid value. To resolve, do one of the following:\n\n * Correct the error and try again.\n - or -\n * Cancel editing by pressing the "esc" (escape) key.';"string"!=typeof(e=e.message||e)&&(e=""),this.localizer.expectation&&(e=e?e+"\n"+this.localizer.expectation:this.localizer.expectation),e&&(/[\n\r]/.test(e)&&(e=(e="\n"+e).replace(/[\n\r]+/g,"\n\n * ")),i+="\n\nAdditional information about this error: "+e),setTimeout((function(){alert(i)}))}this.effecting=!1},saveEditorValue:function(e){var t=!(e&&e===this.initialValue)&&this.grid.fireBeforeCellEdit(this.event.gridCell,this.initialValue,e,this);return t&&(this.event.value=e,this.grid.fireAfterCellEdit(this.event.gridCell,this.initialValue,e,this)),t},getEditorValue:function(e){return this.localizer.parse(e||this.input.value)},validateEditorValue:function(e){return this.localizer.invalid&&this.localizer.invalid(e||this.input.value)},takeFocus:function(){var e=this.el,t=e.style.left,i=e.style.top;e.style.left=e.style.top=0;var n=window.scrollX,r=window.scrollY;this.input.focus(),window.scrollTo(n,r),this.selectAll(),e.style.left=t,e.style.top=i},selectAll:function(){},setBounds:function(e){var t=this.el.style;t.left=a(e.x),t.top=a(e.y),t.width=a(e.width),t.height=a(e.height)},checkEditor:function(){this.checkEditorPositionFlag&&(this.checkEditorPositionFlag=!1,this.event.isCellVisible?(this.setEditorValue(this.initialValue),this.attachEditor(),this.moveEditor(),this.showEditor(),this.takeFocus()):this.hideEditor())},attachEditor:function(){this.grid.div.appendChild(this.el)},template:""});function a(e){return e+"px"}e.exports=s},function(e,t,i){var n=i(200),r=i(205);e.exports=function(e,t){var i=r(e,t);return n(i)?i:void 0}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,i){var n=i(6),r=i(10),o=i(12),s=i(20)("src"),a=i(133),l=(""+a).split("toString");i(25).inspectSource=function(e){return a.call(e)},(e.exports=function(e,t,i,a){var c="function"==typeof i;c&&(o(i,"name")||r(i,"name",t)),e[t]!==i&&(c&&(o(i,s)||r(i,s,e[t]?""+e[t]:l.join(String(t)))),e===n?e[t]=i:a?e[t]?e[t]=i:r(e,t,i):(delete e[t],r(e,t,i)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[s]||a.call(this)}))},function(e,t,i){var n=i(137),r=i(32);e.exports=function(e){return n(r(e))}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){(function(e,t,n){i(91),i(58);const r=i(157).default,o=["perspective.config.js","perspective.config.json","package.json"];function s(e){return e&&"object"==typeof e&&!Array.isArray(e)}function a(e,...t){if(!t.length)return e;const i=t.shift();if(s(e)&&s(i))for(const t in i)s(i[t])?(e[t]||Object.assign(e,{[t]:{}}),a(e[t],i[t])):Object.assign(e,{[t]:i[t]});return a(e,...t)}e.exports.get_types=function(){return Object.keys(e.exports.get_config().types)},e.exports.get_type_config=function(t){const i={};if(e.exports.get_config().types[t]&&Object.assign(i,e.exports.get_config().types[t]),i.type){const t=e.exports.get_type_config(i.type);return Object.assign(t,i),t}return i},n.__PERSPECTIVE_CONFIG__=void 0,e.exports.override_config=function(e){n.__PERSPECTIVE_CONFIG__&&console.warn("Config already initialized!"),n.__PERSPECTIVE_CONFIG__=a(r,e)},e.exports.get_config=function(){return n.__PERSPECTIVE_CONFIG__||(n.__PERSPECTIVE_CONFIG__=a(r,"undefined"==typeof window?function(){const i="undefined"!=typeof require?require:e.require,n=i("path"),r=i("fs"),[s,...a]=t.cwd().split(n.sep);for(;a.length>0;){for(const e of o){const t="".concat(s).concat(n.sep).concat(n.join(...a,e));if(r.existsSync(t)){if(!e.endsWith("json")){const e=i(t);return e.default||e}{const i=JSON.parse(r.readFileSync(t));if("package.json"!==e)return i;if(i.perspective)return i.perspective}}}a.pop()}}():{types:{float:{filter_operator:"==",aggregate:"sum",format:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}},string:{filter_operator:"==",aggregate:"count"},integer:{filter_operator:"==",aggregate:"sum",format:{}},boolean:{filter_operator:"==",aggregate:"count"},datetime:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},null_value:-1},date:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric"},null_value:-1}}}||{})),n.__PERSPECTIVE_CONFIG__}}).call(this,i(21)(e),i(151),i(90))},function(e,t){var i=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+n).toString(36))}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";function n(e){this.message=e}n.prototype=Object.create(Error.prototype),n.prototype.name="HypergridError",e.exports=n},function(e,t,i){"use strict";var n=i(36),r=i(162),o=i(163);n(o).each((function(e,t){var i=new Image;i.src="data:"+e.type+";base64,"+e.data,o[t]=i})),o["checkbox-on"]=o.checked,o["checkbox-off"]=o.unchecked,Object.defineProperties(o,{add:{value:function(e,t,i,n,r){return/^data:image\/svg\+xml|\.svg/.test(t.src)&&(t.themeable=!!i,"object"==typeof n&&(r=n,n=void 0),n&&(t.setSvgProps=n),r&&(t.themeableRules=function(e,t,i,n){var r=document.querySelector("style#injected-stylesheet-themeables");r||((r=document.createElement("style")).id="injected-stylesheet-themeables",document.head.appendChild(r));var o=r.sheet;return(n.length?n:["background-image"]).reduce((function(n,r){var s=".hypergrid-"+r+"-"+e,a=Array.prototype.findIndex.call(o.cssRules,(function(e){return e.selectorText===s}));-1!==a&&o.deleteRule(a);var l={};l[r]="url("+t.src+")",t.width&&(l.width=t.width+"px"),t.height&&(l.height=t.height+"px");var c="{"+Object.keys(l).map((function(e){return e+":"+l[e]})).join(";")+"}";o.insertRule(s+c);var u={rule:o.cssRules[0]};return i&&(u.setSvgProps=i),n.push(u),n}),[])}(e,t,n,r))),o[e]=t}},setTheme:{value:function(e){Object.keys(o).forEach((function(t){var i=o[t];i.themeable&&r.setImgSvgProps.call(i,e,i.setSvgProps),i.themeableRules&&i.themeableRules.forEach((function(t){var n=t.rule.selectorText,o=new RegExp("^.hypergrid-("+r.cssImagePropertyNames.join("|")+")-.*$"),s=n.replace(o,"$1");r.setRuleSvgProps.call(t.rule,e,i.setSvgProps,s)}))}))}},checkbox:{value:function(e){return o[e?"checked":"unchecked"]}},filter:{value:function(e){return o[e?"filter-on":"filter-off"]}}}),e.exports=o},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){var i=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=i)},function(e,t){e.exports=!1},function(e,t,i){var n=i(25),r=i(6),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:i(26)?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,i){var n=i(6),r=i(25),o=i(10),s=i(16),a=i(134),l=function(e,t,i){var c,u,h,d,f=e&l.F,g=e&l.G,p=e&l.S,v=e&l.P,m=e&l.B,b=g?n:p?n[t]||(n[t]={}):(n[t]||{}).prototype,y=g?r:r[t]||(r[t]={}),C=y.prototype||(y.prototype={});for(c in g&&(i=t),i)h=((u=!f&&b&&void 0!==b[c])?b:i)[c],d=m&&u?a(h,n):v&&"function"==typeof h?a(Function.call,h):h,b&&s(b,c,h,e&l.U),y[c]!=h&&o(y,c,d),v&&C[c]!=h&&(C[c]=h)};n.core=r,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,i){var n=i(86),r=i(56);e.exports=Object.keys||function(e){return n(e,r)}},function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var i=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:i)(e)}},function(e,t,i){var n=i(32);e.exports=function(e){return Object(n(e))}},function(e,t,i){"use strict";function n(e,t){for(var i=1;i>>0,r=arguments[1],o=0;o=0)}))}(e),s=t.inject&&!Array.isArray(e);o.forEach((function(r){s&&(function(e,t,i){do{if(e[t])if(i)for(var r=e;r&&r!==Object.prototype;r=Object.getPrototypeOf(r))delete r[t];else if(e[t]!==n.prototype[t])return e[t];e=e.next}while(e)}(i,r,t.force)||(this.source[r]=e[r])),n.prototype[r]||(n.prototype[r]=function(){if(this.next)return this.next[r].apply(this.next,arguments)})}),this)},dispatchEvent:function(e){this.handlers.forEach((function(t){t.call(this,e)}),this)},addListener:function(e){this.handlers.indexOf(e)<0&&this.handlers.push(e)},removeListener:function(e){var t=this.handlers.indexOf(e);t>=0&&delete this.handlers[t]},removeAllListeners:function(){this.handlers.length=0},dump:function(e){e=Math.min(this.getRowCount(),e||Math.max(100,this.getRowCount()));for(var t=[],i=this.getSchema(),n=i?i.map((function(e){return e.name})):this.getHeaders(),r=this.getColumnCount(),o=this.viewMakesSense,s=0;sr;)Q(e,i=n[r++],t[i]);return e},Z=function(e){var t=F.call(this,e=x(e,!0));return!(this===W&&r(B,e)&&!r(V,e))&&(!(t||!r(this,e)||!r(B,e)||r(this,L)&&this[L][e])||t)},J=function(e,t){if(e=w(e),t=x(t,!0),e!==W||!r(B,t)||r(V,t)){var i=P(e,t);return!i||!r(B,t)||r(e,L)&&e[L][t]||(i.enumerable=!0),i}},$=function(e){for(var t,i=D(w(e)),n=[],o=0;i.length>o;)r(B,t=i[o++])||t==L||t==l||n.push(t);return n},ee=function(e){for(var t,i=e===W,n=D(i?V:w(e)),o=[],s=0;n.length>s;)!r(B,t=n[s++])||i&&!r(W,t)||o.push(B[t]);return o};z||(a((T=function(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var e=d(arguments.length>0?arguments[0]:void 0),t=function(i){this===W&&t.call(V,i),r(this,L)&&r(this[L],e)&&(this[L][e]=!1),G(this,e,S(1,i))};return o&&K&&G(W,e,{configurable:!0,set:t}),Y(e)}).prototype,"toString",(function(){return this._k})),R.f=J,M.f=Q,i(89).f=E.f=$,i(57).f=Z,A.f=ee,o&&!i(26)&&a(W,"propertyIsEnumerable",Z,!0),g.f=function(e){return Y(f(e))}),s(s.G+s.W+s.F*!z,{Symbol:T});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ie=0;te.length>ie;)f(te[ie++]);for(var ne=k(f.store),re=0;ne.length>re;)p(ne[re++]);s(s.S+s.F*!z,"Symbol",{for:function(e){return r(N,e+="")?N[e]:N[e]=T(e)},keyFor:function(e){if(!X(e))throw TypeError(e+" is not a symbol!");for(var t in N)if(N[t]===e)return t},useSetter:function(){K=!0},useSimple:function(){K=!1}}),s(s.S+s.F*!z,"Object",{create:function(e,t){return void 0===t?_(e):q(_(e),t)},defineProperty:Q,defineProperties:q,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:ee});var oe=c((function(){A.f(1)}));s(s.S+s.F*oe,"Object",{getOwnPropertySymbols:function(e){return A.f(C(e))}}),H&&s(s.S+s.F*(!z||c((function(){var e=T();return"[null]"!=j([e])||"{}"!=j({a:e})||"{}"!=j(Object(e))}))),"JSON",{stringify:function(e){for(var t,i,n=[e],r=1;arguments.length>r;)n.push(arguments[r++]);if(i=t=n[1],(y(t)||void 0!==e)&&!X(e))return m(t)||(t=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!X(t))return t}),n[1]=t,j.apply(H,n)}}),T.prototype[I]||i(10)(T.prototype,I,T.prototype.valueOf),h(T,"Symbol"),h(Math,"Math",!0),h(n.JSON,"JSON",!0)},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,i){var n=i(11).f,r=i(12),o=i(1)("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},function(e,t,i){var n=i(33),r=Math.min;e.exports=function(e){return e>0?r(n(e),9007199254740991):0}},function(e,t,i){var n=i(27)("keys"),r=i(20);e.exports=function(e){return n[e]||(n[e]=r(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,i){for(var n=i(145),r=i(30),o=i(16),s=i(6),a=i(10),l=i(59),c=i(1),u=c("iterator"),h=c("toStringTag"),d=l.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},g=r(f),p=0;p1&&a.call(n[0],i,(function(){for(r=1;r',initialize:function(){this.input.style.textAlign=this.event.properties.halign,this.input.style.font=this.event.properties.font},localizer:r.prototype.string,selectAll:function(){this.input.setSelectionRange(0,this.input.value.length)}});e.exports=o},function(e,t,i){"use strict";function n(e,t){switch(arguments.length){case 0:t={};break;case 1:switch(typeof e){case"object":t=e,e=void 0;break;case"string":t={};break;default:throw"Single-parameter overload must be either string or object."}break;case 2:if("string"!=typeof e||"object"!=typeof t)throw"Two-parameter overload must be string, object.";break;default:throw"Too many parameters"}function i(){this.preInitialize&&this.preInitialize.apply(this,arguments),o.apply(this,arguments),this.postInitialize&&this.postInitialize.apply(this,arguments)}i.extend=n,i.getClassName=s,i.parent=a;var r,l,c=i.prototype=Object.create(this.prototype);for(r in c.constructor=i,(e=e||c.$$CLASS_NAME||c.name)&&(Object.defineProperty(i,"name",{value:e,configurable:!0}),c.$$CLASS_NAME=e),t)(l=Object.getOwnPropertyDescriptor(t,r))&&Object.defineProperty(c,r,l);return"function"==typeof this.postExtend&&this.postExtend(c),i}function r(){}function o(){var e=this,t=arguments;!function i(n){var r=Object.getPrototypeOf(n);r.constructor!==Object&&(i(r),r.hasOwnProperty("initialize")&&r.initialize.apply(e,t))}(e)}function s(){return this.prototype.$$CLASS_NAME||this.prototype.name||this.name}function a(e){var t=this.prototype;if(t)do{t=Object.getPrototypeOf(t)}while(e&&t&&t.constructor.name!==e);return t&&t.constructor}r.prototype={constructor:r.prototype.constructor,getClassName:function(){return this.$$CLASS_NAME||this.name||this.constructor.name},get super(){return Object.getPrototypeOf(Object.getPrototypeOf(this))},superMember:function(e){var t=this.super;do{t=Object.getPrototypeOf(t)}while(!t.hasOwnProperty(e));return t&&t[e]},superMethod:function(e){var t=this.superMember(e);if("function"!=typeof t)throw new TypeError("this."+e+" is not a function");return t},callSuperMethod:function(e){return this.superMethod(e).apply(this,Array.prototype.slice.call(arguments,1))}},r.extend=n,n.Base=r,e.exports=n},function(e,t,i){"use strict";var n=i(3).extend({initialize:function(e,t,i){"object"==typeof t&&(i=t,t=e),this.locale=t,i&&("function"==typeof i.invalid&&(this.invalid=i.invalid),i.expectation&&(this.expectation=i.expectation))}});window.Intl||(window.Intl={NumberFormat:function(e,t){this.format=function(e){var i=e.toString();if(!t||void 0===t.useGrouping||t.useGrouping){var n=i.indexOf(".");for(n<0&&(n=i.length);(n-=3)>0&&"0123456789".indexOf(i[n-1])>=0;)i=i.substr(0,n)+","+i.substr(n)}return i}},DateTimeFormat:function(e,t){this.format=function(e){return null!=e?("object"!=typeof e&&(e=new Date(e)),e=e.getMonth()+1+"-"+e.getDate()+"-"+e.getFullYear()):e=null,e}}});var r=n.extend("NumberFormatter",{initialize:function(e,t,i){"object"==typeof t&&(i=t),i=i||{},this.format=new Intl.NumberFormat(this.locale,i).format;var n=new Intl.NumberFormat(this.locale,{useGrouping:!1}).format;this.demapper=o.bind(this),this.map=n(10123456789.5).substr(1,11),i.acceptStandardDigits&&"0123456789."!==this.map&&(this.map+="0123456789."),this.invalids=new RegExp("[^"+this.format(11111).replace(this.map[1],"")+this.map+"]")},invalid:function(e){return this.invalids.test(e)},expectation:"Expected a number with optional commas (thousands grouping separator), optional decimal point, and an optional fractional part.\nComma separators are part of the format and will always be displayed for values >= 1000.\nEdited values are always saved in their entirety even though the formatted value is rounded to the specified number of decimal places.",parse:function(e){var t=Number(e.split("").map(this.demapper).join(""));if(isNaN(t))throw"Invalid Number";return t}});function o(e){var t=this.map.indexOf(e)%11;return t<0?"":t<10?t:"."}var s=n.extend("DateFormatter",{initialize:function(e,t,i){"object"==typeof t&&(i=t),i=i||{},this.format=new Intl.DateTimeFormat(this.locale,i).format;var n=new Intl.NumberFormat(this.locale,{useGrouping:!1,style:"decimal"}).format,r=this.localizedDigits=n(10123456789).substr(1,10);this.digitFormatter=a.bind(this),this.digitParser=l.bind(this);var o=this.transformNumber(this.digitFormatter,1987),s=this.transformNumber(this.digitFormatter,12),c=this.transformNumber(this.digitFormatter,30),u=new Date(1987,11,30),h=(0,new Intl.DateTimeFormat(this.locale).format)(u),d=new Intl.NumberFormat(this.locale).format(456),f=this.localizedNumberPattern=new RegExp("["+r+"]+","g"),g=h.match(f);this.partsMap={yy:g.indexOf(o),mm:g.indexOf(s),dd:g.indexOf(c)},i.acceptStandardDigits&&(d+="1234567890"),this.invalids=new RegExp("[^"+h.replace(/-/g,"\\-")+d+"]")},invalid:function(e){return this.invalids.test(e)},parse:function(e){var t=e.match(this.localizedNumberPattern);if(!t||3!==t.length)throw"Invalid Date";var i=this.transformNumber(this.digitParser,t[this.partsMap.yy]),n=this.transformNumber(this.digitParser,t[this.partsMap.mm])-1,r=this.transformNumber(this.digitParser,t[this.partsMap.dd]);return new Date(i,n,r)},transformNumber:function(e,t){return t.toString().split("").map(e).join("")}});function a(e){return this.localizedDigits[e]}function l(e){var t=this.localizedDigits.indexOf(e);return t<0&&(t=""),t}function c(e,t,i){this.locale=e,this.int=this.float=this.construct("number",r,t),this.construct("date",s,i)}c.prototype={constructor:c.prototype.constructor,$$CLASS_NAME:"Localization",construct:function(e,t,i){var n=e[0].toUpperCase()+e.substr(1).toLowerCase()+"Formatter",r=t.bind(null,this.locale),o=new r(i);return this[n]=r,this.add(e,o)},add:function(e,t){if("object"==typeof e&&(t=e,e=void 0),"object"!=typeof t||"function"!=typeof t.format||"function"!=typeof t.parse||t.invalid&&"function"!=typeof t.invalid||t.expectation&&"string"!=typeof t.expectation)throw"Expected localizer object to conform to interface.";return this[e=(e=e||t.name)&&e.toLowerCase()]=t,t},get:function(e){return this[e&&e.toLowerCase()]||this.string},chromeDate:{format:function(e){if(null!=e){"object"!=typeof e&&(e=new Date(e));var t=e.getFullYear(),i=e.getMonth()+1,n=i<10?"0"+i:i,r=e.getDate();e=t+"-"+n+"-"+(r<10?"0"+r:r)}else e=null;return e},parse:function(e){var t=e.split("-");return t&&3===t.length?new Date(t[0],t[1]-1,t[2]):null}},null:{format:function(e){return e},parse:function(e){return e}},string:{format:function(e){return e+""},parse:function(e){return e+""}}},e.exports=c},function(e,t,i){"use strict";var n=i(2).Point,r=i(3),o=i(160),s=i(166),a=i(167),l=i(168),c=i(37),u=i(66),h=i(68),d=["columnHeader","columnHeaderColumnSelection","filterProperties","rowHeader","rowHeaderRowSelection","rowNumbersProperties","treeColumnProperties","treeColumnPropertiesColumnSelection"],f=r.extend("Behavior",{initialize:function(e,t){this.grid=e,this.initializeFeatureChain(),this.grid.behavior=this,this.reset(t)},initializeFeatureChain:function(e){var t;if(this.featureChain=void 0,this.featureMap={},this.featureRegistry=this.featureRegistry||l,this.grid.properties.features){var i=this.featureRegistry.get.bind(this.featureRegistry);t=this.grid.properties.features.map(i)}else this.features&&(t=this.features,g.call(this));t.forEach((function(e,t){var i=new e;this.featureMap[i.$$CLASS_NAME]=i,t?this.featureChain.setNext(i):this.featureChain=i}),this),this.featureChain&&this.featureChain.initializeOn(this.grid)},features:[],reset:function(e){var t=this.resetDataModel(e);t&&(this.CellEvent=s(this.grid)),this.scrollPositionX=this.scrollPositionY=0,this.rowPropertiesPrototype=Object.create(this.grid.properties,i(96).rowPropertiesPrototypeDescriptors),this.clearColumns(),this.createColumns(),this.subgrids=e&&e.subgrids||!t&&this.subgrids||this.grid.properties.subgrids,this.setData(e)},setHeaders:function(e){if(e instanceof Array){var t=this.allColumns;e.forEach((function(e,i){t[i].header=e}))}else"object"==typeof e&&this.allColumns.forEach((function(t){e[t.name]&&(t.header=e[t.name])}))},setData:function(e,t){if(Array.isArray(e)||"function"==typeof e||(e=(t=e)&&t.data),void 0!==(e=this.unwrap(e))){if(!Array.isArray(e))throw"Expected data to be an array (of data row objects).";t=t||{};var i=this.unwrap(t.schema);this.subgrids.forEach((function(t){t.setData(e,i)})),this.grid.cellEditor&&this.grid.cellEditor.cancelEditing(),(t.apply||void 0===t.apply)&&this.reindex(),this.grid.allowEvents(this.getRowCount())}},get renderedColumnCount(){return this.grid.renderer.visibleColumns.length},get renderedRowCount(){return this.grid.renderer.visibleRows.length},get leftMostColIndex(){return this.grid.properties.showRowNumbers?this.rowColumnIndex:this.hasTreeColumn()?this.treeColumnIndex:0},clearColumns:function(){var e=this.schema,t=this.treeColumnIndex,i=this.rowColumnIndex;this.columnsCreated=!1,e[t]=e[t]||{},e[t].index=t,void 0===e[t].name&&(e[t].name=this.treeColumnNameDefault),void 0===e[t].header&&(e[t].header=this.treeColumnHeaderDefault),e[i]=e[i]||{},e[i].index=i,void 0===e[i].name&&(e[i].name=this.rowColumnNameDefault),void 0===e[i].header&&(e[i].header=""),this.columns=this.grid.decorateColumnArray(),this.allColumns=this.grid.decorateColumnArray(),this.allColumns[t]=this.columns[t]=this.newColumn(e[t]),this.allColumns[i]=this.columns[i]=this.newColumn(e[i]),this.columns[t].properties.propClassLayers=this.columns[i].properties.propClassLayers=this.grid.properties.propClassLayersMap.NO_ROWS,this.grid.renderer.resetRowHeaderColumnWidth()},getActiveColumn:function(e){return this.columns[e]},getActiveColumnIndex:function(e){var t=e instanceof o?e.index:e,i="number"==typeof index?"index":"name";return this.columns.findIndex((function(e){return e[i]===t}))},getColumn:function(e){return this.allColumns[e]},newColumn:function(e){return new o(this,e)},addColumn:function(e){var t=this.newColumn(e),i=new c,n=i.getSynonyms(t.name);return this.columns.push(t),i.decorateObject(this.columns,n,t),this.allColumns.push(t),i.decorateObject(this.allColumns,n,t),t},createColumns:function(e){var t=this.dataModel.getSchema();a.normalizeSchema(t),a.decorateSchema(t),a.decorateColumnSchema(t,this.grid.properties.headerify),this.createDataRowProxy(),this.clearColumns(),e&&e.call(this),this.columnsCreated=!0,this.changed(),h.call(this.grid,"fin-hypergrid-columns-created")},createDataRowProxy:function(){},getColumnWidth:function(e){var t=(e!==this.treeColumnIndex||this.hasTreeColumn())&&this.getActiveColumn(e);return t?t.getWidth():0},setColumnWidth:function(e,t){(e>=-2?this.getActiveColumn(e):e).setWidth(t),this.stateChanged()},reindex:function(){this.dataModel.reindex()},clearObjectProperties:function(e,t){for(var i in e)e.hasOwnProperty(i)&&(void 0===t||!t&&d.indexOf(i)>=0||t&&d.indexOf(i)<0)&&delete e[i]},getState:function(){var e=JSON.parse(JSON.stringify(this.grid.properties));return this.clearObjectProperties(e.columnProperties,!1),e},clearState:function(){this.grid.clearState(),this.createColumns()},setState:function(e){this.addState(e,!0)},addState:function(e,t){t&&this.clearState();var i=this.grid.properties;i.settingState=t,u(i,e),delete i.settingState,this.reindex()},setAllColumnProperties:function(e){this.addAllColumnProperties(e,!0)},addAllColumnProperties:function(e,t){if(e){var i=this.grid.behavior.getColumns();Object.keys(e).forEach((function(n){var r=i[n];r&&r.addProperties(e[n],t)}))}},setColumnOrder:function(e){if(Array.isArray(e)){var t=this.columns,i=this.allColumns,n=new c;t.length=0;var r=this.treeColumnIndex.toString(),o=this.rowColumnIndex.toString();Object.keys(t).forEach((function(e){switch(e){case r:case o:break;default:delete t[e]}})),e.forEach((function(e){t.push(i[e])})),n.decorateArray(t)}},setColumnOrderByName:function(e){if(Array.isArray(e)){var t=this.allColumns;this.setColumnOrder(e.map((function(e){return t[e].index})))}},setColumnIndexes:function(e,t){this.grid.properties.columnIndexes=e,t||this.grid.fireSyntheticOnColumnsChangedEvent()},showColumns:function(e,t,i,n){("number"==typeof e||Array.isArray(e))&&(n=i,i=t,t=e,e=!1);var r=this.columns,o=e?r:this.allColumns;"number"==typeof t&&(t=[t]);var s=t.map((function(e){return o[e]})).filter((function(e){return e}));"number"!=typeof i&&(n=i,i=r.length),n||s.forEach((function(e){var t=r.indexOf(e);t>=0&&(r.splice(t,1),i>t&&--i)})),i>=0&&r.splice.apply(r,[i,0].concat(s)),this.grid.properties.columnIndexes=r.map((function(e){return e.index}))},hideColumns:function(e,t){var i=Array.prototype.slice.call(arguments);i.push(-1),this.showColumns.apply(this,i)},resolveProperty:function(e){return this.grid.resolveProperty(e)},lookupFeature:function(e){return this.featureMap[e]},getFixedColumnsWidth:function(){for(var e,t=this.getFixedColumnCount(),i=0,n=this.leftMostColIndex,r=this.grid.properties,o="border-box"!==r.boxSizing,s=r.gridLinesVWidth;n2?"content-box":"border-box",defaultRowHeight:n>2?14:15,defaultColumnWidth:100,minimumColumnWidth:5,maximumColumnWidth:void 0,resizeColumnInPlace:!1,repaintIntervalRate:60,repaintImmediately:!1,useBitBlit:!1,useHiDPI:!0,navKeyMap:{RETURN:"DOWN",RETURNSHIFT:"UP",TAB:"RIGHT",TABSHIFT:"LEFT"},feedbackCount:3,feedbackEffect:"shaker",readOnly:!1,fixedColumnCount:0,fixedRowCount:0,rowHeaderNumbers:!0,rowHeaderCheckboxes:!0,showTreeColumn:!0,treeRenderer:"SimpleCell",showHeaderRow:!0,cellSelection:!0,columnSelection:!0,rowSelection:!0,singleRowSelectionMode:!0,selectionRegionOverlayColor:"transparent",selectionRegionOutlineColor:"rgb(69, 69, 69)",columnAutosizing:!0,rowNumberAutosizing:!0,treeColumnAutosizing:!0,columnAutosizingMax:400,treeColumnAutosizingMax:400,headerTextWrapping:!1,rowResize:!1,editable:!0,editOnDoubleClick:!0,editOnKeydown:!0,editOnNextCell:!1,unsortable:!1,sortOnDoubleClick:!0,maxSortColumns:3,sortOnHiddenColumns:!0,checkboxOnlyRowSelections:!1,autoSelectRows:!1,autoSelectColumns:!1,collapseCellSelections:!1,format:void 0,editor:void 0,renderer:"SimpleCell",gridRenderer:"by-columns-and-rows",hoverCellHighlight:{enabled:!0,backgroundColor:"rgba(160, 160, 40, 0.45)"},hoverRowHighlight:{enabled:!0,backgroundColor:"rgba(100, 100, 25, 0.30)"},hoverColumnHighlight:{enabled:!0,backgroundColor:"rgba(60, 60, 15, 0.15)"},link:!1,linkTarget:"_blank",linkOnHover:!1,linkColor:"blue",linkVisitedColor:"purple",linkColorOnHover:!1,strikeThrough:!1,multipleSelections:!1,enableContinuousRepaint:!1,columnsReorderable:!0,columnGrabMargin:5,columnClip:!0,rowStripes:void 0,propClassLayers:s.DEFAULT,features:["filters","cellselection","keypaging","columnresizing","rowselection","columnselection","columnmoving","columnsorting","cellclick","cellediting","onhover","touchscrolling"],restoreRowSelections:!0,restoreColumnSelections:!0,truncateTextWithEllipsis:!0},l={};function c(){l.rowProperties||(l.rowProperties=!0,console.warn("The `rowProperties` property has been deprecated as of v2.1.0 in favor of `rowStripes`. (Will be removed in a future release.)"))}function u(){throw new r("Attempt to set/get column-only property on a non-column properties object.")}Object.defineProperties(a,{rowProperties:{get:function(){return c(),this.rowStripes},set:function(e){c(),this.rowStripes=e}}}),["name","type","header","calculator"].forEach((function(e){Object.defineProperty(a,e,{set:u})})),Object.defineProperties(a,{mixIn:{value:i(35).mixIn},delete:{value:function(e){var t=Object.getOwnPropertyDescriptor(this,e);return!!t&&(t.get?!t.get.toString().indexOf(".var.")||(this.var[e]=Object.getPrototypeOf(this)[e],this.grid.repaint(),!1):delete this[e])}},propClassEnum:{value:o},propClassLayersMap:{value:s},navKey:{value:function(e,t){var i;return(e.length>1||!this.editOnKeydown||t)&&(i=e),i}},mappedNavKey:{value:function(e,t){return(e=this.navKeyMap[e])&&this.navKey(e)}},reapplyCellProperties:{set:function(e){l.reapplyCellProperties||(console.warn("The `.reapplyCellProperties` property has been deprecated as of v2.1.3 in favor of using the new `.propClassLayers` property. (May be removed in a future release.) This property is now a setter which sets `.propClassLayers` to `.propClassLayersMap.DEFAULT` (grid \u2190 columns \u2190 stripes \u2190 rows \u2190 cells) on truthy or `propClassLayersMap.NO_ROWS` (grid \u2190 columns \u2190 cells) on falsy, which is what you will see on properties stringification. This will give the same effect in most cases as the former property implementation, but not in all cases due to it no longer being applied dynamically. Developers should discontinue use of this property and start specifying `.propClassLayers` instead."),l.reapplyCellProperties=!0),this.propClassLayers=e?s.NO_ROWS:s.DEFAULT}},exec:{value:function(e){if(this.dataRow){var t="f"===(typeof e)[0]&&e||this.calculator;t&&(e=t(this.dataRow,this.name,this.subrow))}return e}}}),e.exports=a},function(e,t,i){"use strict";e.exports=function(e){var t,i,n,r=this.grid.properties,o=this.visibleRows,s=o.length;if(e){n=this.cellEventPool;var a=0;this.visibleColumns.forEachWithNeg((function(e){for(i=0;i=this.getRowCount()?this.data.push(t):this.data.splice(e,0,t),this.dispatchEvent("fin-hypergrid-data-shape-changed")},delRow:function(e,t){var i=this.data.splice(e,void 0===t?1:t);return i.length&&this.dispatchEvent("fin-hypergrid-data-shape-changed"),i},getValue:function(e,t){var i=this.data[t];return i?i[this.schema[e].name]:null},setValue:function(e,t,i){this.data[t][this.schema[e].name]=i},getRowCount:function(){return this.data.length},getColumnCount:function(){return this.schema.length}});e.exports=n},function(e,t,i){"use strict";"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i},window.CustomEvent.prototype=window.Event.prototype);var n,r,o=i(2),s=200,a=[],l=[],c=function(){for(var e=[],t=["",""],i=0;i<256;i++)e[i]=t;return e[27]=["ESC","ESCSHIFT"],e[192]=["`","~"],e[49]=["1","!"],e[50]=["2","@"],e[51]=["3","#"],e[52]=["4","$"],e[53]=["5","%"],e[54]=["6","^"],e[55]=["7","&"],e[56]=["8","*"],e[57]=["9","("],e[48]=["0",")"],e[189]=["-","_"],e[187]=["=","+"],e[8]=["BACKSPACE","BACKSPACESHIFT"],e[46]=["DELETE","DELETESHIFT"],e[9]=["TAB","TABSHIFT"],e[81]=["q","Q"],e[87]=["w","W"],e[69]=["e","E"],e[82]=["r","R"],e[84]=["t","T"],e[89]=["y","Y"],e[85]=["u","U"],e[73]=["i","I"],e[79]=["o","O"],e[80]=["p","P"],e[219]=["[","{"],e[221]=["]","}"],e[220]=["\\","|"],e[220]=["CAPSLOCK","CAPSLOCKSHIFT"],e[65]=["a","A"],e[83]=["s","S"],e[68]=["d","D"],e[70]=["f","F"],e[71]=["g","G"],e[72]=["h","H"],e[74]=["j","J"],e[75]=["k","K"],e[76]=["l","L"],e[186]=[";",":"],e[222]=["'","|"],e[13]=["RETURN","RETURNSHIFT"],e[16]=["SHIFT","SHIFT"],e[90]=["z","Z"],e[88]=["x","X"],e[67]=["c","C"],e[86]=["v","V"],e[66]=["b","B"],e[78]=["n","N"],e[77]=["m","M"],e[188]=[",","<"],e[190]=[".",">"],e[191]=["/","?"],e[16]=["SHIFT","SHIFT"],e[17]=["CTRL","CTRLSHIFT"],e[18]=["ALT","ALTSHIFT"],e[91]=["COMMANDLEFT","COMMANDLEFTSHIFT"],e[32]=["SPACE","SPACESHIFT"],e[93]=["COMMANDRIGHT","COMMANDRIGHTSHIFT"],e[18]=["ALT","ALTSHIFT"],e[38]=["UP","UPSHIFT"],e[37]=["LEFT","LEFTSHIFT"],e[40]=["DOWN","DOWNSHIFT"],e[39]=["RIGHT","RIGHTSHIFT"],e[33]=["PAGEUP","PAGEUPSHIFT"],e[34]=["PAGEDOWN","PAGEDOWNSHIFT"],e[35]=["PAGERIGHT","PAGERIGHTSHIFT"],e[36]=["PAGELEFT","PAGELEFTSHIFT"],e[112]=["F1","F1SHIFT"],e[113]=["F2","F2SHIFT"],e[114]=["F3","F3SHIFT"],e[115]=["F4","F4SHIFT"],e[116]=["F5","F5SHIFT"],e[117]=["F6","F6SHIFT"],e[118]=["F7","F7SHIFT"],e[119]=["F8","F8SHIFT"],e[120]=["F9","F9SHIFT"],e[121]=["F10","F10SHIFT"],e[122]=["F11","F11SHIFT"],e[123]=["F12","F12SHIFT"],e}();function u(e,t,i){var n=this;this.div=e,this.component=t,this.dragEndtime=Date.now(),this.infoDiv=document.createElement("div"),this.infoDiv.className="info",this.div.appendChild(this.infoDiv),this.gc=b(this.canvas=document.createElement("canvas"),i),this.bc=b(this.buffer=document.createElement("canvas"),i),this.div.appendChild(this.canvas),this.canvas.style.outline="none",this.mouseLocation=new o.Point(-1,-1),this.dragstart=new o.Point(-1,-1),this.bounds=new o.Rectangle(0,0,0,0),this.hasMouse=!1,document.addEventListener("mousemove",(function(e){(n.hasMouse||n.isDragging())&&n.finmousemove(e)})),document.addEventListener("mouseup",(function(e){n.finmouseup(e)})),document.addEventListener("keydown",(function(e){n.finkeydown(e)})),document.addEventListener("keyup",(function(e){n.finkeyup(e)})),this.canvas.onmouseover=function(){n.hasMouse=!0},this.addEventListener("focus",(function(e){n.finfocusgained(e)})),this.addEventListener("blur",(function(e){n.finfocuslost(e)})),this.addEventListener("mousedown",(function(e){n.finmousedown(e)})),this.addEventListener("mouseout",(function(e){n.hasMouse=!1,n.finmouseout(e)})),this.addEventListener("click",(function(e){n.finclick(e)})),this.addEventListener("dblclick",(function(e){n.findblclick(e)})),this.addEventListener("contextmenu",(function(e){return n.fincontextmenu(e),e.preventDefault(),!1})),this.addEventListener("touchstart",(function(e){n.fintouchstart(e)})),this.addEventListener("touchmove",(function(e){n.fintouchmove(e)})),this.addEventListener("touchend",(function(e){n.fintouchend(e)})),this.canvas.setAttribute("tabindex",0),this.resize(),this.beginResizing(),this.beginPainting()}function h(e){n&&(a.forEach((function(t){try{t.tickPainter(e)}catch(e){console.error(e)}t.component.tickNotification&&t.component.tickNotification()})),n=requestAnimationFrame(h))}function d(){n=n||requestAnimationFrame(h)}function f(e){if(r)for(var t=0;t=0&&this.currentKeys.splice(i,1),"SHIFT"===e&&this.currentKeys.forEach((function(e,i,n){var r=c.find((function(i){return i[t?0:1]===e}));r&&(n[i]=r[t?1:0])})),t&&i<0&&this.currentKeys.push(e)}function m(e,t,i){var n=this;return Object.defineProperty(i,t,{configurable:!0,ennumerable:!0,get:function(){var t;"shiftKey"in e?v.call(n,"SHIFT",t=e.shiftKey):t=n.currentKeys.indexOf("SHIFT")>=0;var i=t?"SHIFT":"";return"ctrlKey"in e&&v.call(n,"CTRL"+i,e.ctrlKey),"altKey"in e&&v.call(n,"ALT"+i,e.altKey),n.currentKeys.slice()}}),i}function b(e,t){var n=e.getContext("2d",t),r={},o={};function s(e){e in r||/^(webkit|moz|ms|o)[A-Z]/.test(e)||"function"==typeof n[e]||Object.defineProperty(r,e,{get:function(){return o[e]=o[e]||n[e]},set:function(t){t!==o[e]&&(n[e]=o[e]=t)}})}return Object.keys(Object.getPrototypeOf(n)).forEach(s),Object.keys(n).forEach(s),n.cache=r,n.cache.save=function(){n.save(),o=Object.create(o)},n.cache.restore=function(){n.restore(),o=Object.getPrototypeOf(o)},n.conditionalsStack=[],Object.getOwnPropertyNames(u.graphicsContextAliases).forEach((function(e){n[e]=n[u.graphicsContextAliases[e]]})),Object.assign(n,i(131))}u.prototype={constructor:u.prototype.constructor,div:null,component:null,canvas:null,focuser:null,buffer:null,ctx:null,mouseLocation:null,dragstart:null,origin:null,bounds:null,dirty:!1,size:null,mousedown:!1,dragging:!1,repeatKeyCount:0,repeatKey:null,repeatKeyStartTime:0,currentKeys:[],hasMouse:!1,dragEndTime:0,lastRepaintTime:0,currentPaintCount:0,currentFPS:0,lastFPSComputeTime:0,addEventListener:function(e,t){this.canvas.addEventListener(e,t)},removeEventListener:function(e,t){this.canvas.removeEventListener(e,t)},stopPaintLoop:function(){n&&(cancelAnimationFrame(n),n=void 0)},restartPaintLoop:d,stopResizeLoop:function(){r&&(clearInterval(r),r=void 0)},restartResizeLoop:g,detached:function(){this.stopPainting(),this.stopResizing()},getCurrentFPS:function(){return this.currentFPS},tickPaint:function(e){var t=this.component.properties.enableContinuousRepaint,i=this.component.properties.repaintIntervalRate;if(0!==i){var n=1e3/i;e-this.lastRepaintTime>n&&(t||this.dirty)&&(this.paintNow(),this.lastRepaintTime=e,t&&(this.currentPaintCount++,e-this.lastFPSComputeTime>=1e3&&(this.currentFPS=1e3*this.currentPaintCount/(e-this.lastFPSComputeTime),this.currentPaintCount=0,this.lastFPSComputeTime=e)))}},beginPainting:function(){var e=this;this.requestRepaint(),this.tickPainter=function(t){e.tickPaint(t)},a.push(this)},stopPainting:function(){a.splice(a.indexOf(this),1)},beginResizing:function(){var e=this;this.tickResizer=function(){e.checksize()},l.push(this)},stopResizing:function(){l.splice(l.indexOf(this),1)},start:function(){this.beginPainting(),this.beginResizing()},stop:function(){this.stopPainting(),this.stopResizing()},getDivBoundingClientRect:function(){var e=this.div.getBoundingClientRect(),t=Math.floor(e.top),i=Math.floor(e.left),n=Math.ceil(e.width),r=Math.ceil(e.height);return{top:t,right:i+n,bottom:t+r,left:i,width:n,height:r,x:e.x,y:e.y}},checksize:function(){var e=this.getDivBoundingClientRect();e.width===this.size.width&&e.height===this.size.height||this.resize()},resize:function(){var e=this.size=this.getDivBoundingClientRect();this.width=e.width,this.height=e.height;var t=1,i=window.devicePixelRatio&&this.component.properties.useHiDPI;i&&(t=(window.devicePixelRatio||1)/(this.gc.webkitBackingStorePixelRatio||this.gc.mozBackingStorePixelRatio||this.gc.msBackingStorePixelRatio||this.gc.oBackingStorePixelRatio||this.gc.backingStorePixelRatio||1));this.buffer.width=this.canvas.width=this.width*t,this.buffer.height=this.canvas.height=this.height*t,this.canvas.style.width=this.buffer.style.width=this.width+"px",this.canvas.style.height=this.buffer.style.height=this.height+"px",this.bc.scale(t,t),i&&!this.component.properties.useBitBlit&&this.gc.scale(t,t),this.bounds=new o.Rectangle(0,0,this.width,this.height),this.component.setBounds(this.bounds),this.resizeNotification(),this.paintNow()},resizeNotification:function(){this.dispatchNewEvent(void 0,"fin-canvas-resized",{width:this.width,height:this.height})},getBounds:function(){return this.bounds},paintNow:function(){var e=this.component.properties.useBitBlit,t=e?this.bc:this.gc;try{t.cache.save(),this.dirty=!1,this.component.paint(t)}catch(e){console.error(e)}finally{t.cache.restore()}e&&this.flushBuffer()},flushBuffer:function(){this.buffer.width>0&&this.buffer.height>0&&this.gc.drawImage(this.buffer,0,0)},newEvent:function(e,t,i){var n={detail:i||{}};return e&&(n.detail.primitiveEvent=e),new CustomEvent(t,n)},dispatchNewEvent:function(e,t,i){return this.canvas.dispatchEvent(this.newEvent(e,t,i))},dispatchNewMouseKeysEvent:function(e,t,i){return(i=i||{}).mouse=this.mouseLocation,m.call(this,e,"keys",i),this.dispatchNewEvent(e,t,i)},dispatchNewTouchEvent:function(e,t,i){i=i||{};var n=[].slice.call(e.changedTouches);return i.touches=n.map((function(e){return this.getLocal(e)}),this),this.dispatchNewEvent(e,t,i)},finmousemove:function(e){!this.isDragging()&&this.mousedown&&(this.beDragging(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-dragstart",{isRightClick:this.isRightClick(e),dragstart:this.dragstart}),this.dragstart=new o.Point(this.mouseLocation.x,this.mouseLocation.y)),this.mouseLocation=this.getLocal(e),this.isDragging()&&this.dispatchNewMouseKeysEvent(e,"fin-canvas-drag",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}),this.bounds.contains(this.mouseLocation)&&this.dispatchNewMouseKeysEvent(e,"fin-canvas-mousemove")},finmousedown:function(e){this.mouseLocation=this.mouseDownLocation=this.getLocal(e),this.mousedown=!0,this.dispatchNewMouseKeysEvent(e,"fin-canvas-mousedown",{isRightClick:this.isRightClick(e)}),this.takeFocus()},finmouseup:function(e){this.mousedown&&(this.isDragging()&&(this.dispatchNewMouseKeysEvent(e,"fin-canvas-dragend",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}),this.beNotDragging(),this.dragEndtime=Date.now()),this.mousedown=!1,this.dispatchNewMouseKeysEvent(e,"fin-canvas-mouseup",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}))},finmouseout:function(e){this.mousedown||(this.mouseLocation=new o.Point(-1,-1)),this.repaint(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-mouseout",{dragstart:this.dragstart})},finwheelmoved:function(e){!this.isDragging()&&this.hasFocus()&&(e.preventDefault(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-wheelmoved",{isRightClick:this.isRightClick(e)}))},finclick:function(e){this.mouseLocation=this.getLocal(e),this.dispatchNewMouseKeysEvent(e,"fin-canvas-click",{isRightClick:this.isRightClick(e)})},findblclick:function(e){this.mouseLocation=this.getLocal(e),this.dispatchNewMouseKeysEvent(e,"fin-canvas-dblclick",{isRightClick:this.isRightClick(e)})},getCharMap:function(){return c},getKeyChar:function(e){var t=e.keyCode||e.detail.key,i=e.shiftKey||e.detail.shift,n=e.key;return e.legacyKey=c[t]&&c[t][i?1:0],"string"==typeof n&&1===n.length?n:e.legacyKey||n},finkeydown:function(e){if(this.hasFocus()){var t=p.call(this,e,!0);e.repeat?this.repeatKey===t?this.repeatKeyCount++:(this.repeatKey=t,this.repeatKeyStartTime=Date.now()):(this.repeatKey=null,this.repeatKeyCount=0,this.repeatKeyStartTime=0),this.dispatchNewEvent(e,"fin-canvas-keydown",m.call(this,e,"currentKeys",{alt:e.altKey,ctrl:e.ctrlKey,char:t,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,repeatCount:this.repeatKeyCount,repeatStartTime:this.repeatKeyStartTime,shift:e.shiftKey,identifier:e.key}))}},finkeyup:function(e){if(this.hasFocus()){var t=p.call(this,e,!1);this.repeatKeyCount=0,this.repeatKey=null,this.repeatKeyStartTime=0,this.dispatchNewEvent(e,"fin-canvas-keyup",m.call(this,e,"currentKeys",{alt:e.altKey,ctrl:e.ctrlKey,char:t,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,repeat:e.repeat,shift:e.shiftKey,identifier:e.key,currentKeys:this.currentKeys.slice(0)}))}},finfocusgained:function(e){this.dispatchNewEvent(e,"fin-canvas-focus-gained")},finfocuslost:function(e){this.dispatchNewEvent(e,"fin-canvas-focus-lost")},fincontextmenu:function(e){e.ctrlKey&&-1===this.currentKeys.indexOf("CTRL")&&this.currentKeys.push("CTRL"),this.dispatchNewMouseKeysEvent(e,"fin-canvas-context-menu",{isRightClick:this.isRightClick(e)})},fintouchstart:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchstart")},fintouchmove:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchmove")},fintouchend:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchend")},paintLoopRunning:function(){return!!n},requestRepaint:function(){this.dirty=!0},repaint:function(){this.requestRepaint(),n&&0!==this.component.properties.repaintIntervalRate||this.paintNow()},getMouseLocation:function(){return this.mouseLocation},getOrigin:function(){var e=this.canvas.getBoundingClientRect();return new o.Point(e.left,e.top)},getLocal:function(e){var t=this.canvas.getBoundingClientRect();return new o.Point(e.clientX-t.left,e.clientY-t.top)},hasFocus:function(){return document.activeElement===this.canvas},takeFocus:function(){var e=this;this.hasFocus()||setTimeout((function(){e.canvas.focus()}),10)},beDragging:function(){this.dragging=!0,this.disableDocumentElementSelection()},beNotDragging:function(){this.dragging=!1,this.enableDocumentElementSelection()},isDragging:function(){return this.dragging},disableDocumentElementSelection:function(){var e=document.body.style;e.cssText=e.cssText+"-webkit-user-select: none"},enableDocumentElementSelection:function(){var e=document.body.style;e.cssText=e.cssText.replace("-webkit-user-select: none","")},setFocusable:function(e){this.focuser.style.display=e?"":"none"},isRightClick:function(e){var t;return"which"in(e=e||window.event)?t=3===e.which:"button"in e&&(t=2===e.button),t},dispatchEvent:function(e){return this.canvas.dispatchEvent(e)},setInfo:function(e,t){e&&(void 0!==t&&(t&&!isNaN(Number(t))&&(t+="px"),this.infoDiv.style.width=t),e.indexOf("<")?this.infoDiv.innerHTML=e:this.infoDiv.innerText=e),this.infoDiv.style.display=e?"block":"none"}},d(),g(),u.graphicsContextAliases={simpleText:"fillText"},e.exports=u},function(e,t,i){var n=i(6),r=i(25),o=i(26),s=i(83),a=i(11).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=o?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t,i){t.f=i(1)},function(e,t,i){e.exports=!i(9)&&!i(8)((function(){return 7!=Object.defineProperty(i(85)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,i){var n=i(15),r=i(6).document,o=n(r)&&n(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,t,i){var n=i(12),r=i(17),o=i(138)(!1),s=i(55)("IE_PROTO");e.exports=function(e,t){var i,a=r(e),l=0,c=[];for(i in a)i!=s&&n(a,i)&&c.push(i);for(;t.length>l;)n(a,i=t[l++])&&(~o(c,i)||c.push(i));return c}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,i){var n=i(7),r=i(141),o=i(56),s=i(55)("IE_PROTO"),a=function(){},l=function(){var e,t=i(85)("iframe"),n=o.length;for(t.style.display="none",i(142).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("