UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

2 lines 713 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.breadcrumb.min.js`),require(`kendo.data.min.js`),require(`kendo.dataviz.core.min.js`),require(`kendo.dataviz.themes.min.js`),require(`kendo.drawing.min.js`),require(`kendo.userevents.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.breadcrumb.min`,`kendo.data.min`,`kendo.dataviz.core.min`,`kendo.dataviz.themes.min`,`kendo.drawing.min`,`kendo.userevents.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.DatavizChart={}),e.kendo._globals.Breadcrumb,e.kendo._globals.Data,e.kendo._globals.DatavizCore,e.kendo._globals.DatavizThemes,e.kendo._globals.Drawing,e.kendo._globals.Userevents,e.kendo._globals.Icons))})(this,function(e,t,n,r,i,a,o,s){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var c=Object.defineProperty,l=(e,t)=>{let n={};for(var r in e)c(n,r,{get:e[r],enumerable:!0});return t||c(n,Symbol.toStringTag,{value:`Module`}),n};(function(e,t){let n=window.kendo,r=n.dataviz,i=n.ui.Widget,a=i.extend({init:function(e,t){if(i.fn.init.call(this,e,t),!t.chart)throw Error("ChartBreadcrumb: No Chart instance supplied as `options.chart`");this._attachChartEvents(),this._renderBreadcrumb(),n.notify(this,r.ui)},events:[],options:{name:`ChartBreadcrumb`,rootItem:{type:`rootitem`,icon:`home`,text:`Home`,showIcon:!0}},destroy:function(){this.breadcrumb&&=(this.breadcrumb.destroy(),null),this.chart&&=(this.chart.unbind(`drilldown`,this._onChartDrilldown),this.chart.unbind(`drilldownLevelChange`,this._onChartDrilldownLevelChange),null),i.fn.destroy.call(this)},_attachChartEvents(t){let n=this.options;if(typeof n.chart.resetDrilldownLevel==`function`)this.chart=n.chart;else if(typeof n.chart==`string`){if(this.chart=e(n.chart).getKendoChart()||e(`#`+n.chart).getKendoChart(),!this.chart&&!t){setTimeout(()=>this._attachChartEvents(!0));return}}else throw Error("ChartBreadcrumb: `options.chart` must be a Chart instance, element ID or a selector");this._onChartDrilldown=this._onChartDrilldown.bind(this),this.chart.bind(`drilldown`,this._onChartDrilldown),this._onChartDrilldownLevelChange=this._onChartDrilldownLevelChange.bind(this),this.chart.bind(`drilldownLevelChange`,this._onChartDrilldownLevelChange)},_renderBreadcrumb:function(){let t=e(`<nav />`);this.element.append(t),this.breadcrumb=new n.ui.Breadcrumb(t,{items:[this.options.rootItem]}),this.breadcrumb.bind(`click`,e=>this._onBreadcrumbClick(e))},_onBreadcrumbClick:function(e){if(!this.breadcrumb||!this.chart)return;let t=this.breadcrumb.items().findIndex(t=>t===e.item);this.chart.resetDrilldownLevel(t)},_onChartDrilldown:function(e){!this.breadcrumb||e.isDefaultPrevented()||this.breadcrumb.items([...this.breadcrumb.items(),{type:`item`,text:e.point.category}])},_onChartDrilldownLevelChange:function(e){if(!this.breadcrumb)return;let t=this.breadcrumb.items();t=t.slice(0,e.level+1),this.breadcrumb.items(t)}});r.ui.plugin(a)})(window.kendo.jQuery);var u=class{constructor(e){this._axis=e,this.options=e.options}value(e){let t=this._axis;return t.getCategory?t.getCategory(e):t.getValue(e)}slot(e,t,n=!0){return this._axis.slot(e,t,n)}range(){return this._axis.range()}valueRange(){return this._axis.valueRange()}};function d(e,t){for(let n=0;n<t.length;n++)if(t[n].options.name===e)return t[n].prepareUserOptions(),new u(t[n])}var f=class{constructor(e){this.visual=e.visual,this.chartsVisual=e.chartContainer.visual,this._pane=e}findAxisByName(e){return d(e,this._pane.axes)}},p=class{constructor(e){this._plotArea=e,this.visual=e.visual,this.backgroundVisual=e._bgVisual}};let m=`ArrowUp`,h=`ArrowDown`,g=`ArrowLeft`,_=`ArrowRight`,v=`aria-activedescendant`,y=`#000`,b=`bottom`,x=`center`,S=`circle`,C=`cross`,w=`date`,ee=`12px sans-serif`,T=/\{\d+:?/,te=`height`,ne=`inside`,re=`inherit`,E=`left`,ie=Number.MAX_VALUE,D=-Number.MAX_VALUE,ae=`none`,oe=`object`,se=`outside`,O=`right`,ce=`roundedRect`,le=`start`,ue=`string`,de=`value`,k=`#fff`,fe=`width`,pe=`pointer`,me=`horizontal`;function he(e){return Array.isArray(e)}function ge(e,t){let n=he(t)?t:[t];for(let t=0;t<n.length;t++){let r=n[t];e.className.indexOf(r)===-1&&(e.className+=` `+r)}}let _e=/\s+/g;function ve(e,t){e&&e.className&&(e.className=e.className.replace(t,``).replace(_e,` `))}var ye=class{},be=class extends ye{constructor(){super(),this._events={}}bind(e,t,n){let r=Se(e),i=xe(t),a=r.length;if(t===void 0){for(let t in e)this.bind(t,e[t]);return this}for(let e=0;e<a;e++){let a=r[e],o=i?t:t[a];if(o){if(n){let e=o;o=()=>{this.unbind(a,o),e.apply(this,arguments)},o.original=e}(this._events[a]=this._events[a]||[]).push(o)}}return this}one(e,t){return this.bind(e,t,!0)}first(e,t){let n=Se(e),r=xe(t);for(let e=0,i=n.length;e<i;e++){let i=n[e],a=r?t:t[i];a&&(this._events[i]=this._events[i]||[]).unshift(a)}return this}trigger(e,t={}){let n=this._events[e];if(n){let e=n.length;t.sender=this,t._defaultPrevented=!1,t.preventDefault=Ce,t.isDefaultPrevented=we,n=n.slice();for(let r=0;r<e;r++)n[r].call(this,t);return t._defaultPrevented===!0}return!1}unbind(e,t){let n=this._events[e];if(e===void 0)this._events={};else if(n)if(t)for(let e=n.length-1;e>=0;e--)(n[e]===t||n[e].original===t)&&n.splice(e,1);else this._events[e]=[];return this}};function xe(e){return typeof e==`function`}function Se(e){return typeof e==`string`?[e]:e}function Ce(){this._defaultPrevented=!0}function we(){return this._defaultPrevented===!0}var Te=be;let Ee=e=>{let t=typeof window<`u`?window:{},n=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)};Ee=e=>n.call(t,e),Ee(e)};var De=Ee;let Oe=/&/g,ke=/</g,Ae=/"/g,je=/'/g,Me=/>/g;function Ne(e){return String(e).replace(Oe,`&amp;`).replace(ke,`&lt;`).replace(Me,`&gt;`).replace(Ae,`&quot;`).replace(je,`&#39;`)}function Pe(e){let t=window.console;t!==void 0&&t.log&&t.log(e)}function Fe(e){let t={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+))/i},n={};for(let r in t)if(t.hasOwnProperty(r)){let i=e.match(t[r]);if(i){n[r]=!0,n[i[1].toLowerCase().split(` `)[0].split(`/`)[0]]=!0,n.version=parseInt(document.documentMode||i[2],10);break}}return n}let Ie=null;var Le={get browser(){return typeof window>`u`||Ie||(Ie=Fe(window.navigator.userAgent)),Ie}},Re=Date.now||function(){return new Date().getTime()};function ze(e,t){let n=0,r;if(!t||t<=0)return e;let i=function(){let i=Re()-n,a=arguments,o=function(){e.apply(null,a),n=Re()};if(!n)return o();r&&clearTimeout(r),i>t?o():r=setTimeout(o,t-i)};return i.cancel=function(){clearTimeout(r)},i}var Be={aliceblue:`f0f8ff`,antiquewhite:`faebd7`,aqua:`00ffff`,aquamarine:`7fffd4`,azure:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`000000`,blanchedalmond:`ffebcd`,blue:`0000ff`,blueviolet:`8a2be2`,brown:`a52a2a`,burlywood:`deb887`,cadetblue:`5f9ea0`,chartreuse:`7fff00`,chocolate:`d2691e`,coral:`ff7f50`,cornflowerblue:`6495ed`,cornsilk:`fff8dc`,crimson:`dc143c`,cyan:`00ffff`,darkblue:`00008b`,darkcyan:`008b8b`,darkgoldenrod:`b8860b`,darkgray:`a9a9a9`,darkgrey:`a9a9a9`,darkgreen:`006400`,darkkhaki:`bdb76b`,darkmagenta:`8b008b`,darkolivegreen:`556b2f`,darkorange:`ff8c00`,darkorchid:`9932cc`,darkred:`8b0000`,darksalmon:`e9967a`,darkseagreen:`8fbc8f`,darkslateblue:`483d8b`,darkslategray:`2f4f4f`,darkslategrey:`2f4f4f`,darkturquoise:`00ced1`,darkviolet:`9400d3`,deeppink:`ff1493`,deepskyblue:`00bfff`,dimgray:`696969`,dimgrey:`696969`,dodgerblue:`1e90ff`,firebrick:`b22222`,floralwhite:`fffaf0`,forestgreen:`228b22`,fuchsia:`ff00ff`,gainsboro:`dcdcdc`,ghostwhite:`f8f8ff`,gold:`ffd700`,goldenrod:`daa520`,gray:`808080`,grey:`808080`,green:`008000`,greenyellow:`adff2f`,honeydew:`f0fff0`,hotpink:`ff69b4`,indianred:`cd5c5c`,indigo:`4b0082`,ivory:`fffff0`,khaki:`f0e68c`,lavender:`e6e6fa`,lavenderblush:`fff0f5`,lawngreen:`7cfc00`,lemonchiffon:`fffacd`,lightblue:`add8e6`,lightcoral:`f08080`,lightcyan:`e0ffff`,lightgoldenrodyellow:`fafad2`,lightgray:`d3d3d3`,lightgrey:`d3d3d3`,lightgreen:`90ee90`,lightpink:`ffb6c1`,lightsalmon:`ffa07a`,lightseagreen:`20b2aa`,lightskyblue:`87cefa`,lightslategray:`778899`,lightslategrey:`778899`,lightsteelblue:`b0c4de`,lightyellow:`ffffe0`,lime:`00ff00`,limegreen:`32cd32`,linen:`faf0e6`,magenta:`ff00ff`,maroon:`800000`,mediumaquamarine:`66cdaa`,mediumblue:`0000cd`,mediumorchid:`ba55d3`,mediumpurple:`9370d8`,mediumseagreen:`3cb371`,mediumslateblue:`7b68ee`,mediumspringgreen:`00fa9a`,mediumturquoise:`48d1cc`,mediumvioletred:`c71585`,midnightblue:`191970`,mintcream:`f5fffa`,mistyrose:`ffe4e1`,moccasin:`ffe4b5`,navajowhite:`ffdead`,navy:`000080`,oldlace:`fdf5e6`,olive:`808000`,olivedrab:`6b8e23`,orange:`ffa500`,orangered:`ff4500`,orchid:`da70d6`,palegoldenrod:`eee8aa`,palegreen:`98fb98`,paleturquoise:`afeeee`,palevioletred:`d87093`,papayawhip:`ffefd5`,peachpuff:`ffdab9`,peru:`cd853f`,pink:`ffc0cb`,plum:`dda0dd`,powderblue:`b0e0e6`,purple:`800080`,red:`ff0000`,rosybrown:`bc8f8f`,royalblue:`4169e1`,saddlebrown:`8b4513`,salmon:`fa8072`,sandybrown:`f4a460`,seagreen:`2e8b57`,seashell:`fff5ee`,sienna:`a0522d`,silver:`c0c0c0`,skyblue:`87ceeb`,slateblue:`6a5acd`,slategray:`708090`,slategrey:`708090`,snow:`fffafa`,springgreen:`00ff7f`,steelblue:`4682b4`,tan:`d2b48c`,teal:`008080`,thistle:`d8bfd8`,tomato:`ff6347`,turquoise:`40e0d0`,violet:`ee82ee`,wheat:`f5deb3`,white:`ffffff`,whitesmoke:`f5f5f5`,yellow:`ffff00`,yellowgreen:`9acd32`};let Ve=Le.browser,He=e=>{let t=Object.keys(Be);t.push(`transparent`);let n=RegExp(`^(`+t.join(`|`)+`)(\\W|$)`,`i`);return He=e=>n.exec(e),n.exec(e)};var Ue=class extends ye{constructor(){super()}toHSV(){return this}toRGB(){return this}toHex(e){return this.toBytes().toHex(e)}toBytes(){return this}toCss(e){return`#`+this.toHex(e)}toCssRgba(){let e=this.toBytes();return`rgba(${e.r}, ${e.g}, ${e.b}, ${parseFloat(Number(this.a).toFixed(3))})`}toDisplay(){return Ve.msie&&Ve.version<9?this.toCss():this.toCssRgba()}equals(e){return e===this||e!=null&&this.toCssRgba()===Ze(e).toCssRgba()}diff(e){if(e===null)return NaN;let t=this.toBytes(),n=e.toBytes();return Math.sqrt(((t.r-n.r)*.3)**2+((t.g-n.g)*.59)**2+((t.b-n.b)*.11)**2)}clone(){let e=this.toBytes();return e===this&&(e=new Ge(e.r,e.g,e.b,e.a)),e}},We=class extends Ue{constructor(e,t,n,r){super(),this.r=e,this.g=t,this.b=n,this.a=r}toHSV(){let{r:e,g:t,b:n}=this,r=Math.min(e,t,n),i=Math.max(e,t,n),a=i-r,o=i,s,c;return a===0?new qe(0,0,o,this.a):(i===0?(c=0,s=-1):(c=a/i,s=e===i?(t-n)/a:t===i?2+(n-e)/a:4+(e-t)/a,s*=60,s<0&&(s+=360)),new qe(s,c,o,this.a))}toHSL(){let{r:e,g:t,b:n}=this,r=Math.max(e,t,n),i=Math.min(e,t,n),a,o,s=(r+i)/2;if(r===i)a=o=0;else{let c=r-i;switch(o=s>.5?c/(2-r-i):c/(r+i),r){case e:a=(t-n)/c+(t<n?6:0);break;case t:a=(n-e)/c+2;break;case n:a=(e-t)/c+4;break;default:break}}return new Je(a*60,o*100,s*100,this.a)}toBytes(){return new Ge(this.r*255,this.g*255,this.b*255,this.a)}},Ge=class extends We{constructor(e,t,n,r){super(Math.round(e),Math.round(t),Math.round(n),r)}toRGB(){return new We(this.r/255,this.g/255,this.b/255,this.a)}toHSV(){return this.toRGB().toHSV()}toHSL(){return this.toRGB().toHSL()}toHex(e){let t=Ke(this.r,2)+Ke(this.g,2)+Ke(this.b,2);return e&&e.alpha&&(t+=Ke(Math.round(this.a*255),2)),t}toBytes(){return this}};function Ke(e,t,n=`0`){let r=e.toString(16);for(;t>r.length;)r=n+r;return r}var qe=class extends Ue{constructor(e,t,n,r){super(),this.h=e,this.s=t,this.v=n,this.a=r}toRGB(){let{h:e,s:t,v:n}=this,r,i,a;if(t===0)r=i=a=n;else{e/=60;let o=Math.floor(e),s=e-o,c=n*(1-t),l=n*(1-t*s),u=n*(1-t*(1-s));switch(o){case 0:r=n,i=u,a=c;break;case 1:r=l,i=n,a=c;break;case 2:r=c,i=n,a=u;break;case 3:r=c,i=l,a=n;break;case 4:r=u,i=c,a=n;break;default:r=n,i=c,a=l;break}}return new We(r,i,a,this.a)}toHSL(){return this.toRGB().toHSL()}toBytes(){return this.toRGB().toBytes()}},Je=class extends Ue{constructor(e,t,n,r){super(),this.h=e,this.s=t,this.l=n,this.a=r}toRGB(){let e=this.h/360,t=this.s/100,n=this.l/100,r,i,a;if(t===0)r=i=a=n;else{let o=n<.5?n*(1+t):n+t-n*t,s=2*n-o;r=Ye(s,o,e+1/3),i=Ye(s,o,e),a=Ye(s,o,e-1/3)}return new We(r,i,a,this.a)}toHSV(){return this.toRGB().toHSV()}toBytes(){return this.toRGB().toBytes()}};function Ye(e,t,n){let r=n;return r<0&&(r+=1),r>1&&--r,r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Xe(e){return parseFloat(parseFloat(parseInt(e,16)/255).toFixed(3))}function Ze(e,t){let n,r;if(!e||e===`none`)return null;if(e instanceof Ue)return e;let i=e.toLowerCase();if(n=He(i))return i=n[1]===`transparent`?new We(1,1,1,0):Ze(Be[n[1]],t),i.match=[n[1]],i;if((n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(i))?r=new Ge(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(i))?r=new Ge(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(i))?r=new Ge(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),Xe(n[4]+n[4])):(n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(i))?r=new Ge(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),Xe(n[4])):(n=/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/.exec(i))?r=new Ge(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),1):(n=/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)/.exec(i))?r=new Ge(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),parseFloat(n[4])):(n=/^rgb\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*\)/.exec(i))?r=new We(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,1):(n=/^rgba\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9.]+)\s*\)/.exec(i))?r=new We(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,parseFloat(n[4])):(n=/^color\(\s*srgb\s*([0-9]*\.?[0-9]+)\s+([0-9]*\.?[0-9]+)\s+([0-9]*\.?[0-9]+)\s*(\/\s+([0-9]*\.?[0-9]+))?\)/.exec(i))&&(r=new We(parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),parseFloat(n[5]||`1`))),r)r.match=n;else if(!t)throw Error(`Cannot parse color: `+i);return r}var Qe=class e extends ye{constructor(t){if(super(),arguments.length===1){let n=e.formats,r=this.resolveColor(t);for(let e=0;e<n.length;e++){let t=n[e].re,i=n[e].process,a=t.exec(r);if(a){let e=i(a);this.r=e[0],this.g=e[1],this.b=e[2]}}}else this.r=arguments[0],this.g=arguments[1],this.b=arguments[2];this.r=this.normalizeByte(this.r),this.g=this.normalizeByte(this.g),this.b=this.normalizeByte(this.b)}toHex(){let e=this.padDigit,t=this.r.toString(16),n=this.g.toString(16),r=this.b.toString(16);return`#`+e(t)+e(n)+e(r)}resolveColor(t){let n=t||`black`;return n.charAt(0)===`#`&&(n=n.substr(1,6)),n=n.replace(/ /g,``),n=n.toLowerCase(),n=e.namedColors[n]||n,n}normalizeByte(e){return e<0||isNaN(e)?0:e>255?255:e}padDigit(e){return e.length===1?`0`+e:e}brightness(e){let t=Math.round;return this.r=t(this.normalizeByte(this.r*e)),this.g=t(this.normalizeByte(this.g*e)),this.b=t(this.normalizeByte(this.b*e)),this}percBrightness(){return Math.sqrt(.241*this.r*this.r+.691*this.g*this.g+.068*this.b*this.b)}isDark(){return this.percBrightness()<180}static fromBytes(e,t,n,r){return new Ge(e,t,n,r??1)}static fromRGB(e,t,n,r){return new We(e,t,n,r??1)}static fromHSV(e,t,n,r){return new qe(e,t,n,r??1)}static fromHSL(e,t,n,r){return new Je(e,t,n,r??1)}};Qe.formats=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,process:function(e){return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10)]}},{re:/^(\w{2})(\w{2})(\w{2})$/,process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}}],Qe.namedColors=Be;var $e=Qe,et=class extends ye{observers(){return this._observers=this._observers||[],this._observers}addObserver(e){return this._observers?this._observers.push(e):this._observers=[e],this}removeObserver(e){let t=this.observers(),n=t.indexOf(e);return n!==-1&&t.splice(n,1),this}trigger(e,t){let n=this._observers;if(n&&!this._suspended)for(let r=0;r<n.length;r++){let i=n[r];i[e]&&i[e](t)}return this}optionsChange(e={}){e.element=this,this.trigger(`optionsChange`,e)}geometryChange(){this.trigger(`geometryChange`,{element:this})}suspend(){return this._suspended=(this._suspended||0)+1,this}resume(){return this._suspended=Math.max((this._suspended||0)-1,0),this}_observerField(e,t){this[e]&&this[e].removeObserver(this),this[e]=t,t.addObserver(this)}};let tt={}.toString;var nt=class e extends et{constructor(e,t=``){for(let n in super(),this.prefix=t,e){let t=e[n];t=this._wrap(t,n),this[n]=t}}get(e){let t=e.split(`.`),n=this;for(;t.length&&n;){let e=t.shift();n=n[e]}return n}set(e,t){this.get(e)!==t&&(this._set(e,this._wrap(t,e)),this.optionsChange({field:this.prefix+e,value:t}))}_set(t,n){let r=t.indexOf(`.`)>=0,i=this,a=t;if(r){let t=a.split(`.`),n=this.prefix;for(;t.length>1;){a=t.shift(),n+=a+`.`;let r=i[a];r||(r=new e({},n),r.addObserver(this),i[a]=r),i=r}a=t[0]}i._clear(a),i[a]=n}_clear(e){let t=this[e];t&&t.removeObserver&&t.removeObserver(this)}_wrap(t,n){let r=tt.call(t),i=t;return i!=null&&r===`[object Object]`&&(!(t instanceof e)&&!(t instanceof ye)&&(i=new e(i,this.prefix+n+`.`)),i.addObserver(this)),i}};function rt(e){return function(t){return this[e]!==t&&(this[e]=t,this.geometryChange()),this}}function it(e){return function(){return this[e]}}function at(e,t){for(let n=0;n<t.length;n++){let r=t[n],i=r.charAt(0).toUpperCase()+r.substring(1,r.length);e[`set`+i]=rt(r),e[`get`+i]=it(r)}}var ot=(e,t)=>{let n=class extends e{};return at(n.prototype,t),n};function st(e,t){return e.push.apply(e,t),e}let ct={1:`i`,10:`x`,100:`c`,2:`ii`,20:`xx`,200:`cc`,3:`iii`,30:`xxx`,300:`ccc`,4:`iv`,40:`xl`,400:`cd`,5:`v`,50:`l`,500:`d`,6:`vi`,60:`lx`,600:`dc`,7:`vii`,70:`lxx`,700:`dcc`,8:`viii`,80:`lxxx`,800:`dccc`,9:`ix`,90:`xc`,900:`cm`,1e3:`m`};function lt(e){let t=[1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],n=``;for(;e>0;)e<t[0]?t.shift():(n+=ct[t[0]],e-=t[0]);return n}function ut(){let e,t,n=new Promise((r,i)=>{e=e=>(n._state=`resolved`,r(e),n),t=e=>(n._state=`rejected`,i(e),n)});return n._state=`pending`,n.resolve=e,n.reject=t,n.state=()=>n._state,n}function dt(e){return e!==void 0}let ft=1;function pt(){return`kdef`+ ft++}let mt=Math.PI/180,ht=Number.MAX_VALUE,gt=-Number.MAX_VALUE;function _t(e){return e/mt}let vt=String.fromCharCode;function yt(e){let t=``;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296<=r&&r<=56319){let t=r,i=e.charCodeAt(++n);isNaN(i)||(r=(t-55296)*1024+(i-56320)+65536)}r<128?t+=vt(r):r<2048?(t+=vt(192|r>>>6),t+=vt(128|r&63)):r<65536?(t+=vt(224|r>>>12),t+=vt(128|r>>>6&63),t+=vt(128|r&63)):r<1114111&&(t+=vt(240|r>>>18),t+=vt(128|r>>>12&63),t+=vt(128|r>>>6&63),t+=vt(128|r&63))}return t}let bt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=`;function xt(e){let t=``,n=0,r=yt(e);for(;n<r.length;){let e=r.charCodeAt(n++),i=r.charCodeAt(n++),a=r.charCodeAt(n++),o=e>>2,s=(e&3)<<4|i>>4,c=(i&15)<<2|a>>6,l=a&63;isNaN(i)?c=l=64:isNaN(a)&&(l=64),t=t+bt.charAt(o)+bt.charAt(s)+bt.charAt(c)+bt.charAt(l)}return t}function St(e){return(e.x||{}).location===void 0?{x:e.pageX||e.clientX||0,y:e.pageY||e.clientY||0}:{x:e.x.location,y:e.y.location}}function Ct(e={}){return e.touch?e.touch.initialTouch:e.target}function wt(e){return e===``||e===null||e===`none`||e===`transparent`||e===void 0}function Tt(e){if(e)return e[e.length-1]}function Et(e,t,n){return Math.max(Math.min(e,n),t)}function Dt(e,t){if(e.length<2)return e.slice();function n(e,n){for(var r=[],i=0,a=0,o=0;i<e.length&&a<n.length;)t(e[i],n[a])<=0?r[o++]=e[i++]:r[o++]=n[a++];return i<e.length&&r.push.apply(r,e.slice(i)),a<n.length&&r.push.apply(r,n.slice(a)),r}return(function e(t){if(t.length<=1)return t;var r=Math.floor(t.length/2),i=t.slice(0,r),a=t.slice(r);return i=e(i),a=e(a),n(i,a)})(e)}function Ot(e){return Promise.all(e)}function kt(e){return e*mt}function At(e){return e?10**e:1}function jt(e,t){let n=At(t);return Math.round(e*n)/n}function Mt(e,t){return e===void 0?t:e}function Nt(e,t){for(let n in t){let r=n.trim().split(` `);for(let i=0;i<r.length;i++)e.addEventListener(r[i],t[n],!1)}}function Pt(e){let t=e.getBoundingClientRect(),n=document.documentElement;return{top:t.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||0),left:t.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}}function Ft(e,t){let n={},r=window.getComputedStyle(e)||{},i=Array.isArray(t)?t:[t];for(let e=0;e<i.length;e++){let t=i[e];n[t]=r[t]}return n}function It(e){return isNaN(e)?e:e+`px`}function Lt(e,t){if(t){let{width:n,height:r}=t;n!==void 0&&(e.style.width=It(n)),r!==void 0&&(e.style.height=It(r))}else{let t=Ft(e,[`width`,`height`]);return{width:parseInt(t.width,10),height:parseInt(t.height,10)}}}function Rt(e,t={}){for(let n in t){let r=n.trim().split(` `);for(let i=0;i<r.length;i++)e.removeEventListener(r[i],t[n],!1)}}function zt(e){let{paddingLeft:t,paddingTop:n}=Ft(e,[`paddingLeft`,`paddingTop`]);return{top:parseFloat(n),left:parseFloat(t)}}var Bt=class e extends ye{constructor(e=0,t=0,n=0,r=0,i=0,a=0){super(),this.a=e,this.b=t,this.c=n,this.d=r,this.e=i,this.f=a}multiplyCopy(t){return new e(this.a*t.a+this.c*t.b,this.b*t.a+this.d*t.b,this.a*t.c+this.c*t.d,this.b*t.c+this.d*t.d,this.a*t.e+this.c*t.f+this.e,this.b*t.e+this.d*t.f+this.f)}invert(){let{a:t,b:n,c:r,d:i,e:a,f:o}=this,s=t*i-n*r;return s===0?null:new e(i/s,-n/s,-r/s,t/s,(r*o-i*a)/s,(n*a-t*o)/s)}clone(){return new e(this.a,this.b,this.c,this.d,this.e,this.f)}equals(e){return e?this.a===e.a&&this.b===e.b&&this.c===e.c&&this.d===e.d&&this.e===e.e&&this.f===e.f:!1}round(e){return this.a=jt(this.a,e),this.b=jt(this.b,e),this.c=jt(this.c,e),this.d=jt(this.d,e),this.e=jt(this.e,e),this.f=jt(this.f,e),this}toArray(e){let t=[this.a,this.b,this.c,this.d,this.e,this.f];if(e!==void 0)for(let n=0;n<t.length;n++)t[n]=jt(t[n],e);return t}toString(e,t=`,`){return this.toArray(e).join(t)}static translate(t,n){return new e(1,0,0,1,t,n)}static unit(){return new e(1,0,0,1,0,0)}static rotate(t,n,r){let i=new e;return i.a=Math.cos(kt(t)),i.b=Math.sin(kt(t)),i.c=-i.b,i.d=i.a,i.e=n-n*i.a+r*i.b||0,i.f=r-r*i.a-n*i.b||0,i}static scale(t,n){return new e(t,0,0,n,0,0)}};Bt.IDENTITY=Bt.unit();var Vt=Bt;let Ht=/matrix\((.*)\)/;function Ut(e){let t=e.match(Ht);return t===null||t.length!==2?Vt.unit():new Vt(...t[1].split(`,`).map(e=>parseFloat(e)))}function Wt(e){let t=getComputedStyle(e).transform;return t===`none`?Vt.unit():Ut(t)}function Gt(e){if(!e)return Vt.unit();let t=Wt(e),n=e.parentElement;for(;n;){let e=Wt(n);t=t.multiplyCopy(e),n=n.parentElement}return t.b=t.c=t.e=t.f=0,t}var Kt=class extends ye{constructor(e){super(),this._size=e,this._length=0,this._map={}}put(e,t){let n=this._map,r={key:e,value:t};n[e]=r,this._head?(this._tail.newer=r,r.older=this._tail,this._tail=r):this._head=this._tail=r,this._length>=this._size?(n[this._head.key]=null,this._head=this._head.newer,this._head.older=null):this._length++}get(e){let t=this._map[e];if(t)return t===this._head&&t!==this._tail&&(this._head=t.newer,this._head.older=null),t!==this._tail&&(t.older&&(t.older.newer=t.newer,t.newer.older=t.older),t.older=this._tail,t.newer=null,this._tail.newer=t,this._tail=t),t.value}};let qt=/\r?\n|\r|\t/g;function Jt(e){return String(e).replace(qt,` `)}function Yt(e){let t=[];for(let n in e)t.push(n+e[n]);return t.sort().join(``)}function Xt(e){let t=2166136261;for(let n=0;n<e.length;++n)t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24),t^=e.charCodeAt(n);return t>>>0}function Zt(){return{width:0,height:0,baseline:0}}let Qt={baselineMarkerSize:1},$t;typeof document<`u`&&($t=document.createElement(`div`),$t.style.setProperty(`position`,`absolute`,`important`),$t.style.setProperty(`top`,`-4000px`,`important`),$t.style.setProperty(`width`,`auto`,`important`),$t.style.setProperty(`height`,`auto`,`important`),$t.style.setProperty(`padding`,`0`,`important`),$t.style.setProperty(`margin`,`0`,`important`),$t.style.setProperty(`border`,`0`,`important`),$t.style.setProperty(`line-height`,`normal`,`important`),$t.style.setProperty(`visibility`,`hidden`,`important`),$t.style.setProperty(`white-space`,`pre`,`important`));var en=class extends ye{constructor(e){super(),this._cache=new Kt(1e3),this.options=Object.assign({},Qt,e)}measure(e,t,n={}){if(e==null)return Zt();let r=Xt(e+Yt(t)),i=this._cache.get(r);if(i)return i;let a=Zt(),o=n.box||$t,s=this._baselineMarker().cloneNode(!1);for(let e in t){let n=t[e];n!==void 0&&(o.style[e]=n)}let c=n.normalizeText===!1?String(e):Jt(e);return o.textContent=c,o.appendChild(s),document.body.appendChild(o),c.length&&(a.width=o.offsetWidth-this.options.baselineMarkerSize,a.height=o.offsetHeight,a.baseline=s.offsetTop+this.options.baselineMarkerSize),a.width>0&&a.height>0&&this._cache.put(r,a),o.parentNode.removeChild(o),a}_baselineMarker(){let e=document.createElement(`div`);return e.style.display=`inline-block`,e.style.verticalAlign=`baseline`,e.style.width=this.options.baselineMarkerSize+`px`,e.style.height=this.options.baselineMarkerSize+`px`,e.style.overflow=`hidden`,e}};en.current=new en;var tn=en;function nn(e,t,n){return tn.current.measure(e,t,n)}let rn=()=>typeof window<`u`,an={wp:/(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,fire:/(Silk)\/(\d+)\.(\d+(\.\d+)?)/,android:/(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)(\.(\d+(\.\d+)?))?/,iphone:/(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,ipad:/(iPad).*OS\s+(\d+)[\._]([\d_]+)/,meego:/(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,webos:/(webOS)\/(\d+)\.(\d+(\.\d+)?)/,blackberry:/(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,playbook:/(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,windows:/(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,tizen:/(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,sailfish:/(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,ffos:/(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/},on={ios:/^i(phone|pad|pod)$/i,android:/^android|fire$/i,blackberry:/^blackberry|playbook/i,windows:/windows/,wp:/wp/,flat:/sailfish|ffos|tizen/i,meego:/meego/},sn={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+)|)/i},cn={omini:/Opera\sMini/i,omobile:/Opera\sMobi/i,firefox:/Firefox|Fennec/i,mobilesafari:/version\/.*safari/i,ie:/MSIE|Windows\sPhone/i,chrome:/chrome|crios/i,webkit:/webkit/i},ln=(e,t,n)=>{for(let n in t)if(t.hasOwnProperty(n)&&t[n].test(e))return n;return n===void 0?e:n},un=e=>{let t,n=[];for(let r in an)if(an.hasOwnProperty(r)){if(n=e.match(an[r]),!n)continue;if(r===`windows`&&`plugins`in window.navigator)return null;let i={};return i.device=r,i.browser=ln(e,cn,`default`),i.name=ln(r,on),i[i.name]=!0,i.majorVersion=n[2],i.minorVersion=n[3]?n[3].replace(`_`,`.`):`.0`,t=i.minorVersion.replace(`.`,``).substr(0,2),i.flatVersion=i.majorVersion+t+Array(3-(t.length<3?t.length:2)).join(`0`),i.cordova=!0,i.appMode=window.navigator.standalone||/file|local|wmapp/.test(window.location.protocol)||i.cordova,i}return null},dn=e=>{let t=null,n=[];for(let r in sn)if(sn.hasOwnProperty(r)&&(n=e.match(sn[r]),n)){t={},t[r]=!0,t[n[1].toLowerCase().split(` `)[0].split(`/`)[0]]=!0,t.version=parseInt(document.documentMode||n[2],10);break}return t},fn=rn()&&window.navigator?window.navigator.userAgent:null,pn=fn?dn(fn):null;fn&&un(fn),rn()&&`ontouchstart`in window,pn&&!pn.chrome&&window.MSPointerEvent,pn&&!pn.chrome&&window.PointerEvent;let mn={};mn.undefined=e=>e;let hn={};hn.undefined=e=>e;let gn=/\/\*[\s\S]*?\*\//g,_n=/([^\s:;]+?)\s*:\s*((?:(?:url\(\s*(?:(?:[^"')\\]|\\.)*|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')\s*\)|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|[^;"'])*?)\s*)(?=;|$)/gi,vn=/&quot;|&#34;|&#x22;/gi,yn=/&apos;|&#39;|&#x27;/gi;function bn(e){return e.replace(vn,`"`).replace(yn,`'`)}function xn(e){let t={},n=bn((e||``).replace(gn,``)),r=_n.exec(n),i,a;for(;r!==null;)i=r[1].trim(),a=r[2].trim(),t[i]=a,r=_n.exec(n);return t}let Sn=(e,t)=>{let n=xn(t);Object.keys(n).forEach(t=>{e.style[t]=n[t]})},Cn=`data-style`,wn=e=>(e||``).replace(/\sstyle=/g,` `+Cn+`=`),Tn=e=>{Array.from(e.querySelectorAll(`[`+Cn+`]`)).forEach(e=>{let t=e.getAttribute(Cn);e.removeAttribute(Cn),Sn(e,t)})},En=(e,t)=>{e.innerHTML=wn(t),Tn(e)},Dn=(e,t)=>{let n=document.createElement(`div`);En(n,t),n.firstElementChild&&e.insertBefore(n.firstElementChild,e.firstChild)};var On=l({DEG_TO_RAD:()=>mt,LRUCache:()=>Kt,MAX_NUM:()=>ht,MIN_NUM:()=>gt,TextMetrics:()=>tn,append:()=>st,arabicToRoman:()=>lt,bindEvents:()=>Nt,createPromise:()=>ut,defined:()=>dt,definitionId:()=>pt,deg:()=>_t,elementOffset:()=>Pt,elementPadding:()=>zt,elementScale:()=>Gt,elementSize:()=>Lt,elementStyles:()=>Ft,encodeBase64:()=>xt,eventCoordinates:()=>St,eventElement:()=>Ct,hashKey:()=>Xt,isTransparent:()=>wt,last:()=>Tt,limitValue:()=>Et,measureText:()=>nn,mergeSort:()=>Dt,normalizeText:()=>Jt,now:()=>Re,objectKey:()=>Yt,promiseAll:()=>Ot,rad:()=>kt,round:()=>jt,setInnerHTML:()=>En,unbindEvents:()=>Rt,valueOrDefault:()=>Mt});function kn(e){return e&&typeof e.matrix==`function`?e.matrix():e}var A=class e extends ot(et,[`x`,`y`]){constructor(e,t){super(),this.x=e||0,this.y=t||0}equals(e){return e&&e.x===this.x&&e.y===this.y}clone(){return new e(this.x,this.y)}rotate(t,n){let r=e.create(n)||e.ZERO;return this.transform(Vt.rotate(t,r.x,r.y))}translate(e,t){return this.x+=e,this.y+=t,this.geometryChange(),this}translateWith(e){return this.translate(e.x,e.y)}move(e,t){return this.x=this.y=0,this.translate(e,t)}scale(e,t=e){return this.x*=e,this.y*=t,this.geometryChange(),this}scaleCopy(e,t){return this.clone().scale(e,t)}transform(e){let t=kn(e),{x:n,y:r}=this;return this.x=t.a*n+t.c*r+t.e,this.y=t.b*n+t.d*r+t.f,this.geometryChange(),this}transformCopy(e){let t=this.clone();return e&&t.transform(e),t}distanceTo(e){let t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)}round(e){return this.x=jt(this.x,e),this.y=jt(this.y,e),this.geometryChange(),this}toArray(e){let t=e!==void 0;return[t?jt(this.x,e):this.x,t?jt(this.y,e):this.y]}toString(e,t=` `){let{x:n,y:r}=this;return e!==void 0&&(n=jt(n,e),r=jt(r,e)),n+t+r}static create(t,n){if(t!==void 0)return t instanceof e?t:arguments.length===1&&t.length===2?new e(t[0],t[1]):new e(t,n)}static min(){let t=ht,n=ht;for(let e=0;e<arguments.length;e++){let r=arguments[e];t=Math.min(r.x,t),n=Math.min(r.y,n)}return new e(t,n)}static max(){let t=gt,n=gt;for(let e=0;e<arguments.length;e++){let r=arguments[e];t=Math.max(r.x,t),n=Math.max(r.y,n)}return new e(t,n)}static minPoint(){return new e(gt,gt)}static maxPoint(){return new e(ht,ht)}static get ZERO(){return new e(0,0)}},An=class e extends ot(et,[`width`,`height`]){constructor(e,t){super(),this.width=e||0,this.height=t||0}equals(e){return e&&e.width===this.width&&e.height===this.height}clone(){return new e(this.width,this.height)}toArray(e){let t=e!==void 0;return[t?jt(this.width,e):this.width,t?jt(this.height,e):this.height]}static create(t,n){if(t!==void 0)return t instanceof e?t:arguments.length===1&&t.length===2?new e(t[0],t[1]):new e(t,n)}static get ZERO(){return new e(0,0)}},j=class e extends et{constructor(e=new A,t=new An,n=0){super(),this.setOrigin(e),this.setSize(t),this.setCornerRadius(n)}clone(){return new e(this.origin.clone(),this.size.clone())}equals(e){return e&&e.origin.equals(this.origin)&&e.size.equals(this.size)}setOrigin(e){return this._observerField(`origin`,A.create(e)),this.geometryChange(),this}getOrigin(){return this.origin}setCornerRadius(e){return this.cornerRadius=Array.isArray(e)?e:[e,e],this.geometryChange(),this}getCornerRadius(){return this.cornerRadius}setSize(e){return this._observerField(`size`,An.create(e)),this.geometryChange(),this}getSize(){return this.size}width(){return this.size.width}height(){return this.size.height}topLeft(){return this.origin.clone()}bottomRight(){return this.origin.clone().translate(this.width(),this.height())}topRight(){return this.origin.clone().translate(this.width(),0)}bottomLeft(){return this.origin.clone().translate(0,this.height())}center(){return this.origin.clone().translate(this.width()/2,this.height()/2)}bbox(t){let n=this.topLeft().transformCopy(t),r=this.topRight().transformCopy(t),i=this.bottomRight().transformCopy(t),a=this.bottomLeft().transformCopy(t);return e.fromPoints(n,r,i,a)}transformCopy(t){return e.fromPoints(this.topLeft().transform(t),this.bottomRight().transform(t))}expand(e,t=e){return this.size.width+=2*e,this.size.height+=2*t,this.origin.translate(-e,-t),this}expandCopy(e,t){return this.clone().expand(e,t)}containsPoint(e){let t=this.origin,n=this.bottomRight();return!(e.x<t.x||e.y<t.y||n.x<e.x||n.y<e.y)}_isOnPath(e,t){let n=this.expandCopy(t,t),r=this.expandCopy(-t,-t);return n.containsPoint(e)&&!r.containsPoint(e)}static fromPoints(){let t=A.min.apply(null,arguments),n=A.max.apply(null,arguments);return new e(t,new An(n.x-t.x,n.y-t.y))}static union(t,n){return e.fromPoints(A.min(t.topLeft(),n.topLeft()),A.max(t.bottomRight(),n.bottomRight()))}static intersect(t,n){let r={left:t.topLeft().x,top:t.topLeft().y,right:t.bottomRight().x,bottom:t.bottomRight().y},i={left:n.topLeft().x,top:n.topLeft().y,right:n.bottomRight().x,bottom:n.bottomRight().y};if(r.left<=i.right&&i.left<=r.right&&r.top<=i.bottom&&i.top<=r.bottom)return e.fromPoints(new A(Math.max(r.left,i.left),Math.max(r.top,i.top)),new A(Math.min(r.right,i.right),Math.min(r.bottom,i.bottom)))}},jn=class e extends et{constructor(e=Vt.unit()){super(),this._matrix=e}clone(){return new e(this._matrix.clone())}equals(e){return e&&e._matrix.equals(this._matrix)}translate(e,t){return this._matrix=this._matrix.multiplyCopy(Vt.translate(e,t)),this._optionsChange(),this}scale(e,t=e,n=null){let r=n;return r&&(r=A.create(r),this._matrix=this._matrix.multiplyCopy(Vt.translate(r.x,r.y))),this._matrix=this._matrix.multiplyCopy(Vt.scale(e,t)),r&&(this._matrix=this._matrix.multiplyCopy(Vt.translate(-r.x,-r.y))),this._optionsChange(),this}rotate(e,t){let n=A.create(t)||A.ZERO;return this._matrix=this._matrix.multiplyCopy(Vt.rotate(e,n.x,n.y)),this._optionsChange(),this}multiply(e){let t=kn(e);return this._matrix=this._matrix.multiplyCopy(t),this._optionsChange(),this}matrix(e){return e?(this._matrix=e,this._optionsChange(),this):this._matrix}_optionsChange(){this.optionsChange({field:`transform`,value:this})}};function M(e){return e===null?null:e instanceof jn?e:new jn(e)}let Mn={dot:[1.5,3.5],dash:[4,3.5],longdash:[8,3.5],dashdot:[3.5,3.5,1.5,3.5],longdashdot:[8,3.5,1.5,3.5],longdashdotdot:[8,3.5,1.5,3.5,1.5,3.5]},Nn=`solid`,Pn=`butt`,Fn=`Pattern`;var In=class extends et{get nodeType(){return`Rect`}constructor(e){super(),this._initOptions(e)}_initOptions(e={}){let{clip:t,transform:n}=e;n&&(e.transform=M(n)),t&&!t.id&&(t.id=pt()),this.options=new nt(e),this.options.addObserver(this)}transform(e){if(e!==void 0)this.options.set(`transform`,M(e));else return this.options.get(`transform`)}parentTransform(){let e=this,t;for(;e.parent;){e=e.parent;let n=e.transform();n&&(t=n.matrix().multiplyCopy(t||Vt.unit()))}if(t)return M(t)}currentTransform(e=this.parentTransform()){let t=kn(this.transform()),n=kn(e),r;if(r=t&&n?n.multiplyCopy(t):t||n,r)return M(r)}visible(e){return e===void 0?this.options.get(`visible`)!==!1:(this.options.set(`visible`,e),this)}clip(e){let t=this.options;return e===void 0?t.get(`clip`):(e&&!e.id&&(e.id=pt()),t.set(`clip`,e),this)}opacity(e){return e===void 0?Mt(this.options.get(`opacity`),1):(this.options.set(`opacity`,e),this)}className(e){return e===void 0?this.options.get(`className`):(this.options.set(`className`,e),this)}clippedBBox(e){let t=this._clippedBBox(e);if(t){let n=this.clip();return n?j.intersect(t,n.bbox(e)):t}}containsPoint(e,t){if(this.visible()){let n=this.currentTransform(t),r=e;return n&&(r=e.transformCopy(n.matrix().invert())),this._hasFill()&&this._containsPoint(r)||this._isOnPath&&this._hasStroke()&&this._isOnPath(r)}return!1}_hasFill(){let e=this.options.fill;return e&&(e.nodeType===Fn||!wt(e.color))}_hasStroke(){let e=this.options.stroke;return e&&e.width>0&&!wt(e.color)}_clippedBBox(e){return this.bbox(e)}};function Ln(e,t,n,r){let i=0,a=0;return r&&(i=Math.atan2(r.c*n,r.a*t),r.b!==0&&(a=Math.atan2(r.d*n,r.b*t))),{x:i,y:a}}let Rn=Math.PI/2;var zn=class e extends ot(et,[`radius`]){constructor(e=new A,t=0){super(),this.setCenter(e),this.setRadius(t)}setCenter(e){return this._observerField(`center`,A.create(e)),this.geometryChange(),this}getCenter(){return this.center}equals(e){return e&&e.center.equals(this.center)&&e.radius===this.radius}clone(){return new e(this.center.clone(),this.radius)}pointAt(e){return this._pointAt(kt(e))}bbox(e){let t=Ln(this.center,this.radius,this.radius,e),n=A.maxPoint(),r=A.minPoint();for(let i=0;i<4;i++){let a=this._pointAt(t.x+i*Rn).transformCopy(e),o=this._pointAt(t.y+i*Rn).transformCopy(e),s=new A(a.x,o.y);n=A.min(n,s),r=A.max(r,s)}return j.fromPoints(n,r)}_pointAt(e){let{center:t,radius:n}=this;return new A(t.x+n*Math.cos(e),t.y+n*Math.sin(e))}containsPoint(e){let{center:t,radius:n}=this;return(e.x-t.x)**2+(e.y-t.y)**2<=n**2}_isOnPath(e,t){let{center:n,radius:r}=this,i=n.distanceTo(e);return r-t<=i&&i<=r+t}},Bn=e=>class extends e{fill(e,t){let n=this.options;if(e!==void 0){if(e&&e.nodeType!==`Gradient`){let r={color:e};t!==void 0&&(r.opacity=t),n.set(`fill`,r)}else n.set(`fill`,e);return this}return n.get(`fill`)}stroke(e,t,n){return e===void 0?this.options.get(`stroke`):(this.options.set(`stroke.color`,e),t!==void 0&&this.options.set(`stroke.width`,t),n!==void 0&&this.options.set(`stroke.opacity`,n),this)}};let Vn=Vt.IDENTITY.toString();var Hn=e=>class extends e{bbox(e){let t=kn(this.currentTransform(e)),n=t?t.toString():Vn,r;this._bboxCache&&this._matrixHash===n?r=this._bboxCache.clone():(r=this._bbox(t),this._bboxCache=r?r.clone():null,this._matrixHash=n);let i=this.options.get(`stroke.width`);return i&&r&&r.expand(i/2),r}geometryChange(){delete this._bboxCache,this.trigger(`geometryChange`,{element:this})}};function Un(e){let t=`_`+e;return function(e){return e===void 0?this[t]:(this._observerField(t,e),this.geometryChange(),this)}}function Wn(e,t){for(let n=0;n<t.length;n++)e[t[n]]=Un(t[n])}var Gn=(e,t=[`geometry`])=>{let n=class extends e{};return Wn(n.prototype,t),n},Kn=class extends Bn(Hn(Gn(In))){get nodeType(){return`Circle`}constructor(e=new zn,t={}){super(t),this.geometry(e),this.options.stroke===void 0&&this.stroke(`#000`)}rawBBox(){return this._geometry.bbox()}_bbox(e){return this._geometry.bbox(e)}_containsPoint(e){return this.geometry().containsPoint(e)}_isOnPath(e){return this.geometry()._isOnPath(e,this.options.stroke.width/2)}};function qn(e,t,n=10){return jt(Math.abs(e-t),n)===0}function Jn(e,t,n){return e<t||qn(e,t,n)}function Yn(e,t,n,r){let i=t.x-e.x,a=r.x-n.x,o=t.y-e.y,s=r.y-n.y,c=e.x-n.x,l=e.y-n.y,u=i*s-a*o,d=(i*l-o*c)/u,f=(a*l-s*c)/u;if(d>=0&&d<=1&&f>=0&&f<=1)return new A(e.x+f*i,e.y+f*o)}let Xn=Math.pow,Zn=[`radiusX`,`radiusY`,`startAngle`,`endAngle`,`anticlockwise`];var Qn=class e extends ot(et,Zn){constructor(e=new A,t={}){super(),this.setCenter(e),this.radiusX=t.radiusX,this.radiusY=t.radiusY||t.radiusX,this.startAngle=t.startAngle,this.endAngle=t.endAngle,this.anticlockwise=t.anticlockwise||!1,this.xRotation=t.xRotation}clone(){return new e(this.center,{radiusX:this.radiusX,radiusY:this.radiusY,startAngle:this.startAngle,endAngle:this.endAngle,anticlockwise:this.anticlockwise})}setCenter(e){return this._observerField(`center`,A.create(e)),this.geometryChange(),this}getCenter(){return this.center}pointAt(e){let t=this.center,n=kt(e);return new A(t.x+this.radiusX*Math.cos(n),t.y+this.radiusY*Math.sin(n))}curvePoints(){let e=this.startAngle,t=this.anticlockwise?-1:1,n=[this.pointAt(e)],r=this._arcInterval(),i=r.endAngle-r.startAngle,a=Math.ceil(i/45),o=i/a,s=e,c;this.xRotation&&(c=M().rotate(this.xRotation,this.center));for(let e=1;e<=a;e++){let e=s+t*o,r=this._intervalCurvePoints(s,e,c);n.push(r.cp1,r.cp2,r.p2),s=e}return n}bbox(e){let t=this._arcInterval(),n=t.startAngle,r=t.endAngle,i=Ln(this.center,this.radiusX,this.radiusY,e),a=_t(i.x),o=_t(i.y),s=this.pointAt(r).transformCopy(e),c=tr(a,n),l=tr(o,n),u=this.pointAt(n).transformCopy(e),d=A.min(u,s),f=A.max(u,s);for(;c<r||l<r;){let t;c<r&&(t=this.pointAt(c).transformCopy(e),c+=90);let n;l<r&&(n=this.pointAt(l).transformCopy(e),l+=90),u=new A(t.x,n.y),d=A.min(d,u),f=A.max(f,u)}return j.fromPoints(d,f)}_arcInterval(){let{startAngle:e,endAngle:t,anticlockwise:n}=this;if(n){let n=e;e=t,t=n}return(e>t||n&&e===t)&&(t+=360),{startAngle:e,endAngle:t}}_intervalCurvePoints(e,t,n){let r=this.pointAt(e),i=this.pointAt(t),a=this._derivativeAt(e),o=this._derivativeAt(t),s=(kt(t)-kt(e))/3,c=new A(r.x+s*a.x,r.y+s*a.y),l=new A(i.x-s*o.x,i.y-s*o.y);return n&&(r.transform(n),i.transform(n),c.transform(n),l.transform(n)),{p1:r,cp1:c,cp2:l,p2:i}}_derivativeAt(e){let t=kt(e);return new A(-this.radiusX*Math.sin(t),this.radiusY*Math.cos(t))}containsPoint(e){let t=this._arcInterval(),n=t.endAngle-t.startAngle,{center:r,radiusX:i,radiusY:a}=this,o=r.distanceTo(e),s=Math.atan2(e.y-r.y,e.x-r.x),c=i*a/Math.sqrt(Xn(i,2)*Xn(Math.sin(s),2)+Xn(a,2)*Xn(Math.cos(s),2)),l=this.pointAt(this.startAngle).round(10),u=this.pointAt(this.endAngle).round(10),d=Yn(r,e.round(10),l,u),f;if(n<180)f=d&&Jn(r.distanceTo(d),o)&&Jn(o,c);else{let n=$n(r.x,r.y,i,a,e.x,e.y);n!==360&&(n=(360+n)%360);let s=t.startAngle<=n&&n<=t.endAngle;f=s&&Jn(o,c)||!s&&(!d||d.equals(e))}return f}_isOnPath(e,t){let n=this._arcInterval(),r=this.center,i=$n(r.x,r.y,this.radiusX,this.radiusY,e.x,e.y);return i!==360&&(i=(360+i)%360),n.startAngle<=i&&i<=n.endAngle&&this.pointAt(i).distanceTo(e)<=t}static fromPoints(t,n,r,i,a,o,s){let c=er({x1:t.x,y1:t.y,x2:n.x,y2:n.y,rx:r,ry:i,largeArc:a,swipe:o,rotation:s});return new e(c.center,{startAngle:c.startAngle,endAngle:c.endAngle,radiusX:c.radiusX,radiusY:c.radiusY,xRotation:c.xRotation,anticlockwise:o===0})}};function $n(e,t,n,r,i,a){let o=jt((i-e)/n,3),s=jt((a-t)/r,3);return jt(_t(Math.atan2(s,o)))}function er(e){let{x1:t,y1:n,x2:r,y2:i,rx:a,ry:o,largeArc:s,swipe:c,rotation:l=0}=e,u=kt(l),d=Math.cos(u),f=Math.sin(u),p=d*(t-r)/2+f*(n-i)/2,m=-f*(t-r)/2+d*(n-i)/2,h=s===c?-1:1,g=p**2,_=m**2,v=a**2,y=o**2,b=g/v+_/y;b>1&&(b=Math.sqrt(g/v+_/y),a=b*a,v=a**2,o=b*o,y=o**2);let x=h*Math.sqrt((v*y-v*_-y*g)/(v*_+y*g));isNaN(x)&&(x=0);let S=a*m*x/o,C=-x*(o*p)/a,w=d*S-f*C+(t+r)/2,ee=f*S+d*C+(n+i)/2,T=(p-S)/a,te=(m-C)/o,ne=-(p+S)/a,re=-(m+C)/o,E=(te>=0?1:-1)*_t(Math.acos(T/Math.sqrt(T*T+te*te))),ie=jt((T*ne+te*re)/(Math.sqrt(T*T+te*te)*Math.sqrt(ne*ne+re*re)),10),D=(T*re-te*ne>=0?1:-1)*_t(Math.acos(ie));!c&&D>0&&(D-=360),c&&D<0&&(D+=360);let ae=E+D,oe=ae>=0?1:-1;return ae=Math.abs(ae)%360*oe,{center:new A(w,ee),startAngle:E,endAngle:ae,radiusX:a,radiusY:o,xRotation:l}}function tr(e,t){let n=e;for(;n<t;)n+=90;return n}var nr=Qn;let rr=[].splice,ir=[].slice;var ar=class extends et{constructor(e=[]){super(),this.length=0,this._splice(0,e.length,e)}elements(e){return e?(this._splice(0,this.length,e),this._change(),this):this.slice(0)}push(...e){let t=this.length,n=e.length;for(let r=0;r<n;r++)this[t+r]=e[r],e[r].addObserver(this);return this.length=t+n,this._change(),this.length}slice(){return ir.call(this)}pop(){if(this.length>0){let e=this[this.length-1];return this.length--,e.removeObserver(this),this._change(),e}}splice(e,t,...n){let r=this._splice(e,t,n);return this._change(),r}shift(){if(this.length>0){let e=this[0];for(let e=1;e<this.length;e++)this[e-1]=this[e];return this.length--,e.removeObserver(this),this._change(),e}}unshift(...e){let t=e.length;for(let e=this.length-1;e>=0;e--)this[e+t]=this[e];for(let n=0;n<t;n++)this[n]=e[n],e[n].addObserver(this);return this.length+=t,this._change(),this.length}indexOf(e){let t=this.length;for(let n=0;n<t;n++)if(this[n]===e)return n;return-1}_splice(e,t,n){let r=rr.apply(this,[e,t].concat(n));return this._clearObserver(r),this._setObserver(n),r}_add(e){this._setObserver(e),this._change()}_remove(e){this._clearObserver(e),this._change()}_setObserver(e){for(let t=0;t<e.length;t++)e[t].addObserver(this)}_clearObserver(e){for(let t=0;t<e.length;t++)e[t].removeObserver(this)}_change(){}},or=class extends ar{_change(){this.geometryChange()}};function sr(e,t,n){let r=_t(Math.atan2(t.y-e.y,t.x-e.x));return n.transformCopy(M().rotate(-r,e)).x<e.x}function cr(e,t,n){let r=1-e;return r**3*n[0][t]+3*r**2*e*n[1][t]+3*e**2*r*n[2][t]+e**3*n[3][t]}function lr(e,t){return[-e[0][t]+3*e[1][t]-3*e[2][t]+e[3][t],3*(e[0][t]-2*e[1][t]+e[2][t]),3*(-e[0][t]+e[1][t]),e[0][t]]}var ur=class e extends ye{constructor(e=0,t=0){super(),this.real=e,this.img=t}add(t){return new e(jt(this.real+t.real,10),jt(this.img+t.img,10))}addConstant(t){return new e(this.real+t,this.img)}negate(){return new e(-this.real,-this.img)}multiply(t){return new e(this.real*t.real-this.img*t.img,this.real*t.img+this.img*t.real)}multiplyConstant(t){return new e(this.real*t,this.img*t)}nthRoot(t){let n=Math.atan2(this.img,this.real),r=Math.sqrt(this.img**2+this.real**2)**(1/t);return new e(r*Math.cos(n/t),r*Math.sin(n/t))}equals(e){return this.real===e.real&&this.img===e.img}isReal(){return this.img===0}};function dr(e){return e<0?-1:1}function fr(e,t,n){let r=Math.sqrt(t**2-4*e*n);return[(-t+r)/(2*e),(-t-r)/(2*e)]}function pr(e,t,n,r){if(e===0)return fr(t,n,r);let i=(3*e*n-t**2)/(3*e**2),a=(2*t**3-9*e*t*n+27*e**2*r)/(27*e**3),o=(i/3)**3+(a/2)**2,s=new ur(0,1),c=-t/(3*e),l,u,d,f,p,m,h;o<0?(l=new ur(-a/2,Math.sqrt(-o)).nthRoot(3),u=new ur(-a/2,-Math.sqrt(-o)).nthRoot(3)):(l=-a/2+Math.sqrt(o),l=new ur(dr(l)*Math.abs(l)**(1/3)),u=-a/2-Math.sqrt(o),u=new ur(dr(u)*Math.abs(u)**(1/3))),d=l.add(u),m=l.add(u).multiplyConstant(-1/2),h=l.add(u.negate()).multiplyConstant(Math.sqrt(3)/2),f=m.add(s.multiply(h)),p=m.add(s.negate().multiply(h));let g=[];return d.isReal()&&g.push(jt(d.real+c,10)),f.isReal()&&g.push(jt(f.real+c,10)),p.isReal()&&g.push(jt(p.real+c,10)),g}function mr(e,t,n,r,i){let a=lr(e,r),o=pr(a[0],a[1],a[2],a[3]-t[r]),s;for(let r=0;r<o.length;r++)if(0<=o[r]&&o[r]<=1&&(s=cr(o[r],n,e),Math.abs(s-t[n])<=i))return!0}function hr(e,t,n){let r=lr(e,`x`),i=pr(r[0],r[1],r[2],r[3]-t.x),a,o,s=0;for(let r=0;r<i.length;r++)a=cr(i[r],`y`,e),o=qn(a,t.y)||a>t.y,o&&((i[r]===0||i[r]===1)&&n.bottomRight().x>t.x||0<i[r]&&i[r]<1)&&s++;return s}function gr(e,t,n){let r;if(e.x!==t.x){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y),c=i<=n.x&&n.x<a;r=o===s?n.y<=o&&c:c&&(s-o)*((e.x-t.x)*(e.y-t.y)>0?n.x-i:a-n.x)/(a-i)+o-n.y>=0}return r?1:0}function _r(e){let t=`_`+e;return function(e){return e===void 0?this[t]:(this._observerField(t,A.create(e)),this.geometryChange(),this)}}function vr(e,t){for(let n=0;n<t.length;n++)e[t[n]]=_r(t[n])}var yr=(e,t)=>{let n=class extends e{};return vr(n.prototype,t),n};let br=[`anchor`,`controlIn`,`controlOut`];var xr=class extends yr(et,br){constructor(e,t,n){super(),this.anchor(e||new A),this.controlIn(t),this.controlOut(n)}bboxTo(e,t){let n=this.anchor().transformCopy(t),r=e.anchor().transformCopy(t),i;return i=this.controlOut()&&e.controlIn()?this._curveBoundingBox(n,this.controlOut().transformCopy(t),e.controlIn().transformCopy(t),r):this._lineBoundingBox(n,r),i}_lineBoundingBox(e,t){return j.fromPoints(e,t)}_curveBoundingBox(e,t,n,r){let i=[e,t,n,r],a=this._curveExtremesFor(i,`x`),o=this._curveExtremesFor(i,`y`),s=Sr([a.min,a.max,e.x,r.x]),c=Sr([o.min,o.max,e.y,r.y]);return j.fromPoints(new A(s.min,c.min),new A(s.max,c.max))}_curveExtremesFor(e,t){let n=this._curveExtremes(e[0][t],e[1][t],e[2][t],e[3][t]);return{min:cr(n.min,t,e),max:cr(n.max,t,e)}}_curveExtremes(e,t,n,r){let i=e-3*t+3*n-r,a=-2*(e-2*t+n),o=e-t,s=Math.sqrt(a*a-4*i*o),c=0,l=1;i===0?a!==0&&(c=l=-o/a):isNaN(s)||(c=(-a+s)/(2*i),l=(-a-s)/(2*i));let u=Math.max(Math.min(c,l),0);(u<0||u>1)&&(u=0);let d=Math.min(Math.max(c,l),1);return(d>1||d<0)&&(d=1),{min:u,max:d}}_intersectionsTo(e,t){let n;return n=this.controlOut()&&e.controlIn()?hr([this.anchor(),this.controlOut(),e.controlIn(),e.anchor()],t,this.bboxTo(e)):gr(this.anchor(),e.anchor(),t),n}_isOnCurveTo(e,t,n,r){if(this.bboxTo(e).expand(n,n).containsPoint(t)){let i=this.anchor(),a=this.controlOut(),o=e.controlIn(),s=e.anchor();if(r===`start`&&i.distanceTo(t)<=n)return!sr(i,a,t);if(r===`end`&&s.distanceTo(t)<=n)return!sr(s,o,t);let c=[i,a,o,s];if(mr(c,t,`x`,`y`,n)||mr(c,t,`y`,`x`,n))return!0;let l=M().rotate(45,t),u=[i.transformCopy(l),a.transformCopy(l),o.transformCopy(l),s.transformCopy(l)];return mr(u,t,`x`,`y`,n)||mr(u,t,`y`,`x`,n)}}_isOnLineTo(e,t,n){let r=this.anchor(),i=e.anchor(),a=_t(Math.atan2(i.y-r.y,i.x-r.x));return new j([r.x,r.y-n/2],[r.distanceTo(i),n]).containsPoint(t.transformCopy(M().rotate(-a,r)))}_isOnPathTo(e,t,n,r){let i;return i=this.controlOut()&&e.controlIn()?this._isOnCurveTo(e,t,n/2,r):this._isOnLineTo(e,t,n),i}};function Sr(e){let t=e.length,n=ht,r=gt;for(let i=0;i<t;i++)r=Math.max(r,e[i]),n=Math.min(n,e[i]);return{min:n,max:r}}var Cr=xr;let wr=.333;function Tr(e,t){let n=e.slice(0),r=[],i=n.length;if(i>2&&(Er(0,n),i=n.length),i<2||i===2&&n[0].equals(n[1]))return r;let a=n[0],o=n[1],s=n[2];for(r.push(new Cr(a));a.equals(n[i-1]);)t=!0,n.pop(),i--;if(i===2){let e=Mr(a,o,`x`,`y`);return Tt(r).controlOut(Pr(e,a,o,`x`,`y`)),r.push(new Cr(o,Fr(e,a,o,`x`,`y`))),r}let c,l;if(t){a=n[i-1],o=n[0],s=n[1];let e=Ar(a,o,s);c=e[1],l=e[0]}else c=Pr(Mr(a,o,`x`,`y`),a,o,`x`,`y`);let u=c;for(let e=0;e<=i-3;e++)if(Er(e,n),i=n.length,e+3<=i){a=n[e],o=n[e+1],s=n[e+2];let t=Ar(a,o,s);Tt(r).controlOut(u),u=t[1];let i=t[0];r.push(new Cr(o,i))}if(t){a=n[i-2],o=n[i-1],s=n[0];let e=Ar(a,o,s);Tt(r).controlOut(u),r.push(new Cr(o,e[0])),Tt(r).controlOut(e[1]),r.push(new Cr(s,l))}else{let e=Mr(o,s,`x`,`y`);Tt(r).controlOut(u),r.push(new Cr(s,Fr(e,o,s,`x`,`y`)))}return r}functio