PageSourceSearch

https://app.hireez.com/vendor.highcharts.349a549496126e37.js

js hireez.com collected 2026-09-24 09:03:08 UTC 1,069,318 bytes, 3 lines download raw bytes

1(self.webpackChunkhiretual_frontend=self.webpackChunkhiretual_frontend||[]).push([["7596"],{544814:function(t){var e;e=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Extensions/Pane/PaneComposition.js",[e["Core/Utilities.js"]],function(t){let{addEvent:e,correctFloat:i,defined:s,pick:o}=t;function r(t){let e;let i=this;return t&&i.pane.forEach(s=>{a(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)}),e}function a(t,e,o,r,a){let n=!0,l=o[0],h=o[1];if(s(r)&&s(a)){let s=Math.atan2(i(e-h,8),i(t-l,8));a!==r&&(n=r>a?s>=r&&s<=Math.PI||s<=a&&s>=-Math.PI:s>=r&&s<=i(a,8))}return Math.sqrt(Math.pow(t-l,2)+Math.pow(e-h,2))<=Math.ceil(o[2]/2)&&n}function n(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some(e=>a(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)))}function l(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!a(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function h(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&o(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}return{compose:function(t,i){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push("pane"),s.getHoverPane=r,e(t,"afterIsInsidePlot",n),e(i,"afterGetHoverData",l),e(i,"beforeGetHoverData",h))}}}),i(e,"Extensions/Pane/PaneDefaults.js",[],function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderRadius:0,borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}}),i(e,"Extensions/Pane/Pane.js",[e["Series/CenteredUtilities.js"],e["Extensions/Pane/PaneComposition.js"],e["Extensions/Pane/PaneDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{extend:o,merge:r,splat:a}=s;class n{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=r(i.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=a(s)).length,this.background.length||0);for(let e=0;e<t;e++)s[e]&&this.axis?this.renderBackground(r(i.background,s[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))}}renderBackground(t,e){let i={class:"highcharts-pane "+(t.className||"")},s="animate";this.chart.styledMode||o(i,{fill:t.backgroundColor,stroke:t.borderColor,"stroke-width":t.borderWidth}),this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),s="attr"),this.background[e][s]({d:this.axis.getPlotBandPath(t.from,t.to,t)}).attr(i)}updateCenter(e){this.center=(e||this.axis||{}).center=t.getCenter.call(this)}update(t,e){r(!0,this.options,t),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(t){t.pane===this&&(t.pane=null,t.update({},e))},this)}}return n.compose=e.compose,n}),i(e,"Series/AreaRange/AreaRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{area:{prototype:{pointClass:i,pointClass:{prototype:s}}}}=t.seriesTypes,{defined:o,isNumber:r}=e;return class extends i{setState(){let t=this.state,e=this.series,i=e.chart.polar;o(this.plotHigh)||(this.plotHigh=e.yAxis.toPixels(this.high,!0)),o(this.plotLow)||(this.plotLow=this.plotY=e.yAxis.toPixels(this.low,!0)),e.lowerStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,i&&r(this.plotHighX)&&(this.plotX=this.plotHighX),s.setState.apply(this,arguments),this.state=t,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],i&&r(this.plotLowX)&&(this.plotX=this.plotLowX),e.upperStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.lowerStateMarkerGraphic,e.lowerStateMarkerGraphic=void 0;let a=e.modifyMarkerSettings();s.setState.apply(this,arguments),e.restoreMarkerSettings(a)}haloPath(){let t=this.series.chart.polar,e=[];return this.plotY=this.plotLow,t&&r(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(e=s.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,t&&r(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(e=e.concat(s.haloPath.apply(this,arguments))),e}isValid(){return r(this.low)&&r(this.high)}}}),i(e,"Series/AreaRange/AreaRangeSeries.js",[e["Series/AreaRange/AreaRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
1i,s){let{noop:o}=e,{area:r,area:{prototype:a},column:{prototype:n}}=i.seriesTypes,{addEvent:l,defined:h,extend:d,isArray:c,isNumber:p,pick:u,merge:g}=s;class m extends r{toYData(t){return[t.low,t.high]}highToXY(t){let e=this.chart,i=this.xAxis.postTranslate(t.rectPlotX||0,this.yAxis.len-(t.plotHigh||0));t.plotHighX=i.x-e.plotLeft,t.plotHigh=i.y-e.plotTop,t.plotLowX=t.plotX}getGraphPath(t){let e=[],i=[],s=a.getGraphPath,o=this.options,r=this.chart.polar,n=r&&!1!==o.connectEnds,l=o.connectNulls,h,d,c,p=o.step;for(h=(t=t||this.points).length;h--;){d=t[h];let s=r?{plotX:d.rectPlotX,plotY:d.yBottom,doCurve:!1}:{plotX:d.plotX,plotY:d.plotY,doCurve:!1};d.isNull||n||l||t[h+1]&&!t[h+1].isNull||i.push(s),c={polarPlotY:d.polarPlotY,rectPlotX:d.rectPlotX,yBottom:d.yBottom,plotX:u(d.plotHighX,d.plotX),plotY:d.plotHigh,isNull:d.isNull},i.push(c),e.push(c),d.isNull||n||l||t[h-1]&&!t[h-1].isNull||i.push(s)}let g=s.call(this,t);p&&(!0===p&&(p="left"),o.step=({left:"right",center:"center",right:"left"})[p]);let m=s.call(this,e),f=s.call(this,i);o.step=p;let y=[].concat(g,m);return!this.chart.polar&&f[0]&&"M"===f[0][0]&&(f[0]=["L",f[0][1],f[0][2]]),this.graphPath=y,this.areaPath=g.concat(f),y.isArea=!0,y.xMap=g.xMap,this.areaPath.xMap=g.xMap,y}drawDataLabels(){let t,e,i,s,o;let r=this.points,n=r.length,l=[],h=this.options.dataLabels,p=this.chart.inverted;if(h){if(c(h)?(s=h[0]||{enabled:!1},o=h[1]||{enabled:!1}):((s=d({},h)).x=h.xHigh,s.y=h.yHigh,(o=d({},h)).x=h.xLow,o.y=h.yLow),s.enabled||this.hasDataLabels?.()){for(t=n;t--;)if(e=r[t]){let{plotHigh:o=0,plotLow:r=0}=e;i=s.inside?o<r:o>r,e.y=e.high,e._plotY=e.plotY,e.plotY=o,l[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,p?s.align||(s.align=i?"right":"left"):s.verticalAlign||(s.verticalAlign=i?"top":"bottom")}for(this.options.dataLabels=s,a.drawDataLabels&&a.drawDataLabels.apply(this,arguments),t=n;t--;)(e=r[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=l[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(o.enabled||this.hasDataLabels?.()){for(t=n;t--;)if(e=r[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=o.inside?t<s:t>s,e.below=!i,p?o.align||(o.align=i?"left":"right"):o.verticalAlign||(o.verticalAlign=i?"bottom":"top")}this.options.dataLabels=o,a.drawDataLabels&&a.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=n;t--;)(e=r[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter(function(t){return!!t}));this.options.dataLabels=h}}alignDataLabel(){n.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=g(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e;let i=this.points.length,s=this.modifyMarkerSettings();for(a.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],e.origProps={plotY:e.plotY,plotX:e.plotX,isInside:e.isInside,negative:e.negative,zone:e.zone,y:e.y},(e.graphic||e.graphics[0])&&(e.graphics[0]=e.graphic),e.graphic=e.graphics[1],e.plotY=e.plotHigh,h(e.plotHighX)&&(e.plotX=e.plotHighX),e.y=u(e.high,e.origProps.y),e.negative=e.y<(this.options.threshold||0),this.zones.length&&(e.zone=e.getZone()),this.chart.polar||(e.isInside=e.isTopInside=void 0!==e.plotY&&e.plotY>=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(a.drawPoints.apply(this,arguments),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],(e.graphic||e.graphics[1])&&(e.graphics[1]=e.graphic),e.graphic=e.graphics[0],e.origProps&&(d(e,e.origProps),delete e.origProps),t++}hasMarkerChanged(t,e){let i=t.lowMarker,s=e.lowMarker||{};return i&&(!1===i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)||super.hasMarkerChanged(t,e)}}return m.defaultOptions=g(r.defaultOptions,{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),l(m,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEac
1h(t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=p(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))})},{order:0}),l(m,"afterTranslate",function(){this.points.forEach(t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}})},{order:3}),d(m.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:t,pointValKey:"low",setStackedPoints:o}),i.registerSeriesType("arearange",m),m}),i(e,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[e["Series/AreaRange/AreaRangeSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{spline:{prototype:s}}=e.seriesTypes,{merge:o,extend:r}=i;class a extends t{}return a.defaultOptions=o(t.defaultOptions),r(a.prototype,{getPointSpline:s.getPointSpline}),e.registerSeriesType("areasplinerange",a),a}),i(e,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">●</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),i(e,"Series/BoxPlot/BoxPlotSeries.js",[e["Series/BoxPlot/BoxPlotSeriesDefaults.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{noop:r}=i,{crisp:a,extend:n,merge:l,pick:h}=o;class d extends e{pointAttribs(){return{}}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(i){e.forEach(function(e){null!==i[e]&&(i[e+"Plot"]=t.translate(i[e],0,1,0,1))}),i.plotHigh=i.highPlot})}drawPoints(){let t,e,i,s,o,r,n,l,d,c,p,u,g;let m=this.points,f=this.options,y=this.chart,b=y.renderer,x=!1!==this.doQuartiles,v=this.options.whiskerLength;for(let S of m){let m=(l=S.graphic)?"animate":"attr",C=S.shapeArgs,A={},k={},M={},w={},P=S.color||this.color;if(void 0!==S.plotY){let T;d=C.width,p=(c=C.x)+d,u=d/2,t=x?S.q1Plot:S.lowPlot,e=x?S.q3Plot:S.lowPlot,i=S.highPlot,s=S.lowPlot,l||(S.graphic=l=b.g("point").add(this.group),S.stem=b.path().addClass("highcharts-boxplot-stem").add(l),v&&(S.whiskers=b.path().addClass("highcharts-boxplot-whisker").add(l)),x&&(S.box=b.path(n).addClass("highcharts-boxplot-box").add(l)),S.medianShape=b.path(r).addClass("highcharts-boxplot-median").add(l)),y.styledMode||(k.stroke=S.stemColor||f.stemColor||P,k["stroke-width"]=h(S.stemWidth,f.stemWidth,f.lineWidth),k.dashstyle=S.stemDashStyle||f.stemDashStyle||f.dashStyle,S.stem.attr(k),v&&(M.stroke=S.whiskerColor||f.whiskerColor||P,M["stroke-width"]=h(S.whiskerWidth,f.whiskerWidth,f.lineWidth),M.dashstyle=S.whiskerDashStyle||f.whiskerDashStyle||f.dashStyle,S.whiskers.attr(M)),x&&(A.fill=S.fillColor||f.fillColor||P,A.stroke=f.lineColor||P,A["stroke-width"]=f.lineWidth||0,A.dashstyle=S.boxDashStyle||f.boxDashStyle||f.dashStyle,S.box.attr(A)),w.stroke=S.medianColor||f.medianColor||P,w["stroke-width"]=h(S.medianWidth,f.medianWidth,f.lineWidth),w.dashstyle=S.medianDashStyle||f.medianDashStyle||f.dashStyle,S.medianShape.attr(w));let E=a(S.plotX||0,S.stem.strokeWidth());if(T=[["M",E,e],["L",E,i],["M",E,t],["L",E,s]],S.stem[m]({d:T}),x){let i=S.box.strokeWidth();t=a(t,i),e=a(e,i),T=[["M",c=a(c,i),e],["L",c,t],["L",p=a(p,i),t],["L",p,e],["L",c,e],["Z"]],S.box[m]({d:T})}if(v){let t=S.whiskers.strokeWidth();i=a(S.highPlot,t),s=a(S.lowPlot,t),T=[["M",a(E-(g="string"==typeof v&&/%$/.test(v)?u*parseFloat(v)/100:Number(v)/2)),i],["L",a(E+g),i],["M",a(E-g),s],["L",a(E+g),s]],S.whiskers[m]({d:T})}T=[["M",c,o=a(S.medianPlot,S.medianShape.strokeWidth())],["L",p,o]],S.medianShape[m]({d:T})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}return d.defaultOptions=l(e.defaultOptions,t),n(d.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointV
vendor: 12,679 bytes, line 1
1alKey:"high",drawDataLabels:r,setStackedPoints:r}),s.registerSeriesType("boxplot",d),d}),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{parse:o}=t,{noop:r}=i,{arrayMax:a,arrayMin:n,isNumber:l,merge:h,pick:d,stableSort:c}=s;return class{constructor(t,e){this.setState=r,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=d(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!l(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}c(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=a-h+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=p+e+i,s.labelHeight=p+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},a={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,c=this.chart.styledMode;t.forEach(function(p,u){c||(r.stroke=d(p.borderColor,e.borderColor,i.color),r.fill=d(p.color,e.color,1!==l?o(i.color).setOpacity(l).get("rgba"):i.color),a.stroke=d(p.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(p.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),c||h(!0,t[u],{bubbleAttribs:h(r),connectorAttribs:h(a),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,y=e.radius||0,b=d-c-m/2+f/2,x=(b%1?1:.5)-(f%2?0:.5),v=n.styledMode,S=g||"left"===u?-p:p;"center"===u&&(S=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(y,d+x,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",y,b],["L",y+S,b]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let C=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),A={x:y+S+s.labels.x,y:b+s.labels.y+.4*C.getBBox().height};C.attr(A),h.push(C),C.placed=!0,C.alignAttr=A}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,o=i.labels.format,{numberFormatter:r}=this.chart;return o?e.format(o,t):s?s.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,c=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(l)).length&&(r=d(t.options.zMin,Math.min(r,Math.max(n(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),c=d(t.options.zMax,Math.max(c,a(o))))}),s=r===c?[{value:c}]:[{value:r},{value:(r+c)/2},{value:c,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=h(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),d=Math.ceil(l.maxPxSize),c,p=n.options.maxSize;return i||!/%$/.test(p)?c=d:(c=(Math.min(a,r)+o)*(p=parseFloat(p))/100/(p/100+1),(s&&a-c>=r||!s&&r-c>=a)&&(c=d)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}}),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{setOptions:r}=i,{composed:a}=s,{addEvent:n,objectEach:l,pushUnique:h,wrap:d}=o;function c(t,e,i){let s,o,r;let a=this.legend,n=p(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),f(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),f(a,u(a))))}function p(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].zData.length)return i;i++}return -1}function u(t){let e=t.allItems,i=[],s=e.length,o,r,a,n=0,l=0;for(n=0;n<s;n++)if(r=e[n].legendItem||{},a=(e[n+1]||{}).legendItem||{},r.labelHeight&&(e[n].itemHeight=r.labelHeight),e[n]===e[s-1]||r.y!==a.y){for(i.push({height:0}),o=i[i.length-1];l<=n;l++)e[l].itemHeight>o.height&&(o.height=e[l].itemHeight);o.step=n}return i}function g(t){let i=this.bubbleLegend,s=this.options,o=s.bubbleLegend,r=p(this.chart);i&&i.ranges&&i.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&s.enabled&&o.enabled&&(o.seriesIndex=r,this.bubbleLegend=new e(o,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){let e;if(t.defaultPrevented)return!1;let i=this.chart,s=this.visible,o=this.chart.legend;o&&o.bubbleLegend&&(this.visible=!s,this.ignoreSeries=s,e=p(i)>=0,o.bubbleLegend.visible!==e&&(o.update({bubbleLegend:{enabled:e}}),o.bubbleLegend.visible=e),this.visible=s)}function f(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}return{compose:function(e,i,s){h(a,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),d(e.prototype,"drawChartBox",c),n(i,"afterGetAllItems",g),n(s,"legendItemClick",m))}}}),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:o}=i;class r extends s{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return o(r.prototype,{ttBelow:!1}),r}),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{parse:a}=i,{composed:n,noop:l}=s,{series:h,seriesTypes:{column:{prototype:d},scatter:c}}=o,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:y,merge:b,pick:x,pushUnique:v}=r;function S(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=i?"xData":"yData",r=(this.max||0)-(s||0),a=0,n=t,l=t/r,h;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t[o];if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),r>0){let i=e.length;for(;i--;)if(y(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;a=Math.min((e[i]-s)*l-o,a),n=Math.max((e[i]-s)*l+o,n)}}}}),h&&r>0&&!this.logarithmic&&(n-=t,l*=(t+Math.max(0,a)-Math.min(n,t))/t,[["min","userMin",a],["max","userMax",n]].forEach(t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}class C extends c{static compose(e,i,s,o){t.compose(i,s,o),v(n,"Series.Bubble")&&p(e,"foundExtremes",S)}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.zData,e=this.yData,i=[],s,o,r,a=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!a){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(s=>{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(x(e,o.zMin),o.zMin),i=Math.max(x(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o<s;o++)r=t[o],i.push(this.getRadius(a.zMin,a.zMax,n,l,r,e&&e[o]));this.radii=i}getRadius(t,e,i,s,o,r){let a=this.options,n="width"!==a.sizeBy,l=a.zThreshold,h=e-t,d=.5;if(null===r||null===o)return null;if(y(o)){if(a.sizeByAbsoluteValue&&(o=Math.abs(o-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),o<t)return i/2-1;h>0&&(d=(o-t)/h)}return n&&d>=0&&(d=Math.sqrt(d)),Math.ceil(i+d*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?f(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=a(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),y(a)&&a>=s/2?(r.marker=f(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8)),s=Math.max(e(x(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(y);if(e.length){let i=x(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=x(t.zMax,u(e));if(y(i)&&y(s))return{zMin:i,zMax:s}}}}return C.defaultOptions=b(c.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return y(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,
1states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(C.prototype,{alignDataLabel:d.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(C,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),p(C,"remove",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType("bubble",C),C}),i(e,"Series/ColumnRange/ColumnRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{seriesTypes:{column:{prototype:{pointClass:{prototype:i}}},arearange:{prototype:{pointClass:s}}}}=t,{extend:o,isNumber:r}=e;class a extends s{isValid(){return r(this.low)}}return o(a.prototype,{setState:i.setState}),a}),i(e,"Series/ColumnRange/ColumnRangeSeries.js",[e["Series/ColumnRange/ColumnRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{noop:o}=e,{seriesTypes:{arearange:r,column:a,column:{prototype:n}}}=i,{addEvent:l,clamp:h,extend:d,isNumber:c,merge:p,pick:u}=s;class g extends r{setOptions(){return p(!0,arguments[0],{stacking:void 0}),r.prototype.setOptions.apply(this,arguments)}translate(){return n.translate.apply(this)}pointAttribs(){return n.pointAttribs.apply(this,arguments)}translate3dPoints(){return n.translate3dPoints.apply(this,arguments)}translate3dShapes(){return n.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s;let o=this.yAxis,r=this.xAxis,a=r.startAngleRad,n=this.chart,l=this.xAxis.isRadial,d=Math.max(n.chartWidth,n.chartHeight)+999;this.points.forEach(g=>{let m=g.shapeArgs||{},f=this.options.minPointLength,y=g.plotY,b=o.translate(g.high,0,1,0,1);if(c(b)&&c(y)){if(g.plotHigh=h(b,-d,d),g.plotLow=h(y,-d,d),s=g.plotHigh,Math.abs(t=u(g.rectPlotY,g.plotY)-g.plotHigh)<f?(e=f-t,t+=e,s-=e/2):t<0&&(t*=-1,s-=t),l&&this.polar)i=g.barX+a,g.shapeType="arc",g.shapeArgs=this.polar.arc(s+t,s,i,i+g.pointWidth);else{m.height=t,m.y=s;let{x:e=0,width:i=0}=m;g.shapeArgs=p(g.shapeArgs,this.crispCol(e,s,i,t)),g.tooltipPos=n.inverted?[o.len+o.pos-n.plotLeft-s-t/2,r.len+r.pos-n.plotTop-e-i/2,t]:[r.left-n.plotLeft+e+i/2,o.pos-n.plotTop+s+t/2,t]}}})}}return g.defaultOptions=p(a.defaultOptions,r.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),l(g,"afterColumnTranslate",function(){g.prototype.afterColumnTranslate.apply(this)},{order:5}),d(g.prototype,{directTouch:!0,pointClass:t,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:n.adjustForMissingColumns,animate:n.animate,crispCol:n.crispCol,drawGraph:o,drawPoints:n.drawPoints,getSymbol:o,drawTracker:n.drawTracker,getColumnMetrics:n.getColumnMetrics}),i.registerSeriesType("columnrange",g),g}),i(e,"Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js",[],function(){return{}}),i(e,"Series/ColumnPyramid/ColumnPyramidSeries.js",[e["Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s}=e.seriesTypes,{clamp:o,merge:r,pick:a}=i;class n extends s{translate(){let t=this.chart,e=this.options,i=this.dense=this.closestPointRange*this.xAxis.transA<2,s=this.borderWidth=a(e.borderWidth,i?0:1),r=this.yAxis,n=e.threshold,l=a(e.minPointLength,5),h=this.getColumnMetrics(),d=h.width,c=this.pointXOffset=h.offset,p=this.translatedThreshold=r.getThreshold(n),u=this.barW=Math.max(d,1+2*s);for(let i of(t.inverted&&(p-=.5),e.pointPadding&&(u=Math.ceil(u)),super.translate(),this.points)){let s=a(i.yBottom,p),g=999+Math.abs(s),m=o(i.plotY,-g,r.len+g),f=u/2,y=Math.min(m,s),b=Math.max(m,s)-y,x=i.plotX+c,v,S,C,A,k,M,w,P,T,E,L;e.centerInCategory&&(x=this.adjustForMissingColumns(x,d,i,h)),i.barX=x,i.pointWidth=d,i.tooltipPos=t.inverted?[r.len+r.pos-t.plotLeft-m,this.xAxis.len-x-f,b]:[x+f,m+r.pos-t.plotTop,b],v=n+(i.total||i.y),"percent"===e.stacking&&(v=n+(i.y<0)?-100:100);let O=r.toPixels(v,!0);C=(S=t.plotHeight-O-(t.plotHeight-p))?f*(y-O)/S:0,A=S?f*(y+b-O)/S:0,M=x-C+f,w=x+C+f,P=x+A+f,T=x-A+f,E=y-l,L=y+b,i.y<0&&(E=y,L=y+b+l),t.inverted&&(k=r.width-y,S=O-(r.width-p),C=f*(O-k)/S,A=f*(O-(k-b))/S,w=(M=x+f+C)-2*C,P=x-A+f,T=x+A+f,
1E=y,L=y+b-l,i.y<0&&(L=y+b+l)),i.shapeType="path",i.shapeArgs={x:M,y:E,width:w-M,height:b,d:[["M",M,E],["L",w,E],["L",P,L],["L",T,L],["Z"]]}}}}return n.defaultOptions=r(s.defaultOptions,t),e.registerSeriesType("columnpyramid",n),n}),i(e,"Series/ErrorBar/ErrorBarSeriesDefaults.js",[],function(){return{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}}),i(e,"Series/ErrorBar/ErrorBarSeries.js",[e["Series/BoxPlot/BoxPlotSeries.js"],e["Series/Column/ColumnSeries.js"],e["Series/ErrorBar/ErrorBarSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{arearange:r}=s.seriesTypes,{addEvent:a,merge:n,extend:l}=o;class h extends t{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||e.prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(r)for(let e of(r.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}return h.defaultOptions=n(t.defaultOptions,i),a(h,"afterTranslate",function(){for(let t of this.points)t.plotLow=t.plotY},{order:0}),l(h.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),s.registerSeriesType("errorbar",h),h}),i(e,"Series/Gauge/GaugePoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){let{series:{prototype:{pointClass:e}}}=t;return class extends e{setState(t){this.state=t}}}),i(e,"Series/Gauge/GaugeSeries.js",[e["Series/Gauge/GaugePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{noop:o}=e,{series:r,seriesTypes:{column:a}}=i,{clamp:n,isNumber:l,extend:h,merge:d,pick:c,pInt:p,defined:u}=s;class g extends r{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach(s=>{let o=d(e.dial,s.dial),r=p(o.radius)*i[2]/200,a=p(o.baseLength)*r/100,h=p(o.rearLength)*r/100,c=o.baseWidth,g=o.topWidth,m=e.overshoot,f=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(l(m)||!1===e.wrap)&&(m=l(m)?m/180*Math.PI:0,f=n(f,t.startAngleRad-m,t.endAngleRad+m)),f=180*f/Math.PI,s.shapeType="path";let y=o.path||[["M",-h,-c/2],["L",a,-c/2],["L",r,-g/2],["L",r,g/2],["L",a,c/2],["L",-h,c/2],["Z"]];s.shapeArgs={d:y,translateX:i[0],translateY:i[1],rotation:f},s.plotX=i[0],s.plotY=i[1],u(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)})}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,o=t.options,r=o.pivot,a=e.renderer;t.points.forEach(i=>{let s=i.graphic,r=i.shapeArgs,n=r.d,l=d(o.dial,i.dial);s?(s.animate(r),r.d=n):i.graphic=a[i.shapeType](r).addClass("highcharts-dial").add(t.group),e.styledMode||i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})}),s?s.animate({translateX:i[0],translateY:i[1]}):r&&(t.pivot=a.circle(0,0,r.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth}))}animate(t){let e=this;t||e.points.forEach(t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),r.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){r.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),c(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return g.defaultOptions=d(r.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),h(g.prototype,{angular:!0,directTouch:!0,drawGraph:o,drawTracker:a.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:t,trackerGroups:["group","dataLabelsGroup"]}),i.registerSeriesType("gauge",g),g}),i(e,"Series/DragNodesComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{composed:i}=t,{addEvent:s,pushUnique:o}=e;function r(){let t,e,i;let o=this;o.container&&(t=s(o.container,"mousedown",t=>{let r=o.hoverPoint;r&&r.series&&r.series.hasDraggableNodes&&r.series.options.draggable&&(r.series.onMouseDown(r,t),e=s(o.container,"mousemove",t=>r&&r.series&&r.series.onMouseMove(r,t)),i=s(o.container.ownerDocument,"mouseup",t=>(e(),i(),r&&r.series&&r.series.onMouseUp(r,t))))})),s(o,"destroy",function(){t()})}return{compose:function(t){o(i,"DragNodes")&&s(t,"load",r)},onMouseDown:function(t,e){let i=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:i.chartX,chartY:i.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s;let o=this.chart,r=o.pointer?.normalize(e)||e,a=t.fixedPosition.chartX-r.chartX,n=t.fixedPosition.chartY-r.chartY,l=o.graphLayoutsLookup;(Math.abs(a)>5||Math.abs(n)>5)&&(i=t.fixedPosition.plotX-a,s=t.fixedPosition.plotY-n,o.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach(t=>{t.restartSimulation()})))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}}}
1),i(e,"Series/GraphLayoutComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{setAnimation:s}=t,{composed:o}=e,{addEvent:r,pushUnique:a}=i;function n(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation()}),this.redraw())}function l(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation(!1)}),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(t=>{t.stop()})}function d(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(s(!1,this),this.graphLayoutsLookup.forEach(t=>t.start());!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach(t=>{t&&t.layout&&t.render()})}}return{compose:function(t){a(o,"GraphLayout")&&(r(t,"afterPrint",n),r(t,"beforePrint",l),r(t,"predraw",h),r(t,"render",d))},integrations:{},layouts:{}}}),i(e,"Series/PackedBubble/PackedBubblePoint.js",[e["Core/Chart/Chart.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"]],function(t,e,i){let{seriesTypes:{bubble:{prototype:{pointClass:s}}}}=i;return class extends s{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),e.prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let i=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,e.prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=i}else e.prototype.firePointEvent.apply(this,arguments)}select(){let i=this.series.chart;this.isParentNode?(i.getSelectedPoints=i.getSelectedParentNodes,e.prototype.select.apply(this,arguments),i.getSelectedPoints=t.prototype.getSelectedPoints):e.prototype.select.apply(this,arguments)}}}),i(e,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),i(e,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(t,e,i){let s=t.getMass(),o=-i.x*e*this.diffTemperature,r=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=o*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=r*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=o*s.toNode/t.toNode.degree,t.toNode.plotY+=r*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach(function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,o=e.prevX,r=e.prevY,a=(e.plotX+e.dispX-o)*i,n=(e.plotY+e.dispY-r)*i,l=Math.abs,h=l(a)/(a||1),d=l(n)/(n||1),c=h*Math.min(s,Math.abs(a)),p=d*Math.min(s,Math.abs(n));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=c,e.plotY+=p,e.temperature=t.vectorLength({x:c,y:p})}
1,repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}}}),i(e,"Series/PackedBubble/PackedBubbleIntegration.js",[e["Core/Globals.js"],e["Series/Networkgraph/VerletIntegration.js"]],function(t,e){let{noop:i}=t;return{barycenter:function(){let t,e;let i=this.options.gravitationalConstant,s=this.box,o=this.nodes;for(let r of o)this.options.splitSeries&&!r.isParentNode?(t=r.series.parentNode.plotX,e=r.series.parentNode.plotY):(t=s.width/2,e=s.height/2),r.fixedPosition||(r.plotX-=(r.plotX-t)*i/(r.mass*Math.sqrt(o.length)),r.plotY-=(r.plotY-e)*i/(r.mass*Math.sqrt(o.length)))},getK:i,integrate:e.integrate,repulsive:function(t,e,i,s){let o=e*this.diffTemperature/t.mass/t.degree,r=i.x*o,a=i.y*o;t.fixedPosition||(t.plotX+=r,t.plotY+=a),s.fixedPosition||(s.plotX-=r,s.plotY-=a)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}}}),i(e,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(t,e,i,s){let o=t.getMass(),r=i.x/s*e,a=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=r*o.fromNode/t.fromNode.degree,t.fromNode.dispY-=a*o.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dis
vendor: 9,490 bytes, line 1
1pX+=r*o.toNode/t.toNode.degree,t.toNode.dispY+=a*o.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(s){if(!s.fixedPosition){let o=s.getDegree(),r=o*(1+o/2);s.dispX+=(e-s.plotX)*t*r/s.degree,s.dispY+=(i-s.plotY)*t*r/s.degree}})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}}}),i(e,"Series/Networkgraph/QuadTreeNode.js",[],function(){class t{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let e=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:e,height:i}),this.nodes[1]=new t({left:this.box.left+e,top:this.box.top,width:e,height:i}),this.nodes[2]=new t({left:this.box.left+e,top:this.box.top+i,width:e,height:i}),this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:e,height:i})}getBoxPosition(t){let e=t.plotX<this.box.left+this.box.width/2,i=t.plotY<this.box.top+this.box.height/2;return e?i?0:3:i?1:2}insert(e,i){let s;this.isInternal?this.nodes[this.getBoxPosition(e)].insert(e,i-1):(this.isEmpty=!1,this.body?i?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,i-1),this.body=!0),this.nodes[this.getBoxPosition(e)].insert(e,i-1)):((s=new t({top:e.plotX||NaN,left:e.plotY||NaN,width:.1,height:.1})).body=e,s.isInternal=!1,this.nodes.push(s)):(this.isInternal=!1,this.body=e))}updateMassAndCenter(){let t=0,e=0,i=0;if(this.isInternal){for(let s of this.nodes)s.isEmpty||(t+=s.mass,e+=s.plotX*s.mass,i+=s.plotY*s.mass);e/=t,i/=t}else this.body&&(t=this.body.mass,e=this.body.plotX,i=this.body.plotY);this.mass=t,this.plotX=e,this.plotY=i}}return t}),i(e,"Series/Networkgraph/QuadTree.js",[e["Series/Networkgraph/QuadTreeNode.js"]],function(t){return class{constructor(e,i,s,o){this.box={left:e,top:i,width:s,height:o},this.maxDepth=25,this.root=new t(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(t){t.updateMassAndCenter()})}insertNodes(t){for(let e of t)this.root.insert(e,this.maxDepth)}visitNodeRecursive(t,e,i){let s;if(t||(t=this.root),t===this.root&&e&&(s=e(t)),!1!==s){for(let o of t.nodes){if(o.isInternal){if(e&&(s=e(o)),!1===s)continue;this.visitNodeRecursive(o,e,i)}else o.body&&e&&e(o.body);i&&i(o)}t===this.root&&i&&i(t)}}}}),i(e,"Series/Networkgraph/ReingoldFruchtermanLayout.js",[e["Series/Networkgraph/EulerIntegration.js"],e["Core/Globals.js"],e["Series/GraphLayoutComposition.js"],e["Series/Networkgraph/QuadTree.js"],e["Core/Utilities.js"],e["Series/Networkgraph/VerletIntegration.js"]],function(t,e,i,s,o,r){let{win:a}=e,{clamp:n,defined:l,isFunction:h,fireEvent:d,pick:c}=o;class p{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(e){i.compose(e),i.integrations.euler=t,i.integrations.verlet=r,i.layouts["reingold-fruchterman"]=p}init(t){this.options=t,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=i.integrations[t.integration],this.enableSimulation=t.enableSimulation,this.attractiveForce=c(t.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=c(t.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=t.approximation}updateSimulation(t){this.enableSimulation=c(t,this.options.enableSimulation)}start(){let t=this.series,e=this.options;this.currentStep=0,this.forces=t[0]&&t[0].forces||[],this.chart=t[0]&&t[0].chart,this.initialRendering&&(this.initPositions(),t.forEach(function(t){t.finishedAnimating=!0,t.render()})),this.setK(),this.resetSimulation(e),this.enableSimulation&&this.step()}step(){let t=this.series;for(let t of(this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[t+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let e of t)e.chart&&e.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&a.cancelAnimationFrame(this.simulation),this.simulation=a.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(t=>{d(t,"afterSimulation")}))}}stop(){this.simulation&&a.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=c(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new s(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(h(t))for(let e of(t.call(this),this.nodes))l(e.prevX)||(e.prevX=e.plotX),l(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else"circle"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t;let e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),o=i.filter(function(t){return 0===t.linksTo.length}),r={},a=this.options.initialPositionRadius,n=t=>{for(let e of t.linksFrom||[])r[e.toNode.id]||(r[e.toNode.id]=!0,l.push(e.toNode),n(e.toNode))},l=[];for(let t of o)l.push(t),n(t);if(l.length)for(let t of i)-1===l.indexOf(t)&&l.push(t);else l=i;for(let i=0,o=l.length;i<o;++i)(t=l[i]).plotX=t.prevX=c(t.plotX,e.width/2+a*Math.cos(i*s)),t.plotY=t.prevY=c(t.plotY,e.height/2+a*Math.sin(i*s)),t.dispX=0,t.dispY=0}setRandomPositions(){let t;let e=this.box,i=this.nodes,s=i.length+1,o=t=>{let e=t*t/Math.PI;return e-Math.floor(e)};for(let r=0,a=i.length;r<a;++r)(t=i[r]).plotX=t.prevX=c(t.plotX,e.width*o(r)),t.plotY=t.prevY=c(t.plotY,e.height*o(s+r)),t.dispX=0,t.dispY=0}force(t,...e){this.integration[t].apply(this,e)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let t=0,e=0,i=0;for(let s of this.nodes)e+=s.plotX*s.mass,i+=s.plotY*s.mass,t+=s.mass;return this.barycenter={x:e,y:i,xFactor:e/t,yFactor:i/t},this.barycenter}barnesHutApproximation(t,e){let i,s;let o=this.getDistXY(t,e),r=this.vectorLength(o);return t!==e&&0!==r&&(e.isInternal?e.boxSize/r<this.options.theta&&0!==r?(s=this.repulsiveForce(r,this.k),this.force("repulsive",t,s*e.mass,o,r),i=!1):i=!0:(s=this.repulsiveForce(r,this.k),this.force("repulsive",t,s*e.mass,o,r))),i}repulsiveForces(){if("barnes-hut"===this.approximation)for(let t of this.nodes)this.quadTree.visitNodeRecursive(null,e=>this.barnesHutApproximation(t,e));else{let t,e,i;for(let s of this.nodes)for(let o of this.nodes)s===o||s.fixedPosition||(i=this.getDistXY(s,o),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force("repulsive",s,t*o.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force("attractive",s,i,t,e)))}applyLimits(){for(let t of this.nodes)t.fixedPosition||(this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0)}applyLimitBox(t,e){let i=t.radius;t.plotX=n(t.plotX,e.left+i,e.width-i),t.plotY=n(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}return p}),i(e,"Series/PackedBubble/PackedBubbleLayout.js",[e["Series/GraphLayoutComposition.js"],e["Series/PackedBubble/PackedBubbleIntegration.js"],e["Series/Networkgraph/ReingoldFruchtermanLayout.js"],e["Core/Utilities.js"]],function(t,e,
1i,s){let{addEvent:o,pick:r}=s;function a(){let t=this.series,e=[];return t.forEach(t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)}),e}function n(){this.allDataPoints&&delete this.allDataPoints}class l extends i{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(s){i.compose(s),t.integrations.packedbubble=e,t.layouts.packedbubble=l;let r=s.prototype;r.getSelectedParentNodes||(o(s,"beforeRedraw",n),r.getSelectedParentNodes=a)}beforeStep(){this.options.marker&&this.series.forEach(t=>{t&&t.calculateParentRadius()})}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t=this.box,e=this.nodes,i=2*Math.PI/(e.length+1),s=this.options.initialPositionRadius,o,a,n=0;for(let l of e)this.options.splitSeries&&!l.isParentNode?(o=l.series.parentNode.plotX,a=l.series.parentNode.plotY):(o=t.width/2,a=t.height/2),l.plotX=l.prevX=r(l.plotX,o+s*Math.cos(l.index||n*i)),l.plotY=l.prevY=r(l.plotY,a+s*Math.sin(l.index||n*i)),l.dispX=0,l.dispY=0,n++}repulsiveForces(){let t,e,i;let s=this,o=s.options.bubblePadding,r=s.nodes;r.forEach(a=>{a.degree=a.mass,a.neighbours=0,r.forEach(r=>{t=0,a!==r&&!a.fixedPosition&&(s.options.seriesInteraction||a.series===r.series)&&(i=s.getDistXY(a,r),(e=s.vectorLength(i)-(a.marker.radius+r.marker.radius+o))<0&&(a.degree+=.01,a.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(a.neighbours),s.k,a,r)),s.force("repulsive",a,t*r.mass,i,r,e))})})}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}return t.layouts.packedbubble=l,l}),i(e,"Series/SimulationSeriesUtilities.js",[e["Core/Utilities.js"],e["Core/Animation/AnimationUtilities.js"]],function(t,e){let{merge:i,syncTimeout:s}=t,{animObject:o}=e;return{initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&t?.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(i({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let t=this.options.dataLabels;t?.defer&&this.options.layoutAlgorithm?.enableSimulation?s(()=>{this.deferDataLabels=!1},t?o(t.animation).defer:0):this.deferDataLabels=!1}}}),i(e,"Series/PackedBubble/PackedBubbleSeries.js",[e["Core/Color/Color.js"],e["Series/DragNodesComposition.js"],e["Series/GraphLayoutComposition.js"],e["Core/Globals.js"],e["Series/PackedBubble/PackedBubblePoint.js"],e["Series/PackedBubble/PackedBubbleSeriesDefaults.js"],e["Series/PackedBubble/PackedBubbleLayout.js"],e["Core/Series/SeriesRegistry.js"],e["Series/SimulationSeriesUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{parse:d}=t,{noop:c}=s,{series:{prototype:p},seriesTypes:{bubble:u}}=n,{initDataLabels:g,initDataLabelsDefer:m}=l,{addEvent:f,clamp:y,defined:b,extend:x,fireEvent:v,isArray:S,isNumber:C,merge:A,pick:k}=h;class M extends u{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(t,i,s,o){u.compose(t,i,s,o),e.compose(i),a.compose(i)}accumulateAllPoints(){let t;let e=this.chart,i=[];for(let s of e.series)if(s.is("packedbubble")&&s.reserveSpace()){t=s.yData||[];for(let e=0;e<t.length;e++)i.push([null,null,t[e],s.index,e,{id:e,marker:{radius:0}}])}return i}addLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",s=this.chart.options.chart,o=this.chart.graphLayoutsStorage,r=this.chart.graphLayoutsLookup,a;o||(this.chart.graphLayoutsStorage=o={},this.chart.graphLayoutsLookup=r=[]),(a=o[e])||(t.enableSimulation=b(s.forExport)?!s.forExport:t.enableSimulation,o[e]=a=new i.layouts[e],a.init(t),r.splice(a.index,0,a)),this.layout=a,this.points.forEach(t=>{t.mass=2,t.degree=1,t.collisionNmb=1}),a.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),a.addElementsToCollection([this],a.series),a.addElementsToCollection(this.points,a.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",s=this.chart.graphLayoutsStorage,o=this.chart.graphLayoutsLookup,r=A(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),a=s[e+"-series"];a||(s[e+"-series"]=a=new i.layouts[e],a.init(r),o.splice(a.index,0,a)),this.parentNodeLayout=a,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=y(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radiu
vendor: 5,508 bytes, line 1
1s=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,o=-Infinity;return e&&i?[e,i]:(t.forEach(t=>{t.yData.forEach(t=>{b(t)&&(t>o&&(o=t),t<s&&(s=t))})}),[e=k(e,s),i=k(i,o)])}checkOverlap(t,e){let i=t[0]-e[0],s=t[1]-e[1];return Math.sqrt(i*i+s*s)-Math.abs(t[2]+e[2])<-.001}createParentNodes(){let t=this.pointClass,e=this.chart,i=this.parentNodeLayout,s=this.layout.options,o,r=this.parentNode,a={radius:this.parentNodeRadius,lineColor:this.color,fillColor:d(this.color).brighten(.4).get()};s.parentNodeOptions&&(a=A(s.parentNodeOptions.marker||{},a)),this.parentNodeMass=0,this.points.forEach(t=>{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)}),this.calculateParentRadius(),i.nodes.forEach(t=>{t.seriesIndex===this.index&&(o=!0)}),i.setArea(0,0,e.plotWidth,e.plotHeight),o||(r||(r=new t(this,{mass:this.parentNodeRadius/2,marker:a,dataLabels:{inside:!1},states:{normal:{marker:a},hover:{marker:a}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(r.plotX=this.parentNode.plotX,r.plotY=this.parentNode.plotY),this.parentNode=r,i.addElementsToCollection([this],i.series),i.addElementsToCollection([r],i.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(t=>{t.removeElementFromCollection(this,t.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),p.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(p.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",p.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let t=this.chart,e=this.layout.options.parentNodeOptions.marker,i={fill:e.fillColor||d(this.color).brighten(.4).get(),opacity:e.fillOpacity,stroke:e.lineColor||this.color,"stroke-width":k(e.lineWidth,this.options.lineWidth)},s={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,t.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&b(this.parentNode.plotX)&&b(this.parentNode.plotY)&&b(this.parentNodeRadius)&&(s=A({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},i),this.parentNode.graphic||(this.graph=this.parentNode.graphic=t.renderer.symbol(i.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(s))}drawTracker(){let t;let e=this.parentNode;super.drawTracker(),e&&(t=S(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(t=>{(t.div||t.element).point=e}))}getPointRadius(){let t,e,i,s;let o=this.chart,r=o.plotWidth,a=o.plotHeight,n=this.options,l=n.useSimulation,h=Math.min(r,a),d={},c=[],p=o.allDataPoints||[],u=p.length;["minSize","maxSize"].forEach(t=>{let e=parseInt(n[t],10),i=/%$/.test(n[t]);d[t]=i?h*e/100:e*Math.sqrt(u)}),o.minRadius=t=d.minSize/Math.sqrt(u),o.maxRadius=e=d.maxSize/Math.sqrt(u);let g=l?this.calculateZExtremes():[t,e];p.forEach((o,r)=>{i=l?y(o[2],g[0],g[1]):o[2],0===(s=this.getRadius(g[0],g[1],t,e,i))&&(s=null),p[r][2]=s,c.push(s)}),this.radii=c}init(){return p.init.apply(this,arguments),m.call(this),this.eventsToUnbind.push(f(this,"updatedData",function(){this.chart.series.forEach(t=>{t.type===this.type&&(t.isDirty=!0)},this)})),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let i;let s=this.layout,o=this.parentNodeLayout;o&&s.options.dragBetweenSeries&&o.nodes.forEach(e=>{t&&t.marker&&e!==t.series.parentNode&&(i=s.getDistXY(t,e),s.vectorLength(i)-e.marker.radius-t.marker.radius<0&&(e.series.addPoint(A(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),s.removeElementFromCollection(t,s.nodes),t.remove()))}),e.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e=this.checkOverlap,i=this.positionBubble,s=[],o=1,r=0,a=0,n,l=[],h,d=t.sort((t,e)=>e[2]-t[2]);if(d.length){if(s.push([[0,0,d[0][2],d[0][3],d[0][4]]]),d.length>1)for(s.push([[0,0-d[1][2]-d[0][2],d[1][2],d[1][3],d[1][4]]]),h=2;h<d.length;h++)d[h][2]=d[h][2]||1,e(n=i(s[o][r],s[o-1][a],d[h]),s[o][0])?(s.push([]),a=0,s[o+1].push(i(s[o][r],s[o][0],d[h])),o++,r=0):o>1&&s[o-1][a+1]&&e(n,s[o-1][a+1])?(a++,s[o].push(i(s[o][r],s[o-1][a],d[h])),r++):(r++,s[o].push(n));this.chart.stages=s,this.chart.rawPositions=[].concat.apply([],s),this.resizeRadius(),l=this.chart.rawPositions}return l}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,o=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(o=i.layoutAlgorithm.parentNodeOptions.marker);let r=o.fillOpacity,a=p.pointAttribs.call(this,t,e);return 1!==r&&(a["fill-opacity"]=r),a}positionBubble(t,e,i){let s=Math.pow,o=(0,Math.sqrt)(s(t[0]-e[0],2)+s(t[1]-e[1],2)),r=(0,Math.acos)((s(o,2)+s(i[2]+e[2],2)-s(i[2]+t[2],2))/(2*(i[2]+e[2])*o)),a=(0,Math.asin)((0,Math.abs)(t[0]-e[0])/o),n=(t[1]-e[1]<0?0:Math.PI)+r+a*((t[0]-e[0])*(t[1]-e[1])<0?1:-1);return[e[0]+(e[2]+i[2])*Math.sin(n),e[1]-(e[2]+i[2])*Math.cos(n),i[2],i[3],i[4]]}render(){let t=[];p.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(e=>
1{S(e.dataLabels)&&e.dataLabels.forEach(e=>{t.push(e)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,o;let r=this.chart,a=r.rawPositions,n=Math.min,l=Math.max,h=r.plotLeft,d=r.plotTop,c=r.plotHeight,p=r.plotWidth;for(let r of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,a))o=r[2],t=n(t,r[0]-o),e=l(e,r[0]+o),i=n(i,r[1]-o),s=l(s,r[1]+o);let u=[e-t,s-i],g=[(p-h)/u[0],(c-d)/u[1]],m=n.apply([],g);if(Math.abs(m-1)>1e-10){for(let t of a)t[2]*=m;this.placeBubbles(a)}else r.diffY=c/2+d-i-(s-i)/2,r.diffX=p/2+h-t-(e-t)/2}seriesBox(){let t;let e=this.chart,i=this.data,s=Math.max,o=Math.min,r=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach(e=>{b(e.plotX)&&b(e.plotY)&&e.marker.radius&&(t=e.marker.radius,r[0]=o(r[0],e.plotX-t),r[1]=s(r[1],e.plotX+t),r[2]=o(r[2],e.plotY-t),r[3]=s(r[3],e.plotY+t))}),C(r.width/r.height)?r:null}setVisible(){let t=this;p.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach(e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)}))}translate(){let t,e,i;let s=this.chart,o=this.data,r=this.index,a=this.options.useSimulation;for(let n of(this.processedXData=this.xData,this.generatePoints(),b(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),a?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))n[3]===r&&(t=o[n[4]],e=k(n[2],void 0),a||(t.plotX=n[0]-s.plotLeft+s.diffX,t.plotY=n[1]-s.plotTop+s.diffY),C(e)&&(t.marker=x(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));a&&this.deferLayout(),v(this,"afterTranslate")}}return M.defaultOptions=A(u.defaultOptions,r),x(M.prototype,{pointClass:o,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:g,alignDataLabel:p.alignDataLabel,indexateNodes:c,onMouseDown:e.onMouseDown,onMouseMove:e.onMouseMove,redrawHalo:e.redrawHalo,searchPoint:c}),n.registerSeriesType("packedbubble",M),M}),i(e,"Series/Polygon/PolygonSeriesDefaults.js",[],function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}}),i(e,"Series/Polygon/PolygonSeries.js",[e["Core/Globals.js"],e["Series/Polygon/PolygonSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{noop:o}=t,{area:r,line:a,scatter:n}=i.seriesTypes,{extend:l,merge:h}=s;class d extends n{getGraphPath(){let t=a.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||"M"===t[e][0])&&e>0&&t.splice(e,0,["Z"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,r.prototype.drawGraph.call(this)}}return d.defaultOptions=h(n.defaultOptions,e),l(d.prototype,{type:"polygon",drawTracker:a.prototype.drawTracker,setStackedPoints:o}),i.registerSeriesType("polygon",d),d}),i(e,"Core/Axis/RadialAxisDefaults.js",[],function(){return{circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2}}}),i(e,"Core/Axis/RadialAxis.js",[e["Core/Axis/RadialAxisDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 5,284 bytes, line 1
1i,s){var o;let{defaultOptions:r}=e,{composed:a,noop:n}=i,{addEvent:l,correctFloat:h,defined:d,extend:c,fireEvent:p,isObject:u,merge:g,pick:m,pushUnique:f,relativeLength:y,wrap:b}=s;return function(e){function s(){this.autoConnect=this.isCircular&&void 0===m(this.userMax,this.options.max)&&h(this.endAngleRad-this.startAngleRad)===h(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)}function o(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(t=>this.ticks[t]&&this.ticks[t].label).filter(t=>!!t)}}function x(){return n}function v(t,e,i){let s=this.pane.center,o=t.value,r,a,n;return this.isCircular?(d(o)?t.point&&(t.point.shapeArgs||{}).start&&(o=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(a=t.chartX||0,n=t.chartY||0,o=this.translate(Math.atan2(n-i,a-e)-this.startAngleRad,!0)),a=(r=this.getPosition(o)).x,n=r.y):(d(o)||(a=t.chartX,n=t.chartY),d(a)&&d(n)&&(i=s[1]+this.chart.plotTop,o=this.translate(Math.min(Math.sqrt(Math.pow(a-e,2)+Math.pow(n-i,2)),s[2]/2)-s[3]/2,!0))),[o,a||0,n||0]}function S(t,e,i){let s=this.pane.center,o=this.chart,r=this.left||0,a=this.top||0,n,l=m(e,s[2]/2-this.offset),h;return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(l+=i),this.isCircular||void 0!==e?((h=this.chart.renderer.symbols.arc(r+s[0],a+s[1],l,l,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[r+s[0]],h.yBounds=[a+s[1]-l]):(n=this.postTranslate(this.angleRad,l),h=[["M",this.center[0]+o.plotLeft,this.center[1]+o.plotTop],["L",n.x,n.y]]),h}function C(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function A(t,e,i){let s=this.chart,o=t=>{if("string"==typeof t){let e=parseInt(t,10);return c.test(t)&&(e=e*n/100),e}return t},r=this.center,a=this.startAngleRad,n=r[2]/2,l=Math.min(this.offset,0),h=this.left||0,d=this.top||0,c=/%$/,p=this.isCircular,u,g,f,y,b,x,v=m(o(i.outerRadius),n),S=o(i.innerRadius),C=m(o(i.thickness),10);if("polygon"===this.options.gridLineInterpolation)x=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let o=this.translate(t),n=this.translate(e);p||(v=o||0,S=n||0),"circle"!==i.shape&&p?(u=a+(o||0),g=a+(n||0)):(u=-Math.PI/2,g=1.5*Math.PI,b=!0),v-=l,C-=l,x=s.renderer.symbols.arc(h+r[0],d+r[1],v,v,{start:Math.min(u,g),end:Math.max(u,g),innerR:m(S,v-C),open:b,borderRadius:i.borderRadius}),p&&(f=(g+u)/2,y=h+r[0]+r[2]/2*Math.cos(f),x.xBounds=f>-Math.PI/2&&f<Math.PI/2?[y,s.plotWidth]:[0,y],x.yBounds=[d+r[1]+r[2]/2*Math.sin(f)],x.yBounds[0]+=f>-Math.PI&&f<0||f>Math.PI?-10:10)}return x}function k(t){let e=this.pane.center,i=this.chart,s=i.inverted,o=t.reverse,r=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},a=r.innerRadius||"0%",n=r.outerRadius||"100%",l=e[0]+i.plotLeft,h=e[1]+i.plotTop,d=this.height,c=t.isCrosshair,p=e[3]/2,u=t.value,g,m,f,b,x,v,S,C,A,k=this.getPosition(u),M=k.x,w=k.y;if(c&&(u=(C=this.getCrosshairPosition(t,l,h))[0],M=C[1],w=C[2]),this.isCircular)m=Math.sqrt(Math.pow(M-l,2)+Math.pow(w-h,2)),f="string"==typeof a?y(a,1):a/m,b="string"==typeof n?y(n,1):n/m,e&&p&&(f<(g=p/m)&&(f=g),b<g&&(b=g)),A=[["M",l+f*(M-l),h-f*(h-w)],["L",M-(1-b)*(M-l),w+(1-b)*(h-w)]];else if((u=this.translate(u))&&(u<0||u>d)&&(u=0),"circle"===this.options.gridLineInterpolation)A=this.getLinePath(0,u,p);else if(A=[],i[s?"yAxis":"xAxis"].forEach(t=>{t.pane===this.pane&&(x=t)}),x){S=x.tickPositions,x.autoConnect&&(S=S.concat([S[0]])),o&&(S=S.slice().reverse()),u&&(u+=p);for(let t=0;t<S.length;t++)v=x.getPosition(S[t],u),A.push(t?["L",v.x,v.y]:["M",v.x,v.y])}return A}function M(t,e){let i=this.translate(t);return this.postTranslate(this.isCircular?i:this.angleRad,m(this.isCircular?e:i<0?0:i,this.center[2]/2)-this.offset)}function w(){let t=this.center,e=this.chart,i=this.options.title;return{x:e.plotLeft+t[0]+(i.x||0),y:e.plotTop+t[1]-({high:.5,middle:.25,low:0})[i.align]*t[2]+(i.y||0)}}function P(t){t.beforeSetTickPositions=s,t.createLabelCollector=o,t.getCrosshairPosition=v,t.getLinePath=S,t.getOffset=C,t.getPlotBandPath=A,t.getPlotLinePath=k,t.getPosition=M,t.getTitlePosition=w,t.postTranslate=B,t.setAxisSize=z,t.setAxisTranslation=F,t.setOptions=G}function T(){let t=this.chart,e=this.options,i=t.angular&&this.isXAxis,s=this.pane,o=s&&s.options;if(!i&&s&&(t.angular||t.polar)){let t=2*Math.PI,i=(m(o.startAngle,0)-90)*Math.PI/180,s=(m(o.endAngle,m(o.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(e.angle||0)*Math.PI/180,this.startAngleRad=i,this.endAngleRad=s,this.offset=e.offset||0;let r=(i%t+t)%t,a=(s%t+t)%t;r>Math.PI&&(r-=t),a>Math.PI&&(a-=t),this.normalizedStartAngleRad=r,this.normalizedEndAngleRad=a}}function E(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function L(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function O(t){let e;let i=this.chart,s=i.angular,o=i.polar,r=this.isXAxis,a=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];
1if("colorAxis"===a){this.isRadial=!1;return}s?(s&&r?(this.isHidden=!0,this.createLabelCollector=x,this.getOffset=n,this.redraw=R,this.render=R,this.setScale=n,this.setCategories=n,this.setTitle=n):P(this),e=!r):o&&(P(this),e=this.horiz),s||o?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e}function D(){this.isRadial&&this.beforeSetTickPositions()}function j(t){let e=this.label;if(!e)return;let i=this.axis,s=e.getBBox(),o=i.options.labels,r=(i.translate(this.pos)+i.startAngleRad+Math.PI/2)/Math.PI*180%360,a=Math.round(r),n=d(o.y)?0:-(.3*s.height),l=o.y,h,c=20,p=o.align,u="end",g=a<0?a+360:a,f=g,b=0,x=0;i.isRadial&&(h=i.getPosition(this.pos,i.center[2]/2+y(m(o.distance,-25),i.center[2]/2,-i.center[2]/2)),"auto"===o.rotation?e.attr({rotation:r}):d(l)||(l=i.chart.renderer.fontMetrics(e).b-s.height/2),d(p)||(i.isCircular?(s.width>i.len*i.tickInterval/(i.max-i.min)&&(c=0),p=r>c&&r<180-c?"left":r>180+c&&r<360-c?"right":"center"):p="center",e.attr({align:p})),"auto"===p&&2===i.tickPositions.length&&i.isCircular&&(g>90&&g<180?g=180-g:g>270&&g<=360&&(g=540-g),f>180&&f<=360&&(f=360-f),(i.pane.options.startAngle===a||i.pane.options.startAngle===a+360||i.pane.options.startAngle===a-360)&&(u="start"),p=a>=-90&&a<=90||a>=-360&&a<=-270||a>=270&&a<=360?"start"===u?"right":"left":"start"===u?"left":"right",f>70&&f<110&&(p="center"),g<15||g>=180&&g<195?b=.3*s.height:g>=15&&g<=35?b="start"===u?0:.75*s.height:g>=195&&g<=215?b="start"===u?.75*s.height:0:g>35&&g<=90?b="start"===u?-(.25*s.height):s.height:g>215&&g<=270&&(b="start"===u?s.height:-(.25*s.height)),f<15?x="start"===u?-(.15*s.height):.15*s.height:f>165&&f<=180&&(x="start"===u?.15*s.height:-(.15*s.height)),e.attr({align:p}),e.translate(x,b+n)),t.pos.x=h.x+(o.x||0),t.pos.y=h.y+(l||0))}function N(t){this.axis.getPosition&&c(t.pos,this.axis.getPosition(this.pos))}function I({options:t}){t.xAxis&&g(!0,e.radialDefaultOptions.circular,t.xAxis),t.yAxis&&g(!0,e.radialDefaultOptions.radialGauge,t.yAxis)}function B(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function R(){this.isDirty=!1}function z(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*m(this.sector,1)/2)}function F(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function G(t){let{coll:i}=this,{angular:s,inverted:o,polar:a}=this.chart,n={};s?this.isXAxis||(n=g(r.yAxis,e.radialDefaultOptions.radialGauge)):a&&(n=this.horiz?g(r.xAxis,e.radialDefaultOptions.circular):g("xAxis"===i?r.xAxis:r.yAxis,e.radialDefaultOptions.radial)),o&&"yAxis"===i&&(n.stackLabels=u(r.yAxis,!0)?r.yAxis.stackLabels:{},n.reversedStacks=!0);let l=this.options=g(n,t);l.plotBands||(l.plotBands=[]),p(this,"afterSetOptions")}function W(t,e,i,s,o,r,a){let n;let l=this.axis;return l.isRadial?["M",e,i,"L",(n=l.getPosition(this.pos,l.center[2]/2+s)).x,n.y]:t.call(this,e,i,s,o,r,a)}e.radialDefaultOptions=g(t),e.compose=function(t,e){return f(a,"Axis.Radial")&&(l(t,"afterInit",T),l(t,"autoLabelAlign",E),l(t,"destroy",L),l(t,"init",O),l(t,"initialAxisTranslation",D),l(e,"afterGetLabelPosition",j),l(e,"afterGetPosition",N),l(i,"setOptions",I),b(e.prototype,"getMarkPath",W)),t}}(o||(o={})),o}),i(e,"Series/PolarComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Extensions/Pane/Pane.js"],e["Core/Axis/RadialAxis.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 9,189 bytes, line 1
1i,s,o,r){let{animObject:a}=t,{composed:n}=e,{addEvent:l,defined:h,find:d,isNumber:c,merge:p,pick:u,pushUnique:g,relativeLength:m,splat:f,uniqueKey:y,wrap:b}=r;function x(){(this.pane||[]).forEach(t=>{t.render()})}function v(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&("polygon"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):"polygon"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function S(){this.pane||(this.pane=[]),this.options.pane=f(this.options.pane),this.options.pane.forEach(t=>{new s(t,this)},this)}function C(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],o=this.chart.inverted,r=o?s:i,a=o?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr("start"):e.start)-r.startAngleRad,s=e.attr?e.attr("r"):e.r,o=(e.attr?e.attr("end"):e.end)-r.startAngleRad,n=e.attr?e.attr("innerR"):e.innerR;t.result.x=i+r.pos,t.result.width=o-i,t.result.y=a.len+a.pos-s,t.result.height=s-n}}function A(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,o=e.mouseDownY||0,r=t.args.chartY,a=t.args.chartX,n=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,d=e.inverted?e.xAxis[0]:e.yAxis[0],c={},p="arc";if(c.x=i[0]+e.plotLeft,c.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),u=Math.atan2(o-e.plotTop-i[1],s-e.plotLeft-i[0])-l,g=Math.atan2(r-e.plotTop-i[1],a-e.plotLeft-i[0])-l;c.r=i[2]/2,c.innerR=i[3]/2,u<=0&&(u+=n),g<=0&&(g+=n),g<u&&(g=[u,u=g][0]),t<n&&l+g>h+(n-t)/2&&(g=u,u=l<=0?l:0);let m=c.start=Math.max(u+l,l),f=c.end=Math.min(g+l,h);if("polygon"===d.options.gridLineInterpolation){let t=e.hoverPane.axis,s=m-t.startAngleRad+t.pos,o=d.getPlotLinePath({value:d.max}),r=t.toValue(s),a=t.toValue(s+(f-m));if(r<t.getExtremes().min){let{min:e,max:i}=t.getExtremes();r=i-(e-r)}if(a<t.getExtremes().min){let{min:e,max:i}=t.getExtremes();a=i-(e-a)}a<r&&(a=[r,r=a][0]),(o=P(o,r,a,t)).push(["L",i[0]+e.plotLeft,e.plotTop+i[1]]),c.d=o,p="path"}}if(this.zoomVert){let t=e.inverted?e.xAxis[0]:e.yAxis[0],n=Math.sqrt(Math.pow(s-e.plotLeft-i[0],2)+Math.pow(o-e.plotTop-i[1],2)),d=Math.sqrt(Math.pow(a-e.plotLeft-i[0],2)+Math.pow(r-e.plotTop-i[1],2));if(d<n&&(n=[d,d=n][0]),d>i[2]/2&&(d=i[2]/2),n<i[3]/2&&(n=i[3]/2),this.zoomHor||(c.start=l,c.end=h),c.r=d,c.innerR=n,"polygon"===t.options.gridLineInterpolation){let e=t.toValue(t.len+t.pos-n),i=t.toValue(t.len+t.pos-d),s=t.getPlotLinePath({value:i}).concat(t.getPlotLinePath({value:e,reverse:!0}));c.d=s,p="path"}}if(this.zoomHor&&this.zoomVert&&"polygon"===d.options.gridLineInterpolation){let t=e.hoverPane.axis,i=c.start||0,s=c.end||0,o=i-t.startAngleRad+t.pos,r=t.toValue(o),a=t.toValue(o+(s-i));if(c.d instanceof Array){let t=c.d.slice(0,c.d.length/2),i=c.d.slice(c.d.length/2,c.d.length);i=[...i].reverse();let s=e.hoverPane.axis;t=P(t,r,a,s),(i=P(i,r,a,s))&&(i[0][0]="L"),i=[...i].reverse(),c.d=t.concat(i),p="path"}}t.attrs=c,t.shapeType=p}}function k(){let t=this.chart;t.polar&&(this.polar=new R(this),t.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function M(){if(this.chart.polar&&this.xAxis){let{xAxis:t,yAxis:i}=this,s=this.chart;this.kdByAngle=s.tooltip&&s.tooltip.shared,this.kdByAngle||s.inverted?this.searchPoint=w:this.options.findNearestPointBy="xy";let o=this.points,r=o.length;for(;r--;)this.is("column")||this.is("columnrange")||this.polar.toXY(o[r]),s.hasParallelCoordinates||this.yAxis.reversed||(u(o[r].y,Number.MIN_VALUE)<i.min||o[r].x<t.min||o[r].x>t.max?(o[r].isNull=!0,o[r].plotY=NaN):o[r].isNull=o[r].isValid&&!o[r].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(l(this,"afterRender",function(){var t,i,o,r,a;let n,l,h,d;s.polar&&!1!==this.options.clip&&(n=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2}):this.clipCircle=(t=s.renderer,i=n[0],o=n[1],r=n[2]/2,a=n[3]/2,l=y(),h=t.createElement("clipPath").attr({id:l}).add(t.defs),(d=a?t.arc(i,o,r,a,0,2*Math.PI).add(h):t.circle(i,o,r).add(h)).id=l,d.clipPath=h,d),this.group.clip(this.clipCircle),this.setClip=e.noop)})))}}function w(t){let e=this.chart,i=this.xAxis,s=this.yAxis,o=i.pane&&i.pane.center,r=t.chartX-(o&&o[0]||0)-e.plotLeft,a=t.chartY-(o&&o[1]||0)-e.plotTop,n=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(r,a)};return this.searchKDTree(n)}function P(t,e,i,s){let o=s.tickInterval,r=s.tickPositions,a=d(r,t=>t>=i),n=d([...r].reverse(),t=>t<=e);return h(a)||(a=r[r.length-1]),h(n)||(n=r[0],a+=o,t[0][0]="L",t.unshift(t[t.length-3])),(t=t.slice(r.indexOf(n),r.indexOf(a)+1))[0][0]="M",t}function T(t,e){return d(this.pane||[],t=>t.options.id===e)||t.call(this,e)}function E(t,e,s,o,r,a){let n,l,h;let d=this.chart,c=u(o.inside,!!this.options.stacking);if(d.polar){if(n=e.rectPlotX/Math.PI*180,d.inverted)this.forceDL=d.isInsidePlot(e.plotX,e.plotY),c&&e.shapeArgs?(l=e.shapeArgs,r=p(r,{x:(h=this.yAxis.postTranslate(((l.start||0)+(l.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-d.plotLeft,y:h.y-d.plotTop})):e.tooltipPos&&(r=p(r,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),o.align=u(o.align,"center"),o.verticalAlign=u(o.verticalAlign,"middle");else{var g;let t,e;null===(g=o).align&&(t=n>20&&n<160?"left":n>200&&n<340?"right":"center",g.align=t),null===g.verticalAlign&&(e=n<45||n>315?"bottom":n>135&&n<225?"top":"middle",g.verticalAlign=e),o=g}i.prototype.alignDataLabel.call(this,e,s,o,r,a),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?s.hide():s.show()}else t.call(this,e,s,o,r,a)}function L(){let t=this.options,e=t.stacking,i=this.chart,s=this.xAxis,o=this.yAxis,a=o.reversed,n=o.center,l=s.startAngleRad,d=s.endAngleRad-l,p=t.threshold,u=0,g,f,y,b,x,v=0,S=0,C,A,k,M,w,P,T,E;if(s.isRadial)for(y=(g=this.points).length,b=o.translate(o.min),x=o.translate(o.max),p=t.threshold||0,i.inverted&&c(p)&&h(u=o.translate(p))&&(u<0?u=0:u>d&&(u=d),this.translatedThreshold=u+l);y--;){if(P=(f=g[y]).barX,A=f.x,k=f.y,f.shapeType="arc",i.inverted){f.plotY=o.translate(k),e&&o.stacking?(w=o.stacking.stacks[(k<0?"-":"")+this.stackKey],this.visible&&w&&w[A]&&!f.isNull&&(M=w[A].points[this.getStackIndicator(void 0,A,this.index).key],v=o.translate(M[0]),S=o.translate(M[1]),h(v)&&(v=r.clamp(v,0,d)))):(v=u,S=f.plotY),v>S&&(S=[v,v=S][0]),a?S>b?S=b:v<x?v=x:(v>b||S<x)&&(v=S=d):v<b?v=b:S>x?S=x:(S<b||v>x)&&(v=S=0),o.min>o.max&&(v=S=a?d:0),v+=l,S+=l,n&&(f.barX=P+=n[3]/2),T=Math.max(P,0),E=Math.max(P+f.pointWidth,0);let i=t.borderRadius,s=m(("object"==typeof i?i.radius:i)||0,E-T);f.shapeArgs={x:n[0],y:n[1],r:E,innerR:T,start:v,end:S,borderRadius:s},f.opacity=v===S?0:void 0,f.plotY=(h(this.translatedThreshold)&&(v<this.translatedThreshold?v:S))-l}else v=P+l,f.shapeArgs=this.polar.arc(f.yBottom,f.plotY,v,v+f.pointWidth),f.shapeArgs.borderRadius=0;this.polar.toXY(f),i.inverted?(C=o.postTranslate(f.rectPlotY,P+f.pointWidth/2),f.tooltipPos=[C.x-i.plotLeft,C.y-i.plotTop]):f.tooltipPos=[f.plotX,f.plotY],n&&(f.ttBelow=f.plotY>n[1])}}function O(t,e){let i,s;let o=this;if(this.chart.polar){e=e||this.points;for(let t=0;t<e.length;t++)if(!e[t].isNull){i=t;break}!1!==this.options.connectEnds&&void 0!==i&&(this.connectEnds=!0,e.splice(e.length,0,e[i]),s=!0),e.forEach(t=>{void 0===t.polarPlotY&&o.polar.toXY(t)})}let r=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),r}function D(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach(t=>{if("colorAxis"===t.coll)return;let o=t.isXAxis,r=t.center,a=e.chartX-r[0]-i.plotLeft,n=e.chartY-r[1]-i.plotTop;s[o?"xAxis":"yAxis"].push({axis:t,value:t.translate(o?Math.PI-Math.atan2(a,n):Math.sqrt(Math.pow(a,2)+Math.pow(n,2)),!0)})}):s=t.call(this,e),s}function j(t,e){this.chart.polar||t.call(this,e)}function N(t,i){let s=this,o=this.chart,r=this.group,n=this.markerGroup,l=this.xAxis&&this.xAxis.center,h=o.plotLeft,d=o.plotTop,c=this.options.animation,p,g,m,f,y,b;o.polar?s.isRadialBar?i||(s.startAngleRad=u(s.translatedThreshold,s.xAxis.startAngleRad),e.seriesTypes.pie.prototype.animate.call(s,i)):(c=a(c),s.is("column")?i||(g=l[3]/2,s.points.forEach(t=>{m=t.graphic,y=(f=t.shapeArgs)&&f.r,b=f&&f.innerR,m&&f&&(m.attr({r:g,innerR:g}),m.animate({r:y,innerR:b},s.options.animation))})):i?(p={translateX:l[0]+h,translateY:l[1]+d,scaleX:.001,scaleY:.001},r.attr(p),n&&n.attr(p)):(p={translateX:h,translateY:d,scaleX:1,scaleY:1},r.animate(p,c),n&&n.animate(p,c))):t.call(this,i)}function I(t,e,i,s){let o,r;if(this.chart.polar){if(s){let t=(r=function t(e,i,s,o){let r,a,n,l,h,d;let c=o?1:0,p=(r=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+c):r-1,u=r+1>e.length-1?c:r+1,g=e[p],m=e[u],f=g.plotX,y=g.plotY,b=m.plotX,x=m.plotY,v=e[r].plotX,S=e[r].plotY;a=(1.5*v+f)/2.5,n=(1.5*S+y)/2.5,l=(1.5*v+b)/2.5,h=(1.5*S+x)/2.5;let C=Math.sqrt(Math.pow(a-v,2)+Math.pow(n-S,2)),A=Math.sqrt(Math.pow(l-v,2)+Math.pow(h-S,2)),k=Math.atan2(n-S,a-v);d=Math.PI/2+(k+Math.atan2(h-S,l-v))/2,Math.abs(k-d)>Math.PI/2&&(d-=Math.PI),a=v+Math.cos(d)*C,n=S+Math.sin(d)*C;let M={rightContX:l=v+Math.cos(Math.PI+d)*A,rightContY:h=S+Math.sin(Math.PI+d)*A,leftContX:a,leftContY:n,plotX:v,plotY:S};
1return s&&(M.prevPointCont=t(e,p,!1,o)),M}(e,s,!0,this.connectEnds)).prevPointCont&&r.prevPointCont.rightContX,i=r.prevPointCont&&r.prevPointCont.rightContY;o=["C",c(t)?t:r.plotX,c(i)?i:r.plotY,c(r.leftContX)?r.leftContX:r.plotX,c(r.leftContY)?r.leftContY:r.plotY,r.plotX,r.plotY]}else o=["M",i.plotX,i.plotY]}else o=t.call(this,e,i,s);return o}function B(t,e,i=this.plotY){if(!this.destroyed){let{plotX:s,series:o}=this,{chart:r}=o;return r.polar&&c(s)&&c(i)?[s+(e?r.plotLeft:0),i+(e?r.plotTop:0)]:t.call(this,e,i)}}class R{static compose(t,e,i,r,a,h,d,c,p,u){if(s.compose(e,i),o.compose(t,a),g(n,"Polar")){let t=e.prototype,s=h.prototype,o=i.prototype,a=r.prototype;if(l(e,"afterDrawChartBox",x),l(e,"getAxes",S),l(e,"init",v),b(t,"get",T),b(o,"getCoordinates",D),b(o,"pinch",j),l(i,"getSelectionMarkerAttrs",A),l(i,"getSelectionBox",C),l(r,"afterInit",k),l(r,"afterTranslate",M,{order:2}),l(r,"afterColumnTranslate",L,{order:4}),b(a,"animate",N),b(s,"pos",B),c){let t=c.prototype;b(t,"alignDataLabel",E),b(t,"animate",N)}if(p&&b(p.prototype,"getGraphPath",O),u){let t=u.prototype;b(t,"getPointSpline",I),d&&(d.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let o=this.series,r=o.xAxis.center,a=o.yAxis.len,n=r[3]/2,l=a-e+n,h=a-u(t,a)+n;return o.yAxis.reversed&&(l<0&&(l=n),h<0&&(h=n)),{x:r[0],y:r[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e=this.series,i=e.chart,s=e.xAxis,o=e.yAxis,r=t.plotX,a=i.inverted,n=t.y,l=t.plotY,h=a?r:o.len-l,d;if(a&&e&&!e.isRadialBar&&(t.plotY=l=c(n)?o.translate(n):0),t.rectPlotX=r,t.rectPlotY=l,o.center&&(h+=o.center[3]/2),c(l)){let e=a?o.postTranslate(l,h):s.postTranslate(r,h);t.plotX=t.polarPlotX=e.x-i.plotLeft,t.plotY=t.polarPlotY=e.y-i.plotTop}e.kdByAngle?((d=(r/Math.PI*180+s.pane.options.startAngle)%360)<0&&(d+=360),t.clientX=d):t.clientX=t.plotX}}return R}),i(e,"Core/Axis/WaterfallAxis.js",[e["Core/Globals.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{composed:o}=t,{addEvent:r,objectEach:a,pushUnique:n}=i;return function(t){function i(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function s(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function l(){this.waterfall||(this.waterfall=new d(this))}function h(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,e){n(o,"Axis.Waterfall")&&(r(t,"init",l),r(t,"afterBuildStacks",i),r(t,"afterRender",s),r(e,"beforeRedraw",h))};class d{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,i=t.waterfall.stacks,s=t.stacking&&t.stacking.stackTotalGroup,o=new e(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=o,s&&a(i,t=>{a(t,(t,i)=>{o.total=t.stackTotal,o.x=+i,t.label&&(o.label=t.label),e.prototype.render.call(o,s),t.label=o.label,delete o.label})}),o.total=null}}t.Composition=d}(s||(s={})),s}),i(e,"Series/Waterfall/WaterfallPoint.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i){let{isNumber:s}=i;class o extends t.prototype.pointClass{getClassName(){let t=e.prototype.getClassName.call(this);return this.isSum?t+=" highcharts-sum":this.isIntermediateSum&&(t+=" highcharts-intermediate-sum"),t}isValid(){return s(this.y)||this.isSum||!!this.isIntermediateSum}}return o}),i(e,"Series/Waterfall/WaterfallSeriesDefaults.js",[],function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}}),i(e,"Series/Waterfall/WaterfallSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Core/Axis/WaterfallAxis.js"],e["Series/Waterfall/WaterfallPoint.js"],e["Series/Waterfall/WaterfallSeriesDefaults.js"]],function(t,e,i,s,o){let{column:r,line:a}=t.seriesTypes,{addEvent:n,arrayMax:l,arrayMin:h,correctFloat:d,crisp:c,extend:p,isNumber:u,merge:g,objectEach:m,pick:f}=e;function y(t,e){return Object.hasOwnProperty.call(t,e)}class b extends r{generatePoints(){r.prototype.generatePoints.apply(this);for(let t=0,e=this.points.length;t<e;t++){let e=this.points[t],i=this.processedYData[t];u(i)&&(e.isIntermediateSum||e.isSum)&&(e.y=d(i))}}processData(t){let e,i,s,o,r,a;let n=this.options,l=this.yData,h=n.data,c=l.length,p=n.threshold||0;s=i=o=r=0;for(let t=0;t<c;t++)a=l[t],e=h&&h[t]?h[t]:{},"sum"===a||e.isSum?l[t]=d(s):"intermediateSum"===a||e.isIntermediateSum?(l[t]=d(i),i=0):(s+=a,i+=a),o=Math.min(s,o),r=Math.max(s,r);super.processData.call(this,t),n.stacking||(this.dataMin=o+p,this.dataMax=r)}toYData(t){return t.isSum?"sum":t.isIntermediateSum?"intermediateSum":t.y}updateParallelArrays(t,e){super.updateParallelArrays.call(this,t,e),("sum"===this.yData[0]||"intermediateSum"===this.yData[0])&&(this.yData[0]=null)}pointAttribs(t,e){let i=this.options.upColor;i&&!t.options.color&&u(t.y)&&(t.color=t.y>0?i:void 0);let s=r.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[["M",0,0]]}getCrispPath(){let t=this.data.filter(t=>u(t.y)),e=this.yAxis,i=t.length,s=this.graph?.strokeWidth()||0,o=this.xAxis.reversed,r=this.yAxis.reversed,a=this.options.stacking,n=[];for(let l=1;l<i;l++){if(!(this.options.connectNulls||u(this.data[t[l].index-1].y)))continue;let i=t[l].box,h=t[l-1],d=h.y||0,p=t[l-1].box;if(!i||!p)continue;let g=e.waterfall.stacks[this.stackKey],m=d>0?-p.height:0;if(g&&p&&i){let t;let d=g[l-1];if(a){let i=d.connectorThreshold;t=c(e.translate(i,!1,!0,!1,!0)+(r?m:0),s)}else t=c(p.y+(h.minPointLengthOffset||0),s);n.push(["M",(p.x||0)+(o?0:p.width||0),t],["L",(i.x||0)+(o&&i.width||0),t])}if(p&&n.length&&(!a&&d<0&&!r||d>0&&r)){let t=n[n.length-2];t&&"number"==typeof t[2]&&(t[2]+=p.height||0);let e=n[n.length-1];e&&"number"==typeof e[2]&&(e[2]+=p.height||0)}}return n}drawGraph(){a.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){let e=this.options,i=t.waterfall?.stacks,s=e.threshold||0,o=this.stackKey,r=this.xData,a=r.length,n=s,l=n,h,d=0,c=0,p=0,u,g,m,f,y,b,x,v,S=(t,e,
1i,s)=>{if(h){if(u)for(;i<u;i++)h.stackState[i]+=s;else h.stackState[0]=t,u=h.stackState.length;h.stackState.push(h.stackState[u-1]+e)}};if(t.stacking&&i&&this.reserveSpace()){v=i.changed,(x=i.alreadyChanged)&&0>x.indexOf(o)&&(v=!0),i[o]||(i[o]={});let t=i[o];if(t)for(let i=0;i<a;i++)(!t[b=r[i]]||v)&&(t[b]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:v&&t[b]?t[b].label:void 0}),h=t[b],(y=this.yData[i])>=0?h.posTotal+=y:h.negTotal+=y,f=e.data[i],g=h.absolutePos=h.posTotal,m=h.absoluteNeg=h.negTotal,h.stackTotal=g+m,u=h.stackState.length,f&&f.isIntermediateSum?(S(p,c,0,p),p=c,c=s,n^=l,l^=n,n^=l):f&&f.isSum?(S(s,d,u,0),n=s):(S(n,y,0,d),f&&(d+=y,c+=y)),h.stateIndex++,h.threshold=n,n+=h.stackTotal;i.changed=!1,i.alreadyChanged||(i.alreadyChanged=[]),i.alreadyChanged.push(o)}}getExtremes(){let t,e,i;let s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],"overlap"===s?m(t[this.stackKey],function(t){e.push(h(t.stackState)),i.push(l(t.stackState))}):m(t[this.stackKey],function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:h(e),dataMax:l(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return b.defaultOptions=g(r.defaultOptions,o),b.compose=i.compose,p(b.prototype,{pointValKey:"y",showLine:!0,pointClass:s}),n(b,"afterColumnTranslate",function(){let{options:t,points:e,yAxis:i}=this,s=f(t.minPointLength,5),o=s/2,r=t.threshold||0,a=t.stacking,n=i.waterfall.stacks[this.stackKey],l=r,h=r,d,m,b,x;for(let t=0;t<e.length;t++){let f=e[t],v=this.processedYData[t],S=p({x:0,y:0,width:0,height:0},f.shapeArgs||{});f.box=S;let C=[0,v],A=f.y||0;if(a){if(n){let e=n[t];"overlap"===a?(m=e.stackState[e.stateIndex--],d=A>=0?m:m-A,y(e,"absolutePos")&&delete e.absolutePos,y(e,"absoluteNeg")&&delete e.absoluteNeg):(A>=0?(m=e.threshold+e.posTotal,e.posTotal-=A,d=m):(m=e.threshold+e.negTotal,e.negTotal-=A,d=m-A),!e.posTotal&&u(e.absolutePos)&&y(e,"absolutePos")&&(e.posTotal=e.absolutePos,delete e.absolutePos),!e.negTotal&&u(e.absoluteNeg)&&y(e,"absoluteNeg")&&(e.negTotal=e.absoluteNeg,delete e.absoluteNeg)),f.isSum||(e.connectorThreshold=e.threshold+e.stackTotal),i.reversed?(b=A>=0?d-A:d+A,x=d):(b=d,x=d-A),f.below=b<=r,S.y=i.translate(b,!1,!0,!1,!0),S.height=Math.abs(S.y-i.translate(x,!1,!0,!1,!0));let s=i.waterfall.dummyStackItem;s&&(s.x=t,s.label=n[t].label,s.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[t],this.stackedYPos[t],void 0,this.xAxis))}}else d=Math.max(h,h+A)+C[0],S.y=i.translate(d,!1,!0,!1,!0),f.isSum?(S.y=i.translate(C[1],!1,!0,!1,!0),S.height=Math.min(i.translate(C[0],!1,!0,!1,!0),i.len)-S.y,f.below=C[1]<=r):f.isIntermediateSum?(A>=0?(b=C[1]+l,x=l):(b=l,x=C[1]+l),i.reversed&&(b^=x,x^=b,b^=x),S.y=i.translate(b,!1,!0,!1,!0),S.height=Math.abs(S.y-Math.min(i.translate(x,!1,!0,!1,!0),i.len)),l+=C[1],f.below=b<=r):(S.height=v>0?i.translate(h,!1,!0,!1,!0)-S.y:i.translate(h,!1,!0,!1,!0)-i.translate(h-v,!1,!0,!1,!0),h+=v,f.below=h<r),S.height<0&&(S.y+=S.height,S.height*=-1);f.plotY=S.y,f.yBottom=S.y+S.height,S.height<=s&&!f.isNull?(S.height=s,S.y-=o,f.yBottom=S.y+S.height,f.plotY=S.y,A<0?f.minPointLengthOffset=-o:f.minPointLengthOffset=o):(f.isNull&&(S.width=0),f.minPointLengthOffset=0);let k=f.plotY+(f.negative?S.height:0);f.below&&(f.plotY+=S.height),f.tooltipPos&&(this.chart.inverted?f.tooltipPos[0]=i.len-k:f.tooltipPos[1]=k),f.isInside=this.isPointInside(f);let M=c(f.yBottom,this.borderWidth);S.y=c(S.y,this.borderWidth),S.height=M-S.y,g(!0,f.shapeArgs,S)}},{order:2}),t.registerSeriesType("waterfall",b),b}),i(e,"masters/highcharts-more.src.js",[e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Extensions/Pane/Pane.js"],e["Series/Bubble/BubbleSeries.js"],e["Series/PackedBubble/PackedBubbleSeries.js"],e["Series/PolarComposition.js"],e["Core/Axis/RadialAxis.js"],e["Series/Waterfall/WaterfallSeries.js"]],function(t,e,i,s,o,r,a,n){return t.RadialAxis=a,s.compose(t.Axis,t.Chart,t.Legend,t.Series),o.compose(t.Axis,t.Chart,t.Legend,t.Series),i.compose(t.Chart,t.Pointer),r.compose(t.Axis,t.Chart,t.Pointer,t.Series,t.Tick,t.Point,e.seriesTypes.areasplinerange,e.seriesTypes.column,e.seriesTypes.line,e.seriesTypes.spline),n.compose(t.Axis,t.Chart),t})},t.exports?(e.default=e,t.exports=e):"function"==typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}
vendor: 4,350 bytes, lines 1-2
1,878840:function(t,e,i){var s,o,r=i(425108);s="undefined"!=typeof window?window:this,o=function(t){"use strict";var e={};function i(e,i,s,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,s),"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.3",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=-1!==i.userAgent.indexOf("Chrome"),i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e}),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(t){let e,i,s;let{charts:o,doc:a,win:n}=t;function l(e,i,s,o){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${a}: Deprecated member`);let h=m(e),d=h?`${a} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==o){let t="";h&&(d+="?"),M(o,function(e,i){t+=`
2 - ${i}: ${e}`,h&&(d+=encodeURI(i)+"="+encodeURI(e))}),d+=t}P(t,"displayError",{chart:s,code:e,message:d,params:o},function(){if(i)throw Error(d);n.console&&-1===l.messages.indexOf(d)&&r.warn(d)}),l.messages.push(d)}function h(t,e){return parseInt(t,e||10)}function d(t){return"string"==typeof t}function c(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function p(t,e){return!!t&&"object"==typeof t&&(!e||!c(t))}function u(t){return p(t)&&"number"==typeof t.nodeType}function g(t){let e=t&&t.constructor;return!!(p(t,!0)&&!u(t)&&e&&e.name&&"Object"!==e.name)}function m(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-Infinity}function f(t){return null!=t}function y(t,e,i){let s;let o=d(e)&&!f(i),r=(e,i)=>{f(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return d(e)?r(i,e):M(e,r),s}function b(t){return c(t)?t:[t]}function x(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function v(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function S(t,e){x(t.style,e)}function C(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function A(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}(l||(l={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let k=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function M(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function w(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,M(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function P(e,i,s,o){if(s=s||{},a.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){let t=a.createEvent("Events");t.initEvent(i,!0,!0),s=x(t,s),e.dispatchEvent?e.dispatchEvent(s):e.fireEvent(i,s)}else if(e.hcEvents){s.target||x(s,{preventDefault:function(){s.defaultPrevented=!0},target:e,type:i});let t=[],o=e,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[i]&&(t.length&&(r=!0),t.unshift.apply(t,o.hcEvents[i])),o=Object.getPrototypeOf(o
vendor: 4,436 bytes, line 2
2);r&&t.sort((t,e)=>t.order-e.order),t.forEach(t=>{!1===t.fn.call(e,s)&&s.preventDefault()})}o&&!s.defaultPrevented&&o.call(e,s)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){t[i]=function(t){return l(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});let T=(i=Math.random().toString(36).substring(2,9)+"-",s=0,function(){return"highcharts-"+(e?"":i)+s++});return n.jQuery&&(n.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new t[d(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):o[y(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,o={}){let r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let a=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let n=e.addEventListener;n&&n.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===o.passive?-1!==i.indexOf("touch"):o.passive,capture:!1}),a[i]||(a[i]=[]);let l={fn:s,order:"number"==typeof o.order?o.order:1/0};return a[i].push(l),a[i].sort((t,e)=>t.order-e.order),function(){w(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i},attr:y,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){f(t)&&clearTimeout(t)},correctFloat:A,createElement:function(t,e,i,s,o){let r=a.createElement(t);return e&&x(r,e),o&&S(r,{padding:"0",border:"none",margin:"0"}),i&&S(r,i),s&&s.appendChild(r),r},crisp:(t,e=0,i)=>{let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:S,defined:f,destroyObjectProperties:function(t,e,i){M(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})},diffObjects:function(t,e,i,s){let o={};return function t(e,o,r,a){let n=i?o:e;M(e,function(i,l){if(!a&&s&&s.indexOf(l)>-1&&o[l]){i=b(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],a+1)))}else p(i,!0)&&!i.nodeType?(r[l]=c(i)?[]:{},t(i,o[l]||{},r[l],a+1),0!==Object.keys(r[l]).length||"colorAxis"===l&&0===a||delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=n[l])})}(t,e,o,0),o},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}},error:l,extend:x,extendClass:function(t,e){let i=function(){};return i.prototype=new t,x(i.prototype,e),i},find:k,fireEvent:P,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i},getMagnitude:C,getNestedProperty:function(t,e){let i=t.split(".");for(;i.length&&f(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return p(e)&&(t=e["@this"]),t??e}let s=e[t];if(!f(s)||"function"==typeof s||"number"==typeof s.nodeType||s===n)return;e=s}return e},getStyle:function t(e,i,s){let o;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth),s=e.getBoundingClientRect&&e.getBoundingClientRect().width;return s<i&&s>=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=n.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),v(s,"opacity"!==i)&&(o=h(o))),o},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||m(s)&&s<v(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i},isArray:c,isClass:g,isDOMElement:u,isFunction:function(t){return"function"==typeof t},isNumber:m,isObject:p,isString:d,keys:function(t){return l(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,e=arguments,i={},s=function(t,e){return"object"!=typeof t&&(t={}),M(e,function(i,o){"__proto__"!==o&&"constructor"!==o&&(!p(i,!0)||g(i)||u(i)?t[o]=e[o]:t[o]=s(t[o]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));let o=e.length;for(t=0;t<o;t++)i=s(i,e[t]);return i}
2,normalizeTickInterval:function(t,e,i,s,o){let r,a=t;i=v(i,C(t));let n=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(a=e[r],(!o||!(a*i>=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return A(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){let e=a.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:h,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:w,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:b,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI},syncTimeout:function(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:T,useSerialIds:function(t){return e=v(t,e)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}}),i(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),i(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{win:i}=t,{defined:s,error:o,extend:r,isNumber:a,isObject:n,merge:l,objectEach:h,pad:d,pick:c,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,m=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class f{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let o=e["getUTC"+t]();return e.setTime(i),o}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),o=e.getTime()-s;e.setTime(o),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return o=e.getTime()+r,e.setTime(o)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=c(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)}makeTime(t,e,i,s,o,r){let a,n,l;return this.useUTC?(a=this.Date.UTC.apply(0,arguments),n=this.getTimezoneOffset(a),a+=n,n!==(l=this.getTimezoneOffset(a))?a+=l-n:n-36e5!==this.getTimezoneOffset(a-36e5)||m||(a-=36e5)):a=new this.Date(t,e,c(i,1),c(s,0),c(o,0),c(r,0)).getTime(),a}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i=`shortOffset,${e.timezone||""}`,[s,o,r,n,l=0]=(f.formatCache[i]=f.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-(36e5*(r+l/60));if(a(h))return h}catch(t){o(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,o){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invali
2dDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");let a=this,n=new this.Date(i),l=this.get("Hours",n),p=this.get("Day",n),u=this.get("Date",n),g=this.get("Month",n),m=this.get("FullYear",n),f=t.defaultOptions.lang,y=f&&f.weekdays,b=f&&f.shortWeekdays;return h(r({a:b?b[p]:y[p].substr(0,3),A:y[p],d:d(u),e:d(u,2," "),w:p,b:f.shortMonths[g],B:f.months[g],m:d(g+1),o:g+1,y:m.toString().substr(2,2),Y:m,H:d(l),k:l,I:d(l%12||12),l:l%12||12,M:d(this.get("Minutes",n)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:d(this.get("Seconds",n)),L:d(Math.floor(i%1e3),3)},t.dateFormats),function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(a,i):t)}),o?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return n(t,!0)?t:{main:(t=p(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,o){let a,n,l,h;let d=this,p=d.Date,g=[],m={},f=new p(e),y=t.unitRange,b=t.count||1;if(o=c(o,1),s(e)){d.set("Milliseconds",f,y>=u.second?0:b*Math.floor(d.get("Milliseconds",f)/b)),y>=u.second&&d.set("Seconds",f,y>=u.minute?0:b*Math.floor(d.get("Seconds",f)/b)),y>=u.minute&&d.set("Minutes",f,y>=u.hour?0:b*Math.floor(d.get("Minutes",f)/b)),y>=u.hour&&d.set("Hours",f,y>=u.day?0:b*Math.floor(d.get("Hours",f)/b)),y>=u.day&&d.set("Date",f,y>=u.month?1:Math.max(1,b*Math.floor(d.get("Date",f)/b))),y>=u.month&&(d.set("Month",f,y>=u.year?0:b*Math.floor(d.get("Month",f)/b)),n=d.get("FullYear",f)),y>=u.year&&(n-=n%b,d.set("FullYear",f,n)),y===u.week&&(h=d.get("Day",f),d.set("Date",f,d.get("Date",f)-h+o+(h<o?-7:0))),n=d.get("FullYear",f);let t=d.get("Month",f),r=d.get("Date",f),c=d.get("Hours",f);e=f.getTime(),(d.variableTimezone||!d.useUTC)&&s(i)&&(l=i-e>4*u.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));let p=f.getTime();for(a=1;p<i;)g.push(p),y===u.year?p=d.makeTime(n+a*b,0):y===u.month?p=d.makeTime(n,t+a*b):l&&(y===u.day||y===u.week)?p=d.makeTime(n,t,r+a*b*(y===u.day?1:7)):l&&y===u.hour&&b>1?p=d.makeTime(n,t,r,c+a*b):p+=y*b,a++;g.push(p),y<=u.hour&&g.length<1e4&&g.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(m[t]="day")})}return g.info=r(t,{higherRanks:m,totalRange:y*b}),g}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",l=n;for(n in u){if(t===u.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(u[n]>t){n=l;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(l=n)}return this.resolveDTLFormat(s[n]).main}}return f.formatCache={},f}),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{isTouchDevice:r}=e,{fireEvent:a,merge:n}=o,l={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(n(l.global,l.time,t.global,t.time)):e.time=h),l}}}),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isNumber:i,merge:s,pInt:o}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,o,a;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let n=t.Color;if(n&&n!==r)return new n(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>
2new r(t[1]));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(0xff0000&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(o=r.parsers.length;o--&&!s;)(i=(a=r.parsers[o]).regex.exec(e))&&(s=a.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,o=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return o&&i(o[0])?"rgb"!==t&&(t||1!==o[3])?"a"===t?`${o[3]}`:"rgba("+o.join(",")+")":"rgb("+o[0]+","+o[1]+","+o[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=o(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,o=t.rgba;if(!i(s[0])||!i(o[0]))return t.input||"none";let r=1!==o[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(o[0]+(s[0]-o[0])*(1-e))+","+Math.round(o[1]+(s[1]-o[1])*(1-e))+","+Math.round(o[2]+(s[2]-o[2])*(1-e))+(r?","+(o[3]+(s[3]-o[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),1]}}],r.None=new r(""),r}),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{win:o}=e,{isNumber:r,objectEach:a}=i;class n{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let a=e[t],n=i[t],l=[];for(let t=0;t<n.length;t++){let e=a[t],i=n[t];r(e)&&r(i)&&!("A"===n[0]&&(4===t||5===t))?l[t]=e+s*(i-e):l[t]=i}o.push(l)}else o=i}else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,r=s.options,a=function(t){return!a.stopped&&s.step(t)},l=o.requestAnimationFrame||function(t){setTimeout(t,13)},h=function(){for(let t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&l(h)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===n.timers.push(a)&&l(h)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let e,i;let s=+new Date,o=this.options,r=this.elem,n=o.complete,l=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,a(h,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,a=i.slice(),n=t.isArea,l=n?2:1,h,d,c,p,u=e&&e.slice();if(!u)return[a,a];function g(t,e){for(;t.length<d;){let i=t[0],s=e[d-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function m(t){for(;t.length<d;){let e=t[Math.floor(t.length/l)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(c=0;c<s.length;c++){if(s[c]===o[0]){h=c;break}if(s[0]===o[o.length-s.length+c]){h=c,p=!0;break}if(s[s.length-1]===o[o.length-s.length+c]){h=s.length-c;break}}void 0===h&&(u=[])}return u.length&&r(h)&&(d=a.length+h*l,p?(g(u,a),m(a)):(g(a,u),m(u))),[u,a]}fillSetter(){n.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return n.timers=[],n}
2),i(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,getStyle:s,isArray:o,isNumber:r,isObject:a,merge:n,objectEach:l,pick:h}=e;function d(t){return a(t)?n({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function c(e,i){let s=t.timers.length;for(;s--;)t.timers[s].elem!==e||i&&i!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(e,i,h){let d,p="",u,g,m;a(h)||(m=arguments,h={duration:m[2],easing:m[3],complete:m[4]}),r(h.duration)||(h.duration=400),h.easing="function"==typeof h.easing?h.easing:Math[h.easing]||Math.easeInOutSine,h.curAnim=n(i),l(i,function(r,a){c(e,a),g=new t(e,h,a),u=void 0,"d"===a&&o(i.d)?(g.paths=g.initPath(e,e.pathArray,i.d),g.toD=i.d,d=0,u=1):e.attr?d=e.attr(a):(d=parseFloat(s(e,a))||0,"opacity"!==a&&(p="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),g.run(d,u,p)})},animObject:d,getDeferredAnimation:function(t,e,s){let o=d(e),r=s?[s]:t.series,n=0,l=0;return r.forEach(t=>{let s=d(t.options.animation);n=a(e)&&i(e.defer)?o.defer:Math.max(n,s.duration+s.defer),l=Math.min(o.duration,s.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-l),duration:Math.min(n,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:c}}),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{SVG_NS:i,win:s}=t,{attr:o,createElement:r,css:a,error:n,isFunction:l,isString:h,objectEach:d,splat:c}=e,{trustedTypes:p}=s,u=p&&l(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",m=function(){try{return!!new DOMParser().parseFromString(g,"text/html")}catch(t){return!1}}();class f{static filterUserAttributes(t){return d(t,(e,i)=>{let s=!0;-1===f.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&f.allowedReferences.some(t=>0===e.indexOf(t))),s||(n(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return c(s).forEach(function(s){let h;let c=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=f.bypassHTMLFiltering;if(c){if("#text"===c)h=p;else if(-1!==f.allowedTags.indexOf(c)||u){let n="svg"===c?i:r.namespaceURI||i,l=t.doc.createElementNS(n,c),g=s.attributes||{};d(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)}),o(l,u?g:f.filterUserAttributes(g)),s.style&&a(l,s.style),p&&l.appendChild(p),e(s.children||[],l),h=l}else n(33,!1,void 0,{"Invalid tagName in config":c})}h&&r.appendChild(h),l=h}),l}(this.nodes,e)}parseMarkup(t){let e;let i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),m)e=new DOMParser().parseFromString(u?u.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=f.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}return f.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","
2summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],f.emptyHTML=g,f.bypassHTMLFiltering=!1,f}),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:o,getNestedProperty:r,isArray:a,isNumber:n,isObject:l,pick:h,pInt:d}=e,c={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!a(t)&&t.map((i,s)=>p(e.body,o(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,o){let a=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,n=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,l=[],d=/f$/,g=/\.([0-9])/,m=i.lang,f=o&&o.time||s,y=o&&o.numberFormatter||u,b=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},x,v,S=0,C;for(;null!==(x=a.exec(t));){let i=n.exec(x[1]);i&&(x=i,C=!0),v&&v.isBlock||(v={ctx:e,expression:x[1],find:x[0],isBlock:"#"===x[1].charAt(0),start:x.index,startInner:x.index+x[0].length,length:x[0].length});let s=x[1].split(" ")[0].replace("#","");c[s]&&(v.isBlock&&s===v.fn&&S++,v.fn||(v.fn=s));let o="else"===x[1];if(v.isBlock&&v.fn&&(x[1]===`/${v.fn}`||o)){if(S)!o&&S--;else{let e=v.startInner,i=t.substr(e,x.index-e);void 0===v.body?(v.body=i,v.startInner=x.index+x[0].length):v.elseBody=i,v.find+=i+x[0],o||(l.push(v),v=void 0)}}else v.isBlock||l.push(v);if(i&&!v?.isBlock)break}return l.forEach(i=>{let s,r;let{body:a,elseBody:n,expression:l,fn:u}=i;if(u){let t=[i],h=l.split(" ");for(r=c[u].length;r--;)t.unshift(b(h[r+1]));s=c[u].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?a:n,e,o))}else{let t=l.split(":");if(s=b(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(d.test(e)){let t=parseInt((e.match(g)||["","-1"])[1],10);null!==s&&(s=y(s,t,m.decimalPoint,e.indexOf(",")>-1?m.thousandsSep:""))}else s=f.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))}),C?p(t,e,o):t}function u(t,e,s,o){let r,a;t=+t||0,e=+e;let l=i.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(c,20):n(e)?e&&p[1]&&p[1]<0&&((a=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(a).split("e")[0],e=a):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;let g=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,c)-1)).toFixed(e),m=String(d(g)),f=m.length>3?m.length%3:0;return s=h(s,l.decimalPoint),o=h(o,l.thousandsSep),r=(t<0?"-":"")+(f?m.substr(0,f)+o:""),0>+p[1]&&!u?r="0":r+=m.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+o),e?r+=s+g.slice(-e):0==+r&&(r="0"),p[1]&&0!=+r&&(r+="e"+p[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:c,numberFormat:u}}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,o,r){i.rendererTypes[e]=o,(!s||r)&&(s=e,t.Renderer=o)},e}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e;let{clamp:i,pick:s,pushUnique:o,stableSort:r}=t;return(e||(e={})).distribute=function t(e,a,n){let l=e,h=l.reducedLen||a,d=(t,e)=>t.target-e.target,c=[],p=e.length,u=[],g=c.push,m,f,y,b=!0,x,v,S=0,C;for(m=p;m--;)S+=e[m].size;if(S>h){for(r(e,(t,e)=>(e.rank||0)-(t.rank||0)),y=(C=e[0].rank===e[e.length-1].rank)?p/2:-1,f=C?y:p-1;y&&S>h;)x=e[m=Math.floor(f)],o(u,m)&&(S-=x.size),f+=y,C&&f>=e.length&&(y/=2,f=y);u.sort((t,e)=>e-t).forEach(t=>
vendor: 7,287 bytes, line 2
2g.apply(c,e.splice(t,1)))}for(r(e,d),e=e.map(t=>({size:t.size,targets:[t.target],align:s(t.align,.5)}));b;){for(m=e.length;m--;)x=e[m],v=(Math.min.apply(0,x.targets)+Math.max.apply(0,x.targets))/2,x.pos=i(v-x.size*x.align,0,a-x.size);for(m=e.length,b=!1;m--;)m>0&&e[m-1].pos+e[m-1].size>e[m].pos&&(e[m-1].size+=e[m].size,e[m-1].targets=e[m-1].targets.concat(e[m].targets),e[m-1].align=.5,e[m-1].pos+e[m-1].size>a&&(e[m-1].pos=a-e[m-1].size),e.splice(m,1),b=!0)}return g.apply(l,c),m=0,e.some(e=>{let i=0;return(e.targets||[]).some(()=>(l[m].pos=e.pos+i,void 0!==n&&Math.abs(l[m].pos-l[m].target)>n)?(l.slice(0,m+1).forEach(t=>delete t.pos),l.reducedLen=(l.reducedLen||a)-.1*a,l.reducedLen>.1*a&&t(l,a,n),!0):(i+=l[m].size,m++,!1))}),r(l,d),l},e}),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{animate:o,animObject:r,stop:a}=t,{deg2rad:n,doc:l,svg:h,SVG_NS:d,win:c}=i,{addEvent:p,attr:u,createElement:g,crisp:m,css:f,defined:y,erase:b,extend:x,fireEvent:v,isArray:S,isFunction:C,isObject:A,isString:k,merge:M,objectEach:w,pick:P,pInt:T,pushUnique:E,replaceNested:L,syncTimeout:O,uniqueKey:D}=s;class j{_defaultGetter(t){let e=P(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o,r,a,n;let l={},h=this.renderer,d=h.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let p=!i||k(i)?i||"renderer":void 0;p&&(c&&E(d,this),i=void 0);let u=P(i,h[p],h),g=t.align,m=t.verticalAlign;return o=(u.x||0)+(t.x||0),r=(u.y||0)+(t.y||0),"right"===g?a=1:"center"===g&&(a=2),a&&(o+=((u.width||0)-(t.width||0))/a),l[e?"translateX":"x"]=Math.round(o),"bottom"===m?n=1:"middle"===m&&(n=2),n&&(r+=((u.height||0)-(t.height||0))/n),l[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](l),this.placed=!0),this.alignAttr=l,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(P(e,this.renderer.globalAnimation,!0)),a=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),O(()=>{this.element&&o(this,t,s)},a)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),o=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=l.createElementNS(d,"tspan");u(t,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":r,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let s=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});let a=l.createElementNS(d,"tspan");a.textContent="​",u(a,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=j.symbolCustomAttribs,n,l,h=this,d;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(w(t,function(e,i){d=!1,s||a(this,i),this.symbolName&&-1!==r.indexOf(i)&&(l||(this.symbolAttr(t),l=!0),d=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),d||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=D()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=m(i,e),n=m(s,e);return x(t,{x:a,y:n,width:m(o,e)-a,height:m(r,e)-n}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let o=this.renderer,r,a,n,l,h,d,c,p,u,g,m=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?a="radialGradient":t.linearGradient&&(a="linearGradient"),a){if(n=t[a],h=o.gradients,d=t.stops,u=s.radialReference,S(n)&&(t[a]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===a&&u&&!y(n.gradientUnits)&&(l=n,n=M(n,o.getRadialAttr(u,l),{gradientUnits:"userSpaceOnUse"})),w(n,function(t,e){"id"!==e&&m.push(e,t)}),w(d,function(t){m.push(t)}),h[m=m.join(",")])g=h[m].attr("id");else{n.id=g=D();let t=h[m]=o.createElement(a).attr(n).add(o.defs);t.radAttr=l,t.stops=[],d.forEach(function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),p=r.get("a")):(c=i[1],p=1);let s=o.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":p}).add(t);t.stops.push(s)})}f="url("+o.url+"#"+g+")",s.setAttribute(i,f),s.gradient=m,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&w(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=x(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),x(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let r=M(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>r&&delete r[t]),r.color&&(r.fill=r.color)),f(s,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+T(s[e])*P(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,a(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.i
2d)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;n<t.stops.length;n++)t.stops[n].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);o&&o.div&&0===o.div.childNodes.length;)r=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=r;t.alignOptions&&b(i.alignedObjects,t),w(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})}dSetter(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=n.namespaceURI===this.SVG_NS,g=P(e,this.rotation,0),m=l.styledMode?n&&j.prototype.getStyle.call(n,"font-size"):h.fontSize;if(y(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/[0-9]/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,a,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&f(e,{display:t})},C(o)&&o("none"),i=n.getBBox?x({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},C(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g))}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:l,rotationOriginX:h=0,rotationOriginY:d=0}=this,c={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(l?0:s),u=e*n,g=(e-90)*n,m=Math.cos(u),f=Math.sin(u),y=o*m,b=o*f,x=Math.cos(g),v=Math.sin(g),[[S,C],[A,k]]=[h,d].map(t=>[t-t*m,t*f]),M=i+c*(o-y)+S+k+p*x,w=M+y,P=w-r*x,T=P-y,E=s+p-c*b-C+A+p*v,L=E+b,O=L-r*v,D=O-b,j=Math.min(M,w,P,T),N=Math.min(E,L,O,D),I=Math.max(M,w,P,T)-j,B=Math.max(E,L,O,D)-N;return{x:j,y:N,width:I,height:B}}getStyle(t){return c.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=d,this.element="span"===e||"body"===e?g(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=p(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(k(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=M(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,o=s.textPath,{attributes:r,enabled:a}=e;if(t=t||o&&o.path,o&&o.undo(),t&&a){let e=p(s,"afterModifyTree",e=>{if(t&&a){let o=t.attr("id");o||t.attr("id",o=D());let a={x:0,y:0};y(r.dx)&&(a.dx=r.dx,delete r.dx),y(r.dy)&&(a.dy=r.dy,delete r.dy),s.attr(a),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let n=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:x(r,{"text-anchor":r.textAnchor,href:`${i}#${o}`}),children:n}}});s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}shadow(t){let{renderer:e}=this,i=M(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},A(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(u(i=l.createElementNS(d,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
2j.symbolCustomAttribs.forEach(function(i){e[i]=P(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(P(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+P(o,e.getAttribute("x"),0)+" "+P(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+P(a,1)+" "+P(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,l,h,d=!1,c,p=this.added,u;if(y(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):y(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!y(h=(l=n[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(T(h)<=t||c&&(!y(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}return j.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],j.prototype.strokeSetter=j.prototype.fillSetter,j.prototype.yGetter=j.prototype.xGetter,j.prototype.matrixSetter=j.prototype.rotationOriginXSetter=j.prototype.rotationOriginYSetter=j.prototype.rotationSetter=j.prototype.scaleXSetter=j.prototype.scaleYSetter=j.prototype.translateXSetter=j.prototype.translateYSetter=j.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},j}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:o,merge:r,pick:a,removeEvent:n}=e;class l extends t{constructor(t,e,i,s,o,r,a,n,h,d){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&o(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=r(e),l.textProps.forEach(i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])}),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){n(this.element,"mouseenter"),n(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,l=a(this.paddingLeft,i),h=e??(this.rotation||0),d={width:n,height:s,x:o+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};
vendor: 4,194 bytes, line 2
2return h&&(d=this.getRotatedBox(d,h)),d}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:a(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){o(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,r={},a=this.padding,n=this.bBox=(!o(this.widthSetting)||!o(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):l.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*a;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||h).b,n.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=a(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=o(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=a(this.paddingLeft,t),i=a(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t;function o(t,i,o,r,a){let n=[];if(a){let l=a.start||0,h=s(a.r,o),d=s(a.r,r||o),c=2e-4/Math.max(h,1),p=Math.abs((a.end||0)-l-2*Math.PI)<c,u=(a.end||0)-c,g=a.innerR,m=s(a.open,p),f=Math.cos(l),y=Math.sin(l),b=Math.cos(u),x=Math.sin(u),v=s(a.longArc,u-l-Math.PI<c?0:1),S=["A",h,d,0,v,s(a.clockwise,1),t+h*b,i+d*x];S.params={start:l,end:u,cx:t,cy:i},n.push(["M",t+h*f,i+d*y],S),e(g)&&((S=["A",g,g,0,v,e(a.clockwise)?1-a.clockwise:0,t+g*f,i+g*y]).params={start:u,end:l,cx:t,cy:i},n.push(m?["M",t+g*b,i+g*x]:["L",t+g*b,i+g*x],S)),m||n.push(["Z"])}return n}function r(t,e,i,s,o){return o&&o.r?a(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function a(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:o,callout:function(t,e,s,o,r){let n=Math.min(r&&r.r||0,s,o),l=n+6,h=r&&r.anchorX,d=r&&r.anchorY||0,c=a(t,e,s,o,{r:n});if(!i(h)||h<s&&h>0&&d<o&&d>0)return c;if(t+h>s-l){if(d>e+l&&d<e+o-l)c.splice(3,1,["L",t+s,d-6],["L",t+s+6,d],["L",t+s,d+6],["L",t+s,e+o-n]);else if(h<s){let i=d<e+l,r=i?e:e+o;c.splice(i?2:5,0,["L",h,d],["L",t+s-n,r])}else c.splice(3,1,["L",t+s,o/2],["L",h,d],["L",t+s,o/2],["L",t+s,e+o-n
vendor: 5,520 bytes, line 2
2])}else if(t+h<l){if(d>e+l&&d<e+o-l)c.splice(7,1,["L",t,d+6],["L",t-6,d],["L",t,d-6],["L",t,e+n]);else if(h>0){let i=d<e+l,s=i?e:e+o;c.splice(i?1:6,0,["L",h,d],["L",t+n,s])}else c.splice(7,1,["L",t,o/2],["L",h,d],["L",t,o/2],["L",t,e+n])}else d>o&&h<s-l?c.splice(5,1,["L",h+6,e+o],["L",h,e+o+6],["L",h-6,e+o],["L",t+n,e+o]):d<0&&h>l&&c.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-n,e]);return c},circle:function(t,e,i,s){return o(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:a,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s,SVG_NS:o,win:r}=e,{attr:a,extend:n,fireEvent:l,isString:h,objectEach:d,pick:c}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,o=e.renderer,r=c(e.textStr,"").toString(),a=-1!==r.indexOf("<"),n=i.childNodes,l=!e.added&&o.box,d=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=n.length;t--;)i.removeChild(n[t]);if(a||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=a(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),a(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let n=this.width||0;if(!n)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),c=this.getLineHeight(r),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,n-.8*c),(t,e)=>t.substring(0,e)+"…");else if(d){let l=[],d=[];for(;r.firstChild&&r.firstChild!==t;)d.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&p>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===p&&u||0,n,(t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,p++;d.forEach(e=>{r.insertBefore(e,t)}),l.forEach(e=>{r.insertBefore(s.createTextNode(e),t);let n=s.createElementNS(o,"tspan");n.textContent="​",a(n,{dy:c,x:i}),r.insertBefore(n,t)})}},h=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===r.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}getLineHeight(t){let e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===l||"em"===l)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===l){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),n(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r){let a,n;let l=this.svgElement,{rotation:h}=l,d=[],c=i?1:0,p=(e||i||"").length,u=p,g=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===d[r]&&a.getSubStringLength)try{d[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return d[r]};if(l.rotation=0,s+(n=g(t.textContent.length))>o){for(;c<=p;)u=Math.ceil((c+p)/2),i&&(a=r(i,u)),n=g(u,a&&a.length-1),c===p?c=p+1:n>o?p=u-1:c=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=a||r(e||i,u))}i&&i.splice(0,u),l.actualWidth=n,l.rotation=h}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 4,577 bytes, line 2
2i,s,o,r,a,n,l,h){let d;let{defaultOptions:c}=e,{charts:p,deg2rad:u,doc:g,isFirefox:m,isMS:f,isWebKit:y,noop:b,SVG_NS:x,symbolSizes:v,win:S}=s,{addEvent:C,attr:A,createElement:k,crisp:M,css:w,defined:P,destroyObjectProperties:T,extend:E,isArray:L,isNumber:O,isObject:D,isString:j,merge:N,pick:I,pInt:B,replaceNested:R,uniqueKey:z}=h;class F{constructor(t,e,i,s,o,r,a){let n,l;let h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;a||h.css(this.getStyle(s||{})),t.appendChild(d),A(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&A(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.3")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),m&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),l=t.getBoundingClientRect(),w(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=C(S,"resize",n))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((m||y)&&g.getElementsByTagName("base").length){if(!P(d)){let e=z(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);d="hitme"===(s&&s.id),g.body.removeChild(i)}if(d)return R(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=E({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),T(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=N({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new l(t).buildSVG()}getContrast(t){let e=i.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,o,r={},a,n,l,h,d){let p=this.label(e,i,s,h,void 0,void 0,d,void 0,"button"),u=this.styledMode,g=arguments,m=0;r=N(c.global.buttonTheme,r),u&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let y=r.states||{},b=r.style||{};delete r.states,delete r.style;let x=[t.filterUserAttributes(r)],v=[b];return u||["hover","select","disabled"].forEach((e,i)=>{x.push(N(x[0],t.filterUserAttributes(g[i+5]||y[e]||{}))),v.push(x[i+1].style),delete x[i+1].style}),C(p.element,f?"mouseover":"mouseenter",function(){3!==m&&p.setState(1)}),C(p.element,f?"mouseout":"mouseleave",function(){3!==m&&p.setState(m)}),p.setState=(t=0)=>{if(1!==t&&(p.state=m=t),p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){p.attr(x[t]);let e=v[t];D(e)&&p.css(e)}},p.attr(x[0]),!u&&(p.css(E({cursor:"default"},b)),d&&p.text.css({pointerEvents:"none"})),p.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==m&&o.call(p,t)})}crispLine(t,e){let[i,s]=t;return P(i[1])&&i[1]===s[1]&&(i[1]=s[1]=M(i[1],e)),P(i[2])&&i[2]===s[2]&&(i[2]=s[2]=M(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:D(t)&&E(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");
vendor: 4,120 bytes, line 2
2return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;D(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,E(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,A(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:I(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};O(e)&&(a.x=e),O(i)&&(a.y=i),O(s)&&(a.width=s),O(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new S.Image;C(e,"load",l),e.src=t,e.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,h;let d=this,c=/^url\((.*?)\)$/,u=c.test(t),m=!u&&(this.symbols[t]?t:"circle"),f=m&&this.symbols[m];if(f)"number"==typeof e&&(n=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),E(a,{symbolName:m||void 0,x:e,y:i,width:s,height:o}),r&&E(a,r);else if(u){l=t.match(c)[1];let s=a=this.image(l);s.imgwidth=I(r&&r.width,v[l]&&v[l].width),s.imgheight=I(r&&r.height,v[l]&&v[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:l}=this,h="width"===e?n:l,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&l?(d=Math.min(o/n,a/l),A(s,{width:Math.round(n*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&n&&l&&this.translate(((o||0)-n*d)/2,((a||0)-l*d)/2)}}),P(e)&&s.attr({x:e,y:i}),s.isImg=!0,P(s.imgwidth)&&P(s.imgheight)?h(s):(s.attr({width:0,height:0}),k("img",{onload:function(){let t=p[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),v[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),P(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=B(r.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*u),4)),{x:-t/3*Math.sin(e*u),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)j(i[0])&&O(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,l,h){return new a(this,t,e,i,s,o,r,n,l,h)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}return E(F.prototype,{Element:r,SVG_NS:x,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:n,draw:b}),o.registerRendererType("svg",F,!0),F}),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,
2i,s){let{composed:o}=e,{attr:r,css:a,createElement:n,defined:l,extend:h,pInt:d,pushUnique:c}=s;function p(t,e,s){let o=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),o&&(o[e]=t)}let u=(t,e)=>{if(!t.div){let s=r(t.element,"class"),o=t.css,a=n("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),a.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,a.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=p,t.css=e=>(o.call(t,e),e.cursor&&(a.style.cursor=e.cursor),e.pointerEvents&&(a.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:a,onEvents:t.onEvents},arguments),t},t.div=a}return t.div};class g extends i{static compose(t){c(o,this.compose)&&(t.prototype.html=function(t,e,i){return new g(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=d(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),a(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,styles:r,textAlign:n="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,g=r.whiteSpace;if(a(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let r=[i,n,t.innerHTML,h,this.textAlign].join(","),d=-(this.parentGroup?.padding*1)||0,c,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(a(t,{width:"",whiteSpace:g||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(a(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:g||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,r!==this.cTT&&(c=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||n!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.get
2SpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,c,{left:0,center:.5,right:1}[n]));let{xCorr:f=0,yCorr:y=0}=this,b=(s??p)-f-p-d,x=(o??u)-y-u-d;a(t,{left:`${p+f}px`,top:`${u+y}px`,transformOrigin:`${b}px ${x}px`}),this.cTT=r,this.oldRotation=i,this.oldAlign=n}}setSpanRotation(t,e,i){a(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=u(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,e??""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let m=g.prototype;return m.visibilitySetter=m.opacitySetter=p,m.ySetter=m.rotationSetter=m.rotationOriginXSetter=m.rotationOriginYSetter=m.xSetter,g}),i(e,"Core/Axis/AxisDefaults.js",[],function(){var t,e;return(e=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,isFunction:s,objectEach:o,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},o(e.events,function(e,o){t.eventOptions[o]!==e&&(t.eventOptions[o]&&(r(t,o,t.eventOptions[o]),delete t.eventOptions[o]),s(e)&&(t.eventOptions[o]=e,i(t,o,e,{order:0})))})},e}),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{deg2rad:s}=e,{clamp:o,correctFloat:r,defined:a,destroyObjectProperties:n,extend:l,fireEvent:h,isNumber:d,merge:c,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e=this,i=e.axis,s=i.options,o=i.chart,n=i.categories,c=i.logarithmic,p=i.names,g=e.pos,m=u(e.options&&e.options.labels,s.labels),f=i.tickPositions,y=g===f[0],b=g===f[f.length-1],x=(!m.step||1===m.step)&&1===i.tickInterval,v=f.info,S=e.label,C,A,k,M=this.parameters.category||(n?u(n[g],p[g],g):g);c&&d(M)&&(M=r(c.lin2log(M))),i.dateTime&&(v?C=(A=o.time.resolveDTLFormat(s.dateTimeLabelFormats[!s.grid&&v.higherRanks[g]||v.unitName])).main:d(M)&&(C=i.dateTime.getXDateFormat(M,s.dateTimeLabelFormats||{}))),e.isFirst=y,e.isLast=b;let w={axis:i,chart:o,dateTimeLabelFormat:C,isFirst:y,isLast:b,pos:g,tick:e,tickPositionInfo:v,value:M};h(this,"labelFormat",w);let P=e=>m.formatter?m.formatter.call(e,e):m.format?(e.text=i.defaultLabelFormatter.call(e),t.format(m.format,e,o)):i.defaultLabelFormatter.call(e),T=P.call(w,w),E=A&&A.list;E?e.shortenLabel=function(){for(k=0;k<E.length;k++)if(l(w,{dateTimeLabelFormat:E[k]}),S.attr({text:P.call(w,w)}),S.getBBox().width<i.getSlotWidth(e)-2*(m.padding||0))return;S.attr({text:""})}:e.shortenLabel=void 0,x&&i._addedPlotLB&&e.moveLabel(T,m),a(S)||e.movedLabel?S&&S.textStr!==T&&!x&&(!S.textWidth||m.style.width||S.styles.width||S.css({width:null}),S.attr({text:T}),S.textPxLength=S.getBBox().width):(e.label=S=e.createLabel(T,m),e.rotation=0)}createLabel(t,e,i){let s=this.axis,o=s.chart,r=a(t)&&e.enabled?o.renderer.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return r&&(o.styledMode||r.css(c(e.style)),r.textPxLength=r.getBBox().width),r}destroy(){n(this,this.axis)}
2getPosition(t,e,i,s){let a=this.axis,n=a.chart,l=s&&n.oldChartHeight||n.chartHeight,d={x:t?r(a.translate(e+i,void 0,void 0,s)+a.transB):a.left+a.offset+(a.opposite?(s&&n.oldChartWidth||n.chartWidth)-a.right-a.left:0),y:t?l-a.bottom+a.offset-(a.opposite?a.height:0):r(l-a.translate(e+i,void 0,void 0,s)-a.transB)};return d.y=o(d.y,-1e5,1e5),h(this,"afterGetPosition",{pos:d}),d}getLabelPosition(t,e,i,o,r,n,l,d){let c,p;let g=this.axis,m=g.transA,f=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,y=g.staggerLines,b=g.tickRotCorr||{x:0,y:0},x=o||g.reserveSpaceDefault?0:-g.labelOffset*("center"===g.labelAlign?.5:1),v=r.distance,S={};return c=0===g.side?i.rotation?-v:-i.getBBox().height:2===g.side?b.y+v:Math.cos(i.rotation*s)*(b.y-i.getBBox(!1,0).height/2),a(r.y)&&(c=0===g.side&&g.horiz?r.y+c:r.y),t=t+u(r.x,[0,1,0,-1][g.side]*v)+x+b.x-(n&&o?n*m*(f?-1:1):0),e=e+c-(n&&!o?n*m*(f?1:-1):0),y&&(p=l/(d||1)%y,g.opposite&&(p=y-p-1),e+=g.labelOffset/y*p),S.x=t,S.y=Math.round(e),h(this,"afterGetLabelPosition",{pos:S,tickmarkOffset:n,index:l}),S}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,o=t.x,r=e.chart.chartWidth,a=e.chart.spacing,n=u(e.labelLeft,Math.min(e.pos,a[3])),l=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,r-a[1])),h=this.label,d=this.rotation,c={left:0,center:.5,right:1}[e.labelAlign||h.attr("align")],p=h.getBBox().width,g=e.getSlotWidth(this),m={},f=g,y=1,b,x,v;d||"justify"!==i.overflow?d<0&&o-c*p<n?v=Math.round(o/Math.cos(d*s)-n):d>0&&o+c*p>l&&(v=Math.round((r-o)/Math.cos(d*s))):(b=o-c*p,x=o+(1-c)*p,b<n?f=t.x+f*(1-c)-n:x>l&&(f=l-t.x+f*c,y=-1),(f=Math.min(g,f))<g&&"center"===e.labelAlign&&(t.x+=y*(g-f-c*(g-Math.min(p,f)))),(p>f||e.autoRotation&&(h.styles||{}).width)&&(v=f)),v&&(this.shortenLabel?this.shortenLabel():(m.width=Math.floor(v)+"px",(i.style||{}).textOverflow||(m.textOverflow="ellipsis"),h.css(m)))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):p(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,a=this.pos,n=u(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(o,a,n,e),d=l.x,c=l.y,p=s.pos,g=p+s.len,m=o?d:c;!s.chart.polar&&this.isNew&&(r(m)<p||m>g)&&(i=0);let f=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(l,i),this.renderLabel(l,e,f,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=u(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+n,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,l=t.y,h=u(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(n,l,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,l=a.labels,h=l.step,c=u(this.tickmarkOffset,o.tickmarkOffset),p=t.x,g=t.y,m=!0;n&&d(p)&&(n.xy=t=this.getLabelPosition(p,g,n,r,l,c,s,h),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):m=!1,h&&s%h&&(m=!1),m&&d(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
2,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){let{animObject:l}=t,{xAxis:h,yAxis:d}=e,{defaultOptions:c}=s,{registerEventOptions:p}=o,{deg2rad:u}=r,{arrayMax:g,arrayMin:m,clamp:f,correctFloat:y,defined:b,destroyObjectProperties:x,erase:v,error:S,extend:C,fireEvent:A,getClosestDistance:k,insertItem:M,isArray:w,isNumber:P,isString:T,merge:E,normalizeTickInterval:L,objectEach:O,pick:D,relativeLength:j,removeEvent:N,splat:I,syncTimeout:B}=n,R=(t,e)=>L(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);C(c,{xAxis:h,yAxis:E(h,d)});class z{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,A(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels,n=r.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===n||!0===r.categories,this.categories=w(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let l=D(r.crosshair,I(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),M(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=P(a.rotation)?a.rotation:void 0,p(this,r),A(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=E(e,c[this.coll],t),A(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=P(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=c.lang,n=a.numericSymbols,l=a.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,p,u;if(o)u=`${this.value}`;else if(r)u=s.dateFormat(r,i);else if(d&&n&&h>=1e3)for(;d--&&void 0===u;)h>=(p=Math.pow(l,d+1))&&10*i%p==0&&null!==n[d]&&0!==i&&(u=e(i/p,-1)+n[d]);return void 0===u&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}getSeriesExtremes(){let t;let e=this;A(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.xData)&&o.length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,P(a)||a instanceof Date||(o=o.filter(P),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(D(e.dataMin,a),a),e.dataMax=Math.max(D(e.dataMax,n),n)));else{let t=i.applyExtremes();P(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(D(e.dataMin,a),a)),P(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(D(e.dataMax,n),n)),b(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),A(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!P(n))return NaN;let l=a.minPixelPadding,h=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-l)/p+n,h&&(u=a.lin2val(u))):(h&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*l+(P(r)?p*r:0),a.isRadial||(u=y(u))),u}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,l=r&&i.oldCh
vendor: 6,009 bytes, line 2
2artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,m,y,b;function x(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=f(t,e,i):b=!0),t}let v={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return A(this,"getPlotLinePath",v,function(t){u=m=(c=f(c=D(c,e.translate(a,void 0,void 0,r)),-1e5,1e5))+d,g=y=l-c-d,P(c)?e.horiz?(g=o,y=l-e.bottom+(i.scrollablePixelsY||0),u=m=x(u,s,s+e.width)):(u=s,m=h-e.right+(i.scrollablePixelsX||0),g=y=x(g,o,o+e.height)):(b=!0,p=!1),t.path=b&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",m,y]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,o,r;let a=y(Math.floor(e/t)*t),n=y(Math.ceil(i/t)*t),l=[];if(y(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=y(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=r-o,n=[],l;if(a&&a/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&n.push.apply(n,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==n[0];l+=i)n.push(l)}return 0!==n.length&&this.trimTicks(n),n}adjustForMinRange(){let t=this.options,e=this.logarithmic,{max:i,min:s,minRange:o}=this,r,a,n,l;this.isXAxis&&void 0===o&&!e&&(o=b(t.min)||b(t.max)||b(t.floor)||b(t.ceiling)?null:Math.min(5*(k(this.series.map(t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),P(i)&&P(s)&&P(o)&&i-s<o&&(a=this.dataMax-this.dataMin>=o,r=(o-i+s)/2,n=[s-r,D(t.min,s-r)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(s=g(n))+o,D(t.max,s+o)],a&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=m(l))-s<o&&(n[0]=i-o,n[1]=D(t.min,i-o),s=g(n))),this.minRange=o,this.min=s,this.max=i}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange;t.xData?.length===1?i.push(t.xData[0]):!t.noSharedTooltip&&b(s)&&t.reserveSpace()&&(e=b(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=k([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=w(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,b(s)||(s=this.options.uniqueNames&&i?e?i.indexOf(t.name):D(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,s){let o;i?.options&&void 0!==i.name&&void 0!==(o=t.nameToX(i))&&o!==i.x&&(i.x=o,e.xData[s]=o)})}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,l=0,h,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?D(e.options.pointRange,a,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&T(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,A(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return P(t)&&P(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:h}=this,d=P(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:m,softMin:f}=l,x=P(g)&&i[this.coll]?.[g],v=l.tickPixelInterval,C=l.maxPadding,k=l.minPadding,M=0,w,T=P(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,E,L,O,j;if(r||e||x||this.getTickAmount(),O=D(this.userMin,l.min),j=D(this.userMax,l.max),x?(this.linkedParent=x,w=x.getExtremes(),this.min=D(w.min,w.dataMin),this.max=D(w.max,w.dataMax),l.type!==x.options.type&&S(11,!0,i)):(h&&b(d)&&P(s)&&P(o)&&(o>=d?(E=d,k=0):s<=d&&(L=d,C=0)),this.min=D(O,E,o),this.max=D(j,L,s)),P(this.max)&&P(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(o,this.min))&&S(10,!0,i),this.min=y(n.log2lin(this.min),16),this.max=y(n.log2lin(this.max),16)),this.range&&P(o)&&(this.userMin=this.min=O=Math.max(o,this.minFromRange()||0),this.userMax=j=this.max,this.range=void 0)),A(this,"foundExtremes"),this.adjustForMinRange(),P(this.min)&&P(this.max)){if(!P(this.userMin)&&P(f)&&f<this.min&&(this.min=O=f),!P(this.userMax)&&P(m)&&m>this.max&&(this.max=j=m),e||this.axisPointRange||this.stacking?.usePercentage||x||!(M=this.max-this.min)||(!b(O)&&k&&(this.min-=M*k),b(j)||!C||(this.max+=M*C)),!P(this.userMin)&&P(u)&&(this.min=Math.max(this.min,u)),!P(this.userMax)&&P(p)&&(this.max=Math.min(this.max,p)),h&&P(o)&&P(s)){let t=d||0;!b(O)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-c):t:!b(j)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+c):t)}!i.polar&&this.min>this.max&&(b(l.min)?this.max=this.min:b(l.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&P(this.min)&&P(this.max)?x&&!T&&v===x.options.tickPixelInterval?this.tickInterval=T=x.tickInterval:this.tickInterval=D(T,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 4,590 bytes, line 2
2this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),A(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),A(this,"initialAxisTranslation"),this.pointRange&&!T&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let N=D(l.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!T&&this.tickInterval<N&&(this.tickInterval=N),r||n||T||(this.tickInterval=R(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,a=o&&t.endOnTick,n=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.single=this.min===this.max&&b(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)n=e.slice();else if(P(this.min)&&P(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=R(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max]))&&(n=l))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&P(this.min)&&P(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),A(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(A(this,"trimTicks"),!this.isLinked){if(e&&s!==-Infinity)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&b(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t;let e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,a="yAxis"===this.coll&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||a)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);P(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!P(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),P(this.threshold)){let t=f((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;b(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:a,thresholdAlignment:n}=t,l=r?.length,h=D(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(y(r[r.length-1]+p)),m=()=>r.unshift(y(r[0]-p));if(P(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&P(s)&&P(i)){let n=()=>{t.transA*=(l-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(P(u)&&P(t.threshold)){for(;r[u]!==h||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)void 0===r[u]||r[u]>t.threshold?m():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(l<a){for(;r.length<a;)r.length%2||s===h?g():m();n()}if(b(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;
2this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,A(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),A(this,"setExtremes",o=C(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(j(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(j(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(j(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(j(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?y(t.lin2log(this.min)):this.min,max:t?y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-Infinity?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(D(t,0)-90*this.side+720)%360,i={align:"center"};return A(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=D(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return A(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=y(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),y(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(P(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(a/Math.sin(u*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*a);return this.autoRotation=p,this.labelRotation=D(d,P(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=e.margin[3];if(t&&P(t.slotWidth))return t.slotWidth;if(i&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,a=this.horiz,n=this.getSlotWidth(),l=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.textOverflow,p,u,g=0,m,f;if(T(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel(),e&&e.label&&e.label.textPxLength>g&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=l,!c))for(u="clip",f=i.length;!a&&f--;)(m=s[i[f]].label)&&("ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>n&&m.css({width:n+"px"}),m.getBBox().height>this.len/i.length-(d.h-d.f)&&(m.specificTextOverflow="ellipsis"));h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEac
2h(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<i.textPxLength||"SPAN"===i.element.tagName)?(a.width=p+"px",c||(a.textOverflow=i.specificTextOverflow||u),i.css(a)):!i.styles.width||a.width||o||i.css({width:null}),delete i.specificTextOverflow,e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&b(this.min)&&b(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(E(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new a(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=P(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o],f,y=0,x,v=0,S=0,C,k;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,D(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){S=Math.max(r[t].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):O(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],v=b(x=d.offset)?0:D(d.margin,i?5:10))),t.renderLine(),t.offset=m*D(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},k=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,C=Math.abs(S)+v,S&&(C-=k,C+=m*(i?D(c.y,t.tickRotCorr.y+m*c.distance):D(c.x,m*c.distance))),t.axisTitleMargin=D(x,C),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+y+m*t.offset,C,a&&a.length&&e?e[0]+m*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}A(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?u+h:g+(n?this.width:0)+l+h,y:e?g+d-(n?this.height:0)+l:u+d};return A(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new a(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
vendor: 1,170 bytes, line 2
2renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new a(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,n=s.renderer,h=i.options,d=i.isLinked,c=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,m=i.alternateBands,f=h.stackLabels,y=h.alternateGridColor,b=h.crossing,x=i.tickmarkOffset,v=i.axisLine,S=i.showAxis,C=l(n.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,m].forEach(function(t){O(t,function(t){t.isActive=!1})}),P(b)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(b,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||d){let n=i.chart.hasRendered&&i.old&&P(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,n)}),c.length&&(c.forEach(function(t,e){i.renderTick(t,e,n)}),x&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new a(i,-1,null,!0)),u[-1].render(-1))),y&&c.forEach(function(a,n){e=void 0!==c[n+1]?c[n+1]+x:i.max-x,n%2==0&&a<i.max&&e<=i.max+(s.polar?-x:x)&&(m[a]||(m[a]=new r.PlotLineOrBand(i,{}
2)),t=a+x,m[a].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:y,className:"highcharts-alternate-grid"},m[a].render(),m[a].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[u,g,m].forEach(function(t){let e=[],i=C.duration;O(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),B(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==m&&s.hasRendered&&i?i:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[S?"show":"hide"](S)),p&&S&&(p[p.isNew?"attr":"animate"](i.getTitlePosition(p)),p.isNew=!1),f&&f.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,A(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||z.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(A(this,"destroy",{keepEvents:t}),t||N(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){x(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();O(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let s=this.crosshair,o=D(s&&s.snap,!0),r=this.chart,a,n,l,h=this.cross,d;if(A(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),s&&!1!==(b(e)||!o)){if(o?b(e)&&(n=D("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):n=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),b(n)&&(d={value:e&&(this.isXAxis?e.x:D(e.stackY,e.y)),translatedValue:n},r.polar&&C(d,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),a=this.getPlotLinePath(d)||null),!b(a)){this.hideCrosshair();return}l=this.categories&&!this.isRadial,h||(this.cross=h=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+(s.className||"")).attr({zIndex:D(s.zIndex,2)}).add(),!r.styledMode&&(h.attr({stroke:s.color||(l?i.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":D(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&h.attr({dashstyle:s.dashStyle}))),h.show().attr({d:a}),l&&!s.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();A(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),A(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=E(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,D(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);v(e.axes,this),v(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,D(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return z.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],z}),i(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,getMagnitude:s,normalizeTickInterval:o,timeUnits:r}=t;return function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function a(){if("datetime"!==this.options.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new n(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,i(t,"afterSetOptions",a)),t};class n{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],a=i[i.length-1],n=r[a[0]],l=a[1],h;for(h=0;
2h<i.length&&(n=r[(a=i[h])[0]],l=a[1],!i[h+1]||!(t<=(n*l[l.length-1]+r[i[h+1][0]])/2));h++);n===r.year&&t<5*n&&(l=[1,2,5]);let d=o(t/n,l,"year"===a[0]?Math.max(s(t/n),1):1);return{unitRange:n,count:d,unitName:a[0]}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=n}(e||(e={})),e}),i(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,normalizeTickInterval:s,pick:o}=t;return function(t){function e(t){let e=t.userOptions,i=this.logarithmic;"logarithmic"!==e.type?this.logarithmic=void 0:i||(i=this.logarithmic=new a(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),i(t,"init",e),i(t,"afterInit",r)),t};class a{constructor(t){this.axis=t}getLogTickPositions(t,e,i,r){let a=this.axis,n=a.len,l=a.options,h=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),h=a.getLinearTickPositions(t,e,i);else if(t>=.08){let s,o,a,n,l,d,c;let p=Math.floor(e);for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],o=p;o<i+1&&!c;o++)for(a=0,n=s.length;a<n&&!c;a++)(l=this.log2lin(this.lin2log(o)*s[a]))>e&&(!r||d<=i)&&void 0!==d&&h.push(d),d>i&&(c=!0),d=l}else{let d=this.lin2log(e),c=this.lin2log(i),p=r?a.getMinorTickInterval():l.tickInterval,u=l.tickPixelInterval/(r?5:1),g=r?n/a.tickPositions.length:n;t=s(t=o("auto"===p?null:p,this.minorAutoInterval,(c-d)*u/(g||1))),h=a.getLinearTickPositions(t,d,c).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(a.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=a}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{erase:i,extend:s,isNumber:o}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function a(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function n(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],a=this.horiz,n=!o(this.min)||!o(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,l=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,d=1,c;if(l&&s)for(n&&(c=l.toString()===s.toString(),d=0),h=0;h<l.length;h+=2){let t=l[h],e=l[h+1],i=s[h],o=s[h+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===o[0]||"L"===o[0])&&(a&&i[1]===t[1]?(i[1]+=d,o[1]+=d):a||i[2]!==t[2]||(i[2]+=d,o[2]+=d),r.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",o[1],o[2]],["L",i[1],i[2]],["Z"])),r.isFlat=c}return r}function h(t){this.removePlotBandOrLine(t)}function d(t){let e=this.plotLinesAndBands,s=this.options,o=this.userOptions;if(e){let r=e.length;for(;r--;)e[r].id===t&&e[r].destroy();[s.plotLines||[],o.plotLines||[],s.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&i(e,e[r])})}}function c(t){this.removePlotBandOrLine(t)}t.compose=function(t,i){let o=i.prototype;return o.addPlotBand||(e=t,s(o,{addPlotBand:r,addPlotLine:n,addPlotBandOrLine:a,getPlotBandPath:l,removePlotBand:h,removePlotLine:c,removePlotBandOrLine:d})),i}}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(t,e){let{arrayMax:i,arrayMin:s,defined:o,destroyObjectProperties:r,erase:a,fireEvent:n,merge:l,objectEach:h,pick:d}=e;class c{static compose(e){return t.compose(c,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){n(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:a,zIndex:c=0}=e,p={},u=t.chart.renderer,g=e.to,m=e.from,f=e.value,y=e.borderWidth,b=e.label,{label:x,svgElem:v}=this,S=[],C,A=o(m)&&o(g),k=o(f),M=!v,w={class:"highcharts-plot-"+(A?"band ":"line ")+(e.className||"")},P=A?"bands":"lines";if(!t.chart.styledMode&&(k?(w.stroke=r||"#999999",w["stroke-width"]=d(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):A&&(w.fill=r||"#e6e9ff",y&&
2(w.stroke=e.borderColor,w["stroke-width"]=y))),p.zIndex=c,P+="-"+c,(C=t.plotLinesAndBandsGroups[P])||(t.plotLinesAndBandsGroups[P]=C=u.g("plot-"+P).attr(p).add()),v||(this.svgElem=v=u.path().attr(w).add(C)),o(f))S=t.getPlotLinePath({value:s?.log2lin(f)??f,lineWidth:v.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(o(m)&&o(g)))return;S=t.getPlotBandPath(s?.log2lin(m)??m,s?.log2lin(g)??g,e)}return!this.eventsAdded&&a&&(h(a,(t,e)=>{v?.on(e,t=>{a[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!v.d)&&S?.length?v.attr({d:S}):v&&(S?(v.show(),v.animate({d:S})):v.d&&(v.hide(),x&&(this.label=x=x.destroy()))),b&&(o(b.text)||o(b.formatter))&&S?.length&&t.width>0&&t.height>0&&!S.isFlat?(b=l({align:i&&A?"center":void 0,x:i?!A&&4:10,verticalAlign:!i&&A?"middle":void 0,y:i?A?16:10:A?6:-4,rotation:i&&!A?90:0},b),this.renderLabel(b,S,A,c)):x&&x.hide(),this}renderLabel(t,e,o,r){let a=this.axis,n=a.chart.renderer,h=this.label;h||(this.label=h=n.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(o?"band":"line")+"-label "+(t.className||""),zIndex:r}),a.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let d=e.xBounds||[e[0][1],e[1][1],o?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],o?e[2][2]:e[0][2]],p=s(d),u=s(c);if(h.align(t,!1,{x:p,y:u,width:i(d)-p,height:i(c)-u}),!h.alignValue||"left"===h.alignValue){let e=t.clip?a.width:a.chart.chartWidth;h.css({width:(90===h.rotation?a.height-(h.alignAttr.y-a.top):e-(h.alignAttr.x-a.left))+"px"})}h.show(!0)}getLabelText(t){return o(t.formatter)?t.formatter.call(this):t.text}destroy(){a(this.axis.plotLinesAndBands,this),delete this.axis,r(this)}}return c}),i(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n}=t,{format:l}=e,{composed:h,doc:d,isSafari:c}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:m,discardElement:f,extend:y,fireEvent:b,isArray:x,isNumber:v,isString:S,merge:C,pick:A,pushUnique:k,splat:M,syncTimeout:w}=r;class P{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||M(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),f(this.container)),r.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=M(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+A(t.colorIndex,o.colorIndex),r&&r.className].filter(S).join(" ")}getLabel(){let t=this,e=this.chart.styledMode,s=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,e=o.getRendererType();this.container=a=i.doc.createElement("div"),a.className="highcharts-tooltip-container",m(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||
vendor: 2,195 bytes, line 2
20,(t&&t.zIndex||0)+3)}),this.renderer=n=new e(a,0,0,t,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),e||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth||0}).css(s.style).css({pointerEvents:s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label;[e.xSetter,e.ySetter].forEach((i,s)=>{e[s?"ySetter":"xSetter"]=o=>{i.call(e,t.distance),e[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&i.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=d,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:m,width:f}=this.getPlayingField(),y=a.getChartPosition(),b=t=>t*y.scaleX,x=t=>t*y.scaleY,v=i=>{let a="x"===i;return[i,a?f:m,a?t:e].concat(r?[a?b(t):x(e),a?y.left-s+b(c+l):y.top-s+x(p+h),0,a?f:m]:[a?t:e,a?c+l:p+h,a?l:h,a?l+o.plotWidth:h+o.plotHeight])},S=v("y"),C=v("x"),k,M=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(M=!M);let w=!this.followPointer&&A(i.ttBelow,!d&&!n===M),P=function(t,e,i,o,a,n,l){let h=r?"y"===t?x(s):b(s):s,d=(i-o)/2,c=o<a-s,p=a+s+o<e,m=a-h-i+d,f=a+h-d;if(w&&p)u[t]=f;else if(!w&&c)u[t]=m;else if(c)u[t]=Math.min(l-o,m-g<0?m:m-g);else{if(!p)return!1;u[t]=Math.max(n,f+g+i>e?f:f+g)}},T=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},E=function(t){[S,C]=[C,S],k=t},L=()=>{!1!==P.apply(0,S)?!1!==T.apply(0,C)||k||(E(!0),L()):k?u.x=u.y=0:(E(!0),L())};return(n&&!d||this.len>1)&&E(),L(),u}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=A(t,this.options.hideDelay),this.isHidden||(this.hideTimer=w(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
2,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=A(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=n(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,l={x:t,y:e};a||(l.anchorX=i,l.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(l,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:a}=this,n=M(t),h=n[0],d=[],c=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,g={};if(!s.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!x(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let m=this.getAnchor(t,e),f=m[0],y=m[1];a&&this.allowShared?(o.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),d.push(t.getLabelConfig())}),(g=h.getLabelConfig()).points=d):g=h.getLabelConfig(),this.len=d.length;let v=S(c)?l(c,g,i):p.call(g,this),C=h.series;if(this.distance=A(C.tooltipOptions.distance,16),!1===v)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(v,n);else{let t=f,r=y;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===C.options.clip||n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel();(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:v&&v.join?v.join(""):v}),t.addClass(this.getClassName(h),!0),u||t.attr({stroke:s.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:f,plotY:y,negative:h.negative,ttBelow:h.ttBelow,h:m[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:u,styledMode:m},distance:f,options:b,options:{positioner:x},pointer:v}=i,{scrollLeft:C=0,scrollTop:k=0}=s.scrollablePlotArea?.scrollingContainer||{},M=i.outside&&"number"!=typeof u?d.documentElement.getBoundingClientRect():{left:C,right:C+o,top:k,bottom:k+r},w=i.getLabel(),P=this.renderer||s.renderer,T=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:E,top:L}=v.getChartPosition(),O=l+k,D=0,j=a-h;function N(t,e,s,o,r=!0){let a,n;return s?(a=T?0:j,n=g(t-o/2,M.left,M.right-o-(i.outside?E:0))):(a=e-O,n=g(n=r?t-o-f:t+f,r?n:M.left,M.right)),{x:n,y:a}}S(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=r.isHeader,d=h?i:r.series,c=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:b.padding,r:b.borderRadius};m||(t.fill=b.backgroundColor,t["stroke-width"]=b.borderWidth??1),o=P.label("",0,0,b[r?"headerShape":"shape"],void 0,void 0,b.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(w)}return o.isActive=!0,o.attr({text:s}),m||o.css(b.style).attr({stroke:b.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),p=c.getBBox(),u=p.width+c.strokeWidth();h&&(D=p.height,j+=D,T&&(O-=D));let{anchorX:y,anchorY:v}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(n+o,n),i=l+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+g(o,-f,t.len+f),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=g(e,M.left-f,M.right+f),anchorY:i}}(r);if("number"==typeof v){let e=p.height+1,s=x?x.call(i,u,e,r):N(y,v,h,u);t.push({align:x?0:void 0,anchorX:y,anchorY:v,boxWidth:u,point:r,rank:A(s.rank,h?1:0),size:e,target:s.y,tt:c,x:s.x})}else c.isActive=!1}return t},[]);!x&&I.some(t=>{let{outside:e}=i,s=(e?E:0)+t.anchorX;return s<M.left&&s+t.boxWidth<M.right||s<E-M.left+t.boxWidth&&M.right-s>s})&&(I=I.map(t=>{let{x:e,y:i}=N(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return y(t,{target:i,x:e})})),i.cleanSplit(),p(I,j);let B={left:E,right:E};I.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&E+e<B.left&&(B.left=E+e),!o&&i.outside&&B.left+s>B.right&&(B.right=E+e))}),I.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+O,anchorX:s,anchorY:o};if(i.outside&&e<s){let t=E-B.left;t>0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(B.right-B.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:R,outside:z,renderer:F}=i;if(z&&R&&F){let{width:t,height:e,x:i,y:s}=w.getBBox();F.setSize(t+i,e+s,!1),R.style.left=B.left+"px",R.style.top=L+"px"}c&&w.attr({opacity:1===w.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[
21]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,labelConfig:t},n=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return b(this,"headerFormatter",a,function(e){r&&!n&&v(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){h=h.replace("{point."+t+"}","{point."+t+":"+n+"}")}),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=l(h,{point:t,series:i},this.chart)}),a.text}update(t){this.destroy(),this.init(this.chart,C(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,n,t),g=(t.plotX||0)+e.plotLeft,f=(t.plotY||0)+e.plotTop,y;a&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),y=(o.borderWidth||0)+2*s+2,a.setSize(l+y,n+y,!1),(1!==c||1!==p)&&(m(i,{transform:`scale(${c}, ${p})`}),g*=c,f*=p),g+=h-u.x,f+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),g,f)}}return(a=P||(P={})).compose=function(t){k(h,"Core.Tooltip")&&u(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new a(t,t.options.tooltip,this))})},P}),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{animObject:r}=e,{defaultOptions:a}=i,{format:n}=s,{addEvent:l,crisp:h,erase:d,extend:c,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:m,isNumber:f,isObject:y,merge:b,pick:x,syncTimeout:v,removeEvent:S,uniqueKey:C}=o;class A{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return c(this,t=A.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=A.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?void 0===e?this.x=i.autoIncrement():this.x=e:f(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,a=r(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(S(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),d(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),v(n,a.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),p(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=C()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(f(this.x)||this.x instanceof Date)&&f(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(f(t)||null===t)r[s[0]]=t;else if(g(t))for(!i&&t.length>
2o&&("string"==(a=typeof t[0])?r.name=t[0]:"number"===a&&(r.x=t[0]),n++);l<o;)i&&void 0===t[n]||(s[l].indexOf(".")>0?A.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,l=0;if(f(i)&&f(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=x(this.options.colorIndex,a),this.color=x(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:y(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=x(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEac
2h(function(e){e="{point."+e,(o||r)&&(t=t.replace(RegExp(e+"}","g"),o+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")}),n(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,l=a.chart,h=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),y(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,a.updateParallelArrays(r,o),h.data[o]=y(h.data[o],!0)||y(t,!0)?r.options:x(t,h.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=x(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=x(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
2h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=b(this.series.options.point,this.options),i=e.events?.[t];m(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(l(this,t,i),this.hasImportedEvents=!0):this.hasImportedEvents&&!i&&this.hcEvents?.[t]&&(S(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1))}setState(e,i){let s=this.series,o=this.state,r=s.options.states[e||"normal"]||{},n=a.plotOptions[s.type].marker&&s.options.marker,l=n&&!1===n.enabled,h=n&&n.states&&n.states[e||"normal"]||{},d=!1===h.enabled,u=this.marker||{},g=s.chart,m=n&&s.markerAttribs,y=s.halo,b,v,S,C=s.stateMarkerGraphic,A;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===r.enabled||e&&(d||l&&!1===h.enabled)||e&&u.states&&u.states[e]&&!1===u.states[e].enabled)return;if(this.state=e,m&&(b=s.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),e&&this.graphic.addClass("highcharts-point-"+e),!g.styledMode){v=s.pointAttribs(this,e),S=x(g.options.chart.animation,r.animation);let t=v.opacity;s.options.inactiveOtherPoints&&f(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},S),e.connector&&e.connector.animate({opacity:t},S))}),this.graphic.animate(v,S)}b&&this.graphic.animate(b,x(g.options.chart.animation,h.animation,n.animation)),C&&C.hide()}else e&&h&&(A=u.symbol||s.symbol,C&&C.currentSymbol!==A&&(C=C.destroy()),b&&(C?C[i?"animate":"attr"]({x:b.x,y:b.y}):A&&(s.stateMarkerGraphic=C=g.renderer.symbol(A,b.x,b.y,b.width,b.height).add(s.markerGroup),C.currentSymbol=A)),!g.styledMode&&C&&"inactive"!==this.state&&C.attr(s.pointAttribs(this,e))),C&&(C[e&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0));let k=r.halo,M=this.graphic||C,w=M&&M.visibility||"inherit";k&&k.size&&M&&"hidden"!==w&&!this.isCluster?(y||(s.halo=y=g.renderer.path().add(M.parentGroup)),y.show()[i?"animate":"attr"]({d:this.haloPath(k.size)}),y.attr({class:"highcharts-halo highcharts-color-"+x(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:w,zIndex:-1}),y.point=this,g.styledMode||y.attr(c({fill:this.color||s.color,"fill-opacity":k.opacity},t.filterUserAttributes(k.attributes||{})))):y?.point?.haloPath&&!y.point.destroyed&&y.animate({d:y.point.haloPath(0)},null,y.hide),p(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(h(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return A}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{parse:o}=t,{charts:r,composed:a,isTouchDevice:n}=e,{addEvent:l,attr:h,css:d,extend:c,find:p,fireEvent:u,isNumber:g,isObject:m,objectEach:f,offset:y,pick:b,pushUnique:x,splat:v}=i;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!e.chartCount&&(S.unbindDocumentMouseUp&&(S.unbindDocumentMouseUp=S.unbindDocumentMouseUp()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),f(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}
vendor: 4,214 bytes, line 2
2=this,{mouseDownX:n=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=a?1:o.plotHeight,r&&(s=t-n,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+n),a&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:r,panKey:a,selectionMarkerFill:n}=e.options.chart,l=e.plotLeft,h=e.plotTop,d=e.plotWidth,c=e.plotHeight,p=m(r)?r.enabled:r,u=a&&t[`${a}Key`],g=t.chartX,f=t.chartY,y,b=this.selectionMarker;if((!b||!b.touch)&&(g<l?g=l:g>l+d&&(g=l+d),f<h?f=h:f>h+c&&(f=h+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-f,2)),this.hasDragged>10)){y=e.isInsidePlot(i-l,s-h,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(g,f);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&y&&!u&&!b&&(this.selectionMarker=b=e.renderer[a](),b.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||b.attr({fill:n||o("#334eff").setOpacity(.25).get()})),b&&b.attr(d),y&&!b&&p&&e.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}g(i.index)&&(this.selectionMarker=s.destroy())}i&&g(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o,r;let a,n,l,h=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),d=t.searchPoint(i,h);m(d,!0)&&d.series&&(!m(s,!0)||(o=s,r=d,a=o.distX-r.distX,n=o.dist-r.dist,l=r.series.group?.zIndex-o.series.group?.zIndex,(0!==a&&e?a:0!==n?n:0!==l?l:o.series.index>r.series.index?-1:1)>0))&&(s=d)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&g(o.x)&&g(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=y(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&b(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};u(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=p(t.points,function(t){return t.x===c.x&&!t.isNull});m(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),u(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=h(i,"class")){if(-1!==s.indexOf(e))return!0;
vendor: 4,445 bytes, line 2
2if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):b(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[b(S.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[b(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===a&&b(l?.options.followTouchMove,!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0):h?this.runPointActions(e.normalize(t)):o&&(u(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&v(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&v(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!a&&a.shared,h=e||s.hoverPoint,d=h&&h.series||s.hoverSeries,c=(!t||"touchmove"!==t.type)&&(!!e||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(h,d,o,c,n,t);h=u.hoverPoint,d=u.hoverSeries;let g=u.hoverPoints,m=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,f=n&&d&&!d.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEac
2h(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=g,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,()=>{a&&h&&a.refresh(f?g:h,t)})}else if(m&&a&&!a.isHidden){let e=a.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(s.container.ownerDocument,"mousemove",t=>r[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=b((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(l(t,"mouseenter",this.onContainerMouseEnter.bind(this)),l(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=l(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(l(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(l(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),l(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=l(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),l(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!n)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=b(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(l(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),l(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||d(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||d(i,{"touch-action":b(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let i=this.chart,s=e.charts[b(S.hoverChartIndex,-1)];s&&s!==i&&s.pointer?.onContainerMouseLeave(t||{relatedTarget:i.container}),s&&s.mouseIsDown||(S.hoverChartIndex=i.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),b(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=b(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(s=S||(S={})).compose=function(t){x(a,"Core.Pointer")&&l(t,"beforeRender",function(){this.pointer=new s(this,this.options)})},S}),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n,setAnimation:l}=t,{format:h}=e,{composed:d,marginNames:c}=i,{distribute:p}=o,{addEvent:u,createElement:g,css:m,defined:f,discardElement:y,find:b,fireEvent:x,isNumber:v,merge:S,pick:C,pushUnique:A,relativeLength:k,stableSort:M,syncTimeout:w}=r;class P{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWi
vendor: 4,100 bytes, line 2
2dth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),u(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),u(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=C(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=C(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,C(e,!0)&&i.redraw(),x(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:o,line:r,symbol:a}=t.legendItem||{};if(s?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,n=s.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=n),t.stroke&&(t.stroke=n)),t);o?.css(S(e?this.itemStyle:s)),r?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}x(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[f(e.translateY)?"animate":"attr"](o,void 0,()=>{x(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&y(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,m(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?h(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,a=this.symbolWidth,n=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?C(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,m=!!this.createCheckboxForItem&&g&&g.showCheckbox,f=o.useHTML,y=t.options.className,b=e.label,x=a+n+d+(m?20:0);!b&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",c?a+n:-n,this.baseline||0,f),i.styledMode||b.css(S(t.visible?l:h)),b.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=C(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,929 bytes, line 2
2dth=C(o.symbolWidth,Math.max(this.symbolHeight,16)),x=this.symbolWidth+n+d+(m?20:0),c&&b.attr("x",this.symbolWidth+n))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,f)),m&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&b.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-x+"px"}),this.setText(t);let v=b.getBBox(),A=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+x,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*A?v.height:A))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?C(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&C(i.showInLegend,!f(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),x(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 9,942 bytes, line 2
2h(function(r,a){r.test(o)&&!f(t[a])&&(i[c[a]]=Math.max(i[c[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+C(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,l;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=b(a?t.points:t.points.slice(0).reverse(),function(t){return v(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),p(i,e.plotHeight)))t=o.item.legendItem||{},v(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=k(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),M(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),x(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,l=o.maxHeight,h=o.navigation,d=C(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?S.attr({height:t}):S&&(e.clipRect=S.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},f,y,b,x=i.spacingBox.height+(a?-r:r)-n,v=this.nav,S=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(x/=2),l&&(x=Math.min(x,l)),p.length=0,t&&x>0&&t>x&&!1!==h.enabled?(this.clipHeight=f=Math.max(x-20-this.titleHeight-n,0),this.currentPage=C(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(b=t.legendItem||{}).y||0,s=Math.round(b.label.getBBox().height),o=p.length;(!o||i-p[o-1]>f&&(y||i)!==p[o-1])&&(p.push(y||i),o++),b.pageIx=o-1,y&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),b.pageIx=o),i!==y&&(y=i)}),S||(S=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(S)),g(f),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),m("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),m("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=x):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,h=this.pager,d=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(void 0!==e&&l(e,i),this.nav.attr({translateX:d,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),h.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===c?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),w(()=>{x(this,"afterScroll",{currentPage:c})},n(C(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let o=this,r=t.legendItem||{},a=o.chart.renderer.boxWrapper,n=t instanceof s,l="highcharts-legend-"+(n?"point":"series")+"-active",h=o.chart.styledMode,d=i?[e,r.symbol]:[r.group],c=e=>{o.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&a.addClass(l),h||e.css(o.options.itemHoverStyle)}).on("mouseout",function(){o.chart.styledMode||e.css(S(t.visible?o.itemStyle:o.itemHiddenStyle)),c(""),a.removeClass(l),t.setState()}).on("click",function(e){let i="legendItemClick",s=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};a.removeClass(l),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,s):x(t,i,e,s)})}createCheckboxForItem(t){t.checkbox=g("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),u(t.checkbox,"click",function(e){let i=e.target;x(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}return(a=P||(P={})).compose=function(t){A(d,"Core.Legend")&&u(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},P}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:o}=t;return function(t){function e(t,e,r){let a=this.legendItem=this.legendItem||{},{chart:n,options:l}=this,{baseline:h=0,symbolWidth:d,symbolHeight:c}=t,p=this.symbol||"circle",u=c/2,g=n.renderer,m=a.group,f=h-Math.round(c*(r?.4:.3)),y={},b,x=l.marker,v=0;if(n.styledMode||(y["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?y.dashstyle=l.dashStyle:"square"===l.linecap||(y["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(y).add(m),r&&(a.area=g.path().addClass("highcharts-area").add(m)),y["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,f],["L",d-v,f]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,h],["L",v,h]]})}if(x&&!1!==x.enabled&&d){let t=Math.min(o(x.radius,u),u);0===p.indexOf("url")&&(x=s(x,{width:c,height:c}),t=0),a.symbol=b=g.symbol(p,d/2-t,f-t,2*t,2*t,i({context:"legend"},x)).addClass("highcharts-point").add(m),b.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,a=s.squareSymbol,n=a?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-r)/2:0,t.baseline-r+1,n,r,o(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e}),i(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{defaultOptions:r}=e,{extend:a,extendClass:n,merge:l}=s;return function(e){function s(t,s){let o=r.plotOptions||{},a=s.defaultOptions,n=s.prototype;return n.type=t,n.pointClass||(n.pointClass=i),!e.seriesTypes[t]&&(a&&(o[t]=a),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,o,h,d,c){let p=r.plotOptions||{};if(o=o||"",p[t]=l(p[o],h),delete e.seriesTypes[t],s(t,n(e.seriesTypes[o]||function(){},d)),e.seriesTypes[t].prototype.type=t,c){class s extends i{}a(s.prototype,c),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(o||(o={})),o}
2),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{animObject:d,setAnimation:c}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:m}=s,{seriesTypes:f}=n,{arrayMax:y,arrayMin:b,clamp:x,correctFloat:v,crisp:S,defined:C,destroyObjectProperties:A,diffObjects:k,erase:M,error:w,extend:P,find:T,fireEvent:E,getClosestDistance:L,getNestedProperty:O,insertItem:D,isArray:j,isNumber:N,isString:I,merge:B,objectEach:R,pick:z,removeEvent:F,splat:G,syncTimeout:W}=h;class H{constructor(){this.zoneAxis="y"}init(t,e){let i;E(this,"init",{options:e});let s=this,o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,a=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),P(s,{name:r.name,state:"",visible:a,selected:!0===r.selected}),u(this,r);let n=r.events;(n&&n.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=z(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",D(this,o)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),E(this,"afterInit")}is(t){return f[t]&&this instanceof f[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;E(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
2(z(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(D(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||w(18,!0,s)})}),E(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,o=N(e)?function(i){let o="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=o}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(o)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,o=this.chart.time,r=this.xIncrement,a,n;return(r=z(r,e.pointStart,0),this.pointInterval=n=z(this.pointInterval,e.pointInterval,1),s&&N(t)&&(n*=t),i&&(a=new o.Date(r),"day"===i?o.set("Date",a,o.get("Date",a)+n):"month"===i?o.set("Month",a,o.get("Month",a)+n):"year"===i&&o.set("FullYear",a,o.get("FullYear",a)+n),n=a.getTime()-r),s&&N(t))?r+n:(this.xIncrement=r+n,r)}setDataSortingOptions(){let t=this.options;P(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=B(t),a=i.styledMode,n={plotOptions:s,userOptions:r};E(this,"setOptions",n);let l=n.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=n.userOptions;let g=B(l,s.series,u,r);this.tooltipOptions=B(p.tooltip,p.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=z(r.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===l.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let m=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),m.push(e)),m.length&&C(m[m.length-1].value)&&m.push(a?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:g}),g}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(C(o=z("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,o;let a=t.id,n=t.x,l=this.points,h=this.options.dataSorting;if(a){let t=this.chart.get(a);t instanceof r&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=T(l,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&N(n)&&(o=this.xData.indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&N(o)&&l[o]&&l[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h;let d=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||N(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,a&&(c=h+1)):o[h]&&(o[h].touched=!0),(!n||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!p&&(r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let o=this,r=o.points,a=r&&r.length||0,n=o.options,l=o.chart,h=n.dataSorting,d=o.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,m=g&&g.length,f=n.keys,y,b,x,v=0,S=1,C=null,A;l.options.chart.allowMutatingData||(n.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,A=B(!0,t));let k=(t=A||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),l.options.chart.allowMutatingData&&!1!==s&&k&&a&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted&&(x=this.updateData(t,i)),!x){if(o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0}),c&&k>c){if(N(C=o.getFirstValidPoint(t)))for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y];else if(j(C)){if(m){if(C.length===m)for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y];else for(y=0;y<k;y++)b=t[y],p[y]=b[0],u[y]=b.slice(1,m+1)}else if(f&&(v=f.indexOf("x"),S=f.indexOf("y"),v=v>=0?v:0,S=S>=0?S:1),1===C.length&&(S=0),v===S)for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y][S];else for(y=0;y<k;y++)b=t[y],p[y]=b[v],u[y]=b[S]}else w(12,!1,l)}else for(y=0;y<k;y++)b={series:o},o.pointClass.prototype.applyOptions.apply(b,[t[y]]),o.updateParallelArrays(b,y);for(u&&I(u[0])&&w(14,!0,l),o.data=[],o.options.data=o.userOptions.data=t,y=a;y--;)r[y]?.destroy();d&&(d.minRange=d.userMinRange),o.isDirty=l.isDirtyBox=!0,o.isDirtyData=!!r,i=!1}
2"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=O(i,t),o=O(i,e);return o<s?-1:o>s?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options.cropThreshold,o=i?.logarithmic,r=e.isCartesian,a,n,l=0,h,d,c,p=e.xData,u=e.yData,g=!1,m=p.length;i&&(d=(h=i.getExtremes()).min,c=h.max,g=!!(i.categories&&!i.names.length)),r&&e.sorted&&!t&&(!s||m>s||e.forceCrop)&&(p[m-1]<d||p[0]>c?(p=[],u=[]):e.yData&&(p[0]<d||p[m-1]>c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,l=a.start,n=!0));let f=L([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&w(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:l,closestPointRange:f}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,E(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,a,n=0,l=o;for(r=0;r<o;r++)if(t[r]>=i){n=Math.max(0,r-1);break}for(a=r;a<o;a++)if(t[a]>s){l=a+1;break}return{xData:t.slice(n,l),yData:e.slice(n,l),start:n,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,a=this.cropStart||0,n=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(l&&n&&(this.options.keys=!1),g=0;g<r;g++)p=a+g,n?((u=new o(this,[i[g]].concat(G(s[g])))).dataGroup=this.groupMap[d+g],u.dataGroup.options&&(u.options=u.dataGroup.options,P(u,u.dataGroup.options),delete u.dataLabels)):(u=m[p])||void 0===e[p]||(m[p]=u=new o(this,e[p],i[g])),u&&(u.index=n?d+g:p,h[g]=u);if(this.options.keys=l,m&&(r!==(c=m.length)||n))for(g=0;g<c;g++)g!==a||n||(g+=r),m[g]&&(m[g].destroyElements(),m[g].plotX=void 0);this.data=m,this.points=h,E(this,"afterGeneratePoints")}getXExtremes(t){return{min:b(t),max:y(t)}}getExtremes(t,e){let i=this.xAxis,s=this.yAxis,o=[],r=this.requireSorting&&!this.is("column")?1:0,a=!!s&&s.positiveValuesOnly,n=e||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:l,processedYData:h}=this,d,c,p,u,g,m,f,x=0,v=0,S=0;if(this.cropped&&n){let t=this.getProcessedData(!0);l=t.xData,h=t.yData}let C=(t=t||this.stackedYData||h||[]).length,A=l||this.xData;for(i&&(x=(d=i.getExtremes()).min,v=d.max),m=0;m<C;m++)if(u=A[m],c=(N(g=t[m])||j(g))&&((N(g)?g>0:g.length)||!a),p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(A[m+r]||u)>=x&&(A[m-r]||u)<=v,c&&p){if(f=g.length)for(;f--;)N(g[f])&&(o[S++]=g[f]);else o[S++]=g}let k={activeYData:o,dataMin:b(o),dataMax:y(o)};return E(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,s=null;for(;null===s&&i<e;)s=t[i],i++;return s}translate(){this.processedXData||this.processData(),this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=i.categories,o=this.enabledDataSorting,r=this.yAxis,a=this.points,n=a.length,l=this.pointPlacementToXValue(),h=!!l,d=t.threshold,c=t.startFromThreshold?d:0,p,u,g,m,f=Number.MAX_VALUE;function y(t){return x(t,-1e5,1e5)}for(p=0;p<n;p++){let t;let n=a[p],b=n.x,x,S,A=n.y,k=n.low,M=e&&r.stacking?.stacks[(this.negStacks&&A<(c?0:d)?"-":"")+this.stackKey];u=i.translate(b,!1,!1,!1,!0,l),n.plotX=N(u)?v(y(u)):void 0,e&&this.visible&&M&&M[b]&&(m=this.getStackIndicator(m,b,this.index),!n.isNull&&m.key&&(S=(x=M[b]).points[m.key]),x&&j(S)&&(k=S[0],A=S[1],k===c&&m.key===M[b].base&&(k=z(N(d)?d:r.min)),r.positiveValuesOnly&&C(k)&&k<=0&&(k=void 0),n.total=n.stackTotal=z(x.total),n.percentage=C(n.y)&&x.total?n.y/x.total*100:void 0,n.stackY=A,this.irregularWidths||x.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=C(k)?y(r.translate(k,!1,!0,!1,!0)):void 0,this.dataModify&&(A=this.dataModify.modifyValue(A,p)),N(A)&&void 0!==n.plotX&&(t=N(t=r.translate(A,!1,!0,!1,!0))?y(t):void 0),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=h?v(i.translate(b,!1,!1,!1,!0,l)):u,n.negative=(n.y||0)<(d||0),n.category=z(s&&s[n.x],n.x),n.isNull||!1===n.visible||(void 0!==g&&(f=Math.min(f,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&o&&(n.isNew=!0)}this.closestPointRangePx=f,E(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return!!((i||!t.isNull&&N(r))&&(!e||s.isInsidePlot(o,r,{inverted:s.inverted})))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:o,width:r,height:a}=B(t.clipBox);return e&&e.len!==t.plotSizeX&&(r=e.len),i&&i.len!==t.plotSizeY&&(a=i.len),t.inverted&&!this.invertible&&([r,a
2]=[a,r]),{x:s,y:o,width:r,height:a}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=this.getClipBox(),a=this.getSharedClipKey(),n=s[a];n?n.animate(r):s[a]=n=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=d(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],l=e.sharedClips[a+"m"];if(t&&i){let t=this.getClipBox();if(n)n.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),n=e.renderer.clipRect(t),e.sharedClips[a]=n;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[a+"m"]=l}i.clip(n),s?.clip(l)}else if(n&&!n.hasClass("highcharts-animating")){let t=this.getClipBox(),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),R(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=z(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker,(m&&void 0===r.enabled||r.enabled)&&!i.isNull&&!1!==i.visible){let t=z(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(n.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,l,h=z(o.radius,s&&s.radius);e&&(n=s.states[e],h=z((l=o.states&&o.states[e])&&l.radius,n&&n.radius,h&&h+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return N(h)&&d&&(i.crisp&&(d[0]=S(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-h,a.y=d[1]-h),h&&(a.width=a.height=2*h),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=z(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=z((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+z(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=z(h.opacity,l.opacity,g)}}destroy(t){let e,i,s;
vendor: 5,834 bytes, line 2
2let o=this,r=o.chart,a=/AppleWebKit\/533/.test(m.navigator.userAgent),n=o.data||[];for(E(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(M(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)A(t,void 0,!0);h.clearTimeout(o.animationTimeout),R(o,function(t,e){t instanceof l&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),M(r.series,o),r.orderItems("series"),R(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:h}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<u?i-u*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&N(d.min)){let e=d.getExtremes().max,u=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=x(d.toPixels(z(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&g(o,e,i),r&&g(r,e,i)}let m=[],f=d.toPixels(d.getExtremes().min,!0);s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,y=r.len,b=a.len;c?(p=o,y=f):(g=o,b=f);let x=[["M",p,g],["L",y,g],["L",y,b],["L",p,b],["Z"]],v=[x[0],...s,x[1],x[2],...m,x[3],x[4]];m=s.reverse(),f=o,l&&(u(v),t&&u(x)),n?(n.animate({d:v}),d?.animate({d:x})):(n=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(x))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return C(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||F(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=d(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;E(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=W(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,E(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,W(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[o,r]=this.kdAxisArray,a=e?"distX":"dist",n=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,n,h){var d,c;let p,u,g,m,f,y,b,x=i.point,v=s.kdAxisArray[n%h],S,A,k=x;d=e,c=x,p=d[o],u=c[o],g=C(p)&&C(u)?p-u:null,m=d[r],f=c[r],y=C(m)&&C(f)?m-f:0,b=l&&c.marker?.radius||0,c.dist=Math.sqrt((g&&g*g||0)+y*y)-b,c.distX=C(g)?Math.abs(g)-b:Number.MAX_VALUE;let M=(e[v]||0)-(x[v]||0)+(l&&x.marker?.radius||0),w=M<0?"left":"right",P=M<0?"right":"left";return i[w]&&(k=(S=t(e,i[w],n+1,h))[a]<k[a]?S:x),i[P]&&Math.sqrt(M*M)<k[a]&&(k=(A=t(e,i[P],n+1,h))[a]<k[a]?A:k),k}(t,this.kdTree,n,n)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),N(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(g?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
2),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),E(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,l=this.data,h=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=z(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let m=g.x;if(a=u.length,this.requireSorting&&m<u[a-1])for(r=!0;a&&u[a-1]>m;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[m]=g.name),p.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&E(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,o=s.data,r=o[t],a=s.points,n=s.chart,l=function(){a&&a.length===o.length&&a.splice(t,1),o.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&n.redraw()};c(i,n),e=z(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),z(t,!0)&&r.redraw(e)}!1!==i?E(o,"remove",null,a):a()}update(t,e){E(this,"update",{options:t=k(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=f[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&P(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=B(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let m=!1;if(f[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,f[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;P(i,f[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else w(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),E(this,"afterUpdate"),z(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=z(s?.[this.type]?.[t],s?.series?.[t]);return o&&!C(r)?i!==o:i!==z(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;
2e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&E(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=z(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),h=z(a[t].opacity,h)),o&&!o.dashstyle&&N(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),E(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),E(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return H.defaultOptions=a,H.types=n.seriesTypes,H.registerType=n.registerSeriesType,P(H.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),n.series=H,H}),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u){let{animate:g,animObject:m,setAnimation:f}=t,{defaultOptions:y,defaultTime:b}=i,{numberFormat:x}=s,{registerEventOptions:v}=o,{charts:S,doc:C,marginNames:A,svg:k,win:M}=r,{seriesTypes:w}=l,{addEvent:P,attr:T,createElement:E,css:L,defined:O,diffObjects:D,discardElement:j,erase:N,error:I,extend:B,find:R,fireEvent:z,getStyle:F,isArray:G,isNumber:W,isObject:H,isString:X,merge:U,objectEach:Y,pick:V,pInt:K,relativeLength:q,removeEvent:Z,splat:$,syncTimeout:_,uniqueKey:J}=c;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:V(t.zoomType,e.type),key:V(t.zoomKey,e.key),pinchType:V(t.pinchType,e.pinchType),singleTouch:V(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:U(e.resetButton,t.resetZoomButton)}}init(t,e){z(this,"init",{args:arguments},function(){let i=U(y,t),s=i.chart;this.userOptions=B({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new d(t.time):r.time,this.numberFormatter=s.numberFormatter||x,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),r.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRen
vendor: 5,235 bytes, line 2
2der()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=w[i];s||I(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=$(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof n&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&n||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(h+a,t.pos)&&e<=Math.min(h+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){z(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&z(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){z(t,"afterSetExtremes",B(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),z(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),z(this,"redraw"),z(this,"render"),n&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=R(this.axes,i)||R(this.series,i);for(let t=0;!s&&t<e.length;t++)s=R(e[t].points||[],i);return s}getAxes(){let t=this.userOptions;for(let i of(z(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[i]=$(t[i]||{}))new e(this,s,i);z(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{V(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=U(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(B("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let o=this[t],r=this.options[t],a=r.verticalAlign||"top",n="title"===t?"top"===a?-3:0:"top"===a?e[0]+2:0;if(o){o.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(o).b,l=Math.round(o.getBBox(r.useHTML).height);o.align(B({y:"bottom"===a?t:n+t,height:l},r),!1,"spacingBox"),r.floating||("top"===a?e[0]=Math.ceil(e[0]+l):"bottom"===a&&(e[2]=Math.ceil(e[2]+l)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let o=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,z(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:F(this.renderTo,"width",!0)||0,height:F(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();
vendor: 4,007 bytes, line 2
2this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,q(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(L(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(C.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(C.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,C.body.appendChild(e)),("none"===F(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),L(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==C.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t=this.options,e=t.chart,i="data-highcharts-chart",s=J(),o,r=this.renderTo;r||(this.renderTo=r=e.renderTo),X(r)&&(this.renderTo=r=C.getElementById(r)),r||I(13,!0,this);let n=K(T(r,i));W(n)&&S[n]&&S[n].hasRendered&&S[n].destroy(),T(r,i,this.index),r.innerHTML=p.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let l=this.chartHeight,d=this.chartWidth;L(r,{overflow:"hidden"}),this.styledMode||(o=B({position:"relative",overflow:"hidden",width:d+"px",height:l+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},e.style||{}));let c=E("div",{id:s},o,r);this.container=c,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(c,{width:V(e.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let u=e.renderer||!k?a.getRendererType(e.renderer):h;if(this.renderer=new u(c,d,l,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,this.styledMode),f(void 0,this),this.setClassName(e.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!O(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!O(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),z(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),A.forEach(function(i,o){O(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(c.clearTimeout(e.reflowTimeout),e.reflowTimeout=_(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=P(M,"resize",e);P(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?g:L)(s.container,{width:`${a+l}px`,height:`${n+h}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,z(s,"resize"),setTimeout(()=>{s&&z(s,"endResize")},m(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;
2let{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),z(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){z(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=H(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=V(e[i+s],o[r])})}),A.forEach(function(e,i){t[e]=V(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroun
2dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,y=this.plotBackground,b=this.plotBorder,x,v,S,C="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),C="attr"),o?x=v=f.strokeWidth():(v=(x=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(x||f["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=x),f.attr(S).shadow(t.shadow)),f[C]({x:v/2,y:v/2,width:i-v-x%2,height:s-v-x%2,r:t.borderRadius}),C="animate",y||(C="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[C](u),!o&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),C="animate",b||(C="attr",this.plotBorder=b=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||b.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),b[C](b.crisp({x:h,y:d,width:c,height:p},-b.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=w[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=w[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=V(t.options.visible,s.options.visible,t.visible))}}),z(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,l=0;for(let e of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new u(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&V(i.reserveSpace,!W(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight;for(let e of t)0===l?e.setScale():(e.horiz&&a||!e.horiz&&n)&&e.setTickInterval(!0);0===l?this.getAxisMargins():this.getMargins(),a=e/this.plotWidth>(l?1:1.1),n=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=U(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(M.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,a=o&&o.parentNode;for(z(e,"destroy"),e.renderer.forExport?N(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Z(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();
vendor: 4,520 bytes, line 2
2["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=p.emptyHTML,Z(o),a&&j(o)),Y(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let i=G(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),z(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),z(this,"load"),z(this,"render"),O(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||I('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,e,i){let s;let o=this;return t&&(e=V(e,!0),z(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),z(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,i){let s=new e(this,i.axis,t);return V(i.redraw,!0)&&this.redraw(i.animation),s}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&L(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,a=e.loadingSpan;r||(e.loadingDiv=r=E("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=E("span",{className:"highcharts-loading-inner"},null,r),P(e,"redraw",o)),r.className="highcharts-loading",p.setElementHTML(a,V(t,i.lang.loading,"")),e.styledMode||(L(r,B(s.style,{zIndex:10})),L(a,s.labelStyle),e.loadingShown||(L(r,{opacity:0,display:""}),g(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||g(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){L(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a;let n=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,c=[];z(n,"update",{options:t}),h||n.setResponsive(!1,!0),t=D(t,n.options),n.userOptions=U(n.userOptions,t);let p=t.chart;p&&(U(!0,n.options.chart,p),this.setZoomOptions(),"className"in p&&n.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(n.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&v(this,p),Y(p,function(t,e){-1!==n.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==n.propsRequireDirtyBox.indexOf(e)&&(n.isDirtyBox=!0),-1===n.propsRequireReflow.indexOf(e)||(n.isDirtyBox=!0,h||(a=!0))}),!n.styledMode&&p.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===b&&(this.time=new d(t.time)),U(!0,n.options.time,t.time)),Y(t,function(e,i){n[i]&&"function"==typeof n[i].update?n[i].update(e,!1):"function"==typeof n[l[i]]?n[l[i]](e):"colors"!==i&&-1===n.collectionsWithUpdate.indexOf(i)&&U(!0,n.options[i],t[i]),"chart"!==i&&-1!==n.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&($(t[e]).forEach(function(t,s){let o;let r=O(t.id);r&&(o=n.get(t.id)),!o&&n[e]&&(o=n[e][V(t.index,s)])&&(r&&O(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&n.collectionsWithInit[e]&&(n.collectionsWithInit[e][0].apply(n,[t].concat(n.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&n[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:c.push(t)}))}
2),c.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),o&&n.axes.forEach(function(t){t.update({},!1)}),r&&n.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let u=p&&p.width,g=p&&(X(p.height)?q(p.height,u||n.chartWidth):p.height);a||W(u)&&u!==n.chartWidth||W(g)&&g!==n.chartHeight?n.setSize(u,g,s):V(e,!0)&&n.redraw(s),z(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=y.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}z(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),z(this,"afterShowResetZoom")}zoomOut(){z(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),z(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),L(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:l}=this,h=!1,d;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:c,minPointOffset:p=0,options:u,reversed:g}=t,m=e?"width":"height",f=e?"x":"y",y=V(a[m],t.len),b=V(s[m],t.len),x=10>Math.abs(y)?1:y/b,v=(s[f]||0)+b/2-t.pos,S=v-((a[f]??t.pos)+y/2-t.pos)/x,C=g&&!l||!g&&l?-1:1;if(!o&&(v<0||v>t.len))continue;let A=t.toValue(S,!0)+(r?0:p*C),k=t.toValue(S+c/x,!0)-(r?0:p*C||0),M=t.allExtremes;if(A>k&&([A,k]=[k,A]),1===x&&!o&&"yAxis"===t.coll&&!M){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);M??(M={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),W(t.dataMin)&&W(t.dataMax)&&(M.dataMin=Math.min(t.dataMin,M.dataMin),M.dataMax=Math.max(t.dataMax,M.dataMax))}t.allExtremes=M}let{dataMin:w,dataMax:P,min:T,max:E}=B(t.getExtremes(),M||{}),L=w??u.min,D=P??u.max,j=k-A,N=t.categories?0:Math.min(j,D-L),I=L-N*(O(u.min)?0:u.minPadding),R=D+N*(O(u.max)?0:u.maxPadding),z=t.allowZoomOutside||1===x||"zoom"!==n&&x>1,F=Math.min(u.min??I,I,z?T:I),G=Math.max(u.max??R,R,z?E:R);(!t.isOrdinal||1!==x||o)&&(A<F&&(A=F,x>=1&&(k=A+j)),k>G&&(k=G,x>=1&&(A=k-j)),(o||t.series.length&&(A!==T||k!==E)&&A>=F&&k<=G)&&(r?r[t.coll].push({axis:t,min:A,max:k}):(t.isPanning="zoom"!==n,t.setExtremes(o?void 0:A,o?void 0:k,!1,!1,{move:S,trigger:n,scale:x}),!o&&(A>F||k<G)&&"mousewheel"!==n&&(d=!0)),h=!0),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return h&&(r?z(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(d&&!this.resetZoomButton?this.showResetZoom():!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),h}}return B(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{stop:o}=t,{composed:r}=e,{addEvent:a,createElement:n,css:l,defined:h,merge:d,pushUnique:c}=s;function p(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new g(this)),t?.applyFixed()}function u(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class g{static compose(t,e,i){c(r,this.compose)&&(a(t,"afterInit",u),a(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a(e,"render",p),a(i,"show",u))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:l,inverted:c,renderer:p}=t;if(!p.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=d(t.plotBox),l.width=t.plotWidth+=i,n[c?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),h(s)&&(t.scrollablePlotBox=d(t.plotBox),l.height=t.plotHeight+=s,n[c?"width":"height"]+=s,o=!1)),h(o)&&!e.skipAxes))for(let e of t.axes)e.horiz===o&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let s=t.options.chart,o=i.getRendererType(),r=s.scrollablePlotArea||{},h=this.moveFixedElements.bind(this),d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(d.overflowX="auto"),t.scrollablePixelsY&&(d.overflowY="auto"),this.chart=t;let c=this.parentDiv=n("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=n("div",{className:"highcharts-scrolling"},d,c),u=this.innerContainer=n("div",{className:"highcharts-inner-container"},void 0,p),g=this.fixedDiv=n("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),m=this.fixedRenderer=new o(g,t.chartWidth,t.chartHeight,s.style);this.mask=m.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(g,p),l(t.renderTo,{overflow:"visible"}),a(t,"afterShowResetZoom",h),a(t,"afterApplyDrilldown",h),a(t,"afterLayOutTitles",h),a(p,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:a,chartHeight:n,container:d,plotHeight:c,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:f=0}=t,{scrollPositionX:y=0,scrollPositionY:b=0}=t.options.chart.scrollablePlotArea||{},x=a+m,v=n+f;e.setSize(a,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),o(t.container),l(d,{width:`${x}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:x,height:v,viewBox:[0,0,x,v].join(" ")}),t.chartBackground?.attr({width:x,height:v}),l(s,{width:`${a}px`,height:`${n}px`}),h(i)||(s.scrollLeft=m*y,s.scrollTop=f*b);let S=u-r[0]-1,C=p-r[3]-1,A=u+c+r[2]+1,k=p+g+r[1]+1,M=p+g-m,w=u+c-f,P=[["M",0,0]];m?P=[["M",0,S],["L",p-1,S],["L",p-1,A],["L",0,A],["Z"],["M",M,S],["L",a,S],["L",a,A],["L",M,A],["Z"]]:f&&(P=[["M",C,0],["L",C,u-1],["L",k,u-1],["L",k,0],["Z"],["M",C,w],["L",C,n],["L",k,n],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:P})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=g.fixedSelectors;for(let n of(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&a.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),a))[].forEach.call(e.querySelectorAll(n),t=>
2{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return g.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],g}),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{format:s}=t,{series:o}=e,{destroyObjectProperties:r,fireEvent:a,isNumber:n,pick:l}=i;return class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,o=i.format,r=o?s(o,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:d,axis:c,label:p,options:u,textAlign:g}=this,m=c.chart,f=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:y}=d;if(p&&f){let t=p.getBBox(void 0,0),e=p.padding,i="justify"===l(u.overflow,"justify"),s;d.x=u.x||0,d.y=u.y||0;let{x:r,y:a}=this.adjustStackPosition({labelBox:t,verticalAlign:y,textAlign:g});f.x-=r,f.y-=a,p.align(d,!1,f),(s=m.isInsidePlot(p.alignAttr.x+d.x+r,p.alignAttr.y+d.y+a))||(i=!1),i&&o.prototype.justifyDataLabel.call(c,p,d,p.alignAttr,t,f),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:t.width*({left:0,center:.5,right:1})[u.textAlign||"center"],rotationOriginY:t.height/2}),l(!i&&u.crop,!0)&&(s=n(p.x)&&n(p.y)&&m.isInsidePlot(p.x-e+(p.width||0),p.y)&&m.isInsidePlot(p.x+e,p.y)),p[s?"show":"hide"]()}a(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},o=s[e],r=s[i];return{x:t.width/2+t.width/2*r,y:t.height/2*o}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:h}=t,d=e.stacking.usePercentage?100:l(s,this.total,0),c=e.toPixels(d),p=t.xAxis||i.xAxis[0],u=l(o,p.translate(this.x))+r,g=Math.abs(c-e.toPixels(h||n(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),m=i.inverted,f=this.isNegative;return m?{x:(f?c:c-g)-i.plotLeft,y:p.height-u-a,width:g,height:a}:{x:u+p.transB-i.plotLeft,y:(f?c-g:c)-i.plotTop,width:a,height:g}}}}),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{getDeferredAnimation:a}=t,{series:{prototype:n}}=i,{addEvent:l,correctFloat:h,defined:d,destroyObjectProperties:c,fireEvent:p,isArray:u,isNumber:g,objectEach:m,pick:f}=o;function y(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,f(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function b(){let t=this.stacking;if(t){let e=t.stacks;m(e,(t,i)=>{c(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function x(){this.stacking||(this.stacking=new M(this))}function v(t,e,i,s){return!d(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.processedXData,a=e.options.stacking,n=e[a+"Stacker"];
vendor: 4,199 bytes, line 2
2n&&[s,"-"+s].forEach(i=>{let s=r.length,a,l,h;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),l=o[i]?.[a],(h=l?.points[t.key||""])&&n.call(e,h,l,s)})}function C(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),this.stackedYData[i]=t[1]}function A(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?n.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function k(t,e){let i,o,r,a,n,l,c,p,g;let m=e||this.options.stacking;if(!m||!this.reserveSpace()||(({group:"xAxis"})[m]||"yAxis")!==t.coll)return;let y=this.processedXData,b=this.processedYData,x=[],v=b.length,S=this.options,C=S.threshold||0,A=S.startFromThreshold?C:0,k=S.stack,M=e?`${this.type},${m}`:this.stackKey||"",w="-"+M,P=this.negStacks,T=t.stacking,E=T.stacks,L=T.oldStacks;for(T.stacksTouched+=1,c=0;c<v;c++){p=y[c],g=b[c],l=(i=this.getStackIndicator(i,p,this.index)).key||"",E[n=(o=P&&g<(A?0:C))?w:M]||(E[n]={}),E[n][p]||(L[n]?.[p]?(E[n][p]=L[n][p],E[n][p].total=null):E[n][p]=new s(t,t.options.stackLabels,!!o,p,k)),r=E[n][p],null!==g?(r.points[l]=r.points[this.index]=[f(r.cumulative,A)],d(r.cumulative)||(r.base=l),r.touched=T.stacksTouched,i.index>0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+p+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===m?(a=o?M:w,e=P&&E[a]?.[p]?(a=E[a][p]).total=Math.max(a.total||0,e)+Math.abs(g)||0:h(e+(Math.abs(g)||0))):"group"===m?(u(g)&&(g=g[0]),null!==g&&e++):e=h(e+(g||0)),"group"===m?r.cumulative=(e||1)-1:r.cumulative=h(f(r.cumulative,A)+(g||0)),r.total=e,null!==g&&(r.points[l].push(r.cumulative),x[c]=r.cumulative,r.hasValidPoints=!0)}"percent"===m&&(T.usePercentage=!0),"group"!==m&&(this.stackedYData=x),T.oldStacks={}}class M{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<a;e++)s[e].modifyStacks();p(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,m(this.stacks,t=>{m(t,t=>{t.cumulative=t.total})}))}resetStacks(){m(this.stacks,t=>{m(t,(e,i)=>{g(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=a(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),m(s,t=>{m(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(l(t,"init",x),l(t,"destroy",b),s.getStacks=y,o.getStackIndicator=v,o.modifyStacks=S,o.percentStacker=C,o.setGroupedPoints=A,o.setStackedPoints=k)},r}),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{defined:s,merge:o,isObject:r}=i;class a extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,a)=>{let n,l=s.graph,h=l?"animate":"attr",d=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(a?` highcharts-zone-graph-${a-1} `:" ")+(a&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(n={stroke:!a&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?n.dashstyle=d:"square"!==t.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),l[h](n).shadow(a<2&&t.shadow&&o({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)})}getGraphPath(t,e,i){let o=this,r=o.options,a=[],n=[],l,h=r.step,d=(t=t||o.points).reversed;return d&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&d&&(h=4-h),(t=this.getValidPoints(t,!1,!(r.connectNulls&&!e&&!i))).forEac
vendor: 3,066 bytes, line 2
2h(function(d,c){let p;let u=d.plotX,g=d.plotY,m=t[c-1],f=d.isNull||"number"!=typeof g;(d.leftCliff||m&&m.rightCliff)&&!i&&(l=!0),f&&!s(e)&&c>0?l=!r.connectNulls:f&&!e?l=!0:(0===c||l?p=[["M",d.plotX,d.plotY]]:o.getPointSpline?p=[o.getPointSpline(t,d,c)]:h?(p=1===h?[["L",m.plotX,g]]:2===h?[["L",(m.plotX+u)/2,m.plotY],["L",(m.plotX+u)/2,g]]:[["L",u,m.plotY]]).push(["L",u,g]):p=[["L",u,g]],n.push(d.x),h&&(n.push(d.x),2===h&&n.push(d.x)),a.push.apply(a,p),l=!1)}),a.xMap=n,o.graphPath=a,a}}return a.defaultOptions=o(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",a),a}),i(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),i(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{line:s}}=e,{extend:o,merge:r,objectEach:a,pick:n}=i;class l extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,o;let r=s.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,d=[],c=[],p=this.index,u=h.stacking.stacks[this.stackKey],g=a.threshold,m=Math.round(h.getThreshold(a.threshold)),f=n(a.connectNulls,"percent"===l),y=function(i,s,o){let r=t[i],a=l&&u[r.x].points[p],n=r[o+"Null"]||0,f=r[o+"Cliff"]||0,y,b,x=!0;f||n?(y=(n?a[0]:a[1])+f,b=a[0]+f,x=!!n):!l&&t[s]&&t[s].isNull&&(y=b=g),void 0!==y&&(c.push({plotX:e,plotY:null===y?m:h.getThreshold(y),isNull:x,isCliff:!0}),d.push({plotX:e,plotY:null===b?m:h.getThreshold(b),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)l||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),i=t[s].isNull,e=n(t[s].rectPlotX,t[s].plotX),o=l?n(t[s].yBottom,m):m,i&&!f||(f||y(s,s-1,"left"),i&&!l&&f||(c.push(t[s]),d.push({x:s,plotX:e,plotY:o})),f||y(s,s+1,"right"));let b=r.call(this,c,!0,!0);d.reversed=!0;let x=r.call(this,d,!0,!0),v=x[0];v&&"M"===v[0]&&(x[0]=["L",v[1],v[2]]);let S=b.concat(x);S.length&&S.push(["Z"]);let C=r.call(this,c,!1,f);return S.xMap=b.xMap,this.areaPath=S,C}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,l=r.stacking.stacks[this.stackKey],h={},d=r.series,c=d.length,p=r.options.reversedStacks?1:-1,u=d.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,h[t[e].x]=t[e];a(l,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let g=d.map(t=>t.visible);
2s.forEach(function(t,a){let m=0,f,y;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=l[s[a+i]],n=0;if(r){let i=u;for(;i>=0&&i<c;){let s=d[i].index;!(f=r.points[s])&&(s===e.index?h[t][o]=!0:g[i]&&(y=l[t].points[s])&&(n-=y[1]-y[0])),i+=p}}h[t][1===i?"rightCliff":"leftCliff"]=n});else{let e=u;for(;e>=0&&e<c;){let i=d[e].index;if(f=l[t].points[i]){m=f[1];break}e+=p}m=n(m,0),m=r.translate(m,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:m,yBottom:m})}})}return i}}return l.defaultOptions=r(s.defaultOptions,t),o(l.prototype,{singleStacks:!1}),e.registerSeriesType("area",l),l}),i(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{line:i}=t.seriesTypes,{merge:s,pick:o}=e;class r extends i{getPointSpline(t,e,i){let s,r,a,n;let l=e.plotX||0,h=e.plotY||0,d=t[i-1],c=t[i+1];function p(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(p(d)&&p(c)){let t=d.plotX||0,i=d.plotY||0,o=c.plotX||0,p=c.plotY||0,u=0;s=(1.5*l+t)/2.5,r=(1.5*h+i)/2.5,a=(1.5*l+o)/2.5,n=(1.5*h+p)/2.5,a!==s&&(u=(n-r)*(a-l)/(a-s)+h-n),r+=u,n+=u,r>i&&r>h?(r=Math.max(i,h),n=2*h-r):r<i&&r<h&&(r=Math.min(i,h),n=2*h-r),n>p&&n>h?(n=Math.max(p,h),r=2*h-n):n<p&&n<h&&(n=Math.min(p,h),r=2*h-n),e.rightContX=a,e.rightContY=n,e.controlPoints={low:[s,r],high:[a,n]}}let u=["C",o(d.rightContX,d.plotX,0),o(d.rightContY,d.plotY,0),o(s,l,0),o(r,h,0),l,h];return d.rightContX=d.rightContY=void 0,u}}return r.defaultOptions=s(i.defaultOptions),t.registerSeriesType("spline",r),r}),i(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{area:s,area:{prototype:o}}=e.seriesTypes,{extend:r,merge:a}=i;class n extends t{}return n.defaultOptions=a(t.defaultOptions,s.defaultOptions),r(n.prototype,{getGraphPath:o.getGraphPath,getStackPoints:o.getStackPoints,drawGraph:o.drawGraph}),e.registerSeriesType("areaspline",n),n}),i(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),i(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a){let{animObject:n}=t,{parse:l}=e,{noop:h}=s,{clamp:d,crisp:c,defined:p,extend:u,fireEvent:g,isArray:m,isNumber:f,merge:y,pick:b,objectEach:x}=a;class v extends o{animate(t){let e,i;let s=this,o=this.yAxis,r=o.pos,a=o.reversed,l=s.options,{clipOffset:h,inverted:c}=this.chart,p={},g=c?"translateX":"translateY";t&&h?(p.scaleY=.001,i=d(o.toPixels(l.threshold),r,r+o.len),c?(i+=a?-Math.floor(h[0]):Math.ceil(h[2]),p.translateX=i-o.len):(i+=a?Math.ceil(h[0]):-Math.floor(h[2]),p.translateY=i),s.clipBox&&s.setClip(),s.group.attr(p)):(e=Number(s.group.attr(g)),s.group.animate({scaleY:1},u(n(s.options.animation),{step:function(t,i){s.group&&(p[g]=e+i.pos*(r-e),s.group.attr(p))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,a={},n,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i;let o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===a[n=e.stackKey]&&(a[n]=l++),i=a[n]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,b(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+(r?1:0);return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=c(e+s,o,r)-(e=c(e,o,r)),this.options.crisp&&(i=c(t+i,o)-(t=c(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;x(this.xAxis.stacking?.stacks,t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&m(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&e.points[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).sort((t,e)=>e-t);r=t.indexOf(this.index),a=t.length}}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=b(i.borderWidth,s?0:1),a=t.xAxis,n=t.yAxis,l=i.threshold,h=b(i.minPointLength,5),c=t.getColumnMetrics(),u=c.width,m=t.pointXOffset=c.offset,y=t.dataMin,x=t.dataMax,v=t.translatedThreshold=n.getThreshold(l),S=t.barW=Math.max(u,1+2*r);i.pointPadding&&(S=Math.ceil(S)),o.prototype.translate.apply(t),t.points.forEac
2h(function(s){let o=b(s.yBottom,v),r=999+Math.abs(o),g=s.plotX||0,C=d(s.plotY,-r,n.len+r),A,k=Math.min(C,o),M=Math.max(C,o)-k,w=u,P=g+m,T=S;h&&Math.abs(M)<h&&(M=h,A=!n.reversed&&!s.negative||n.reversed&&s.negative,f(l)&&f(x)&&s.y===l&&x<=l&&(n.min||0)<l&&(y!==x||(n.max||0)<=l)&&(A=!A,s.negative=!s.negative),k=Math.abs(k-v)>h?o-h:v-(A?h:0)),p(s.options.pointWidth)&&(P-=Math.round(((w=T=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(P=t.adjustForMissingColumns(P,w,s,c)),s.barX=P,s.pointWidth=w,s.tooltipPos=e.inverted?[d(n.len+n.pos-e.plotLeft-C,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),a.len+a.pos-e.plotTop-P-T/2,M]:[a.left-e.plotLeft+P+T/2,d(C+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(P,s.isNull?v:k,T,s.isNull?0:M)}),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,d=t&&t.color||this.color,c=t&&t[o]||i[o]||d,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[r]||i[r]||this[r]||0,g=b(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),d=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(c=n.borderColor||c,p=n.dashStyle||p,u=n.borderWidth||u)),e&&t&&(h=(a=y(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,d=a.color||void 0!==h&&l(d).brighten(a.brightness).get()||d,c=a[o]||c,u=a[r]||u,p=a.dashStyle||p,g=b(a.opacity,g));let m={fill:d,stroke:c,"stroke-width":u,opacity:g};return p&&(m.dashstyle=p),m}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCount<a?"animate":"attr";f(n)&&null!==t.y?(e=t.shapeArgs,l&&t.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(t.graphic=l=r[t.shapeType](e).add(t.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(l.attr({x:t.startXPos}),h=!0,d="animate")),l&&h&&l[d](y(e)),s.styledMode||l[d](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),l&&(l.addClass(t.getClassName(),!0),l.attr({visibility:t.visible?"inherit":"hidden"}))):l&&(t.graphic=l.destroy())})}drawTracker(t=this.points){let e;let i=this,s=i.chart,o=s.pointer,r=function(t){let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=m(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups.forEach(function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))}),i._hasTracking=!0),g(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),o.prototype.remove.apply(t,arguments)}}return v.defaultOptions=y(o.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v}),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{getDeferredAnimation:o}=t,{format:r}=e,{defined:a,extend:n,fireEvent:l,isArray:h,isString:d,merge:c,objectEach:p,pick:u,pInt:g,splat:m}=i;return function(t){function e(){return v(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:l}=this,h=this.isCartesian&&r.inverted,d=t.plotX,p=t.plotY,g=i.rotation||0,m=a(d)&&a(p)&&r.isInsidePlot(d,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),f=0===g&&"justify"===u(i.overflow,l?"none":"justify"),y=this.visible&&!1!==t.visible&&a(d)&&(t.series.forceDL||l&&!f||m||u(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(d,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),b=t.pos();if(y&&b){var x;let a=e.getBBox(),d=e.getBBox(void 0,0),p={right:1,center:.5}[i.align||0]||0,v={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=n({x:b[0],y:Math.round(b[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[h?"x":"y"]=0,s[h?"width":"height"]=this.yAxis?.len||0),n(i,{width:a.width,height:a.height}),x=s,l&&this.xAxis&&!f&&this.setDataLabelStartPos(t,e,o,m,x),e.align(c(i,{width:d.width,height:d.height}),!1,s,!1),e.alignAttr.x+=p*(d.width-a.width),e.alignAttr.y+=v*(d.height-a.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(a.width-d.width)/2,y:e.alignAttr.y+(a.height-d.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),f&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,a,s,o);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+a.width-1,i+a.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[o?"attr":"animate"]({anchorX:b[0],anchorY:b[1]})}o&&l&&(e.placed=!1),y||l&&!f?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function f(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){let e;t=t||this.points;let i=this,s=i.chart,n=i.options,h=s.renderer,{backgroundColor:c,plotBackgroun
2dColor:f}=s.options.chart,y=h.getContrast(d(f)&&f||d(c)&&c||"#000000"),b=v(i),{animation:S,defer:C}=b[0],A=C?o(s,S,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(A),t.forEach(t=>{let o=t.dataLabels||[];m(x(b,t.dlOptions||t.options?.dataLabels)).forEach((l,c)=>{let m=l.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,l),{backgroundColor:f,borderColor:b,distance:x,style:v={}}=l,S,C,A,k,M={},w=o[c],P=!w,T;if(m&&(C=u(l[t.formatPrefix+"Format"],l.format),S=t.getLabelConfig(),A=a(C)?r(C,S,s):(l[t.formatPrefix+"Formatter"]||l.formatter).call(S,l),k=l.rotation,!s.styledMode&&(v.color=u(l.color,v.color,d(i.color)?i.color:void 0,"#000000"),"contrast"===v.color?("none"!==f&&(T=f),t.contrastColor=h.getContrast("auto"!==T&&T||t.color||i.color),v.color=T||!a(x)&&l.inside||0>g(x||0)||n.stacking?t.contrastColor:y):delete t.contrastColor,n.cursor&&(v.cursor=n.cursor)),M={r:l.borderRadius||0,rotation:k,padding:l.padding,zIndex:1},s.styledMode||(M.fill="auto"===f?t.color:f,M.stroke="auto"===b?t.color:b,M["stroke-width"]=l.borderWidth),p(M,(t,e)=>{void 0===t&&delete M[e]})),!w||m&&a(A)&&!!w.div==!!l.useHTML&&(w.rotation&&l.rotation||w.rotation===l.rotation)||(w=void 0,P=!0),m&&a(A)&&(w?M.text=A:(w=h.label(A,0,0,l.shape,void 0,void 0,l.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(l.className||"")+(l.useHTML?" highcharts-tracker":"")),w)){w.options=l,w.attr(M),s.styledMode||w.css(v).shadow(l.shadow);let r=l[t.formatPrefix+"TextPath"]||l.textPath;r&&!l.useHTML&&(w.setTextPath(t.getDataLabelPath?.(w)||t.graphic,r),t.dataLabelPath&&!r.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),w.added||w.add(e),i.alignDataLabel(t,w,l,void 0,P),w.isActive=!0,o[c]&&o[c]!==w&&o[c].destroy(),o[c]=w}});let l=o.length;for(;l--;)o[l]&&o[l].isActive?o[l].isActive=!1:(o[l]?.destroy(),o.splice(l,1));t.dataLabel=o[0],t.dataLabels=o})),l(this,"afterDrawDataLabels")}function b(t,e,i,s,o,r){let a=this.chart,n=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,y;return(f=(i.x||0)+h+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=f,y=!0),(f=(i.x||0)+s.width-h+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,y=!0),(f=i.y+h+u)<0&&("bottom"===l&&m>=0?(e.verticalAlign="top",e.inside=!0):m-=f,y=!0),(f=(i.y||0)+s.height-h+u)>a.plotHeight&&("top"===l&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,y=!0),y&&(e.x=g,e.y=m,t.placed=!r,t.align(e,void 0,o)),y}function x(t,e){let i=[],s;if(h(t)&&!h(e))i=t.map(function(t){return c(t,e)});else if(h(e)&&!h(t))i=e.map(function(e){return c(t,e)});else if(h(t)||h(e)){if(h(t)&&h(e))for(s=Math.max(t.length,e.length);s--;)i[s]=c(t[s],e[s])}else i=c(t,e);return i}function v(t){let e=t.chart.options.plotOptions;return m(x(x(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function S(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,l=n.reversed,h=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:l?-h-c:n.width-h+c,e.startYPos=a?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
2,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let o=t.prototype;o.initDataLabels||(o.initDataLabels=f,o.initDataLabelsGroup=s,o.alignDataLabel=i,o.drawDataLabels=y,o.justifyDataLabel=b,o.setDataLabelStartPos=S,o.hasDataLabels=e)}}(s||(s={})),s}),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{composed:r}=e,{series:a}=i,{merge:n,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,o){let r=this.chart.inverted,h=t.series,d=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,c=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,c)),g=l(i.inside,!!this.options.stacking);if(p){if(s=n(p),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-c;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:c-s.y-s.height,y:d-s.x-s.width,width:s.height,height:s.width}),g||(r?(s.x+=u?0:s.width,s.width=0):(s.y+=u?s.height:0,s.height=0))}i.align=l(i.align,!r||g?"center":u?"right":"left"),i.verticalAlign=l(i.verticalAlign,r||g?"middle":u?"top":"bottom"),a.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}e.compose=function(e){t.compose(a),h(r,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}}(o||(o={})),o}),i(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{extend:s,merge:o}=i;class r extends t{}return r.defaultOptions=o(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),e.registerSeriesType("bar",r),r}),i(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s,line:o}=e.seriesTypes,{addEvent:r,extend:a,merge:n}=i;class l extends o{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[n]||0)-h),d=Math.min(l.len,(s[n]||0)+h);s[n]=e+(d-e)*((t=1e4*Math.sin(o+a*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=n(o.defaultOptions,t),a(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(l,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",l),l}),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var s,o;let{deg2rad:r}=t,{fireEvent:a,isNumber:n,pick:l,relativeLength:h}=i;return(o=s||(s={})).getCenter=function(){let t=this.options,i=this.chart,s=2*(t.slicedOffset||0),o=i.plotWidth-2*s,r=i.plotHeight-2*s,d=t.center,c=Math.min(o,r),p=t.thickness,u,g=t.size,m=t.innerSize||0,f,y;"string"==typeof g&&(g=parseFloat(g)),"string"==typeof m&&(m=parseFloat(m));let b=[l(d[0],"50%"),l(d[1],"50%"),l(g&&g<0?void 0:t.size,"100%"),l(m&&m<0?void 0:t.innerSize||0,"0%")];for(!i.angular||this instanceof e||(b[3]=0),f=0;f<4;++f)y=b[f],u=f<2||2===f&&/%$/.test(y),b[f]=h(y,[o,r,c,b[2]][f])+(u?s:0);return b[3]>b[2]&&(b[3]=b[2]),n(p)&&2*p<b[2]&&p>0&&(b[3]=b[2]-2*p),a(this,"afterGetCenter",{positions:b}),b},o.getStartAndEndRadians=function(t,e){let i=n(t)?t:0,s=n(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 7,395 bytes, line 2
2i){let{setAnimation:s}=t,{addEvent:o,defined:r,extend:a,isNumber:n,pick:l,relativeLength:h}=i;class d extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};o(this,"select",s),o(this,"unselect",s)}isValid(){return n(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let o=this.series;s(i,o.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(d.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:o}=e,{series:r}=this,[a,n,l]=r.center,d=l/2,{plotLeft:c,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:m}=t,f=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);f=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else f=a+(n-m)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",g,m]];return(u?f<=g&&f>=s.x:f>=g&&f<=s.x)&&y.push(["L",f,m]),y.push(["L",s.x,s.y],["L",o.x,o.y]),y}}}),d}),i(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l){let{getStartAndEndRadians:h}=t,{noop:d}=i,{clamp:c,extend:p,fireEvent:u,merge:g,pick:m}=l;class f extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:m(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,l=Math.asin(c((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||g(!0,n,i),g(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){u(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=h(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,d,c,p,g,m,f,y,b=0;for(t||(this.center=t=this.getCenter()),f=0;f<l;f++){y=a[f],d=o+b*r,y.isValid()&&(!n||y.visible)&&(b+=y.percentage/100),c=o+b*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*d)/1e3,end:Math.round(1e3*c)/1e3};y.shapeType="arc",y.shapeArgs=e,(p=(c+d)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),y.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,m=Math.sin(p)*t[2]/2,y.tooltipPos=[t[0]+.7*g,t[1]+.7*m],y.half=p<-Math.PI/2||p>Math.PI/2?1:0,y.angle=p}u(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}return f.defaultOptions=g(r.defaultOptions,o),p(f.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:d,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:d,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",f),f}),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{composed:a,noop:n}=e,{distribute:l}=i,{series:h}=s,{arrayMax:d,clamp:c,defined:p,pick:u,pushUnique:g,relativeLength:m}=o;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function s(t,e){let{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,a=Math.cos(r),n=Math.sin(r),l=i[0]+a*o,h=i[1]+n*o,d=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);
vendor: 4,810 bytes, line 2
2return{natural:{x:l+a*e,y:h+n*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+a*d,y:h+n*d},touchingSliceAt:{x:l,y:h}},distance:e}}function o(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,c=n[2]/2,g=n[1],f=[[],[]],y=[0,0,0,0],b=t.dataLabelPositioners,x,v,S,C=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=m(o?.distance||0,s);0===i&&f[t.half].push(t),!p(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),C=Math.max(C,r)})}),f.forEach((e,a)=>{let h=e.length,d=[],m,f,x=0,A;h&&(t.sortByAngle(e,a-.5),C>0&&(m=Math.max(0,g-c-C),f=Math.min(g+c+C,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,g-c-s.distance),s.bottom=Math.min(g+c+s.distance,i.plotHeight),x=e.getBBox().height||21,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+x/2,size:x,rank:t.y},d.push(t.distributeBox))})}),l(d,A=f+x-m,A/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let h=l.options||{},g=i.distributeBox,m=l.dataLabelPosition,f=m?.natural.y||0,x=h.connectorPadding||0,C=0,A=f,k="inherit";if(m){if(d&&p(g)&&m.distance>0&&(void 0===g.pos?k="hidden":(S=g.size,A=b.radialDistributionY(i,l))),h.justify)C=b.justify(i,l,c,n);else switch(h.alignTo){case"connectors":C=b.alignToConnectors(e,a,s,r);break;case"plotEdges":C=b.alignToPlotEdges(l,a,s,r);break;default:C=b.radialDistributionX(t,i,A,f,l)}if(m.attribs={visibility:k,align:m.alignment},m.posAttribs={x:C+(h.x||0)+(({left:x,right:-x})[m.alignment]||0),y:A+(h.y||0)-l.getBBox().height/2},m.computed.x=C,m.computed.y=A,u(h.crop,!0)){let t;C-(v=l.getBBox().width)<x&&1===a?(t=Math.round(v-C+x),y[3]=Math.max(t,y[3])):C+v>s-x&&0===a&&(t=Math.round(C+v-s+x),y[1]=Math.max(t,y[1])),A-S/2<0?y[0]=Math.max(Math.round(-A+S/2),y[0]):A+S/2>o&&(y[2]=Math.max(Math.round(A+S/2-o),y[2])),m.sideOverflow=t}}})}))}),(0===d(y)||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;x=s.connector,a&&a.distance>0?(n=!x,x||(s.connector=x=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||x.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),x[n?"attr":"animate"]({d:e.getConnectorPath(s)}),x.attr({visibility:a.attribs?.visibility})):x&&(s.connector=x.destroy())}})})))}function r(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function f(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=c(r,o,e[2]-Math.max(t[0],t[2])):(r=c(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,m(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}e.compose=function(e){if(t.compose(h),g(a,"PieDataLabel")){let t=e.prototype;t.dataLabelPositioners=i,t.alignDataLabel=n,t.drawDataLabels=o,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=f}}}(r||(r={})),r}),i(e,"Extensions/OverlappingDataLabels.js",[e["Core/Utilities.js"]],function(t){let{addEvent:e,fireEvent:i,objectEach:s,pick:o}=t;function r(t){let e=t.length,s=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),o,r,n,l,h,d=!1;for(let i=0;i<e;i++)(o=t[i])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:i.x+(t.parentGroup?.translateX||0)+e,y:i.y+(t.parentGroup?.translateY||0)+e,width:(t.width||0)-2*e,height:(t.height||0)-2*e}}}(o));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let i=0;i<e;++i){l=(r=t[i])&&r.absoluteBox;for(let o=i+1;o<e;++o)h=(n=t[o])&&n.absoluteBox,l&&h&&r!==n&&0!==r.newOpacity&&0!==n.newOpacity&&"hidden"
2!==r.visibility&&"hidden"!==n.visibility&&s(l,h)&&((r.labelrank<n.labelrank?r:n).newOpacity=0)}for(let e of t)a(e,this)&&(d=!0);d&&i(this,"afterHideAllOverlappingLabels")}function a(t,e){let s,o,r=!1;return t&&(o=t.newOpacity,t.oldOpacity!==o&&(t.hasClass("highcharts-data-label")?(t[o?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=function(){e.styledMode||t.css({pointerEvents:o?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:o},void 0,s),i(e,"afterHideOverlappingLabel")):t.attr({opacity:o})),t.isOld=!0),r}function n(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&s(i.stacking.stacks,t=>{s(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let r=i.options||{};i.labelrank=o(r.labelrank,s.labelrank,s.shapeArgs?.height),r.allowOverlap??Number(r.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,a(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=r,e(t,"render",n))}}}
vendor: 3,847 bytes, line 2
2),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=t,{noop:o}=e,{addEvent:r,extend:a,isObject:n,merge:l,relativeLength:h}=i,d={radius:0,scope:"stack",where:void 0},c=o,p=o;function u(t,e,i,s,o={}){let r=c(t,e,i,s,o),{innerR:a=0,r:n=i,start:l=0,end:d=0}=o;if(o.open||!o.borderRadius)return r;let p=d-l,g=Math.sin(p/2),m=Math.max(Math.min(h(o.borderRadius||0,n-a),(n-a)/2,n*g/(1+g)),0),f=Math.min(m,p/Math.PI*2*a),y=r.length-1;for(;y--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=n?a-i:a+i,g=u?Math.asin(i/u):0,m=n?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=c+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(l.start),p+a*Math.sin(l.start)])):(l.end=d-m,o[6]=c+a*Math.cos(l.end),o[7]=p+a*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,y,y>1?f:m);return r}function g(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,o=s.plotOptions?.[this.type]?.borderRadius,r=m(t.borderRadius,n(o)?o:{}),l=e.options.reversed;for(let s of this.points){let{shapeArgs:o}=s;if("roundedRect"===s.shapeType&&o){let{width:n=0,height:d=0,y:c=0}=o,p=c,u=d;if("stack"===r.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));p=a.y,u=a.height}let g=(s.negative?-1:1)*(l?-1:1)==-1,m=r.where;!m&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let f=Math.min(h(r.radius,n),n/2,"all"===m?d/2:1/0)||0;"end"===m&&(g&&(p-=f),u+=f),a(o,{brBoxHeight:u,brBoxY:p,r:f})}}}}function m(t,e){return n(t)||(t={radius:t||0}),l(d,e,t)}function f(){let t=m(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function y(t,e,i,s,o={}){let r=p(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:l=e}=o,h=e-l,d=l+n-(e+s),c=h-a>-.1?0:a,u=d-a>-.1?0:a,g=Math.max(c&&h,0),m=Math.max(u&&d,0),f=[t+c,e],b=[t+i-c,e],x=[t+i,e+c],v=[t+i,e+s-u],S=[t+i-u,e+s],C=[t+u,e+s],A=[t,e+s-u],k=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);f[0]-=t,b[0]+=t,x[1]=k[1]=e+c-g}if(s<c-g){let o=M(c,c-g-s);x[0]=v[0]=t+i-c+o,S[0]=Math.min(x[0],S[0]),C[0]=Math.max(v[0],C[0]),A[0]=k[0]=t+c-o,x[1]=k[1]=e+s}if(m){let t=M(u,u-m);S[0]+=t,C[0]-=t,v[1]=A[1]=e+s-u+m}if(s<u-m){let o=M(u,u-m-s);x[0]=v[0]=t+i-u+o,b[0]=Math.min(x[0],b[0]),f[0]=Math.max(v[0],f[0]),A[0]=k[0]=t+u-o,v[1]=A[1]=e}return r.length=0,r.push(["M",...f],["L",...b],["A",c,c,0,0,1,...x],["L",...v],["A",u,u,0,0,1,...S],["L",...C],["A",u,u,0,0,1,...A],["L",...k],["A",c,c,0,0,1,...f],["Z"]),r}return{compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;r(t,"afterColumnTranslate",g,{order:9}),r(s,"afterTranslate",f),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),c=o.arc,p=o.roundedRect,o.arc=u,o.roundedRect=y}},optionsToObject:m}}),i(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(t){var e;let{diffObjects:i,extend:s,find:o,merge:r,pick:a,uniqueKey:n}=t;return function(t){function e(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s=this.options.responsive,a=this.currentResponsive,l=[],h;
2!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=n()),this.matchResponsiveRule(t,l)},this);let d=r(...l.map(t=>o((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));d.isResponsiveOptions=!0,l=l.toString()||void 0;let c=a&&a.ruleIds;l!==c&&(a&&this.update(a.undoOptions,t,!0),l?((h=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:d,undoOptions:h},this.update(d,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e}),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/
2BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u,g,m,f,y,b,x,v,S,C,A,k,M,w,P,T,E,L,O,D,j,N,I){return t.AST=r,t.Axis=p,t.Chart=C,t.Color=N,t.DataLabel=L,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=m,t.Point=b,t.Pointer=x,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=P,t.StackItem=M,t.SVGElement=h,t.SVGRenderer=d,t.Templating=a,t.Tick=f,t.Time=I,t.Tooltip=y,t.animate=o.animate,t.animObject=o.animObject,t.chart=C.chart,t.color=N.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=a.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=P.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),T.compose(t.Series.types.column),L.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),O.compose(t.Chart),E.compose(t.Series.types.pie),m.compose(t.Axis),x.compose(t.Chart),j.compose(t.Chart),A.compose(t.Axis,t.Chart,t.Series),k.compose(t.Axis,t.Chart,t.Series),y.compose(t.Pointer),e.extend(t,e),t}),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]},t.exports?(o.default=o,t.exports=s&&s.document?o(s):o):"function"==typeof define&&define.amd?define("highcharts/highcharts",function(){return o(s)}):(s.Highcharts&&s.Highcharts.error(16,!0),s.Highcharts=o(s))},42443:function(t,e,i){var s,o,r=i(425108);s="undefined"!=typeof window?window:this,o=function(t){"use strict";var e={};function i(e,i,s,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,s),"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.3",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=-1!==i.userAgent.indexOf("Chrome"),i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e}),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(t){let e,i,s;let{charts:o,doc:a,win:n}=t;function l(e,i,s,o){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${a}: Deprecated member`);let h=m(e),d=h?`${a} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==o){let t="";h&&(d+="?"),M(o,function(e,i){t+=`
3 - ${i}: ${e}`,h&&(d+=encodeURI(i)+"="+encodeURI(e))}),d+=t}P(t,"displayError",{chart:s,code:e,message:d,params:o},function(){if(i)throw Error(d);n.console&&-1===l.messages.indexOf(d)&&r.warn(d)}),l.messages.push(d)}function h(t,e){return parseInt(t,e||10)}function d(t){return"string"==typeof t}function c(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function p(t,e){return!!t&&"object"==typeof t&&(!e||!c(t))}function u(t){return p(t)&&"number"==typeof t.nodeType}function g(t){let e=t&&t.constructor;return!!(p(t,!0)&&!u(t)&&e&&e.name&&"Object"!==e.name)}function m(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-Infinity}function f(t){return null!=t}function y(t,e,i){let s;let o=d(e)&&!f(i),r=(e,i)=>{f(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return d(e)?r(i,e):M(e,r),s}function b(t){return c(t)?t:[t]}function x(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function v(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function S(t,e){x(t.style,e)}function C(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function A(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}(l||(l={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let k=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function M(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function w(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,M(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function P(e,i,s,o){if(s=s||{}
vendor: 4,874 bytes, line 3
3,a.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){let t=a.createEvent("Events");t.initEvent(i,!0,!0),s=x(t,s),e.dispatchEvent?e.dispatchEvent(s):e.fireEvent(i,s)}else if(e.hcEvents){s.target||x(s,{preventDefault:function(){s.defaultPrevented=!0},target:e,type:i});let t=[],o=e,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[i]&&(t.length&&(r=!0),t.unshift.apply(t,o.hcEvents[i])),o=Object.getPrototypeOf(o);r&&t.sort((t,e)=>t.order-e.order),t.forEach(t=>{!1===t.fn.call(e,s)&&s.preventDefault()})}o&&!s.defaultPrevented&&o.call(e,s)}M({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){t[i]=function(t){return l(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});let T=(i=Math.random().toString(36).substring(2,9)+"-",s=0,function(){return"highcharts-"+(e?"":i)+s++});return n.jQuery&&(n.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new t[d(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):o[y(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,o={}){let r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let a=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let n=e.addEventListener;n&&n.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===o.passive?-1!==i.indexOf("touch"):o.passive,capture:!1}),a[i]||(a[i]=[]);let l={fn:s,order:"number"==typeof o.order?o.order:1/0};return a[i].push(l),a[i].sort((t,e)=>t.order-e.order),function(){w(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i},attr:y,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){f(t)&&clearTimeout(t)},correctFloat:A,createElement:function(t,e,i,s,o){let r=a.createElement(t);return e&&x(r,e),o&&S(r,{padding:"0",border:"none",margin:"0"}),i&&S(r,i),s&&s.appendChild(r),r},crisp:(t,e=0,i)=>{let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:S,defined:f,destroyObjectProperties:function(t,e,i){M(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})},diffObjects:function(t,e,i,s){let o={};return function t(e,o,r,a){let n=i?o:e;M(e,function(i,l){if(!a&&s&&s.indexOf(l)>-1&&o[l]){i=b(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],a+1)))}else p(i,!0)&&!i.nodeType?(r[l]=c(i)?[]:{},t(i,o[l]||{},r[l],a+1),0!==Object.keys(r[l]).length||"colorAxis"===l&&0===a||delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=n[l])})}(t,e,o,0),o},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}},error:l,extend:x,extendClass:function(t,e){let i=function(){};return i.prototype=new t,x(i.prototype,e),i},find:k,fireEvent:P,getClosestDistance:function(t,e){let i,s,o,r;let a=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i},getMagnitude:C,getNestedProperty:function(t,e){let i=t.split(".");for(;i.length&&f(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return p(e)&&(t=e["@this"]),t??e}let s=e[t];if(!f(s)||"function"==typeof s||"number"==typeof s.nodeType||s===n)return;e=s}return e},getStyle:function t(e,i,s){let o;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth),s=e.getBoundingClientRect&&e.getBoundingClientRect().width;return s<i&&s>=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=n.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),v(s,"opacity"!==i)&&(o=h(o))),o},inArray:function(t,e,i){return l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;let s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||m(s)&&s<v(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i},isArray:c,isClass:g,isDOMElement:u,isFunction:function(t){return"function"==typeof t},isNumber:m,isObject:p,isString:d,keys:function(t){return l(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,e=arguments,i={},s=function(t,e){return"object"!=typeof t&&(t={}),M(e,function(i,o){"__proto__"!==o&&"constructor"!==o&&(!p(i,!0)||g(i)||u(i)?t[o]=e[o]:t[o]=s(t[o]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));let o=e.length;for(t=0;t<o;t++)i=s(i,e[t]);return i}
3,normalizeTickInterval:function(t,e,i,s,o){let r,a=t;i=v(i,C(t));let n=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(a=e[r],(!o||!(a*i>=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return A(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:M,offset:function(t){let e=a.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:v,pInt:h,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:w,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:b,stableSort:function(t,e){let i,s;let o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI},syncTimeout:function(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:T,useSerialIds:function(t){return e=v(t,e)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}}),i(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),i(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{win:i}=t,{defined:s,error:o,extend:r,isNumber:a,isObject:n,merge:l,objectEach:h,pad:d,pick:c,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,m=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class f{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let o=e["getUTC"+t]();return e.setTime(i),o}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),o=e.getTime()-s;e.setTime(o),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return o=e.getTime()+r,e.setTime(o)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=c(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)}makeTime(t,e,i,s,o,r){let a,n,l;return this.useUTC?(a=this.Date.UTC.apply(0,arguments),n=this.getTimezoneOffset(a),a+=n,n!==(l=this.getTimezoneOffset(a))?a+=l-n:n-36e5!==this.getTimezoneOffset(a-36e5)||m||(a-=36e5)):a=new this.Date(t,e,c(i,1),c(s,0),c(o,0),c(r,0)).getTime(),a}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i=`shortOffset,${e.timezone||""}`,[s,o,r,n,l=0]=(f.formatCache[i]=f.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-(36e5*(r+l/60));if(a(h))return h}catch(t){o(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,o){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invali
3dDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");let a=this,n=new this.Date(i),l=this.get("Hours",n),p=this.get("Day",n),u=this.get("Date",n),g=this.get("Month",n),m=this.get("FullYear",n),f=t.defaultOptions.lang,y=f&&f.weekdays,b=f&&f.shortWeekdays;return h(r({a:b?b[p]:y[p].substr(0,3),A:y[p],d:d(u),e:d(u,2," "),w:p,b:f.shortMonths[g],B:f.months[g],m:d(g+1),o:g+1,y:m.toString().substr(2,2),Y:m,H:d(l),k:l,I:d(l%12||12),l:l%12||12,M:d(this.get("Minutes",n)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:d(this.get("Seconds",n)),L:d(Math.floor(i%1e3),3)},t.dateFormats),function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(a,i):t)}),o?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return n(t,!0)?t:{main:(t=p(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,o){let a,n,l,h;let d=this,p=d.Date,g=[],m={},f=new p(e),y=t.unitRange,b=t.count||1;if(o=c(o,1),s(e)){d.set("Milliseconds",f,y>=u.second?0:b*Math.floor(d.get("Milliseconds",f)/b)),y>=u.second&&d.set("Seconds",f,y>=u.minute?0:b*Math.floor(d.get("Seconds",f)/b)),y>=u.minute&&d.set("Minutes",f,y>=u.hour?0:b*Math.floor(d.get("Minutes",f)/b)),y>=u.hour&&d.set("Hours",f,y>=u.day?0:b*Math.floor(d.get("Hours",f)/b)),y>=u.day&&d.set("Date",f,y>=u.month?1:Math.max(1,b*Math.floor(d.get("Date",f)/b))),y>=u.month&&(d.set("Month",f,y>=u.year?0:b*Math.floor(d.get("Month",f)/b)),n=d.get("FullYear",f)),y>=u.year&&(n-=n%b,d.set("FullYear",f,n)),y===u.week&&(h=d.get("Day",f),d.set("Date",f,d.get("Date",f)-h+o+(h<o?-7:0))),n=d.get("FullYear",f);let t=d.get("Month",f),r=d.get("Date",f),c=d.get("Hours",f);e=f.getTime(),(d.variableTimezone||!d.useUTC)&&s(i)&&(l=i-e>4*u.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));let p=f.getTime();for(a=1;p<i;)g.push(p),y===u.year?p=d.makeTime(n+a*b,0):y===u.month?p=d.makeTime(n,t+a*b):l&&(y===u.day||y===u.week)?p=d.makeTime(n,t,r+a*b*(y===u.day?1:7)):l&&y===u.hour&&b>1?p=d.makeTime(n,t,r,c+a*b):p+=y*b,a++;g.push(p),y<=u.hour&&g.length<1e4&&g.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(m[t]="day")})}return g.info=r(t,{higherRanks:m,totalRange:y*b}),g}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",l=n;for(n in u){if(t===u.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(u[n]>t){n=l;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(l=n)}return this.resolveDTLFormat(s[n]).main}}return f.formatCache={},f}),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{isTouchDevice:r}=e,{fireEvent:a,merge:n}=o,l={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return a(e,"setOptions",{options:t}),n(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(n(l.global,l.time,t.global,t.time)):e.time=h),l}}}),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isNumber:i,merge:s,pInt:o}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,o,a;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let n=t.Color;if(n&&n!==r)return new n(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>
3new r(t[1]));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(0xff0000&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(o=r.parsers.length;o--&&!s;)(i=(a=r.parsers[o]).regex.exec(e))&&(s=a.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,o=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return o&&i(o[0])?"rgb"!==t&&(t||1!==o[3])?"a"===t?`${o[3]}`:"rgba("+o.join(",")+")":"rgb("+o[0]+","+o[1]+","+o[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=o(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,o=t.rgba;if(!i(s[0])||!i(o[0]))return t.input||"none";let r=1!==o[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(o[0]+(s[0]-o[0])*(1-e))+","+Math.round(o[1]+(s[1]-o[1])*(1-e))+","+Math.round(o[2]+(s[2]-o[2])*(1-e))+(r?","+(o[3]+(s[3]-o[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),1]}}],r.None=new r(""),r}),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{win:o}=e,{isNumber:r,objectEach:a}=i;class n{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let a=e[t],n=i[t],l=[];for(let t=0;t<n.length;t++){let e=a[t],i=n[t];r(e)&&r(i)&&!("A"===n[0]&&(4===t||5===t))?l[t]=e+s*(i-e):l[t]=i}o.push(l)}else o=i}else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,r=s.options,a=function(t){return!a.stopped&&s.step(t)},l=o.requestAnimationFrame||function(t){setTimeout(t,13)},h=function(){for(let t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&l(h)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&1===n.timers.push(a)&&l(h)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let e,i;let s=+new Date,o=this.options,r=this.elem,n=o.complete,l=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,a(h,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,a=i.slice(),n=t.isArea,l=n?2:1,h,d,c,p,u=e&&e.slice();if(!u)return[a,a];function g(t,e){for(;t.length<d;){let i=t[0],s=e[d-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function m(t){for(;t.length<d;){let e=t[Math.floor(t.length/l)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(c=0;c<s.length;c++){if(s[c]===o[0]){h=c;break}if(s[0]===o[o.length-s.length+c]){h=c,p=!0;break}if(s[s.length-1]===o[o.length-s.length+c]){h=s.length-c;break}}void 0===h&&(u=[])}return u.length&&r(h)&&(d=a.length+h*l,p?(g(u,a),m(a)):(g(a,u),m(u))),[u,a]}fillSetter(){n.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return n.timers=[],n}
3),i(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,getStyle:s,isArray:o,isNumber:r,isObject:a,merge:n,objectEach:l,pick:h}=e;function d(t){return a(t)?n({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function c(e,i){let s=t.timers.length;for(;s--;)t.timers[s].elem!==e||i&&i!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(e,i,h){let d,p="",u,g,m;a(h)||(m=arguments,h={duration:m[2],easing:m[3],complete:m[4]}),r(h.duration)||(h.duration=400),h.easing="function"==typeof h.easing?h.easing:Math[h.easing]||Math.easeInOutSine,h.curAnim=n(i),l(i,function(r,a){c(e,a),g=new t(e,h,a),u=void 0,"d"===a&&o(i.d)?(g.paths=g.initPath(e,e.pathArray,i.d),g.toD=i.d,d=0,u=1):e.attr?d=e.attr(a):(d=parseFloat(s(e,a))||0,"opacity"!==a&&(p="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),g.run(d,u,p)})},animObject:d,getDeferredAnimation:function(t,e,s){let o=d(e),r=s?[s]:t.series,n=0,l=0;return r.forEach(t=>{let s=d(t.options.animation);n=a(e)&&i(e.defer)?o.defer:Math.max(n,s.duration+s.defer),l=Math.min(o.duration,s.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-l),duration:Math.min(n,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:c}}),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{SVG_NS:i,win:s}=t,{attr:o,createElement:r,css:a,error:n,isFunction:l,isString:h,objectEach:d,splat:c}=e,{trustedTypes:p}=s,u=p&&l(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",m=function(){try{return!!new DOMParser().parseFromString(g,"text/html")}catch(t){return!1}}();class f{static filterUserAttributes(t){return d(t,(e,i)=>{let s=!0;-1===f.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&f.allowedReferences.some(t=>0===e.indexOf(t))),s||(n(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return c(s).forEach(function(s){let h;let c=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=f.bypassHTMLFiltering;if(c){if("#text"===c)h=p;else if(-1!==f.allowedTags.indexOf(c)||u){let n="svg"===c?i:r.namespaceURI||i,l=t.doc.createElementNS(n,c),g=s.attributes||{};d(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)}),o(l,u?g:f.filterUserAttributes(g)),s.style&&a(l,s.style),p&&l.appendChild(p),e(s.children||[],l),h=l}else n(33,!1,void 0,{"Invalid tagName in config":c})}h&&r.appendChild(h),l=h}),l}(this.nodes,e)}parseMarkup(t){let e;let i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),m)e=new DOMParser().parseFromString(u?u.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=f.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}return f.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","
3summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],f.emptyHTML=g,f.bypassHTMLFiltering=!1,f}),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:o,getNestedProperty:r,isArray:a,isNumber:n,isObject:l,pick:h,pInt:d}=e,c={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!a(t)&&t.map((i,s)=>p(e.body,o(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,o){let a=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,n=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,l=[],d=/f$/,g=/\.([0-9])/,m=i.lang,f=o&&o.time||s,y=o&&o.numberFormatter||u,b=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},x,v,S=0,C;for(;null!==(x=a.exec(t));){let i=n.exec(x[1]);i&&(x=i,C=!0),v&&v.isBlock||(v={ctx:e,expression:x[1],find:x[0],isBlock:"#"===x[1].charAt(0),start:x.index,startInner:x.index+x[0].length,length:x[0].length});let s=x[1].split(" ")[0].replace("#","");c[s]&&(v.isBlock&&s===v.fn&&S++,v.fn||(v.fn=s));let o="else"===x[1];if(v.isBlock&&v.fn&&(x[1]===`/${v.fn}`||o)){if(S)!o&&S--;else{let e=v.startInner,i=t.substr(e,x.index-e);void 0===v.body?(v.body=i,v.startInner=x.index+x[0].length):v.elseBody=i,v.find+=i+x[0],o||(l.push(v),v=void 0)}}else v.isBlock||l.push(v);if(i&&!v?.isBlock)break}return l.forEach(i=>{let s,r;let{body:a,elseBody:n,expression:l,fn:u}=i;if(u){let t=[i],h=l.split(" ");for(r=c[u].length;r--;)t.unshift(b(h[r+1]));s=c[u].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?a:n,e,o))}else{let t=l.split(":");if(s=b(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(d.test(e)){let t=parseInt((e.match(g)||["","-1"])[1],10);null!==s&&(s=y(s,t,m.decimalPoint,e.indexOf(",")>-1?m.thousandsSep:""))}else s=f.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))}),C?p(t,e,o):t}function u(t,e,s,o){let r,a;t=+t||0,e=+e;let l=i.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(c,20):n(e)?e&&p[1]&&p[1]<0&&((a=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(a).split("e")[0],e=a):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;let g=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,c)-1)).toFixed(e),m=String(d(g)),f=m.length>3?m.length%3:0;return s=h(s,l.decimalPoint),o=h(o,l.thousandsSep),r=(t<0?"-":"")+(f?m.substr(0,f)+o:""),0>+p[1]&&!u?r="0":r+=m.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+o),e?r+=s+g.slice(-e):0==+r&&(r="0"),p[1]&&0!=+r&&(r+="e"+p[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:c,numberFormat:u}}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,o,r){i.rendererTypes[e]=o,(!s||r)&&(s=e,t.Renderer=o)},e}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e;let{clamp:i,pick:s,pushUnique:o,stableSort:r}=t;return(e||(e={})).distribute=function t(e,a,n){let l=e,h=l.reducedLen||a,d=(t,e)=>t.target-e.target,c=[],p=e.length,u=[],g=c.push,m,f,y,b=!0,x,v,S=0,C;for(m=p;m--;)S+=e[m].size;if(S>h){for(r(e,(t,e)=>(e.rank||0)-(t.rank||0)),y=(C=e[0].rank===e[e.length-1].rank)?p/2:-1,f=C?y:p-1;y&&S>h;)x=e[m=Math.floor(f)],o(u,m)&&(S-=x.size),f+=y,C&&f>=e.length&&(y/=2,f=y);u.sort((t,e)=>e-t).forEach(t=>
vendor: 7,287 bytes, line 3
3g.apply(c,e.splice(t,1)))}for(r(e,d),e=e.map(t=>({size:t.size,targets:[t.target],align:s(t.align,.5)}));b;){for(m=e.length;m--;)x=e[m],v=(Math.min.apply(0,x.targets)+Math.max.apply(0,x.targets))/2,x.pos=i(v-x.size*x.align,0,a-x.size);for(m=e.length,b=!1;m--;)m>0&&e[m-1].pos+e[m-1].size>e[m].pos&&(e[m-1].size+=e[m].size,e[m-1].targets=e[m-1].targets.concat(e[m].targets),e[m-1].align=.5,e[m-1].pos+e[m-1].size>a&&(e[m-1].pos=a-e[m-1].size),e.splice(m,1),b=!0)}return g.apply(l,c),m=0,e.some(e=>{let i=0;return(e.targets||[]).some(()=>(l[m].pos=e.pos+i,void 0!==n&&Math.abs(l[m].pos-l[m].target)>n)?(l.slice(0,m+1).forEach(t=>delete t.pos),l.reducedLen=(l.reducedLen||a)-.1*a,l.reducedLen>.1*a&&t(l,a,n),!0):(i+=l[m].size,m++,!1))}),r(l,d),l},e}),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{animate:o,animObject:r,stop:a}=t,{deg2rad:n,doc:l,svg:h,SVG_NS:d,win:c}=i,{addEvent:p,attr:u,createElement:g,crisp:m,css:f,defined:y,erase:b,extend:x,fireEvent:v,isArray:S,isFunction:C,isObject:A,isString:k,merge:M,objectEach:w,pick:P,pInt:T,pushUnique:E,replaceNested:L,syncTimeout:O,uniqueKey:D}=s;class j{_defaultGetter(t){let e=P(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o,r,a,n;let l={},h=this.renderer,d=h.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let p=!i||k(i)?i||"renderer":void 0;p&&(c&&E(d,this),i=void 0);let u=P(i,h[p],h),g=t.align,m=t.verticalAlign;return o=(u.x||0)+(t.x||0),r=(u.y||0)+(t.y||0),"right"===g?a=1:"center"===g&&(a=2),a&&(o+=((u.width||0)-(t.width||0))/a),l[e?"translateX":"x"]=Math.round(o),"bottom"===m?n=1:"middle"===m&&(n=2),n&&(r+=((u.height||0)-(t.height||0))/n),l[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](l),this.placed=!0),this.alignAttr=l,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(P(e,this.renderer.globalAnimation,!0)),a=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),O(()=>{this.element&&o(this,t,s)},a)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),o=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=l.createElementNS(d,"tspan");u(t,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":r,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let s=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});let a=l.createElementNS(d,"tspan");a.textContent="​",u(a,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=j.symbolCustomAttribs,n,l,h=this,d;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(w(t,function(e,i){d=!1,s||a(this,i),this.symbolName&&-1!==r.indexOf(i)&&(l||(this.symbolAttr(t),l=!0),d=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),d||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=D()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=m(i,e),n=m(s,e);return x(t,{x:a,y:n,width:m(o,e)-a,height:m(r,e)-n}),y(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let o=this.renderer,r,a,n,l,h,d,c,p,u,g,m=[],f;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?a="radialGradient":t.linearGradient&&(a="linearGradient"),a){if(n=t[a],h=o.gradients,d=t.stops,u=s.radialReference,S(n)&&(t[a]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===a&&u&&!y(n.gradientUnits)&&(l=n,n=M(n,o.getRadialAttr(u,l),{gradientUnits:"userSpaceOnUse"})),w(n,function(t,e){"id"!==e&&m.push(e,t)}),w(d,function(t){m.push(t)}),h[m=m.join(",")])g=h[m].attr("id");else{n.id=g=D();let t=h[m]=o.createElement(a).attr(n).add(o.defs);t.radAttr=l,t.stops=[],d.forEach(function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),p=r.get("a")):(c=i[1],p=1);let s=o.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":p}).add(t);t.stops.push(s)})}f="url("+o.url+"#"+g+")",s.setAttribute(i,f),s.gradient=m,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&w(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=x(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=T(t.width)),x(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let r=M(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>r&&delete r[t]),r.color&&(r.fill=r.color)),f(s,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+T(s[e])*P(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,a(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.i
3d)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;n<t.stops.length;n++)t.stops[n].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);o&&o.div&&0===o.div.childNodes.length;)r=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=r;t.alignOptions&&b(i.alignedObjects,t),w(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})}dSetter(t,e,i){S(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r;let{alignValue:a,element:n,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=n.namespaceURI===this.SVG_NS,g=P(e,this.rotation,0),m=l.styledMode?n&&j.prototype.getStyle.call(n,"font-size"):h.fontSize;if(y(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/[0-9]/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,a,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&f(e,{display:t})},C(o)&&o("none"),i=n.getBBox?x({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},C(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g))}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:l,rotationOriginX:h=0,rotationOriginY:d=0}=this,c={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(l?0:s),u=e*n,g=(e-90)*n,m=Math.cos(u),f=Math.sin(u),y=o*m,b=o*f,x=Math.cos(g),v=Math.sin(g),[[S,C],[A,k]]=[h,d].map(t=>[t-t*m,t*f]),M=i+c*(o-y)+S+k+p*x,w=M+y,P=w-r*x,T=P-y,E=s+p-c*b-C+A+p*v,L=E+b,O=L-r*v,D=O-b,j=Math.min(M,w,P,T),N=Math.min(E,L,O,D),I=Math.max(M,w,P,T)-j,B=Math.max(E,L,O,D)-N;return{x:j,y:N,width:I,height:B}}getStyle(t){return c.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=d,this.element="span"===e||"body"===e?g(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=p(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(k(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=M(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,o=s.textPath,{attributes:r,enabled:a}=e;if(t=t||o&&o.path,o&&o.undo(),t&&a){let e=p(s,"afterModifyTree",e=>{if(t&&a){let o=t.attr("id");o||t.attr("id",o=D());let a={x:0,y:0};y(r.dx)&&(a.dx=r.dx,delete r.dx),y(r.dy)&&(a.dy=r.dy,delete r.dy),s.attr(a),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let n=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:x(r,{"text-anchor":r.textAnchor,href:`${i}#${o}`}),children:n}}});s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}shadow(t){let{renderer:e}=this,i=M(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},A(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=T(t):""!==t&&(u(i=l.createElementNS(d,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
3j.symbolCustomAttribs.forEach(function(i){e[i]=P(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(P(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:a,scaleY:n,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];y(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+P(o,e.getAttribute("x"),0)+" "+P(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(y(a)||y(n))&&d.push("scale("+P(a,1)+" "+P(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,l,h,d=!1,c,p=this.added,u;if(y(t)?(r.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):y(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=o.childNodes).length-1;u>=0&&!d;u--)c=!y(h=(l=n[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!a&&!u?(o.insertBefore(r,n[u]),d=!0):(T(h)<=t||c&&(!y(t)||t>=0))&&(o.insertBefore(r,n[u+1]),d=!0));d||(o.insertBefore(r,n[a?3:0]),d=!0)}return d}}return j.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],j.prototype.strokeSetter=j.prototype.fillSetter,j.prototype.yGetter=j.prototype.xGetter,j.prototype.matrixSetter=j.prototype.rotationOriginXSetter=j.prototype.rotationOriginYSetter=j.prototype.rotationSetter=j.prototype.scaleXSetter=j.prototype.scaleYSetter=j.prototype.translateXSetter=j.prototype.translateYSetter=j.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},j}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:o,merge:r,pick:a,removeEvent:n}=e;class l extends t{constructor(t,e,i,s,o,r,a,n,h,d){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&o(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=r(e),l.textProps.forEach(i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])}),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){n(this.element,"mouseenter"),n(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,l=a(this.paddingLeft,i),h=e??(this.rotation||0),d={width:n,height:s,x:o+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};
vendor: 4,194 bytes, line 3
3return h&&(d=this.getRotatedBox(d,h)),d}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:a(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){o(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t;let e=this.text,r={},a=this.padding,n=this.bBox=(!o(this.widthSetting)||!o(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):l.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*a;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||h).b,n.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),r.x=t,r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=a(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=o(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=a(this.paddingLeft,t),i=a(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t;function o(t,i,o,r,a){let n=[];if(a){let l=a.start||0,h=s(a.r,o),d=s(a.r,r||o),c=2e-4/Math.max(h,1),p=Math.abs((a.end||0)-l-2*Math.PI)<c,u=(a.end||0)-c,g=a.innerR,m=s(a.open,p),f=Math.cos(l),y=Math.sin(l),b=Math.cos(u),x=Math.sin(u),v=s(a.longArc,u-l-Math.PI<c?0:1),S=["A",h,d,0,v,s(a.clockwise,1),t+h*b,i+d*x];S.params={start:l,end:u,cx:t,cy:i},n.push(["M",t+h*f,i+d*y],S),e(g)&&((S=["A",g,g,0,v,e(a.clockwise)?1-a.clockwise:0,t+g*f,i+g*y]).params={start:u,end:l,cx:t,cy:i},n.push(m?["M",t+g*b,i+g*x]:["L",t+g*b,i+g*x],S)),m||n.push(["Z"])}return n}function r(t,e,i,s,o){return o&&o.r?a(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function a(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:o,callout:function(t,e,s,o,r){let n=Math.min(r&&r.r||0,s,o),l=n+6,h=r&&r.anchorX,d=r&&r.anchorY||0,c=a(t,e,s,o,{r:n});if(!i(h)||h<s&&h>0&&d<o&&d>0)return c;if(t+h>s-l){if(d>e+l&&d<e+o-l)c.splice(3,1,["L",t+s,d-6],["L",t+s+6,d],["L",t+s,d+6],["L",t+s,e+o-n]);else if(h<s){let i=d<e+l,r=i?e:e+o;c.splice(i?2:5,0,["L",h,d],["L",t+s-n,r])}else c.splice(3,1,["L",t+s,o/2],["L",h,d],["L",t+s,o/2],["L",t+s,e+o-n
vendor: 5,520 bytes, line 3
3])}else if(t+h<l){if(d>e+l&&d<e+o-l)c.splice(7,1,["L",t,d+6],["L",t-6,d],["L",t,d-6],["L",t,e+n]);else if(h>0){let i=d<e+l,s=i?e:e+o;c.splice(i?1:6,0,["L",h,d],["L",t+n,s])}else c.splice(7,1,["L",t,o/2],["L",h,d],["L",t,o/2],["L",t,e+n])}else d>o&&h<s-l?c.splice(5,1,["L",h+6,e+o],["L",h,e+o+6],["L",h-6,e+o],["L",t+n,e+o]):d<0&&h>l&&c.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-n,e]);return c},circle:function(t,e,i,s){return o(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:a,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s,SVG_NS:o,win:r}=e,{attr:a,extend:n,fireEvent:l,isString:h,objectEach:d,pick:c}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,o=e.renderer,r=c(e.textStr,"").toString(),a=-1!==r.indexOf("<"),n=i.childNodes,l=!e.added&&o.box,d=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=n.length;t--;)i.removeChild(n[t]);if(a||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=a(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),a(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let n=this.width||0;if(!n)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),c=this.getLineHeight(r),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,n-.8*c),(t,e)=>t.substring(0,e)+"…");else if(d){let l=[],d=[];for(;r.firstChild&&r.firstChild!==t;)d.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&p>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===p&&u||0,n,(t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,p++;d.forEach(e=>{r.insertBefore(e,t)}),l.forEach(e=>{r.insertBefore(s.createTextNode(e),t);let n=s.createElementNS(o,"tspan");n.textContent="​",a(n,{dy:c,x:i}),r.insertBefore(n,t)})}},h=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===r.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}getLineHeight(t){let e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===l||"em"===l)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===l){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),n(i,{attributes:o,style:a}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r){let a,n;let l=this.svgElement,{rotation:h}=l,d=[],c=i?1:0,p=(e||i||"").length,u=p,g=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===d[r]&&a.getSubStringLength)try{d[r]=s+a.getSubStringLength(0,i?r+1:r)}catch(t){}return d[r]};if(l.rotation=0,s+(n=g(t.textContent.length))>o){for(;c<=p;)u=Math.ceil((c+p)/2),i&&(a=r(i,u)),n=g(u,a&&a.length-1),c===p?c=p+1:n>o?p=u-1:c=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=a||r(e||i,u))}i&&i.splice(0,u),l.actualWidth=n,l.rotation=h}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 4,577 bytes, line 3
3i,s,o,r,a,n,l,h){let d;let{defaultOptions:c}=e,{charts:p,deg2rad:u,doc:g,isFirefox:m,isMS:f,isWebKit:y,noop:b,SVG_NS:x,symbolSizes:v,win:S}=s,{addEvent:C,attr:A,createElement:k,crisp:M,css:w,defined:P,destroyObjectProperties:T,extend:E,isArray:L,isNumber:O,isObject:D,isString:j,merge:N,pick:I,pInt:B,replaceNested:R,uniqueKey:z}=h;class F{constructor(t,e,i,s,o,r,a){let n,l;let h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;a||h.css(this.getStyle(s||{})),t.appendChild(d),A(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&A(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.3")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),m&&t.getBoundingClientRect&&((n=function(){w(t,{left:0,top:0}),l=t.getBoundingClientRect(),w(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=C(S,"resize",n))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((m||y)&&g.getElementsByTagName("base").length){if(!P(d)){let e=z(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body);w(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);d="hitme"===(s&&s.id),g.body.removeChild(i)}if(d)return R(S.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=E({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),T(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=N({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new l(t).buildSVG()}getContrast(t){let e=i.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,o,r={},a,n,l,h,d){let p=this.label(e,i,s,h,void 0,void 0,d,void 0,"button"),u=this.styledMode,g=arguments,m=0;r=N(c.global.buttonTheme,r),u&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let y=r.states||{},b=r.style||{};delete r.states,delete r.style;let x=[t.filterUserAttributes(r)],v=[b];return u||["hover","select","disabled"].forEach((e,i)=>{x.push(N(x[0],t.filterUserAttributes(g[i+5]||y[e]||{}))),v.push(x[i+1].style),delete x[i+1].style}),C(p.element,f?"mouseover":"mouseenter",function(){3!==m&&p.setState(1)}),C(p.element,f?"mouseout":"mouseleave",function(){3!==m&&p.setState(m)}),p.setState=(t=0)=>{if(1!==t&&(p.state=m=t),p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){p.attr(x[t]);let e=v[t];D(e)&&p.css(e)}},p.attr(x[0]),!u&&(p.css(E({cursor:"default"},b)),d&&p.text.css({pointerEvents:"none"})),p.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==m&&o.call(p,t)})}crispLine(t,e){let[i,s]=t;return P(i[1])&&i[1]===s[1]&&(i[1]=s[1]=M(i[1],e)),P(i[2])&&i[2]===s[2]&&(i[2]=s[2]=M(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:D(t)&&E(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");
vendor: 4,120 bytes, line 3
3return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;D(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,E(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,A(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:I(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};O(e)&&(a.x=e),O(i)&&(a.y=i),O(s)&&(a.width=s),O(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new S.Image;C(e,"load",l),e.src=t,e.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,h;let d=this,c=/^url\((.*?)\)$/,u=c.test(t),m=!u&&(this.symbols[t]?t:"circle"),f=m&&this.symbols[m];if(f)"number"==typeof e&&(n=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),E(a,{symbolName:m||void 0,x:e,y:i,width:s,height:o}),r&&E(a,r);else if(u){l=t.match(c)[1];let s=a=this.image(l);s.imgwidth=I(r&&r.width,v[l]&&v[l].width),s.imgheight=I(r&&r.height,v[l]&&v[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:l}=this,h="width"===e?n:l,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&l?(d=Math.min(o/n,a/l),A(s,{width:Math.round(n*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&n&&l&&this.translate(((o||0)-n*d)/2,((a||0)-l*d)/2)}}),P(e)&&s.attr({x:e,y:i}),s.isImg=!0,P(s.imgwidth)&&P(s.imgheight)?h(s):(s.attr({width:0,height:0}),k("img",{onload:function(){let t=p[d.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),v[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),P(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=B(r.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*u),4)),{x:-t/3*Math.sin(e*u),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)j(i[0])&&O(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,l,h){return new a(this,t,e,i,s,o,r,n,l,h)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}return E(F.prototype,{Element:r,SVG_NS:x,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:n,draw:b}),o.registerRendererType("svg",F,!0),F}),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,
3i,s){let{composed:o}=e,{attr:r,css:a,createElement:n,defined:l,extend:h,pInt:d,pushUnique:c}=s;function p(t,e,s){let o=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),o&&(o[e]=t)}let u=(t,e)=>{if(!t.div){let s=r(t.element,"class"),o=t.css,a=n("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),a.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,a.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=p,t.css=e=>(o.call(t,e),e.cursor&&(a.style.cursor=e.cursor),e.pointerEvents&&(a.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:a,onEvents:t.onEvents},arguments),t},t.div=a}return t.div};class g extends i{static compose(t){c(o,this.compose)&&(t.prototype.html=function(t,e,i){return new g(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=d(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),a(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,styles:r,textAlign:n="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,g=r.whiteSpace;if(a(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let r=[i,n,t.innerHTML,h,this.textAlign].join(","),d=-(this.parentGroup?.padding*1)||0,c,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(a(t,{width:"",whiteSpace:g||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(a(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:g||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,r!==this.cTT&&(c=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||n!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.get
3SpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,c,{left:0,center:.5,right:1}[n]));let{xCorr:f=0,yCorr:y=0}=this,b=(s??p)-f-p-d,x=(o??u)-y-u-d;a(t,{left:`${p+f}px`,top:`${u+y}px`,transformOrigin:`${b}px ${x}px`}),this.cTT=r,this.oldRotation=i,this.oldAlign=n}}setSpanRotation(t,e,i){a(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=u(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,e??""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let m=g.prototype;return m.visibilitySetter=m.opacitySetter=p,m.ySetter=m.rotationSetter=m.rotationOriginXSetter=m.rotationOriginYSetter=m.xSetter,g}),i(e,"Core/Axis/AxisDefaults.js",[],function(){var t,e;return(e=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,isFunction:s,objectEach:o,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},o(e.events,function(e,o){t.eventOptions[o]!==e&&(t.eventOptions[o]&&(r(t,o,t.eventOptions[o]),delete t.eventOptions[o]),s(e)&&(t.eventOptions[o]=e,i(t,o,e,{order:0})))})},e}),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{deg2rad:s}=e,{clamp:o,correctFloat:r,defined:a,destroyObjectProperties:n,extend:l,fireEvent:h,isNumber:d,merge:c,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e=this,i=e.axis,s=i.options,o=i.chart,n=i.categories,c=i.logarithmic,p=i.names,g=e.pos,m=u(e.options&&e.options.labels,s.labels),f=i.tickPositions,y=g===f[0],b=g===f[f.length-1],x=(!m.step||1===m.step)&&1===i.tickInterval,v=f.info,S=e.label,C,A,k,M=this.parameters.category||(n?u(n[g],p[g],g):g);c&&d(M)&&(M=r(c.lin2log(M))),i.dateTime&&(v?C=(A=o.time.resolveDTLFormat(s.dateTimeLabelFormats[!s.grid&&v.higherRanks[g]||v.unitName])).main:d(M)&&(C=i.dateTime.getXDateFormat(M,s.dateTimeLabelFormats||{}))),e.isFirst=y,e.isLast=b;let w={axis:i,chart:o,dateTimeLabelFormat:C,isFirst:y,isLast:b,pos:g,tick:e,tickPositionInfo:v,value:M};h(this,"labelFormat",w);let P=e=>m.formatter?m.formatter.call(e,e):m.format?(e.text=i.defaultLabelFormatter.call(e),t.format(m.format,e,o)):i.defaultLabelFormatter.call(e),T=P.call(w,w),E=A&&A.list;E?e.shortenLabel=function(){for(k=0;k<E.length;k++)if(l(w,{dateTimeLabelFormat:E[k]}),S.attr({text:P.call(w,w)}),S.getBBox().width<i.getSlotWidth(e)-2*(m.padding||0))return;S.attr({text:""})}:e.shortenLabel=void 0,x&&i._addedPlotLB&&e.moveLabel(T,m),a(S)||e.movedLabel?S&&S.textStr!==T&&!x&&(!S.textWidth||m.style.width||S.styles.width||S.css({width:null}),S.attr({text:T}),S.textPxLength=S.getBBox().width):(e.label=S=e.createLabel(T,m),e.rotation=0)}createLabel(t,e,i){let s=this.axis,o=s.chart,r=a(t)&&e.enabled?o.renderer.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return r&&(o.styledMode||r.css(c(e.style)),r.textPxLength=r.getBBox().width),r}destroy(){n(this,this.axis)}
3getPosition(t,e,i,s){let a=this.axis,n=a.chart,l=s&&n.oldChartHeight||n.chartHeight,d={x:t?r(a.translate(e+i,void 0,void 0,s)+a.transB):a.left+a.offset+(a.opposite?(s&&n.oldChartWidth||n.chartWidth)-a.right-a.left:0),y:t?l-a.bottom+a.offset-(a.opposite?a.height:0):r(l-a.translate(e+i,void 0,void 0,s)-a.transB)};return d.y=o(d.y,-1e5,1e5),h(this,"afterGetPosition",{pos:d}),d}getLabelPosition(t,e,i,o,r,n,l,d){let c,p;let g=this.axis,m=g.transA,f=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,y=g.staggerLines,b=g.tickRotCorr||{x:0,y:0},x=o||g.reserveSpaceDefault?0:-g.labelOffset*("center"===g.labelAlign?.5:1),v=r.distance,S={};return c=0===g.side?i.rotation?-v:-i.getBBox().height:2===g.side?b.y+v:Math.cos(i.rotation*s)*(b.y-i.getBBox(!1,0).height/2),a(r.y)&&(c=0===g.side&&g.horiz?r.y+c:r.y),t=t+u(r.x,[0,1,0,-1][g.side]*v)+x+b.x-(n&&o?n*m*(f?-1:1):0),e=e+c-(n&&!o?n*m*(f?1:-1):0),y&&(p=l/(d||1)%y,g.opposite&&(p=y-p-1),e+=g.labelOffset/y*p),S.x=t,S.y=Math.round(e),h(this,"afterGetLabelPosition",{pos:S,tickmarkOffset:n,index:l}),S}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,o=t.x,r=e.chart.chartWidth,a=e.chart.spacing,n=u(e.labelLeft,Math.min(e.pos,a[3])),l=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,r-a[1])),h=this.label,d=this.rotation,c={left:0,center:.5,right:1}[e.labelAlign||h.attr("align")],p=h.getBBox().width,g=e.getSlotWidth(this),m={},f=g,y=1,b,x,v;d||"justify"!==i.overflow?d<0&&o-c*p<n?v=Math.round(o/Math.cos(d*s)-n):d>0&&o+c*p>l&&(v=Math.round((r-o)/Math.cos(d*s))):(b=o-c*p,x=o+(1-c)*p,b<n?f=t.x+f*(1-c)-n:x>l&&(f=l-t.x+f*c,y=-1),(f=Math.min(g,f))<g&&"center"===e.labelAlign&&(t.x+=y*(g-f-c*(g-Math.min(p,f)))),(p>f||e.autoRotation&&(h.styles||{}).width)&&(v=f)),v&&(this.shortenLabel?this.shortenLabel():(m.width=Math.floor(v)+"px",(i.style||{}).textOverflow||(m.textOverflow="ellipsis"),h.css(m)))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,a;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):p(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,a=this.pos,n=u(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(o,a,n,e),d=l.x,c=l.y,p=s.pos,g=p+s.len,m=o?d:c;!s.chart.polar&&this.isNew&&(r(m)<p||m>g)&&(i=0);let f=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(l,i),this.renderLabel(l,e,f,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,a=this.type,n=u(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+n,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,l=t.y,h=u(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(n,l,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,l=a.labels,h=l.step,c=u(this.tickmarkOffset,o.tickmarkOffset),p=t.x,g=t.y,m=!0;n&&d(p)&&(n.xy=t=this.getLabelPosition(p,g,n,r,l,c,s,h),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):m=!1,h&&s%h&&(m=!1),m&&d(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
3,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){let{animObject:l}=t,{xAxis:h,yAxis:d}=e,{defaultOptions:c}=s,{registerEventOptions:p}=o,{deg2rad:u}=r,{arrayMax:g,arrayMin:m,clamp:f,correctFloat:y,defined:b,destroyObjectProperties:x,erase:v,error:S,extend:C,fireEvent:A,getClosestDistance:k,insertItem:M,isArray:w,isNumber:P,isString:T,merge:E,normalizeTickInterval:L,objectEach:O,pick:D,relativeLength:j,removeEvent:N,splat:I,syncTimeout:B}=n,R=(t,e)=>L(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);C(c,{xAxis:h,yAxis:E(h,d)});class z{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,A(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels,n=r.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===n||!0===r.categories,this.categories=w(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=b(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let l=D(r.crosshair,I(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),M(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!b(this.reversed)&&(this.reversed=!0),this.labelRotation=P(a.rotation)?a.rotation:void 0,p(this,r),A(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=E(e,c[this.coll],t),A(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=P(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,a=c.lang,n=a.numericSymbols,l=a.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,p,u;if(o)u=`${this.value}`;else if(r)u=s.dateFormat(r,i);else if(d&&n&&h>=1e3)for(;d--&&void 0===u;)h>=(p=Math.pow(l,d+1))&&10*i%p==0&&null!==n[d]&&0!==i&&(u=e(i/p,-1)+n[d]);return void 0===u&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}getSeriesExtremes(){let t;let e=this;A(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.xData)&&o.length&&(o=e.logarithmic?o.filter(t=>t>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,P(a)||a instanceof Date||(o=o.filter(P),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(D(e.dataMin,a),a),e.dataMax=Math.max(D(e.dataMax,n),n)));else{let t=i.applyExtremes();P(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(D(e.dataMin,a),a)),P(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(D(e.dataMax,n),n)),b(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),A(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!P(n))return NaN;let l=a.minPixelPadding,h=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(u=(t=t*d+c-l)/p+n,h&&(u=a.lin2val(u))):(h&&(t=a.val2lin(t)),u=d*(t-n)*p+c+d*l+(P(r)?p*r:0),a.isRadial||(u=y(u))),u}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,l=r&&i.oldCh
vendor: 6,009 bytes, line 3
3artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,m,y,b;function x(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=f(t,e,i):b=!0),t}let v={value:a,lineWidth:n,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return A(this,"getPlotLinePath",v,function(t){u=m=(c=f(c=D(c,e.translate(a,void 0,void 0,r)),-1e5,1e5))+d,g=y=l-c-d,P(c)?e.horiz?(g=o,y=l-e.bottom+(i.scrollablePixelsY||0),u=m=x(u,s,s+e.width)):(u=s,m=h-e.right+(i.scrollablePixelsX||0),g=y=x(g,o,o+e.height)):(b=!0,p=!1),t.path=b&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",m,y]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,o,r;let a=y(Math.floor(e/t)*t),n=y(Math.ceil(i/t)*t),l=[];if(y(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=y(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=r-o,n=[],l;if(a&&a/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&n.push.apply(n,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==n[0];l+=i)n.push(l)}return 0!==n.length&&this.trimTicks(n),n}adjustForMinRange(){let t=this.options,e=this.logarithmic,{max:i,min:s,minRange:o}=this,r,a,n,l;this.isXAxis&&void 0===o&&!e&&(o=b(t.min)||b(t.max)||b(t.floor)||b(t.ceiling)?null:Math.min(5*(k(this.series.map(t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),P(i)&&P(s)&&P(o)&&i-s<o&&(a=this.dataMax-this.dataMin>=o,r=(o-i+s)/2,n=[s-r,D(t.min,s-r)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(s=g(n))+o,D(t.max,s+o)],a&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=m(l))-s<o&&(n[0]=i-o,n[1]=D(t.min,i-o),s=g(n))),this.minRange=o,this.min=s,this.max=i}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange;t.xData?.length===1?i.push(t.xData[0]):!t.noSharedTooltip&&b(s)&&t.reserveSpace()&&(e=b(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=k([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=w(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,b(s)||(s=this.options.uniqueNames&&i?e?i.indexOf(t.name):D(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,s){let o;i?.options&&void 0!==i.name&&void 0!==(o=t.nameToX(i))&&o!==i.x&&(i.x=o,e.xData[s]=o)})}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,l=0,h,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?D(e.options.pointRange,a,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;n=Math.max(n,t&&T(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,A(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return P(t)&&P(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:h}=this,d=P(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:m,softMin:f}=l,x=P(g)&&i[this.coll]?.[g],v=l.tickPixelInterval,C=l.maxPadding,k=l.minPadding,M=0,w,T=P(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,E,L,O,j;if(r||e||x||this.getTickAmount(),O=D(this.userMin,l.min),j=D(this.userMax,l.max),x?(this.linkedParent=x,w=x.getExtremes(),this.min=D(w.min,w.dataMin),this.max=D(w.max,w.dataMax),l.type!==x.options.type&&S(11,!0,i)):(h&&b(d)&&P(s)&&P(o)&&(o>=d?(E=d,k=0):s<=d&&(L=d,C=0)),this.min=D(O,E,o),this.max=D(j,L,s)),P(this.max)&&P(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(o,this.min))&&S(10,!0,i),this.min=y(n.log2lin(this.min),16),this.max=y(n.log2lin(this.max),16)),this.range&&P(o)&&(this.userMin=this.min=O=Math.max(o,this.minFromRange()||0),this.userMax=j=this.max,this.range=void 0)),A(this,"foundExtremes"),this.adjustForMinRange(),P(this.min)&&P(this.max)){if(!P(this.userMin)&&P(f)&&f<this.min&&(this.min=O=f),!P(this.userMax)&&P(m)&&m>this.max&&(this.max=j=m),e||this.axisPointRange||this.stacking?.usePercentage||x||!(M=this.max-this.min)||(!b(O)&&k&&(this.min-=M*k),b(j)||!C||(this.max+=M*C)),!P(this.userMin)&&P(u)&&(this.min=Math.max(this.min,u)),!P(this.userMax)&&P(p)&&(this.max=Math.min(this.max,p)),h&&P(o)&&P(s)){let t=d||0;!b(O)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-c):t:!b(j)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+c):t)}!i.polar&&this.min>this.max&&(b(l.min)?this.max=this.min:b(l.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&P(this.min)&&P(this.max)?x&&!T&&v===x.options.tickPixelInterval?this.tickInterval=T=x.tickInterval:this.tickInterval=D(T,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 4,590 bytes, line 3
3this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),A(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),A(this,"initialAxisTranslation"),this.pointRange&&!T&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let N=D(l.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!T&&this.tickInterval<N&&(this.tickInterval=N),r||n||T||(this.tickInterval=R(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,a=o&&t.endOnTick,n=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.single=this.min===this.max&&b(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)n=e.slice();else if(P(this.min)&&P(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=R(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max]))&&(n=l))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&P(this.min)&&P(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),A(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(A(this,"trimTicks"),!this.isLinked){if(e&&s!==-Infinity)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&b(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t;let e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,a="yAxis"===this.coll&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||a)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);P(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!P(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),P(this.threshold)){let t=f((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;b(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:a,thresholdAlignment:n}=t,l=r?.length,h=D(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(y(r[r.length-1]+p)),m=()=>r.unshift(y(r[0]-p));if(P(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),o.reversed&&(u=a-1-u)),t.hasData()&&P(s)&&P(i)){let n=()=>{t.transA*=(l-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(P(u)&&P(t.threshold)){for(;r[u]!==h||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)void 0===r[u]||r[u]>t.threshold?m():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(l<a){for(;r.length<a;)r.length%2||s===h?g():m();n()}if(b(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;
3this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,A(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),A(this,"setExtremes",o=C(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(j(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(j(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(j(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(j(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?y(t.lin2log(this.min)):this.min,max:t?y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-Infinity?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(D(t,0)-90*this.side+720)%360,i={align:"center"};return A(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=D(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return A(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/(((this.categories?1:0)+this.max-this.min)/s),r=t.rotation,a=y(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>n&&t!==1/0&&o!==1/0&&n&&(i=Math.ceil(n/s)),y(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(P(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(a/Math.sin(u*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*a);return this.autoRotation=p,this.labelRotation=D(d,P(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=e.margin[3];if(t&&P(t.slotWidth))return t.slotWidth;if(i&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,a=this.horiz,n=this.getSlotWidth(),l=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.textOverflow,p,u,g=0,m,f;if(T(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel(),e&&e.label&&e.label.textPxLength>g&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=l,!c))for(u="clip",f=i.length;!a&&f--;)(m=s[i[f]].label)&&("ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>n&&m.css({width:n+"px"}),m.getBBox().height>this.len/i.length-(d.h-d.f)&&(m.specificTextOverflow="ellipsis"));h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEac
3h(function(t){let e=s[t],i=e&&e.label,o=r.width,a={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<i.textPxLength||"SPAN"===i.element.tagName)?(a.width=p+"px",c||(a.textOverflow=i.specificTextOverflow||u),i.css(a)):!i.styles.width||a.width||o||i.css({width:null}),delete i.specificTextOverflow,e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&b(this.min)&&b(this.max)}addTitle(t){let e;let i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(E(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new a(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=P(s.crossing),u=e.axisOffset,g=e.clipOffset,m=[-1,1,1,-1][o],f,y=0,x,v=0,S=0,C,k;if(t.showAxis=f=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,D(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){S=Math.max(r[t].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):O(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(f),f&&!p&&!1!==d.reserveSpace&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],v=b(x=d.offset)?0:D(d.margin,i?5:10))),t.renderLine(),t.offset=m*D(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},k=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,C=Math.abs(S)+v,S&&(C-=k,C+=m*(i?D(c.y,t.tickRotCorr.y+m*c.distance):D(c.x,m*c.distance))),t.axisTitleMargin=D(x,C),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),"colorAxis"!==n&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+y+m*t.offset,C,a&&a.length&&e?e[0]+m*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}A(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?u+h:g+(n?this.width:0)+l+h,y:e?g+d-(n?this.height:0)+l:u+d};return A(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new a(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
vendor: 1,170 bytes, line 3
3renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new a(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e;let i=this,s=i.chart,o=i.logarithmic,n=s.renderer,h=i.options,d=i.isLinked,c=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,m=i.alternateBands,f=h.stackLabels,y=h.alternateGridColor,b=h.crossing,x=i.tickmarkOffset,v=i.axisLine,S=i.showAxis,C=l(n.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,m].forEach(function(t){O(t,function(t){t.isActive=!1})}),P(b)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(b,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||d){let n=i.chart.hasRendered&&i.old&&P(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,n)}),c.length&&(c.forEach(function(t,e){i.renderTick(t,e,n)}),x&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new a(i,-1,null,!0)),u[-1].render(-1))),y&&c.forEach(function(a,n){e=void 0!==c[n+1]?c[n+1]+x:i.max-x,n%2==0&&a<i.max&&e<=i.max+(s.polar?-x:x)&&(m[a]||(m[a]=new r.PlotLineOrBand(i,{}
3)),t=a+x,m[a].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:y,className:"highcharts-alternate-grid"},m[a].render(),m[a].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[u,g,m].forEach(function(t){let e=[],i=C.duration;O(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),B(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==m&&s.hasRendered&&i?i:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[S?"show":"hide"](S)),p&&S&&(p[p.isNew?"attr":"animate"](i.getTitlePosition(p)),p.isNew=!1),f&&f.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,A(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||z.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(A(this,"destroy",{keepEvents:t}),t||N(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){x(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();O(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let s=this.crosshair,o=D(s&&s.snap,!0),r=this.chart,a,n,l,h=this.cross,d;if(A(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),s&&!1!==(b(e)||!o)){if(o?b(e)&&(n=D("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):n=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),b(n)&&(d={value:e&&(this.isXAxis?e.x:D(e.stackY,e.y)),translatedValue:n},r.polar&&C(d,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),a=this.getPlotLinePath(d)||null),!b(a)){this.hideCrosshair();return}l=this.categories&&!this.isRadial,h||(this.cross=h=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+(s.className||"")).attr({zIndex:D(s.zIndex,2)}).add(),!r.styledMode&&(h.attr({stroke:s.color||(l?i.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":D(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&h.attr({dashstyle:s.dashStyle}))),h.show().attr({d:a}),l&&!s.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();A(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),A(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=E(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,D(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);v(e.axes,this),v(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,D(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return z.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],z}),i(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,getMagnitude:s,normalizeTickInterval:o,timeUnits:r}=t;return function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function a(){if("datetime"!==this.options.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new n(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,i(t,"afterSetOptions",a)),t};class n{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],a=i[i.length-1],n=r[a[0]],l=a[1],h;for(h=0;
3h<i.length&&(n=r[(a=i[h])[0]],l=a[1],!i[h+1]||!(t<=(n*l[l.length-1]+r[i[h+1][0]])/2));h++);n===r.year&&t<5*n&&(l=[1,2,5]);let d=o(t/n,l,"year"===a[0]?Math.max(s(t/n),1):1);return{unitRange:n,count:d,unitName:a[0]}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=n}(e||(e={})),e}),i(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,normalizeTickInterval:s,pick:o}=t;return function(t){function e(t){let e=t.userOptions,i=this.logarithmic;"logarithmic"!==e.type?this.logarithmic=void 0:i||(i=this.logarithmic=new a(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),i(t,"init",e),i(t,"afterInit",r)),t};class a{constructor(t){this.axis=t}getLogTickPositions(t,e,i,r){let a=this.axis,n=a.len,l=a.options,h=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),h=a.getLinearTickPositions(t,e,i);else if(t>=.08){let s,o,a,n,l,d,c;let p=Math.floor(e);for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],o=p;o<i+1&&!c;o++)for(a=0,n=s.length;a<n&&!c;a++)(l=this.log2lin(this.lin2log(o)*s[a]))>e&&(!r||d<=i)&&void 0!==d&&h.push(d),d>i&&(c=!0),d=l}else{let d=this.lin2log(e),c=this.lin2log(i),p=r?a.getMinorTickInterval():l.tickInterval,u=l.tickPixelInterval/(r?5:1),g=r?n/a.tickPositions.length:n;t=s(t=o("auto"===p?null:p,this.minorAutoInterval,(c-d)*u/(g||1))),h=a.getLinearTickPositions(t,d,c).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(a.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=a}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{erase:i,extend:s,isNumber:o}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function a(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function n(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],a=this.horiz,n=!o(this.min)||!o(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,l=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,d=1,c;if(l&&s)for(n&&(c=l.toString()===s.toString(),d=0),h=0;h<l.length;h+=2){let t=l[h],e=l[h+1],i=s[h],o=s[h+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===o[0]||"L"===o[0])&&(a&&i[1]===t[1]?(i[1]+=d,o[1]+=d):a||i[2]!==t[2]||(i[2]+=d,o[2]+=d),r.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",o[1],o[2]],["L",i[1],i[2]],["Z"])),r.isFlat=c}return r}function h(t){this.removePlotBandOrLine(t)}function d(t){let e=this.plotLinesAndBands,s=this.options,o=this.userOptions;if(e){let r=e.length;for(;r--;)e[r].id===t&&e[r].destroy();[s.plotLines||[],o.plotLines||[],s.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&i(e,e[r])})}}function c(t){this.removePlotBandOrLine(t)}t.compose=function(t,i){let o=i.prototype;return o.addPlotBand||(e=t,s(o,{addPlotBand:r,addPlotLine:n,addPlotBandOrLine:a,getPlotBandPath:l,removePlotBand:h,removePlotLine:c,removePlotBandOrLine:d})),i}}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(t,e){let{arrayMax:i,arrayMin:s,defined:o,destroyObjectProperties:r,erase:a,fireEvent:n,merge:l,objectEach:h,pick:d}=e;class c{static compose(e){return t.compose(c,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){n(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:r,events:a,zIndex:c=0}=e,p={},u=t.chart.renderer,g=e.to,m=e.from,f=e.value,y=e.borderWidth,b=e.label,{label:x,svgElem:v}=this,S=[],C,A=o(m)&&o(g),k=o(f),M=!v,w={class:"highcharts-plot-"+(A?"band ":"line ")+(e.className||"")},P=A?"bands":"lines";if(!t.chart.styledMode&&(k?(w.stroke=r||"#999999",w["stroke-width"]=d(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):A&&(w.fill=r||"#e6e9ff",y&&
3(w.stroke=e.borderColor,w["stroke-width"]=y))),p.zIndex=c,P+="-"+c,(C=t.plotLinesAndBandsGroups[P])||(t.plotLinesAndBandsGroups[P]=C=u.g("plot-"+P).attr(p).add()),v||(this.svgElem=v=u.path().attr(w).add(C)),o(f))S=t.getPlotLinePath({value:s?.log2lin(f)??f,lineWidth:v.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(o(m)&&o(g)))return;S=t.getPlotBandPath(s?.log2lin(m)??m,s?.log2lin(g)??g,e)}return!this.eventsAdded&&a&&(h(a,(t,e)=>{v?.on(e,t=>{a[e].apply(this,[t])})}),this.eventsAdded=!0),(M||!v.d)&&S?.length?v.attr({d:S}):v&&(S?(v.show(),v.animate({d:S})):v.d&&(v.hide(),x&&(this.label=x=x.destroy()))),b&&(o(b.text)||o(b.formatter))&&S?.length&&t.width>0&&t.height>0&&!S.isFlat?(b=l({align:i&&A?"center":void 0,x:i?!A&&4:10,verticalAlign:!i&&A?"middle":void 0,y:i?A?16:10:A?6:-4,rotation:i&&!A?90:0},b),this.renderLabel(b,S,A,c)):x&&x.hide(),this}renderLabel(t,e,o,r){let a=this.axis,n=a.chart.renderer,h=this.label;h||(this.label=h=n.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(o?"band":"line")+"-label "+(t.className||""),zIndex:r}),a.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let d=e.xBounds||[e[0][1],e[1][1],o?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],o?e[2][2]:e[0][2]],p=s(d),u=s(c);if(h.align(t,!1,{x:p,y:u,width:i(d)-p,height:i(c)-u}),!h.alignValue||"left"===h.alignValue){let e=t.clip?a.width:a.chart.chartWidth;h.css({width:(90===h.rotation?a.height-(h.alignAttr.y-a.top):e-(h.alignAttr.x-a.left))+"px"})}h.show(!0)}getLabelText(t){return o(t.formatter)?t.formatter.call(this):t.text}destroy(){a(this.axis.plotLinesAndBands,this),delete this.axis,r(this)}}return c}),i(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n}=t,{format:l}=e,{composed:h,doc:d,isSafari:c}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:m,discardElement:f,extend:y,fireEvent:b,isArray:x,isNumber:v,isString:S,merge:C,pick:A,pushUnique:k,splat:M,syncTimeout:w}=r;class P{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||M(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),f(this.container)),r.clearTimeout(this.hideTimer)}getAnchor(t,e){let i;let{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=M(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+A(t.colorIndex,o.colorIndex),r&&r.className].filter(S).join(" ")}getLabel(){let t=this,e=this.chart.styledMode,s=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,e=o.getRendererType();this.container=a=i.doc.createElement("div"),a.className="highcharts-tooltip-container",m(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||
vendor: 2,195 bytes, line 3
30,(t&&t.zIndex||0)+3)}),this.renderer=n=new e(a,0,0,t,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),e||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth||0}).css(s.style).css({pointerEvents:s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label;[e.xSetter,e.ySetter].forEach((i,s)=>{e[s?"ySetter":"xSetter"]=o=>{i.call(e,t.distance),e[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return a&&!a.parentElement&&i.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=d,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:m,width:f}=this.getPlayingField(),y=a.getChartPosition(),b=t=>t*y.scaleX,x=t=>t*y.scaleY,v=i=>{let a="x"===i;return[i,a?f:m,a?t:e].concat(r?[a?b(t):x(e),a?y.left-s+b(c+l):y.top-s+x(p+h),0,a?f:m]:[a?t:e,a?c+l:p+h,a?l:h,a?l+o.plotWidth:h+o.plotHeight])},S=v("y"),C=v("x"),k,M=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(M=!M);let w=!this.followPointer&&A(i.ttBelow,!d&&!n===M),P=function(t,e,i,o,a,n,l){let h=r?"y"===t?x(s):b(s):s,d=(i-o)/2,c=o<a-s,p=a+s+o<e,m=a-h-i+d,f=a+h-d;if(w&&p)u[t]=f;else if(!w&&c)u[t]=m;else if(c)u[t]=Math.min(l-o,m-g<0?m:m-g);else{if(!p)return!1;u[t]=Math.max(n,f+g+i>e?f:f+g)}},T=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},E=function(t){[S,C]=[C,S],k=t},L=()=>{!1!==P.apply(0,S)?!1!==T.apply(0,C)||k||(E(!0),L()):k?u.x=u.y=0:(E(!0),L())};return(n&&!d||this.len>1)&&E(),L(),u}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=A(t,this.options.hideDelay),this.isHidden||(this.hideTimer=w(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
3,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=A(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=n(!o.isHidden&&o.options.animation),a=o.followPointer||(o.len||0)>1,l={x:t,y:e};a||(l.anchorX=i,l.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(l,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:a}=this,n=M(t),h=n[0],d=[],c=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,g={};if(!s.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!x(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let m=this.getAnchor(t,e),f=m[0],y=m[1];a&&this.allowShared?(o.applyInactiveState(n),n.forEach(function(t){t.setState("hover"),d.push(t.getLabelConfig())}),(g=h.getLabelConfig()).points=d):g=h.getLabelConfig(),this.len=d.length;let v=S(c)?l(c,g,i):p.call(g,this),C=h.series;if(this.distance=A(C.tooltipOptions.distance,16),!1===v)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(v,n);else{let t=f,r=y;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===C.options.clip||n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel();(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:v&&v.join?v.join(""):v}),t.addClass(this.getClassName(h),!0),u||t.attr({stroke:s.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:f,plotY:y,negative:h.negative,ttBelow:h.ttBelow,h:m[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}b(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:u,styledMode:m},distance:f,options:b,options:{positioner:x},pointer:v}=i,{scrollLeft:C=0,scrollTop:k=0}=s.scrollablePlotArea?.scrollingContainer||{},M=i.outside&&"number"!=typeof u?d.documentElement.getBoundingClientRect():{left:C,right:C+o,top:k,bottom:k+r},w=i.getLabel(),P=this.renderer||s.renderer,T=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:E,top:L}=v.getChartPosition(),O=l+k,D=0,j=a-h;function N(t,e,s,o,r=!0){let a,n;return s?(a=T?0:j,n=g(t-o/2,M.left,M.right-o-(i.outside?E:0))):(a=e-O,n=g(n=r?t-o-f:t+f,r?n:M.left,M.right)),{x:n,y:a}}S(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=r.isHeader,d=h?i:r.series,c=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e;if(!o){let t={padding:b.padding,r:b.borderRadius};m||(t.fill=b.backgroundColor,t["stroke-width"]=b.borderWidth??1),o=P.label("",0,0,b[r?"headerShape":"shape"],void 0,void 0,b.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(w)}return o.isActive=!0,o.attr({text:s}),m||o.css(b.style).attr({stroke:b.borderColor||e.color||a.color||"#333333"}),o}(d.tt,r,s.toString()),p=c.getBBox(),u=p.width+c.strokeWidth();h&&(D=p.height,j+=D,T&&(O-=D));let{anchorX:y,anchorY:v}=function(t){let e,i;let{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(n+o,n),i=l+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+g(o,-f,t.len+f),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=g(e,M.left-f,M.right+f),anchorY:i}}(r);if("number"==typeof v){let e=p.height+1,s=x?x.call(i,u,e,r):N(y,v,h,u);t.push({align:x?0:void 0,anchorX:y,anchorY:v,boxWidth:u,point:r,rank:A(s.rank,h?1:0),size:e,target:s.y,tt:c,x:s.x})}else c.isActive=!1}return t},[]);!x&&I.some(t=>{let{outside:e}=i,s=(e?E:0)+t.anchorX;return s<M.left&&s+t.boxWidth<M.right||s<E-M.left+t.boxWidth&&M.right-s>s})&&(I=I.map(t=>{let{x:e,y:i}=N(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return y(t,{target:i,x:e})})),i.cleanSplit(),p(I,j);let B={left:E,right:E};I.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&E+e<B.left&&(B.left=E+e),!o&&i.outside&&B.left+s>B.right&&(B.right=E+e))}),I.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+O,anchorX:s,anchorY:o};if(i.outside&&e<s){let t=E-B.left;t>0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(B.right-B.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:R,outside:z,renderer:F}=i;if(z&&R&&F){let{width:t,height:e,x:i,y:s}=w.getBBox();F.setSize(t+i,e+s,!1),R.style.left=B.left+"px",R.style.top=L+"px"}c&&w.attr({opacity:1===w.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[
31]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,a={isFooter:e,labelConfig:t},n=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return b(this,"headerFormatter",a,function(e){r&&!n&&v(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){h=h.replace("{point."+t+"}","{point."+t+":"+n+"}")}),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=l(h,{point:t,series:i},this.chart)}),a.text}update(t){this.destroy(),this.init(this.chart,C(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,n,t),g=(t.plotX||0)+e.plotLeft,f=(t.plotY||0)+e.plotTop,y;a&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),y=(o.borderWidth||0)+2*s+2,a.setSize(l+y,n+y,!1),(1!==c||1!==p)&&(m(i,{transform:`scale(${c}, ${p})`}),g*=c,f*=p),g+=h-u.x,f+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),g,f)}}return(a=P||(P={})).compose=function(t){k(h,"Core.Tooltip")&&u(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new a(t,t.options.tooltip,this))})},P}),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{animObject:r}=e,{defaultOptions:a}=i,{format:n}=s,{addEvent:l,crisp:h,erase:d,extend:c,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:m,isNumber:f,isObject:y,merge:b,pick:x,syncTimeout:v,removeEvent:S,uniqueKey:C}=o;class A{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return c(this,t=A.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=A.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?void 0===e?this.x=i.autoIncrement():this.x=e:f(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,a=r(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(S(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),d(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),v(n,a.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),p(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i;let s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=C()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(f(this.x)||this.x instanceof Date)&&f(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(f(t)||null===t)r[s[0]]=t;else if(g(t))for(!i&&t.length>
3o&&("string"==(a=typeof t[0])?r.name=t[0]:"number"===a&&(r.x=t[0]),n++);l<o;)i&&void 0===t[n]||(s[l].indexOf(".")>0?A.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,l=0;if(f(i)&&f(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=x(this.options.colorIndex,a),this.color=x(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:y(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=x(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEac
3h(function(e){e="{point."+e,(o||r)&&(t=t.replace(RegExp(e+"}","g"),o+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")}),n(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let o;let r=this,a=r.series,n=r.graphic,l=a.chart,h=a.options;function d(){r.applyOptions(t);let s=n&&r.hasMockGraphic,d=null===r.y?!s:s;n&&d&&(r.graphic=n.destroy(),delete r.hasMockGraphic),y(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,a.updateParallelArrays(r,o),h.data[o]=y(h.data[o],!0)||y(t,!0)?r.options:x(t,h.data[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=x(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=x(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
3h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=b(this.series.options.point,this.options),i=e.events?.[t];m(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(l(this,t,i),this.hasImportedEvents=!0):this.hasImportedEvents&&!i&&this.hcEvents?.[t]&&(S(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1))}setState(e,i){let s=this.series,o=this.state,r=s.options.states[e||"normal"]||{},n=a.plotOptions[s.type].marker&&s.options.marker,l=n&&!1===n.enabled,h=n&&n.states&&n.states[e||"normal"]||{},d=!1===h.enabled,u=this.marker||{},g=s.chart,m=n&&s.markerAttribs,y=s.halo,b,v,S,C=s.stateMarkerGraphic,A;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===r.enabled||e&&(d||l&&!1===h.enabled)||e&&u.states&&u.states[e]&&!1===u.states[e].enabled)return;if(this.state=e,m&&(b=s.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),e&&this.graphic.addClass("highcharts-point-"+e),!g.styledMode){v=s.pointAttribs(this,e),S=x(g.options.chart.animation,r.animation);let t=v.opacity;s.options.inactiveOtherPoints&&f(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},S),e.connector&&e.connector.animate({opacity:t},S))}),this.graphic.animate(v,S)}b&&this.graphic.animate(b,x(g.options.chart.animation,h.animation,n.animation)),C&&C.hide()}else e&&h&&(A=u.symbol||s.symbol,C&&C.currentSymbol!==A&&(C=C.destroy()),b&&(C?C[i?"animate":"attr"]({x:b.x,y:b.y}):A&&(s.stateMarkerGraphic=C=g.renderer.symbol(A,b.x,b.y,b.width,b.height).add(s.markerGroup),C.currentSymbol=A)),!g.styledMode&&C&&"inactive"!==this.state&&C.attr(s.pointAttribs(this,e))),C&&(C[e&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0));let k=r.halo,M=this.graphic||C,w=M&&M.visibility||"inherit";k&&k.size&&M&&"hidden"!==w&&!this.isCluster?(y||(s.halo=y=g.renderer.path().add(M.parentGroup)),y.show()[i?"animate":"attr"]({d:this.haloPath(k.size)}),y.attr({class:"highcharts-halo highcharts-color-"+x(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:w,zIndex:-1}),y.point=this,g.styledMode||y.attr(c({fill:this.color||s.color,"fill-opacity":k.opacity},t.filterUserAttributes(k.attributes||{})))):y?.point?.haloPath&&!y.point.destroyed&&y.animate({d:y.point.haloPath(0)},null,y.hide),p(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(h(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return A}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{parse:o}=t,{charts:r,composed:a,isTouchDevice:n}=e,{addEvent:l,attr:h,css:d,extend:c,find:p,fireEvent:u,isNumber:g,isObject:m,objectEach:f,offset:y,pick:b,pushUnique:x,splat:v}=i;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!e.chartCount&&(S.unbindDocumentMouseUp&&(S.unbindDocumentMouseUp=S.unbindDocumentMouseUp()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),f(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:o,zoomHor:r,zoomVert:a}
vendor: 4,214 bytes, line 3
3=this,{mouseDownX:n=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=a?1:o.plotHeight,r&&(s=t-n,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+n),a&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:r,panKey:a,selectionMarkerFill:n}=e.options.chart,l=e.plotLeft,h=e.plotTop,d=e.plotWidth,c=e.plotHeight,p=m(r)?r.enabled:r,u=a&&t[`${a}Key`],g=t.chartX,f=t.chartY,y,b=this.selectionMarker;if((!b||!b.touch)&&(g<l?g=l:g>l+d&&(g=l+d),f<h?f=h:f>h+c&&(f=h+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-f,2)),this.hasDragged>10)){y=e.isInsidePlot(i-l,s-h,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(g,f);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&y&&!u&&!b&&(this.selectionMarker=b=e.renderer[a](),b.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||b.attr({fill:n||o("#334eff").setOpacity(.25).get()})),b&&b.attr(d),y&&!b&&p&&e.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}g(i.index)&&(this.selectionMarker=s.destroy())}i&&g(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o,r;let a,n,l,h=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),d=t.searchPoint(i,h);m(d,!0)&&d.series&&(!m(s,!0)||(o=s,r=d,a=o.distX-r.distX,n=o.dist-r.dist,l=r.series.group?.zIndex-o.series.group?.zIndex,(0!==a&&e?a:0!==n?n:0!==l?l:o.series.index>r.series.index?-1:1)>0))&&(s=d)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&g(o.x)&&g(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=y(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a=[],n=function(t){return t.visible&&!(!o&&t.directTouch)&&b(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};u(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=p(t.points,function(t){return t.x===c.x&&!t.isNull});m(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),u(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=h(i,"class")){if(-1!==s.indexOf(e))return!0;
vendor: 4,445 bytes, line 3
3if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):b(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[b(S.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[b(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===a&&b(l?.options.followTouchMove,!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0):h?this.runPointActions(e.normalize(t)):o&&(u(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a&&a.shared?r:o;t&&n&&v(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&v(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!a&&a.shared,h=e||s.hoverPoint,d=h&&h.series||s.hoverSeries,c=(!t||"touchmove"!==t.type)&&(!!e||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(h,d,o,c,n,t);h=u.hoverPoint,d=u.hoverSeries;let g=u.hoverPoints,m=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,f=n&&d&&!d.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEac
3h(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=g,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,()=>{a&&h&&a.refresh(f?g:h,t)})}else if(m&&a&&!a.isHidden){let e=a.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(s.container.ownerDocument,"mousemove",t=>r[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let o=b((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(l(t,"mouseenter",this.onContainerMouseEnter.bind(this)),l(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=l(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(l(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(l(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),l(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=l(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),l(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!n)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=b(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(l(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),l(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||d(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||d(i,{"touch-action":b(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let i=this.chart,s=e.charts[b(S.hoverChartIndex,-1)];s&&s!==i&&s.pointer?.onContainerMouseLeave(t||{relatedTarget:i.container}),s&&s.mouseIsDown||(S.hoverChartIndex=i.index)}touch(t,e){let i;let{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),b(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=b(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(s=S||(S={})).compose=function(t){x(a,"Core.Pointer")&&l(t,"beforeRender",function(){this.pointer=new s(this,this.options)})},S}),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n,setAnimation:l}=t,{format:h}=e,{composed:d,marginNames:c}=i,{distribute:p}=o,{addEvent:u,createElement:g,css:m,defined:f,discardElement:y,find:b,fireEvent:x,isNumber:v,merge:S,pick:C,pushUnique:A,relativeLength:k,stableSort:M,syncTimeout:w}=r;class P{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWi
vendor: 4,100 bytes, line 3
3dth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),u(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),u(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=C(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=C(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,C(e,!0)&&i.redraw(),x(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:o,line:r,symbol:a}=t.legendItem||{};if(s?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,n=s.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=n),t.stroke&&(t.stroke=n)),t);o?.css(S(e?this.itemStyle:s)),r?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}x(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e&&e.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s};e[f(e.translateY)?"animate":"attr"](o,void 0,()=>{x(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&y(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r;let a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,m(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?h(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,a=this.symbolWidth,n=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?C(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,m=!!this.createCheckboxForItem&&g&&g.showCheckbox,f=o.useHTML,y=t.options.className,b=e.label,x=a+n+d+(m?20:0);!b&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",c?a+n:-n,this.baseline||0,f),i.styledMode||b.css(S(t.visible?l:h)),b.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=C(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,929 bytes, line 3
3dth=C(o.symbolWidth,Math.max(this.symbolHeight,16)),x=this.symbolWidth+n+d+(m?20:0),c&&b.attr("x",this.symbolWidth+n))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,f)),m&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&b.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-x+"px"}),this.setText(t);let v=b.getBBox(),A=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+x,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*A?v.height:A))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?C(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&C(i.showInLegend,!f(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),x(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 9,942 bytes, line 3
3h(function(r,a){r.test(o)&&!f(t[a])&&(i[c[a]]=Math.max(i[c[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+C(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,a=s,n,l;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(o=b(a?t.points:t.points.slice(0).reverse(),function(t){return v(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),p(i,e.plotHeight)))t=o.item.legendItem||{},v(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,a,n,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=k(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),M(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,r&&this.align(),this.proximate||this.positionItems(),x(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a="top"===o.verticalAlign,n=this.padding,l=o.maxHeight,h=o.navigation,d=C(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?S.attr({height:t}):S&&(e.clipRect=S.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},m=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},f,y,b,x=i.spacingBox.height+(a?-r:r)-n,v=this.nav,S=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(x/=2),l&&(x=Math.min(x,l)),p.length=0,t&&x>0&&t>x&&!1!==h.enabled?(this.clipHeight=f=Math.max(x-20-this.titleHeight-n,0),this.currentPage=C(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(b=t.legendItem||{}).y||0,s=Math.round(b.label.getBBox().height),o=p.length;(!o||i-p[o-1]>f&&(y||i)!==p[o-1])&&(p.push(y||i),o++),b.pageIx=o-1,y&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>f&&i>p[o-1]&&(p.push(i),b.pageIx=o),i!==y&&(y=i)}),S||(S=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(S)),g(f),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),m("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),m("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=x):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,h=this.pager,d=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(void 0!==e&&l(e,i),this.nav.attr({translateX:d,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),h.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===c?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),w(()=>{x(this,"afterScroll",{currentPage:c})},n(C(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let o=this,r=t.legendItem||{},a=o.chart.renderer.boxWrapper,n=t instanceof s,l="highcharts-legend-"+(n?"point":"series")+"-active",h=o.chart.styledMode,d=i?[e,r.symbol]:[r.group],c=e=>{o.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&a.addClass(l),h||e.css(o.options.itemHoverStyle)}).on("mouseout",function(){o.chart.styledMode||e.css(S(t.visible?o.itemStyle:o.itemHiddenStyle)),c(""),a.removeClass(l),t.setState()}).on("click",function(e){let i="legendItemClick",s=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};a.removeClass(l),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,s):x(t,i,e,s)})}createCheckboxForItem(t){t.checkbox=g("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),u(t.checkbox,"click",function(e){let i=e.target;x(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}return(a=P||(P={})).compose=function(t){A(d,"Core.Legend")&&u(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},P}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:o}=t;return function(t){function e(t,e,r){let a=this.legendItem=this.legendItem||{},{chart:n,options:l}=this,{baseline:h=0,symbolWidth:d,symbolHeight:c}=t,p=this.symbol||"circle",u=c/2,g=n.renderer,m=a.group,f=h-Math.round(c*(r?.4:.3)),y={},b,x=l.marker,v=0;if(n.styledMode||(y["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?y.dashstyle=l.dashStyle:"square"===l.linecap||(y["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(y).add(m),r&&(a.area=g.path().addClass("highcharts-area").add(m)),y["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,f],["L",d-v,f]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,h],["L",v,h]]})}if(x&&!1!==x.enabled&&d){let t=Math.min(o(x.radius,u),u);0===p.indexOf("url")&&(x=s(x,{width:c,height:c}),t=0),a.symbol=b=g.symbol(p,d/2-t,f-t,2*t,2*t,i({context:"legend"},x)).addClass("highcharts-point").add(m),b.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,r=t.symbolHeight,a=s.squareSymbol,n=a?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-r)/2:0,t.baseline-r+1,n,r,o(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e}),i(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{defaultOptions:r}=e,{extend:a,extendClass:n,merge:l}=s;return function(e){function s(t,s){let o=r.plotOptions||{},a=s.defaultOptions,n=s.prototype;return n.type=t,n.pointClass||(n.pointClass=i),!e.seriesTypes[t]&&(a&&(o[t]=a),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,o,h,d,c){let p=r.plotOptions||{};if(o=o||"",p[t]=l(p[o],h),delete e.seriesTypes[t],s(t,n(e.seriesTypes[o]||function(){},d)),e.seriesTypes[t].prototype.type=t,c){class s extends i{}a(s.prototype,c),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(o||(o={})),o}
3),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{animObject:d,setAnimation:c}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:m}=s,{seriesTypes:f}=n,{arrayMax:y,arrayMin:b,clamp:x,correctFloat:v,crisp:S,defined:C,destroyObjectProperties:A,diffObjects:k,erase:M,error:w,extend:P,find:T,fireEvent:E,getClosestDistance:L,getNestedProperty:O,insertItem:D,isArray:j,isNumber:N,isString:I,merge:B,objectEach:R,pick:z,removeEvent:F,splat:G,syncTimeout:W}=h;class H{constructor(){this.zoneAxis="y"}init(t,e){let i;E(this,"init",{options:e});let s=this,o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,a=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),P(s,{name:r.name,state:"",visible:a,selected:!0===r.selected}),u(this,r);let n=r.events;(n&&n.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=z(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",D(this,o)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),E(this,"afterInit")}is(t){return f[t]&&this instanceof f[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;E(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
3(z(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(D(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||w(18,!0,s)})}),E(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,o=N(e)?function(i){let o="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=o}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(o)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,o=this.chart.time,r=this.xIncrement,a,n;return(r=z(r,e.pointStart,0),this.pointInterval=n=z(this.pointInterval,e.pointInterval,1),s&&N(t)&&(n*=t),i&&(a=new o.Date(r),"day"===i?o.set("Date",a,o.get("Date",a)+n):"month"===i?o.set("Month",a,o.get("Month",a)+n):"year"===i&&o.set("FullYear",a,o.get("FullYear",a)+n),n=a.getTime()-r),s&&N(t))?r+n:(this.xIncrement=r+n,r)}setDataSortingOptions(){let t=this.options;P(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=B(t),a=i.styledMode,n={plotOptions:s,userOptions:r};E(this,"setOptions",n);let l=n.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=n.userOptions;let g=B(l,s.series,u,r);this.tooltipOptions=B(p.tooltip,p.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=z(r.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===l.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let m=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),m.push(e)),m.length&&C(m[m.length-1].value)&&m.push(a?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:g}),g}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o;let r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(C(o=z("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,o;let a=t.id,n=t.x,l=this.points,h=this.options.dataSorting;if(a){let t=this.chart.get(a);t instanceof r&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=T(l,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&N(n)&&(o=this.xData.indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&N(o)&&l[o]&&l[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],a=this.requireSorting,n=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h;let d=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||N(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,a&&(c=h+1)):o[h]&&(o[h].touched=!0),(!n||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!p&&(r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=y(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let o=this,r=o.points,a=r&&r.length||0,n=o.options,l=o.chart,h=n.dataSorting,d=o.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,m=g&&g.length,f=n.keys,y,b,x,v=0,S=1,C=null,A;l.options.chart.allowMutatingData||(n.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,A=B(!0,t));let k=(t=A||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),l.options.chart.allowMutatingData&&!1!==s&&k&&a&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted&&(x=this.updateData(t,i)),!x){if(o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0}),c&&k>c){if(N(C=o.getFirstValidPoint(t)))for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y];else if(j(C)){if(m){if(C.length===m)for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y];else for(y=0;y<k;y++)b=t[y],p[y]=b[0],u[y]=b.slice(1,m+1)}else if(f&&(v=f.indexOf("x"),S=f.indexOf("y"),v=v>=0?v:0,S=S>=0?S:1),1===C.length&&(S=0),v===S)for(y=0;y<k;y++)p[y]=this.autoIncrement(),u[y]=t[y][S];else for(y=0;y<k;y++)b=t[y],p[y]=b[v],u[y]=b[S]}else w(12,!1,l)}else for(y=0;y<k;y++)b={series:o},o.pointClass.prototype.applyOptions.apply(b,[t[y]]),o.updateParallelArrays(b,y);for(u&&I(u[0])&&w(14,!0,l),o.data=[],o.options.data=o.userOptions.data=t,y=a;y--;)r[y]?.destroy();d&&(d.minRange=d.userMinRange),o.isDirty=l.isDirtyBox=!0,o.isDirtyData=!!r,i=!1}
3"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return C(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=O(i,t),o=O(i,e);return o<s?-1:o>s?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options.cropThreshold,o=i?.logarithmic,r=e.isCartesian,a,n,l=0,h,d,c,p=e.xData,u=e.yData,g=!1,m=p.length;i&&(d=(h=i.getExtremes()).min,c=h.max,g=!!(i.categories&&!i.names.length)),r&&e.sorted&&!t&&(!s||m>s||e.forceCrop)&&(p[m-1]<d||p[0]>c?(p=[],u=[]):e.yData&&(p[0]<d||p[m-1]>c)&&(p=(a=this.cropData(e.xData,e.yData,d,c)).xData,u=a.yData,l=a.start,n=!0));let f=L([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&w(15,!1,e.chart));return{xData:p,yData:u,cropped:n,cropStart:l,closestPointRange:f}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,E(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,a,n=0,l=o;for(r=0;r<o;r++)if(t[r]>=i){n=Math.max(0,r-1);break}for(a=r;a<o;a++)if(t[a]>s){l=a+1;break}return{xData:t.slice(n,l),yData:e.slice(n,l),start:n,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,a=this.cropStart||0,n=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,m=this.data;if(!m&&!n){let t=[];t.length=e.length,m=this.data=t}for(l&&n&&(this.options.keys=!1),g=0;g<r;g++)p=a+g,n?((u=new o(this,[i[g]].concat(G(s[g])))).dataGroup=this.groupMap[d+g],u.dataGroup.options&&(u.options=u.dataGroup.options,P(u,u.dataGroup.options),delete u.dataLabels)):(u=m[p])||void 0===e[p]||(m[p]=u=new o(this,e[p],i[g])),u&&(u.index=n?d+g:p,h[g]=u);if(this.options.keys=l,m&&(r!==(c=m.length)||n))for(g=0;g<c;g++)g!==a||n||(g+=r),m[g]&&(m[g].destroyElements(),m[g].plotX=void 0);this.data=m,this.points=h,E(this,"afterGeneratePoints")}getXExtremes(t){return{min:b(t),max:y(t)}}getExtremes(t,e){let i=this.xAxis,s=this.yAxis,o=[],r=this.requireSorting&&!this.is("column")?1:0,a=!!s&&s.positiveValuesOnly,n=e||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:l,processedYData:h}=this,d,c,p,u,g,m,f,x=0,v=0,S=0;if(this.cropped&&n){let t=this.getProcessedData(!0);l=t.xData,h=t.yData}let C=(t=t||this.stackedYData||h||[]).length,A=l||this.xData;for(i&&(x=(d=i.getExtremes()).min,v=d.max),m=0;m<C;m++)if(u=A[m],c=(N(g=t[m])||j(g))&&((N(g)?g>0:g.length)||!a),p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(A[m+r]||u)>=x&&(A[m-r]||u)<=v,c&&p){if(f=g.length)for(;f--;)N(g[f])&&(o[S++]=g[f]);else o[S++]=g}let k={activeYData:o,dataMin:b(o),dataMax:y(o)};return E(this,"afterGetExtremes",{dataExtremes:k}),k}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,s=null;for(;null===s&&i<e;)s=t[i],i++;return s}translate(){this.processedXData||this.processData(),this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=i.categories,o=this.enabledDataSorting,r=this.yAxis,a=this.points,n=a.length,l=this.pointPlacementToXValue(),h=!!l,d=t.threshold,c=t.startFromThreshold?d:0,p,u,g,m,f=Number.MAX_VALUE;function y(t){return x(t,-1e5,1e5)}for(p=0;p<n;p++){let t;let n=a[p],b=n.x,x,S,A=n.y,k=n.low,M=e&&r.stacking?.stacks[(this.negStacks&&A<(c?0:d)?"-":"")+this.stackKey];u=i.translate(b,!1,!1,!1,!0,l),n.plotX=N(u)?v(y(u)):void 0,e&&this.visible&&M&&M[b]&&(m=this.getStackIndicator(m,b,this.index),!n.isNull&&m.key&&(S=(x=M[b]).points[m.key]),x&&j(S)&&(k=S[0],A=S[1],k===c&&m.key===M[b].base&&(k=z(N(d)?d:r.min)),r.positiveValuesOnly&&C(k)&&k<=0&&(k=void 0),n.total=n.stackTotal=z(x.total),n.percentage=C(n.y)&&x.total?n.y/x.total*100:void 0,n.stackY=A,this.irregularWidths||x.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=C(k)?y(r.translate(k,!1,!0,!1,!0)):void 0,this.dataModify&&(A=this.dataModify.modifyValue(A,p)),N(A)&&void 0!==n.plotX&&(t=N(t=r.translate(A,!1,!0,!1,!0))?y(t):void 0),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=h?v(i.translate(b,!1,!1,!1,!0,l)):u,n.negative=(n.y||0)<(d||0),n.category=z(s&&s[n.x],n.x),n.isNull||!1===n.visible||(void 0!==g&&(f=Math.min(f,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&o&&(n.isNew=!0)}this.closestPointRangePx=f,E(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return!!((i||!t.isNull&&N(r))&&(!e||s.isInsidePlot(o,r,{inverted:s.inverted})))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:o,width:r,height:a}=B(t.clipBox);return e&&e.len!==t.plotSizeX&&(r=e.len),i&&i.len!==t.plotSizeY&&(a=i.len),t.inverted&&!this.invertible&&([r,a
3]=[a,r]),{x:s,y:o,width:r,height:a}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=this.getClipBox(),a=this.getSharedClipKey(),n=s[a];n?n.animate(r):s[a]=n=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=d(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],l=e.sharedClips[a+"m"];if(t&&i){let t=this.getClipBox();if(n)n.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),n=e.renderer.clipRect(t),e.sharedClips[a]=n;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[a+"m"]=l}i.clip(n),s?.clip(l)}else if(n&&!n.hasClass("highcharts-animating")){let t=this.getClipBox(),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),R(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n;let l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=z(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker,(m&&void 0===r.enabled||r.enabled)&&!i.isNull&&!1!==i.visible){let t=z(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(n.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,l,h=z(o.radius,s&&s.radius);e&&(n=s.states[e],h=z((l=o.states&&o.states[e])&&l.radius,n&&n.radius,h&&h+(n&&n.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return N(h)&&d&&(i.crisp&&(d[0]=S(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),a.x=d[0]-h,a.y=d[1]-h),h&&(a.width=a.height=2*h),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=z(o.lineWidth,i.lineWidth),g=1;return d=r||n||a||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=z((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+z(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=z(h.opacity,l.opacity,g)}}destroy(t){let e,i,s;
vendor: 5,834 bytes, line 3
3let o=this,r=o.chart,a=/AppleWebKit\/533/.test(m.navigator.userAgent),n=o.data||[];for(E(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(M(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of o.zones)A(t,void 0,!0);h.clearTimeout(o.animationTimeout),R(o,function(t,e){t instanceof l&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),M(r.series,o),r.orderItems("series"),R(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:h}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<u?i-u*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&N(d.min)){let e=d.getExtremes().max,u=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=x(d.toPixels(z(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&g(o,e,i),r&&g(r,e,i)}let m=[],f=d.toPixels(d.getExtremes().min,!0);s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,y=r.len,b=a.len;c?(p=o,y=f):(g=o,b=f);let x=[["M",p,g],["L",y,g],["L",y,b],["L",p,b],["Z"]],v=[x[0],...s,x[1],x[2],...m,x[3],x[4]];m=s.reverse(),f=o,l&&(u(v),t&&u(x)),n?(n.animate({d:v}),d?.animate({d:x})):(n=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(x))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return C(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(C(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||F(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=d(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;E(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=W(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,E(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,W(function(){e.kdTree=function t(i,s,o){let r,a;let n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[o,r]=this.kdAxisArray,a=e?"distX":"dist",n=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,n,h){var d,c;let p,u,g,m,f,y,b,x=i.point,v=s.kdAxisArray[n%h],S,A,k=x;d=e,c=x,p=d[o],u=c[o],g=C(p)&&C(u)?p-u:null,m=d[r],f=c[r],y=C(m)&&C(f)?m-f:0,b=l&&c.marker?.radius||0,c.dist=Math.sqrt((g&&g*g||0)+y*y)-b,c.distX=C(g)?Math.abs(g)-b:Number.MAX_VALUE;let M=(e[v]||0)-(x[v]||0)+(l&&x.marker?.radius||0),w=M<0?"left":"right",P=M<0?"right":"left";return i[w]&&(k=(S=t(e,i[w],n+1,h))[a]<k[a]?S:x),i[P]&&Math.sqrt(M*M)<k[a]&&(k=(A=t(e,i[P],n+1,h))[a]<k[a]?A:k),k}(t,this.kdTree,n,n)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),N(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(g?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
3),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),E(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a;let n=this.options,l=this.data,h=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=z(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let m=g.x;if(a=u.length,this.requireSorting&&m<u[a-1])for(r=!0;a&&u[a-1]>m;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[m]=g.name),p.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&E(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,o=s.data,r=o[t],a=s.points,n=s.chart,l=function(){a&&a.length===o.length&&a.splice(t,1),o.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&n.redraw()};c(i,n),e=z(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),z(t,!0)&&r.redraw(e)}!1!==i?E(o,"remove",null,a):a()}update(t,e){E(this,"update",{options:t=k(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=f[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&P(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=B(o,{index:void 0===o.index?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let m=!1;if(f[u]){if(m=u!==i.type,i.remove(!1,!1,!1,!0),m){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,f[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;P(i,f[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else w(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),E(this,"afterUpdate"),z(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=z(s?.[this.type]?.[t],s?.series?.[t]);return o&&!C(r)?i!==o:i!==z(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;
3e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&E(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,a=s.states,n=z(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),h=z(a[t].opacity,h)),o&&!o.dashstyle&&N(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},n)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),E(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),E(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return H.defaultOptions=a,H.types=n.seriesTypes,H.registerType=n.registerSeriesType,P(H.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),n.series=H,H}),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u){let{animate:g,animObject:m,setAnimation:f}=t,{defaultOptions:y,defaultTime:b}=i,{numberFormat:x}=s,{registerEventOptions:v}=o,{charts:S,doc:C,marginNames:A,svg:k,win:M}=r,{seriesTypes:w}=l,{addEvent:P,attr:T,createElement:E,css:L,defined:O,diffObjects:D,discardElement:j,erase:N,error:I,extend:B,find:R,fireEvent:z,getStyle:F,isArray:G,isNumber:W,isObject:H,isString:X,merge:U,objectEach:Y,pick:V,pInt:K,relativeLength:q,removeEvent:Z,splat:$,syncTimeout:_,uniqueKey:J}=c;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:V(t.zoomType,e.type),key:V(t.zoomKey,e.key),pinchType:V(t.pinchType,e.pinchType),singleTouch:V(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:U(e.resetButton,t.resetZoomButton)}}init(t,e){z(this,"init",{args:arguments},function(){let i=U(y,t),s=i.chart;this.userOptions=B({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new d(t.time):r.time,this.numberFormatter=s.numberFormatter||x,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),r.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRen
vendor: 5,235 bytes, line 3
3der()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=w[i];s||I(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=$(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof n&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&n||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(h+a,t.pos)&&e<=Math.min(h+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){z(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&z(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){z(t,"afterSetExtremes",B(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),z(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),z(this,"redraw"),z(this,"render"),n&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=R(this.axes,i)||R(this.series,i);for(let t=0;!s&&t<e.length;t++)s=R(e[t].points||[],i);return s}getAxes(){let t=this.userOptions;for(let i of(z(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[i]=$(t[i]||{}))new e(this,s,i);z(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{V(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=U(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(B("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let o=this[t],r=this.options[t],a=r.verticalAlign||"top",n="title"===t?"top"===a?-3:0:"top"===a?e[0]+2:0;if(o){o.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(o).b,l=Math.round(o.getBBox(r.useHTML).height);o.align(B({y:"bottom"===a?t:n+t,height:l},r),!1,"spacingBox"),r.floating||("top"===a?e[0]=Math.ceil(e[0]+l):"bottom"===a&&(e[2]=Math.ceil(e[2]+l)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let o=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,z(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:F(this.renderTo,"width",!0)||0,height:F(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();
vendor: 4,007 bytes, line 3
3this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,q(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(L(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(C.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(C.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,C.body.appendChild(e)),("none"===F(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),L(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==C.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t=this.options,e=t.chart,i="data-highcharts-chart",s=J(),o,r=this.renderTo;r||(this.renderTo=r=e.renderTo),X(r)&&(this.renderTo=r=C.getElementById(r)),r||I(13,!0,this);let n=K(T(r,i));W(n)&&S[n]&&S[n].hasRendered&&S[n].destroy(),T(r,i,this.index),r.innerHTML=p.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let l=this.chartHeight,d=this.chartWidth;L(r,{overflow:"hidden"}),this.styledMode||(o=B({position:"relative",overflow:"hidden",width:d+"px",height:l+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},e.style||{}));let c=E("div",{id:s},o,r);this.container=c,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(c,{width:V(e.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let u=e.renderer||!k?a.getRendererType(e.renderer):h;if(this.renderer=new u(c,d,l,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,this.styledMode),f(void 0,this),this.setClassName(e.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!O(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!O(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),z(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),A.forEach(function(i,o){O(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return D(this.userOptions,y)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(c.clearTimeout(e.reflowTimeout),e.reflowTimeout=_(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=P(M,"resize",e);P(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?g:L)(s.container,{width:`${a+l}px`,height:`${n+h}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,z(s,"resize"),setTimeout(()=>{s&&z(s,"endResize")},m(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o;
3let{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[n?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),z(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){z(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=H(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=V(e[i+s],o[r])})}),A.forEach(function(e,i){t[e]=V(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroun
3dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,m=this.clipBox,f=this.chartBackground,y=this.plotBackground,b=this.plotBorder,x,v,S,C="animate";f||(this.chartBackground=f=e.rect().addClass("highcharts-background").add(),C="attr"),o?x=v=f.strokeWidth():(v=(x=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(x||f["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=x),f.attr(S).shadow(t.shadow)),f[C]({x:v/2,y:v/2,width:i-v-x%2,height:s-v-x%2,r:t.borderRadius}),C="animate",y||(C="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[C](u),!o&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),C="animate",b||(C="attr",this.plotBorder=b=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||b.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),b[C](b.crisp({x:h,y:d,width:c,height:p},-b.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=w[o.type],i=o[a]||e&&e.prototype[a],t=r&&r.length;!i&&t--;)(e=w[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=V(t.options.visible,s.options.visible,t.visible))}}),z(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,a=!0,n,l=0;for(let e of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new u(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&V(i.reserveSpace,!W(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight;for(let e of t)0===l?e.setScale():(e.horiz&&a||!e.horiz&&n)&&e.setTickInterval(!0);0===l?this.getAxisMargins():this.getMargins(),a=e/this.plotWidth>(l?1:1.1),n=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=U(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(M.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,o=e.container,a=o&&o.parentNode;for(z(e,"destroy"),e.renderer.forExport?N(S,e):S[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Z(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();
vendor: 4,520 bytes, line 3
3["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=p.emptyHTML,Z(o),a&&j(o)),Y(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let i=G(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),z(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),z(this,"load"),z(this,"render"),O(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||I('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,e,i){let s;let o=this;return t&&(e=V(e,!0),z(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),z(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,i){let s=new e(this,i.axis,t);return V(i.redraw,!0)&&this.redraw(i.animation),s}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&L(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,a=e.loadingSpan;r||(e.loadingDiv=r=E("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=E("span",{className:"highcharts-loading-inner"},null,r),P(e,"redraw",o)),r.className="highcharts-loading",p.setElementHTML(a,V(t,i.lang.loading,"")),e.styledMode||(L(r,B(s.style,{zIndex:10})),L(a,s.labelStyle),e.loadingShown||(L(r,{opacity:0,display:""}),g(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||g(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){L(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a;let n=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,c=[];z(n,"update",{options:t}),h||n.setResponsive(!1,!0),t=D(t,n.options),n.userOptions=U(n.userOptions,t);let p=t.chart;p&&(U(!0,n.options.chart,p),this.setZoomOptions(),"className"in p&&n.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(n.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&v(this,p),Y(p,function(t,e){-1!==n.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==n.propsRequireDirtyBox.indexOf(e)&&(n.isDirtyBox=!0),-1===n.propsRequireReflow.indexOf(e)||(n.isDirtyBox=!0,h||(a=!0))}),!n.styledMode&&p.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===b&&(this.time=new d(t.time)),U(!0,n.options.time,t.time)),Y(t,function(e,i){n[i]&&"function"==typeof n[i].update?n[i].update(e,!1):"function"==typeof n[l[i]]?n[l[i]](e):"colors"!==i&&-1===n.collectionsWithUpdate.indexOf(i)&&U(!0,n.options[i],t[i]),"chart"!==i&&-1!==n.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&($(t[e]).forEach(function(t,s){let o;let r=O(t.id);r&&(o=n.get(t.id)),!o&&n[e]&&(o=n[e][V(t.index,s)])&&(r&&O(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&n.collectionsWithInit[e]&&(n.collectionsWithInit[e][0].apply(n,[t].concat(n.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&n[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:c.push(t)}))}
3),c.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),o&&n.axes.forEach(function(t){t.update({},!1)}),r&&n.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let u=p&&p.width,g=p&&(X(p.height)?q(p.height,u||n.chartWidth):p.height);a||W(u)&&u!==n.chartWidth||W(g)&&g!==n.chartHeight?n.setSize(u,g,s):V(e,!0)&&n.redraw(s),z(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=y.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}z(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),z(this,"afterShowResetZoom")}zoomOut(){z(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),z(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),L(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n}=t,{inverted:l}=this,h=!1,d;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:c,minPointOffset:p=0,options:u,reversed:g}=t,m=e?"width":"height",f=e?"x":"y",y=V(a[m],t.len),b=V(s[m],t.len),x=10>Math.abs(y)?1:y/b,v=(s[f]||0)+b/2-t.pos,S=v-((a[f]??t.pos)+y/2-t.pos)/x,C=g&&!l||!g&&l?-1:1;if(!o&&(v<0||v>t.len))continue;let A=t.toValue(S,!0)+(r?0:p*C),k=t.toValue(S+c/x,!0)-(r?0:p*C||0),M=t.allExtremes;if(A>k&&([A,k]=[k,A]),1===x&&!o&&"yAxis"===t.coll&&!M){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);M??(M={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),W(t.dataMin)&&W(t.dataMax)&&(M.dataMin=Math.min(t.dataMin,M.dataMin),M.dataMax=Math.max(t.dataMax,M.dataMax))}t.allExtremes=M}let{dataMin:w,dataMax:P,min:T,max:E}=B(t.getExtremes(),M||{}),L=w??u.min,D=P??u.max,j=k-A,N=t.categories?0:Math.min(j,D-L),I=L-N*(O(u.min)?0:u.minPadding),R=D+N*(O(u.max)?0:u.maxPadding),z=t.allowZoomOutside||1===x||"zoom"!==n&&x>1,F=Math.min(u.min??I,I,z?T:I),G=Math.max(u.max??R,R,z?E:R);(!t.isOrdinal||1!==x||o)&&(A<F&&(A=F,x>=1&&(k=A+j)),k>G&&(k=G,x>=1&&(A=k-j)),(o||t.series.length&&(A!==T||k!==E)&&A>=F&&k<=G)&&(r?r[t.coll].push({axis:t,min:A,max:k}):(t.isPanning="zoom"!==n,t.setExtremes(o?void 0:A,o?void 0:k,!1,!1,{move:S,trigger:n,scale:x}),!o&&(A>F||k<G)&&"mousewheel"!==n&&(d=!0)),h=!0),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return h&&(r?z(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(d&&!this.resetZoomButton?this.showResetZoom():!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),h}}return B(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
3dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{stop:o}=t,{composed:r}=e,{addEvent:a,createElement:n,css:l,defined:h,merge:d,pushUnique:c}=s;function p(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new g(this)),t?.applyFixed()}function u(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class g{static compose(t,e,i){c(r,this.compose)&&(a(t,"afterInit",u),a(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a(e,"render",p),a(i,"show",u))}static afterSetSize(t,e){let i,s,o;let{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:l,inverted:c,renderer:p}=t;if(!p.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=d(t.plotBox),l.width=t.plotWidth+=i,n[c?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),h(s)&&(t.scrollablePlotBox=d(t.plotBox),l.height=t.plotHeight+=s,n[c?"width":"height"]+=s,o=!1)),h(o)&&!e.skipAxes))for(let e of t.axes)e.horiz===o&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let s=t.options.chart,o=i.getRendererType(),r=s.scrollablePlotArea||{},h=this.moveFixedElements.bind(this),d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(d.overflowX="auto"),t.scrollablePixelsY&&(d.overflowY="auto"),this.chart=t;let c=this.parentDiv=n("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=n("div",{className:"highcharts-scrolling"},d,c),u=this.innerContainer=n("div",{className:"highcharts-inner-container"},void 0,p),g=this.fixedDiv=n("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),m=this.fixedRenderer=new o(g,t.chartWidth,t.chartHeight,s.style);this.mask=m.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(g,p),l(t.renderTo,{overflow:"visible"}),a(t,"afterShowResetZoom",h),a(t,"afterApplyDrilldown",h),a(t,"afterLayOutTitles",h),a(p,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:a,chartHeight:n,container:d,plotHeight:c,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:f=0}=t,{scrollPositionX:y=0,scrollPositionY:b=0}=t.options.chart.scrollablePlotArea||{},x=a+m,v=n+f;e.setSize(a,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),o(t.container),l(d,{width:`${x}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:x,height:v,viewBox:[0,0,x,v].join(" ")}),t.chartBackground?.attr({width:x,height:v}),l(s,{width:`${a}px`,height:`${n}px`}),h(i)||(s.scrollLeft=m*y,s.scrollTop=f*b);let S=u-r[0]-1,C=p-r[3]-1,A=u+c+r[2]+1,k=p+g+r[1]+1,M=p+g-m,w=u+c-f,P=[["M",0,0]];m?P=[["M",0,S],["L",p-1,S],["L",p-1,A],["L",0,A],["Z"],["M",M,S],["L",a,S],["L",a,A],["L",M,A],["Z"]]:f&&(P=[["M",C,0],["L",C,u-1],["L",k,u-1],["L",k,0],["Z"],["M",C,w],["L",C,n],["L",k,n],["L",k,w],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:P})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=g.fixedSelectors;for(let n of(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&a.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),a))[].forEach.call(e.querySelectorAll(n),t=>
3{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return g.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],g}),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{format:s}=t,{series:o}=e,{destroyObjectProperties:r,fireEvent:a,isNumber:n,pick:l}=i;return class{constructor(t,e,i,s,o){let r=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,o=i.format,r=o?s(o,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:d,axis:c,label:p,options:u,textAlign:g}=this,m=c.chart,f=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:y}=d;if(p&&f){let t=p.getBBox(void 0,0),e=p.padding,i="justify"===l(u.overflow,"justify"),s;d.x=u.x||0,d.y=u.y||0;let{x:r,y:a}=this.adjustStackPosition({labelBox:t,verticalAlign:y,textAlign:g});f.x-=r,f.y-=a,p.align(d,!1,f),(s=m.isInsidePlot(p.alignAttr.x+d.x+r,p.alignAttr.y+d.y+a))||(i=!1),i&&o.prototype.justifyDataLabel.call(c,p,d,p.alignAttr,t,f),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:t.width*({left:0,center:.5,right:1})[u.textAlign||"center"],rotationOriginY:t.height/2}),l(!i&&u.crop,!0)&&(s=n(p.x)&&n(p.y)&&m.isInsidePlot(p.x-e+(p.width||0),p.y)&&m.isInsidePlot(p.x+e,p.y)),p[s?"show":"hide"]()}a(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},o=s[e],r=s[i];return{x:t.width/2+t.width/2*r,y:t.height/2*o}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:h}=t,d=e.stacking.usePercentage?100:l(s,this.total,0),c=e.toPixels(d),p=t.xAxis||i.xAxis[0],u=l(o,p.translate(this.x))+r,g=Math.abs(c-e.toPixels(h||n(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),m=i.inverted,f=this.isNegative;return m?{x:(f?c:c-g)-i.plotLeft,y:p.height-u-a,width:g,height:a}:{x:u+p.transB-i.plotLeft,y:(f?c-g:c)-i.plotTop,width:a,height:g}}}}),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{getDeferredAnimation:a}=t,{series:{prototype:n}}=i,{addEvent:l,correctFloat:h,defined:d,destroyObjectProperties:c,fireEvent:p,isArray:u,isNumber:g,objectEach:m,pick:f}=o;function y(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,f(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function b(){let t=this.stacking;if(t){let e=t.stacks;m(e,(t,i)=>{c(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function x(){this.stacking||(this.stacking=new M(this))}function v(t,e,i,s){return!d(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.processedXData,a=e.options.stacking,n=e[a+"Stacker"];
vendor: 4,199 bytes, line 3
3n&&[s,"-"+s].forEach(i=>{let s=r.length,a,l,h;for(;s--;)a=r[s],t=e.getStackIndicator(t,a,e.index,i),l=o[i]?.[a],(h=l?.points[t.key||""])&&n.call(e,h,l,s)})}function C(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),this.stackedYData[i]=t[1]}function A(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?n.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function k(t,e){let i,o,r,a,n,l,c,p,g;let m=e||this.options.stacking;if(!m||!this.reserveSpace()||(({group:"xAxis"})[m]||"yAxis")!==t.coll)return;let y=this.processedXData,b=this.processedYData,x=[],v=b.length,S=this.options,C=S.threshold||0,A=S.startFromThreshold?C:0,k=S.stack,M=e?`${this.type},${m}`:this.stackKey||"",w="-"+M,P=this.negStacks,T=t.stacking,E=T.stacks,L=T.oldStacks;for(T.stacksTouched+=1,c=0;c<v;c++){p=y[c],g=b[c],l=(i=this.getStackIndicator(i,p,this.index)).key||"",E[n=(o=P&&g<(A?0:C))?w:M]||(E[n]={}),E[n][p]||(L[n]?.[p]?(E[n][p]=L[n][p],E[n][p].total=null):E[n][p]=new s(t,t.options.stackLabels,!!o,p,k)),r=E[n][p],null!==g?(r.points[l]=r.points[this.index]=[f(r.cumulative,A)],d(r.cumulative)||(r.base=l),r.touched=T.stacksTouched,i.index>0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+p+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===m?(a=o?M:w,e=P&&E[a]?.[p]?(a=E[a][p]).total=Math.max(a.total||0,e)+Math.abs(g)||0:h(e+(Math.abs(g)||0))):"group"===m?(u(g)&&(g=g[0]),null!==g&&e++):e=h(e+(g||0)),"group"===m?r.cumulative=(e||1)-1:r.cumulative=h(f(r.cumulative,A)+(g||0)),r.total=e,null!==g&&(r.points[l].push(r.cumulative),x[c]=r.cumulative,r.hasValidPoints=!0)}"percent"===m&&(T.usePercentage=!0),"group"!==m&&(this.stackedYData=x),T.oldStacks={}}class M{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<a;e++)s[e].modifyStacks();p(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,m(this.stacks,t=>{m(t,t=>{t.cumulative=t.total})}))}resetStacks(){m(this.stacks,t=>{m(t,(e,i)=>{g(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=a(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),m(s,t=>{m(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(l(t,"init",x),l(t,"destroy",b),s.getStacks=y,o.getStackIndicator=v,o.modifyStacks=S,o.percentStacker=C,o.setGroupedPoints=A,o.setStackedPoints=k)},r}),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{defined:s,merge:o,isObject:r}=i;class a extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,a)=>{let n,l=s.graph,h=l?"animate":"attr",d=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(a?` highcharts-zone-graph-${a-1} `:" ")+(a&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(n={stroke:!a&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?n.dashstyle=d:"square"!==t.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),l[h](n).shadow(a<2&&t.shadow&&o({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)})}getGraphPath(t,e,i){let o=this,r=o.options,a=[],n=[],l,h=r.step,d=(t=t||o.points).reversed;return d&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&d&&(h=4-h),(t=this.getValidPoints(t,!1,!(r.connectNulls&&!e&&!i))).forEac
vendor: 3,066 bytes, line 3
3h(function(d,c){let p;let u=d.plotX,g=d.plotY,m=t[c-1],f=d.isNull||"number"!=typeof g;(d.leftCliff||m&&m.rightCliff)&&!i&&(l=!0),f&&!s(e)&&c>0?l=!r.connectNulls:f&&!e?l=!0:(0===c||l?p=[["M",d.plotX,d.plotY]]:o.getPointSpline?p=[o.getPointSpline(t,d,c)]:h?(p=1===h?[["L",m.plotX,g]]:2===h?[["L",(m.plotX+u)/2,m.plotY],["L",(m.plotX+u)/2,g]]:[["L",u,m.plotY]]).push(["L",u,g]):p=[["L",u,g]],n.push(d.x),h&&(n.push(d.x),2===h&&n.push(d.x)),a.push.apply(a,p),l=!1)}),a.xMap=n,o.graphPath=a,a}}return a.defaultOptions=o(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",a),a}),i(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),i(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{line:s}}=e,{extend:o,merge:r,objectEach:a,pick:n}=i;class l extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,o;let r=s.prototype.getGraphPath,a=this.options,l=a.stacking,h=this.yAxis,d=[],c=[],p=this.index,u=h.stacking.stacks[this.stackKey],g=a.threshold,m=Math.round(h.getThreshold(a.threshold)),f=n(a.connectNulls,"percent"===l),y=function(i,s,o){let r=t[i],a=l&&u[r.x].points[p],n=r[o+"Null"]||0,f=r[o+"Cliff"]||0,y,b,x=!0;f||n?(y=(n?a[0]:a[1])+f,b=a[0]+f,x=!!n):!l&&t[s]&&t[s].isNull&&(y=b=g),void 0!==y&&(c.push({plotX:e,plotY:null===y?m:h.getThreshold(y),isNull:x,isCliff:!0}),d.push({plotX:e,plotY:null===b?m:h.getThreshold(b),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)l||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),i=t[s].isNull,e=n(t[s].rectPlotX,t[s].plotX),o=l?n(t[s].yBottom,m):m,i&&!f||(f||y(s,s-1,"left"),i&&!l&&f||(c.push(t[s]),d.push({x:s,plotX:e,plotY:o})),f||y(s,s+1,"right"));let b=r.call(this,c,!0,!0);d.reversed=!0;let x=r.call(this,d,!0,!0),v=x[0];v&&"M"===v[0]&&(x[0]=["L",v[1],v[2]]);let S=b.concat(x);S.length&&S.push(["Z"]);let C=r.call(this,c,!1,f);return S.xMap=b.xMap,this.areaPath=S,C}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,l=r.stacking.stacks[this.stackKey],h={},d=r.series,c=d.length,p=r.options.reversedStacks?1:-1,u=d.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,h[t[e].x]=t[e];a(l,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let g=d.map(t=>t.visible);
3s.forEach(function(t,a){let m=0,f,y;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=l[s[a+i]],n=0;if(r){let i=u;for(;i>=0&&i<c;){let s=d[i].index;!(f=r.points[s])&&(s===e.index?h[t][o]=!0:g[i]&&(y=l[t].points[s])&&(n-=y[1]-y[0])),i+=p}}h[t][1===i?"rightCliff":"leftCliff"]=n});else{let e=u;for(;e>=0&&e<c;){let i=d[e].index;if(f=l[t].points[i]){m=f[1];break}e+=p}m=n(m,0),m=r.translate(m,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:m,yBottom:m})}})}return i}}return l.defaultOptions=r(s.defaultOptions,t),o(l.prototype,{singleStacks:!1}),e.registerSeriesType("area",l),l}),i(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{line:i}=t.seriesTypes,{merge:s,pick:o}=e;class r extends i{getPointSpline(t,e,i){let s,r,a,n;let l=e.plotX||0,h=e.plotY||0,d=t[i-1],c=t[i+1];function p(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(p(d)&&p(c)){let t=d.plotX||0,i=d.plotY||0,o=c.plotX||0,p=c.plotY||0,u=0;s=(1.5*l+t)/2.5,r=(1.5*h+i)/2.5,a=(1.5*l+o)/2.5,n=(1.5*h+p)/2.5,a!==s&&(u=(n-r)*(a-l)/(a-s)+h-n),r+=u,n+=u,r>i&&r>h?(r=Math.max(i,h),n=2*h-r):r<i&&r<h&&(r=Math.min(i,h),n=2*h-r),n>p&&n>h?(n=Math.max(p,h),r=2*h-n):n<p&&n<h&&(n=Math.min(p,h),r=2*h-n),e.rightContX=a,e.rightContY=n,e.controlPoints={low:[s,r],high:[a,n]}}let u=["C",o(d.rightContX,d.plotX,0),o(d.rightContY,d.plotY,0),o(s,l,0),o(r,h,0),l,h];return d.rightContX=d.rightContY=void 0,u}}return r.defaultOptions=s(i.defaultOptions),t.registerSeriesType("spline",r),r}),i(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{area:s,area:{prototype:o}}=e.seriesTypes,{extend:r,merge:a}=i;class n extends t{}return n.defaultOptions=a(t.defaultOptions,s.defaultOptions),r(n.prototype,{getGraphPath:o.getGraphPath,getStackPoints:o.getStackPoints,drawGraph:o.drawGraph}),e.registerSeriesType("areaspline",n),n}),i(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),i(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a){let{animObject:n}=t,{parse:l}=e,{noop:h}=s,{clamp:d,crisp:c,defined:p,extend:u,fireEvent:g,isArray:m,isNumber:f,merge:y,pick:b,objectEach:x}=a;class v extends o{animate(t){let e,i;let s=this,o=this.yAxis,r=o.pos,a=o.reversed,l=s.options,{clipOffset:h,inverted:c}=this.chart,p={},g=c?"translateX":"translateY";t&&h?(p.scaleY=.001,i=d(o.toPixels(l.threshold),r,r+o.len),c?(i+=a?-Math.floor(h[0]):Math.ceil(h[2]),p.translateX=i-o.len):(i+=a?Math.ceil(h[0]):-Math.floor(h[2]),p.translateY=i),s.clipBox&&s.setClip(),s.group.attr(p)):(e=Number(s.group.attr(g)),s.group.animate({scaleY:1},u(n(s.options.animation),{step:function(t,i){s.group&&(p[g]=e+i.pos*(r-e),s.group.attr(p))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,a={},n,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i;let o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===a[n=e.stackKey]&&(a[n]=l++),i=a[n]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,b(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+(r?1:0);return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=c(e+s,o,r)-(e=c(e,o,r)),this.options.crisp&&(i=c(t+i,o)-(t=c(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,a=0;x(this.xAxis.stacking?.stacks,t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&m(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&e.points[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).sort((t,e)=>e-t);r=t.indexOf(this.index),a=t.length}}}),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=b(i.borderWidth,s?0:1),a=t.xAxis,n=t.yAxis,l=i.threshold,h=b(i.minPointLength,5),c=t.getColumnMetrics(),u=c.width,m=t.pointXOffset=c.offset,y=t.dataMin,x=t.dataMax,v=t.translatedThreshold=n.getThreshold(l),S=t.barW=Math.max(u,1+2*r);i.pointPadding&&(S=Math.ceil(S)),o.prototype.translate.apply(t),t.points.forEac
3h(function(s){let o=b(s.yBottom,v),r=999+Math.abs(o),g=s.plotX||0,C=d(s.plotY,-r,n.len+r),A,k=Math.min(C,o),M=Math.max(C,o)-k,w=u,P=g+m,T=S;h&&Math.abs(M)<h&&(M=h,A=!n.reversed&&!s.negative||n.reversed&&s.negative,f(l)&&f(x)&&s.y===l&&x<=l&&(n.min||0)<l&&(y!==x||(n.max||0)<=l)&&(A=!A,s.negative=!s.negative),k=Math.abs(k-v)>h?o-h:v-(A?h:0)),p(s.options.pointWidth)&&(P-=Math.round(((w=T=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(P=t.adjustForMissingColumns(P,w,s,c)),s.barX=P,s.pointWidth=w,s.tooltipPos=e.inverted?[d(n.len+n.pos-e.plotLeft-C,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),a.len+a.pos-e.plotTop-P-T/2,M]:[a.left-e.plotLeft+P+T/2,d(C+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),M],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(P,s.isNull?v:k,T,s.isNull?0:M)}),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,h,d=t&&t.color||this.color,c=t&&t[o]||i[o]||d,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[r]||i[r]||this[r]||0,g=b(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),d=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(c=n.borderColor||c,p=n.dashStyle||p,u=n.borderWidth||u)),e&&t&&(h=(a=y(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,d=a.color||void 0!==h&&l(d).brighten(a.brightness).get()||d,c=a[o]||c,u=a[r]||u,p=a.dashStyle||p,g=b(a.opacity,g));let m={fill:d,stroke:c,"stroke-width":u,opacity:g};return p&&(m.dashstyle=p),m}drawPoints(t=this.points){let e;let i=this,s=this.chart,o=i.options,r=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let n=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCount<a?"animate":"attr";f(n)&&null!==t.y?(e=t.shapeArgs,l&&t.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(t.graphic=l=r[t.shapeType](e).add(t.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(l.attr({x:t.startXPos}),h=!0,d="animate")),l&&h&&l[d](y(e)),s.styledMode||l[d](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),l&&(l.addClass(t.getClassName(),!0),l.attr({visibility:t.visible?"inherit":"hidden"}))):l&&(t.graphic=l.destroy())})}drawTracker(t=this.points){let e;let i=this,s=i.chart,o=s.pointer,r=function(t){let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=m(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups.forEach(function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))}),i._hasTracking=!0),g(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),o.prototype.remove.apply(t,arguments)}}return v.defaultOptions=y(o.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v}),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{getDeferredAnimation:o}=t,{format:r}=e,{defined:a,extend:n,fireEvent:l,isArray:h,isString:d,merge:c,objectEach:p,pick:u,pInt:g,splat:m}=i;return function(t){function e(){return v(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:l}=this,h=this.isCartesian&&r.inverted,d=t.plotX,p=t.plotY,g=i.rotation||0,m=a(d)&&a(p)&&r.isInsidePlot(d,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),f=0===g&&"justify"===u(i.overflow,l?"none":"justify"),y=this.visible&&!1!==t.visible&&a(d)&&(t.series.forceDL||l&&!f||m||u(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(d,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),b=t.pos();if(y&&b){var x;let a=e.getBBox(),d=e.getBBox(void 0,0),p={right:1,center:.5}[i.align||0]||0,v={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=n({x:b[0],y:Math.round(b[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[h?"x":"y"]=0,s[h?"width":"height"]=this.yAxis?.len||0),n(i,{width:a.width,height:a.height}),x=s,l&&this.xAxis&&!f&&this.setDataLabelStartPos(t,e,o,m,x),e.align(c(i,{width:d.width,height:d.height}),!1,s,!1),e.alignAttr.x+=p*(d.width-a.width),e.alignAttr.y+=v*(d.height-a.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(a.width-d.width)/2,y:e.alignAttr.y+(a.height-d.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),f&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,a,s,o);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;y=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+a.width-1,i+a.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[o?"attr":"animate"]({anchorX:b[0],anchorY:b[1]})}o&&l&&(e.placed=!1),y||l&&!f?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function f(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function y(t){let e;t=t||this.points;let i=this,s=i.chart,n=i.options,h=s.renderer,{backgroundColor:c,plotBackgroun
3dColor:f}=s.options.chart,y=h.getContrast(d(f)&&f||d(c)&&c||"#000000"),b=v(i),{animation:S,defer:C}=b[0],A=C?o(s,S,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(A),t.forEach(t=>{let o=t.dataLabels||[];m(x(b,t.dlOptions||t.options?.dataLabels)).forEach((l,c)=>{let m=l.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,l),{backgroundColor:f,borderColor:b,distance:x,style:v={}}=l,S,C,A,k,M={},w=o[c],P=!w,T;if(m&&(C=u(l[t.formatPrefix+"Format"],l.format),S=t.getLabelConfig(),A=a(C)?r(C,S,s):(l[t.formatPrefix+"Formatter"]||l.formatter).call(S,l),k=l.rotation,!s.styledMode&&(v.color=u(l.color,v.color,d(i.color)?i.color:void 0,"#000000"),"contrast"===v.color?("none"!==f&&(T=f),t.contrastColor=h.getContrast("auto"!==T&&T||t.color||i.color),v.color=T||!a(x)&&l.inside||0>g(x||0)||n.stacking?t.contrastColor:y):delete t.contrastColor,n.cursor&&(v.cursor=n.cursor)),M={r:l.borderRadius||0,rotation:k,padding:l.padding,zIndex:1},s.styledMode||(M.fill="auto"===f?t.color:f,M.stroke="auto"===b?t.color:b,M["stroke-width"]=l.borderWidth),p(M,(t,e)=>{void 0===t&&delete M[e]})),!w||m&&a(A)&&!!w.div==!!l.useHTML&&(w.rotation&&l.rotation||w.rotation===l.rotation)||(w=void 0,P=!0),m&&a(A)&&(w?M.text=A:(w=h.label(A,0,0,l.shape,void 0,void 0,l.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(l.className||"")+(l.useHTML?" highcharts-tracker":"")),w)){w.options=l,w.attr(M),s.styledMode||w.css(v).shadow(l.shadow);let r=l[t.formatPrefix+"TextPath"]||l.textPath;r&&!l.useHTML&&(w.setTextPath(t.getDataLabelPath?.(w)||t.graphic,r),t.dataLabelPath&&!r.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),w.added||w.add(e),i.alignDataLabel(t,w,l,void 0,P),w.isActive=!0,o[c]&&o[c]!==w&&o[c].destroy(),o[c]=w}});let l=o.length;for(;l--;)o[l]&&o[l].isActive?o[l].isActive=!1:(o[l]?.destroy(),o.splice(l,1));t.dataLabel=o[0],t.dataLabels=o})),l(this,"afterDrawDataLabels")}function b(t,e,i,s,o,r){let a=this.chart,n=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=a.inverted?this.yAxis:this.xAxis,c=d?d.left-a.plotLeft:0,p=a.inverted?this.xAxis:this.yAxis,u=p?p.top-a.plotTop:0,{x:g=0,y:m=0}=e,f,y;return(f=(i.x||0)+h+c)<0&&("right"===n&&g>=0?(e.align="left",e.inside=!0):g-=f,y=!0),(f=(i.x||0)+s.width-h+c)>a.plotWidth&&("left"===n&&g<=0?(e.align="right",e.inside=!0):g+=a.plotWidth-f,y=!0),(f=i.y+h+u)<0&&("bottom"===l&&m>=0?(e.verticalAlign="top",e.inside=!0):m-=f,y=!0),(f=(i.y||0)+s.height-h+u)>a.plotHeight&&("top"===l&&m<=0?(e.verticalAlign="bottom",e.inside=!0):m+=a.plotHeight-f,y=!0),y&&(e.x=g,e.y=m,t.placed=!r,t.align(e,void 0,o)),y}function x(t,e){let i=[],s;if(h(t)&&!h(e))i=t.map(function(t){return c(t,e)});else if(h(e)&&!h(t))i=e.map(function(e){return c(t,e)});else if(h(t)||h(e)){if(h(t)&&h(e))for(s=Math.max(t.length,e.length);s--;)i[s]=c(t[s],e[s])}else i=c(t,e);return i}function v(t){let e=t.chart.options.plotOptions;return m(x(x(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function S(t,e,i,s,o){let r=this.chart,a=r.inverted,n=this.xAxis,l=n.reversed,h=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?o.x:l?-h-c:n.width-h+c,e.startYPos=a?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
3,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let o=t.prototype;o.initDataLabels||(o.initDataLabels=f,o.initDataLabelsGroup=s,o.alignDataLabel=i,o.drawDataLabels=y,o.justifyDataLabel=b,o.setDataLabelStartPos=S,o.hasDataLabels=e)}}(s||(s={})),s}),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{composed:r}=e,{series:a}=i,{merge:n,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,o){let r=this.chart.inverted,h=t.series,d=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,c=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,c)),g=l(i.inside,!!this.options.stacking);if(p){if(s=n(p),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-c;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:c-s.y-s.height,y:d-s.x-s.width,width:s.height,height:s.width}),g||(r?(s.x+=u?0:s.width,s.width=0):(s.y+=u?s.height:0,s.height=0))}i.align=l(i.align,!r||g?"center":u?"right":"left"),i.verticalAlign=l(i.verticalAlign,r||g?"middle":u?"top":"bottom"),a.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}e.compose=function(e){t.compose(a),h(r,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}}(o||(o={})),o}),i(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{extend:s,merge:o}=i;class r extends t{}return r.defaultOptions=o(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),e.registerSeriesType("bar",r),r}),i(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s,line:o}=e.seriesTypes,{addEvent:r,extend:a,merge:n}=i;class l extends o{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[n]||0)-h),d=Math.min(l.len,(s[n]||0)+h);s[n]=e+(d-e)*((t=1e4*Math.sin(o+a*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=n(o.defaultOptions,t),a(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(l,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",l),l}),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var s,o;let{deg2rad:r}=t,{fireEvent:a,isNumber:n,pick:l,relativeLength:h}=i;return(o=s||(s={})).getCenter=function(){let t=this.options,i=this.chart,s=2*(t.slicedOffset||0),o=i.plotWidth-2*s,r=i.plotHeight-2*s,d=t.center,c=Math.min(o,r),p=t.thickness,u,g=t.size,m=t.innerSize||0,f,y;"string"==typeof g&&(g=parseFloat(g)),"string"==typeof m&&(m=parseFloat(m));let b=[l(d[0],"50%"),l(d[1],"50%"),l(g&&g<0?void 0:t.size,"100%"),l(m&&m<0?void 0:t.innerSize||0,"0%")];for(!i.angular||this instanceof e||(b[3]=0),f=0;f<4;++f)y=b[f],u=f<2||2===f&&/%$/.test(y),b[f]=h(y,[o,r,c,b[2]][f])+(u?s:0);return b[3]>b[2]&&(b[3]=b[2]),n(p)&&2*p<b[2]&&p>0&&(b[3]=b[2]-2*p),a(this,"afterGetCenter",{positions:b}),b},o.getStartAndEndRadians=function(t,e){let i=n(t)?t:0,s=n(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 7,395 bytes, line 3
3i){let{setAnimation:s}=t,{addEvent:o,defined:r,extend:a,isNumber:n,pick:l,relativeLength:h}=i;class d extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};o(this,"select",s),o(this,"unselect",s)}isValid(){return n(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let o=this.series;s(i,o.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(d.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:o}=e,{series:r}=this,[a,n,l]=r.center,d=l/2,{plotLeft:c,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:m}=t,f=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);f=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else f=a+(n-m)*Math.tan((this.angle||0)-Math.PI/2);let y=[["M",g,m]];return(u?f<=g&&f>=s.x:f>=g&&f<=s.x)&&y.push(["L",f,m]),y.push(["L",s.x,s.y],["L",o.x,o.y]),y}}}),d}),i(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l){let{getStartAndEndRadians:h}=t,{noop:d}=i,{clamp:c,extend:p,fireEvent:u,merge:g,pick:m}=l;class f extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:m(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,l=Math.asin(c((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s;let o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||g(!0,n,i),g(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){u(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=h(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,d,c,p,g,m,f,y,b=0;for(t||(this.center=t=this.getCenter()),f=0;f<l;f++){y=a[f],d=o+b*r,y.isValid()&&(!n||y.visible)&&(b+=y.percentage/100),c=o+b*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*d)/1e3,end:Math.round(1e3*c)/1e3};y.shapeType="arc",y.shapeArgs=e,(p=(c+d)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),y.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,m=Math.sin(p)*t[2]/2,y.tooltipPos=[t[0]+.7*g,t[1]+.7*m],y.half=p<-Math.PI/2||p>Math.PI/2?1:0,y.angle=p}u(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}return f.defaultOptions=g(r.defaultOptions,o),p(f.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:d,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:d,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",f),f}),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{composed:a,noop:n}=e,{distribute:l}=i,{series:h}=s,{arrayMax:d,clamp:c,defined:p,pick:u,pushUnique:g,relativeLength:m}=o;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function s(t,e){let{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,a=Math.cos(r),n=Math.sin(r),l=i[0]+a*o,h=i[1]+n*o,d=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);
vendor: 4,810 bytes, line 3
3return{natural:{x:l+a*e,y:h+n*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+a*d,y:h+n*d},touchingSliceAt:{x:l,y:h}},distance:e}}function o(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,c=n[2]/2,g=n[1],f=[[],[]],y=[0,0,0,0],b=t.dataLabelPositioners,x,v,S,C=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,o=e.options,r=m(o?.distance||0,s);0===i&&f[t.half].push(t),!p(o?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),C=Math.max(C,r)})}),f.forEach((e,a)=>{let h=e.length,d=[],m,f,x=0,A;h&&(t.sortByAngle(e,a-.5),C>0&&(m=Math.max(0,g-c-C),f=Math.min(g+c+C,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,g-c-s.distance),s.bottom=Math.min(g+c+s.distance,i.plotHeight),x=e.getBBox().height||21,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+x/2,size:x,rank:t.y},d.push(t.distributeBox))})}),l(d,A=f+x-m,A/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let h=l.options||{},g=i.distributeBox,m=l.dataLabelPosition,f=m?.natural.y||0,x=h.connectorPadding||0,C=0,A=f,k="inherit";if(m){if(d&&p(g)&&m.distance>0&&(void 0===g.pos?k="hidden":(S=g.size,A=b.radialDistributionY(i,l))),h.justify)C=b.justify(i,l,c,n);else switch(h.alignTo){case"connectors":C=b.alignToConnectors(e,a,s,r);break;case"plotEdges":C=b.alignToPlotEdges(l,a,s,r);break;default:C=b.radialDistributionX(t,i,A,f,l)}if(m.attribs={visibility:k,align:m.alignment},m.posAttribs={x:C+(h.x||0)+(({left:x,right:-x})[m.alignment]||0),y:A+(h.y||0)-l.getBBox().height/2},m.computed.x=C,m.computed.y=A,u(h.crop,!0)){let t;C-(v=l.getBBox().width)<x&&1===a?(t=Math.round(v-C+x),y[3]=Math.max(t,y[3])):C+v>s-x&&0===a&&(t=Math.round(C+v-s+x),y[1]=Math.max(t,y[1])),A-S/2<0?y[0]=Math.max(Math.round(-A+S/2),y[0]):A+S/2>o&&(y[2]=Math.max(Math.round(A+S/2-o),y[2])),m.sideOverflow=t}}})}))}),(0===d(y)||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},a=s.dataLabelPosition;if(r){let n;x=s.connector,a&&a.distance>0?(n=!x,x||(s.connector=x=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||x.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),x[n?"attr":"animate"]({d:e.getConnectorPath(s)}),x.attr({visibility:a.attribs?.visibility})):x&&(s.connector=x.destroy())}})})))}function r(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function f(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=c(r,o,e[2]-Math.max(t[0],t[2])):(r=c(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,m(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}e.compose=function(e){if(t.compose(h),g(a,"PieDataLabel")){let t=e.prototype;t.dataLabelPositioners=i,t.alignDataLabel=n,t.drawDataLabels=o,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=f}}}(r||(r={})),r}),i(e,"Extensions/OverlappingDataLabels.js",[e["Core/Utilities.js"]],function(t){let{addEvent:e,fireEvent:i,objectEach:s,pick:o}=t;function r(t){let e=t.length,s=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),o,r,n,l,h,d=!1;for(let i=0;i<e;i++)(o=t[i])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:i.x+(t.parentGroup?.translateX||0)+e,y:i.y+(t.parentGroup?.translateY||0)+e,width:(t.width||0)-2*e,height:(t.height||0)-2*e}}}(o));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let i=0;i<e;++i){l=(r=t[i])&&r.absoluteBox;for(let o=i+1;o<e;++o)h=(n=t[o])&&n.absoluteBox,l&&h&&r!==n&&0!==r.newOpacity&&0!==n.newOpacity&&"hidden"
3!==r.visibility&&"hidden"!==n.visibility&&s(l,h)&&((r.labelrank<n.labelrank?r:n).newOpacity=0)}for(let e of t)a(e,this)&&(d=!0);d&&i(this,"afterHideAllOverlappingLabels")}function a(t,e){let s,o,r=!1;return t&&(o=t.newOpacity,t.oldOpacity!==o&&(t.hasClass("highcharts-data-label")?(t[o?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=function(){e.styledMode||t.css({pointerEvents:o?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:o},void 0,s),i(e,"afterHideOverlappingLabel")):t.attr({opacity:o})),t.isOld=!0),r}function n(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&s(i.stacking.stacks,t=>{s(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let r=i.options||{};i.labelrank=o(r.labelrank,s.labelrank,s.shapeArgs?.height),r.allowOverlap??Number(r.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,a(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=r,e(t,"render",n))}}}
vendor: 3,847 bytes, line 3
3),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=t,{noop:o}=e,{addEvent:r,extend:a,isObject:n,merge:l,relativeLength:h}=i,d={radius:0,scope:"stack",where:void 0},c=o,p=o;function u(t,e,i,s,o={}){let r=c(t,e,i,s,o),{innerR:a=0,r:n=i,start:l=0,end:d=0}=o;if(o.open||!o.borderRadius)return r;let p=d-l,g=Math.sin(p/2),m=Math.max(Math.min(h(o.borderRadius||0,n-a),(n-a)/2,n*g/(1+g)),0),f=Math.min(m,p/Math.PI*2*a),y=r.length-1;for(;y--;)!function(t,e,i){let s,o,r;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,o=n,r=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a),s&&o&&o.params){let a=o[1],n=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=n?a-i:a+i,g=u?Math.asin(i/u):0,m=n?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=c+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(l.start),p+a*Math.sin(l.start)])):(l.end=d-m,o[6]=c+a*Math.cos(l.end),o[7]=p+a*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,y,y>1?f:m);return r}function g(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,o=s.plotOptions?.[this.type]?.borderRadius,r=m(t.borderRadius,n(o)?o:{}),l=e.options.reversed;for(let s of this.points){let{shapeArgs:o}=s;if("roundedRect"===s.shapeType&&o){let{width:n=0,height:d=0,y:c=0}=o,p=c,u=d;if("stack"===r.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));p=a.y,u=a.height}let g=(s.negative?-1:1)*(l?-1:1)==-1,m=r.where;!m&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let f=Math.min(h(r.radius,n),n/2,"all"===m?d/2:1/0)||0;"end"===m&&(g&&(p-=f),u+=f),a(o,{brBoxHeight:u,brBoxY:p,r:f})}}}}function m(t,e){return n(t)||(t={radius:t||0}),l(d,e,t)}function f(){let t=m(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function y(t,e,i,s,o={}){let r=p(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:l=e}=o,h=e-l,d=l+n-(e+s),c=h-a>-.1?0:a,u=d-a>-.1?0:a,g=Math.max(c&&h,0),m=Math.max(u&&d,0),f=[t+c,e],b=[t+i-c,e],x=[t+i,e+c],v=[t+i,e+s-u],S=[t+i-u,e+s],C=[t+u,e+s],A=[t,e+s-u],k=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);f[0]-=t,b[0]+=t,x[1]=k[1]=e+c-g}if(s<c-g){let o=M(c,c-g-s);x[0]=v[0]=t+i-c+o,S[0]=Math.min(x[0],S[0]),C[0]=Math.max(v[0],C[0]),A[0]=k[0]=t+c-o,x[1]=k[1]=e+s}if(m){let t=M(u,u-m);S[0]+=t,C[0]-=t,v[1]=A[1]=e+s-u+m}if(s<u-m){let o=M(u,u-m-s);x[0]=v[0]=t+i-u+o,b[0]=Math.min(x[0],b[0]),f[0]=Math.max(v[0],f[0]),A[0]=k[0]=t+u-o,v[1]=A[1]=e}return r.length=0,r.push(["M",...f],["L",...b],["A",c,c,0,0,1,...x],["L",...v],["A",u,u,0,0,1,...S],["L",...C],["A",u,u,0,0,1,...A],["L",...k],["A",c,c,0,0,1,...f],["Z"]),r}return{compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;r(t,"afterColumnTranslate",g,{order:9}),r(s,"afterTranslate",f),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),c=o.arc,p=o.roundedRect,o.arc=u,o.roundedRect=y}},optionsToObject:m}}),i(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(t){var e;let{diffObjects:i,extend:s,find:o,merge:r,pick:a,uniqueKey:n}=t;return function(t){function e(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=a(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=a(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s=this.options.responsive,a=this.currentResponsive,l=[],h;
3!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=n()),this.matchResponsiveRule(t,l)},this);let d=r(...l.map(t=>o((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));d.isResponsiveOptions=!0,l=l.toString()||void 0;let c=a&&a.ruleIds;l!==c&&(a&&this.update(a.undoOptions,t,!0),l?((h=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:d,undoOptions:h},this.update(d,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e}),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/
3BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u,g,m,f,y,b,x,v,S,C,A,k,M,w,P,T,E,L,O,D,j,N,I){return t.AST=r,t.Axis=p,t.Chart=C,t.Color=N,t.DataLabel=L,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||O,t.PlotLineOrBand=m,t.Point=b,t.Pointer=x,t.RendererRegistry=n,t.Series=w,t.SeriesRegistry=P,t.StackItem=M,t.SVGElement=h,t.SVGRenderer=d,t.Templating=a,t.Tick=f,t.Time=I,t.Tooltip=y,t.animate=o.animate,t.animObject=o.animObject,t.chart=C.chart,t.color=N.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=a.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=P.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),T.compose(t.Series.types.column),L.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),O.compose(t.Chart),E.compose(t.Series.types.pie),m.compose(t.Axis),x.compose(t.Chart),j.compose(t.Chart),A.compose(t.Axis,t.Chart,t.Series),k.compose(t.Axis,t.Chart,t.Series),y.compose(t.Pointer),e.extend(t,e),t}),i(e,"Core/Axis/Color/ColorAxisComposition.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i;let{parse:s}=t,{addEvent:o,extend:r,merge:a,pick:n,splat:l}=e;return function(t){let e;function i(){let{userOptions:t}=this;this.colorAxis=[],t.colorAxis&&(t.colorAxis=l(t.colorAxis),t.colorAxis.map(t=>new e(this,t)))}function h(t){let e=this.chart.colorAxis||[],i=e=>{let i=t.allItems.indexOf(e);-1!==i&&(this.destroyItem(t.allItems[i]),t.allItems.splice(i,1))},s=[],o,r;for(e.forEach(function(t){(o=t.options)&&o.showInLegend&&(o.dataClasses&&o.visible?s=s.concat(t.getDataClassLegendSymbols()):o.visible&&s.push(t),t.series.forEach(function(t){(!t.options.showInLegend||o.dataClasses)&&("point"===t.options.legendType?t.points.forEach(function(t){i(t)}):i(t))}))}),r=s.length;r--;)t.allItems.unshift(s[r])}function d(t){t.visible&&t.item.legendColor&&t.item.legendItem.symbol.attr({fill:t.item.legendColor})}function c(t){this.chart.colorAxis?.forEach(e=>{e.update({},t.redraw)})}function p(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function u(){let t=this.axisTypes;t?-1===t.indexOf("colorAxis")&&t.push("colorAxis"):this.axisTypes=["colorAxis"]}function g(t){let e=this,i=t?"show":"hide";e.visible=e.options.visible=!!t,["graphic","dataLabel"].forEach(function(t){e[t]&&e[t][i]()}),this.series.buildKDTree()}function m(){let t=this,e=this.data.length?this.data:this.points,i=this.options.nullColor,s=this.colorAxis,o=this.colorKey;e.forEach(e=>{let r=e.getNestedProperty(o),a=e.options.color||(e.isNull||null===e.value?i:s&&void 0!==r?s.toColor(r,e):e.color||t.color);a&&e.color!==a&&(e.color=a,"point"===t.options.legendType&&e.legendItem&&e.legendItem.label&&t.chart.legend.colorizeItem(e,e.visible))})}function f(){this.elem.attr("fill",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}function y(){this.elem.attr("stroke",s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}t.compose=function(t,s,l,b,x){var v;let S,C=s.prototype,A=l.prototype,k=x.prototype;C.collectionsWithUpdate.includes("colorAxis")||(e=t,C.collectionsWithUpdate.push("colorAxis"),C.collectionsWithInit.colorAxis=[C.addColorAxis],o(s,"afterGetAxes",i),S=(v=s).prototype.createAxis,v.prototype.createAxis=function(t,i){if("colorAxis"!==t)return S.apply(this,arguments);let s=new e(this,a(i.axis,{index:this[t].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(t=>{t.series=[]}),this.series.forEach(t=>{t.bindAxes(),t.isDirtyData=!0}),n(i.redraw,!0)&&this.redraw(i.animation),s},A.fillSetter=f,A.strokeSetter=y,o(b,"afterGetAllItems",h),o(b,"afterColorizeItem",d),o(b,"afterUpdate",c),r(k,{optionalAxis:"colorAxis",translateColors:m}),r(k.pointClass.prototype,{setVisible:g}),o(x,"afterTranslate",p,{order:1}),o(x,"bindAxes",u))},t.pointSetVisible=g}(i||(i={})),i}),i(e,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),i(e,"Core/Axis/Color/ColorAxisLike.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i,s;let{parse:o}=t,{merge:r}=e;return(s=i||(i={})).initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,a=t.dataClasses||[],n,l,h=e.options.chart.colorCount,d=0,c;this.dataClasses=l=[],i.labels=[];for(let t=0,i=a.length;t<i;++t)n=r(n=a[t]),l.push(n),(e.styledMode||!n.color)&&("category"===s.dataClassColor?(e.styledMode||(h=(c=e.options.colors||[]).length,n.color=c[d]
3),n.colorIndex=d,++d===h&&(d=0)):n.color=o(s.minColor).tweenTo(o(s.maxColor),i<2?.5:t/(i-1)))},s.initStops=function(){let t=this.options,e=this.stops=t.stops||[[0,t.minColor||""],[1,t.maxColor||""]];for(let t=0,i=e.length;t<i;++t)e[t].color=o(e[t][1])},s.normalizedValue=function(t){let e=this.max||0,i=this.min||0;return this.logarithmic&&(t=this.logarithmic.log2lin(t)),1-(e-t)/(e-i||1)},s.toColor=function(t,e){let i,s,o,r,a,n;let l=this.dataClasses,h=this.stops;if(l){for(n=l.length;n--;)if(s=(a=l[n]).from,o=a.to,(void 0===s||t>=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r},i}),i(e,"Core/Axis/Color/ColorAxis.js",[e["Core/Axis/Axis.js"],e["Core/Axis/Color/ColorAxisComposition.js"],e["Core/Axis/Color/ColorAxisDefaults.js"],e["Core/Axis/Color/ColorAxisLike.js"],e["Core/Defaults.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){let{defaultOptions:l}=o,{series:h}=a,{defined:d,extend:c,fireEvent:p,isArray:u,isNumber:g,merge:m,pick:f,relativeLength:y}=n;l.colorAxis=m(l.xAxis,i);class b extends t{static compose(t,i,s,o){e.compose(b,t,i,s,o)}constructor(t,e){super(t,e),this.coll="colorAxis",this.visible=!0,this.init(t,e)}init(t,e){let i=t.options.legend||{},s=e.layout?"vertical"!==e.layout:"vertical"!==i.layout;this.side=e.side||s?2:1,this.reversed=e.reversed||!s,this.opposite=!s,super.init(t,e,"colorAxis"),this.userOptions=e,u(t.userOptions.colorAxis)&&(t.userOptions.colorAxis[this.index]=e),e.dataClasses&&this.initDataClasses(e),this.initStops(),this.horiz=s,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(t){let e=m(l.colorAxis,t,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&!1!==t.visible});super.setOptions(e),this.options.crosshair=this.options.marker}setAxisSize(){let t=this.chart,e=this.legendItem?.symbol,{width:i,height:s}=this.getSize();e&&(this.left=+e.attr("x"),this.top=+e.attr("y"),this.width=i=+e.attr("width"),this.height=s=+e.attr("height"),this.right=t.chartWidth-this.left-i,this.bottom=t.chartHeight-this.top-s,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?i:s)||b.defaultLegendLength}getOffset(){let t=this.legendItem?.group,e=this.chart.axisOffset[this.side];if(t){this.axisParent=t,super.getOffset();let i=this.chart.legend;i.allItems.forEach(function(t){t instanceof b&&t.drawLegendSymbol(i,t)}),i.render(),this.chart.getMargins(!0),this.chart.series.some(t=>t.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=e}}setLegendColor(){let t=this.horiz,e=this.reversed,i=e?1:0,s=e?0:1,o=t?[i,0,s,0]:[0,s,0,i];this.legendColor={linearGradient:{x1:o[0],y1:o[1],x2:o[2],y2:o[3]},stops:this.stops}}drawLegendSymbol(t,e){let i=e.legendItem||{},s=t.padding,o=t.options,r=this.options.labels,a=f(o.itemDistance,10),n=this.horiz,{width:l,height:h}=this.getSize(),d=f(o.labelPadding,n?16:30);this.setLegendColor(),i.symbol||(i.symbol=this.chart.renderer.symbol("roundedRect").attr({r:o.symbolRadius??3,zIndex:1}).add(i.group)),i.symbol.attr({x:0,y:(t.baseline||0)-11,width:l,height:h}),i.labelWidth=l+s+(n?a:f(r.x,r.distance)+(this.maxLabelLength||0)),i.labelHeight=h+s+(n?d:0)}setState(t){this.series.forEach(function(e){e.setState(t)})}setVisible(){}getSeriesExtremes(){let t=this.series,e,i,s,o,r,a,n=t.length,l,c;for(this.dataMin=1/0,this.dataMax=-Infinity;n--;){if(i=(a=t[n]).colorKey=f(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y"),o=a.pointArrayMap,r=a[i+"Min"]&&a[i+"Max"],a[i+"Data"])e=a[i+"Data"];else if(o){if(e=[],s=o.indexOf(i),l=a.yData,s>=0&&l)for(c=0;c<l.length;c++)e.push(f(l[c][s],l[c]))}else e=a.yData;if(r)a.minColorValue=a[i+"Min"],a.maxColorValue=a[i+"Max"];else{let t=h.prototype.getExtremes.call(a,e);a.minColorValue=t.dataMin,a.maxColorValue=t.dataMax}d(a.minColorValue)&&d(a.maxColorValue)&&(this.dataMin=Math.min(this.dataMin,a.minColorValue),this.dataMax=Math.max(this.dataMax,a.maxColorValue)),r||h.prototype.applyExtremes.call(a)}}drawCrosshair(t,e){let i;let s=this.legendItem||{}
vendor: 6,200 bytes, line 3
3,o=e&&e.plotX,r=e&&e.plotY,a=this.pos,n=this.len;e&&((i=this.toPixels(e.getNestedProperty(e.series.colorKey)))<a?i=a-2:i>a+n&&(i=a+n+2),e.plotX=i,e.plotY=this.len-i,super.drawCrosshair(t,e),e.plotX=o,e.plotY=r,this.cross&&!this.cross.addedToColorAxis&&s.group&&(this.cross.addClass("highcharts-coloraxis-marker").add(s.group),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!=typeof this.crosshair||this.cross.attr({fill:this.crosshair.color})))}getPlotLinePath(t){let e=this.left,i=t.translatedValue,s=this.top;return g(i)?this.horiz?[["M",i-4,s-6],["L",i+4,s-6],["L",i,s],["Z"]]:[["M",e,i],["L",e-6,i+6],["L",e-6,i-6],["Z"]]:super.getPlotLinePath(t)}update(t,e){let i=this.chart.legend;this.series.forEach(t=>{t.isDirtyData=!0}),(t.dataClasses&&i.allItems||this.dataClasses)&&this.destroyItems(),super.update(t,e),this.legendItem&&this.legendItem.label&&(this.setLegendColor(),i.colorizeItem(this,!0))}destroyItems(){let t=this.chart,e=this.legendItem||{};if(e.label)t.legend.destroyItem(this);else if(e.labels)for(let i of e.labels)t.legend.destroyItem(i);t.isDirtyLegend=!0}destroy(){this.chart.isDirtyLegend=!0,this.destroyItems(),super.destroy(...[].slice.call(arguments))}remove(t){this.destroyItems(),super.remove(t)}getDataClassLegendSymbols(){let t;let e=this,i=e.chart,s=e.legendItem&&e.legendItem.labels||[],o=i.options.legend,a=f(o.valueDecimals,-1),n=f(o.valueSuffix,""),l=t=>e.series.reduce((e,i)=>(e.push(...i.points.filter(e=>e.dataClass===t)),e),[]);return s.length||e.dataClasses.forEach((o,h)=>{let d=o.from,u=o.to,{numberFormatter:g}=i,m=!0;t="",void 0===d?t="< ":void 0===u&&(t="> "),void 0!==d&&(t+=g(d,a)+n),void 0!==d&&void 0!==u&&(t+=" - "),void 0!==u&&(t+=g(u,a)+n),s.push(c({chart:i,name:t,options:{},drawLegendSymbol:r.rectangle,visible:!0,isDataClass:!0,setState:t=>{for(let e of l(h))e.setState(t)},setVisible:function(){this.visible=m=e.visible=!m;let t=[];for(let e of l(h))e.setVisible(m),e.hiddenInDataClass=!m,-1===t.indexOf(e.series)&&t.push(e.series);i.legend.colorizeItem(this,m),t.forEach(t=>{p(t,"afterDataClassLegendClick")})}},o))}),s}getSize(){let{chart:t,horiz:e}=this,{height:i,width:s}=this.options,{legend:o}=t.options;return{width:f(d(s)?y(s,t.chartWidth):void 0,o?.symbolWidth,e?b.defaultLegendLength:12),height:f(d(i)?y(i,t.chartHeight):void 0,o?.symbolHeight,e?12:b.defaultLegendLength)}}}return b.defaultLegendLength=200,b.keepProps=["legendItem"],c(b.prototype,s),Array.prototype.push.apply(t.keepProps,b.keepProps),b}),i(e,"masters/modules/coloraxis.src.js",[e["Core/Globals.js"],e["Core/Axis/Color/ColorAxis.js"]],function(t,e){return t.ColorAxis=t.ColorAxis||e,t.ColorAxis.compose(t.Chart,t.Fx,t.Legend,t.Series),t}),i(e,"Maps/MapNavigationDefaults.js",[],function(){return{lang:{zoomIn:"Zoom in",zoomOut:"Zoom out"},mapNavigation:{buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{color:"#666666",fontSize:"1em",fontWeight:"bold"},theme:{fill:"#ffffff",stroke:"#e6e6e6","stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1}}}),i(e,"Maps/MapPointer.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:i,extend:s,pick:o,wrap:r}=t;return function(t){let e,a=0;function n(t){let e=this.chart;t=this.normalize(t),e.options.mapNavigation.enableDoubleClickZoomTo?e.pointer.inClass(t.target,"highcharts-tracker")&&e.hoverPoint&&e.hoverPoint.zoomTo():e.isInsidePlot(t.chartX-e.plotLeft,t.chartY-e.plotTop)&&e.mapZoom(.5,void 0,void 0,t.chartX,t.chartY)}function l(t){let s=this.chart,o=i((t=this.normalize(t)).wheelDelta)&&-t.wheelDelta/120||t.deltaY||t.detail;Math.abs(o)>=1&&(a+=Math.abs(o),e&&clearTimeout(e),e=setTimeout(()=>{a=0},50)),a<10&&s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop)&&s.mapView&&s.mapView.zoomBy(-((s.options.mapNavigation.mouseWheelSensitivity-1)*o),void 0,[t.chartX,t.chartY],!(1>Math.abs(o))&&void 0)}function h(t,e,i){let o=this.chart;if(e=t.call(this,e,i),o&&o.mapView){let t=o.mapView.pixelsToLonLat({x:e.chartX-o.plotLeft,y:e.chartY-o.plotTop});t&&s(e,t)}return e}function d(t){let e=this.chart.options.mapNavigation;e&&o(e.enableTouchZoom,e.enabled)&&(this.chart.zooming.pinchType="xy"),t.apply(this,[].slice.call(arguments,1))}t.compose=function(t){let e=t.prototype;e.onContainerDblClick||(s(e,{onContainerDblClick:n,onContainerMouseWheel:l}),r(e,"normalize",h),r(e,"zoomOption",d))}}(e||(e={})),e}),i(e,"Maps/MapSymbols.js",[],function(){let t;function e(e,i,s,o,r){if(r){let t=r?.r||0;r.brBoxY=i-t,r.brBoxHeight=o+t}return t.roundedRect(e,i,s,o,r)}function i(e,i,s,o,r){if(r){let t=r?.r||0;r.brBoxHeight=o+t}return t.roundedRect(e,i,s,o,r)}return{compose:function(s){(t=s.prototype.symbols).bottombutton=e,t.topbutton=i}}}),i(e,"Maps/MapNavigation.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Maps/MapNavigationDefaults.js"],e["Maps/MapPointer.js"],e["Maps/MapSymbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{setOptions:a}=t,{composed:n}=e,{addEvent:l,extend:h,merge:d,objectEach:c,pick:p,pushUnique:u}=r;function g(t){t&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.cancelBubble=!0)}class m{static compose(t,e,r){s.compose(e),o.compose(r),u(n,"Map.Navigation")&&(l(t,"beforeRender",function(){this.mapNavigation=new m(this),this.mapNavigation.update()}),a(i))}constructor(t){this.chart=t,this.navButtons=[]}update(t){let e=this,i=e.chart,s=e.navButtons,o=function(t){this.handler.call(i,t),g(t)},r=i.options.mapNavigation;for(t&&(r=i.options.mapNavigation=d(i.options.mapNavigation,t));s.length;)s.pop().destroy();if(!i.renderer.forExport&&p(r.enableButtons,r.enabled)){e.navButtonsGroup||(e.navButtonsGroup=i.renderer.g().attr({zIndex:7}).add()),c(r.buttons,(t,a)=>{let n={padding:(t=d(r.buttonOptions,t)).padding};!i.styledMode&&t.theme&&(h(n,t.theme),n.style=d(t.theme.style,t.style));let{text:c,width:p=0,height:u=0,padding:m=0}=t,f=i.renderer.button("+"!==c&&"-"!==c&&c||"",0,0,o,n,void 0,void 0,void 0,"zoomIn"===a?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+({zoomIn:"zoom-in",zoomOut:"zoom
3-out"})[a]).attr({width:p,height:u,title:i.options.lang[a],zIndex:5}).add(e.navButtonsGroup);if("+"===c||"-"===c){let e=p+1,s=[["M",m+3,m+u/2],["L",m+e-3,m+u/2]];"+"===c&&s.push(["M",m+e/2,m+3],["L",m+e/2,m+u-3]),i.renderer.path(s).addClass("highcharts-button-symbol").attr(i.styledMode?{}:{stroke:t.style?.color,"stroke-width":3,"stroke-linecap":"round"}).add(f)}if(f.handler=t.onclick,l(f.element,"dblclick",g),s.push(f),h(t,{width:f.width,height:2*(f.height||0)}),i.hasLoaded)f.align(t,!1,t.alignTo);else{let e=l(i,"load",()=>{f.element&&f.align(t,!1,t.alignTo),e()})}});let t=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y);i.hasLoaded||l(i,"render",function(){let s=i.exportingGroup&&i.exportingGroup.getBBox();if(s){let i=e.navButtonsGroup.getBBox();if(t(s,i)){let t=-i.y-i.height+s.y-5,o=s.y+s.height-i.y+5,a=r.buttonOptions&&r.buttonOptions.verticalAlign;e.navButtonsGroup.attr({translateY:"bottom"===a?t:o})}}})}this.updateEvents(r)}updateEvents(t){let e=this.chart;p(t.enableDoubleClickZoom,t.enabled)||t.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||l(e.container,"dblclick",function(t){e.pointer.onContainerDblClick(t)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick()),p(t.enableMouseWheelZoom,t.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||l(e.container,"wheel",function(t){return e.pointer.inClass(t.target,"highcharts-no-mousewheel")||(e.pointer.onContainerMouseWheel(t),g(t)),!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())}}return m}),i(e,"Series/ColorMapComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{column:{prototype:o}}=t.seriesTypes,{addEvent:r,defined:a}=i;return function(t){function i(t){let i=this.series,s=i.chart.renderer;this.moveToTopOnHover&&this.graphic&&(i.stateMarkerGraphic||(i.stateMarkerGraphic=new e(s,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),i.stateMarkerGraphic.attr({href:`${s.url}#${this.id}`,visibility:"visible"})):i.stateMarkerGraphic.attr({href:""}))}t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-Infinity&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return a(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:o.pointAttribs},t.compose=function(t){return r(t.prototype.pointClass,"afterSetState",i),t}}(s||(s={})),s}),i(e,"Core/Chart/MapChart.js",[e["Core/Chart/Chart.js"],e["Core/Defaults.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{getOptions:r}=e,{isNumber:a,merge:n,pick:l}=s;class h extends t{init(t,e){let i=r().credits,s=n({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:l(i.mapText,' \xa9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:l(i.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},t);super.init(s,e)}mapZoom(t,e,i,s,o){this.mapView&&(a(t)&&(t=Math.log(t)/Math.log(.5)),this.mapView.zoomBy(t,a(e)&&a(i)?this.mapView.projection.inverse([e,i]):void 0,a(s)&&a(o)?[s,o]:void 0))}update(t){t.chart&&"map"in t.chart&&this.mapView?.recommendMapView(this,[t.chart.map,...(this.options.series||[]).map(t=>t.mapData)],!0),super.update.apply(this,arguments)}}return(o=h||(h={})).maps={},o.mapChart=function(t,e,i){return new o(t,e,i)},o.splitPath=function(t){let e;return e="string"==typeof t?(t=t.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,"")).split(/[ ,;]+/).map(t=>/[A-Za-z]/.test(t)?t:parseFloat(t)):t,i.prototype.pathToSegments(e)},h}),i(e,"Maps/MapUtilities.js",[],function(){return{boundsFromPath:function(t){let e=-Number.MAX_VALUE,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,o=Number.MAX_VALUE,r;if(t.forEach(t=>{let a=t[t.length-2],n=t[t.length-1];"number"==typeof a&&"number"==typeof n&&(i=Math.min(i,a),e=Math.max(e,a),o=Math.min(o,n),s=Math.max(s,n),r=!0)}),r)return{x1:i,y1:o,x2:e,y2:s}},pointInPolygon:function({x:t,y:e},i){let s,o,r=!1;for(s=0,o=i.length-1;s<i.length;o=s++)i[s][1]>e!=i[o][1]>e&&t<(i[o][0]-i[s][0])*(e-i[s][1])/(i[o][1]-i[s][1])+i[s][0]&&(r=!r);return r}}}),i(e,"Series/Map/MapPoint.js",[e["Series/ColorMapComposition.js"],e["Maps/MapUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 34,431 bytes, line 3
3i,s){let{boundsFromPath:o}=e,r=i.seriesTypes.scatter.prototype.pointClass,{extend:a,isNumber:n,pick:l}=s;class h extends r{static getProjectedPath(t,e){return t.projectedPath||(e&&t.geometry?(e.hasCoordinates=!0,t.projectedPath=e.path(t.geometry)):t.projectedPath=t.path),t.projectedPath||[]}applyOptions(t,e){let i=this.series,s=super.applyOptions(t,e),o=i.joinBy;if(i.mapData&&i.mapMap){let t=o[1],e=super.getNestedProperty(t),r=void 0!==e&&i.mapMap[e];r?a(s,{...r,name:s.name??r.name}):-1!==i.pointArrayMap.indexOf("value")&&(s.value=s.value||null)}return s}getProjectedBounds(t){let e=o(h.getProjectedPath(this,t)),i=this.properties,s=this.series.chart.mapView;if(e){let o=i&&i["hc-middle-lon"],r=i&&i["hc-middle-lat"];if(s&&n(o)&&n(r)){let i=t.forward([o,r]);e.midX=i[0],e.midY=i[1]}else{let t=i&&i["hc-middle-x"],s=i&&i["hc-middle-y"];e.midX=e.x1+(e.x2-e.x1)*l(this.middleX,n(t)?t:.5);let o=l(this.middleY,n(s)?s:.5);this.geometry||(o=1-o),e.midY=e.y2-(e.y2-e.y1)*o}return e}}onMouseOver(t){s.clearTimeout(this.colorInterval),!this.isNull&&this.visible||this.series.options.nullInteraction?super.onMouseOver.call(this,t):this.series.onMouseOut()}setVisible(t){this.visible=this.options.visible=!!t,this.dataLabel&&this.dataLabel[t?"show":"hide"](),this.graphic&&this.graphic.attr(this.series.pointAttribs(this))}zoomTo(t){let e=this.series.chart,i=e.mapView,s=this.bounds;if(i&&s){let o=n(this.insetIndex)&&i.insets[this.insetIndex];if(o){let t=o.projectedUnitsToPixels({x:s.x1,y:s.y1}),e=o.projectedUnitsToPixels({x:s.x2,y:s.y2}),r=i.pixelsToProjectedUnits({x:t.x,y:t.y}),a=i.pixelsToProjectedUnits({x:e.x,y:e.y});s={x1:r.x,y1:r.y,x2:a.x,y2:a.y}}i.fitToBounds(s,void 0,!1),this.series.isDirty=!0,e.redraw(t)}}}return a(h.prototype,{dataLabelOnNull:t.pointMembers.dataLabelOnNull,moveToTopOnHover:t.pointMembers.moveToTopOnHover,isValid:t.pointMembers.isValid}),h}),i(e,"Series/Map/MapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{affectsMapView:!0,animation:!1,dataLabels:{crop:!1,formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):this.point.name},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},linecap:"round",marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),i(e,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),i(e,"Maps/GeoJSONComposition.js",[e["Core/Globals.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{win:o}=t,{format:r}=e,{error:a,extend:n,merge:l,wrap:h}=i;return function(t){function e(t){return this.mapView&&this.mapView.lonLatToProjectedUnits(t)}function i(t){return this.mapView&&this.mapView.projectedUnitsToLonLat(t)}function s(t,e){let i=this.options.chart.proj4||o.proj4;if(!i){a(21,!1,this);return}let{jsonmarginX:s=0,jsonmarginY:r=0,jsonres:n=1,scale:l=1,xoffset:h=0,xpan:d=0,yoffset:c=0,ypan:p=0}=e,u=i(e.crs,[t.lon,t.lat]),g=e.cosAngle||e.rotation&&Math.cos(e.rotation),m=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=e.rotation?[u[0]*g+u[1]*m,-u[0]*m+u[1]*g]:u;return{x:((f[0]-h)*l+d)*n+s,y:-(((c-f[1])*l+p)*n-r)}}function d(t,e){let i=this.options.chart.proj4||o.proj4;if(!i){a(21,!1,this);return}if(null===t.y)return;let{jsonmarginX:s=0,jsonmarginY:r=0,jsonres:n=1,scale:l=1,xoffset:h=0,xpan:d=0,yoffset:c=0,ypan:p=0}=e,u={x:((t.x-s)/n-d)/l+h,y:((t.y-r)/n+p)/l+c},g=e.cosAngle||e.rotation&&Math.cos(e.rotation),m=e.sinAngle||e.rotation&&Math.sin(e.rotation),f=i(e.crs,"WGS84",e.rotation?{x:u.x*g+-(u.y*m),y:u.x*m+u.y*g}:u);return{lat:f.y,lon:f.x}}function c(t,e){e||(e=Object.keys(t.objects)[0]);let i=t.objects[e];if(i["hc-decoded-geojson"]&&i["hc-decoded-geojson"].title===t.title)return i["hc-decoded-geojson"];let s=t.arcs;if(t.transform){let e,i,o;let r=t.arcs,{scale:a,translate:n}=t.transform;s=[];for(let t=0,l=r.length;t<l;++t){let l=r[t];s.push(e=[]),i=0,o=0;for(let t=0,s=l.length;t<s;++t)e.push([(i+=l[t][0])*a[0]+n[0],(o+=l[t][1])*a[1]+n[1]])}}let o=t=>"number"==typeof t[0]?t.reduce((t,e,i)=>{let o=e<0?s[~e]:s[e];return e<0?(o=o.slice(0,0===i?o.length:o.length-1)).reverse():i&&(o=o.slice(1)),t.concat(o)},[]):t.map(o),r=i.geometries,a=[];for(let t=0,e=r.length;t<e;++t)a.push({type:"Feature",properties:r[t].properties,geometry:{type:r[t].type,coordinates:r[t].coordinates||o(r[t].arcs)}});let n={type:"FeatureCollection",copyright:t.copyright,copyrightShort:t.copyrightShort,copyrightUrl:t.copyrightUrl,features:a,"hc-recommended-mapview":i["hc-recommended-mapview"],bbox:t.bbox,title:t.title};return i["hc-decoded-geojson"]=n,n}function p(t,e){e=l(!0,this.options.credits,e),this.mapCredits&&(e.href=void 0),t.call(this,e),this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})}t.compose=function(t){let o=t.prototype;o.transformFromLatLon||(o.fromLatLonToPoint=e,o.fromPointToLatLon=i,o.transformFromLatLon=s,o.transformToLatLon=d,h(o,"addCredits",p))},t.geojson=function(t,e="map",i){let s=[],o="Topology"===t.type?c(t):t,a=o.features;for(let t=0,i=a.length;t<i;++t){let i;let o=a[t],r=o.geometry||{},l=r.type,h=r.coordinates,d=o.properties;if(("map"===e||"mapbubble"===e)&&("Polygon"===l||"MultiPolygon"===l)?h.length&&(i={geometry:{coordinates:h,type:l}}):"mapline"===e&&("LineString"===l||"MultiLineString"===l)?h.length&&(i={geometry:{coordinates:h,type:l}}):"mappoint"===e&&"Point"===l&&h.length&&(i={geometry:{coordinates:h,type:l}}),i){let t=d&&(d.name||d.NAME),e=d&&d.lon,o=d&&d.lat;s.push(n(i,{lat:"number"==typeof o?o:void 0,lon:"number"==typeof e?e:void 0,name:"string"==typeof t?t:void 0,properties:d}))}}return i&&o.copyrightShort&&(i.chart.mapCredits=r(i.chart.options.credits?.mapText,{geojson:o}),i.chart.mapCreditsFull=r(i.chart.options.credits?.mapTextFull,{geojson:o})),s},t.topo2geo=c}(s||(s={})),s}),i(e,"Core/Geometry/PolygonClip.js",[],function(){function t(s,o,r=!0){let a=o[o.length-1],n,l,h,d=s;for(let t=0;t<o.length;t++){let s=d;n=o[t],d=[],l=r?s[s.length-1]:s[0];for(let t=0;t<s.length;t++)e(a,n,h=s[t])?(e(a,n,l)||d.push(i(a,n,l,h)),d.push(h)):e(a,n,l)&&d.push(i(a,n,l,h)),l=h;a=n}return d}function e(t,e,i){return(e[0]-t[0])*(i[1]-t[1])>(e[1]-t[1])*(i[0]-t[0])}function i(t,e,i,s){let o=[t[0]-e[0],t[1]-e[1]],r=[i[0]-s[0],i[1]-s[1]],a=t[0]*e[1]-t[1]*e[0],n=i[0]*s[1]-i[1]*s[0],l=1/(o[0]*r[1]-o[1]*r[0]),h=[(a*r[0]-n*o[0])*l,(a*r[1]-n*o[1])*l];return h.isIntersection=!0,h}return{clipLineString:function(e,i){let s=[],o=t(e,i,!1);for(let t=1;t<o.length;t++)o[t].isIntersection&&o[t-1].isIntersection&&(s.push(o.splice(0,t)),t=0),t===o.length-1&&s.push(o);return s},clipPolygon:t}}),i(e,"Maps/Projections/LambertConformalConic.js",[],function(){let t=Math.sign||(t=>0===t?0:t>0?1:-1),e=Math.PI/180,i=Math.PI/2,s=t=>Math.tan((i+t)/2);return class{constructor(i){let o=(i.parallels||[]).map(t=>t*e),r=o[0]||0,a=o[1]??r,n=Math.cos(r);"object"==typeof i.projectedBounds&&(this.projectedBounds=i.projectedBounds);let l=r===a?Math.sin(r):Math.log(n/Math.cos(a))/Math.log(s(a)/s(r));1e-10>Math.abs(l)&&(l=1e-10*(t(l)||1)),this.n=l,this.c=n*Math.pow(s(r),l)/l}forward(t){let{c:o,n:r,projectedBounds:a}=this,n=t[0]*e,l=t[1]*e;o>0?l<-i+1e-6&&(l=-i+1e-6):l>i-1e-6&&(l=i-1e-6);let h=o/Math.pow(s(l),r),d=h*Math.sin(r*n)*63.78137,c=(o-h*Math.cos(r*n))*63.78137,p=[d,c];return a&&(d<a.x1||d>a.x2||c<a.y1||c>a.y2)&&(p.outside=!0),p}inverse(s){let{c:o,n:r}=this,a=s[0]/63.78137,n=o-s[1]/63.78137,l=t(r)*Math.sqrt(a*a+n*n),h=Math.atan2(a,Math.abs(n))*t(n);return n*r<0&&(h-=Math.PI*t(a)*t(n)),[h/r/e,(2*Math.atan(Math.pow(o/l,1/r))-i)/e]}}}),i(e,"Maps/Projections/EqualEarth.js",[],function(){let t=Math.sqrt(3)/2;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}forward(e){let i=Math.PI/180,s=Math.asin(t*Math.sin(e[1]*i)),o=s*s,r=o*o*o;return[e[0]*i*Math.cos(s)*74.03120656864502/(t*(1.340264+-.24331799999999998*o+r*(.0062510000000000005+.034164*o))),74.03120656864502*s*(1.340264+-.081106*o+r*(893e-6+.003796*o))]}inverse(e){let i=e[0]/74.03120656864502,s=e[1]/74.03120656864502,o=180/Math.PI,r=s,a,n,l,h;for(let t=0;t<12&&(n=(a=r*r)*a*a,l=r*(1.340264+-.081106*a+n*(893e-6+.003796*a))-s,r-=h=l/(1.340264+-.24331799999999998*a+n*(.0062510000000000005+.034164*a)),!(1e-9>Math.abs(h)));++t);n=(a=r*r)*a*a;let d=o*t*i*(1.340264+-.24331799999999998*a+n*(.0062510000000000005+.034164*a))/Math.cos(r),c=o*Math.asin(Math.sin(r)/t);return Math.abs(d)>180?[NaN,NaN]:[d,c]}}}),i(e,"Maps/Projections/Miller.js",[],function(){let t=Math.PI/4,e=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}forward(i){return[i[0]*e*63.78137,79.7267125*Math.log(Math.tan(t+.4*i[1]*e))]}inverse(i){return[i[0]/63.78137/e,2.5*(Math.atan(Math.exp(i[1]/63.78137*.8))-t)/e]}}}),i(e,"Maps/Projections/Orthographic.js",[],function(){let t=Math.PI/180;return class{constructor(){this.antimeridianCutting=!1,this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}forward(e){let i=e[0],s=e[1]*t,o=[Math.cos(s)*Math.sin(i*t)*63.78460826781007,63.78460826781007*Math.sin(s)];return(i<-90||i>90)&&(o.outside=!0),o}inverse(e){let i=e[0]/63.78460826781007,s=e[1]/63.78460826781007,o=Math.sqrt(i*i+s*s),r=Math.asin(o),a=Math.sin(r);return[Math.atan2(i*a,o*Math.cos(r))/t,Math.asin(o&&s*a/o)/t]}}}),i(e,"Maps/Projections/WebMercator.js",[],function(){let t=Math.PI/180;return class{constructor(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-200.3750834278071,y2:200.3750834278071},this.maxLatitude=85.0511287798}forward(e){let i=Math.sin(e[1]*t),s=[63.78137*e[0]*t,63.78137*Math.log((1+i)/(1-i))/2];return Math.abs(e[1])>this.maxLatitude&&(s.outside=!0),s}inverse(e){return[e[0]/(63.78137*t),(2*Math.atan(Math.exp(e[1]/63.78137))-Math.PI/2)/t]}}}),i(e,"Maps/Projections/ProjectionRegistry.js",[e["Maps/Projections/LambertConformalConic.js"],e["Maps/Projections/EqualEarth.js"],e["Maps/Projections/Miller.js"],e["Maps/Projections/Orthographic.js"],e["Maps/Projections/WebMercator.js"]],function(t,e,i,s,o){return{EqualEarth:e,LambertConformalConic:t,Miller:i,Orthographic:s,WebMercator:o}}),i(e,"Maps/Projection.js",[e["Core/Geometry/PolygonClip.js"],e["Maps/Projections/ProjectionRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{clipLineString:s,clipPolygon:o}=t,{clamp:r,erase:a}=i,n=2*Math.PI/360,l=t=>(t<-180&&(t+=360),t>180&&(t-=360),t),h=t=>(1-Math.cos(t))/2,d=(t,e)=>{let i=Math.cos,s=t[1]*n,o=t[0]*n,r=e[1]*n,a=e[0]*n;return h(r-s)+i(s)*i(r)*h(a-o)};class c{static add(t,e){c.registry[t]=e}static distance(t,e){let{atan2:i,sqrt:s}=Math,o=d(t,e);return 2*i(s(o),s(1-o))*6371e3}static geodesic(t,e,i,s=5e5){let{atan2:o,cos:r,sin:a,sqrt:l}=Math,h=c.distance,d=t[1]*n,p=t[0]*n,u=e[1]*n,g=e[0]*n,m=r(d)*r(p),f=r(u)*r(g),y=r(d)*a(p),b=r(u)*a(g),x=a(d),v=a(u),S=h(t,e),C=S/6371e3,A=a(C),k=Math.round(S/s),M=[];if(i&&M.push(t),k>1){let t=1/k;for(let e=t;e<.999;e+=t){let t=a((1-e)*C)/A,i=a(e*C)/A,s=t*m+i*f,r=t*y+i*b,h=o(t*x+i*v,l(s*s+r*r)),d=o(r,s);M.push([d/n,h/n])}}return i&&M.push(e),M}static insertGeodesics(t){let e=t.length-1;for(;e--;)if(Math.max(Math.abs(t[e][0]-t[e+1][0]),Math.abs(t[e][1]-t[e+1][1]))>10){let i=c.geodesic(t[e],t[e+1]);i.length&&t.splice(e+1,0,...i)}}static toString(t){let{name:e,rotation:i}=t||{};return[e,i&&i.join(",")].join(";")}constructor(t={}){this.hasCoordinates=!1,this.hasGeoProjection=!1,this.maxLatitude=90,this.options=t;let{name:e,projectedBounds:i,rotation:s}=t;this.rotator=s?this.getRotator(s):void 0;let o=e?c.registry[e]:void 0;o&&(this.def=new o(t));let{def:r,rotator:a}=this;r&&(this.maxLatitude=r.maxLatitude||90,this.hasGeoProjection=!0),a&&r?(this.forward=t=>r.forward(a.forward(t)),this.inverse=t=>a.inverse(r.inverse(t))):r?(this.forward=t=>r.forward(t),this.inverse=t=>r.inverse(t)):a&&(this.forward=a.forward,this.inverse=a.inverse),this.bounds="world"===i?r&&r.bounds:i}lineIntersectsBounds(t){let{x1:e,x2:i,y1:s,y2:o}=this.bounds||{},r=(t,e,i)=>{let[s,o]=t,r=e?0:1;if("number"==typeof i&&s[e]>=i!=o[e]>=i){let t=(i-s[e])/(o[e]-s[e]),a=s[r]+t*(o[r]-s[r]);return e?[a,i]:[i,a]}},a,n=t[0];return(a=r(t,0,e))?(n=a,t[1]=a):(a=r(t,0,i))&&(n=a,t[1]=a),(a=r(t,1,s))?n=a:(a=r(t,1,o))&&(n=a),n}getRotator(t){let e=t[0]*n,i=(t[1]||0)*n,s=(t[2]||0)*n,o=Math.cos(i),r=Math.sin(i),a=Math.cos(s),l=Math.sin(s);if(0!==e||0!==i||0!==s)return{forward:t=>{let i=t[0]*n+e,s=t[1]*n,h=Math.cos(s),d=Math.cos(i)*h,c=Math.sin(i)*h,p=Math.sin(s),u=p*o+d*r;return[Math.atan2(c*a-u*l,d*o-p*r)/n,Math.asin(u*a+c*l)/n]},inverse:t=>{let i=t[0]*n,s=t[1]*n,h=Math.cos(s),d=Math.cos(i)*h,c=Math.sin(i)*h,p=Math.sin(s),u=p*a-c*l;return[(Math.atan2(c*a+p*l,d*o+u*r)-e)/n,Math.asin(u*o-d*r)/n]}}}forward(t){return t}inverse(t){return t}cutOnAntimeridian(t,e){let i;let s=[],o=[t];for(let i=0,o=t.length;i<o;++i){let o=t[i],a=t[i-1];if(!i){if(!e)continue;a=t[t.length-1]}let n=a[0],l=o[0];if((n<-90||n>90)&&(l<-90||l>90)&&n>0!=l>0){let t=r((180-(n+360)%360)/((l+360)%360-(n+360)%360),0,1),e=a[1]+t*(o[1]-a[1]);s.push({i,lat:e,direction:n<0?1:-1,previousLonLat:a,lonLat:o})}}if(s.length){if(e){s.length%2==1&&(i=s.slice().sort((t,e)=>Math.abs(e.lat)-Math.abs(t.lat))[0],a(s,i));let e=s.length-2;for(;e>=0;){let i=s[e].i,r=l(180+1e-6*s[e].direction),a=l(180-1e-6*s[e].direction),n=t.splice(i,s[e+1].i-i,...c.geodesic([r,s[e].lat],[r,s[e+1].lat],!0));n.push(...c.geodesic([a,s[e+1].lat],[a,s[e].lat],!0)),o.push(n),e-=2}if(i)for(let t=0;t<o.length;t++){let{direction:e,lat:s}=i,r=o[t],a=r.indexOf(i.lonLat);if(a>-1){let t=(s<0?-1:1)*this.maxLatitude,o=l(180+1e-6*e),n=l(180-1e-6*e),h=c.geodesic([o,s],[o,t],!0);for(let i=o+120*e;i>-180&&i<180;i+=120*e)h.push([i,t]);h.push(...c.geodesic([n,t],[n,i.lat],!0)),r.splice(a,0,...h);break}}}else{let e=s.length;for(;e--;){let i=s[e].i,r=t.splice(i,t.length,[l(180+1e-6*s[e].direction),s[e].lat]);r.unshift([l(180-1e-6*s[e].direction),s[e].lat]),o.push(r)}}}return o}path(t){let e;let{bounds:i,def:r,rotator:a}=this,n=[],l="Polygon"===t.type||"MultiPolygon"===t.type,h=this.hasGeoProjection,d=!r||!1!==r.antimeridianCutting,p=d?a:void 0,u=d&&r||this;i&&(e=[[i.x1,i.y1],[i.x2,i.y1],[i.x2,i.y2],[i.x1,i.y2]]);let g=t=>{let r=t.map(t=>{if(d){p&&(t=p.forward(t));let e=t[0];1e-6>Math.abs(e-180)&&(e=e<180?179.999999:180.000001),t=[e,t[1]]}return t}),a=[r];h&&(c.insertGeodesics(r),d&&(a=this.cutOnAntimeridian(r,l))),a.forEach(t=>{let r,a;if(t.length<2)return;let p=!1,g=!1,m=t=>{p?n.push(["L",t[0],t[1]]):(n.push(["M",t[0],t[1]]),p=!0)},f=!1,y=!1,b=t.map(t=>{let e=u.forward(t);return e.outside?f=!0:y=!0,e[1]===1/0?e[1]=1e10:e[1]===-Infinity&&(e[1]=-1e10),e});if(d){if(l&&b.push(b[0]),f){if(!y)return;if(e){if(l)b=o(b,e);else if(i){s(b,e).forEach(t=>{p=!1,t.forEach(m)});return}}}b.forEach(m)}else for(let e=0;e<b.length;e++){let i=t[e],s=b[e];s.outside?g=!0:(l&&!r&&(r=i,t.push(i),b.push(s)),g&&a&&(l&&h?c.geodesic(a,i).forEach(t=>m(u.forward(t))):p=!1),m(s),a=i,g=!1)}})};return"LineString"===t.type?g(t.coordinates):"MultiLineString"===t.type?t.coordinates.forEach(t=>g(t)):"Polygon"===t.type?(t.coordinates.forEach(t=>g(t)),n.length&&n.push(["Z"])):"MultiPolygon"===t.type&&(t.coordinates.forEach(t=>{t.forEach(t=>g(t))}),n.length&&n.push(["Z"])),n}}return c.registry=e,c}),i(e,"Maps/MapView.js",[e["Core/Globals.js"],e["Maps/MapViewDefaults.js"],e["Maps/GeoJSONComposition.js"],e["Maps/MapUtilities.js"],e["Maps/Projection.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{composed:a}=t,{topo2geo:n}=i,{boundsFromPath:l,pointInPolygon:h}=s,{addEvent:d,clamp:c,crisp:p,fireEvent:u,isArray:g,isNumber:m,isObject:f,isString:y,merge:b,pick:x,pushUnique:v,relativeLength:S}=r,C={};function A(t,e){let{width:i,height:s}=e;return Math.log(400.979322/Math.max((t.x2-t.x1)/(i/256),(t.y2-t.y1)/(s/256)))/Math.log(2)}function k(t){t.seriesOptions.mapData&&this.mapView?.recommendMapView(this,[this.options.chart.map,t.seriesOptions.mapData],this.options.drilldown?.mapZooming)}class M{static compose(t){v(a,"MapView")&&(C=t.maps,d(t,"afterInit",function(){this.mapView=new M(this,this.options.mapView)},{order:0}),d(t,"addSeriesAsDrilldown",k),d(t,"afterDrillUp",k))}static compositeBounds(t){if(t.length)return t.slice(1).reduce((t,e)=>(t.x1=Math.min(t.x1,e.x1),t.y1=Math.min(t.y1,e.y1),t.x2=Math.max(t.x2,e.x2),t.y2=Math.max(t.y2,e.y2),t),b(t[0]))}static mergeInsets(t,e){let i=t=>{let e={};return t.forEach((t,i)=>{e[t&&t.id||`i${i}`]=t}),e},s=b(i(t),i(e));return Object.keys(s).map(t=>s[t])}constructor(t,i){this.allowTransformAnimation=!0,this.eventsToUnbind=[],this.insets=[],this.padding=[0,0,0,0],this.recommendedMapView={},this instanceof w||this.recommendMapView(t,[t.options.chart.map,...(t.options.series||[]).map(t=>t.mapData)]),this.userOptions=i||{};let s=b(e,this.recommendedMapView,i),r=this.recommendedMapView?.insets,a=i&&i.insets;r&&a&&(s.insets=M.mergeInsets(r,a)),this.chart=t,this.center=s.center,this.options=s,this.projection=new o(s.projection),this.playingField=t.plotBox,this.zoom=s.zoom||0,this.minZoom=s.minZoom,this.createInsets(),this.eventsToUnbind.push(d(t,"afterSetChartSize",()=>{this.playingField=this.getField(),(void 0===this.minZoom||this.minZoom===this.zoom)&&(this.fitToBounds(void 0,void 0,!1),!this.chart.hasRendered&&m(this.userOptions.zoom)&&(this.zoom=this.userOptions.zoom),this.userOptions.center&&b(!0,this.center,this.userOptions.center))})),this.setUpEvents()}createInsets(){let t=this.options,e=t.insets;e&&e.forEach(e=>{let i=new w(this,b(t.insetOptions,e));this.insets.push(i)})}fitToBounds(t,e,i=!0,s){let o=t||this.getProjectedBounds();if(o){let r=x(e,t?0:this.options.padding),a=this.getField(!1),n=g(r)?r:[r,r,r,r];this.padding=[S(n[0],a.height),S(n[1],a.width),S(n[2],a.height),S(n[3],a.width)],this.playingField=this.getField();let l=A(o,this.playingField);t||(this.minZoom=l);let h=this.projection.inverse([(o.x2+o.x1)/2,(o.y2+o.y1)/2]);this.setView(h,l,i,s)}}getField(t=!0){let e=t?this.padding:[0,0,0,0];return{x:e[3],y:e[0],width:this.chart.plotWidth-e[1]-e[3],height:this.chart.plotHeight-e[0]-e[2]}}getGeoMap(t){if(y(t))return C[t]&&"Topology"===C[t].type?n(C[t]):C[t];if(f(t,!0)){if("FeatureCollection"===t.type)return t;if("Topology"===t.type)return n(t)}}getMapBBox(){let t=this.getProjectedBounds(),e=this.getScale();if(t){let i=this.padding,s=this.projectedUnitsToPixels({x:t.x1,y:t.y2});return{width:(t.x2-t.x1)*e+i[1]+i[3],height:(t.y2-t.y1)*e+i[0]+i[2],x:s.x-i[3],y:s.y-i[0]}}}getProjectedBounds(){let t=this.projection,e=this.chart.series.reduce((t,e)=>{let i=e.getProjectedBounds&&e.getProjectedBounds();return i&&!1!==e.options.affectsMapView&&t.push(i),t},[]),i=this.options.fitToGeometry;if(i){if(!this.fitToGeometryCache){if("MultiPoint"===i.type){let e=i.coordinates.map(e=>t.forward(e)),s=e.map(t=>t[0]),o=e.map(t=>t[1]);this.fitToGeometryCache={x1:Math.min.apply(0,s),x2:Math.max.apply(0,s),y1:Math.min.apply(0,o),y2:Math.max.apply(0,o)}}else this.fitToGeometryCache=l(t.path(i))}return this.fitToGeometryCache}return this.projection.bounds||M.compositeBounds(e)}getScale(){return 256/400.979322*Math.pow(2,this.zoom)}getSVGTransform(){let{x:t,y:e,width:i,height:s}=this.playingField,o=this.projection.forward(this.center),r=this.projection.hasCoordinates?-1:1,a=this.getScale(),n=a*r,l=t+i/2-o[0]*a,h=e+s/2-o[1]*n;return{scaleX:a,scaleY:n,translateX:l,translateY:h}}lonLatToPixels(t){let e=this.lonLatToProjectedUnits(t);if(e)return this.projectedUnitsToPixels(e)}lonLatToProjectedUnits(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone){let o=e.transformFromLatLon(t,i[s]);if(o&&h(o,i[s].hitZone.coordinates[0]))return o}return e.transformFromLatLon(t,i.default)}for(let e of this.insets)if(e.options.geoBounds&&h({x:t.lon,y:t.lat},e.options.geoBounds.coordinates[0])){let i=e.projection.forward([t.lon,t.lat]),s=e.projectedUnitsToPixels({x:i[0],y:i[1]});return this.pixelsToProjectedUnits(s)}let s=this.projection.forward([t.lon,t.lat]);if(!s.outside)return{x:s[0],y:s[1]}}projectedUnitsToLonLat(t){let e=this.chart,i=e.mapTransforms;if(i){for(let s in i)if(Object.hasOwnProperty.call(i,s)&&i[s].hitZone&&h(t,i[s].hitZone.coordinates[0]))return e.transformToLatLon(t,i[s]);return e.transformToLatLon(t,i.default)}let s=this.projectedUnitsToPixels(t);for(let t of this.insets)if(t.hitZone&&h(s,t.hitZone.coordinates[0])){let e=t.pixelsToProjectedUnits(s),i=t.projection.inverse([e.x,e.y]);return{lon:i[0],lat:i[1]}}let o=this.projection.inverse([t.x,t.y]);return{lon:o[0],lat:o[1]}}recommendMapView(t,e,i=!1){this.recommendedMapView={};let s=e.map(t=>this.getGeoMap(t)),o=[];s.forEach(t=>{if(t&&(Object.keys(this.recommendedMapView).length||(this.recommendedMapView=t["hc-recommended-mapview"]||{}),t.bbox)){let[e,i,s,r]=t.bbox;o.push({x1:e,y1:i,x2:s,y2:r})}});let r=o.length&&M.compositeBounds(o);u(this,"onRecommendMapView",{geoBounds:r,chart:t},function(){if(r&&this.recommendedMapView){if(!this.recommendedMapView.projection){let{x1:t,y1:e,x2:i,y2:s}=r;this.recommendedMapView.projection=i-t>180&&s-e>90?{name:"EqualEarth",parallels:[0,0],rotation:[0]}:{name:"LambertConformalConic",parallels:[e,s],rotation:[-(t+i)/2]}}this.recommendedMapView.insets||(this.recommendedMapView.insets=void 0)}}),this.geoMap=s[0],i&&t.hasRendered&&!t.userOptions.mapView?.projection&&this.recommendedMapView&&this.update(this.recommendedMapView)}redraw(t){this.chart.series.forEach(t=>{t.useMapGeometry&&(t.isDirty=!0)}),this.chart.redraw(t)}setView(t,e,i=!0,s){t&&(this.center=t),"number"==typeof e&&("number"==typeof this.minZoom&&(e=Math.max(e,this.minZoom)),"number"==typeof this.options.maxZoom&&(e=Math.min(e,this.options.maxZoom)),m(e)&&(this.zoom=e));let o=this.getProjectedBounds();if(o){let t=this.projection.forward(this.center),{x:e,y:i,width:s,height:r}=this.playingField,a=this.getScale(),n=this.projectedUnitsToPixels({x:o.x1,y:o.y1}),l=this.projectedUnitsToPixels({x:o.x2,y:o.y2}),h=[(o.x1+o.x2)/2,(o.y1+o.y2)/2];if(!this.chart.series.some(t=>t.isDrilling)){let o=n.x,d=l.y,c=l.x,p=n.y;c-o<s?t[0]=h[0]:o<e&&c<e+s?t[0]+=Math.max(o-e,c-s-e)/a:c>e+s&&o>e&&(t[0]+=Math.min(c-s-e,o-e)/a),p-d<r?t[1]=h[1]:d<i&&p<i+r?t[1]-=Math.max(d-i,p-r-i)/a:p>i+r&&d>i&&(t[1]-=Math.min(p-r-i,d-i)/a),this.center=this.projection.inverse(t)}this.insets.forEach(t=>{t.options.field&&(t.hitZone=t.getHitZone(),t.playingField=t.getField())}),this.render()}u(this,"afterSetView"),i&&this.redraw(s)}projectedUnitsToPixels(t){let e=this.getScale(),i=this.projection.forward(this.center),s=this.playingField,o=s.x+s.width/2,r=s.y+s.height/2;return{x:o-e*(i[0]-t.x),y:r+e*(i[1]-t.y)}}pixelsToLonLat(t){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(t))}pixelsToProjectedUnits(t){let{x:e,y:i}=t,s=this.getScale(),o=this.projection.forward(this.center),r=this.playingField,a=r.x+r.width/2,n=r.y+r.height/2;return{x:o[0]+(e-a)/s,y:o[1]-(i-n)/s}}setUpEvents(){let t,e,i;let{chart:s}=this,o=o=>{let{lastTouches:r,pinchDown:a}=s.pointer,n=this.projection,l=o.touches,{mouseDownX:h,mouseDownY:d}=s,p=0;if(a?.length===1?(h=a[0].chartX,d=a[0].chartY):a?.length===2&&(h=(a[0].chartX+a[1].chartX)/2,d=(a[0].chartY+a[1].chartY)/2),l?.length===2&&r&&(p=Math.log(Math.sqrt(Math.pow(r[0].chartX-r[1].chartX,2)+Math.pow(r[0].chartY-r[1].chartY,2))/Math.sqrt(Math.pow(l[0].chartX-l[1].chartX,2)+Math.pow(l[0].chartY-l[1].chartY,2)))/Math.log(.5)),m(h)&&m(d)){let r=`${h},${d}`,{chartX:a,chartY:u}=o.originalEvent;l?.length===2&&(a=(l[0].chartX+l[1].chartX)/2,u=(l[0].chartY+l[1].chartY)/2),r!==e&&(e=r,t=this.projection.forward(this.center),i=(this.projection.options.rotation||[0,0]).slice());let g=n.def&&n.def.bounds,f=g&&A(g,this.playingField)||-Infinity;if("Orthographic"===n.options.name&&2>(l?.length||0)&&(this.minZoom||1/0)<1.3*f){let t=440/(this.getScale()*Math.min(s.plotWidth,s.plotHeight));if(i){let e=(h-a)*t-i[0],o=c(-i[1]-(d-u)*t,-80,80),r=this.zoom;this.update({projection:{rotation:[-e,-o]}},!1),this.fitToBounds(void 0,void 0,!1),this.zoom=r,s.redraw(!1)}}else if(m(a)&&m(u)){let e=this.getScale(),i=this.projection.hasCoordinates?1:-1,s=this.projection.inverse([t[0]+(h-a)/e,t[1]-(d-u)/e*i]);isNaN(s[0]+s[1])||this.zoomBy(p,s,void 0,!1)}o.preventDefault()}};d(s,"pan",o),d(s,"touchpan",o),d(s,"selection",t=>{if(t.resetSelection)this.zoomBy();else{let e=t.x-s.plotLeft,i=t.y-s.plotTop,{y:o,x:r}=this.pixelsToProjectedUnits({x:e,y:i}),{y:a,x:n}=this.pixelsToProjectedUnits({x:e+t.width,y:i+t.height});this.fitToBounds({x1:r,y1:o,x2:n,y2:a},void 0,!0,!t.originalEvent.touches&&void 0),/^touch/.test(t.originalEvent.type)||s.showResetZoom(),t.preventDefault()}})}render(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())}update(t,e=!0,i){let s=t.projection,r=s&&o.toString(s)!==o.toString(this.options.projection),a=!1;b(!0,this.userOptions,t),b(!0,this.options,t),"insets"in t&&(this.insets.forEach(t=>t.destroy()),this.insets.length=0,a=!0),(r||"fitToGeometry"in t)&&delete this.fitToGeometryCache,(r||a)&&(this.chart.series.forEach(t=>{let e=t.transformGroups;if(t.clearBounds&&t.clearBounds(),t.isDirty=!0,t.isDirtyData=!0,a&&e)for(;e.length>1;){let t=e.pop();t&&t.destroy()}}),r&&(this.projection=new o(this.options.projection)),a&&this.createInsets(),!t.center&&Object.hasOwnProperty.call(t,"zoom")&&!m(t.zoom)&&this.fitToBounds(void 0,void 0,!1)),t.center||m(t.zoom)?this.setView(this.options.center,t.zoom,!1):"fitToGeometry"in t&&this.fitToBounds(void 0,void 0,!1),e&&this.chart.redraw(i)}zoomBy(t,e,i,s){let o=this.chart,r=this.projection.forward(this.center);if("number"==typeof t){let a,n,l;let h=this.zoom+t;if(i){let[t,e]=i,s=this.getScale(),a=t-o.plotLeft-o.plotWidth/2,h=e-o.plotTop-o.plotHeight/2;n=r[0]+a/s,l=r[1]+h/s}if("number"==typeof n&&"number"==typeof l){let t=1-Math.pow(2,this.zoom)/Math.pow(2,h),e=r[0]-n,i=r[1]-l;r[0]-=e*t,r[1]+=i*t,a=this.projection.inverse(r)}this.setView(e||a,h,void 0,s)}else this.fitToBounds(void 0,void 0,void 0,s)}}class w extends M{constructor(t,e){if(super(t.chart,e),this.id=e.id,this.mapView=t,this.options=b({center:[0,0]},t.options.insetOptions,e),this.allBounds=[],this.options.geoBounds){let e=t.projection.path(this.options.geoBounds);this.geoBoundsProjectedBox=l(e),this.geoBoundsProjectedPolygon=e.map(t=>[t[1]||0,t[2]||0])}}getField(t=!0){let e=this.hitZone;if(e){let i=t?this.padding:[0,0,0,0],s=e.coordinates[0],o=s.map(t=>t[0]),r=s.map(t=>t[1]),a=Math.min.apply(0,o)+i[3],n=Math.max.apply(0,o)-i[1],l=Math.min.apply(0,r)+i[0],h=Math.max.apply(0,r)-i[2];if(m(a)&&m(l))return{x:a,y:l,width:n-a,height:h-l}}return super.getField.call(this,t)}getHitZone(){let{chart:t,mapView:e,options:i}=this,{coordinates:s}=i.field||{};if(s){let o=s[0];if("percent"===i.units){let s="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||b(t.plotBox,{x:0,y:0});o=o.map(t=>[S(`${t[0]}%`,s.width,s.x),S(`${t[1]}%`,s.height,s.y)])}return{type:"Polygon",coordinates:[o]}}}getProjectedBounds(){return M.compositeBounds(this.allBounds)}isInside(t){let{geoBoundsProjectedBox:e,geoBoundsProjectedPolygon:i}=this;return!!(e&&t.x>=e.x1&&t.x<=e.x2&&t.y>=e.y1&&t.y<=e.y2&&i&&h(t,i))}render(){let{chart:t,mapView:e,options:i}=this,s=i.borderPath||i.field;if(s&&e.group){let o=!0;this.border||(this.border=t.renderer.path().addClass("highcharts-mapview-inset-border").add(e.group),o=!1),t.styledMode||this.border.attr({stroke:i.borderColor,"stroke-width":i.borderWidth});let r=this.border.strokeWidth(),a="mapBoundingBox"===i.relativeTo&&e.getMapBBox()||e.playingField,n=(s.coordinates||[]).reduce((e,s)=>s.reduce((e,s,o)=>{let[n,l]=s;return"percent"===i.units&&(n=t.plotLeft+S(`${n}%`,a.width,a.x),l=t.plotTop+S(`${l}%`,a.height,a.y)),n=p(n,r),l=p(l,r),e.push(0===o?["M",n,l]:["L",n,l]),e},e),[]);this.border[o?"animate":"attr"]({d:n})}}destroy(){this.border&&(this.border=this.border.destroy()),this.eventsToUnbind.forEach(t=>t())}setUpEvents(){}}return M}),i(e,"Series/Map/MapSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Series/ColorMapComposition.js"],e["Series/CenteredUtilities.js"],e["Core/Globals.js"],e["Core/Chart/MapChart.js"],e["Series/Map/MapPoint.js"],e["Series/Map/MapSeriesDefaults.js"],e["Maps/MapView.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{animObject:d,stop:c}=t,{noop:p}=s,{splitPath:u}=o,{column:g,scatter:m}=l.seriesTypes,{extend:f,find:y,fireEvent:b,getNestedProperty:x,isArray:v,defined:S,isNumber:C,isObject:A,merge:k,objectEach:M,pick:w,splat:P}=h;class T extends m{constructor(){super(...arguments),this.processedData=[]}animate(t){let{chart:e,group:i}=this,s=d(this.options.animation);t?i.attr({translateX:e.plotLeft+e.plotWidth/2,translateY:e.plotTop+e.plotHeight/2,scaleX:.001,scaleY:.001}):i.animate({translateX:e.plotLeft,translateY:e.plotTop,scaleX:1,scaleY:1},s)}clearBounds(){this.points.forEach(t=>{delete t.bounds,delete t.insetIndex,delete t.projectedPath}),delete this.bounds}doFullTranslate(){return!!(this.isDirtyData||this.chart.isResizing||!this.hasRendered)}drawMapDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}drawPoints(){let t=this,{chart:e,group:i,transformGroups:s=[]}=this,{mapView:o,renderer:r}=e;if(o){this.transformGroups=s,s[0]||(s[0]=r.g().add(i));for(let t=0,e=o.insets.length;t<e;++t)s[t+1]||s.push(r.g().add(i));this.doFullTranslate()&&(this.points.forEach(t=>{let{graphic:e}=t;t.group=s["number"==typeof t.insetIndex?t.insetIndex+1:0],e&&e.parentGroup!==t.group&&e.add(t.group)}),g.prototype.drawPoints.apply(this),this.points.forEach(i=>{let s=i.graphic;if(s){let o=s.animate,r="";i.name&&(r+="highcharts-name-"+i.name.replace(/ /g,"-").toLowerCase()),i.properties&&i.properties["hc-key"]&&(r+=" highcharts-key-"+i.properties["hc-key"].toString().toLowerCase()),r&&s.addClass(r),e.styledMode&&s.css(this.pointAttribs(i,i.selected&&"select"||void 0)),s.attr({visibility:!i.visible&&(i.visible||i.isNull)?"hidden":"inherit"}),s.animate=function(i,r,a){let n=C(i["stroke-width"])&&!C(s["stroke-width"]),l=C(s["stroke-width"])&&!C(i["stroke-width"]);if(n||l){let o=w(t.getStrokeWidth(t.options),1)/(e.mapView&&e.mapView.getScale()||1);n&&(s["stroke-width"]=o),l&&(i["stroke-width"]=o)}return o.call(s,i,r,l?function(){s.element.removeAttribute("stroke-width"),delete s["stroke-width"],a&&a.apply(this,arguments)}:a)}}})),s.forEach((i,s)=>{let a=(0===s?o:o.insets[s-1]).getSVGTransform(),n=w(this.getStrokeWidth(this.options),1),l=a.scaleX,h=a.scaleY>0?1:-1,p=e=>{(t.points||[]).forEach(t=>{let i;let s=t.graphic;s&&s["stroke-width"]&&(i=this.getStrokeWidth(t.options))&&s.attr({"stroke-width":i/e})})};if(r.globalAnimation&&e.hasRendered&&o.allowTransformAnimation){let t=Number(i.attr("translateX")),e=Number(i.attr("translateY")),s=Number(i.attr("scaleX")),o=(o,r)=>{let d=s+(l-s)*r.pos;i.attr({translateX:t+(a.translateX-t)*r.pos,translateY:e+(a.translateY-e)*r.pos,scaleX:d,scaleY:d*h,"stroke-width":n/d}),p(d)},c=k(d(r.globalAnimation)),u=c.step;c.step=function(){u&&u.apply(this,arguments),o.apply(this,arguments)},i.attr({animator:0}).animate({animator:1},c,(function(){"boolean"!=typeof r.globalAnimation&&r.globalAnimation.complete&&r.globalAnimation.complete({applyDrilldown:!0}),b(this,"mapZoomComplete")}).bind(this))}else c(i),i.attr(k(a,{"stroke-width":n/l})),p(l)}),this.isDrilling||this.drawMapDataLabels()}}getProjectedBounds(){if(!this.bounds&&this.chart.mapView){let{insets:t,projection:e}=this.chart.mapView,i=[];(this.points||[]).forEach(s=>{if(s.path||s.geometry){if("string"==typeof s.path?s.path=u(s.path):v(s.path)&&"M"===s.path[0]&&(s.path=this.chart.renderer.pathToSegments(s.path)),!s.bounds){let i=s.getProjectedBounds(e);if(i){s.labelrank=w(s.labelrank,(i.x2-i.x1)*(i.y2-i.y1));let{midX:e,midY:o}=i;if(t&&C(e)&&C(o)){let r=y(t,t=>t.isInside({x:e,y:o}));r&&(delete s.projectedPath,(i=s.getProjectedBounds(r.projection))&&r.allBounds.push(i),s.insetIndex=t.indexOf(r))}s.bounds=i}}s.bounds&&void 0===s.insetIndex&&i.push(s.bounds)}}),this.bounds=n.compositeBounds(i)}return this.bounds}getStrokeWidth(t){let e=this.pointAttrToOptions;return t[e&&e["stroke-width"]||"borderWidth"]}hasData(){return!!this.processedXData.length}pointAttribs(t,e){let{mapView:i,styledMode:s}=t.series.chart,o=s?this.colorAttribs(t):g.prototype.pointAttribs.call(this,t,e),r=this.getStrokeWidth(t.options);if(e){let i=k(this.options.states&&this.options.states[e],t.options.states&&t.options.states[e]||{}),s=this.getStrokeWidth(i);S(s)&&(r=s),o.stroke=i.borderColor??t.color}r&&i&&(r/=i.getScale());let a=this.getStrokeWidth(this.options);return o.dashstyle&&i&&C(a)&&(r=a/i.getScale()),t.visible||(o.fill=this.options.nullColor),S(r)?o["stroke-width"]=r:delete o["stroke-width"],o["stroke-linecap"]=o["stroke-linejoin"]=this.options.linecap,o}updateData(){return!this.processedData&&super.updateData.apply(this,arguments)}setData(t,e=!0,i,s){delete this.bounds,super.setData(t,!1,void 0,s),this.processData(),this.generatePoints(),e&&this.chart.redraw(i)}processData(){let t,e,i;let o=this.options,a=o.data,n=this.chart,l=n.options.chart,h=this.joinBy,d=o.keys||this.pointArrayMap,c=[],p={},u=this.chart.mapView,g=u&&(A(o.mapData,!0)?u.getGeoMap(o.mapData):u.geoMap),m=n.mapTransforms=l.mapTransforms||g&&g["hc-transform"]||n.mapTransforms;m&&M(m,t=>{t.rotation&&(t.cosAngle=Math.cos(t.rotation),t.sinAngle=Math.sin(t.rotation))}),v(o.mapData)?i=o.mapData:g&&"FeatureCollection"===g.type&&(this.mapTitle=g.title,i=s.geojson(g,this.type,this)),this.processedData=[];let f=this.processedData;if(a){let t;for(let e=0,i=a.length;e<i;++e){if(C(t=a[e]))f[e]={value:t};else if(v(t)){let i=0;f[e]={},!o.keys&&t.length>d.length&&"string"==typeof t[0]&&(f[e]["hc-key"]=t[0],++i);for(let s=0;s<d.length;++s,++i)d[s]&&void 0!==t[i]&&(d[s].indexOf(".")>0?r.prototype.setNestedProperty(f[e],t[i],d[s]):f[e][d[s]]=t[i])}else f[e]=a[e];h&&"_i"===h[0]&&(f[e]._i=e)}}if(i){this.mapData=i,this.mapMap={};for(let s=0;s<i.length;s++)e=(t=i[s]).properties,t._i=s,h[0]&&e&&e[h[0]]&&(t[h[0]]=e[h[0]]),p[t[h[0]]]=t;if(this.mapMap=p,h[1]){let t=h[1];
3f.forEach(e=>{let i=x(t,e);p[i]&&c.push(p[i])})}if(o.allAreas){if(h[1]){let t=h[1];f.forEach(e=>{c.push(x(t,e))})}let t="|"+c.map(function(t){return t&&t[h[0]]}).join("|")+"|";i.forEach(e=>{h[0]&&-1!==t.indexOf("|"+e[h[0]]+"|")||f.push(k(e,{value:null}))})}}this.processedXData=Array(f.length)}setOptions(t){let e=super.setOptions(t),i=e.joinBy;return null===e.joinBy&&(i="_i"),(i=this.joinBy=P(i))[1]||(i[1]=i[0]),e}translate(){let t=this.doFullTranslate(),e=this.chart.mapView,i=e&&e.projection;if(this.chart.hasRendered&&(this.isDirtyData||!this.hasRendered)&&(this.processData(),this.generatePoints(),delete this.bounds,!e||e.userOptions.center||C(e.userOptions.zoom)||e.zoom!==e.minZoom?this.getProjectedBounds():e.fitToBounds(void 0,void 0,!1)),e){let s=e.getSVGTransform();this.points.forEach(o=>{let a=C(o.insetIndex)&&e.insets[o.insetIndex].getSVGTransform()||s;a&&o.bounds&&C(o.bounds.midX)&&C(o.bounds.midY)&&(o.plotX=o.bounds.midX*a.scaleX+a.translateX,o.plotY=o.bounds.midY*a.scaleY+a.translateY),t&&(o.shapeType="path",o.shapeArgs={d:r.getProjectedPath(o,i)}),o.hiddenInDataClass||(o.projectedPath&&!o.projectedPath.length?o.setVisible(!1):o.visible||o.setVisible(!0))})}b(this,"afterTranslate")}update(t){t.mapData&&this.chart.mapView?.recommendMapView(this.chart,[this.chart.options.chart.map,...(this.chart.options.series||[]).map((e,i)=>i===this._i?t.mapData:e.mapData)],!0),super.update.apply(this,arguments)}}return T.defaultOptions=k(m.defaultOptions,a),f(T.prototype,{type:"map",axisTypes:e.seriesMembers.axisTypes,colorAttribs:e.seriesMembers.colorAttribs,colorKey:e.seriesMembers.colorKey,directTouch:!0,drawDataLabels:p,drawGraph:p,forceDL:!0,getCenter:i.getCenter,getExtremesFromAll:!0,getSymbol:p,isCartesian:!1,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:e.seriesMembers.pointArrayMap,pointClass:r,preserveAspectRatio:!0,searchPoint:p,trackerGroups:e.seriesMembers.trackerGroups,useMapGeometry:!0}),e.compose(T),l.registerSeriesType("map",T),T}),i(e,"Series/MapLine/MapLineSeriesDefaults.js",[],function(){return{lineWidth:1,fillColor:"none",legendSymbol:"lineMarker"}}),i(e,"Series/MapLine/MapLineSeries.js",[e["Series/MapLine/MapLineSeriesDefaults.js"],e["Series/Map/MapSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{extend:o,merge:r}=s;class a extends e{pointAttribs(t,e){let i=super.pointAttribs(t,e);return i.fill=this.options.fillColor,i}}return a.defaultOptions=r(e.defaultOptions,t),o(a.prototype,{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}}),i.registerSeriesType("mapline",a),a}),i(e,"Series/MapPoint/MapPointPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:i}=t.seriesTypes,{isNumber:s}=e;class o extends i.prototype.pointClass{isValid(){return!!(this.options.geometry||s(this.x)&&s(this.y)||s(this.options.lon)&&s(this.options.lat))}}return o}),i(e,"Series/MapPoint/MapPointSeriesDefaults.js",[],function(){return{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}},legendSymbol:"lineMarker"}}),i(e,"Series/MapPoint/MapPointSeries.js",[e["Core/Globals.js"],e["Series/MapPoint/MapPointPoint.js"],e["Series/MapPoint/MapPointSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{noop:a}=t,{map:n,scatter:l}=s.seriesTypes,{extend:h,fireEvent:d,isNumber:c,merge:p}=r;class u extends l{constructor(){super(...arguments),this.clearBounds=n.prototype.clearBounds}drawDataLabels(){super.drawDataLabels(),this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}projectPoint(t){let e=this.chart.mapView;if(e){let{geometry:i,lon:s,lat:o}=t,r=i&&"Point"===i.type&&i.coordinates;if(c(s)&&c(o)&&(r=[s,o]),r)return e.lonLatToProjectedUnits({lon:r[0],lat:r[1]})}}translate(){let t=this.chart.mapView;if(this.processedXData||this.processData(),this.generatePoints(),this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds()),t){let e=t.getSVGTransform(),{hasCoordinates:i}=t.projection;
vendor: 8,968 bytes, line 3
3this.points.forEach(s=>{let o,{x:r,y:a}=s,n=c(s.insetIndex)&&t.insets[s.insetIndex].getSVGTransform()||e,l=this.projectPoint(s.options)||s.properties&&this.projectPoint(s.properties);if(l?(r=l.x,a=l.y):s.bounds&&(r=s.bounds.midX,a=s.bounds.midY,n&&c(r)&&c(a)&&(s.plotX=r*n.scaleX+n.translateX,s.plotY=a*n.scaleY+n.translateY,o=!0)),c(r)&&c(a)){if(!o){let e=t.projectedUnitsToPixels({x:r,y:a});s.plotX=e.x,s.plotY=i?e.y:this.chart.plotHeight-e.y}}else s.y=s.plotX=s.plotY=void 0;s.isInside=this.isPointInside(s),s.zone=this.zones.length?s.getZone():void 0})}d(this,"afterTranslate")}}return u.defaultOptions=p(l.defaultOptions,i),o.prototype.symbols.mapmarker=(t,e,i,s,o)=>{let r,a;let n=o&&"legend"===o.context;n?(r=t+i/2,a=e+s):o&&"number"==typeof o.anchorX&&"number"==typeof o.anchorY?(r=o.anchorX,a=o.anchorY):(r=t+i/2,a=e+s/2,e-=s);let l=n?s/3:s/2;return[["M",r,a],["C",r,a,r-l,e+1.5*l,r-l,e+l],["A",l,l,1,1,1,r+l,e+l],["C",r+l,e+1.5*l,r,a,r,a],["Z"]]},h(u.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:e,searchPoint:a,useMapGeometry:!0}),s.registerSeriesType("mappoint",u),u}),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{parse:o}=t,{noop:r}=i,{arrayMax:a,arrayMin:n,isNumber:l,merge:h,pick:d,stableSort:c}=s;return class{constructor(t,e){this.setState=r,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e;let i=d(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,a=o.connectorDistance;if(!r||!r.length||!l(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}c(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let n=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=a-h+n.width)>0?e:0,this.maxLabel=n,this.movementX="left"===o.labels.align?e:0,s.labelWidth=p+e+i,s.labelHeight=p+n.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},a={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,c=this.chart.styledMode;t.forEach(function(p,u){c||(r.stroke=d(p.borderColor,e.borderColor,i.color),r.fill=d(p.color,e.color,1!==l?o(i.color).setOpacity(l).get("rgba"):i.color),a.stroke=d(p.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(p.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),c||h(!0,t[u],{bubbleAttribs:h(r),connectorAttribs:h(a),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,a=e.minSize,n=e.maxSize;return s.getRadius.call(this,r,o,a,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,a=r.series[s.seriesIndex],n=r.renderer,l=this.symbols,h=l.labels,d=t.center,c=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,y=e.radius||0,b=d-c-m/2+f/2,x=(b%1?1:.5)-(f%2?0:.5),v=n.styledMode,S=g||"left"===u?-p:p;"center"===u&&(S=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(y,d+x,c).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+a.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",y,b],["L",y+S,b]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let C=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),A={x:y+S+s.labels.x,y:b+s.labels.y+.4*C.getBBox().height};C.attr(A),h.push(C),C.placed=!0,C.alignAttr=A}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,o=i.labels.format,{numberFormatter:r}=this.chart;return o?e.format(o,t):s?s.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,i=t.options.ranges,s,o,r=Number.MAX_VALUE,c=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(l)).length&&(r=d(t.options.zMin,Math.min(r,Math.max(n(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),c=d(t.options.zMax,Math.max(c,a(o))))}),s=r===c?[{value:c}]:[{value:r},{value:(r+c)/2},{value:c,autoRanges:!0}],i.length&&i[0].radius&&s.reverse(),s.forEach(function(t,e){i&&i[e]&&(s[e]=h(i[e],t))}),s}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,o=s?t.legend.lastLineHeight:0,r=t.plotSizeX,a=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),d=Math.ceil(l.maxPxSize),c=Math.min(a,r),p,u=n.options.maxSize;return i||!/%$/.test(u)?p=d:(p=(c+o)*(u=parseFloat(u))/100/(u/100+1),(s&&a-p>=r||!s&&r-p>=a)&&(p=d)),[h,Math.ceil(p)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}}),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{setOptions:r}=i,{composed:a}=s,{addEvent:n,objectEach:l,pushUnique:h,wrap:d}=o;function c(t,e,i){let s,o,r;let a=this.legend,n=p(this)>=0;a&&a.options.enabled&&a.bubbleLegend&&a.options.bubbleLegend.autoRanges&&n?(s=a.bubbleLegend.options,o=a.bubbleLegend.predictBubbleSizes(),a.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(a.group.placed=!1,a.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),a.render(),s.placed||(this.getMargins(),this.axes.forEach(function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0}))}),this.getMargins()),s.placed=!0,t.call(this,e,i),a.bubbleLegend.correctSizes(),f(a,u(a))):(t.call(this,e,i),a&&a.options.enabled&&a.bubbleLegend&&(a.render(),f(a,u(a))))}function p(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].zData.length)return i;i++}return -1}function u(t){let e=t.allItems,i=[],s=e.length,o,r,a,n=0,l=0;for(n=0;n<s;n++)if(r=e[n].legendItem||{},a=(e[n+1]||{}).legendItem||{},r.labelHeight&&(e[n].itemHeight=r.labelHeight),e[n]===e[s-1]||r.y!==a.y){for(i.push({height:0}),o=i[i.length-1];l<=n;l++)e[l].itemHeight>o.height&&(o.height=e[l].itemHeight);o.step=n}return i}function g(t){let i=this.bubbleLegend,s=this.options,o=s.bubbleLegend,r=p(this.chart);i&&i.ranges&&i.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&s.enabled&&o.enabled&&(o.seriesIndex=r,this.bubbleLegend=new e(o,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){let e;if(t.defaultPrevented)return!1;let i=this.chart,s=this.visible,o=this.chart.legend;o&&o.bubbleLegend&&(this.visible=!s,this.ignoreSeries=s,e=p(i)>=0,o.bubbleLegend.visible!==e&&(o.update({bubbleLegend:{enabled:e}}),o.bubbleLegend.visible=e),this.visible=s)}
3function f(t,e){let i=t.allItems,s=t.options.rtl,o,r,a,n,l=0;i.forEach((t,i)=>{(n=t.legendItem||{}).group&&(o=n.group.translateX||0,r=n.y||0,((a=t.movementX)||s&&t.ranges)&&(a=s?o-t.options.maxSize/2:o+a,n.group.attr({translateX:a})),i>e[l].step&&l++,n.group.attr({translateY:Math.round(r+e[l].height/2)}),n.y=r+e[l].height/2)})}return{compose:function(e,i,s){h(a,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),d(e.prototype,"drawChartBox",c),n(i,"afterGetAllItems",g),n(s,"legendItemClick",m))}}}),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:o}=i;class r extends s{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return o(r.prototype,{ttBelow:!1}),r}),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{parse:a}=i,{composed:n,noop:l}=s,{series:h,seriesTypes:{column:{prototype:d},scatter:c}}=o,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:y,merge:b,pick:x,pushUnique:v}=r;function S(){let t=this.len,{coll:e,isXAxis:i,min:s}=this,o=i?"xData":"yData",r=(this.max||0)-(s||0),a=0,n=t,l=t/r,h;
vendor: 13,286 bytes, line 3
3("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t[o];if(i&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),r>0){let i=e.length;for(;i--;)if(y(e[i])&&this.dataMin<=e[i]&&e[i]<=this.max){let o=t.radii&&t.radii[i]||0;a=Math.min((e[i]-s)*l-o,a),n=Math.max((e[i]-s)*l+o,n)}}}}),h&&r>0&&!this.logarithmic&&(n-=t,l*=(t+Math.max(0,a)-Math.min(n,t))/t,[["min","userMin",a],["max","userMax",n]].forEach(t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}class C extends c{static compose(e,i,s,o){t.compose(i,s,o),v(n,"Series.Bubble")&&p(e,"foundExtremes",S)}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=this.zData,e=this.yData,i=[],s,o,r,a=this.chart.bubbleZExtremes,{minPxSize:n,maxPxSize:l}=this.getPxExtremes();if(!a){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(s=>{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(x(e,o.zMin),o.zMin),i=Math.max(x(i,o.zMax),o.zMax),t=!0)}}),t?(a={zMin:e,zMax:i},this.chart.bubbleZExtremes=a):a={zMin:0,zMax:0}}for(o=0,s=t.length;o<s;o++)r=t[o],i.push(this.getRadius(a.zMin,a.zMax,n,l,r,e&&e[o]));this.radii=i}getRadius(t,e,i,s,o,r){let a=this.options,n="width"!==a.sizeBy,l=a.zThreshold,h=e-t,d=.5;if(null===r||null===o)return null;if(y(o)){if(a.sizeByAbsoluteValue&&(o=Math.abs(o-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),o<t)return i/2-1;h>0&&(d=(o-t)/h)}return n&&d>=0&&(d=Math.sqrt(d)),Math.ceil(i+d*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?f(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=a(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],a=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),y(a)&&a>=s/2?(r.marker=f(r.marker,{radius:a,width:2*a,height:2*a}),r.dlBox={x:r.plotX-a,y:r.plotY-a,width:2*a,height:2*a}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8)),s=Math.max(e(x(this.options.maxSize,"20%")),i);return{minPxSize:i,maxPxSize:s}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(y);if(e.length){let i=x(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=x(t.zMax,u(e));if(y(i)&&y(s))return{zMin:i,zMax:s}}}}return C.defaultOptions=b(c.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return y(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(C.prototype,{alignDataLabel:d.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(C,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),p(C,"remove",t=>{delete t.target.chart.bubbleZExtremes}),o.registerSeriesType("bubble",C),C}),i(e,"Series/MapBubble/MapBubblePoint.js",[e["Series/Bubble/BubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{map:{prototype:{pointClass:{prototype:s}}}}}=e,{extend:o}=i;class r extends t{isValid(){return"number"==typeof this.z}}return o(r.prototype,{applyOptions:s.applyOptions,getProjectedBounds:s.getProjectedBounds}),r}),i(e,"Series/MapBubble/MapBubbleSeries.js",[e["Series/Bubble/BubbleSeries.js"],e["Series/MapBubble/MapBubblePoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{seriesTypes:{map:{prototype:o},mappoint:{prototype:r}}}=i,{extend:a,merge:n}=s;class l extends t{constructor(){super(...arguments),this.clearBounds=o.clearBounds}searchPoint(t,e){return this.searchKDTree({plotX:t.chartX-this.chart.plotLeft,plotY:t.chartY-this.chart.plotTop},e,t)}translate(){r.translate.call(this),this.getRadii(),this.translateBubble()}updateParallelArrays(t,e,i){super.updateParallelArrays.call(this,t,e,i);let s=this.processedXData,o=this.xData;s&&o&&(s.length=o.length)}}return l.defaultOptions=n(t.defaultOptions,{lineWidth:0,animationLimit:500,joinBy:"hc-key",tooltip:{pointFormat:"{point.name}: {point.z}"}}),a(l.prototype,{type:"mapbubble",axisTypes:["colorAxis"],getProjectedBounds:o.getProjectedBounds,isCartesian:!1,pointArrayMap:["z"],pointClass:e,processData:o.processData,projectPoint:r.projectPoint,kdAxisArray:["plotX","plotY"],setData:o.setData,setOptions:o.setOptions,updateData:o.updateData,useMapGeometry:!0,xyFromShape:!0}),i.registerSeriesType("mapbubble",l),l}),i(e,"Series/Heatmap/HeatmapPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{scatter:{prototype:{pointClass:i}}}=t.seriesTypes,{clamp:s,defined:o,extend:r,pick:a}=e;class n extends i{applyOptions(t,e){return(this.isNull||null===this.value)&&delete this.color,super.applyOptions(t,e),this.formatPrefix=this.isNull||null===this.value?"null":"point",this}getCellAttributes(){let t=this.series,e=t.options,i=(e.colsize||1)/2,r=(e.rowsize||1)/2,n=t.xAxis,l=t.yAxis,h=this.options.marker||t.options.marker,d=t.pointPlacementToXValue(),c=a(this.pointPadding,e.pointPadding,0),p={x1:s(Math.round(n.len-n.translate(this.x-i,!1,!0,!1,!0,-d)),-n.len,2*n.len),x2:s(Math.round(n.len-n.translate(this.x+i,!1,!0,!1,!0,-d)),-n.len,2*n.len),y1:s(Math.round(l.translate(this.y-r,!1,!0,!1,!0)),-l.len,2*l.len),y2:s(Math.round(l.translate(this.y+r,!1,!0,!1,!0)),-l.len,2*l.len)};for(let t of[["width","x"],["height","y"]]){let e=t[0],i=t[1],s=i+"1",r=i+"2",a=Math.abs(p[s]-p[r]),d=h&&h.lineWidth||0,u=Math.abs(p[s]+p[r])/2,g=h&&h[e];if(o(g)&&g<a){let t=g/2+d/2;p[s]=u-t,p[r]=u+t}c&&(("x"===i&&n.reversed||"y"===i&&!l.reversed)&&(s=r,r=i+"1"),p[s]+=c,p[r]-=c)}return p}haloPath(t){if(!t)return[];let{x:e=0,y:i=0,width:s=0,height:o=0}=this.shapeArgs||{};return[["M",e-t,i-t],["L",e-t,i+o+t],["L",e+s+t,i+o+t],["L",e+s+t,i-t],["Z"]]}isValid(){return this.value!==1/0&&this.value!==-Infinity}}return r(n.prototype,{dataLabelOnNull:!0,moveToTopOnHover:!0,ttBelow:!1}),n}),i(e,"Series/Heatmap/HeatmapSeriesDefaults.js",[e["Core/Utilities.js"]],function(t){let{isNumber:e}=t;return{animation:!1,borderRadius:0,borderWidth:0,interpolation:!1,nullColor:"#f7f7f7",dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},inside:!0,verticalAlign:"middle",crop:!1,overflow:"allow",padding:0},marker:{symbol:"rect",radius:0,lineColor:void 0,states:{hover:{lineWidthPlus:0},select:{}}},clip:!0,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}},legendSymbol:"rectangle"}}),i(e,"Series/InterpolationUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{doc:i}=t,{defined:s,pick:o}=e;return{colorFromPoint:function(t,e){let i=e.series.colorAxis;if(i){let r=i.toColor(t||0,e).split(")")[0].split("(")[1].split(",").map(t=>o(parseFloat(t),parseInt(t,10)));return r[3]=255*o(r[3],1),s(t)&&e.visible||(r[3]=0),r}return[0,0,0,0]},getContext:function(t){let{canvas:e,context:s}=t;return e&&s?(s.clearRect(0,0,e.width,e.height),s):(t.canvas=i.createElement("canvas"),t.context=t.canvas.getContext("2d",{willReadFrequently:!0})||void 0,t.context)}}}),i(e,"Series/Heatmap/HeatmapSeries.js",[e["Core/Color/Color.js"],e["Series/ColorMapComposition.js"],e["Series/Heatmap/HeatmapPoint.js"],e["Series/Heatmap/HeatmapSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"],e["Series/InterpolationUtilities.js"]],function(t,e,i,s,o,r,a,n){let{series:l,seriesTypes:{column:h,scatter:d}}=o,{prototype:{symbols:c}}=r,{addEvent:p,extend:u,fireEvent:g,isNumber:m,merge:f,pick:y}=a,{colorFromPoint:b,getContext:x}=n;class v extends d{constructor(){super(...arguments),this.valueMax=NaN,this.valueMin=NaN,this.isDirtyCanvas=!0}drawPoints(){let t=this,e=t.options,i=e.interpolation,s=e.marker||{};if(i){let{image:e,chart:i,xAxis:s,yAxis:o}=t,{reversed:r=!1,len:a}=s,{reversed:n=!1,len:l}=o,h={width:a,height:l};if(!e||t.isDirtyData||t.isDirtyCanvas){let a=x(t),{canvas:l,options:{colsize:d=1,rowsize:c=1},points:p,points:{length:u}}=t,g=i.colorAxis&&i.colorAxis[0];if(l&&a&&g){let{min:g,max:m}=s.getExtremes(),{min:f,max:y}=o.getExtremes(),x=m-g,v=y-f,S=Math.round(x/d/8*8),C=Math.round(v/c/8*8),[A,k]=[[S,S/x,r,"ceil"],[C,C/v,!n,"floor"]].map(([t,e,i,s])=>i?i=>Math[s](t-e*i):t=>Math[s](e*t)),M=l.width=S+1,w=M*(l.height=C+1),P=(u-1)/w,T=new Uint8ClampedArray(4*w),E=(t,e)=>4*Math.ceil(M*k(e-f)+A(t-g));t.buildKDTree();for(let t=0;t<w;t++){let e=p[Math.ceil(P*t)],{x:i,y:s}=e;T.set(b(e.value,e),E(i,s))}a.putImageData(new ImageData(T,M),0,0),e?e.attr({...h,href:l.toDataURL("image/png",1)}):(t.directTouch=!1,t.image=i.renderer.image(l.toDataURL("image/png",1)).attr(h).add(t.group))}t.isDirtyCanvas=!1}else(e.width!==a||e.height!==l)&&e.attr(h)}else(s.enabled||t._hasPointMarkers)&&(l.prototype.drawPoints.call(t),t.points.forEach(e=>{e.graphic&&(e.graphic[t.chart.styledMode?"css":"animate"](t.colorAttribs(e)),null===e.value&&e.graphic.addClass("highcharts-null-point"))}))}getExtremes(){let{dataMin:t,dataMax:e}=l.prototype.getExtremes.call(this,this.valueData);return m(t)&&(this.valueMin=t),m(e)&&(this.valueMax=e),l.prototype.getExtremes.call(this)}getValidPoints(t,e){return l.prototype.getValidPoints.call(this,t,e,!0)}hasData(){return!!this.processedXData.length}init(){super.init.apply(this,arguments);let t=this.options;t.pointRange=y(t.pointRange,t.colsize||1),this.yAxis.axisPointRange=t.rowsize||1,c.ellipse=c.circle,t.marker&&m(t.borderRadius)&&(t.marker.r=t.borderRadius)}markerAttribs(t,e){let i=t.shapeArgs||{};if(t.hasImage)return{x:t.plotX,y:t.plotY};if(e&&"normal"!==e){let s=t.options.marker||{},o=this.options.marker||{},r=o.states&&o.states[e]||{},a=s.states&&s.states[e]||{},n=(a.width||r.width||i.width||0)+(a.widthPlus||r.widthPlus||0),l=(a.height||r.height||i.height||0)+(a.heightPlus||r.heightPlus||0);return{x:(i.x||0)+((i.width||0)-n)/2,y:(i.y||0)+((i.height||0)-l)/2,width:n,height:l}}return i}pointAttribs(e,i){let s=l.prototype.pointAttribs.call(this,e,i),o=this.options||{},r=this.chart.options.plotOptions||{},a=r.series||{},n=r.heatmap||{},h=e&&e.options.borderColor||o.borderColor||n.borderColor||a.borderColor,d=e&&e.options.borderWidth||o.borderWidth||n.borderWidth||a.borderWidth||s["stroke-width"];if(s.stroke=e&&e.marker&&e.marker.lineColor||o.marker&&o.marker.lineColor||h||this.color,s["stroke-width"]=d,i&&"normal"!==i){let r=f(o.states&&o.states[i],o.marker&&o.marker.states&&o.marker.states[i],e&&e.options.states&&e.options.states[i]||{});s.fill=r.color||t.parse(s.fill).brighten(r.brightness||0).get(),s.stroke=r.lineColor||s.stroke}return s}translate(){let{borderRadius:t,marker:e}=this.options,i=e&&e.symbol||"rect",s=c[i]?i:"rect",o=-1!==["circle","square"].indexOf(s);for(let e of(this.generatePoints(),this.points)){let r=e.getCellAttributes(),a=Math.min(r.x1,r.x2),n=Math.min(r.y1,r.y2),l=Math.max(Math.abs(r.x2-r.x1),0),h=Math.max(Math.abs(r.y2-r.y1),0);if(e.hasImage=0===(e.marker&&e.marker.symbol||i||"").indexOf("url"),o){let t=Math.abs(l-h);a=Math.min(r.x1,r.x2)+(l<h?0:t/2),n=Math.min(r.y1,r.y2)+(l<h?t/2:0),l=h=Math.min(l,h)}e.hasImage&&(e.marker={width:l,height:h}),e.plotX=e.clientX=(r.x1+r.x2)/2,e.plotY=(r.y1+r.y2)/2,e.shapeType="path",e.shapeArgs=f(!0,{x:a,y:n,width:l,height:h},{d:c[s](a,n,l,h,{r:m(t)?t:0})})}g(this,"afterTranslate")}}return v.defaultOptions=f(d.defaultOptions,s),p(v,"afterDataClassLegendClick",function(){this.isDirtyCanvas=!0,this.drawPoints()}),u(v.prototype,{axisTypes:e.seriesMembers.axisTypes,colorKey:e.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:e.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:i,specialGroup:"group",trackerGroups:e.seriesMembers.trackerGroups,alignDataLabel:h.prototype.alignDataLabel,colorAttribs:e.seriesMembers.colorAttribs,getSymbol:l.prototype.getSymbol}),e.compose(v),o.registerSeriesType("heatmap",v),v}),i(e,"masters/modules/map.src.js",[e["Core/Globals.js"],e["Maps/MapNavigation.js"],e["Series/ColorMapComposition.js"],e["Series/MapBubble/MapBubbleSeries.js"],e["Maps/GeoJSONComposition.js"],e["Core/Chart/MapChart.js"],e["Maps/MapView.js"],e["Maps/Projection.js"]],function(t,e,
3i,s,o,r,a,n){return t.ColorMapComposition=i,t.MapChart=t.MapChart||r,t.MapNavigation=t.MapNavigation||e,t.MapView=t.MapView||a,t.Projection=t.Projection||n,t.mapChart=t.Map=t.MapChart.mapChart,t.maps=t.MapChart.maps,t.geojson=o.geojson,t.topo2geo=o.topo2geo,o.compose(t.Chart),s.compose(t.Axis,t.Chart,t.Legend,t.Series),e.compose(r,t.Pointer,t.SVGRenderer),a.compose(r),t}),i(e,"masters/highmaps.src.js",[e["masters/highcharts.src.js"]],function(t){return t.product="Highmaps",t}),e["masters/highmaps.src.js"]._modules=e,e["masters/highmaps.src.js"]},t.exports?(o.default=o,t.exports=s&&s.document?o(s):o):"function"==typeof define&&define.amd?define("highcharts/highmaps",function(){return o(s)}):(s.Highcharts&&s.Highcharts.error(16,!0),s.Highcharts=o(s))},702929:function(t){var e;e=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Accessibility/Utils/HTMLUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{doc:i,win:s}=t,{css:o}=e,r=s.EventTarget&&new s.EventTarget||"none";function a(t){if("function"==typeof s.MouseEvent)return new s.MouseEvent(t.type,t);if(i.createEvent){let e=i.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||s,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return n(t.type)}function n(t,e,o){let a=e||{x:0,y:0};if("function"==typeof s.MouseEvent)return new s.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:o||r,view:s,detail:"click"===t?1:0,screenX:a.x,screenY:a.y,clientX:a.x,clientY:a.y});if(i.createEvent){let e=i.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,s,"click"===t?1:0,a.x,a.y,a.x,a.y,!1,!1,!1,!1,0,null),e}return{type:t}}return{addClass:function(t,e){t.classList?t.classList.add(e):0>t.className.indexOf(e)&&(t.className+=" "+e)},cloneMouseEvent:a,cloneTouchEvent:function(t){let e=t=>{let e=[];for(let i=0;i<t.length;++i){let s=t.item(i);s&&e.push(s)}return e};if("function"==typeof s.TouchEvent){let i=new s.TouchEvent(t.type,{touches:e(t.touches),targetTouches:e(t.targetTouches),changedTouches:e(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed,detail:t.detail,view:t.view});return t.defaultPrevented&&i.preventDefault(),i}let i=a(t);return i.touches=t.touches,i.changedTouches=t.changedTouches,i.targetTouches=t.targetTouches,i},escapeStringForHTML:function(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")},getElement:function(t){return i.getElementById(t)},getFakeMouseEvent:n,getHeadingTagNameForElement:function(t){let e=t=>"h"+Math.min(6,parseInt(t.slice(1),10)+1),i=t=>/H[1-6]/.test(t),s=t=>{let e=t;for(;e=e.previousSibling;){let t=e.tagName||"";if(i(t))return t}return""},o=t=>{let r=s(t);if(r)return e(r);let a=t.parentElement;if(!a)return"p";let n=a.tagName;return i(n)?e(n):o(a)};return o(t)},removeChildNodes:function(t){for(;t.lastChild;)t.removeChild(t.lastChild)},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(RegExp(e,"g"),"")},removeElement:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},reverseChildNodes:function(t){let e=t.childNodes.length;for(;e--;)t.appendChild(t.childNodes[e])},simulatedEventTarget:r,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){o(t,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}}}),i(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e){var i;let{format:s}=t,{getNestedProperty:o,pick:r}=e;return function(t){function e(t,e,i){let a=(t,e)=>
3{let i=t.slice(e||0),s=i.indexOf("{"),o=i.indexOf("}");if(s>-1&&o>s)return{statement:i.substring(s+1,o),begin:e+s+1,end:e+o}},n=[],l,h,d=0;do l=a(t,d),(h=t.substring(d,l&&l.begin-1)).length&&n.push({value:h,type:"constant"}),l&&n.push({value:l.statement,type:"statement"}),d=l?l.end+1:d+1;while(l);return n.forEach(t=>{"statement"===t.type&&(t.value=function(t,e){let i,s;let a=t.indexOf("#each("),n=t.indexOf("#plural("),l=t.indexOf("["),h=t.indexOf("]");if(a>-1){let r=t.slice(a).indexOf(")")+a,n=t.substring(0,a),l=t.substring(r+1),h=t.substring(a+6,r).split(","),d=Number(h[1]),c;if(s="",i=o(h[0],e)){c=(d=isNaN(d)?i.length:d)<0?i.length+d:Math.min(d,i.length);for(let t=0;t<c;++t)s+=n+i[t]+l}return s.length?s:""}if(n>-1){var d;let i=t.slice(n).indexOf(")")+n,a=t.substring(n+8,i).split(",");switch(Number(o(a[0],e))){case 0:s=r(a[4],a[1]);break;case 1:s=r(a[2],a[1]);break;case 2:s=r(a[3],a[1]);break;default:s=a[1]}return s?(d=s).trim&&d.trim()||d.replace(/^\s+|\s+$/g,""):""}if(l>-1){let s;let r=t.substring(0,l),a=Number(t.substring(l+1,h));return i=o(r,e),!isNaN(a)&&i&&(a<0?void 0===(s=i[i.length+a])&&(s=i[0]):void 0===(s=i[a])&&(s=i[i.length-1])),void 0!==s?s:""}return"{"+t+"}"}(t.value,e))}),s(n.reduce((t,e)=>t+e.value,""),e,i)}function i(t,i){let s=t.split("."),o=this.options.lang,r=0;for(;r<s.length;++r)o=o&&o[s[r]];return"string"==typeof o?e(o,i,this):""}t.compose=function(t){let e=t.prototype;e.langFormat||(e.langFormat=i)},t.i18nFormat=e}(i||(i={})),i}),i(e,"Accessibility/Utils/ChartUtilities.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s}=t,{stripHTMLTagsFromString:o}=e,{defined:r,find:a,fireEvent:n}=i;function l(t){if(t.points&&t.points.length){let e=a(t.points,t=>!!t.graphic);return e&&e.graphic&&e.graphic.element}}function h(t){let e=l(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}return{fireEventOnWrappedOrUnwrappedElement:function t(e,i){let o=i.type,r=e.hcEvents;s.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(o,i):r&&r[o]?n(e,o,i):e.element&&t(e.element,i)},getChartTitle:function(t){return o(t.options.title.text||t.langFormat("accessibility.defaultChartTitle",{chart:t}),t.renderer.forExport)},getAxisDescription:function(t){return t&&(t.options.accessibility?.description||t.axisTitle?.textStr||t.options.id||t.categories&&"categories"||t.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){var e,i,s;let o,r,a,n,l,h,d,c,p,u,g,m,f=t.options||{};return f.accessibility&&void 0!==f.accessibility.rangeDescription?f.accessibility.rangeDescription:t.categories?(o=(e=t).chart,e.dataMax&&e.dataMin?o.langFormat("accessibility.axis.rangeCategories",{chart:o,axis:e,numCategories:e.dataMax-e.dataMin+1}):""):t.dateTime&&(0===t.min||0===t.dataMin)?(r=(i=t).chart,a={},n=i.dataMin||i.min||0,l=i.dataMax||i.max||0,h="Seconds",a.Seconds=(l-n)/1e3,a.Minutes=a.Seconds/60,a.Hours=a.Minutes/60,a.Days=a.Hours/24,["Minutes","Hours","Days"].forEach(function(t){a[t]>2&&(h=t)}),d=a[h].toFixed("Seconds"!==h&&"Minutes"!==h?1:0),r.langFormat("accessibility.axis.timeRange"+h,{chart:r,axis:i,range:d.replace(".0","")})):(u=(p=(c=(s=t).chart).options)&&p.accessibility&&p.accessibility.screenReaderSection.axisRangeDateFormat||"",g={min:s.dataMin||s.min||0,max:s.dataMax||s.max||0},m=function(t){return s.dateTime?c.time.dateFormat(u,g[t]):g[t].toString()},c.langFormat("accessibility.axis.rangeFromTo",{chart:c,axis:s,rangeFrom:m("min"),rangeTo:m("max")}))},getPointFromXY:function(t,e,i){let s=t.length,o;for(;s--;)if(o=a(t[s].points||[],function(t){return t.x===e&&t.y===i}))return o},getSeriesFirstPointElement:l,getSeriesFromName:function(t,e){return e?(t.series||[]).filter(function(t){return t.name===e}):t.series},getSeriesA11yElement:h,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==s.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(t){t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden",!0)}),t(e,i.parentNode))},hideSeriesFromAT:function(t){let e=h(t);e&&e.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(t){let e=t.series.xAxis,i=t.series.yAxis,s=e&&e.scrollbar?e:i,o=s&&s.scrollbar;if(o&&r(o.to)&&r(o.from)){let e=o.to-o.from,i=function(t,e){if(!r(t.dataMin)||
3!r(t.dataMax))return 0;let i=t.toPixels(t.dataMin),s=t.toPixels(t.dataMax),o="xAxis"===t.coll?"x":"y";return(t.toPixels(e[o]||0)-i)/(s-i)}(s,t);o.updatePosition(i-e/2,i+e/2),n(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}}}),i(e,"Accessibility/Utils/DOMElementProvider.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e){let{doc:i}=t,{removeElement:s}=e;return class{constructor(){this.elements=[]}createElement(){let t=i.createElement.apply(i,arguments);return this.elements.push(t),t}removeElement(t){s(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach(function(t){s(t)}),this.elements=[]}}}),i(e,"Accessibility/Utils/EventProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{addEvent:i}=e;return class{constructor(){this.eventRemovers=[]}addEvent(){let e=i.apply(t,arguments);return this.eventRemovers.push({element:arguments[0],remover:e}),e}removeEvent(t){let e=this.eventRemovers.map(t=>t.remover).indexOf(t);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(t=>t.remover).forEach(t=>t()),this.eventRemovers=[]}}}),i(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{fireEventOnWrappedOrUnwrappedElement:r}=t,{getFakeMouseEvent:a}=s,{extend:n}=o;class l{initBase(t,s){this.chart=t,this.eventProvider=new i,this.domElementProvider=new e,this.proxyProvider=s,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(t,e,i,s){return this.eventProvider.addEvent(t,e,i,s)}createElement(t,e){return this.domElementProvider.createElement(t,e)}fakeClickEvent(t){r(t,a("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}return n(l.prototype,{init(){},getKeyboardNavigation:function(){},onChartUpdate(){},onChartRender(){},destroy(){}}),l}),i(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],function(t){let{find:e}=t;return class{constructor(t,e){this.chart=t,this.keyCodeMap=e.keyCodeMap||[],this.validate=e.validate,this.init=e.init,this.terminate=e.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(t){let i=t.which||t.keyCode,s=this.response.noHandler,o=e(this.keyCodeMap,function(t){return t[0].indexOf(i)>-1});return o?s=o[1].call(this,i,t):9===i&&(s=this.response[t.shiftKey?"prev":"next"]),s}}}),i(e,"Accessibility/Components/ContainerComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e,i,s,o){let{unhideChartElementFromAT:r,getChartTitle:a}=i,{doc:n}=s,{stripHTMLTagsFromString:l}=o;return class extends t{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let t=this.chart,e="highcharts-title-"+t.index,i=l(t.langFormat("accessibility.svgContainerTitle",{chartTitle:a(t)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||n.createElementNS("http://www.w3.org/2000/svg","title");s.textContent=i,s.id=e,t.renderTo.insertBefore(s,t.renderTo.firstChild)}}setSVGContainerLabel(){let t=this.chart,e=t.langFormat("accessibility.svgContainerLabel",{chartTitle:a(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){let t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:a(t)});e.length&&t.container.setAttribute("aria-label",e)}setRenderToAttrs(){let t=this.chart,e="disabled"!==t.options.accessibility.landmarkVerbosity,i=t.langFormat("accessibility.chartContainerLabel",{title:a(t),chart:t});i&&(t.renderTo.setAttribute("role",e?"region":"group"),t.renderTo.setAttribute("aria-label",i))}makeCreditsAccessible(){let t=this.chart,e=t.credits;e&&(e.textStr&&e.element.setAttribute("aria-label",t.langFormat("accessibility.credits",{creditsStr:l(e.textStr,t.renderer.forExport)})),r(t,e.element))}getKeyboardNavigation(){let t=this.chart;return new e(t,{keyCodeMap:[],validate:function(){return!0},init:function(){let e=t.accessibility;e&&e.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}}}),i(e,"Accessibility/FocusBorder.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,pick:s}=t;return function(t){let e=["x","y","transform","width","height","r","d","stroke-width"];function o(){let t=this.focusElement,e=this.options.accessibility.keyboardNavigation.focusBorder;t&&(t.removeFocusBorder(),e.enabled&&t.addFocusBorder(e.margin,{stroke:e.style.color,strokeWidth:e.style.lineWidth,r:e.style.borderRadius}))}function r(t,e){let s=this.options.accessibility.keyboardNavigation.focusBorder,o=e||t.element;o&&o.focus&&(o.hcEvents&&o.hcEvents.focusin||i(o,"focusin",function(){}
3),o.focus(),s.hideBrowserFocusOutline&&(o.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,this.renderFocusBorder()}function a(t,i){this.focusBorder&&this.removeFocusBorder();let o=this.getBBox(),r=s(t,3),a=this.parentGroup,n=this.scaleX||a&&a.scaleX,l=this.scaleY||a&&a.scaleY,h=(n?!l:l)?Math.abs(n||l||1):(Math.abs(n||1)+Math.abs(l||1))/2;o.x+=this.translateX?this.translateX:0,o.y+=this.translateY?this.translateY:0;let d=o.x-r,c=o.y-r,p=o.width+2*r,u=o.height+2*r,g=!!this.text;if("text"===this.element.nodeName||g){let t,e;let i=!!this.rotation,s=g?{x:i?1:0,y:0}:(t=0,e=0,"middle"===this.attr("text-anchor")?t=e=.5:this.rotation?t=.25:e=.75,{x:t,y:e}),a=+this.attr("x"),n=+this.attr("y");if(isNaN(a)||(d=a-o.width*s.x-r),isNaN(n)||(c=n-o.height*s.y-r),g&&i){let t=p;p=u,u=t,isNaN(a)||(d=a-o.height*s.x-r),isNaN(n)||(c=n-o.width*s.y-r)}}this.focusBorder=this.renderer.rect(d,c,p,u,parseInt((i&&i.r||0).toString(),10)/h).addClass("highcharts-focus-border").attr({zIndex:99}).add(a),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/h}),function(t,...i){t.focusBorderUpdateHooks||(t.focusBorderUpdateHooks={},e.forEach(e=>{let s=e+"Setter",o=t[s]||t._defaultSetter;t.focusBorderUpdateHooks[s]=o,t[s]=function(){let e=o.apply(t,arguments);return t.addFocusBorder.apply(t,i),e}}))}(this,t,i),function(t){if(t.focusBorderDestroyHook)return;let e=t.destroy;t.destroy=function(){return t.focusBorder&&t.focusBorder.destroy&&t.focu
3sBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function n(){var t;t=this,t.focusBorderUpdateHooks&&(Object.keys(t.focusBorderUpdateHooks).forEach(e=>{let i=t.focusBorderUpdateHooks[e];i===t._defaultSetter?delete t[e]:t[e]=i}),delete t.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}t.compose=function(t,e){let i=t.prototype,s=e.prototype;i.renderFocusBorder||(i.renderFocusBorder=o,i.setFocusToElement=r),s.addFocusBorder||(s.addFocusBorder=a,s.removeFocusBorder=n)}}(e||(e={})),e}),i(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{doc:r}=i,{addClass:a,visuallyHideElement:n}=s,{attr:l}=o;return class{constructor(t,i){this.chart=t,this.domElementProvider=new e,this.announceRegion=this.addAnnounceRegion(i)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){t.setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=t.emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(t){let e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return l(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?a(i,"highcharts-visually-hidden"):n(i),e.appendChild(i),i}createAnnouncerContainer(){let t=this.chart,e=r.createElement("div");return l(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}}}),i(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],function(t){let{escapeStringForHTML:e,stripHTMLTagsFromString:i}=t;function s(t){return(t.annotations||[]).reduce((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t),[])}function o(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function r(t){let e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;let i=t.chart,s=o(t),r=t.points,a=t=>t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"",n=r.filter(t=>!!t.graphic).map(t=>{let e=t.accessibility&&t.accessibility.valueDescription||a(t),i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e}).filter(t=>!!t),l=n.length,h=l>1?"MultiplePoints":l?"SinglePoint":"NoPoints",d={annotationText:s,annotation:t,numPoints:l,annotationPoint:n[0],additionalAnnotationPoints:n.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+h,d)}function a(t){return s(t).map(s=>{let o=e(i(r(s),t.renderer.forExport));return o?`<li>${o}</li>`:""})}return{getAnnotationsInfoHTML:function(t){let e=t.annotations;if(!(e&&e.length))return"";let i=a(t);return`<ul style="list-style-type: none">${i.join(" ")}</ul>`},getAnnotationLabelDescription:r,getAnnotationListItems:a,getPointAnnotationTexts:function(t){let e=s(t.series.chart).filter(e=>e.points.indexOf(t)>-1);return e.length?e.map(t=>`${o(t)}`):[]}}}),i(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n,l,h){let{getAnnotationsInfoHTML:d}=s,{getAxisDescription:c,getAxisRangeDescription:p,getChartTitle:u,unhideChartElementFromAT:g}=r,{format:m}=a,{doc:f}=n,{addClass:y,getElement:b,getHeadingTagNameForElement:x,stripHTMLTagsFromString:v,visuallyHideElement:S}=l,{attr:C,pick:A,replaceNested:k}=h;function M(t){return k(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends e{constructor(){super(...arguments),this.screenReaderSections={}}init(){let t=this.chart,e=this;this.initRegionsDefinitions(),this.addEvent(t,"aftergetTableAST",function(t){e.onDataTableCreated(t)}),this.addEvent(t,"afterViewData",function(t){t.wasHidden&&(e.dataTableDiv=t.element,setTimeout(function(){e.focusDataTable()},300))}),this.addEvent(t,"afterHideData",function(){e.viewDataTableButton&&e.viewDataTableButton.setAttribute("aria-expanded","fal
3se")}),this.announcer=new i(t,"assertive")}initRegionsDefinitions(){let t=this,e=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){let s=e.screenReaderSection.beforeChartFormatter;return s?s(i):t.defaultBeforeChartFormatter(i)},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.renderTo.firstChild)},afterInserted:function(){void 0!==t.sonifyButtonId&&t.initSonifyButton(t.sonifyButtonId),void 0!==t.dataTableButtonId&&t.initDataTableButton(t.dataTableButtonId)}},after:{element:null,buildContent:function(i){let s=e.screenReaderSection.afterChartFormatter;return s?s(i):t.defaultAfterChartFormatter()},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.container.nextSibling)},afterInserted:function(){t.chart.accessibility&&e.keyboardNavigation.enabled&&t.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){let t=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){let t=this.chart.options.accessibility.linkedDescription;if(!t)return;if("string"!=typeof t)return t;let e=m(t,this.chart),i=f.querySelectorAll(e);if(1===i.length)return i[0]}setLinkedDescriptionAttrs(){let t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),y(t,"highcharts-linked-description"))}updateScreenReaderSection(t){let e=this.chart,i=this.screenReaderSections[t],s=i.buildContent(e),r=i.element=i.element||this.createElement("div"),a=r.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(r,t),o.setElementHTML(a,s),r.appendChild(a),i.insertIntoDOM(r,e),e.styledMode?y(a,"highcharts-visually-hidden"):S(a),g(e,a),i.afterInserted&&i.afterInserted()):(r.parentNode&&r.parentNode.removeChild(r),i.element=null)}setScreenReaderSectionAttribs(t,e){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+e+"RegionLabel",{chart:i,chartTitle:u(i)});C(t,{id:`highcharts-screen-reader-region-${e}-${i.index}`,"aria-label":s||void 0}),t.style.position="relative",s&&t.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let e=this.chart,i=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!i)return"";let s=this.getAxesDescription(),o=e.sonify&&e.options.sonification&&e.options.sonification.enabled,r="highcharts-a11y-sonify-data-btn-"+e.index,a="hc-linkto-highcharts-data-table-"+e.index,n=d(e),l=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),h={headingTagName:x(e.renderTo),chartTitle:u(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:s.xAxis,yAxisDescription:s.yAxis,playAsSoundButton:o?this.getSonifyButtonText(r):"",viewTableButton:e.getCSV?this.getDataTableButtonText(a):"",annotationsTitle:n?l:"",annotationsList:n},c=t.i18nFormat(i,h,e);return this.dataTableButtonId=a,this.sonifyButtonId=r,M(c)}defaultAfterChartFormatter(){let e=this.chart,i=e.options.accessibility.screenReaderSection.afterChartFormat;if(!i)return"";let s={endOfChartMarker:this.getEndOfChartMarkerText()};return M(t.i18nFormat(i,s,e))}getLinkedDescription(){let t=this.linkedDescriptionElement;return v(t&&t.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){let t=this.chart.options,e=t.caption,i=e&&e.text,s=this.getLinkedDescription();return t.accessibility.description||s||i||""}getTypeDescriptionText(){var t,e,i,s,o;let r,a,n,l,h,d,c,p=this.chart;return p.types?p.options.accessibility.typeDescription||(t=p,r=(e=p.types)[0],a=t.series&&t.series[0]||{},n=t.mapView&&t.mapView.geoMap&&t.mapView.geoMap.title,l={numSeries:t.series.length,numPoints:a.points&&a.points.length,chart:t,mapTitle:n},r?"map"===r||"tiledwebmap"===r?l.mapTitle?t.langFormat("accessibility.chartTypes.mapTypeDescription",l):t.langFormat("accessibility.chartTypes.unknownMap",l):t.types.length>1?t.langFormat("accessibility.chartTypes.combinationChart",l):(i=t,s=e,o=l,h=s[0],d=i.langFormat("accessibility.seriesTypeDescriptions."+h,o),c=i.series&&i.series.length<2?"Single":"Multiple",(i.langFormat("accessibility.chartTypes."+h+c,o)||i.langFormat("accessibility.chartTypes.default"+c,o))+(d?" "+d:"")):t.langFormat("accessibility.chartTypes.emptyChart",l)):""}getDataTableButtonText(t){let e=this.chart;return'<button id="'+t+'">'+e.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:e,chartTitle:u(e)})+"</button>"}getSonifyButtonText(t){let e=this.chart;return e.options.sonification&&!1===e.options.sonification.enabled?"":'<button id="'+t+'">'+e.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:e,chartTitle:u(e)})+"</button>"}getSubtitleText(){let t=this.chart.options.subtitle;return v(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let t=b(`highcharts-end-of-chart-marker-${this.chart.index}`);
3if(t)return t.outerHTML;let e=this.chart,i=e.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:e});return'<div id="highcharts-end-of-chart-marker-'+e.index+'">'+i+"</div>"}onDataTableCreated(t){let e=this.chart;if(e.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let i=t.tree.attributes||{};i.tabindex=-1,i.summary=e.langFormat("accessibility.table.tableSummary",{chart:e}),t.tree.attributes=i}}focusDataTable(){let t=this.dataTableDiv,e=t&&t.getElementsByTagName("table")[0];e&&e.focus&&e.focus()}initSonifyButton(t){let e=this.sonifyButton=b(t),i=this.chart,s=t=>{e&&(e.setAttribute("aria-hidden","true"),e.setAttribute("aria-label","")),t.preventDefault(),t.stopPropagation();let s=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(s),setTimeout(()=>{e&&(e.removeAttribute("aria-hidden"),e.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};e&&i&&(e.setAttribute("tabindex",-1),e.onclick=function(t){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,t,i)})}initDataTableButton(t){let e=this.viewDataTableButton=b(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(C(e,{tabindex:-1,"aria-expanded":!!b(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){let t=this.chart,e=function(e,i){let s=t[e];return s.length>1||s[0]&&A(s[0].options.accessibility&&s[0].options.accessibility.enabled,i)},i=!!t.types&&0>t.types.indexOf("map")&&0>t.types.indexOf("treemap")&&0>t.types.indexOf("tilemap"),s=!!t.hasCartesianSeries,o=e("xAxis",!t.angular&&s&&i),r=e("yAxis",s&&i),a={};return o&&(a.xAxis=this.getAxisDescriptionText("xAxis")),r&&(a.yAxis=this.getAxisDescriptionText("yAxis")),a}getAxisDescriptionText(t){let e=this.chart,i=e[t];return e.langFormat("accessibility.axis."+t+"Description"+(i.length>1?"Plural":"Singular"),{chart:e,names:i.map(function(t){return c(t)}),ranges:i.map(function(t){return p(t)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}}}),i(e,"Accessibility/Components/MenuComponent.js",[e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e,i,s,o){let{attr:r}=t,{getChartTitle:a,unhideChartElementFromAT:n}=s,{getFakeMouseEvent:l}=o;function h(t){return t.exportSVGElements&&t.exportSVGElements[0]}class d extends e{init(){let t=this.chart,e=this;this.addEvent(t,"exportMenuShown",function(){e.onMenuShown()}),this.addEvent(t,"exportMenuHidden",function(){e.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let t=this.chart.exportContextMenu;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let t=this.chart,e=t.exportContextMenu;e&&(this.addAccessibleContextMenuAttribs(),n(t,e)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(t){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",t)}onChartRender(){let t=this.chart,e=t.focusElement,i=t.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&e&&e===t.exportingGroup&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){var t;let e,i,s=this.chart,o=this.proxyProvider,r=h(s);e=(t=s).options.exporting,i=h(t),e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&i&&i.element&&r&&(this.exportButtonProxy=o.addProxyElement("chartMenu",{click:r},"button",{"aria-label":s.langFormat("accessibility.exporting.menuButtonLabel",{chart:s,chartTitle:a(s)}),"aria-expanded":!1,title:s.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let t=this.chart,e=t.exportDivElements;if(e&&e.length){e.forEach(t=>{t&&("LI"!==t.tagName||t.children&&t.children.length?t.setAttribute("aria-hidden","true"):t.setAttribute("tabindex",-1))});let i=e[0]&&e[0].parentNode;i&&r(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){let t=this.keyCodes,e=this.chart,s=this;return new i(e,{keyCodeMap:[[[t.left,t.up],function(){return s.onKbdPrevious(this)}],[[t.right,t.down],function(){return s.onKbdNext(this)}],[[t.enter,t.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!e.exporting&&!1!==e.options.exporting.enabled&&!1!==e.options.exporting.accessibility.enabled},init:function(){let t=s.exportButtonProxy,i=s.chart.exportingGroup;t&&i&&e.setFocusToElement(i,t.innerElement)},terminate:function(){e.hideExportMenu()}})}onKbdPrevious(t){let e=this.chart,i=e.options.accessibility,s=t.response,o=e.highlightedExportItemIx||0;for(;o--;)if(e.highlightExportItem(o))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightLastExportItem(
3),s.success):s.prev}onKbdNext(t){let e=this.chart,i=e.options.accessibility,s=t.response;for(let t=(e.highlightedExportItemIx||0)+1;t<e.exportDivElements.length;++t)if(e.highlightExportItem(t))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightExportItem(0),s.success):s.next}onKbdClick(t){let e=this.chart,i=e.exportDivElements[e.highlightedExportItemIx],s=h(e).element;return e.openMenu?this.fakeClickEvent(i):(this.fakeClickEvent(s),e.highlightExportItem(0)),t.response.success}}return function(t){function e(){let t=h(this);if(t){let e=t.element;e.onclick&&e.onclick(l("click"))}}function i(){let t=this.exportDivElements;t&&this.exportContextMenu&&this.openMenu&&(t.forEach(t=>{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(l("mouseout"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function s(t){let e=this.exportDivElements&&this.exportDivElements[t],i=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];if(e&&"LI"===e.tagName&&!(e.children&&e.children.length)){let s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return e.focus&&s&&e.focus(),i&&i.onmouseout&&i.onmouseout(l("mouseout")),e.onmouseover&&e.onmouseover(l("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function o(){if(this.exportDivElements){let t=this.exportDivElements.length;for(;t--;)if(this.highlightExportItem(t))return!0}return!1}t.compose=function(t){let r=t.prototype;r.hideExportMenu||(r.hideExportMenu=i,r.highlightExportItem=s,r.highlightLastExportItem=o,r.showExportMenu=e)}}(d||(d={})),d}),i(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e,i,s,o){let{doc:r,win:a}=t,{addEvent:n,defined:l,fireEvent:h}=i,{getElement:d,simulatedEventTarget:c}=o;class p{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){let i=this.eventProvider=new s;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",t=>this.onKeydown(t)),i.addEvent(this.tabindexContainer,"focus",t=>this.onFocus(t)),["mouseup","touchend"].forEach(t=>i.addEvent(r,t,t=>this.onMouseUp(t))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(t){let e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&t&&t.length?(this.modules=t.reduce(function(t,e){let i=s[e].getKeyboardNavigation();return t.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let t=d(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),t?(this.makeElementAnExitAnchor(t),this.exitAnchor=t):this.createExitAnchor()}move(t){let e=this.modules&&this.modules[this.currentModuleIx];e&&e.terminate&&e.terminate(t),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=t;let i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(t);if(i.init)return i.init(t),!0}return this.currentModuleIx=0,this.exiting=!0,t>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(t){let e=this.chart,i=t.relatedTarget&&e.container.contains(t.relatedTarget),s=e.options.accessibility,o=s&&s.keyboardNavigation;if(o&&o.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){let t=this.getFirstValidModuleIx();null!==t&&(this.currentModuleIx=t,this.modules[t].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(t){if(delete this.isClickingChart,!this.keyboardReset&&t.relatedTarget!==c){let e=this.chart;if(!t.target||!e.container.contains(t.target)){let t=this.modules&&this.modules[this.currentModuleIx||0];t&&t.terminate&&t.terminate(),this.currentModuleIx=0}e.focusElement&&(e.focusElement.removeFocusBorder(),delete e.focusElement),this.keyboardReset=!0}}onKeydown(t){let e;let i=t||a.event,s=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],o=i.target;if((!o||"INPUT"!==o.nodeName||o.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,s)){let t=s.run(i);t===s.response.success?e=!0:t===s.response.prev?e=this.move(-1):t===s.response.next&&(e=this.move(1)),e&&(i.preventDefault(),i.stopPropagation())}}updateContainerTabindex(){let t;let e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=!(i&&!1===i.enabled),o=this.chart,r=o.container;o.renderTo.hasAttribute("tabindex")?(r.removeAttribute("tabindex"),t=
3o.renderTo):t=r,this.tabindexContainer=t;let a=t.getAttribute("tabindex");s&&!a?t.setAttribute("tabindex","0"):s||o.container.removeAttribute("tabindex")}createExitAnchor(){let t=this.chart,e=this.exitAnchor=r.createElement("div");t.renderTo.appendChild(e),this.makeElementAnExitAnchor(e)}makeElementAnExitAnchor(t){let e=this.tabindexContainer.getAttribute("tabindex")||0;t.setAttribute("class","highcharts-exit-anchor"),t.setAttribute("tabindex",e),t.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(t)}removeExitAnchor(){if(this.exitAnchor){let t=this.eventProvider.eventRemovers.find(t=>t.element===this.exitAnchor);t&&l(t.remover)&&this.eventProvider.removeEvent(t.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(t){let e=this.chart,i=this;this.eventProvider.addEvent(t,"focus",function(t){let s=t||a.event,o=!(s.relatedTarget&&e.container.contains(s.relatedTarget)||i.exiting);if(e.focusElement&&delete e.focusElement,o){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,s.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;let t=i.modules[i.currentModuleIx];t&&t.validate&&!t.validate()?i.move(-1):t&&t.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){let t=this.modules.length;for(let e=0;e<t;++e){let t=this.modules[e];if(!t.validate||t.validate())return e}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}return function(i){function s(){let t=this;h(this,"dismissPopupContent",{},function(){t.tooltip&&t.tooltip.hide(0),t.hideExportMenu()})}function o(e){27===(e.which||e.keyCode)&&t.charts&&t.charts.forEach(t=>{t&&t.dismissPopupContent&&t.dismissPopupContent()})}i.compose=function(t){e.compose(t);let i=t.prototype;return i.dismissPopupContent||(i.dismissPopupContent=s,n(r,"keydown",o)),t}}(p||(p={})),p}),i(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e,i,s,o,r,a,n){let{animObject:l}=t,{doc:h}=e,{addEvent:d,fireEvent:c,isNumber:p,pick:u,syncTimeout:g}=s,{getChartTitle:m}=a,{stripHTMLTagsFromString:f,addClass:y,removeClass:b}=n;function x(t){let e=t.legend&&t.legend.allItems,i=t.options.legend.accessibility||{},s=t.colorAxis&&t.colorAxis.some(t=>!t.dataClasses||!t.dataClasses.length);return!!(e&&e.length&&!s&&!1!==i.enabled)}function v(t,e){let i=e.legendItem||{};for(let s of(e.setState(t?"hover":"",!0),["group","label","symbol"])){let e=i[s],o=e&&e.element||e;o&&c(o,t?"mouseover":"mouseout")}}class S extends o{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(i,"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))}),this.addEvent(i,"afterPositionItem",function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)}
3),this.addEvent(i,"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&g(()=>t.proxyProvider.updateGroupProxyElementPositions("legend"),l(u(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let t;let e=this.chart,i=e.legend,s=i.allItems||[],o=i.currentPage||1,r=i.clipHeight||0;s.forEach(s=>{if(s.a11yProxyElement){let a=i.pages&&i.pages.length,n=s.a11yProxyElement.element,l=!1;if(t=s.legendItem||{},a){let e=t.pageIx||0;l=(t.y||0)+(t.label?Math.round(t.label.getBBox().height):0)-i.pages[e]>r||e!==o-1}l?e.styledMode?y(n,"highcharts-a11y-invisible"):n.style.visibility="hidden":(b(n,"highcharts-a11y-invisible"),n.style.visibility="")}})}onChartRender(){x(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(t){let e=this.chart,i=e.legend,s=(i.currentPage||1)+t,o=i.pages||[];if(s>0&&s<=o.length){let t=0;for(let o of i.allItems)((o.legendItem||{}).pageIx||0)+1===s&&e.highlightLegendItem(t)&&(this.highlightedLegendItemIx=t),++t}}updateProxyPositionForItem(t){t.a11yProxyElement&&t.a11yProxyElement.refreshPosition()}recreateProxies(){let t=h.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!x(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){let t=this.chart,e=f((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/<br ?\/?>/g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:m(t)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){let t="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:t})}proxyLegendItems(){let t;let e=this;((this.chart.legend||{}).allItems||[]).forEach(i=>{(t=i.legendItem||{}).label&&t.label.element&&e.proxyLegendItem(i)})}proxyLegendItem(t){let e=t.legendItem||{};if(!e.label||!e.group)return;let i=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:f(t.name,this.chart.renderer.forExport),item:t}),s={tabindex:-1,"aria-pressed":t.visible,"aria-label":i},o=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:o.element},"button",s)}getKeyboardNavigation(){let t=this.keyCodes,e=this,i=this.chart;return new r(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}],[[t.enter,t.space],function(){return e.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(i){let s=i===t.pageDown?1:-1;return e.highlightAdjacentLegendPage(s),this.response.success}]],validate:function(){return e.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),e.highlightedLegendItemIx=0},terminate:function(){e.highlightedLegendItemIx=-1,i.legend.allItems.forEach(t=>v(!1,t))}})}onKbdArrowKey(t,e){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:o,chart:r}=this,a=r.legend.allItems.length,n=r.options.accessibility.keyboardNavigation.wrapAround,l=e===i||e===s?-1:1;return r.highlightLegendItem(o+l)?this.highlightedLegendItemIx+=l:n&&a>1&&(this.highlightedLegendItemIx=l>0?0:a-1,r.highlightLegendItem(this.highlightedLegendItemIx)),t.response.success}onKbdClick(t){let e=this.chart.legend.allItems[this.highlightedLegendItemIx];return e&&e.a11yProxyElement&&e.a11yProxyElement.click(),t.response.success}shouldHaveLegendNavigation(){if(!x(this.chart))return!1;let t=this.chart,e=(t.options.legend||{}).accessibility||{};return!!(t.legend.display&&e.keyboardNavigation&&e.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}return function(t){function e(t){let e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],o=s?.legendItem||{};if(s){var r,a;let n,l;p(i)&&e[i]&&v(!1,e[i]),r=this.legend,a=t,n=(r.allItems[a].legendItem||{}).pageIx,l=r.currentPage,void 0!==n&&n+1!==l&&r.scroll(1+n-l);let h=o.label,d=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return h&&h.element&&d&&this.setFocusToElement(h,d),v(!0,s),!0}return!1}function i(t){let e=this.chart.options.accessibility,i=t.item;e.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute("aria-pressed",t.visible?"true":"false")}t.compose=function(t,s){let o=t.prototype;o.highlightLegendItem||(o.highlightLegendItem=e,d(s,"afterColorizeItem",i))}}(S||(S={})),S}),i(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let i;let{isTouchDevice:s}=t,{addEvent:o,merge:r,pick:a}=e,n=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i;let s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=a(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHe
vendor: 5,110 bytes, line 3
3ight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+a(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function d(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),a(t.redraw,!0)&&this.redraw(t.animation))}function c(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function p(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!s&&"x"===this.zooming.type||s&&"x"===this.zooming.pinchType))return!1}function u(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function g(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(r(!0,this.options.navigator,e),r(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(t,s){if(e.pushUnique(n,t)){let e=t.prototype;i=s,e.callbacks.push(u),o(t,"afterAddSeries",l),o(t,"afterSetChartSize",h),o(t,"afterUpdate",d),o(t,"beforeRender",c),o(t,"beforeShowResetZoom",p),o(t,"update",g)}}}}),i(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isTouchDevice:i}=t,{addEvent:s,correctFloat:o,defined:r,isNumber:a,pick:n}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new d(this))}function h(t){let e;let s=this.chart,o=s.options,a=o.navigator,n=this.navigatorAxis,l=s.zooming.pinchType,h=o.rangeSelector,d=s.zooming.type;if(this.isXAxis&&(a?.enabled||h?.enabled)){if("y"===d&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===d||i&&"xy"===l)&&this.options.range){let e=n.previousZoom;r(t.min)?n.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],n.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class d{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",l),s(t,"setExtremes",h))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let l=this.axis,h=(l.pointRange||0)/2,d=n(i,l.translate(t,!0,!l.horiz)),c=n(s,l.translate(e,!0,!l.horiz));return r(i)||(d=o(d+h)),r(s)||(c=o(c-h)),a(d)&&a(c)||(d=c=void 0),{min:d,max:c}}}return d}),i(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(t,e){let{parse:i}=t,{seriesTypes:s}=e;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(e,"Stock/Navigator/NavigatorSymbols.js",[e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e){let{relativeLength:i}=e;return{"navigator-handle":function(e,s,o,r,a={}){let n=a.width?a.width/2:o,l=i(a.borderRadius||0,Math.min(2*n,r));return[["M",-1.5,(r=a.height||r)/2-3.5],["L",-1.5,r/2+4.5],["M",.5,r/2-3.5],["L",.5,r/2+4.5],...t.rect(-n-1,.5,2*n+1,r,{r:l})]}}}),i(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],function(t){let{defined:e}=t;return{setFixedRange:function(t){let i=this.xAxis[0];e(i.dataMax)&&e(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}}),i(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],function(t,e,
3i,s,o,r,a,n){let{setOptions:l}=t,{composed:h}=e,{getRendererType:d}=r,{setFixedRange:c}=a,{addEvent:p,extend:u,pushUnique:g}=n;function m(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r){i.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,o),p(r,"afterUpdate",m),l({navigator:s}))}}}),i(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i;let{composed:s}=t,{addEvent:o,defined:r,pick:a,pushUnique:n}=e;return function(t){let e;function i(t){let e=a(t.options&&t.options.min,t.min),i=a(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:r(t.dataMin)?Math.min(e,t.min,t.dataMin,a(t.threshold,1/0)):e,scrollMax:r(t.dataMax)?Math.max(i,t.max,t.dataMax,a(t.threshold,-Infinity)):i}}function l(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function h(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),o(t.scrollbar,"changed",function(e){let s,o;let{axisMin:a,axisMax:n,scrollMin:l,scrollMax:h}=i(t),d=h-l;if(r(a)&&r(n)){if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+d*this.to,o=l+d*this.from):(s=l+d*(1-this.from),o=l+d*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}}))}function d(){let t,e,s;let{scrollMin:o,scrollMax:a}=i(this),n=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(n&&h){if(this.horiz)this.opposite||(h[1]+=l),n.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=l),e=n.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,n.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}h[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(a)||!r(this.min)||!r(this.max)||this.min===this.max?n.setRange(0,1):(e=(this.min-o)/(a-o),s=(this.max-o)/(a-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e))}}t.compose=function(t,i){n(s,"Axis.Scrollbar")&&(e=i,o(t,"afterGetOffset",l),o(t,"afterInit",h),o(t,"afterRender",d))}}(i||(i={})),i}),i(e,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),i(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{defaultOptions:r}=t,{addEvent:a,correctFloat:n,crisp:l,defined:h,destroyObjectProperties:d,fireEvent:c,merge:p,pick:u,removeEvent:g}=o;class m{static compose(t){i.compose(t,m)}static swapXY(t,e){return e&&t.forEach(t=>{let e;let i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,o=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),l=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",o],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",n],[i,"touchstart",o],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",n]];l.forEach(function(t){a.apply(null,t)}),this._events=l}buttonToMaxClick(t){let e=(this.to-this.from)*u(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=n(this.to-this.from)*u(this.options.step,.2);this.updatePosition(n(this.from-e),n(this.to-e)),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,d(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let a=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||a.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroun
vendor: 5,144 bytes, line 3
3dColor}),a.attr(a.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},a.strokeWidth()));let n=e.path(m.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e;let i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:a}=this.options,n=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,a?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:a?0:i-l,translateY:a?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-l(0,r),y:-l(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(m.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-l(0,this.scrollbarStrokeWidth),-l(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s;let o=this.options,r=o.vertical,a=o.minWidth,l=this.barWidth,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!h(l))return;let c=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=n(c-i),s<a&&(i=(l-a+s)*t,s=a);let p=Math.floor(i+this.xOffset+this.yOffset),u=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[d]({translateY:p}),this.scrollbar[d]({height:s}),this.scrollbarRifles[d]({translateY:u}),this.scrollbarTop=p,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:p}),this.scrollbar[d]({width:s}),this.scrollbarRifles[d]({translateX:u}),this.scrollbarLeft=p,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===o.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return u(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!h(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=n(1-n(e-t)),e=1),t<0&&(e=n(e-t),t=0),this.from=t,this.to=e}}return m.defaultOptions=s,r.scrollbar=p(!0,m.defaultOptions,r.scrollbar),m}),i(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Stock/Navigator/ChartNavigatorComposition.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.
3js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,a,n){let{defaultOptions:l}=i,{isTouchDevice:h}=s,{addEvent:d,clamp:c,correctFloat:p,defined:u,destroyObjectProperties:g,erase:m,extend:f,find:y,fireEvent:b,isArray:x,isNumber:v,merge:S,pick:C,removeEvent:A,splat:k}=n;function M(t,...e){let i=[].filter.call(e,v);if(i.length)return Math[t].apply(0,i)}class w{static compose(t,i,s){e.compose(t,w),r.compose(t,i,s)}constructor(t){this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-a,u=d+c,g=this.left,m,f;i?(m=d+e+n,e=d+t+n,f=[["M",g+c,d-l-n],["L",g+c,m],["L",g,m],["M",g,e],["L",g+c,e],["L",g+c,d+h+l]],o&&f.push(["M",g+c,m-a],["L",g+c,e+a])):(g-=l,t+=g+l-n,e+=g+l-n,f=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+h+2*l,d+a]],o&&f.push(["M",t-a,p],["L",e+a,p])),this.outline[s]({d:f})}drawMasks(t,e,i,s){let o,r,a,n;let l=this.left,h=this.top,d=this.height;i?(a=[l,l,l],n=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(a=[l,l+t,l+e],n=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:a[e],y:n[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();if([!i,i,!i].forEach((i,o)=>{let l=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(n);s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(a)),t.shades[o]=l}),t.outline=r.path().addClass("highcharts-navigator-outline").add(n),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles&&e.handles.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{t.handles[e]=r.symbol(i.symbols[e],-l/2-1,0,l,o,i),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth}).css(a)})}}update(t){(this.series||[]).forEach(t=>{t.baseSeries&&delete t.baseSeries.navigatorSeries}),this.destroy(),S(!0,this.chart.options.navigator,t),this.init(this.chart)}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,g=o.xAxis[0].minRange,m=o.xAxis[0].options.maxRange,f=this.scrollButtonSize,y,x,S,A=this.scrollbarHeight,k,M;if(this.hasDragged&&!u(i))return;if(t=p(t-a/2),e=p(e+a/2),!v(t)||!v(e)){if(!h)return;i=0,s=C(r.width,n.width)}this.left=C(r.left,o.plotLeft+f+(d?o.plotWidth:0));let w=this.size=k=C(r.len,(d?o.plotHeight:o.plotWidth)-2*f);y=d?A:k+2*f,i=C(i,r.toPixels(t,!0)),s=C(s,r.toPixels(e,!0)),v(i)&&Math.abs(i)!==1/0||(i=0,s=y);let P=r.toValue(i,!0),T=r.toValue(s,!0),E=Math.abs(p(T-P));E<g?this.grabbedLeft?i=r.toPixels(T-g-a,!0):this.grabbedRight&&(s=r.toPixels(P+g+a,!0)):u(m)&&p(E-a)>m&&(this.grabbedLeft?i=r.toPixels(T-m-a,!0):this.grabbedRight&&(s=r.toPixels(P+m+a,!0))),this.zoomedMax=c(Math.max(i,s),0,w),this.zoomedMin=c(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,w),this.range=this.zoomedMax-this.zoomedMin,w=Math.round(this.zoomedMax);let L=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),M=h&&!this.hasDragged?"animate":"attr",this.drawMasks(L,w,d,M),this.drawOutline(L,w,d,M),this.navigatorOptions.handles.enabled&&(this.drawHandle(L,0,d,M),this.drawHandle(w,1,d,M))),this.scrollbar&&(d?(S=this.top-f,x=this.left-A+(l||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),A=k+2*f):(S=this.top+(l?this.height:-A),x=this.left-f),this.scrollbar.position(x,S,y,A),this.scrollbar.setRange(this.zoomedMin/(k||1),this.zoomedMax/(k||1))),this.rendered=!0,b(this,"afterRe
3nder")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(d(e.renderTo,"mousemove",o),d(i.ownerDocument,"mouseup",r),d(e.renderTo,"touchmove",o),d(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(d(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(d(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,n=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=a,this.dragOffset=l-o):(p=l-n-a/2,0===e?p=Math.max(0,p):2===e&&p+a>=r&&(p=r-a,this.reversedExtremes?(p-=a,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=a,u((c=s.navigatorAxis.toFixedRange(p,p+a,d,h)).min)&&b(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-n)):e.grabbedCenter&&(e.hasDragged=!0,l<r?l=r:l>s+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&C(e.scrollbar.options.liveRedraw,!h&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a;let n=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),u((a=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&b(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&v(this.zoomedMin)&&v(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){A(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&A(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(e){let i=e.options,s=i.navigator||{},r=s.enabled,n=i.scrollbar||{},l=n.enabled,h=r&&s.height||0,c=l&&n.height||0,p=n.buttonsEnabled&&c||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=c,this.scrollButtonSize=p,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=n,this.opposite=C(s.opposite,!!(!r&&e.inverted));let u=this,g=u.baseSeries,m=e.xAxis.length,f=e.yAxis.length,y=g&&g[0]&&g[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,u.navigatorEnabled?(u.xAxis=new t(e,S({breaks:y.options.breaks,ordinal:y.options.ordinal,overscroll:y.options.overscroll},s.xAxis,{type:"datetime",index:m,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},e.inverted?{offsets:[p,0,-p,0],width:h}:{offsets:[0,-p,0,p],height:h}),"xAxis"),u.yAxis=new t(e,S(s.yAxis,{alignTicks:!1,offset:0,index:f,isInternal:!0,reversed:C(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:h}:{height:h}),"yAxis"),g||s.series.data?u.updateNavigatorSeries(!1):0===e.series.length&&(u.unbindRedraw=d(e,"beforeRedraw",function(){e.series.length>0&&!u.series&&(u.setBaseSeries(),u.unbindRedraw())})),u.reversedExtremes=e.inverted&&!u.xAxis.reversed||!e.inverted&&u.xAxis.reversed,u.renderElements(),u.addMouseEvents()):(u.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){let s=e.xAxis[0],o=s.getExtremes(),r=s.len-2*p,a=M("min",s.options.min,o.dataMin),n=M("max",s.options.max,o.dataMax)-a;return i?t*n/r+a:r*(t-a)/n},toPixels:function(t){return this.translate(t)}
vendor: 5,279 bytes, line 3
3,toValue:function(t){return this.translate(t,!0)}},u.xAxis.navigatorAxis.axis=u.xAxis,u.xAxis.navigatorAxis.toFixedRange=o.prototype.toFixedRange.bind(u.xAxis.navigatorAxis)),e.options.scrollbar.enabled){let t=S(e.options.scrollbar,{vertical:e.inverted});!v(t.margin)&&u.navigatorEnabled&&(t.margin=e.inverted?-3:3),e.scrollbar=u.scrollbar=new a(e.renderer,t,e),d(u.scrollbar,"changed",function(t){let e=u.size,i=e*this.to,s=e*this.from;u.hasDragged=u.scrollbar.hasDragged,u.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){u.onMouseUp(t)})})}u.addBaseSeriesEvents(),u.addChartEvents()}getUnionExtremes(t){let e;let i=this.chart.xAxis[0],s=this.xAxis,o=s.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:C(o&&o.min,M("min",r.min,i.dataMin,s.dataMin,s.min)),dataMax:C(o&&o.max,M("max",r.max,i.dataMax,s.dataMax,s.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?y(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(A(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,d=i.navigatorOptions.series,c;o&&o.length&&o.forEach(t=>{let p=t.navigatorSeries,u=f({color:t.color,visible:t.visible},x(d)?l.navigator.series:d);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,c=(n=t.options||{}).navigatorOptions||{},u.dataLabels=k(u.dataLabels),(h=S(n,r,u,c)).pointRange=C(u.pointRange,c.pointRange,l.plotOptions[h.type||"line"].pointRange);let g=c.data||u.data;i.hasNavigatorData=i.hasNavigatorData||!!g,h.data=g||n.data&&n.data.slice(0),p&&p.options?p.update(h,e):(t.navigatorSeries=s.initSeries(h),s.setSortedData(),t.navigatorSeries.baseSeries=t,a.push(t.navigatorSeries))}),(d.data&&!(o&&o.length)||x(d))&&(i.hasNavigatorData=!1,(d=k(d)).forEach((t,e)=>{r.name="Navigator "+(a.length+1),(h=S(l.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,h.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(h)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(d(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(e=>{e.eventsToUnbind.push(d(e,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),e.eventsToUnbind.push(d(e,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&e.xAxis&&e.eventsToUnbind.push(d(e,"updatedData",this.updatedDataHandler)),e.eventsToUnbind.push(d(e,"remove",function(){this.navigatorSeries&&(m(t.series,this.navigatorSeries),u(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e;let i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=C(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=a)+l),d&&(t=n+c,h||(e=Math.max(a,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&v(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=C(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.xData[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(v(o)&&v(r))&&(a&&o-i>0?o-i<a:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(d(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),d(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.he
3ight+t.scrollbarHeight:0)+t.navigatorOptions.margin}),d(w,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(m(this.chart.xAxis,this.xAxis),m(this.chart.axes,this.xAxis)),this.yAxis&&(m(this.chart.yAxis,this.yAxis),m(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{g(t)})}}return w}),i(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(t,e,i,s,o,r,a,n,l){let{animObject:h}=o,{format:d}=r,{clamp:c,pick:p,syncTimeout:u}=a,{getFakeMouseEvent:g}=n,{getAxisRangeDescription:m,fireEventOnWrappedOrUnwrappedElement:f}=l;return class extends t{init(){let t=this.chart,i=this;
3this.announcer=new e(t,"polite"),this.addEvent(s,"afterRender",function(){this.chart===i.chart&&this.chart.renderer&&u(()=>{i.proxyProvider.updateGroupProxyElementPositions("navigator"),i.updateHandleValues()},h(p(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let t=this.chart,e=t.options;if(e.navigator.accessibility?.enabled){let i=e.accessibility.landmarkVerbosity,s=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":d(s,{chart:t},t)});let o=e.lang.accessibility?.navigator.handleLabel;[0,1].forEach(e=>{let i=this.getHandleByIx(e);if(i){let s=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":d(o,{handleIx:e,chart:t},t)});this[e?"maxHandleProxy":"minHandleProxy"]=s.innerElement,s.innerElement.style.pointerEvents="none",s.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){let e=this,s=this.chart,o=t?this.maxHandleProxy:this.minHandleProxy,r=this.keyCodes;return new i(s,{keyCodeMap:[[[r.left,r.right,r.up,r.down],function(i){if(o){let a=i===r.left||i===r.up?-1:1;o.value=""+c(parseFloat(o.value)+a,0,100),e.updateNavigator(()=>{let i=e.getHandleByIx(t);i&&s.setFocusToElement(i,o)})}return this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(t),o)},validate:()=>!!(this.getHandleByIx(t)&&o&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){let t=this.chart.navigator;if(t&&this.minHandleProxy&&this.maxHandleProxy){let e=t.size;this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100)}}getHandleByIx(t){let e=this.chart.navigator;return e&&e.handles&&e.handles[t]}updateNavigator(t){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((t=>{let e=this.chart,{navigator:i,pointer:s}=e;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let o=s.getChartPosition(),r=parseFloat(this.minHandleProxy.value)/100*i.size,a=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",r],[0,"mouseup",r],[1,"mousedown",i.zoomedMax],[1,"mousemove",a],[1,"mouseup",a]].forEach(([t,e,s])=>{let r=this.getHandleByIx(t)?.element;r&&f(r,g(e,{x:o.left+i.left+s,y:o.top+i.top},r))}),t&&t();let n=e.options.lang.accessibility?.navigator.changeAnnouncement,l=m(e.xAxis[0]);this.announcer.announce(d(n,{axisRangeDescription:l,chart:e},e))}}).bind(this,t),20)}}}),i(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{getPointAnnotationTexts:r}=t,{getAxisDescription:a,getSeriesFirstPointElement:n,getSeriesA11yElement:l,unhideChartElementFromAT:h}=e,{format:d,numberFormat:c}=i,{reverseChildNodes:p,stripHTMLTagsFromString:u}=s,{find:g,isNumber:m,isString:f,pick:y,defined:b}=o;function x(t){let e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function v(t,e){let i=t.series,s=i.chart,o=s.options.accessibility.point||{},r=i.options.accessibility&&i.options.accessibility.point||{},a=i.tooltipOptions||{},n=s.options.lang;return m(e)?c(e,r.valueDecimals||o.valueDecimals||a.valueDecimals||-1,n.decimalPoint,n.accessibility.thousandsSep||n.thousandsSep):e}function S(t,e){let i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:a(i),series:t})}function C(t){var e,i,s,o,a,n,l;let h,c,p,u,g,m,f,x,S,C,A,k,M,w,P,T,E,L,O,D,j,N,I;let B=t.series,R=B.chart.series.length>1||B.options.name,z=(m=(g=(e=t).series).chart,x=(f=g.options.accessibility)&&f.point&&f.point.valueDescriptionFormat||m.options.accessibility.point.valueDescriptionFormat,C=(S=y(g.xAxis&&g.xAxis.options.accessibility&&g.xAxis.options.accessibility.enabled,!m.angular&&"flowmap"!==g.type))?(h=function(t){let e=t.series,i=e.chart,s=e.options.accessibility&&e.options.accessibility.point||{},o=i.options.accessibility.point||{},r=e.xAxis&&e.xAxis.dateTime;if(r){let e=r.getXDateFormat(t.x||0,i.options.tooltip.dateTimeLabelFormats),a=s.dateFormatter&&s.dateFormatter(t)||o.dateFormatter&&o.dateFormatter(t)||s.dateFormat||o.dateFormat||e;return i.time.dateFormat(a,t.x||0,void 0)}}(i=e),c=(i.series.xAxis||{}).categories&&b(i.category)&&(""+i.category).replace("<br/>"," "),p=b(i.id)&&0>(""+i.id).indexOf("highcharts-"),u="x, "+i.x,i.name||h||c||(p?i.id:u)):"",d(x,{point:e,index:b(e.index)?e.index+1:"",xDescription:C,value:(k=(A=(s=e).series).chart.options.accessibility.point||{},M=A.chart.options.accessibility&&A.chart.options.accessibility.point||{},w=A.tooltipOptions||{},P=M.valuePrefix||k.valuePrefix||w.valuePrefix||"",T=M.valueSuffix||k.valueSuffix||w.valueSuffix||"",E=void 0!==s.value?"value":"y",L=v(s,s[E]),s.isNull?A.chart.langFormat("accessibility.series.nullPointValue",{point:s}):A.pointArrayMap?(o=s,a=P,n=T,O=a||"",D=n||"",j=function(t){let e=v(o,y(o[t],o.options[t]));return void 0!==e?t+": "+O+e+D:e},o.series.pointArrayMap.reduce(function(t,e){let i=j(e);return i?t+(t.length?", ":"")+i:t},"")):P+L+T),separator:S?", ":""},m)),F=t.options&&t.options.accessibility&&t.options.accessibility.description,G=R?" "+B.name+".":"",W=(N=(l=t).series.chart,(I=r(l)).length?N.langFormat("accessibility.series.pointAnnotationsDescription",{point:l,annotations:I}):"");return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=z,z+(F?" "+F:"")+G+(W?" "+W:"")}function A(t){var e;let i;let s=t.chart,o=s.types||[],r=(i=((e=t).options.accessibility||{}).description)&&e.chart.langFormat("accessibility.series.description",{description:i,series:e})||"",a=function(e){return s[e]&&s[e].length>1&&t[e]},n=t.index+1,l=S(t,"xAxis"),h=S(t,"yAxis"),c={seriesNumber:n,series:t,chart:s},p=o.length>1?"Combination":"",u=s.langFormat("accessibility.series.summary."+t.type+p,c)||s.langFormat("accessibility.series.summary.default"+p,c),g=(a("yAxis")?" "+h+".":"")+(a("xAxis")?" "+l+".":"");
3return d(y(t.options.accessibility&&t.options.accessibility.descriptionFormat,s.options.accessibility.series.descriptionFormat,""),{seriesDescription:u,authorDescription:r?" "+r:"",axisDescription:g,series:t,chart:s,seriesNumber:n},void 0)}return{defaultPointDescriptionFormatter:C,defaultSeriesDescriptionFormatter:A,describeSeries:function(t){var e,i,s,o,r,a;let c,m,v,S,k,M,w,P,T,E,L,O,D,j,N=t.chart,I=n(t),B=l(t),R=N.is3d&&N.is3d();B&&(B.lastChild!==I||R||p(B),v=(c=(i=e=t).options.accessibility||{},!x(i)&&!c.exposeAsGroupOnly),S=(m=(s=e).chart.options.accessibility.keyboardNavigation.seriesNavigation,!!(s.points&&(s.points.length<+m.pointNavigationEnabledThreshold||!1===m.pointNavigationEnabledThreshold))),k=e.chart.options.accessibility.point.describeNull,(v||S)&&e.points.forEach(t=>{var i,s,o;let r,a,n,l,h;let c=t.graphic&&t.graphic.element||(a=(r=(i=t).series)&&r.chart,n=r&&r.is("sunburst"),l=i.isNull,h=a&&a.options.accessibility.point.describeNull,l&&!n&&h&&function(t){var e,i,s;let o,r;let a=t.series,n=(o=(e=t).index,e.series&&e.series.data&&b(o)&&g(e.series.data,function(t){return!!(t&&void 0!==t.index&&t.index>o&&t.graphic&&t.graphic.element)})||null),l=n&&n.graphic,h=l?l.parentGroup:a.graph||a.group,d=n?{x:y(t.plotX,n.plotX,0),y:y(t.plotY,n.plotY,0)}:{x:y(t.plotX,0),y:y(t.plotY,0)},c=(i=t,s=d,(r=i.series.chart.renderer.rect(s.x,s.y,1,1)).attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),r);if(h&&h.element)return t.graphic=c,t.hasMockGraphic=!0,c.add(h),h.element.insertBefore(c.element,l?l.element:null),c.element}(t)),p=t.options&&t.options.accessibility&&!1===t.options.accessibility.enabled;if(c){;let i,r,a,n;if(t.isNull&&!k){c.setAttribute("aria-hidden",!0);return}c.setAttribute("tabindex","-1"),e.chart.styledMode||(c.style.outline="none"),v&&!p?(s=t,o=c,i=s.series,r=i.options.accessibility?.point||{},a=i.chart.options.accessibility.point||{},n=u(f(r.descriptionFormat)&&d(r.descriptionFormat,s,i.chart)||r.descriptionFormatter?.(s)||f(a.descriptionFormat)&&d(a.descriptionFormat,s,i.chart)||a.descriptionFormatter?.(s)||C(s),i.chart.renderer.forExport),o.setAttribute("role","img"),o.setAttribute("aria-label",n)):c.setAttribute("aria-hidden",!0)}}),h(N,B),(P=(w=(M=(o=t).chart).options.chart).options3d&&w.options3d.enabled,T=M.series.length>1,E=M.options.accessibility.series.describeSingleSeries,L=(o.options.accessibility||{}).exposeAsGroupOnly,!(P&&T)&&(T||E||L||x(o)))?(r=t,a=B,O=r.options.accessibility||{},j=(D=r.chart.options.accessibility).landmarkVerbosity,O.exposeAsGroupOnly?a.setAttribute("role","img"):"all"===j?a.setAttribute("role","region"):a.setAttribute("role","group"),a.setAttribute("tabindex","-1"),r.chart.styledMode||(a.style.outline="none"),a.setAttribute("aria-label",u(D.series.descriptionFormatter&&D.series.descriptionFormatter(r)||A(r),r.chart.renderer.forExport))):B.removeAttribute("aria-label"))}}}),i(e,"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],function(t,e,i,s,o,r){let{composed:a}=t,{addEvent:n,defined:l,pushUnique:h}=e,{getChartTitle:d}=s,{defaultPointDescriptionFormatter:c,defaultSeriesDescriptionFormatter:p}=r;function u(t){return!!t.options.accessibility.announceNewData.enabled}class g{constructor(t){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=t}init(){let t=this.chart,e=t.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new o,this.announcer=new i(t,e),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}addEventListeners(){let t=this,e=this.chart,i=this.eventProvider;i.addEvent(e,"afterApplyDrilldown",function(){t.lastAnnouncementTime=0}),i.addEvent(e,"afterAddSeries",function(e){t.onSeriesAdded(e.series)}),i.addEvent(e,"redraw",function(){t.announceDirtyData()})}onSeriesAdded(t){u(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=l(this.dirty.newSeries)?void 0:t)}announceDirtyData(){let t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){var i;let t,s=this.dirty.newPoint;s&&(s=1===(t=(i=s).series.data.filter(t=>i.x===t.x&&i.y===t.y)).length?t[0]:i),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(t=>e.dirty.allSeries[t]),this.dirty.newSeries,s),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){var o,r;let a;let n=+new Date,l=n-this.lastAnnouncementTime,h=Math.max(0,s.minAnnounceInterval-l),d=(o=this.queuedAnnouncement&&this.queuedAnnouncement.series,r=t,Object.keys(a=(o||[]).concat(r||[]).reduce((t,e)=>(t[e.name+e.index]=e,t),{})).map(t=>a[t])),c=this.buildAnnouncementMessage(d,e,i);c&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:n,message:c,series:d},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},h))}}buildAnnouncementMessage(e,i,s){let o=this.chart,r=o.options.accessibility.announceNewData;if(r.announcementFormatter){let t=r.announcementFormatter(e,i,s);if(!1!==t)return t.length?t:null}let a=t.charts&&t.charts.length>1?"Multiple":"Single",n=i?"newSeriesAnnounce"+a:s?"newPointAnnounce"+a:"newDataAnnounce",l=d(o);return o.langFormat("accessibility.announceNewData."+n,{chartTitle:l,seriesDesc:i?p(i):null,pointDesc:s?c(s):null,point:s,series:i})}}return function(t){function e(t){let e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&u(e)&&(i.dirty.newPoint=l(i.dirty.newPoint)?void 0:t.point)}function i(){let t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&u(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}t.compose=function(t){h(a,"A11y.NDA")&&(n(t,"addPoint",e),n(t,"updatedData",i))}}(g||(g={})),g}),i(e,"Accessibility/ProxyElement.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],function(t,e,
3i,s,o){let{doc:r}=t,{attr:a,css:n,merge:l}=e,{fireEventOnWrappedOrUnwrappedElement:h}=s,{cloneMouseEvent:d,cloneTouchEvent:c,getFakeMouseEvent:p,removeElement:u}=o;return class{constructor(t,e,s="button",o,a){this.chart=t,this.target=e,this.eventProvider=new i;let n=this.innerElement=r.createElement(s),l=this.element=o?r.createElement(o):n;t.styledMode||this.hideElementVisually(n),o&&("li"!==o||t.styledMode||(l.style.listStyle="none"),l.appendChild(n),this.element=l),this.updateTarget(e,a)}click(){let t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;let e=p("click",t);h(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();let i=e||{};Object.keys(i).forEach(t=>{null===i[t]&&delete i[t]});let s=this.getTargetAttr(t.click,"aria-label");a(this.innerElement,l(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){let t=this.getTargetPosition();n(this.innerElement,{width:(t.width||1)+"px",height:(t.height||1)+"px",left:(Math.round(t.x)||0)+"px",top:(Math.round(t.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),u(this.element)}updateCSSClassName(){let t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=this.chart.legend,i=e.group&&e.group.div,s=t(i&&i.className||""),o=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=s||o?"highcharts-a11y-proxy-element highcharts-no-tooltip":"highcharts-a11y-proxy-element"}addProxyEventsToElement(t,e){["click","touchstart","touchend","touchcancel","touchmove","mouseover","mouseenter","mouseleave","mouseout"].forEach(i=>{let s=0===i.indexOf("touch");this.eventProvider.addEvent(t,i,t=>{let i=s?c(t):d(t);e&&h(e,i),t.stopPropagation(),s||t.preventDefault()},{passive:!1})})}hideElementVisually(t){n(t,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){let t=this.target.click,e=t.element?t.element:t,i=this.target.visual||e,s=this.chart.renderTo,o=this.chart.pointer;if(s&&i?.getBoundingClientRect&&o){let t=i.getBoundingClientRect(),e=o.getChartPosition();return{x:(t.left-e.left)/e.scaleX,y:(t.top-e.top)/e.scaleY,width:t.right/e.scaleX-t.left/e.scaleX,height:t.bottom/e.scaleY-t.top/e.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}}}),i(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],function(t,e,i,s,o,r){let{doc:a}=t,{attr:n,css:l}=e,{unhideChartElementFromAT:h}=i,{removeChildNodes:d}=o;return class{constructor(t){this.chart=t,this.domElementProvider=new s,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(t,e,i="button",s){let o=this.groups[t];if(!o)throw Error("ProxyProvider.addProxyElement: Invalid group key "+t);let a="ul"===o.type||"ol"===o.type?"li":void 0,n=new r(this.chart,e,i,a,s);return o.proxyContainerElement.appendChild(n.element),o.proxyElements.push(n),n}addGroup(t,e="div",i){let s;let o=this.groups[t];if(o)return o.groupElement;let r=this.domElementProvider.createElement(e);return i&&i.role&&"div"!==e?(s=this.domElementProvider.createElement("div")).appendChild(r):s=r,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+t.replace(/\W/g,"-"),this.groups[t]={proxyContainerElement:r,groupElement:s,type:e,proxyElements:[]},n(s,i||{}),"ul"===e&&r.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(t,e){let i=this.groups[t];if(!i)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+t);n(i.groupElement,e)}updateGroupOrder(t){if(this.groupOrder=t.slice(),this.isDOMOrderGroupOrder())return;let e=t.indexOf("series"),i=e>-1?t.slice(0,e):t,s=e>-1?t.slice(e+1):[],o=a.activeElement;["before","after"].forEach(t=>{let e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];
3d(e),("before"===t?i:s).forEach(t=>{let i=this.groups[t];i&&e.appendChild(i.groupElement)})}),(this.beforeChartProxyPosContainer.contains(o)||this.afterChartProxyPosContainer.contains(o))&&o&&o.focus&&o.focus()}clearGroup(t){let e=this.groups[t];if(!e)throw Error("ProxyProvider.clearGroup: Invalid group key "+t);d(e.proxyContainerElement)}removeGroup(t){let e=this.groups[t];e&&(this.domElementProvider.removeElement(e.groupElement),e.groupElement!==e.proxyContainerElement&&this.domElementProvider.removeElement(e.proxyContainerElement),delete this.groups[t])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(t){let e=this.groups[t];e&&e.proxyElements.forEach(t=>t.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(t){let e=this.domElementProvider.createElement("div");return e.setAttribute("aria-hidden","false"),e.className="highcharts-a11y-proxy-container"+(t?"-"+t:""),l(e,{top:"0",left:"0"}),this.chart.styledMode||(e.style.whiteSpace="nowrap",e.style.position="absolute"),e}getCurrentGroupOrderInDOM(){let t=t=>{let e=Object.keys(this.groups),i=e.length;for(;i--;){let s=e[i],o=this.groups[s];if(o&&t===o.groupElement)return s}},e=e=>{let i=[],s=e.children;for(let e=0;e<s.length;++e){let o=t(s[e]);o&&i.push(o)}return i},i=e(this.beforeChartProxyPosContainer),s=e(this.afterChartProxyPosContainer);return i.push("series"),i.concat(s)}isDOMOrderGroupOrder(){let t=this.getCurrentGroupOrderInDOM(),e=this.groupOrder.filter(t=>"series"===t||!!this.groups[t]),i=t.length;if(i!==e.length)return!1;for(;i--;)if(t[i]!==e[i])return!1;return!0}updatePosContainerPositions(){let t=this.chart;if(t.renderer.forExport)return;let e=t.renderer.box;t.container.insertBefore(this.afterChartProxyPosContainer,e.nextSibling),t.container.insertBefore(this.beforeChartProxyPosContainer,e),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer)}}}),i(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{unhideChartElementFromAT:r,getAxisRangeDescription:a}=i,{addEvent:n,attr:l}=o;class h extends t{init(){let t=this.chart;this.announcer=new e(t,"polite")}onChartUpdate(){let t=this.chart,e=this,i=t.rangeSelector;i&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),i.buttons&&i.buttons.length&&i.buttons.forEach(t=>{e.setRangeButtonAttrs(t)}),i.maxInput&&i.minInput&&["minInput","maxInput"].forEach(function(s,o){let a=i[s];a&&(r(t,a),e.setRangeInputAttrs(a,"accessibility.rangeSelector."+(o?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],o=t=>t.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(r(t,i),s.forEach(t=>
3o(t.element))):(i&&o(i),s.forEach(e=>r(t,e.element)))}setDropdownAttrs(){let t=this.chart,e=t.rangeSelector&&t.rangeSelector.dropdown;if(e){let i=t.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:t.options.lang.rangeSelectorZoom});e.setAttribute("aria-label",i),e.setAttribute("tabindex",-1)}}setRangeButtonAttrs(t){l(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){let i=this.chart;l(t,{tabindex:-1,"aria-label":i.langFormat(e,{chart:i})})}onButtonNavKbdArrowKey(t,e){let i=t.response,s=this.keyCodes,o=this.chart,r=o.options.accessibility.keyboardNavigation.wrapAround,a=e===s.left||e===s.up?-1:1;return o.highlightRangeSelectorButton(o.highlightedRangeSelectorItemIx+a)?i.success:r?(t.init(a),i.success):i[a>0?"next":"prev"]}onButtonNavKbdClick(t){let e=t.response,i=this.chart;return 3!==i.oldRangeSelectorItemState&&this.fakeClickEvent(i.rangeSelector.buttons[i.highlightedRangeSelectorItemIx].element),e.success}onAfterBtnClick(){let t=this.chart,e=a(t.xAxis[0]),i=t.langFormat("accessibility.rangeSelector.clickButtonAnnouncement",{chart:t,axisRangeDescription:e});i&&this.announcer.announce(i)}onInputKbdMove(t){let e=this.chart,i=e.rangeSelector,s=e.highlightedInputRangeIx=(e.highlightedInputRangeIx||0)+t;if(s>1||s<0){if(e.accessibility)return e.accessibility.keyboardNavigation.exiting=!0,e.accessibility.keyboardNavigation.tabindexContainer.focus(),e.accessibility.keyboardNavigation.move(t)}else if(i){let t=i[s?"maxDateBox":"minDateBox"],o=i[s?"maxInput":"minInput"];t&&o&&e.setFocusToElement(t,o)}return!0}onInputNavInit(t){let e=this,i=this.chart,s=t>0?0:1,o=i.rangeSelector,r=o&&o[s?"maxDateBox":"minDateBox"],a=o&&o.minInput,l=o&&o.maxInput;if(i.highlightedInputRangeIx=s,r&&a&&l){i.setFocusToElement(r,s?l:a),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();let t=t=>{(t.which||t.keyCode)===this.keyCodes.tab&&e.onInputKbdMove(t.shiftKey?-1:1)&&(t.preventDefault(),t.stopPropagation())},o=n(a,"keydown",t),h=n(l,"keydown",t);this.removeInputKeydownHandler=()=>{o(),h()}}}onInputNavTerminate(){let t=this.chart.rangeSelector||{};t.maxInput&&t.hideInput("max"),t.minInput&&t.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown;e&&i&&(t.setFocusToElement(e.buttonGroup,i),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=n(i,"keydown",e=>{let i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&(s.keyboardNavigation.tabindexContainer.focus(),s.keyboardNavigation.move(e.shiftKey?-1:1)))}))}getRangeSelectorButtonNavigation(){let t=this.chart,e=this.keyCodes,i=this;return new s(t,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(t){return i.onButtonNavKbdArrowKey(this,t)}],[[e.enter,e.space],function(){return i.onButtonNavKbdClick(this)}]],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.buttons&&t.rangeSelector.buttons.length)},init:function(e){let s=t.rangeSelector;if(s&&s.hasVisibleDropdown)i.initDropdownNav();else if(s){let i=s.buttons.length-1;t.highlightRangeSelectorButton(e>0?0:i)}},terminate:function(){i.removeDropdownKeydownHandler&&(i.removeDropdownKeydownHandler(),delete i.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){let t=this.chart,e=this;return new s(t,{keyCodeMap:[],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.inputGroup&&"hidden"!==t.rangeSelector.inputGroup.element.style.visibility&&!1!==t.options.rangeSelector.inputEnabled&&t.rangeSelector.minInput&&t.rangeSelector.maxInput)},init:function(t){e.onInputNavInit(t)},terminate:function(){e.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}return function(t){function e(t){let e=this.rangeSelector&&this.rangeSelector.buttons||[],i=this.highlightedRangeSelectorItemIx,s=this.rangeSelector&&this.rangeSelector.selected;return void 0!==i&&e[i]&&i!==s&&e[i].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=t,!!e[t]&&(this.setFocusToElement(e[t].box,e[t].element),t!==s&&(this.oldRangeSelectorItemState=e[t].state,e[t].setState(1)),!0)}function i(){let t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}t.compose=function(t,s){let o=t.prototype;o.highlightRangeSelectorButton||(o.highlightRangeSelectorButton=e,n(s,"afterBtnClick",i))}}(h||(h={})),h}),i(e,"Accessibility/Components/SeriesComponent/ForcedMarkers.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i;
3let{composed:s}=t,{addEvent:o,merge:r,pushUnique:a}=e;return function(t){function e(t){r(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function i(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function n(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function l(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),n(this)&&this.points.forEach(t=>{t.graphic&&(t.graphic[t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),t.graphic[!1===t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function h(t){this.resetA11yMarkerOptions=r(t.options.marker||{},this.userOptions.marker||{})}function d(){var t,s;let o,a,l,h=this.options;(t=this,o=t.chart.options.accessibility.enabled,a=!1!==(t.options.accessibility&&t.options.accessibility.enabled),o&&a&&(l=(s=t).chart.options.accessibility,s.points.length<l.series.pointDescriptionEnabledThreshold||!1===l.series.pointDescriptionEnabledThreshold))?(h.marker&&!1===h.marker.enabled&&(this.a11yMarkersForced=!0,e(this.options)),n(this)&&function(t){let s=t.points.length;for(;s--;){let o=t.points[s],a=o.options,n=o.hasForcedA11yMarker;if(delete o.hasForcedA11yMarker,a.marker){let t=n&&0===i(a);a.marker.enabled&&!t?(r(!0,a.marker,{states:{normal:{opacity:i(a)||1}}}),o.hasForcedA11yMarker=!1):!1===a.marker.enabled&&(e(a),o.hasForcedA11yMarker=!0)}}}(this)):this.a11yMarkersForced&&(delete this.a11yMarkersForced,function(t){let e=t.resetA11yMarkerOptions;if(e){let i=e.states&&e.states.normal&&e.states.normal.opacity;t.userOptions&&t.userOptions.marker&&(t.userOptions.marker.enabled=!0),t.update({marker:{enabled:e.enabled,states:{normal:{opacity:i}}}})}}(this),delete this.resetA11yMarkerOptions)}function c(){this.boosted&&this.a11yMarkersForced&&(r(!0,this.options,{marker:{enabled:!1}}),delete this.a11yMarkersForced)}t.compose=function(t){a(s,"A11y.FM")&&(o(t,"afterSetOptions",h),o(t,"render",d),o(t,"afterRender",l),o(t,"renderCanvas",c))}}(i||(i={})),i}),i(e,"Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js",[e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"]],function(t,e,i,s,o,r,a,n){let{seriesTypes:l}=i,{doc:h}=s,{defined:d,fireEvent:c}=o,{getPointFromXY:p,getSeriesFromName:u,scrollAxisToPoint:g}=n;function m(t){let e=t.index,i=t.series.points,s=i.length;if(i[e]===t)return e;for(;s--;)if(i[s]===t)return s}function f(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation,i=t.options.accessibility||{},s=i.keyboardNavigation;return s&&!1===s.enabled||!1===i.enabled||!1===t.options.enableMouseTracking||!t.visible||e.pointNavigationEnabledThreshold&&+e.pointNavigationEnabledThreshold<=t.points.length}function y(t){let e=t.series.chart.options.accessibility,i=t.options.accessibility&&!1===t.options.accessibility.enabled;return t.isNull&&e.keyboardNavigation.seriesNavigation.skipNullPoints||!1===t.visible||!1===t.isInside||i||f(t.series)}function b(t){let e=t.series||[],i=e.length;for(let t=0;t<i;++t)if(!f(e[t])){let i=function(t){let e=t.points||[],i=e.length;for(let t=0;t<i;++t)if(!y(e[t]))return e[t];return null}(e[t]);if(i)return i}return null}function x(t){let e=t.series.length,i=!1;for(;e--&&(t.highlightedPoint=t.series[e].points[t.series[e].points.length-1],!(i=t.series[e].highlightNextValidPoint())););return i}function v(t){delete t.highlightedPoint;let e=b(t);return!!e&&e.highlight()}class S{constructor(t,e){this.keyCodes=e,this.chart=t}init(){let i=this,s=this.chart,o=this.eventProvider=new a;o.addEvent(e,"destroy",function(){return i.onSeriesDestroy(this)}),o.addEvent(s,"afterApplyDrilldown",function(){var t;let e;t=this,(e=b(t))&&e.highlight(!1)}),o.addEvent(s,"drilldown",function(t){let e=t.point,s=e.series;i.lastDrilledDownPoint={x:e.x,y:e.y,seriesName:s?s.name:""}}),o.addEvent(s,"drillupall",function(){setTimeout(function(){i.onDrillupAll()},10)}),o.addEvent(t,"afterSetState",function(){let t=this.graphic&&this.graphic.element,e=h.activeElement,i=e&&e.getAttribute("class"),o=i&&i.indexOf("highcharts-a11y-proxy-element")>-1;
3s.highlightedPoint===this&&e!==t&&!o&&t&&t.focus&&t.focus()})}onDrillupAll(){let t;let e=this.lastDrilledDownPoint,i=this.chart,s=e&&u(i,e.seriesName);e&&s&&d(e.x)&&d(e.y)&&(t=p(s,e.x,e.y)),t=t||b(i),i.container&&i.container.focus(),t&&t.highlight&&t.highlight(!1)}getKeyboardNavigationHandler(){let t=this,e=this.keyCodes,i=this.chart,s=i.inverted;return new r(i,{keyCodeMap:[[s?[e.up,e.down]:[e.left,e.right],function(e){return t.onKbdSideways(this,e)}],[s?[e.left,e.right]:[e.up,e.down],function(e){return t.onKbdVertical(this,e)}],[[e.enter,e.space],function(t,e){let s=i.highlightedPoint;if(s){let{plotLeft:t,plotTop:i}=this.chart,{plotX:o=0,plotY:r=0}=s;e={...e,chartX:t+o,chartY:i+r,point:s,target:s.graphic?.element||e.target},c(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return v(i),this.response.success}],[[e.end],function(){return x(i),this.response.success}],[[e.pageDown,e.pageUp],function(t){return i.highlightAdjacentSeries(t===e.pageDown),this.response.success}]],init:function(){return t.onHandlerInit(this)},validate:function(){return!!b(i)},terminate:function(){return t.onHandlerTerminate()}})}onKbdSideways(t,e){let i=this.keyCodes,s=e===i.right||e===i.down;return this.attemptHighlightAdjacentPoint(t,s)}onHandlerInit(t){let e=this.chart;return e.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&e.highlightedPoint?e.highlightedPoint.highlight():v(e),t.response.success}onKbdVertical(t,e){let i=this.chart,s=this.keyCodes,o=e===s.down||e===s.right,r=i.options.accessibility.keyboardNavigation.seriesNavigation;if(r.mode&&"serialize"===r.mode)return this.attemptHighlightAdjacentPoint(t,o);let a=i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries";return i[a](o),t.response.success}onHandlerTerminate(){let t=this.chart,e=t.options.accessibility.keyboardNavigation;t.tooltip&&t.tooltip.hide(0);let i=t.highlightedPoint&&t.highlightedPoint.series;i&&i.onMouseOut&&i.onMouseOut(),t.highlightedPoint&&t.highlightedPoint.onMouseOut&&t.highlightedPoint.onMouseOut(),e.seriesNavigation.rememberPointFocus||delete t.highlightedPoint}attemptHighlightAdjacentPoint(t,e){let i=this.chart,s=i.options.accessibility.keyboardNavigation.wrapAround;return i.highlightAdjacentPoint(e)?t.response.success:s&&(e?v(i):x(i))?t.response.success:t.response[e?"next":"prev"]}onSeriesDestroy(t){let e=this.chart;e.highlightedPoint&&e.highlightedPoint.series===t&&(delete e.highlightedPoint,e.focusElement&&e.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}return function(t){function e(t){let e,i;let s=this.series,o=this.highlightedPoint,r=o&&m(o)||0,a=o&&o.series.points||[],n=this.series&&this.series[this.series.length-1],l=n&&n.points&&n.points[n.points.length-1];if(!s[0]||!s[0].points)return!1;if(o){if(e=s[o.series.index+(t?1:-1)],(i=a[r+(t?1:-1)])||!e||(i=e.points[t?0:e.points.length-1]),!i)return!1}else i=t?s[0].points[0]:l;return y(i)?(f(e=i.series)?this.highlightedPoint=t?e.points[e.points.length-1]:e.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(t)):i.highlight()}function i(t){let e=this.highlightedPoint,i=1/0,s;return!!(d(e.plotX)&&d(e.plotY))&&(this.series.forEach(o=>{f(o)||o.points.forEach(r=>{if(!d(r.plotY)||!d(r.plotX)||r===e)return;let a=r.plotY-e.plotY,n=Math.abs(r.plotX-e.plotX),l=Math.abs(a)*Math.abs(a)+n*n*4;o.yAxis&&o.yAxis.reversed&&(a*=-1),!(a<=0&&t||a>=0&&!t||l<5||y(r))&&l<i&&(i=l,s=r)})}),!!s&&s.highlight())}function s(t){let e,i,s;let o=this.highlightedPoint,r=this.series&&this.series[this.series.length-1],a=r&&r.points&&r.points[r.points.length-1];return this.highlightedPoint?!!((e=this.series[o.series.index+(t?-1:1)])&&(i=function(t,e,i,s){let o=1/0,r,a,n,l=e.points.length,h=t=>!(d(t.plotX)&&d(t.plotY));if(!h(t)){for(;l--;)!h(r=e.points[l])&&(n=(t.plotX-r.plotX)*(t.plotX-r.plotX)*4+(t.plotY-r.plotY)*(t.plotY-r.plotY)*1)<o&&(o=n,a=l);return d(a)?e.points[a]:void 0}}(o,e,0)))&&(f(e)?(i.highlight(),s=this.highlightAdjacentSeries(t))?s:(o.highlight(),!1):(i.highlight(),i.series.highlightNextValidPoint())):(e=t?this.series&&this.series[0]:r,!!(i=t?e&&e.points&&e.points[0]:a)&&i.highlight())}function o(t=!0){let e=this.series.chart,i=e.tooltip?.label?.element;!this.isNull&&t?this.onMouseOver():e.tooltip&&e.tooltip.hide(0),g(this),this.graphic&&(e.setFocusToElement(this.graphic),!t&&e.focusElement&&e.focusElement.removeFocusBorder()),e.highlightedPoint=this;let s=i?.getBoundingClientRect().top;if(i&&s&&s<0){let t=window.scrollY;window.scrollTo({behavior:"smooth",top:t+s})}return this}function r(){let t=this.chart.highlightedPoint,e=(t&&t.series)===this?m(t):0,i=this.points,s=i.length;if(i&&s){for(let t=e;t<s;++t)if(!y(i[t]))return i[t].highlight();for(let t=e;t>=0;--t)if(!y(i[t]))return i[t].highlight()}return!1}t.compose=function(t,a,n){let h=t.prototype,d=a.prototype,c=n.prototype;h.highlightAdjacentPoint||(h.highlightAdjacentPoint=e,h.highlightAdjacentPointVertical=i,h.highlightAdjacentSeries=s,d.highlight=o,c.keyboardMoveVertical=!0,["column","gantt","pie"].forEach(t=>{l[t]&&(l[t].prototype.keyboardMoveVertical=!1)}),c.highlightNextValidPoint=r)}}(S||(S={})),S}),i(e,"Accessibility/Components/SeriesComponent/SeriesComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Components/SeriesComponent/ForcedMarkers.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],e["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"]],function(t,e,
3i,s,o,r){let{hideSeriesFromAT:a}=e,{describeSeries:n}=o;return class extends t{static compose(t,e,o){s.compose(o),i.compose(o),r.compose(t,e,o)}init(){this.newDataAnnouncer=new s(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new r(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){let t=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,"refresh",function(){this.chart===t.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEach(function(t){t.labelBySeries&&t.labelBySeries.attr("aria-hidden",!0)})})}onChartRender(){this.chart.series.forEach(function(t){!1!==(t.options.accessibility&&t.options.accessibility.enabled)&&t.visible&&0!==t.getPointsCollection().length?n(t):a(t)})}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}}),i(e,"Accessibility/Components/ZoomComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{unhideChartElementFromAT:r}=e,{getFakeMouseEvent:a}=i,{attr:n,pick:l}=o;return class extends t{constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){let t=this,e=this.chart;this.proxyProvider.addGroup("zoom","div"),["afterShowResetZoom","afterApplyDrilldown","drillupall"].forEach(i=>{t.addEvent(e,i,function(){t.updateProxyOverlays()})})}onChartUpdate(){let t=this.chart,e=this;t.mapNavigation&&t.mapNavigation.navButtons.forEach((i,s)=>{r(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))})}setMapNavButtonAttrs(t,e){let i=this.chart;n(t,{tabindex:-1,role:"button","aria-label":i.langFormat(e,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let t=this.chart;if(this.proxyProvider.clearGroup("zoom"),t.resetZoomButton&&this.createZoomProxyButton(t.resetZoomButton,"resetZoomProxyButton",t.langFormat("accessibility.zoom.resetZoomButton",{chart:t})),t.drillUpButton&&t.breadcrumbs&&t.breadcrumbs.list){let e=t.breadcrumbs.list[t.breadcrumbs.list.length-1];this.createZoomProxyButton(t.drillUpButton,"drillUpProxyButton",t.langFormat("accessibility.drillUpButton",{chart:t,buttonText:t.breadcrumbs.getButtonText(e)}))}}createZoomProxyButton(t,e,i){this[e]=this.proxyProvider.addProxyElement("zoom",{click:t},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){let t=this.keyCodes,e=this.chart,i=this;return new s(e,{keyCodeMap:[[[t.up,t.down,t.left,t.right],function(t){return i.onMapKbdArrow(this,t)}],[[t.tab],function(t,e){return i.onMapKbdTab(this,e)}],[[t.space,t.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(e.mapView&&e.mapNavigation&&e.mapNavigation.navButtons.length)},init:function(t){return i.onMapNavInit(t)}})}onMapKbdArrow(t,e){let i=this.chart,s=this.keyCodes,o=i.container,r=e===s.up||e===s.down,n=e===s.left||e===s.up?1:-1,l=(r?i.plotHeight:i.plotWidth)/10*n,h=10*Math.random(),d={x:o.offsetLeft+i.plotLeft+i.plotWidth/2+h,y:o.offsetTop+i.plotTop+i.plotHeight/2+h},c=r?{x:d.x,y:d.y+l}:{x:d.x+l,y:d.y};return[a("mousedown",d),a("mousemove",c),a("mouseup",c)].forEach(t=>o.dispatchEvent(t)),t.response.success}onMapKbdTab(t,e){let i=this.chart,s=t.response,o=e.shiftKey,r=o&&!this.focusedMapNavButtonIx||!o&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),r)return i.mapView&&i.mapView.zoomBy(),s[o?"prev":"next"];this.focusedMapNavButtonIx+=o?-1:1;let a=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(a.box,a.element),a.setState(2),s.success}onMapKbdClick(t){let e=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(e),t.response.success}onMapNavInit(t){let e=this.chart,i=e.mapNavigation.navButtons[0],s=e.mapNavigation.navButtons[1],o=t>0?i:s;e.setFocusToElement(o.box,o.element),o.setState(2),this.focusedMapNavButtonIx=t>0?0:1}
3simpleButtonNavigation(t,e,i){let o=this.keyCodes,r=this,a=this.chart;return new s(a,{keyCodeMap:[[[o.tab,o.up,o.down,o.left,o.right],function(t,e){let i=t===o.tab&&e.shiftKey||t===o.left||t===o.up;return this.response[i?"prev":"next"]}],[[o.space,o.enter],function(){return l(i(this,a),this.response.success)}]],validate:function(){return a[t]&&a[t].box&&r[e].innerElement},init:function(){a.setFocusToElement(a[t].box,r[e].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(t,e){e.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(t,e){return e.drillUp(),t.response.prev}),this.getMapZoomNavigation()]}}}),i(e,"Accessibility/HighContrastMode.js",[e["Core/Globals.js"]],function(t){let{doc:e,isMS:i,win:s}=t;return{isHighContrastModeActive:function(){let t=/(Edg)/.test(s.navigator.userAgent);if(s.matchMedia&&t)return s.matchMedia("(-ms-high-contrast: active)").matches;if(i&&s.getComputedStyle){let t=e.createElement("div");t.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",e.body.appendChild(t);let i=(t.currentStyle||s.getComputedStyle(t)).backgroundImage;return e.body.removeChild(t),"none"===i}return s.matchMedia&&s.matchMedia("(forced-colors: active)").matches},setHighContrastTheme:function(t){t.highContrastModeActive=!0;let e=t.options.accessibility.highContrastTheme;t.update(e,!1);let i=e.colors?.length>1;t.series.forEach(function(t){let s=e.plotOptions[t.type]||{},o=i&&void 0!==t.colorIndex?e.colors[t.colorIndex]:s.color||"window",r={color:s.color||"windowText",colors:i?e.colors:[s.color||"windowText"],borderColor:s.borderColor||"window",fillColor:o};t.update(r,!1),t.points&&t.points.forEach(function(t){t.options&&t.options.color&&t.update({color:s.color||"windowText",borderColor:s.borderColor||"window"},!1)})}),t.redraw()}}}),i(e,"Accessibility/HighContrastTheme.js",[],function(){return{chart:{backgroundColor:"window"},title:{style:{color:"windowText"}},subtitle:{style:{color:"windowText"}},colorAxis:{minColor:"windowText",maxColor:"windowText",stops:[],dataClasses:[]},colors:["windowText"],xAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},yAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},tooltip:{backgroundColor:"window",borderColor:"windowText",style:{color:"windowText"}},plotOptions:{series:{lineColor:"windowText",fillColor:"window",borderColor:"windowText",edgeColor:"windowText",borderWidth:1,dataLabels:{connectorColor:"windowText",color:"windowText",style:{color:"windowText",textOutline:"none"}},marker:{lineColor:"windowText",fillColor:"windowText"}},pie:{color:"window",colors:["window"],borderColor:"windowText",borderWidth:1},boxplot:{fillColor:"window"},candlestick:{lineColor:"windowText",fillColor:"window"},errorbar:{fillColor:"window"}},legend:{backgroundColor:"window",itemStyle:{color:"windowText"},itemHoverStyle:{color:"windowText"},itemHiddenStyle:{color:"#555"},title:{style:{color:"windowText"}}},credits:{style:{color:"windowText"}},drilldown:{activeAxisLabelStyle:{color:"windowText"},activeDataLabelStyle:{color:"windowText"}},navigation:{buttonOptions:{symbolStroke:"windowText",theme:{fill:"window"}}},rangeSelector:{buttonTheme:{fill:"window",stroke:"windowText",style:{color:"windowText"},states:{hover:{fill:"window",stroke:"windowText",style:{color:"windowText"}},select:{fill:"#444",stroke:"windowText",style:{color:"windowText"}}}},inputBoxBorderColor:"windowText",inputStyle:{backgroundColor:"window",color:"windowText"},labelStyle:{color:"windowText"}},navigator:{handles:{backgroundColor:"window",borderColor:"windowText"},outlineColor:"windowText",maskFill:"transparent",series:{color:"windowText",lineColor:"windowText"},xAxis:{gridLineColor:"windowText"}},scrollbar:{barBackgroundColor:"#444",barBorderColor:"windowText",buttonArrowColor:"windowText",buttonBackgroun
3dColor:"window",buttonBorderColor:"windowText",rifleColor:"windowText",trackBackgroundColor:"window",trackBorderColor:"windowText"}}}),i(e,"Accessibility/Options/A11yDefaults.js",[],function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}</{headingTagName}><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>",afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}}}),i(e,"Accessibility/Options/LangDefaults.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{axisRangeDescription}"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.",arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.",funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries}
3 data series.",combinationChart:"Combination chart with {numSeries} data series.",defaultSingle:"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{default:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}}),i(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],function(t){let{error:e,pick:i}=t;function s(t,e,s){let o=t,r,a=0;for(;a<e.length-1;++a)o=o[r=e[a]]=i(o[r],{});o[e[e.length-1]]=s}function o(t,i,o,r){function a(t,e){return e.reduce(function(t,e){return t[e]},t)}let n=a(t.options,i),l=a(t.options,o);Object.keys(r).forEach(function(a){let h=n[a];void 0!==h&&(s(l,r[a],h),e(32,!1,t,{[i.join(".")+"."+a]:o.join(".")+"."+r[a].join(".")}))})}return function(t){var i;let r,a;r=(i=t).options.chart,a=i.options.accessibility||{},["description","typeDescription"].forEach(function(t){r[t]&&(a[t]=r[t],e(32,!1,i,{[`chart.${t}`]:`use accessibility.${t}`}))}
3),function(t){t.axes.forEach(function(i){let s=i.options;s&&s.description&&(s.accessibility=s.accessibility||{},s.accessibility.description=s.description,e(32,!1,t,{"axis.description":"use axis.accessibility.description"}))})}(t),t.series&&function(t){let i={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormatter:["accessibility","point","descriptionFormatter"],skipKeyboardNavigation:["accessibility","keyboardNavigation","enabled"],"accessibility.pointDescriptionFormatter":["accessibility","point","descriptionFormatter"]};t.series.forEach(function(o){Object.keys(i).forEach(function(r){let a=o.options[r];"accessibility.pointDescriptionFormatter"===r&&(a=o.options.accessibility&&o.options.accessibility.pointDescriptionFormatter),void 0!==a&&(s(o.options,i[r],"skipKeyboardNavigation"===r?!a:a),e(32,!1,t,{[`series.${r}`]:"series."+i[r].join(".")}))})})}(t),o(t,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"],pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection","onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]}),o(t,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]}),o(t,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection","beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})}}),i(e,"Accessibility/Accessibility.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/A11yI18n.js"],e["Accessibility/Components/ContainerComponent.js"],e["Accessibility/FocusBorder.js"],e["Accessibility/Components/InfoRegionsComponent.js"],e["Accessibility/KeyboardNavigation.js"],e["Accessibility/Components/LegendComponent.js"],e["Accessibility/Components/MenuComponent.js"],e["Accessibility/Components/NavigatorComponent.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/ProxyProvider.js"],e["Accessibility/Components/RangeSelectorComponent.js"],e["Accessibility/Components/SeriesComponent/SeriesComponent.js"],e["Accessibility/Components/ZoomComponent.js"],e["Accessibility/HighContrastMode.js"],e["Accessibility/HighContrastTheme.js"],e["Accessibility/Options/A11yDefaults.js"],e["Accessibility/Options/LangDefaults.js"],e["Accessibility/Options/DeprecatedOptions.js"]],function(t,e,i,s,o,r,a,n,l,h,d,c,p,u,g,m,f,y,b,x,v,S){let{defaultOptions:C}=t,{doc:A}=e,{addEvent:k,extend:M,fireEvent:w,merge:P}=i,{removeElement:T}=s;class E{constructor(t){this.init(t)}init(t){if(this.chart=t,!A.addEventListener){this.zombie=!0,this.components={},t.renderTo.setAttribute("aria-hidden",!0);return}S(t),this.proxyProvider=new u(this.chart),this.initComponents(),this.keyboardNavigation=new l(t,this.components)}initComponents(){let t=this.chart,e=this.proxyProvider,i=t.options.accessibility;this.components={container:new r,infoRegions:new n,legend:new h,chartMenu:new d,rangeSelector:new g,series:new m,zoom:new f,navigator:new c},i.customComponents&&M(this.components,i.customComponents);let s=this.components;
3this.getComponentOrder().forEach(function(i){s[i].initBase(t,e),s[i].init()})}getComponentOrder(){return this.components?this.components.series?["series"].concat(Object.keys(this.components).filter(t=>"series"!==t)):Object.keys(this.components):[]}update(){let t=this.components,e=this.chart,i=e.options.accessibility;w(e,"beforeA11yUpdate"),e.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(i){t[i].onChartUpdate(),w(e,"afterA11yComponentUpdate",{name:i,component:t[i]})}),this.keyboardNavigation.update(s),!e.highContrastModeActive&&!1!==i.highContrastMode&&(y.isHighContrastModeActive()||!0===i.highContrastMode)&&y.setHighContrastTheme(e),w(e,"afterA11yUpdate",{accessibility:this})}destroy(){let t=this.chart||{},e=this.components;Object.keys(e).forEach(function(t){e[t].destroy(),e[t].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),t.announcerContainer&&T(t.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),t.renderTo&&t.renderTo.setAttribute("aria-hidden",!0),t.focusElement&&t.focusElement.removeFocusBorder()}getChartTypes(){let t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}return function(t){function e(){this.accessibility&&this.accessibility.destroy()}function i(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function s(t){let e=t.options.accessibility;e&&(e.customComponents&&(this.options.accessibility.customComponents=e.customComponents,delete e.customComponents),P(!0,this.options.accessibility,e),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function r(){let e=this.accessibility,i=this.options.accessibility;i&&i.enabled?e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update()):e?(e.destroy&&e.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)}function n(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=o.i18nFormat,t.compose=function(t,c,u,f,y,b){l.compose(t),p.compose(f),h.compose(t,c),d.compose(t),m.compose(t,u,f),o.compose(t),a.compose(t,y),b&&g.compose(t,b);let x=t.prototype;x.updateA11yEnabled||(x.updateA11yEnabled=r,k(t,"destroy",e),k(t,"render",i),k(t,"update",s),["addSeries","init"].forEach(e=>{k(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{k(t,e,function(){let t=this.accessibility;t&&!t.zombie&&t.update()})}),k(u,"update",n),["update","updatedData","remove"].forEach(t=>{k(f,t,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(E||(E={})),P(!0,C,x,{accessibility:{highContrastTheme:b},lang:v}),E}),i(e,"masters/modules/accessibility.src.js",[e["Core/Globals.js"],e["Accessibility/Accessibility.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],function(t,e,i,s,o,r,a){return t.i18nFormat=e.i18nFormat,t.A11yChartUtilities=s,t.A11yHTMLUtilities=o,t.AccessibilityComponent=i,t.KeyboardNavigationHandler=r,t.SeriesAccessibilityDescriber=a,e.compose(t.Chart,t.Legend,t.Point,t.Series,t.SVGElement,t.RangeSelector),t})},t.exports?(e.default=e,t.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)},625662:function(t){var e;e=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Series/Funnel/FunnelSeriesDefaults.js",[],function(){return{animation:!1,borderRadius:0,center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",
3neckHeight:"25%",reversed:!1,size:!0,dataLabels:{connectorWidth:1,verticalAlign:"middle"},states:{select:{color:"#cccccc",borderColor:"#000000"}}}}),i(e,"Series/Funnel/FunnelSeries.js",[e["Series/Funnel/FunnelSeriesDefaults.js"],e["Core/Globals.js"],e["Extensions/BorderRadius.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{composed:r,noop:a}=e,{column:n,pie:l}=s.seriesTypes,{addEvent:h,correctFloat:d,extend:c,fireEvent:p,isArray:u,merge:g,pick:m,pushUnique:f,relativeLength:y,splat:b}=o,x=s.series.prototype.alignDataLabel;function v(t,e){return/%$/.test(t)?e*parseInt(t,10)/100:parseInt(t,10)}class S extends l{alignDataLabel(t,e,i,s,o){let r=t.series,a=r.options.reversed,n=t.dlBox||t.shapeArgs,{align:l,padding:h=0,verticalAlign:d}=i,c=((r.options||{}).dataLabels||{}).inside,p=r.center[1],u=t.plotY||0,g=e.height??e.getBBox().height,m=r.getWidthAt((a?2*p-u:u)-n.height/2+g),f="middle"===d?(n.topWidth-n.bottomWidth)/4:(m-n.bottomWidth)/2,y=n.y,b=n.x;"middle"===d?y=n.y-n.height/2+g/2:"top"===d&&(y=n.y-n.height+g+h),("top"===d&&!a||"bottom"===d&&a||"middle"===d)&&("right"===l?b=n.x-h+f:"left"===l&&(b=n.x+h-f)),s={x:b,y:a?y-n.height:y,width:n.bottomWidth,height:n.height},i.verticalAlign="bottom",c&&(i.distance=void 0),c&&t.visible&&x.call(r,t,e,i,s,o),c&&(!t.visible&&t.dataLabel&&(t.dataLabel.placed=!1),t.contrastColor&&e.css({color:t.contrastColor}))}drawDataLabels(){(b(this.options.dataLabels)[0].inside?n:l).prototype.drawDataLabels.call(this)}getDataLabelPosition(t,e){let i=t.plotY||0,s=t.half?1:-1,o=this.getX(i,!!t.half,t);return{distance:e,natural:{x:0,y:i},computed:{},alignment:t.half?"right":"left",connectorPosition:{breakAt:{x:o+(e-5)*s,y:i},touchingSliceAt:{x:o+e*s,y:i}}}}translate(){let t=this,e=t.chart,s=t.options,o=s.reversed,r=s.ignoreHiddenPoint,n=i.optionsToObject(s.borderRadius),l=e.plotWidth,h=e.plotHeight,c=s.center,u=v(c[0],l),g=v(c[1],h),f=v(s.width,l),b=v(s.height,h),x=v(s.neckWidth,l),S=v(s.neckHeight,h),C=g-b/2+b-S,A=t.points,k=y(n.radius,f),M=n.scope,w="left"===s.dataLabels.position?1:0,P=t=>{let e=Math.tan(t/2),i=Math.cos(j),s=Math.sin(j),r=k,a=r/e,n=Math.tan((Math.PI-t)/3.2104);return a>N&&(r=(a=N)*e),{dx:[a*i,(a-(n*=r))*i,a-n,a],dy:[a*s,(a-n)*s,a-n,a].map(t=>o?-t:t)}},T=0,E=0,L,O,D,j,N,I,B,R,z,F,G,W;for(let e of(t.getWidthAt=function(t){let e=g-b/2;return t>C||b===S?x:x+(f-x)*(1-(t-e)/(b-S))},t.getX=function(e,i,s){return u+(i?-1:1)*(t.getWidthAt(o?2*g-e:e)/2+(s.dataLabel?.dataLabelPosition?.distance??y(this.options.dataLabels?.distance||0,f)))},t.center=[u,g,b],t.centerX=u,A))e.y&&e.isValid()&&(!r||!1!==e.visible)&&(T+=e.y);for(let e of A){if(W=null,D=T?e.y/T:0,F=(B=g-b/2+E*b)+D*b,R=(I=u-(L=t.getWidthAt(B))/2)+L,G=(z=u-(L=t.getWidthAt(F))/2)+L,d(B)>=C?(I=z=u-x/2,R=G=u+x/2):F>C&&(W=F,G=(z=u-(L=t.getWidthAt(C))/2)+L,F=C),o&&(B=2*g-B,F=2*g-F,null!==W&&(W=2*g-W)),k&&("point"===M||0===e.index||e.index===A.length-1||null!==W)){let t=Math.abs(F-B),i=R-G,s=G-z,o=Math.sqrt(i*i+t*t);j=Math.atan(0!==i?t/i:1/0),N=o/2,null!==W&&(N=Math.min(N,Math.abs(W-F)/2)),s>=1&&(N=Math.min(N,s/2));let r=P(j);if(O="stack"===M&&0!==e.index?[["M",I,B],["L",R,B]]:[["M",I+r.dx[0],B+r.dy[0]],["C",I+r.dx[1],B+r.dy[1],I+r.dx[2],B,I+r.dx[3],B],["L",R-r.dx[3],B],["C",R-r.dx[2],B,R-r.dx[1],B+r.dy[1],R-r.dx[0],B+r.dy[0]]],null!==W){let t=P(Math.PI/2);r=P(Math.PI/2+j),O.push(["L",G+r.dx[0],F-r.dy[0]],["C",G+r.dx[1],F-r.dy[1],G,F+r.dy[2],G,F+r.dy[3]]),"stack"===M&&e.index!==A.length-1?O.push(["L",G,W],["L",z,W]):O.push(["L",G,W-t.dy[3]],["C",G,W-t.dy[2],G-t.dx[2],W,G-t.dx[3],W],["L",z+t.dx[3],W],["C",z+t.dx[2],W,z,W-t.dy[2],z,W-t.dy[3]]),O.push(["L",z,F+r.dy[3]],["C",z,F+r.dy[2],z-r.dx[1],F-r.dy[1],z-r.dx[0],F-r.dy[0]])}else s>=1?(r=P(Math.PI-j),"stack"===M&&0===e.index?O.push(["L",G,F],["L",z,F]):O.push(["L",G+r.dx[0],F-r.dy[0]],["C",G+r.dx[1],F-r.dy[1],G-r.dx[2],F,G-r.dx[3],F],["L",z+r.dx[3],F],["C",z+r.dx[2],F,z-r.dx[1],F-r.dy[1],z-r.dx[0],F-r.dy[0]])):(r=P(Math.PI-2*j),O.push(["L",z+r.dx[0],F-r.dy[0]],["C",z+r.dx[1],F-r.dy[1],z-r.dx[1],F-r.dy[1],z-r.dx[0],F-r.dy[0]]))}else O=[["M",I,B],["L",R,B],["L",G,F]],null!==W&&O.push(["L",G,W],["L",z,W]),O.push(["L",z,F]);
3O.push(["Z"]),e.shapeType="path",e.shapeArgs={d:O},e.percentage=100*D,e.plotX=u,e.plotY=(B+(W||F))/2,e.tooltipPos=[u,e.plotY],e.dlBox={x:z,y:B,topWidth:R-I,bottomWidth:G-z,height:Math.abs(m(W,F)-B),width:NaN},e.slice=a,e.half=w,e.isValid()&&(!r||!1!==e.visible)&&(E+=D)}p(t,"afterTranslate")}sortByAngle(t){t.sort((t,e)=>t.plotY-e.plotY)}}return S.defaultOptions=g(l.defaultOptions,t),c(S.prototype,{animate:a}),function(t){function e(){for(let t of this.series){let e=t.options&&t.options.dataLabels;u(e)&&(e=e[0]),t.is("pie")&&t.placeDataLabels&&e&&!e.inside&&t.placeDataLabels()}}t.compose=function(t){f(r,"FunnelSeries")&&h(t,"afterHideAllOverlappingLabels",e)}}(S||(S={})),s.registerSeriesType("funnel",S),S}),i(e,"Series/Pyramid/PyramidSeriesDefaults.js",[],function(){return{neckHeight:"0%",neckWidth:"0%",reversed:!0}}),i(e,"Series/Pyramid/PyramidSeries.js",[e["Series/Funnel/FunnelSeries.js"],e["Series/Pyramid/PyramidSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{merge:o}=s;class r extends t{}return r.defaultOptions=o(t.defaultOptions,e),i.registerSeriesType("pyramid",r),r}),i(e,"masters/modules/funnel.src.js",[e["Core/Globals.js"],e["Series/Funnel/FunnelSeries.js"]],function(t,e){return e.compose(t.Chart),t})},t.exports?(e.default=e,t.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/funnel",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)},695266:function(t){var e;e=function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Core/Axis/Color/ColorAxisLike.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){var i,s;let{parse:o}=t,{merge:r}=e;return(s=i||(i={})).initDataClasses=function(t){let e=this.chart,i=this.legendItem=this.legendItem||{},s=this.options,a=t.dataClasses||[],n,l,h=e.options.chart.colorCount,d=0,c;this.dataClasses=l=[],i.labels=[];for(let t=0,i=a.length;t<i;++t)n=r(n=a[t]),l.push(n),(e.styledMode||!n.color)&&("category"===s.dataClassColor?(e.styledMode||(h=(c=e.options.colors||[]).length,n.color=c[d]
vendor: 1,053 bytes, line 3
3),n.colorIndex=d,++d===h&&(d=0)):n.color=o(s.minColor).tweenTo(o(s.maxColor),i<2?.5:t/(i-1)))},s.initStops=function(){let t=this.options,e=this.stops=t.stops||[[0,t.minColor||""],[1,t.maxColor||""]];for(let t=0,i=e.length;t<i;++t)e[t].color=o(e[t][1])},s.normalizedValue=function(t){let e=this.max||0,i=this.min||0;return this.logarithmic&&(t=this.logarithmic.log2lin(t)),1-(e-t)/(e-i||1)},s.toColor=function(t,e){let i,s,o,r,a,n;let l=this.dataClasses,h=this.stops;if(l){for(n=l.length;n--;)if(s=(a=l[n]).from,o=a.to,(void 0===s||t>=s)&&(void 0===o||t<=o)){r=a.color,e&&(e.dataClass=n,e.colorIndex=a.colorIndex);break}}else{for(i=this.normalizedValue(t),n=h.length;n--&&!(i>h[n][0]););s=h[n]||h[n+1],i=1-((o=h[n+1]||s)[0]-i)/(o[0]-s[0]||1),r=s.color.tweenTo(o.color,i)}return r},i}),i(e,"Core/Axis/SolidGaugeAxis.js",[e["Core/Axis/Color/ColorAxisLike.js"],e["Core/Utilities.js"]],function(t,e){let{extend:i}=e;return{init:function(e){i(e,t)}}}),i(e,"Series/SolidGauge/SolidGaugeSeriesDefaults.js",[],function(){return{colorByPoint:!0,dataLabels:{y:0}}}
3),i(e,"Series/SolidGauge/SolidGaugeSeries.js",[e["Extensions/BorderRadius.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/SolidGaugeAxis.js"],e["Series/SolidGauge/SolidGaugeSeriesDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{gauge:r,pie:a}=e.seriesTypes,{clamp:n,extend:l,isNumber:h,merge:d,pick:c,pInt:p}=o;class u extends r{translate(){let t=this.yAxis;i.init(t),!t.dataClasses&&t.options.dataClasses&&t.initDataClasses(t.options),t.initStops(),r.prototype.translate.call(this)}drawPoints(){let e;let i=this.yAxis,s=i.center,o=this.options,r=this.chart.renderer,a=o.overshoot,d=o.rounded&&void 0===o.borderRadius,u=h(a)?a/180*Math.PI:0;for(let a of(h(o.threshold)&&(e=i.startAngleRad+i.translate(o.threshold,void 0,void 0,void 0,!0)),this.thresholdAngleRad=c(e,i.startAngleRad),this.points))if(!a.isNull){let e=p(c(a.options.radius,o.radius,100))*s[2]/200,h=p(c(a.options.innerRadius,o.innerRadius,60))*s[2]/200,g=Math.min(i.startAngleRad,i.endAngleRad),m=Math.max(i.startAngleRad,i.endAngleRad),f=a.graphic,y=i.startAngleRad+i.translate(a.y,void 0,void 0,void 0,!0),b,x,v=i.toColor(a.y,a);"none"===v&&(v=a.color||this.color||"none"),"none"!==v&&(a.color=v),y=n(y,g-u,m+u),!1===o.wrap&&(y=n(y,g,m));let S=d?(e-h)/2/e:0,C=Math.min(y,this.thresholdAngleRad)-S,A=Math.max(y,this.thresholdAngleRad)+S;A-C>2*Math.PI&&(A=C+2*Math.PI);let k=d?"50%":0;o.borderRadius&&(k=t.optionsToObject(o.borderRadius).radius),a.shapeArgs=b={x:s[0],y:s[1],r:e,innerR:h,start:C,end:A,borderRadius:k},a.startR=e,f?(x=b.d,f.animate(l({fill:v},b)),x&&(b.d=x)):a.graphic=f=r.arc(b).attr({fill:v,"sweep-flag":0}).add(this.group),this.chart.styledMode||("square"!==o.linecap&&f.attr({"stroke-linecap":"round","stroke-linejoin":"round"}),f.attr({stroke:o.borderColor||"none","stroke-width":o.borderWidth||0})),f&&f.addClass(a.getClassName(),!0)}}animate(t){t||(this.startAngleRad=this.thresholdAngleRad,a.prototype.animate.call(this,t))}}return u.defaultOptions=d(r.defaultOptions,s),e.registerSeriesType("solidgauge",u),u}),i(e,"masters/modules/solid-gauge.src.js",[e["Core/Globals.js"]],function(t){return t})},t.exports?(e.default=e,t.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/solid-gauge",["highcharts","highcharts/highcharts-more"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)},882287:function(t){"use strict";t.exports=JSON.parse('{"title":"World, Miller projection, medium resolution","version":"1.1.4","type":"FeatureCollection","copyright":"Copyright (c) 2021 Highsoft AS, Based on data from Natural Earth","copyrightShort":"Natural Earth","copyrightUrl":"http://www.naturalearthdata.com","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:54003"}},"hc-transform":{"default":{"crs":"+proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +datum=WGS84 +units=m +no_defs","scale":0.0000172182781654,"jsonres":15.5,"jsonmarginX":-999,"jsonmarginY":9851.0,"xoffset":-19495356.3693,"yoffset":12635908.1982}},"features":[{"type":"Feature","id":"FO","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.54,"hc-key":"fo","hc-a2":"FO","name":"Faroe Islands","labelrank":"6","country-abbrev":"Faeroe Is.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"FRO","iso-a2":"FO","woe-id":"23424816","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[3991,8611],[4005,8598],[4004,8594],[3989,8605],[3991,8611]]]}},{"type":"Feature","id":"UM","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.58,"hc-key":"um","hc-a2":"UM","name":"United States Minor Outlying Islands","labelrank":"5","country-abbrev":"U.S. MOI","subregion":"Seven seas (open ocean)","region-wb":"East Asia & Pacific","iso-a3":"UMI","iso-a2":"UM","woe-id":"28289407","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[-605,6652],[-606,6652],[-606,6652],[-606,6652],[-605,6652]]]}},{"type":"Feature","id":"US","properties":{"hc-group":"admin0","hc-middle-x":0.68,"hc-middle-y":0.68,"hc-key":"us","hc-a2":"US","name":"United States of America","labelrank":"2","country-abbrev":"U.S.A.","subregi
3on":"Northern America","region-wb":"North America","iso-a3":"USA","iso-a2":"US","woe-id":"23424977","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[556,8034],[559,8032],[549,8036],[550,8040],[556,8034]]],[[[558,8043],[561,8042],[558,8039],[553,8040],[558,8043]]],[[[265,8289],[268,8289],[267,8283],[263,8288],[265,8289]]],[[[263,8300],[267,8295],[264,8292],[261,8294],[263,8300]]],[[[255,8300],[267,8279],[253,8290],[251,8302],[255,8300]]],[[[306,8298],[305,8293],[298,8293],[300,8304],[306,8298]]],[[[249,8306],[250,8302],[245,8301],[244,8305],[249,8306]]],[[[292,8310],[298,8305],[294,8298],[291,8308],[292,8310]]],[[[238,8311],[244,8313],[244,8308],[238,8304],[238,8311]]],[[[249,8311],[248,8310],[244,8314],[249,8314],[249,8311]]],[[[232,8330],[237,8337],[249,8340],[245,8335],[232,8330]]],[[[272,8342],[284,8338],[278,8330],[268,8336],[272,8342]]],[[[268,8353],[268,8346],[255,8348],[259,8353],[268,8353]]],[[[282,8349],[285,8339],[276,8346],[276,8355],[282,8349]]],[[[261,8368],[271,8358],[264,8355],[259,8356],[261,8368]]],[[[234,8379],[258,8373],[253,8353],[237,8353],[234,8379]]],[[[181,8386],[179,8377],[173,8376],[177,8383],[181,8386]]],[[[158,8420],[155,8412],[152,8416],[154,8423],[158,8420]]],[[[1578,8023],[1574,8018],[1559,8010],[1556,8013],[1578,8023]]],[[[1623,7918],[1621,7909],[1614,7899],[1610,7903],[1623,7918]]],[[[1667,7934],[1667,7928],[1663,7927],[1665,7933],[1667,7934]]],[[[1724,7944],[1726,7939],[1717,7939],[1721,7943],[1724,7944]]],[[[224,8331],[215,8369],[227,8371],[236,8359],[224,8331]]],[[[-726,8256],[-740,8233],[-777,8227],[-811,8206],[-792,8230],[-757,8230],[-757,8246],[-726,8256]]],[[[193,8378],[186,8400],[202,8387],[208,8341],[193,8378]]],[[[183,8412],[177,8392],[156,8412],[174,8431],[183,8412]]],[[[199,8431],[221,8424],[229,8389],[214,8393],[199,8431]]],[[[-826,8660],[-803,8657],[-834,8641],[-862,8661],[-896,8667],[-850,8675],[-826,8660]]],[[[553,8054],[551,8053],[551,8054],[553,8054]]],[[[1261,7281],[1260,7293],[1252,7296],[1228,7335],[1206,7373],[1202,7375],[1200,7378],[1167,7387],[1143,7358],[1102,7380],[1091,7409],[1043,7449],[993,7449],[993,7434],[908,7434],[797,7472],[799,7479],[728,7473],[722,7492],[686,7523],[648,7524],[624,7541],[571,7629],[568,7651],[532,7689],[528,7720],[512,7742],[522,7777],[507,7826],[520,7864],[527,7925],[507,8030],[563,8020],[563,8024],[573,8014],[562,8025],[562,8026],[566,8031],[562,8027],[561,8054],[1379,8054],[1455,8037],[1491,8018],[1546,8016],[1503,7997],[1471,7971],[1510,7975],[1520,7963],[1574,7988],[1575,7986],[1575,7988],[1591,7997],[1601,7995],[1583,7981],[1612,7961],[1683,7971],[1697,7959],[1708,7961],[1708,7954],[1689,7936],[1622,7938],[1592,7889],[1612,7898],[1595,7842],[1598,7806],[1614,7783],[1632,7792],[1645,7831],[1636,7855],[1644,7893],[1694,7935],[1726,7918],[1730,7880],[1715,7868],[1750,7865],[1758,7833],[1755,7820],[1751,7816],[1746,7820],[1739,7807],[1727,7787],[1756,7775],[1780,7780],[1855,7817],[1862,7830],[1858,7836],[1858,7842],[1927,7844],[1955,7886],[1970,7900],[1987,7905],[1987,7905],[2082,7905],[2118,7937],[2126,7968],[2149,7996],[2192,7982],[2192,7933],[2196,7927],[2203,7927],[2202,7914],[2210,7911],[2216,7898],[2179,7882],[2181,7881],[2174,7874],[2173,7879],[2173,7879],[2164,7875],[2168,7876],[2168,7870],[2163,7871],[2161,7874],[2155,7872],[2110,7843],[2108,7787],[2041,7770],[2006,7747],[2005,7718],[1959,7656],[1937,7700],[1941,7654],[1934,7620],[1948,7620],[1956,7577],[1933,7542],[1915,7545],[1890,7517],[1854,7495],[1795,7447],[1786,7414],[1814,7342],[1829,7289],[1819,7237],[1797,7235],[1766,7277],[1746,7323],[1752,7355],[1710,7394],[1682,7378],[1650,7401],[1567,7404],[1544,7395],[1558,7358],[1533,7373],[1514,7361],[1485,7382],[1464,7376],[1411,7380],[1340,7337],[1309,7290],[1321,7262],[1289,7265],[1261,7281]]],[[[247,8324],[243,8322],[239,8327],[247,8327],[248,8327],[252,8348],[288,8301],[287,8280],[261,8307],[246,8319],[247,8324]]],[[[-425,7092],[-433,7100],[-433,7100],[-426,7097],[-425,7092],[-425,7092],[-425,7092]]],[[[-425,7092],[-390,7060],[-422,7047],[-425,7092],[-425,7092],[-425,7092]]],[[[308,8292],[307,8287],[302,8290],[308,8292],[308,8292],[308,8292]]],[[[217,8430],[220,8427],[210,8429],[210,8433],[205,8435],[148,8429],[100,8466],[54,8486],[-34,8511],[-77,8513],[-132,8528],[-131,8544],[-185,8544],[-179,8506],[-229,8506],[-240,8492],[-304,8469],[-282,8489],[-303,8495],[-289,8538],[-261,8553],[-264,8566],[-317,8528],[-328,8503],[-369,8479],[-346,8459],[-377,8422],[-432,8396],[-465,8356],[-478,8363],[-510,8328],[-540,8328],[-589,8308],[-615,8286],[-687,8268],[-679,8288],[-643,8297],[-585,8332],[-551,8327],[-555,8346],[-513,8369],[-478,8400],[-458,8457],[-516,8437],[-555,8465],[
3-597,8443],[-595,8484],[-613,8511],[-651,8497],[-693,8522],[-709,8506],[-741,8500],[-765,8515],[-713,8520],[-680,8544],[-726,8574],[-715,8598],[-667,8655],[-644,8644],[-615,8663],[-568,8678],[-587,8710],[-579,8735],[-637,8709],[-728,8718],[-784,8772],[-702,8808],[-655,8816],[-653,8790],[-599,8787],[-594,8837],[-655,8842],[-667,8867],[-741,8904],[-729,8932],[-673,8934],[-637,8959],[-638,8973],[-601,9009],[-570,9009],[-534,9034],[-486,9036],[-450,9061],[-399,9052],[-370,9033],[-317,9037],[-306,9015],[-225,9020],[-162,9000],[-87,8990],[-49,8997],[19,8972],[20,8520],[74,8510],[120,8473],[126,8458],[158,8488],[183,8497],[199,8475],[245,8436],[292,8359],[346,8330],[346,8304],[346,8304],[319,8284],[320,8322],[316,8323],[310,8332],[305,8326],[295,8329],[287,8349],[254,8380],[220,8428],[217,8430]]],[[[-373,8372],[-390,8391],[-344,8421],[-318,8446],[-311,8403],[-356,8377],[-413,8325],[-373,8372]]],[[[-433,7100],[-479,7115],[-446,7112],[-433,7100],[-433,7100]]],[[[308,8292],[309,8295],[309,8292],[308,8292],[308,8292],[308,8292]]]]}},{"type":"Feature","id":"JP","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.66,"hc-key":"jp","hc-a2":"JP","name":"Japan","labelrank":"2","country-abbrev":"Japan","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"JPN","iso-a2":"JP","woe-id":"23424856","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[8389,7914],[8390,7917],[8398,7911],[8394,7909],[8389,7914]]],[[[8149,7526],[8129,7515],[8097,7520],[8140,7570],[8197,7578],[8232,7572],[8278,7641],[8269,7618],[8307,7629],[8314,7654],[8342,7662],[8359,7703],[8352,7721],[8369,7771],[8380,7756],[8400,7767],[8419,7706],[8391,7670],[8390,7636],[8375,7598],[8384,7580],[8357,7553],[8353,7573],[8306,7546],[8256,7542],[8267,7531],[8239,7508],[8212,7518],[8222,7544],[8172,7539],[8149,7527],[8166,7521],[8186,7539],[8200,7532],[8186,7497],[8173,7507],[8138,7480],[8130,7504],[8149,7526]]],[[[8044,7495],[8037,7525],[8057,7499],[8076,7517],[8113,7508],[8122,7487],[8101,7435],[8068,7431],[8067,7482],[8044,7495]]],[[[8380,7790],[8365,7775],[8355,7820],[8373,7846],[8401,7845],[8416,7924],[8472,7874],[8509,7860],[8522,7839],[8483,7831],[8455,7794],[8413,7818],[8367,7806],[8380,7790]]]]}},{"type":"Feature","id":"SC","properties":{"hc-group":"admin0","hc-middle-x":0.58,"hc-middle-y":0.41,"hc-key":"sc","hc-a2":"SC","name":"Seychelles","labelrank":"6","country-abbrev":"Syc.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SYC","iso-a2":"SC","woe-id":"23424941","continent":"Seven seas (open ocean)"},"geometry":{"type":"Polygon","coordinates":[[[5849,6344],[5852,6341],[5851,6337],[5843,6348],[5849,6344]]]}},{"type":"Feature","id":"IN","properties":{"hc-group":"admin0","hc-middle-x":0.34,"hc-middle-y":0.43,"hc-key":"in","hc-a2":"IN","name":"India","labelrank":"2","country-abbrev":"India","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"IND","iso-a2":"IN","woe-id":"23424848","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[6818,7133],[6820,7134],[6820,7126],[6817,7128],[6818,7133]]],[[[6819,7322],[6840,7326],[6842,7305],[6869,7285],[6937,7293],[6923,7319],[6953,7324],[7012,7369],[7032,7360],[7057,7370],[7092,7333],[7074,7306],[7024,7278],[7023,7255],[6996,7195],[6973,7200],[6969,7150],[6951,7137],[6939,7192],[6922,7167],[6909,7188],[6949,7229],[6935,7237],[6886,7236],[6870,7262],[6829,7277],[6818,7260],[6843,7237],[6816,7220],[6837,7209],[6832,7189],[6847,7142],[6823,7124],[6820,7141],[6792,7124],[6767,7075],[6740,7073],[6699,7023],[6646,6986],[6647,6972],[6586,6945],[6580,6925],[6588,6875],[6574,6835],[6574,6783],[6504,6717],[6476,6742],[6454,6807],[6424,6859],[6410,6911],[6384,6956],[6360,7072],[6367,7093],[6351,7149],[6344,7113],[6310,7098],[6291,7105],[6258,7137],[6287,7155],[6241,7174],[6227,7195],[6247,7208],[6280,7205],[6313,7222],[6265,7289],[6295,7328],[6337,7325],[6368,7360],[6381,7388],[6416,7427],[6415,7446],[6438,7461],[6400,7495],[6393,7534],[6410,7548],[6453,7539],[6490,7559],[6513,7572],[6527,7544],[6546,7534],[6542,7507],[6563,7480],[6530,7473],[6541,7434],[6608,7397],[6589,7383],[6579,7353],[6660,7310],[6714,7305],[6751,7281],[6795,7274],[6820,7286],[6819,7322]]]]}},{"type":"Feature","id":"FR","properties":{"hc-group":"admin0","hc-middle-x":0.28,"hc-middle-y":0.04,"hc-key":"fr","hc-a2":"FR","name":"France","labelrank":"2","country-abbrev":"Fr.","subregi
3on":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"FRA","iso-a2":"FR","woe-id":"-90","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2537,7972],[2531,7971],[2530,7983],[2533,7975],[2537,7972]]],[[[4485,7820],[4477,7774],[4465,7781],[4462,7817],[4485,7820]]],[[[9164,5848],[9155,5806],[9109,5833],[9082,5858],[9076,5879],[9141,5830],[9164,5848]]],[[[6256,4904],[6297,4899],[6285,4876],[6245,4876],[6256,4904]]],[[[2331,7017],[2334,7019],[2334,7016],[2331,7017]]],[[[4427,7861],[4426,7860],[4425,7859],[4424,7860],[4423,7858],[4385,7835],[4321,7852],[4294,7830],[4298,7812],[4279,7808],[4263,7812],[4262,7812],[4262,7812],[4255,7814],[4255,7818],[4246,7818],[4203,7821],[4151,7846],[4160,7853],[4173,7943],[4145,7980],[4120,7997],[4065,8019],[4064,8038],[4112,8049],[4124,8036],[4163,8041],[4147,8082],[4197,8065],[4210,8081],[4250,8101],[4251,8127],[4279,8135],[4327,8092],[4376,8075],[4381,8071],[4392,8072],[4447,8053],[4429,8001],[4386,7963],[4389,7952],[4391,7955],[4393,7956],[4405,7957],[4405,7947],[4412,7939],[4400,7909],[4427,7861]]],[[[2596,6636],[2603,6648],[2632,6639],[2670,6598],[2632,6543],[2583,6547],[2601,6581],[2587,6623],[2596,6636]]]]}},{"type":"Feature","id":"FM","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.52,"hc-key":"fm","hc-a2":"FM","name":"Federated States of Micronesia","labelrank":"6","country-abbrev":"F.S.M.","subregion":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"FSM","iso-a2":"FM","woe-id":"23424815","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[8899,6684],[8902,6683],[8902,6679],[8899,6679],[8899,6684]]]}},{"type":"Feature","id":"CN","properties":{"hc-group":"admin0","hc-middle-x":0.41,"hc-middle-y":0.56,"hc-key":"cn","hc-a2":"CN","name":"China","labelrank":"2","country-abbrev":"China","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"CHN","iso-a2":"CN","woe-id":"23424781","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7429,7050],[7456,7076],[7488,7081],[7498,7067],[7481,7036],[7459,7021],[7429,7031],[7429,7050]]],[[[6842,7305],[6840,7326],[6819,7322],[6773,7330],[6756,7323],[6729,7336],[6699,7367],[6683,7364],[6640,7401],[6608,7397],[6541,7434],[6530,7473],[6563,7480],[6542,7507],[6546,7534],[6527,7544],[6513,7572],[6500,7571],[6482,7577],[6459,7605],[6416,7624],[6411,7627],[6426,7631],[6423,7675],[6395,7677],[6389,7707],[6399,7728],[6446,7748],[6450,7736],[6482,7759],[6521,7763],[6529,7774],[6584,7803],[6602,7838],[6581,7906],[6646,7924],[6668,7986],[6719,7972],[6741,7981],[6750,8032],[6795,8058],[6801,8059],[6810,8061],[6814,8039],[6847,8016],[6885,8003],[6906,7963],[6901,7912],[6979,7903],[7034,7879],[7064,7822],[7220,7815],[7232,7803],[7282,7788],[7326,7787],[7372,7807],[7453,7813],[7526,7857],[7511,7885],[7528,7908],[7575,7895],[7603,7919],[7637,7921],[7664,7953],[7714,7968],[7756,7963],[7762,7975],[7722,8015],[7698,8015],[7696,8015],[7691,8008],[7642,8005],[7632,8021],[7667,8086],[7699,8074],[7742,8093],[7740,8107],[7768,8158],[7788,8176],[7766,8201],[7790,8222],[7862,8234],[7935,8210],[8005,8075],[8043,8071],[8086,8027],[8093,8004],[8135,8005],[8192,8031],[8204,8005],[8185,7988],[8178,7951],[8146,7907],[8138,7916],[8121,7913],[8090,7899],[8099,7870],[8091,7827],[8078,7815],[8057,7831],[8053,7812],[8004,7796],[8007,7774],[7962,7785],[7943,7758],[7895,7730],[7838,7706],[7799,7682],[7804,7705],[7833,7744],[7800,7758],[7778,7733],[7751,7722],[7736,7698],[7699,7695],[7708,7662],[7731,7662],[7749,7627],[7787,7651],[7812,7637],[7845,7637],[7787,7604],[7742,7557],[7773,7532],[7791,7478],[7819,7454],[7824,7420],[7794,7408],[7836,7385],[7812,7368],[7814,7337],[7794,7326],[7749,7262],[7758,7244],[7731,7235],[7661,7167],[7610,7163],[7593,7144],[7576,7170],[7574,7142],[7489,7118],[7466,7084],[7461,7122],[7422,7134],[7409,7122],[7366,7149],[7372,7161],[7329,7180],[7289,7154],[7245,7162],[7234,7150],[7217,7146],[7222,7111],[7206,7124],[7177,7120],[7170,7139],[7146,7143],[7157,7171],[7138,7175],[7130,7203],[7101,7195],[7103,7234],[7133,7260],[7132,7313],[7098,7343],[7092,7333],[7057,7370],[7032,7360],[7012,7369],[6953,7324],[6923,7319],[6882,7338],[6842,7305]]]]}},{"type":"Feature","id":"PT","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.50,"hc-key":"pt","hc-a2":"PT","name":"Portugal","labelrank":"2","country-abbrev":"Port.","subregi
3on":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"PRT","iso-a2":"PT","woe-id":"23424925","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[3984,7629],[3937,7624],[3944,7663],[3922,7681],[3946,7754],[3944,7795],[4009,7795],[4020,7781],[3998,7762],[3997,7692],[3984,7629]]]}},{"type":"Feature","id":"SW","properties":{"hc-group":"admin0","hc-middle-x":0.86,"hc-middle-y":0.57,"hc-key":"sw","hc-a2":"SW","name":"Serranilla Bank","labelrank":"5","country-abbrev":"S.B.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"-99","iso-a2":"SW","woe-id":"-99","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1870,6950],[1870,6950],[1870,6950],[1870,6950]]]}},{"type":"Feature","id":"SH","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.51,"hc-key":"sh","hc-a2":"SH","name":"Scarborough Reef","labelrank":"6","country-abbrev":"S.R.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"-99","iso-a2":"SH","woe-id":"-99","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7699,6929],[7698,6929],[7698,6929],[7698,6929],[7699,6929]]]}},{"type":"Feature","id":"BR","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.34,"hc-key":"br","hc-a2":"BR","name":"Brazil","labelrank":"2","country-abbrev":"Brazil","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"BRA","iso-a2":"BR","woe-id":"23424768","continent":"South America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2729,6474],[2767,6471],[2755,6436],[2702,6426],[2696,6461],[2729,6474]]],[[[2615,5450],[2627,5475],[2626,5480],[2554,5539],[2542,5531],[2517,5563],[2494,5561],[2549,5623],[2606,5658],[2604,5706],[2584,5708],[2584,5709],[2583,5712],[2594,5736],[2594,5755],[2559,5759],[2553,5800],[2530,5817],[2483,5817],[2488,5852],[2478,5876],[2496,5937],[2471,5965],[2469,5993],[2419,5995],[2409,6069],[2369,6077],[2332,6104],[2293,6110],[2263,6149],[2262,6192],[2226,6186],[2177,6154],[2139,6155],[2108,6153],[2111,6200],[2091,6185],[2061,6183],[2007,6256],[2034,6290],[2040,6327],[2103,6356],[2128,6354],[2143,6437],[2125,6474],[2131,6529],[2181,6529],[2206,6540],[2219,6515],[2258,6498],[2301,6525],[2324,6550],[2303,6552],[2286,6596],[2377,6604],[2401,6632],[2424,6629],[2437,6595],[2423,6558],[2431,6534],[2459,6514],[2509,6538],[2528,6536],[2543,6553],[2583,6547],[2632,6543],[2670,6598],[2688,6593],[2700,6543],[2723,6528],[2725,6479],[2679,6465],[2701,6426],[2743,6421],[2788,6463],[2869,6439],[2879,6399],[2908,6412],[2969,6393],[3017,6395],[3062,6370],[3101,6334],[3149,6327],[3171,6267],[3156,6207],[3109,6160],[3075,6104],[3048,6086],[3051,6007],[3043,5952],[3028,5936],[3026,5900],[2985,5834],[2988,5821],[2956,5790],[2888,5790],[2811,5749],[2785,5728],[2761,5693],[2767,5650],[2757,5614],[2726,5585],[2711,5552],[2684,5560],[2677,5531],[2654,5510],[2642,5465],[2620,5444],[2615,5447],[2615,5450]]]]}},{"type":"Feature","id":"KI","properties":{"hc-group":"admin0","hc-middle-x":0.28,"hc-middle-y":0.65,"hc-key":"ki","hc-a2":"KI","name":"Kiribati","labelrank":"6","country-abbrev":"Kir.","subregion":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"KIR","iso-a2":"KI","woe-id":"23424867","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[-468,6538],[-465,6533],[-460,6529],[-467,6531],[-468,6538]]]}},{"type":"Feature","id":"PH","properties":{"hc-group":"admin0","hc-middle-x":0.40,"hc-middle-y":0.19,"hc-key":"ph","hc-a2":"PH","name":"Philippines","labelrank":"2","country-abbrev":"Phil.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"PHL","iso-a2":"PH","woe-id":"23424934","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7894,6825],[7915,6827],[7892,6850],[7919,6851],[7934,6808],[7915,6812],[7907,6784],[7894,6825]]],[[[7758,6817],[7762,6844],[7775,6837],[7758,6817],[7758,6817]]],[[[7753,6809],[7752,6810],[7758,6817],[7758,6817],[7758,6816],[7753,6809],[7753,6809]]],[[[7823,6787],[7825,6841],[7859,6818],[7853,6800],[7886,6812],[7884,6786],[7855,6746],[7836,6770],[7842,6795],[7823,6787]]],[[[7891,6697],[7867,6709],[7840,6706],[7823,6668],[7827,6707],[7866,6736],[7880,6720],[7907,6747],[7929,6745],[7929,6776],[7953,6740],[7962,6694],[7951,6678],[7937,6696],[7925,6676],[7925,6643],[7891,6661],[7891,6697]]],[[[7896,6884],[7885,6826],[7867,6840],[7859,6878],[7840,6893],[7842,6869],[7816,6893],[7801,6877],[7817,6862],[7802,6841],[7776,6880],[7796,6881],[7767,6918],[7760,6966
3],[7777,6959],[7775,7002],[7801,7048],[7798,7035],[7834,7023],[7840,6987],[7831,6962],[7812,6952],[7817,6900],[7839,6905],[7896,6884]]],[[[7753,6809],[7757,6790],[7686,6729],[7752,6809],[7753,6809]]]]}},{"type":"Feature","id":"MX","properties":{"hc-group":"admin0","hc-middle-x":0.51,"hc-middle-y":0.49,"hc-key":"mx","hc-a2":"MX","name":"Mexico","labelrank":"2","country-abbrev":"Mex.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"MEX","iso-a2":"MX","woe-id":"23424900","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[1630,7094],[1622,7084],[1622,7088],[1624,7093],[1630,7094]]],[[[1038,7129],[1042,7127],[1052,7116],[1044,7121],[1038,7129]]],[[[881,7216],[885,7216],[889,7212],[889,7210],[881,7216]]],[[[875,7231],[874,7226],[871,7225],[874,7232],[875,7231]]],[[[786,7330],[784,7328],[781,7330],[786,7338],[786,7330]]],[[[696,7356],[694,7355],[692,7363],[695,7361],[696,7356]]],[[[864,7349],[866,7364],[874,7359],[871,7350],[864,7349]]],[[[836,7376],[845,7368],[847,7358],[833,7372],[836,7376]]],[[[1200,7378],[1199,7374],[1206,7373],[1228,7335],[1252,7296],[1259,7288],[1261,7281],[1289,7265],[1321,7262],[1306,7216],[1300,7155],[1321,7096],[1361,7038],[1401,7020],[1478,7034],[1505,7051],[1523,7108],[1589,7126],[1630,7115],[1609,7083],[1597,7023],[1583,7030],[1567,7012],[1558,7009],[1504,7009],[1491,6992],[1522,6966],[1482,6956],[1466,6911],[1417,6957],[1389,6967],[1339,6944],[1273,6971],[1205,6993],[1183,7012],[1133,7025],[1088,7056],[1067,7089],[1083,7121],[1064,7158],[989,7239],[956,7256],[956,7286],[923,7307],[876,7358],[847,7417],[849,7428],[804,7448],[801,7397],[832,7368],[924,7228],[922,7208],[946,7205],[956,7176],[943,7165],[930,7186],[876,7228],[873,7264],[834,7285],[790,7321],[816,7325],[820,7341],[771,7383],[760,7417],[728,7473],[799,7479],[797,7472],[908,7434],[993,7434],[993,7449],[1043,7449],[1091,7409],[1102,7380],[1143,7358],[1167,7387],[1200,7378]],[[1309,7246],[1303,7231],[1306,7218],[1313,7245],[1309,7246]]]]}},{"type":"Feature","id":"ES","properties":{"hc-group":"admin0","hc-middle-x":0.76,"hc-middle-y":0.27,"hc-key":"es","hc-a2":"ES","name":"Spain","labelrank":"2","country-abbrev":"Sp.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"ESP","iso-a2":"ES","woe-id":"23424950","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[3748,7322],[3716,7331],[3697,7330],[3726,7345],[3748,7322]]],[[[4117,7566],[4118,7565],[4117,7564],[4116,7566],[4117,7566]]],[[[4044,7586],[4046,7586],[4045,7584],[4044,7585],[4044,7586]]],[[[4045,7594],[4021,7599],[4011,7621],[3984,7629],[3997,7692],[3998,7762],[4020,7781],[4009,7795],[3944,7795],[3930,7838],[3969,7860],[3988,7852],[4098,7851],[4151,7846],[4203,7821],[4246,7818],[4249,7812],[4255,7814],[4262,7812],[4262,7813],[4262,7814],[4263,7812],[4263,7812],[4279,7808],[4298,7812],[4300,7795],[4265,7771],[4233,7763],[4194,7709],[4211,7683],[4189,7669],[4183,7644],[4154,7635],[4143,7615],[4072,7613],[4046,7594],[4045,7594]]]]}},{"type":"Feature","id":"BU","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.73,"hc-key":"bu","hc-a2":"BU","name":"Bajo Nuevo Bank (Petrel Is.)","labelrank":"8","country-abbrev":null,"subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"-99","iso-a2":"BU","woe-id":"-99","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1830,6948],[1830,6948],[1830,6948],[1830,6948],[1830,6948]]]}},{"type":"Feature","id":"MV","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.53,"hc-key":"mv","hc-a2":"MV","name":"Maldives","labelrank":"5","country-abbrev":"Mald.","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"MDV","iso-a2":"MV","woe-id":"23424899","continent":"Seven seas (open ocean)"},"geometry":{"type":"Polygon","coordinates":[[[6382,6647],[6390,6636],[6380,6637],[6384,6642],[6382,6647]]]}},{"type":"Feature","id":"SP","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"sp","hc-a2":"SP","name":"Spratly Islands","labelrank":"6","country-abbrev":"Spratly Is.","subregi
3on":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"SPI","iso-a2":"SP","woe-id":"23424921","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7642,6799],[7641,6799],[7641,6799],[7642,6799],[7642,6799]]]}},{"type":"Feature","id":"GB","properties":{"hc-group":"admin0","hc-middle-x":0.69,"hc-middle-y":0.09,"hc-key":"gb","hc-a2":"GB","name":"United Kingdom","labelrank":"2","country-abbrev":"U.K.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"GBR","iso-a2":"GB","woe-id":"-90","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4108,8458],[4110,8454],[4106,8453],[4102,8457],[4108,8458]]],[[[4112,8469],[4111,8462],[4116,8461],[4104,8463],[4112,8469]]],[[[4118,8472],[4113,8477],[4125,8471],[4121,8468],[4118,8472]]],[[[4173,8521],[4166,8500],[4165,8515],[4155,8520],[4173,8521]]],[[[4176,8534],[4182,8533],[4169,8530],[4171,8539],[4176,8534]]],[[[4181,8542],[4179,8536],[4175,8537],[4176,8542],[4181,8542]]],[[[1789,7055],[1792,7057],[1798,7055],[1792,7054],[1789,7055]]],[[[2080,7131],[2072,7131],[2072,7133],[2077,7133],[2080,7131]]],[[[2065,7134],[2063,7131],[2058,7131],[2062,7132],[2065,7134]]],[[[3994,8404],[3993,8427],[4018,8441],[4015,8421],[3994,8404]]],[[[2433,4774],[2454,4816],[2486,4811],[2491,4798],[2433,4774]]],[[[5210,7554],[5209,7553],[5207,7555],[5206,7555],[5206,7555],[5206,7554],[5204,7554],[5204,7555],[5205,7555],[5203,7556],[5206,7556],[5210,7558],[5210,7557],[5207,7557],[5210,7554]],[[5205,7555],[5206,7556],[5205,7556],[5205,7555]]],[[[4046,7594],[4045,7593],[4045,7594],[4046,7594]]],[[[5184,7543],[5181,7544],[5176,7544],[5178,7545],[5184,7543]]],[[[3989,8295],[4018,8305],[4040,8278],[4018,8256],[3987,8256],[3961,8270],[3989,8295]]],[[[4024,8390],[4056,8446],[4114,8447],[4083,8416],[4100,8407],[4147,8405],[4152,8396],[4110,8337],[4156,8317],[4168,8277],[4202,8256],[4214,8215],[4204,8207],[4254,8201],[4251,8174],[4225,8151],[4244,8137],[4212,8122],[4102,8117],[4043,8100],[4081,8140],[4113,8140],[4074,8163],[4046,8166],[4079,8182],[4080,8220],[4109,8227],[4119,8259],[4096,8272],[4103,8288],[4073,8289],[4075,8268],[4052,8286],[4067,8313],[4036,8351],[4008,8361],[4032,8367],[4003,8396],[4024,8390]]]]}},{"type":"Feature","id":"GR","properties":{"hc-group":"admin0","hc-middle-x":0.30,"hc-middle-y":0.43,"hc-key":"gr","hc-a2":"GR","name":"Greece","labelrank":"3","country-abbrev":"Greece","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"GRC","iso-a2":"GR","woe-id":"23424833","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4984,7560],[4938,7553],[4902,7565],[4922,7573],[4984,7560]]],[[[5023,7596],[5041,7604],[5037,7593],[5028,7585],[5023,7596]]],[[[5011,7610],[5003,7612],[5010,7619],[5009,7615],[5011,7610]]],[[[5002,7626],[5006,7623],[5003,7621],[5004,7624],[5002,7626]]],[[[4952,7622],[4962,7630],[4963,7623],[4957,7611],[4952,7622]]],[[[4985,7644],[4977,7640],[4975,7641],[4978,7645],[4985,7644]]],[[[5004,7649],[5007,7647],[4999,7645],[4993,7649],[5004,7649]]],[[[4978,7677],[4980,7667],[4975,7669],[4971,7677],[4978,7677]]],[[[4959,7727],[4953,7726],[4959,7743],[4966,7743],[4959,7727]]],[[[4828,7750],[4831,7753],[4828,7750],[4826,7753],[4826,7754],[4828,7756],[4831,7756],[4854,7765],[4884,7773],[4931,7781],[4953,7770],[4985,7786],[4994,7775],[4977,7752],[4947,7761],[4907,7750],[4928,7732],[4876,7743],[4874,7728],[4958,7637],[4915,7667],[4918,7646],[4893,7656],[4878,7642],[4892,7604],[4853,7613],[4838,7665],[4798,7715],[4809,7720],[4828,7750]]],[[[4989,7700],[4994,7693],[4988,7690],[4971,7698],[4986,7702],[4988,7702],[4989,7700]]]]}},{"type":"Feature","id":"AS","properties":{"hc-group":"admin0","hc-middle-x":0.56,"hc-middle-y":0.57,"hc-key":"as","hc-a2":"AS","name":"American Samoa","labelrank":"4","country-abbrev":"Am. Samoa","subregion":"Polynesia","region-wb":"East Asia & Pacific","iso-a3":"ASM","iso-a2":"AS","woe-id":"23424746","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[-859,6056],[-861,6055],[-863,6052],[-866,6054],[-859,6056]]]}},{"type":"Feature","id":"DK","properties":{"hc-group":"admin0","hc-middle-x":0.35,"hc-middle-y":0.49,"hc-key":"dk","hc-a2":"DK","name":"Denmark","labelrank":"4","country-abbrev":"Den.","subregi
3on":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"DNK","iso-a2":"DK","woe-id":"23424796","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4538,8291],[4553,8278],[4544,8277],[4531,8283],[4538,8291]]],[[[4511,8288],[4516,8286],[4512,8286],[4506,8292],[4511,8288]]],[[[4576,8293],[4566,8288],[4565,8292],[4570,8294],[4576,8293]]],[[[4495,8296],[4502,8291],[4500,8287],[4494,8289],[4495,8296]]],[[[4526,8290],[4523,8282],[4520,8286],[4529,8299],[4526,8290]]],[[[4578,8322],[4559,8280],[4533,8320],[4567,8339],[4578,8322]]],[[[4484,8285],[4466,8289],[4461,8288],[4445,8357],[4495,8381],[4519,8408],[4509,8372],[4529,8353],[4516,8338],[4525,8302],[4488,8310],[4484,8285]]]]}},{"type":"Feature","id":"GL","properties":{"hc-group":"admin0","hc-middle-x":0.55,"hc-middle-y":0.43,"hc-key":"gl","hc-a2":"GL","name":"Greenland","labelrank":"3","country-abbrev":"Grlnd.","subregion":"Northern America","region-wb":"Europe & Central Asia","iso-a3":"GRL","iso-a2":"GL","woe-id":"23424828","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2633,8910],[2635,8908],[2628,8905],[2624,8909],[2633,8910]]],[[[2656,8923],[2628,8916],[2630,8920],[2642,8923],[2656,8923]]],[[[2582,9011],[2574,9011],[2571,9017],[2578,9015],[2582,9011]]],[[[2616,9047],[2602,9051],[2613,9062],[2620,9051],[2616,9047]]],[[[2570,9117],[2557,9108],[2553,9113],[2571,9121],[2570,9117]]],[[[2552,9143],[2545,9137],[2535,9139],[2543,9143],[2552,9143]]],[[[2572,9145],[2556,9131],[2554,9142],[2564,9145],[2572,9145]]],[[[2544,9188],[2558,9180],[2554,9179],[2539,9188],[2544,9188]]],[[[2534,9206],[2543,9205],[2524,9203],[2524,9209],[2534,9206]]],[[[2528,9242],[2510,9242],[2496,9242],[2521,9246],[2528,9242]]],[[[2139,9366],[2126,9367],[2127,9369],[2140,9370],[2139,9366]]],[[[2061,9422],[2086,9417],[2076,9414],[2052,9419],[2061,9422]]],[[[2100,9424],[2119,9418],[2095,9418],[2088,9423],[2100,9424]]],[[[3690,9588],[3655,9569],[3628,9580],[3678,9596],[3690,9588]]],[[[2218,9636],[2228,9632],[2222,9631],[2218,9632],[2218,9636]]],[[[2683,9729],[2658,9730],[2626,9738],[2637,9753],[2683,9729]]],[[[2610,8952],[2619,8961],[2572,8975],[2577,9002],[2623,9002],[2661,8980],[2657,8963],[2610,8952]]],[[[2631,8765],[2626,8765],[2626,8768],[2627,8768],[2624,8771],[2612,8811],[2652,8832],[2603,8840],[2627,8897],[2686,8916],[2696,8975],[2677,8989],[2606,9011],[2584,9029],[2647,9028],[2701,9008],[2677,9040],[2647,9058],[2641,9054],[2628,9056],[2632,9066],[2636,9065],[2631,9068],[2667,9078],[2637,9080],[2624,9074],[2617,9080],[2629,9081],[2633,9081],[2599,9084],[2603,9068],[2563,9065],[2545,9082],[2553,9091],[2548,9094],[2555,9096],[2557,9095],[2575,9114],[2584,9146],[2568,9153],[2570,9153],[2556,9159],[2555,9158],[2552,9159],[2564,9178],[2541,9192],[2552,9207],[2530,9217],[2538,9235],[2510,9267],[2478,9276],[2463,9295],[2469,9316],[2398,9342],[2320,9355],[2304,9341],[2239,9349],[2231,9329],[2173,9337],[2137,9356],[2186,9374],[2115,9382],[2087,9394],[2100,9406],[2175,9418],[2222,9417],[2237,9433],[2150,9423],[2141,9438],[2088,9443],[2041,9468],[2050,9491],[2146,9510],[2185,9528],[2246,9530],[2279,9557],[2274,9591],[2214,9594],[2202,9613],[2271,9643],[2281,9658],[2335,9675],[2378,9663],[2400,9695],[2380,9712],[2465,9738],[2588,9757],[2615,9738],[2608,9698],[2633,9733],[2679,9723],[2736,9726],[2703,9741],[2687,9767],[2750,9763],[2839,9733],[2864,9715],[2891,9719],[2870,9733],[2876,9737],[2813,9756],[2770,9788],[2788,9777],[2829,9779],[2885,9759],[2877,9738],[2906,9760],[2846,9787],[2988,9787],[2850,9794],[2814,9801],[2838,9810],[2865,9802],[2879,9816],[2954,9821],[3022,9818],[3052,9816],[3056,9835],[3114,9844],[3240,9851],[3294,9849],[3443,9826],[3430,9819],[3292,9814],[3167,9796],[3259,9803],[3311,9813],[3391,9808],[3456,9816],[3478,9796],[3532,9789],[3571,9776],[3538,9755],[3318,9740],[3231,9719],[3264,9718],[3380,9734],[3473,9729],[3471,9714],[3423,9702],[3421,9689],[3499,9712],[3516,9732],[3569,9736],[3573,9695],[3518,9653],[3552,9660],[3651,9717],[3698,9699],[3735,9718],[3791,9716],[3847,9704],[3866,9691],[3808,9660],[3772,9658],[3780,9644],[3746,9634],[3698,9635],[3735,9618],[3716,9605],[3647,9598],[3600,9582],[3634,9570],[3623,9548],[3641,9533],[3613,9524],[3628,9503],[3597,9514],[3572,9475],[3569,9450],[3634,9453],[3630,9441],[3674,9435],[3630,9427],[3586,9435],[3597,9418],[3660,9407],[3648,9365],[3653,9329],[3637,9361],[3647,9379],[3595,9391],[3559,9373],[3560,9348],[3612,9348],[3630,9296],[3689,9274],[3657,9271],[3629,9229],[3573,9218],[3594,9181],[3565,9184],[3542,9170],[3492,9190],[3428,9169],[3444,9165],[3441,9166],[3478,9180],[3514,9160],[3554,9151],[3554,9138],[3524,9143],[3553,9127],[3532,9126],[3545,9106],[3481,9133],[3477,9146],[3501,9146],[3476,9150],[3457,9159],[3441,9150],[3476,9123],[3536,9094],[3520,9084],[3557,9059],[3567,9020],[3511,9014],[3484,9049],[3437,9076],[3445,9055],[3375,9038],[3366,9011],[3394,9014],[3371,9014],[3383,9030],[3452,9049],[3453,9026],[3427,9015],[3407,9015],[3376,8996],[3394,8990],[3453,9013],[3505,8997],[3540,8997],[3514,8972],[3489,8966],[3424,8922],[3372,8915],[3332,8897],[3254,8889],[3215,8864],[3216,8851],[3176,8805],[3124,8778],[3080,8766],[3076,8798],[3061,8771],[3013,8760],[3032,8753],[3009,8738],[2992,8708],[3002,8677],[2953,8623],[2939,8546],[2915,8528],[2921,8504],[2888,8501],[2857,8515],[2855,8534],[2781,8544],[2749,8569],[2741,8603],[2711,8619],[2716,8640],[2679,8665],[2683,8709],[2658,8696],[2660,8737],[2631,8765]]]]}},{"type":"Feature","id":"GU","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.44,"hc-key":"gu","hc-a2":"GU","name":"Guam","labelrank":"6","country-abbrev":"Guam","subregi
3on":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"GUM","iso-a2":"GU","woe-id":"23424832","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[8501,6877],[8498,6871],[8496,6877],[8503,6884],[8501,6877]]]}},{"type":"Feature","id":"MP","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.49,"hc-key":"mp","hc-a2":"MP","name":"Northern Mariana Islands","labelrank":"6","country-abbrev":"N.M.I.","subregion":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"MNP","iso-a2":"MP","woe-id":"23424788","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[8526,6925],[8528,6930],[8531,6932],[8529,6927],[8526,6925]]]}},{"type":"Feature","id":"PR","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.65,"hc-key":"pr","hc-a2":"PR","name":"Puerto Rico","labelrank":"5","country-abbrev":"P.R.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"PRI","iso-a2":"PR","woe-id":"23424935","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2267,7024],[2239,7013],[2212,7014],[2213,7031],[2267,7024]]]}},{"type":"Feature","id":"VI","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.19,"hc-key":"vi","hc-a2":"VI","name":"United States Virgin Islands","labelrank":"6","country-abbrev":"V.I. (U.S.)","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"VIR","iso-a2":"VI","woe-id":"23424985","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2283,7008],[2288,7008],[2278,7005],[2279,7008],[2283,7008]]]}},{"type":"Feature","id":"CA","properties":{"hc-group":"admin0","hc-middle-x":0.29,"hc-middle-y":0.64,"hc-key":"ca","hc-a2":"CA","name":"Canada","labelrank":"2","country-abbrev":"Can.","subregion":"Northern America","region-wb":"North America","iso-a3":"CAN","iso-a2":"CA","woe-id":"23424775","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[1713,9425],[1665,9428],[1680,9462],[1643,9470],[1608,9466],[1608,9487],[1634,9510],[1674,9517],[1735,9510],[1777,9514],[1703,9520],[1681,9564],[1638,9573],[1639,9612],[1717,9607],[1765,9581],[1781,9562],[1787,9587],[1735,9612],[1889,9631],[1831,9632],[1931,9652],[1841,9647],[1743,9627],[1715,9642],[1699,9625],[1630,9631],[1649,9658],[1614,9633],[1551,9650],[1631,9659],[1637,9668],[1538,9660],[1523,9671],[1581,9700],[1519,9685],[1545,9704],[1475,9704],[1503,9719],[1590,9738],[1689,9729],[1630,9740],[1671,9751],[1659,9764],[1742,9752],[1829,9728],[1749,9758],[1768,9779],[1812,9771],[1783,9788],[1833,9786],[1825,9799],[1915,9793],[1945,9807],[2002,9803],[2013,9793],[2038,9809],[2136,9812],[2138,9803],[2235,9795],[2168,9776],[2203,9778],[2284,9797],[2337,9767],[2377,9766],[2384,9744],[2294,9710],[2264,9713],[2226,9694],[2125,9670],[2289,9698],[2178,9642],[2107,9600],[2083,9572],[2026,9575],[2032,9559],[1951,9546],[1907,9553],[1909,9541],[1994,9538],[1993,9525],[1945,9531],[1892,9527],[1955,9522],[1989,9509],[1984,9496],[1934,9493],[1975,9482],[1961,9465],[1901,9446],[1881,9418],[1807,9415],[1859,9401],[1848,9390],[1892,9392],[1896,9373],[1852,9352],[1863,9324],[1837,9325],[1849,9351],[1798,9340],[1807,9358],[1714,9361],[1699,9351],[1610,9360],[1531,9362],[1516,9376],[1584,9403],[1602,9416],[1587,9445],[1616,9451],[1653,9439],[1658,9421],[1713,9425]],[[1713,9425],[1714,9425],[1714,9425],[1714,9425],[1714,9425],[1714,9425],[1729,9427],[1747,9459],[1714,9425],[1714,9425],[1714,9425],[1714,9425],[1713,9425]]],[[[1858,7836],[1858,7833],[1862,7830],[1790,7820],[1752,7798],[1739,7807],[1758,7809],[1751,7816],[1755,7820],[1758,7833],[1778,7845],[1791,7914],[1827,7886],[1838,7897],[1808,7939],[1708,7954],[1708,7961],[1697,7959],[1686,8013],[1656,8016],[1639,8046],[1591,8054],[1546,8016],[1491,8018],[1455,8037],[1379,8054],[561,8054],[555,8058],[553,8054],[551,8054],[545,8069],[502,8091],[506,8102],[499,8104],[501,8103],[504,8100],[499,8097],[497,8104],[488,8106],[489,8108],[486,8110],[485,8107],[476,8108],[474,8109],[464,8111],[472,8108],[471,8108],[468,8109],[472,8107],[474,8108],[480,8106],[485,8099],[485,8098],[490,8093],[490,8093],[508,8069],[539,8044],[537,8052],[544,8047],[553,8046],[540,8044],[545,8040],[537,8028],[504,8038],[448,8070],[445,8079],[446,8079],[443,8087],[443,8087],[442,8091],[411,8096],[393,8123],[409,8127],[448,8116],[450,8117],[447,8118],[456,8118],[459,8122],[456,8125],[447,8118],[412,8138],[406,8174],[401,8161],[398,8166],[401,8173],[406,8174],[406,8175],[407,8175],[409,8178],[406,8178],[405,8179],[408,8179],[407,8183],[405,8181],[402,8201],[387,8216],[379,8197],[370,8211],[371,8215],[366,8216],[366,8220],[371,8223],[371,8217],[373,8223],[384,8218],[380,8222],[387,8253],[374,8237],[381,8240],[379,8235],[373,8232],[372,8234],[366,8227],[332,8264],[346,8293],[346,8304],[346,8330],[292,8359],[245,8436],[199,8475],[183,8497],[158,8488],[126,8458],[120,8473],[74,8510],[20,8520],[19,8972],[75,8965],[132,8936],[172,8933],[173,8954],[234,8964],[250,8959],[335,9000],[361,8992],[287,8966],[261,8941],[310,8969],[318,8952],[336,8974],[431,9004],[446,8976],[481,8955],[509,8996],[512,8957],[549,8964],[555,8982],[600,8978],[635,8959],[701,8939],[762,8928],[763,8938],[815,8916],[820,8899],[792,8901],[776,8883],[825,8871],[894,8872],[929,8885],[965,8875],[975,8854],[999,8850],[1012,8813],[1023,8842],[999,8872],[1069,8919],[1010,8895],[975,8901],[991,8919],[1064,8932],[1078,8905],[1103,8888],[1137,8887],[1191,8870],[1215,8879],[1285,8876],[1309,8866],[1275,8905],[1318,8911],[1331,8888],[1358,8902],[1341,8860],[1375,8831],[1371,8890],[1389,8888],[1427,8930],[1396,8925],[1405,8962],[1349,8984],[1339,9009],[1342,9061],[1378,9097],[1396,9099],[1380,9098],[1381,9125],[1363,9145],[1363,9192],[1377,9214],[1424,9223],[1466,9213],[1527,9207],[1478,9147],[1462,9139],[1410,9143],[1430,9125],[1411,9101],[1398,9100],[1438,9070],[1443,9037],[1487,8999],[1448,8975],[1480,8964],[1520,8932],[1525,8899],[1543,8940],[1565,8950],[1594,8924],[1580,8901],[1607,8842],[1655,8889],[1662,8924],[1690,8940],[1667,8953],[1666,8979],[1701,8983],[1715,8980],[1715,8982],[1725,8979],[1723,8978],[1752,8972],[1790,8948],[1776,8934],[1792,8919],[1751,8910],[1793,8859],[1785,8836],[1730,8804],[1700,8835],[1720,8796],[1674,8800],[1668,8815],[1628,8808],[1656,8794],[1611,8754],[1595,8754],[1542,8784],[1562,8753],[1621,8749],[1593,8699],[1561,8687],[1534,8698],[1528,8674],[1504,8670],[1505,8669],[1514,8666],[1512,8664],[1511,8666],[1505,8669],[1514,8645],[1453,8618],[1404,8545],[1390,8504],[1401,8450],[1439,8451],[1460,8395],[1454,8374],[1503,8387],[1566,8370],[1605,8336],[1693,8303],[1761,8295],[1767,8244],[1762,8210],[1837,8137],[1874,8185],[1860,8212],[1855,8257],[1837,8278],[1896,8304],[1928,8336],[1934,8367],[1917,8417],[1872,8446],[1910,8497],[1884,8545],[1903,8573],[1885,8610],[1905,8624],[1985,8603],[2018,8619],[2077,8581],[2073,8567],[2145,8542],[2132,8530],[2143,8458],[2163,8459],[2196,8424],[2251,8456],[2259,8494],[2279,8522],[2293,8517],[2299,8495],[2302,8500],[2305,8496],[2301,8493],[2299,8495],[2303,8480],[2323,8475],[2336,8445],[2383,8381],[2366,8360],[2429,8297],[2504,8272],[2482,8261],[2509,8241],[2548,8229],[2554,8180],[2513,8148],[2465,8139],[2429,8106],[2372,8097],[2354,8104],[2232,8103],[2205,8067],[2155,8046],[2129,8008],[2086,7969],[2038,7949],[1987,7905],[1970,7900
3],[1955,7886],[1860,7863],[1837,7844],[1858,7842],[1858,7838],[1858,7836]],[[456,8113],[455,8114],[454,8114],[456,8113]],[[544,8070],[543,8075],[540,8074],[540,8071],[544,8070]],[[424,8181],[428,8188],[413,8181],[409,8169],[424,8181]],[[1315,8873],[1309,8871],[1310,8867],[1315,8870],[1315,8873]],[[466,8061],[471,8060],[471,8063],[469,8063],[466,8061]],[[463,8065],[462,8069],[458,8069],[458,8065],[463,8065]]],[[[2286,8678],[2286,8639],[2268,8632],[2229,8643],[2201,8663],[2198,8647],[2247,8606],[2237,8590],[2170,8608],[2139,8627],[2076,8651],[2080,8670],[2048,8683],[2024,8719],[1988,8708],[1954,8719],[1928,8699],[1894,8707],[1885,8735],[1906,8760],[1956,8748],[2002,8763],[2024,8760],[1994,8794],[2039,8823],[2062,8850],[2038,8899],[2013,8904],[1964,8939],[1930,8922],[1930,8939],[1961,8950],[1899,8982],[1899,9001],[1861,9008],[1866,8984],[1778,8998],[1766,8979],[1644,8997],[1572,9016],[1546,9050],[1612,9042],[1590,9056],[1539,9063],[1530,9095],[1546,9144],[1564,9172],[1599,9197],[1631,9204],[1678,9202],[1631,9145],[1640,9100],[1686,9060],[1667,9114],[1696,9106],[1661,9135],[1676,9169],[1746,9198],[1785,9197],[1822,9141],[1805,9098],[1835,9128],[1862,9100],[1876,9132],[1901,9142],[1972,9127],[1970,9106],[2001,9104],[2000,9085],[2036,9059],[2053,9080],[2094,9059],[2066,9049],[2064,9043],[2072,9048],[2082,9041],[2103,9051],[2091,9022],[2129,9038],[2175,9022],[2212,8976],[2191,8974],[2194,8971],[2188,8967],[2194,8966],[2201,8970],[2207,8967],[2198,8965],[2209,8962],[2222,8945],[2194,8940],[2183,8927],[2180,8928],[2174,8928],[2182,8926],[2175,8917],[2219,8908],[2228,8897],[2231,8899],[2238,8899],[2237,8895],[2228,8896],[2237,8885],[2276,8889],[2307,8851],[2310,8851],[2317,8853],[2324,8851],[2323,8851],[2334,8850],[2324,8830],[2364,8838],[2380,8805],[2348,8798],[2346,8770],[2315,8760],[2319,8733],[2288,8742],[2220,8813],[2190,8809],[2212,8787],[2187,8765],[2258,8726],[2254,8713],[2286,8689],[2286,8685],[2286,8685],[2287,8680],[2292,8674],[2286,8678]],[[2063,9038],[2061,9032],[2070,9036],[2065,9034],[2063,9038]],[[2187,8974],[2164,8972],[2177,8969],[2187,8974]]],[[[2096,7974],[2093,7974],[2100,7980],[2101,7977],[2096,7974]]],[[[533,8059],[538,8053],[544,8051],[538,8052],[533,8059]]],[[[2301,8091],[2368,8068],[2357,8057],[2317,8069],[2301,8091]]],[[[495,8094],[493,8097],[495,8100],[498,8096],[495,8094]]],[[[409,8150],[403,8151],[401,8156],[405,8160],[409,8150]]],[[[1857,8175],[1850,8170],[1841,8168],[1841,8172],[1857,8175]]],[[[316,8175],[314,8174],[313,8171],[313,8177],[316,8175]]],[[[399,8172],[397,8175],[398,8179],[401,8179],[399,8172]]],[[[397,8181],[396,8177],[390,8177],[392,8181],[397,8181]]],[[[385,8190],[387,8184],[385,8182],[383,8189],[385,8190]]],[[[390,8195],[391,8191],[390,8189],[384,8195],[390,8195]]],[[[297,8200],[302,8200],[303,8197],[299,8195],[297,8200]]],[[[394,8186],[392,8196],[394,8203],[397,8191],[394,8186]]],[[[366,8203],[377,8196],[378,8191],[372,8194],[366,8203]]],[[[398,8196],[397,8198],[396,8202],[400,8203],[398,8196]]],[[[359,8213],[360,8209],[357,8209],[354,8216],[359,8213]]],[[[363,8217],[367,8211],[364,8211],[361,8219],[363,8217]]],[[[1788,8220],[1797,8219],[1809,8199],[1769,8212],[1788,8220]]],[[[1834,8218],[1836,8216],[1832,8215],[1833,8218],[1834,8218]]],[[[378,8225],[372,8224],[371,8226],[376,8233],[378,8225]]],[[[329,8230],[331,8237],[350,8227],[348,8218],[329,8230]]],[[[343,8235],[336,8236],[334,8239],[340,8242],[343,8235]]],[[[353,8238],[366,8226],[359,8220],[337,8245],[353,8238]]],[[[327,8256],[336,8254],[339,8250],[328,8243],[327,8256]]],[[[314,8276],[324,8276],[326,8266],[318,8270],[314,8276]]],[[[1852,8288],[1842,8285],[1840,8286],[1859,8290],[1852,8288]]],[[[333,8283],[332,8285],[341,8294],[338,8286],[333,8283]]],[[[1861,8337],[1867,8352],[1869,8353],[1869,8342],[1861,8337]]],[[[1843,8360],[1842,8352],[1831,8342],[1841,8352],[1843,8360]]],[[[1834,8370],[1832,8369],[1834,8374],[1838,8369],[1834,8370]]],[[[2200,8432],[2196,8433],[2197,8436],[2199,8437],[2200,8432]]],[[[2155,8463],[2146,8461],[2146,8468],[2153,8468],[2155,8463]]],[[[1818,8492],[1823,8494],[1825,8492],[1822,8490],[1818,8492]]],[[[1830,8501],[1833,8500],[1829,8496],[1825,8495
3],[1830,8501]]],[[[2284,8532],[2292,8519],[2283,8523],[2280,8528],[2284,8532]]],[[[2184,8533],[2191,8527],[2187,8519],[2174,8520],[2184,8533]]],[[[1883,8544],[1879,8541],[1869,8538],[1871,8541],[1883,8544]]],[[[2281,8579],[2279,8566],[2261,8578],[2274,8583],[2281,8579]]],[[[2252,8589],[2255,8585],[2247,8587],[2252,8591],[2252,8589]]],[[[1449,8594],[1442,8589],[1438,8593],[1443,8593],[1449,8594]]],[[[2273,8593],[2280,8586],[2271,8587],[2267,8591],[2273,8593]]],[[[1847,8614],[1850,8596],[1837,8578],[1824,8603],[1847,8614]]],[[[1463,8614],[1464,8616],[1470,8615],[1467,8613],[1463,8614]]],[[[2284,8621],[2293,8621],[2287,8613],[2277,8616],[2284,8621]]],[[[1894,8622],[1887,8624],[1901,8624],[1897,8621],[1894,8622]]],[[[2278,8622],[2272,8621],[2274,8624],[2278,8624],[2278,8622]]],[[[1995,8630],[2007,8628],[2009,8625],[1997,8626],[1995,8630]]],[[[2103,8635],[2121,8624],[2105,8622],[2090,8637],[2103,8635]]],[[[1767,8641],[1772,8629],[1737,8605],[1714,8619],[1732,8640],[1767,8641]]],[[[2222,8640],[2222,8639],[2213,8647],[2218,8646],[2222,8640]]],[[[1877,8666],[1899,8663],[1902,8651],[1891,8647],[1877,8666]]],[[[2300,8671],[2296,8665],[2297,8658],[2290,8672],[2300,8671]]],[[[1914,8674],[1932,8665],[1919,8662],[1906,8671],[1914,8674]]],[[[2297,8678],[2295,8679],[2295,8682],[2300,8681],[2297,8678]]],[[[1903,8691],[1897,8687],[1890,8688],[1891,8690],[1903,8691]]],[[[2277,8700],[2275,8699],[2274,8705],[2278,8702],[2277,8700]]],[[[2022,8713],[2021,8705],[2018,8705],[2017,8715],[2022,8713]]],[[[2266,8724],[2269,8720],[2255,8714],[2261,8722],[2266,8724]]],[[[2351,8774],[2357,8774],[2360,8769],[2350,8770],[2351,8774]]],[[[1732,8779],[1726,8777],[1725,8780],[1730,8780],[1732,8779]]],[[[1679,8789],[1689,8780],[1691,8765],[1678,8775],[1679,8789]]],[[[1701,8792],[1719,8784],[1729,8768],[1707,8775],[1701,8792]]],[[[1737,8802],[1744,8800],[1741,8796],[1732,8800],[1737,8802]]],[[[2352,8845],[2353,8844],[2340,8837],[2345,8845],[2352,8845]]],[[[1017,8840],[1013,8840],[1010,8844],[1011,8846],[1017,8840]]],[[[1002,8856],[1000,8852],[995,8857],[1002,8860],[1002,8856]]],[[[987,8864],[990,8864],[988,8859],[984,8863],[987,8864]]],[[[2311,8862],[2304,8863],[2306,8869],[2311,8864],[2311,8862]]],[[[1001,8864],[995,8864],[996,8870],[999,8869],[1001,8864]]],[[[843,8882],[837,8883],[852,8884],[852,8882],[843,8882]]],[[[997,8881],[992,8881],[993,8884],[996,8885],[997,8881]]],[[[964,8886],[973,8884],[971,8880],[965,8883],[964,8886]]],[[[959,8889],[960,8886],[955,8889],[955,8892],[959,8889]]],[[[944,8895],[952,8898],[942,8891],[932,8889],[944,8895]]],[[[2000,8891],[2025,8885],[2025,8875],[1996,8875],[2000,8891]]],[[[1641,8883],[1634,8873],[1624,8883],[1631,8902],[1641,8883]]],[[[890,8898],[887,8898],[889,8902],[894,8903],[890,8898]]],[[[1961,8903],[1974,8899],[1976,8864],[1952,8849],[1919,8848],[1909,8872],[1928,8900],[1961,8903]]],[[[1859,8896],[1854,8898],[1855,8904],[1865,8901],[1859,8896]]],[[[1767,8905],[1771,8904],[1768,8902],[1763,8905],[1767,8905]]],[[[2003,8899],[1996,8909],[2001,8909],[2005,8904],[2003,8899]]],[[[917,8916],[917,8914],[919,8912],[907,8911],[917,8916]]],[[[1102,8907],[1086,8915],[1097,8916],[1104,8913],[1102,8907]]],[[[1872,8919],[1870,8911],[1860,8911],[1869,8917],[1872,8919]]],[[[1993,8916],[1985,8915],[1981,8919],[1984,8921],[1993,8916]]],[[[1981,8915],[1984,8904],[1966,8913],[1971,8924],[1981,8915]]],[[[1184,8927],[1182,8916],[1167,8922],[1176,8929],[1184,8927]]],[[[1232,8934],[1224,8924],[1218,8926],[1218,8938],[1232,8934]]],[[[1236,8935],[1230,8938],[1232,8946],[1235,8943],[1236,8935]]],[[[166,8945],[168,8943],[161,8944],[162,8948],[166,8945]]],[[[1187,8943],[1188,8950],[1191,8949],[1190,8944],[1187,8943]]],[[[1516,8957],[1520,8950],[1516,8949],[1513,8957],[1516,8957]]],[[[1876,8959],[1876,8950],[1864,8933],[1847,8934],[1876,8959]]],[[[181,8968],[186,8972],[180,8962],[173,8964],[181,8968]]],[[[1779,8961],[1785,8959],[1786,8956],[1774,8960],[1779,8961]]],[[[1528,8959],[1523,8951],[1518,8955],[1523,8961],[1528,8959]]],[[[1918,8960],[1929,8958],[1914,8944],[1907,8952],[1918,8960]]],[[[1199,8967],[1208,8963],[1201,8958],[1198,8962],[1199,8967]]],[[[1336,8968],[1351,8968],[1351,8957],[1339,8963],[1336,8968]]],[[[1365,8970],[1373,8966],[1364,8955],[1363,8967],[1365,8970]]],[[[83,8969],[76,8966],[71,8969],[76,8972],[83,8969]]],[[[1890,8974],[1874,8964],[1864,8965],[1881,8977],[1890,8974]]],[[[1840,8981],[1844,8971],[1807,8973],[1823,8980],[1840,8981]]],[[[1756,8978],[1754,8977],[1746,8979],[1751,8982],[1756,8978]]],[[[1479,8982],[1481,8985],[1489,8981],[1487,8976],[1479,8982]]],[[[1315,8986],[1312,8986],[1311,8988],[1315,8988],[1315,8986]]],[[[1622,8997
3],[1634,8997],[1629,8989],[1611,8996],[1622,8997]]],[[[890,9007],[877,9007],[872,9011],[884,9008],[890,9007]]],[[[748,9020],[758,9020],[744,9016],[738,9020],[748,9020]]],[[[735,9020],[725,9020],[723,9021],[725,9023],[735,9020]]],[[[403,9024],[398,9023],[395,9020],[398,9026],[403,9024]]],[[[1216,9028],[1222,9027],[1230,9016],[1217,9020],[1216,9028]]],[[[2033,9068],[2043,9069],[2038,9062],[2030,9064],[2033,9068]]],[[[2046,9075],[2038,9075],[2040,9080],[2045,9081],[2046,9075]]],[[[1100,9174],[1080,9147],[1043,9179],[1041,9196],[1083,9199],[1100,9174]]],[[[1106,9352],[1117,9374],[1155,9352],[1166,9333],[1127,9326],[1106,9352]]],[[[1524,9434],[1544,9415],[1530,9407],[1498,9420],[1524,9434]]],[[[1088,9420],[1104,9404],[1081,9404],[1056,9441],[1088,9420]]],[[[1664,8007],[1660,8006],[1654,8006],[1656,8009],[1664,8007]]],[[[1600,8048],[1604,8045],[1593,8045],[1594,8049],[1600,8048]]],[[[1763,7943],[1772,7941],[1776,7924],[1734,7937],[1763,7943]]],[[[1732,7940],[1731,7937],[1726,7938],[1728,7941],[1732,7940]]],[[[1710,7953],[1718,7950],[1713,7944],[1709,7949],[1710,7953]]],[[[1938,7875],[1934,7873],[1936,7876],[1943,7877],[1938,7875]]],[[[1366,9443],[1437,9441],[1429,9423],[1355,9424],[1366,9443]]],[[[2430,7942],[2394,7922],[2378,7943],[2406,7980],[2411,7952],[2430,7942]]],[[[2364,7988],[2365,7958],[2348,7940],[2327,7957],[2361,7959],[2364,7988]]],[[[277,8210],[270,8217],[293,8221],[295,8199],[277,8210]]],[[[257,8259],[297,8258],[287,8221],[261,8230],[257,8259]]],[[[1844,8337],[1829,8330],[1851,8362],[1858,8352],[1844,8337]]],[[[1395,9317],[1429,9288],[1426,9252],[1382,9254],[1337,9272],[1349,9299],[1395,9317]]],[[[957,9478],[905,9483],[849,9475],[844,9483],[927,9507],[955,9496],[957,9478]]],[[[1358,9489],[1390,9481],[1388,9465],[1330,9444],[1302,9460],[1284,9490],[1291,9511],[1350,9498],[1358,9489]]],[[[2210,7911],[2202,7914],[2203,7927],[2195,7929],[2192,7933],[2192,7982],[2149,7996],[2126,7968],[2118,7937],[2082,7905],[1987,7905],[2022,7920],[2033,7943],[2111,7979],[2155,8025],[2239,8062],[2276,8063],[2298,8050],[2295,8032],[2262,8016],[2230,8020],[2256,8004],[2290,8010],[2271,7986],[2302,7943],[2350,7927],[2367,7937],[2394,7917],[2333,7893],[2308,7894],[2257,7848],[2239,7871],[2245,7889],[2279,7910],[2289,7938],[2249,7913],[2210,7911]]],[[[2018,7927],[2024,7931],[2021,7924],[2020,7921],[2009,7921],[2015,7925],[2012,7925],[2016,7930],[2021,7930],[2018,7927]]],[[[518,8075],[504,8083],[514,8081],[518,8075],[518,8075],[518,8075]]],[[[629,9322],[617,9345],[604,9327],[571,9328],[559,9347],[597,9359],[678,9417],[749,9430],[780,9414],[754,9406],[765,9375],[730,9364],[718,9338],[684,9302],[660,9308],[712,9340],[710,9380],[687,9377],[670,9338],[629,9322]]],[[[2606,8006],[2634,8020],[2643,7998],[2633,7971],[2596,7976],[2607,7995],[2574,7990],[2550,7973],[2552,8004],[2449,8000],[2441,8012],[2462,8038],[2521,8144],[2553,8130],[2521,8094],[2558,8090],[2552,8069],[2599,8083],[2618,8064],[2604,8038],[2629,8033],[2606,8006]]],[[[1663,8674],[1617,8670],[1645,8694],[1639,8718],[1654,8775],[1667,8783],[1687,8748],[1694,8761],[1761,8726],[1784,8700],[1824,8681],[1800,8664],[1725,8695],[1722,8679],[1673,8648],[1663,8674]]],[[[1295,8985],[1330,8964],[1360,8932],[1379,8931],[1340,8910],[1312,8914],[1248,8940],[1284,8957],[1295,8985]]],[[[1118,9032],[1191,8997],[1210,8979],[1165,8981],[1152,8958],[1175,8964],[1181,8940],[1135,8927],[1046,8948],[1043,8964],[1019,8939],[971,8925],[843,8910],[830,8948],[762,8954],[719,8990],[733,8998],[815,9008],[894,9005],[875,9018],[821,9029],[760,9020],[715,9023],[691,9046],[758,9065],[767,9075],[697,9065],[700,9081],[671,9079],[670,9095],[698,9112],[685,9123],[721,9151],[804,9178],[822,9164],[829,9134],[850,9157],[903,9140],[890,9116],[922,9133],[946,9128],[919,9156],[937,9155],[980,9131],[1007,9079],[1021,9094],[1006,9107],[996,9142],[999,9187],[1024,9167],[1044,9168],[1077,9144],[1079,9125],[1107,9076],[1100,9049],[1118,9032]]],[[[1885,9194],[1941,9161],[1939,9145],[1830,9148],[1807,9172],[1804,9199],[1885,9194]]],[[[1340,9095],[1291,9080],[1274,9059],[1217,9110],[1182,9118],[1155,9145],[1179,9161],[1198,9140],[1223,9141],[1230,9163],[1188,9184],[1204,9198],[1291,9219],[1302,9241],[1296,9210],[1318,9205],[1321,9178],[1285,9158],[1318,9154],[1331,9167],[1346,9123],[1340,9095]]],[[[596,9246],[638,9229],[700,9230],[736,9218],[782,9183],[668,9135],[638,9108],[624,9071],[551,9049],[522,9083],[467,9098],[499,9159],[531,9200],[502,9234],[596,9246]]],[[[1227,9273],[1215,9298],[1242,9311],[1158,9302],[1138,9317],[1171,9332],[1183,9360],[1242,9329],[1202,9368],[1208,9378],[1306,9362],[1313,9300],[1295,9274],[1227,9273]]],[[[938,9326],[960,9339],[928,9351],[976,9386],[984,9335],[1027,9326],[1040,9336],[1073,9326],[1073,9306],[1130,9283],[1100,9275],[1068,9293],[1058,9276],[987,9267],[975,9276],[890,9242],[830,9239],[808,9254],[857,9271],[887,9271],[912,9287],[822,9276],[820,9294],[792,9270],[717,9284],[764,9354],[794,9364],[795,9380],[808,9377],[822,9344],[851,9349],[896,9323],[902,9303],[972,9302],[974,9314],[938,9326]]],[[[1848,9265],[1825,9250],[1777,9240],[1726,9247],[1603,9240],[1567,9252],[1535,9244],[1473,9259],[1459,9285],[1470,9325],[1440,9355],[1412,9348],[1360,9357],[1331,9393],[1362,9399],[1423,9389],[1442,9371],[1490,9375],[1552,9344],[1528,9336],[1587,9303],[1652,9304],[1719,9322],[1797,9319],[1840,9300],[1841,9283],[1817,9274],[1848,9265]]],[[[933,9426],[877,9415],[845,9427],[833,9446],[816,9439],[788,9455],[811,9463],[843,9452],[918,9464],[949,9456],[933,9426]]],[[[1126,9547],[1165,9524],[1187,9528],[1249,9496],[1240,9486],[1266,9450],[1200,9447],[1205,9471],[1154,9471],[1155,9482],[1104,9475],[1087,9490],[1131,9490],[1115,9522],[1071,9525],[1076,9545],[1126,9547]]],[[[1511,9629],[1553,9627],[1562,9603],[1579,9620],[1601,9618],[1623,9584],[1617,9561],[1665,9561],[1684,9542],[1637,9527],[1563,9469],[1474,9471],[1406,9521],[1437,9534],[1477,9534],[1456,9553],[1417,9540],[1362,9550],[1334,9600],[1389,9593],[1338,9609],[1354,9630],[1379,9632],[1370,9645],[1389,9663],[1439,9666],[1403,9677],[1436,9685],[1480,9670],[1511,9629]]],[[[518,8075],[519,8073],[519,8072],[518,8075],[518,8075],[518,8075]]]]}},{"type":"Feature","id":"ST","properties":{"hc-group":"admin0","hc-middle-x":0.55,"hc-middle-y":0.50,"hc-key":"st","hc-a2":"ST","name":"Sao Tome and Principe","labelrank":"6","country-abbrev":"S.T.P.","subregi
3on":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"STP","iso-a2":"ST","woe-id":"23424966","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4400,6481],[4396,6485],[4401,6491],[4405,6487],[4400,6481]]]}},{"type":"Feature","id":"CV","properties":{"hc-group":"admin0","hc-middle-x":0.56,"hc-middle-y":0.50,"hc-key":"cv","hc-a2":"CV","name":"Cape Verde","labelrank":"4","country-abbrev":"C.Vd.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"CPV","iso-a2":"CV","woe-id":"23424794","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3499,6934],[3506,6928],[3507,6922],[3499,6925],[3499,6934]]]}},{"type":"Feature","id":"DM","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.47,"hc-key":"dm","hc-a2":"DM","name":"Dominica","labelrank":"6","country-abbrev":"D\'inca","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"DMA","iso-a2":"DM","woe-id":"23424798","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2382,6942],[2386,6936],[2383,6930],[2380,6939],[2382,6942]]]}},{"type":"Feature","id":"NL","properties":{"hc-group":"admin0","hc-middle-x":0.99,"hc-middle-y":0.01,"hc-key":"nl","hc-a2":"NL","name":"Netherlands","labelrank":"5","country-abbrev":"Neth.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"NLD","iso-a2":"NL","woe-id":"-90","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4369,8229],[4359,8225],[4360,8227],[4372,8230],[4369,8229]]],[[[2334,7016],[2331,7016],[2331,7017],[2334,7016]]],[[[4303,8146],[4315,8146],[4329,8146],[4317,8140],[4303,8146]]],[[[4417,8221],[4412,8180],[4393,8164],[4382,8122],[4353,8150],[4330,8146],[4318,8156],[4355,8209],[4396,8234],[4417,8221]]]]}},{"type":"Feature","id":"JM","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.52,"hc-key":"jm","hc-a2":"JM","name":"Jamaica","labelrank":"4","country-abbrev":"Jam.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"JAM","iso-a2":"JM","woe-id":"23424858","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1906,7029],[1943,7013],[1913,7006],[1878,7023],[1906,7029]]]}},{"type":"Feature","id":"WS","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.54,"hc-key":"ws","hc-a2":"WS","name":"Samoa","labelrank":"4","country-abbrev":"Samoa","subregion":"Polynesia","region-wb":"East Asia & Pacific","iso-a3":"WSM","iso-a2":"WS","woe-id":"23424992","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[-909,6078],[-907,6069],[-916,6069],[-924,6078],[-909,6078]]]}},{"type":"Feature","id":"OM","properties":{"hc-group":"admin0","hc-middle-x":0.88,"hc-middle-y":0.44,"hc-key":"om","hc-a2":"OM","name":"Oman","labelrank":"4","country-abbrev":"Oman","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"OMN","iso-a2":"OM","woe-id":"23424898","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5874,7239],[5873,7238],[5873,7241],[5876,7241],[5874,7239]]],[[[5868,7265],[5877,7275],[5874,7251],[5870,7253],[5868,7265]]],[[[5747,7045],[5836,7076],[5855,7137],[5842,7160],[5860,7228],[5877,7231],[5900,7199],[5948,7186],[5979,7145],[5916,7068],[5920,7047],[5885,7033],[5876,7013],[5849,7010],[5837,6985],[5780,6974],[5769,6994],[5747,7045]]]]}},{"type":"Feature","id":"VC","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"vc","hc-a2":"VC","name":"Saint Vincent and the Grenadines","labelrank":"6","country-abbrev":"St.V.G.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"VCT","iso-a2":"VC","woe-id":"23424981","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2388,6865],[2385,6871],[2389,6875],[2390,6870],[2388,6865]]]}},{"type":"Feature","id":"TR","properties":{"hc-group":"admin0","hc-middle-x":0.34,"hc-middle-y":0.49,"hc-key":"tr","hc-a2":"TR","name":"Turkey","labelrank":"2","country-abbrev":"Tur.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"TUR","iso-a2":"TR","woe-id":"23424969","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4974,7732],[4969,7730],[4966,7731],[4973,7735],[4974,7732]]],[[[5035,7796],[5068,7769],[5021,7761],[5011,7748],[4977,7752],[4994,7775],[4985,7786],[5007,7799],[5035,7796]]],[[[5534,7714],[5510,7704],[5516,7656],[5532,7628],[5472,7635],[5461,7627],[5457,7634],[5384,7614],[5338,7620],[5291,7617],[5270,7586],[5272,7620],[5252,7608],[5229,7615],[5177,7590],[5154,7607],[5115,7619],[5106,7597],[5085,7593],[5044,7625],[5011,7635],[5012,7657],[4983,7666],[5007,7687],[4989,7700],[4986,7702],[4979,7707],[4997,7740],[5069,7741],[5071,7770],[5131,7764],[5193,7797],[5271,7787],[5318,7762],[5374,7765],[5395,7758],[5436,7779],[5474,7782],[5493,7765],[5500,7730],[5533,7716],[5534,7714]]]]}},{"type":"Feature","id":"BD","properties":{"hc-group":"admin0","hc-middle-x":0.85,"hc-middle-y":0.61,"hc-key":"bd","hc-a2":"BD","name":"Bangladesh","labelrank":"3","country-abbrev":"Bang.","subregi
3on":"Southern Asia","region-wb":"South Asia","iso-a3":"BGD","iso-a2":"BD","woe-id":"23424759","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6942,7109],[6918,7163],[6880,7132],[6847,7142],[6832,7189],[6837,7209],[6816,7220],[6843,7237],[6818,7260],[6829,7277],[6870,7262],[6886,7236],[6935,7237],[6949,7229],[6909,7188],[6922,7167],[6939,7192],[6951,7137],[6953,7116],[6942,7109]]]}},{"type":"Feature","id":"LC","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.47,"hc-key":"lc","hc-a2":"LC","name":"Saint Lucia","labelrank":"6","country-abbrev":"S.L.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"LCA","iso-a2":"LC","woe-id":"23424951","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2395,6886],[2391,6890],[2396,6897],[2397,6893],[2395,6886]]]}},{"type":"Feature","id":"NR","properties":{"hc-group":"admin0","hc-middle-x":0.53,"hc-middle-y":0.50,"hc-key":"nr","hc-a2":"NR","name":"Nauru","labelrank":"6","country-abbrev":"Nauru","subregion":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"NRU","iso-a2":"NR","woe-id":"23424912","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[9158,6463],[9157,6463],[9157,6464],[9159,6464],[9158,6463]]]}},{"type":"Feature","id":"NO","properties":{"hc-group":"admin0","hc-middle-x":0.10,"hc-middle-y":0.93,"hc-key":"no","hc-a2":"NO","name":"Norway","labelrank":"3","country-abbrev":"Nor.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"NOR","iso-a2":"NO","woe-id":"-90","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4821,8997],[4815,8993],[4809,8996],[4815,9003],[4821,8997]]],[[[4797,8992],[4790,8995],[4784,9004],[4802,8997],[4797,8992]]],[[[4877,9011],[4887,9004],[4870,9006],[4871,9011],[4877,9011]]],[[[4901,9024],[4906,9016],[4890,9006],[4882,9013],[4901,9024]]],[[[4911,9029],[4920,9024],[4909,9019],[4905,9028],[4911,9029]]],[[[4898,9036],[4889,9022],[4861,9017],[4873,9029],[4898,9036]]],[[[4918,9045],[4919,9040],[4914,9042],[4915,9046],[4918,9045]]],[[[4966,9053],[4974,9045],[4962,9041],[4955,9047],[4966,9053]]],[[[4841,9496],[4865,9475],[4829,9471],[4803,9490],[4841,9496]]],[[[4998,9499],[4989,9504],[4994,9510],[5000,9504],[4998,9499]]],[[[5066,9517],[5038,9511],[5030,9512],[5047,9521],[5066,9517]]],[[[4804,9531],[4822,9526],[4810,9523],[4799,9526],[4804,9531]]],[[[4802,9547],[4789,9545],[4786,9549],[4789,9550],[4802,9547]]],[[[5202,9605],[5178,9599],[5142,9595],[5139,9598],[5202,9605]]],[[[4928,9617],[4921,9616],[4921,9620],[4923,9621],[4928,9617]]],[[[4921,9625],[4925,9623],[4923,9622],[4917,9623],[4921,9625]]],[[[4797,9623],[4793,9624],[4796,9627],[4801,9625],[4797,9623]]],[[[4837,9638],[4831,9635],[4828,9638],[4834,9639],[4837,9638]]],[[[4821,9634],[4821,9638],[4813,9643],[4826,9639],[4821,9634]]],[[[4748,8967],[4767,8968],[4802,8988],[4813,8979],[4815,8980],[4817,8980],[4818,8983],[4823,8988],[4820,8990],[4826,8992],[4827,8992],[4845,9007],[4847,9007],[4847,9006],[4849,9005],[4850,9007],[4886,9002],[4934,9033],[4973,9037],[4948,9018],[4950,8995],[4996,9042],[4991,9010],[5022,9050],[5094,9029],[5126,9006],[5099,8995],[5057,9000],[5119,8981],[5093,8957],[5063,8940],[5075,8962],[5032,8995],[4976,8974],[4965,8932],[4942,8915],[4914,8929],[4869,8923],[4847,8952],[4816,8940],[4797,8905],[4743,8914],[4735,8885],[4718,8892],[4683,8857],[4691,8839],[4635,8792],[4635,8753],[4609,8718],[4618,8690],[4580,8688],[4560,8656],[4569,8610],[4565,8584],[4586,8568],[4568,8551],[4575,8512],[4556,8501],[4543,8462],[4515,8473],[4456,8430],[4429,8420],[4398,8424],[4359,8468],[4372,8509],[4342,8554],[4363,8576],[4347,8589],[4369,8612],[4411,8630],[4409,8639],[4464,8659],[4435,8662],[4465,8681],[4504,8658],[4544,8680],[4498,8667],[4487,8679],[4537,8729],[4562,8742],[4566,8761],[4607,8833],[4667,8874],[4643,8878],[4692,8898],[4682,8907],[4716,8924],[4703,8941],[4719,8966],[4748,8967],[4769,8982],[4768,8999],[4781,8983],[4748,8967]],[[5095,8982],[5091,8986],[5086,8978],[5097,8981],[5095,8982]]],[[[4948,9363],[4949,9366],[4963,9376],[4948,9363],[4948,9363],[4948,9363]]],[[[4630,8922],[4662,8932],[4682,8955],[4696,8923],[4668,8902],[4602,8890],[4605,8899],[4657,8910],[4630,8922]]],[[[4893,9411],[4874,9424],[4825,9422],[4847,9452],[4824,9463],[4886,9474],[4905,9449],[4929,9446],[4893,9411]]],[[[4669,9570],[4695,9593],[4764,9552],[4766,9533],[4843,9513],[4768,9488],[4744,9425],[4730,9424],[4703,9367],[4631,9407],[4617,9428],[4702,9450],[4611,9443],[4607,9461],[4650,9465],[4673,9480],[4644,9505],[4641,9483],[4590,9471],[4561,9497],[4565,9471],[4533,9487],[4515,9516],[4540,9521],[4522,9560],[4531,9569],[4564,9568],[4613,9582],[4616,9559],[4636,9577],[4658,9563],[4689,9517],[4669,9570]]],[[[4909,9611],[5000,9602],[5010,9580],[4975,9557],[4918,9535],[4884,9538],[4883,9551],[4822,9548],[4787,9564],[4852,9570],[4854,9578],[4761,9571],[4763,9592],[4732,9599],[4742,9610],[4778,9596],[4809,9619],[4824,9604],[4852,9608],[4868,9590],[4879,9624],[4887,9601],[4909,9611]]],[[[4948,9363],[4946,9359],[4947,9363],[4948,9363],[4948,9363],[4948,9363]]]]}},{"type":"Feature","id":"KN","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.49,"hc-key":"kn","hc-a2":"KN","name":"Saint Kitts and Nevis","labelrank":"6","country-abbrev":"St.K.N.","subregi
3on":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"KNA","iso-a2":"KN","woe-id":"23424940","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2346,6991],[2339,6996],[2340,6997],[2343,6995],[2346,6991]]]}},{"type":"Feature","id":"BH","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.50,"hc-key":"bh","hc-a2":"BH","name":"Bahrain","labelrank":"4","country-abbrev":"Bahr.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"BHR","iso-a2":"BH","woe-id":"23424753","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5702,7271],[5706,7269],[5705,7256],[5701,7263],[5702,7271]]]}},{"type":"Feature","id":"TO","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.34,"hc-key":"to","hc-a2":"TO","name":"Tonga","labelrank":"4","country-abbrev":"Tongo","subregion":"Polynesia","region-wb":"East Asia & Pacific","iso-a3":"TON","iso-a2":"TO","woe-id":"23424964","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[-987,5842],[-988,5840],[-999,5845],[-992,5847],[-987,5842]]]}},{"type":"Feature","id":"FI","properties":{"hc-group":"admin0","hc-middle-x":0.63,"hc-middle-y":0.54,"hc-key":"fi","hc-a2":"FI","name":"Finland","labelrank":"3","country-abbrev":"Fin.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"FIN","iso-a2":"FI","woe-id":"23424812","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4816,8512],[4815,8507],[4806,8505],[4810,8509],[4816,8512]]],[[[4803,8510],[4806,8512],[4803,8505],[4798,8508],[4803,8510]]],[[[4808,8518],[4799,8510],[4785,8518],[4800,8522],[4808,8518]]],[[[4844,8516],[4844,8514],[4855,8514],[4842,8511],[4844,8516]]],[[[4870,8506],[4870,8515],[4882,8511],[4872,8501],[4870,8506]]],[[[4836,8532],[4837,8528],[4836,8523],[4835,8528],[4836,8532]]],[[[4835,8657],[4838,8652],[4834,8650],[4830,8654],[4835,8657]]],[[[4942,8741],[4935,8736],[4933,8739],[4936,8741],[4942,8741]]],[[[4851,8526],[4845,8528],[4834,8596],[4842,8652],[4868,8658],[4939,8731],[4954,8729],[4955,8762],[4921,8778],[4906,8808],[4916,8826],[4899,8860],[4906,8885],[4816,8940],[4847,8952],[4869,8923],[4914,8929],[4942,8915],[4965,8932],[4976,8974],[5032,8995],[5075,8962],[5063,8940],[5048,8914],[5055,8897],[5095,8871],[5067,8828],[5091,8792],[5082,8737],[5111,8691],[5094,8678],[5141,8638],[5131,8620],[5071,8562],[5029,8531],[4909,8505],[4869,8520],[4871,8521],[4866,8521],[4866,8521],[4854,8525],[4857,8523],[4856,8520],[4851,8524],[4851,8526]]]]}},{"type":"Feature","id":"ID","properties":{"hc-group":"admin0","hc-middle-x":0.38,"hc-middle-y":0.41,"hc-key":"id","hc-a2":"ID","name":"Indonesia","labelrank":"2","country-abbrev":"Indo.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"IDN","iso-a2":"ID","woe-id":"23424846","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[8188,6311],[8203,6311],[8186,6274],[8184,6299],[8156,6320],[8188,6311]]],[[[7394,6396],[7365,6387],[7343,6415],[7351,6432],[7368,6393],[7394,6396]]],[[[7693,6231],[7736,6235],[7737,6224],[7676,6209],[7642,6218],[7658,6236],[7693,6231]]],[[[8007,6546],[8003,6517],[8028,6486],[8001,6493],[7995,6439],[7976,6470],[7993,6473],[7985,6514],[8007,6546]]],[[[7885,6203],[7891,6198],[7897,6207],[7902,6208],[7911,6214],[7912,6206],[7915,6198],[7897,6179],[7868,6172],[7885,6203]]],[[[7703,6601],[7696,6596],[7697,6601],[7703,6601]]],[[[8388,6402],[8388,6275],[8388,6210],[8360,6240],[8289,6230],[8299,6253],[8325,6262],[8294,6324],[8238,6346],[8216,6347],[8170,6376],[8148,6358],[8127,6400],[8181,6408],[8142,6411],[8087,6439],[8070,6476],[8099,6455],[8142,6468],[8180,6457],[8185,6415],[8210,6380],[8248,6403],[8246,6430],[8295,6435],[8355,6409],[8388,6402]]],[[[7779,6174],[7734,6196],[7755,6202],[7771,6234],[7833,6224],[7852,6236],[7936,6242],[7886,6226],[7878,6234],[7818,6216],[7763,6218],[7789,6183],[7779,6174]]],[[[7419,6248],[7365,6260],[7335,6278],[7351,6305],[7419,6294],[7427,6279],[7483,6274],[7496,6290],[7530,6275],[7624,6277],[7624,6218],[7565,6234],[7548,6229],[7490,6237],[7450,6251],[7419,6248]]],[[[8007,6388],[7965,6365],[7943,6380],[7942,6408],[7946,6387],[7976,6380],[8002,6393],[8048,6397],[8079,6386],[8086,6365],[8007,6388]]],[[[7849,6311],[7824,6317],[7851,6347],[7809,6341],[7813,6358],[7778,6383],[7775,6316],[7746,6321],[7754,6351],[7730,6401],[7746,6421],[7766,6500],[7792,6519],[7814,6510],[7882,6503],[7917,6531],[7898,6492],[7774,6491],[7765,6473],[7785,6438],[7815,6465],[7866,6460],[7862,6427],[7846,6446],[7811,6422],[7839,6386],[7855,6349],[7849,6311]]],[[[7693,6601],[7687,6576],[7709,6546],[7702,6535],[7736,6509],[7698,6501],[7689,6463],[7663,6436],[7664,6414],[7646,6373],[7606,6356],[7594,6380],[7558,6385],[7522,6375],[7519,6397],[7476,6390],[7466,6446],[7452,6441],[7434,6503],[7458,6540],[7485,6504],[7
3557,6525],[7602,6521],[7631,6568],[7642,6608],[7693,6601]]],[[[7120,6602],[7164,6572],[7200,6534],[7221,6541],[7283,6486],[7272,6457],[7301,6448],[7311,6409],[7338,6408],[7352,6382],[7345,6312],[7312,6304],[7219,6384],[7196,6415],[7181,6455],[7152,6486],[7124,6478],[7149,6426],[7139,6429],[7121,6478],[7145,6496],[7128,6536],[7092,6539],[7110,6508],[7103,6496],[7087,6540],[7065,6548],[7092,6543],[7100,6563],[7036,6621],[7032,6650],[7065,6633],[7097,6634],[7120,6602]]]]}},{"type":"Feature","id":"MU","properties":{"hc-group":"admin0","hc-middle-x":0.63,"hc-middle-y":0.58,"hc-key":"mu","hc-a2":"MU","name":"Mauritius","labelrank":"5","country-abbrev":"Mus.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MUS","iso-a2":"MU","woe-id":"23424894","continent":"Seven seas (open ocean)"},"geometry":{"type":"Polygon","coordinates":[[[5917,5878],[5916,5867],[5907,5866],[5911,5880],[5917,5878]]]}},{"type":"Feature","id":"SE","properties":{"hc-group":"admin0","hc-middle-x":0.40,"hc-middle-y":0.48,"hc-key":"se","hc-a2":"SE","name":"Sweden","labelrank":"3","country-abbrev":"Swe.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"SWE","iso-a2":"SE","woe-id":"23424954","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4749,8461],[4749,8461],[4749,8466],[4753,8466],[4749,8461]]],[[[4864,8758],[4864,8764],[4868,8762],[4868,8758],[4864,8758]]],[[[4921,8778],[4853,8764],[4831,8722],[4845,8711],[4821,8684],[4769,8651],[4733,8619],[4712,8569],[4718,8540],[4736,8533],[4770,8495],[4751,8469],[4701,8445],[4691,8414],[4700,8372],[4711,8391],[4741,8387],[4760,8415],[4759,8386],[4710,8386],[4693,8344],[4640,8340],[4625,8309],[4589,8309],[4571,8373],[4546,8417],[4550,8417],[4552,8421],[4545,8421],[4546,8418],[4537,8434],[4543,8462],[4556,8501],[4575,8512],[4568,8551],[4586,8568],[4565,8584],[4569,8610],[4560,8656],[4580,8688],[4618,8690],[4609,8718],[4635,8753],[4635,8792],[4691,8839],[4683,8857],[4718,8892],[4735,8885],[4743,8914],[4797,8905],[4816,8940],[4906,8885],[4899,8860],[4916,8826],[4906,8808],[4921,8778]],[[4554,8430],[4543,8426],[4546,8423],[4554,8424],[4554,8430]]]]}},{"type":"Feature","id":"TT","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.44,"hc-key":"tt","hc-a2":"TT","name":"Trinidad and Tobago","labelrank":"5","country-abbrev":"Tr.T.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"TTO","iso-a2":"TT","woe-id":"23424958","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2396,6799],[2394,6779],[2380,6783],[2374,6796],[2396,6799]]]}},{"type":"Feature","id":"MY","properties":{"hc-group":"admin0","hc-middle-x":0.90,"hc-middle-y":0.26,"hc-key":"my","hc-a2":"MY","name":"Malaysia","labelrank":"3","country-abbrev":"Malay.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"MYS","iso-a2":"MY","woe-id":"23424901","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7181,6640],[7180,6634],[7177,6634],[7177,6640],[7181,6640]]],[[[7703,6601],[7697,6601],[7698,6602],[7693,6601],[7642,6608],[7631,6568],[7602,6521],[7557,6525],[7485,6504],[7458,6540],[7498,6525],[7508,6550],[7510,6549],[7510,6554],[7511,6558],[7558,6572],[7587,6614],[7606,6597],[7616,6623],[7617,6624],[7618,6621],[7627,6606],[7621,6623],[7650,6660],[7685,6675],[7743,6632],[7710,6623],[7722,6607],[7701,6603],[7703,6601]]],[[[7175,6669],[7204,6663],[7205,6645],[7233,6663],[7274,6620],[7274,6565],[7299,6519],[7272,6524],[7210,6563],[7193,6593],[7175,6669]]]]}},{"type":"Feature","id":"PA","properties":{"hc-group":"admin0","hc-middle-x":0.22,"hc-middle-y":0.50,"hc-key":"pa","hc-a2":"PA","name":"Panama","labelrank":"4","country-abbrev":"Pan.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"PAN","iso-a2":"PA","woe-id":"23424924","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1892,6692],[1873,6732],[1843,6744],[1816,6717],[1829,6699],[1776,6692],[1778,6721],[1744,6716],[1739,6725],[1740,6725],[1740,6725],[1740,6726],[1740,6726],[1754,6762],[1768,6743],[1798,6739],[1841,6763],[1876,6757],[1908,6735],[1914,6713],[1892,6692]]]}},{"type":"Feature","id":"PW","properties":{"hc-group":"admin0","hc-middle-x":0.38,"hc-middle-y":0.44,"hc-key":"pw","hc-a2":"PW","name":"Palau","labelrank":"6","country-abbrev":"Palau","subregi
3on":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"PLW","iso-a2":"PW","woe-id":"23424927","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[8196,6695],[8195,6699],[8197,6703],[8200,6703],[8196,6695]]]}},{"type":"Feature","id":"TV","properties":{"hc-group":"admin0","hc-middle-x":0.25,"hc-middle-y":0.50,"hc-key":"tv","hc-a2":"TV","name":"Tuvalu","labelrank":"6","country-abbrev":"Tuv.","subregion":"Polynesia","region-wb":"East Asia & Pacific","iso-a3":"TUV","iso-a2":"TV","woe-id":"23424970","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[9522,6227],[9522,6227],[9522,6229],[9522,6227],[9522,6227]]]}},{"type":"Feature","id":"MH","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.60,"hc-key":"mh","hc-a2":"MH","name":"Marshall Islands","labelrank":"6","country-abbrev":"M. Is.","subregion":"Micronesia","region-wb":"East Asia & Pacific","iso-a3":"MHL","iso-a2":"MH","woe-id":"23424932","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[9280,6690],[9285,6688],[9286,6687],[9285,6688],[9280,6690]]]}},{"type":"Feature","id":"CL","properties":{"hc-group":"admin0","hc-middle-x":0.51,"hc-middle-y":0.90,"hc-key":"cl","hc-a2":"CL","name":"Chile","labelrank":"2","country-abbrev":"Chile","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"CHL","iso-a2":"CL","woe-id":"23424782","continent":"South America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2028,4732],[2063,4714],[2042,4700],[2014,4729],[2028,4732]]],[[[1977,4948],[1993,4916],[1994,4867],[1960,4879],[1981,4893],[1959,4908],[1961,4938],[1977,4948]]],[[[2022,5147],[2016,5111],[1985,5101],[2001,5124],[2006,5163],[2022,5147]]],[[[2167,4761],[2167,4674],[2165,4674],[2167,4673],[2167,4670],[2128,4674],[2110,4657],[2088,4695],[2113,4723],[2117,4693],[2157,4688],[2125,4702],[2114,4746],[2144,4768],[2167,4761]]],[[[2115,5932],[2128,5935],[2141,5957],[2157,5913],[2173,5898],[2163,5868],[2180,5842],[2189,5794],[2210,5794],[2206,5757],[2169,5733],[2177,5666],[2162,5659],[2137,5618],[2109,5516],[2133,5456],[2115,5397],[2115,5366],[2096,5352],[2091,5311],[2101,5277],[2085,5269],[2069,5206],[2075,5158],[2063,5125],[2077,5092],[2066,5062],[2088,5042],[2070,4970],[2051,4944],[2059,4928],[2020,4882],[2032,4835],[2058,4839],[2054,4804],[2070,4787],[2128,4786],[2173,4772],[2152,4778],[2105,4757],[2096,4714],[2032,4737],[2038,4753],[2004,4758],[1996,4781],[2017,4777],[2012,4815],[1976,4834],[2000,4847],[1996,4918],[1986,4952],[2000,4987],[1966,4992],[1995,5037],[2008,5015],[2031,5042],[2026,5058],[1996,5060],[2012,5097],[2020,5062],[2053,5159],[2039,5179],[2015,5170],[2010,5197],[2030,5249],[2018,5310],[2031,5329],[2048,5383],[2060,5398],[2085,5489],[2078,5559],[2088,5569],[2081,5601],[2100,5643],[2113,5714],[2109,5785],[2125,5837],[2115,5932]]],[[[2209,4666],[2230,4654],[2168,4659],[2214,4627],[2192,4628],[2162,4657],[2133,4648],[2129,4663],[2202,4668],[2207,4668],[2209,4666]]]]}},{"type":"Feature","id":"TH","properties":{"hc-group":"admin0","hc-middle-x":0.25,"hc-middle-y":0.49,"hc-key":"th","hc-a2":"TH","name":"Thailand","labelrank":"3","country-abbrev":"Thai.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"THA","iso-a2":"TH","woe-id":"23424960","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7239,6839],[7241,6837],[7244,6834],[7240,6833],[7239,6839]]],[[[7233,6663],[7205,6645],[7204,6663],[7175,6669],[7151,6704],[7118,6732],[7134,6785],[7161,6829],[7146,6886],[7119,6918],[7137,6959],[7095,7030],[7113,7070],[7128,7066],[7175,7086],[7186,7062],[7209,7061],[7205,6999],[7233,7022],[7249,7010],[7272,7029],[7290,7025],[7315,6996],[7313,6970],[7338,6946],[7325,6904],[7280,6907],[7241,6881],[7258,6824],[7226,6854],[7201,6852],[7200,6878],[7173,6876],[7172,6840],[7151,6793],[7149,6752],[7167,6753],[7185,6690],[7218,6681],[7233,6663]]]]}},{"type":"Feature","id":"GD","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"gd","hc-a2":"GD","name":"Grenada","labelrank":"6","country-abbrev":"Gren.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"GRD","iso-a2":"GD","woe-id":"23424826","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2375,6835],[2372,6835],[2372,6839],[2376,6841],[2375,6835]]]}},{"type":"Feature","id":"EE","properties":{"hc-group":"admin0","hc-middle-x":0.35,"hc-middle-y":0.41,"hc-key":"ee","hc-a2":"EE","name":"Estonia","labelrank":"6","country-abbrev":"Est.","subregi
3on":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"EST","iso-a2":"EE","woe-id":"23424805","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4876,8444],[4887,8435],[4863,8425],[4852,8441],[4876,8444]]],[[[4897,8446],[4893,8442],[4888,8445],[4892,8448],[4897,8446]]],[[[4893,8464],[4897,8464],[4898,8461],[4891,8461],[4893,8464]]],[[[4878,8463],[4888,8455],[4872,8449],[4858,8459],[4878,8463]]],[[[5026,8462],[5004,8453],[5024,8419],[5021,8411],[5016,8399],[4990,8398],[4954,8422],[4925,8413],[4902,8443],[4901,8472],[4975,8490],[5035,8483],[5038,8482],[5040,8478],[5038,8477],[5035,8477],[5035,8477],[5037,8476],[5037,8476],[5038,8476],[5037,8476],[5034,8476],[5030,8469],[5026,8462]]]]}},{"type":"Feature","id":"AG","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.48,"hc-key":"ag","hc-a2":"AG","name":"Antigua and Barbuda","labelrank":"6","country-abbrev":"Ant.B.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"ATG","iso-a2":"AG","woe-id":"23424737","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2371,6989],[2373,6986],[2369,6985],[2367,6988],[2371,6989]]]}},{"type":"Feature","id":"TW","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.41,"hc-key":"tw","hc-a2":"TW","name":"Taiwan","labelrank":"3","country-abbrev":"Taiwan","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"TWN","iso-a2":"TW","woe-id":"23424971","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7752,7185],[7768,7185],[7797,7233],[7821,7235],[7807,7173],[7790,7136],[7752,7185]]]}},{"type":"Feature","id":"BB","properties":{"hc-group":"admin0","hc-middle-x":0.31,"hc-middle-y":0.56,"hc-key":"bb","hc-a2":"BB","name":"Barbados","labelrank":"5","country-abbrev":"Barb.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"BRB","iso-a2":"BB","woe-id":"23424754","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2438,6866],[2434,6868],[2435,6874],[2440,6869],[2438,6866]]]}},{"type":"Feature","id":"IT","properties":{"hc-group":"admin0","hc-middle-x":0.79,"hc-middle-y":0.71,"hc-key":"it","hc-a2":"IT","name":"Italy","labelrank":"2","country-abbrev":"Italy","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"ITA","iso-a2":"IT","woe-id":"23424853","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4571,7654],[4668,7666],[4655,7649],[4652,7611],[4634,7616],[4571,7654]]],[[[4484,7768],[4496,7744],[4488,7697],[4454,7690],[4456,7736],[4448,7757],[4484,7768]]],[[[4427,7861],[4400,7909],[4412,7939],[4444,7951],[4466,7944],[4500,7955],[4514,7974],[4566,7982],[4572,7967],[4611,7961],[4601,7952],[4611,7927],[4596,7933],[4565,7916],[4572,7876],[4608,7851],[4622,7818],[4654,7794],[4680,7795],[4677,7778],[4738,7749],[4753,7731],[4710,7744],[4694,7715],[4713,7705],[4681,7655],[4685,7684],[4668,7729],[4611,7770],[4591,7769],[4536,7815],[4504,7869],[4464,7884],[4427,7861]],[[4574,7793],[4574,7793],[4574,7793],[4574,7793],[4574,7793]],[[4574,7865],[4574,7868],[4573,7867],[4572,7866],[4574,7865]]]]}},{"type":"Feature","id":"MT","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.53,"hc-key":"mt","hc-a2":"MT","name":"Malta","labelrank":"5","country-abbrev":"Malta","subregion":"Southern Europe","region-wb":"Middle East & North Africa","iso-a3":"MLT","iso-a2":"MT","woe-id":"23424897","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4628,7589],[4635,7586],[4635,7582],[4631,7584],[4628,7589]]]}},{"type":"Feature","id":"VU","properties":{"hc-group":"admin0","hc-middle-x":0.60,"hc-middle-y":0.53,"hc-key":"vu","hc-a2":"VU","name":"Vanuatu","labelrank":"4","country-abbrev":"Van.","subregion":"Melanesia","region-wb":"East Asia & Pacific","iso-a3":"VUT","iso-a2":"VU","woe-id":"23424907","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[9172,6054],[9194,6034],[9205,5976],[9178,5988],[9154,6029],[9172,6054]]]}},{"type":"Feature","id":"SG","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.57,"hc-key":"sg","hc-a2":"SG","name":"Singapore","labelrank":"6","country-abbrev":"Sing.","subregi
3on":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"SGP","iso-a2":"SG","woe-id":"23424948","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7286,6521],[7290,6519],[7286,6516],[7280,6517],[7286,6521]]]}},{"type":"Feature","id":"CY","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.51,"hc-key":"cy","hc-a2":"CY","name":"Cyprus","labelrank":"5","country-abbrev":"Cyp.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"CYP","iso-a2":"CY","woe-id":"-90","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5205,7555],[5205,7556],[5206,7556],[5205,7555]]],[[[5214,7557],[5216,7554],[5210,7554],[5207,7557],[5210,7557],[5213,7557],[5214,7557]]],[[[5206,7555],[5206,7555],[5207,7555],[5207,7554],[5206,7555]]],[[[5204,7554],[5201,7549],[5184,7543],[5178,7545],[5176,7544],[5162,7557],[5171,7561],[5172,7560],[5173,7562],[5174,7561],[5175,7561],[5175,7561],[5175,7561],[5175,7561],[5175,7561],[5196,7561],[5204,7555],[5204,7554]]]]}},{"type":"Feature","id":"LK","properties":{"hc-group":"admin0","hc-middle-x":0.62,"hc-middle-y":0.91,"hc-key":"lk","hc-a2":"LK","name":"Sri Lanka","labelrank":"3","country-abbrev":"Sri L.","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"LKA","iso-a2":"LK","woe-id":"23424778","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6576,6765],[6600,6755],[6632,6703],[6631,6674],[6596,6654],[6581,6660],[6572,6717],[6584,6759],[6576,6765]]]}},{"type":"Feature","id":"KM","properties":{"hc-group":"admin0","hc-middle-x":0.41,"hc-middle-y":0.51,"hc-key":"km","hc-a2":"KM","name":"Comoros","labelrank":"6","country-abbrev":"Com.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"COM","iso-a2":"KM","woe-id":"23424786","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5494,6125],[5487,6131],[5488,6142],[5492,6141],[5494,6125]]]}},{"type":"Feature","id":"FJ","properties":{"hc-group":"admin0","hc-middle-x":0.44,"hc-middle-y":0.33,"hc-key":"fj","hc-a2":"FJ","name":"Fiji","labelrank":"6","country-abbrev":"Fiji","subregion":"Melanesia","region-wb":"East Asia & Pacific","iso-a3":"FJI","iso-a2":"FJ","woe-id":"23424813","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[9460,5963],[9494,5962],[9495,5978],[9543,5996],[9494,5959],[9507,5951],[9500,5915],[9490,5934],[9467,5939],[9460,5963]]]}},{"type":"Feature","id":"RU","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.56,"hc-key":"ru","hc-a2":"RU","
3name":"Russia","labelrank":"2","country-abbrev":"Rus.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"RUS","iso-a2":"RU","woe-id":"23424936","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[8620,7917],[8587,7905],[8565,7884],[8519,7862],[8540,7887],[8614,7923],[8620,7917]]],[[[5691,8936],[5646,8924],[5637,8953],[5666,8965],[5693,8952],[5691,8936]]],[[[5965,9010],[5999,8987],[5972,8976],[5942,8995],[5965,9010]]],[[[6315,9176],[6331,9169],[6278,9157],[6280,9178],[6315,9176]]],[[[7568,9234],[7551,9218],[7512,9233],[7528,9245],[7568,9234]]],[[[5900,9603],[5857,9597],[5866,9613],[5939,9622],[5950,9582],[5900,9603]]],[[[5825,9623],[5819,9605],[5766,9602],[5774,9618],[5819,9609],[5825,9623]]],[[[5870,9665],[5945,9662],[5893,9635],[5861,9633],[5807,9645],[5870,9665]]],[[[6124,9673],[6147,9654],[6077,9637],[6060,9648],[6104,9658],[6124,9673]]],[[[5922,9709],[5937,9692],[5916,9668],[5861,9672],[5922,9709]]],[[[5391,7846],[5361,7874],[5289,7912],[5317,7918],[5327,7959],[5370,7979],[5338,7983],[5356,8011],[5384,8010],[5382,8045],[5395,8064],[5367,8087],[5315,8109],[5262,8106],[5245,8140],[5218,8142],[5225,8161],[5207,8185],[5147,8175],[5131,8212],[5175,8229],[5146,8243],[5121,8317],[5039,8340],[5024,8370],[5016,8399],[5021,8411],[5024,8419],[5030,8439],[5026,8462],[5030,8469],[5033,8474],[5037,8476],[5037,8476],[5035,8477],[5035,8477],[5035,8477],[5037,8476],[5040,8478],[5038,8482],[5035,8483],[5037,8497],[5090,8514],[5029,8531],[5071,8562],[5131,8620],[5141,8638],[5094,8678],[5111,8691],[5082,8737],[5091,8792],[5067,8828],[5095,8871],[5055,8897],[5048,8914],[5063,8940],[5093,8957],[5119,8981],[5155,8989],[5187,8976],[5154,8968],[5271,8947],[5422,8870],[5431,8846],[5404,8806],[5372,8793],[5330,8791],[5199,8822],[5161,8842],[5242,8773],[5227,8755],[5241,8731],[5264,8746],[5302,8746],[5378,8716],[5404,8728],[5386,8767],[5431,8789],[5468,8824],[5515,8780],[5524,8820],[5504,8845],[5517,8900],[5490,8918],[5567,8909],[5591,8879],[5550,8873],[5538,8852],[5564,8831],[5620,8836],[5629,8869],[5652,8873],[5723,8912],[5790,8934],[5806,8904],[5827,8896],[5866,8921],[5905,8916],[5951,8938],[5975,8904],[6011,8945],[5989,8968],[6007,8983],[6107,8967],[6153,8943],[6199,8929],[6230,8904],[6255,8935],[6236,8937],[6223,8964],[6186,8969],[6202,9029],[6176,9027],[6190,9061],[6236,9090],[6251,9138],[6269,9149],[6328,9151],[6366,9139],[6367,9115],[6336,9074],[6361,9051],[6354,9006],[6358,8935],[6389,8913],[6375,8873],[6358,8867],[6328,8819],[6292,8803],[6343,8798],[6385,8827],[6422,8871],[6414,8922],[6471,8938],[6499,8913],[6493,8875],[6522,8899],[6509,8932],[6445,8952],[6393,8949],[6386,8977],[6409,9019],[6371,9068],[6386,9090],[6428,9105],[6421,9150],[6448,9187],[6481,9183],[6445,9141],[6451,9113],[6436,9067],[6512,9052],[6527,9059],[6469,9075],[6459,9094],[6487,9102],[6506,9090],[6515,9116],[6553,9161],[6560,9121],[6630,9083],[6675,9084],[6646,9060],[6663,9044],[6673,9007],[6690,9016],[6671,9058],[6685,9079],[6643,9115],[6599,9130],[6588,9167],[6594,9189],[6788,9206],[6780,9224],[6737,9257],[6785,9249],[6777,9269],[6809,9274],[6873,9307],[6980,9323],[6962,9336],[7011,9336],[7047,9351],[7033,9373],[7059,9393],[7066,9353],[7049,9341],[7067,9325],[7108,9332],[7138,9364],[7197,9366],[7207,9400],[7268,9436],[7313,9439],[7346,9430],[7326,9407],[7393,9388],[7362,9364],[7404,9365],[7407,9378],[7502,9378],[7543,9370],[7546,9346],[7568,9345],[7578,9308],[7544,9323],[7575,9289],[7467,9233],[7411,9192],[7384,9191],[7360,9167],[7401,9165],[7495,9195],[7457,9196],[7469,9214],[7539,9196],[7561,9206],[7571,9185],[7629,9196],[7719,9189],[7716,9172],[7772,9155],[7853,9150],[7870,9168],[7862,9188],[7901,9208],[7905,9196],[7955,9179],[7974,9187],[8045,9157],[8030,9104],[7998,9123],[8055,9053],[8088,9032],[8108,9038],[8137,9093],[8170,9068],[8195,9065],[8239,9079],[8270,9074],[8322,9080],[8360,9070],[8335,9109],[8345,9127],[8405,9143],[8519,9131],[8564,9117],[8534,9111],[8541,9090],[8572,9118],[8644,9108],[8657,9095],[8626,9083],[8700,9063],[8721,9038],[8764,9037],[8832,9050],[8908,9043],[8943,9027],[8955,9004],[8943,8985],[8984,8961],[9072,8979],[9096,8968],[9158,8964],[9197,8992],[9232,8984],[9225,8968],[9192,8975],[9201,8950],[9238,8927],[9278,8941],[9267,8997],[9413,8983],[9467,8971],[9580,8925],[9584,8914],[9685,8870],[9711,8813],[9723,8834],[9791,8834],[9851,8793],[9826,8768],[9778,8763],[9764,8722],[9776,8709],[9742,8703],[9702,8728],[9668,8738],[9667,8757],[9635,8767],[9589,8762],[9555,8796],[9567,8768],[9556,8744],[9493,8721],[9439,8731],[9486,8700],[9495,8707],[9534,8629],[9519,8
3610],[9488,8621],[9448,8619],[9352,8576],[9308,8545],[9266,8526],[9261,8505],[9227,8532],[9158,8520],[9133,8499],[9142,8528],[9095,8497],[9060,8508],[9046,8484],[9064,8458],[9090,8456],[9056,8438],[9043,8461],[9011,8423],[9051,8406],[9035,8366],[9052,8342],[9016,8339],[9005,8318],[9016,8287],[8954,8259],[8941,8221],[8912,8207],[8886,8153],[8827,8100],[8811,8101],[8856,8131],[8837,8208],[8820,8304],[8835,8366],[8877,8410],[8923,8437],[8948,8468],[9008,8515],[9010,8525],[9072,8567],[9075,8609],[9107,8615],[9089,8628],[9049,8621],[9040,8587],[8957,8532],[8946,8548],[8962,8594],[8877,8587],[8802,8523],[8776,8485],[8810,8470],[8755,8473],[8696,8456],[8678,8483],[8643,8496],[8619,8473],[8474,8481],[8435,8472],[8385,8435],[8373,8412],[8319,8375],[8287,8339],[8217,8288],[8256,8276],[8261,8291],[8303,8293],[8279,8254],[8297,8235],[8321,8264],[8353,8263],[8401,8217],[8372,8113],[8375,8076],[8364,8034],[8337,8008],[8302,7950],[8237,7883],[8214,7850],[8156,7821],[8116,7844],[8083,7807],[8081,7811],[8078,7815],[8091,7827],[8099,7870],[8090,7899],[8121,7913],[8132,7887],[8146,7907],[8178,7951],[8185,7988],[8204,8005],[8192,8031],[8135,8005],[8093,8004],[8086,8027],[8043,8071],[8005,8075],[7935,8210],[7862,8234],[7790,8222],[7766,8201],[7788,8176],[7768,8158],[7740,8107],[7742,8093],[7699,8074],[7667,8086],[7628,8089],[7596,8104],[7559,8077],[7490,8060],[7425,8067],[7407,8090],[7330,8111],[7280,8098],[7239,8117],[7237,8144],[7139,8176],[7106,8132],[7121,8113],[7093,8083],[7011,8094],[7001,8115],[6945,8127],[6810,8061],[6801,8059],[6795,8058],[6774,8077],[6734,8077],[6680,8131],[6621,8121],[6598,8144],[6577,8124],[6515,8222],[6475,8250],[6479,8269],[6407,8235],[6385,8249],[6316,8256],[6306,8305],[6230,8300],[6227,8291],[6139,8266],[6014,8247],[6020,8222],[6045,8216],[6005,8198],[6015,8184],[5989,8167],[6028,8148],[6025,8123],[5983,8125],[5978,8114],[5943,8133],[5881,8134],[5856,8113],[5821,8126],[5787,8152],[5705,8157],[5648,8115],[5641,8085],[5615,8110],[5596,8086],[5600,8062],[5583,8032],[5602,8009],[5630,8008],[5665,7954],[5617,7931],[5591,7892],[5617,7860],[5612,7833],[5646,7791],[5621,7768],[5582,7793],[5534,7823],[5508,7816],[5475,7838],[5391,7846]]],[[[9599,9071],[9621,9058],[9607,9047],[9546,9044],[9510,9034],[9513,9057],[9553,9077],[9599,9071]]],[[[8377,9210],[8419,9208],[8460,9187],[8453,9166],[8373,9183],[8377,9210]]],[[[6937,9577],[6908,9593],[6985,9585],[6953,9568],[6937,9577]]],[[[5596,9641],[5637,9647],[5572,9620],[5542,9634],[5596,9641]]],[[[5995,9655],[6034,9667],[6052,9644],[6016,9618],[5975,9619],[5961,9635],[5995,9655]]],[[[4790,8269],[4810,8280],[4786,8270],[4786,8270],[4795,8288],[4825,8304],[4827,8304],[4814,8290],[4835,8303],[4881,8288],[4880,8266],[4878,8266],[4790,8269]]],[[[7022,9596],[7001,9593],[6984,9590],[6920,9610],[6957,9625],[6965,9659],[7046,9679],[7111,9638],[7088,9634],[7088,9606],[7033,9597],[7100,9602],[7123,9582],[7148,9593],[7170,9569],[7154,9511],[7105,9510],[7077,9522],[7024,9525],[6986,9559],[7022,9596]]],[[[8455,8069],[8434,8017],[8459,7961],[8432,7965],[8421,7938],[8413,7964],[8424,8015],[8417,8049],[8426,8138],[8409,8161],[8411,8226],[8442,8239],[8434,8264],[8456,8217],[8461,8152],[8486,8064],[8455,8069]]],[[[5879,9169],[5847,9116],[5869,9059],[5914,9030],[5900,9017],[5849,9031],[5841,9020],[5786,9037],[5794,9055],[5774,9065],[5778,9046],[5733,9076],[5731,9096],[5759,9104],[5780,9161],[5834,9180],[5879,9169]]],[[[8571,9292],[8608,9297],[8629,9288],[8681,9280],[8673,9266],[8601,9260],[8539,9286],[8548,9307],[8571,9292]]],[[[8399,9343],[8434,9324],[8476,9322],[8518,9303],[8477,9274],[8433,9294],[8437,9278],[8468,9268],[8429,9262],[8413,9272],[8329,9252],[8296,9263],[8266,9294],[8241,9299],[8224,9294],[8230,9324],[8269,9309],[8282,9329],[8326,9346],[8388,9309],[8399,9343]]],[[[6210,9395],[6246,9386],[6250,9367],[6197,9339],[6025,9292],[5959,9239],[5931,9247],[5933,9224],[5888,9170],[5837,9181],[5814,9174],[5796,9199],[5830,9212],[5852,9252],[5897,9296],[5931,9307],[5947,9326],[6017,9337],[6017,9349],[6055,9344],[6104,9352],[6210,9395]]],[[[7197,9509],[7203,9532],[7240,9552],[7265,9544],[7257,9526],[7285,9533],[7322,9512],[7352,9475],[7326,9488],[7282,9474],[7207,9470],[7173,9455],[7150,9460],[7197,9509]]],[[[5
3588,9611],[5677,9634],[5658,9643],[5699,9660],[5738,9636],[5680,9624],[5695,9590],[5674,9601],[5588,9611]]]]}},{"type":"Feature","id":"VA","properties":{"hc-group":"admin0","hc-middle-x":0.61,"hc-middle-y":0.44,"hc-key":"va","hc-a2":"VA","name":"Vatican","labelrank":"6","country-abbrev":"Vat.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"VAT","iso-a2":"VA","woe-id":"23424986","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4574,7793],[4574,7793],[4574,7793],[4574,7793],[4574,7793]]]}},{"type":"Feature","id":"SM","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.42,"hc-key":"sm","hc-a2":"SM","name":"San Marino","labelrank":"6","country-abbrev":"S.M.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"SMR","iso-a2":"SM","woe-id":"23424947","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4574,7865],[4572,7866],[4573,7867],[4574,7868],[4574,7865]]]}},{"type":"Feature","id":"KZ","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.46,"hc-key":"kz","hc-a2":"KZ","name":"Kazakhstan","labelrank":"3","country-abbrev":"Kaz.","subregion":"Central Asia","region-wb":"Europe & Central Asia","iso-a3":"KAZ","iso-a2":"KZ","woe-id":"-90","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5991,7941],[5960,7930],[5968,7910],[5947,7922],[5952,7928],[5943,7925],[5865,7905],[5865,7773],[5851,7770],[5812,7808],[5792,7800],[5792,7800],[5792,7800],[5792,7800],[5780,7795],[5780,7795],[5780,7795],[5780,7795],[5760,7788],[5768,7823],[5745,7826],[5697,7892],[5729,7917],[5763,7920],[5779,7942],[5779,7975],[5750,7972],[5724,7983],[5665,7954],[5630,8008],[5602,8009],[5583,8032],[5600,8062],[5596,8086],[5615,8110],[5641,8085],[5648,8115],[5705,8157],[5787,8152],[5821,8126],[5856,8113],[5881,8134],[5943,8133],[5978,8114],[5983,8125],[6025,8123],[6028,8148],[5989,8167],[6015,8184],[6005,8198],[6045,8216],[6020,8222],[6014,8247],[6139,8266],[6227,8291],[6230,8300],[6306,8305],[6316,8256],[6385,8249],[6407,8235],[6479,8269],[6475,8250],[6515,8222],[6577,8124],[6598,8144],[6621,8121],[6680,8131],[6734,8077],[6774,8077],[6795,8058],[6750,8032],[6741,7981],[6719,7972],[6668,7986],[6646,7924],[6581,7906],[6602,7838],[6584,7803],[6531,7828],[6435,7827],[6405,7842],[6385,7812],[6336,7826],[6309,7805],[6253,7774],[6240,7747],[6220,7768],[6183,7768],[6178,7796],[6163,7797],[6157,7828],[6131,7858],[6045,7850],[6015,7882],[5986,7899],[5977,7930],[5996,7939],[5991,7941]],[[5995,7942],[5997,7942],[5997,7940],[6021,7950],[5995,7942]]],[[[5693,7900],[5687,7903],[5689,7907],[5698,7908],[5693,7900]]]]}},{"type":"Feature","id":"AZ","properties":{"hc-group":"admin0","hc-middle-x":0.83,"hc-middle-y":0.51,"hc-key":"az","hc-a2":"AZ","name":"Azerbaijan","labelrank":"5","country-abbrev":"Aze.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"AZE","iso-a2":"AZ","woe-id":"23424741","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5540,7763],[5539,7762],[5538,7764],[5540,7764],[5540,7763]]],[[[5
3546,7760],[5545,7760],[5545,7761],[5545,7761],[5546,7760]]],[[[5554,7747],[5554,7749],[5556,7749],[5555,7747],[5554,7747]]],[[[5534,7714],[5533,7716],[5563,7710],[5573,7687],[5552,7692],[5534,7714]]],[[[5582,7793],[5621,7768],[5646,7791],[5676,7748],[5654,7672],[5629,7685],[5627,7716],[5584,7687],[5558,7727],[5568,7734],[5539,7771],[5584,7763],[5582,7793]]]]}},{"type":"Feature","id":"TJ","properties":{"hc-group":"admin0","hc-middle-x":0.28,"hc-middle-y":0.56,"hc-key":"tj","hc-a2":"TJ","name":"Tajikistan","labelrank":"4","country-abbrev":"Tjk.","subregion":"Central Asia","region-wb":"Europe & Central Asia","iso-a3":"TJK","iso-a2":"TJ","woe-id":"23424961","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[6300,7759],[6300,7759],[6298,7762],[6299,7761],[6300,7759]]],[[[6300,7721],[6302,7720],[6299,7718],[6296,7722],[6300,7721]]],[[[6389,7707],[6395,7677],[6423,7675],[6426,7631],[6379,7639],[6329,7613],[6329,7653],[6299,7669],[6285,7641],[6259,7626],[6215,7629],[6232,7665],[6225,7691],[6203,7699],[6235,7710],[6264,7754],[6295,7762],[6310,7734],[6280,7734],[6261,7709],[6325,7713],[6348,7698],[6389,7707]]]]}},{"type":"Feature","id":"LS","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.45,"hc-key":"ls","hc-a2":"LS","name":"Lesotho","labelrank":"6","country-abbrev":"Les.","subregion":"Southern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"LSO","iso-a2":"LS","woe-id":"23424880","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5040,5608],[5054,5613],[5078,5588],[5037,5545],[5006,5579],[5040,5608]]]}},{"type":"Feature","id":"UZ","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.53,"hc-key":"uz","hc-a2":"UZ","name":"Uzbekistan","labelrank":"3","country-abbrev":"Uzb.","subregion":"Central Asia","region-wb":"Europe & Central Asia","iso-a3":"UZB","iso-a2":"UZ","woe-id":"23424980","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[6333,7723],[6332,7723],[6331,7724],[6334,7726],[6333,7723]]],[[[6316,7728],[6317,7722],[6312,7722],[6310,7729],[6316,7728]]],[[[5968,7910],[5961,7895],[5982,7876],[5986,7899],[6015,7882],[6045,7850],[6131,7858],[6157,7828],[6163,7797],[6178,7796],[6183,7768],[6220,7768],[6240,7747],[6253,7774],[6309,7805],[6286,7782],[6323,7766],[6333,7777],[6374,7754],[6331,7731],[6310,7734],[6295,7762],[6264,7754],[6235,7710],[6203,7699],[6225,7691],[6232,7665],[6215,7629],[6200,7629],[6178,7635],[6179,7658],[6151,7665],[6057,7726],[6043,7761],[5987,7775],[5981,7807],[5943,7825],[5915,7802],[5908,7809],[5898,7794],[5896,7770],[5865,7773],[5865,7905],[5943,7925],[5934,7884],[5947,7922],[5968,7910]],[[6300,7759],[6299,7761],[6298,7762],[6300,7759],[6300,7759]]]]}},{"type":"Feature","id":"MA","properties":{"hc-group":"admin0","hc-middle-x":0.60,"hc-middle-y":0.21,"hc-key":"ma","hc-a2":"MA","name":"Morocco","labelrank":"3","country-abbrev":"Mor.","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"MAR","iso-a2":"MA","woe-id":"23424893","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4117,7564],[4118,7565],[4119,7560],[4138,7558],[4151,7547],[4154,7497],[4173,7473],[4167,7459],[4129,7460],[4095,7444],[4096,7414],[4033,7378],[3977,7371],[3946,7348],[3946,7316],[3943,7298],[3915,7290],[3866,7291],[3847,7264],[3835,7226],[3788,7182],[3782,7148],[3764,7121],[3699,7120],[3740,7201],[3762,7222],[3774,7267],[3800,7285],[3820,7324],[3863,7337],[3890,7358],[3919,7404],[3912,7436],[3929,7475],[3951,7498],[4002,7523],[4028,7582],[4044,7586],[4044,7585],[4045,7584],[4074,7560],[4116,7566],[4117,7566],[4117,7564]]]}},{"type":"Feature","id":"CO","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.54,"hc-key":"co","hc-a2":"CO","name":"Colombia","labelrank":"2","country-abbrev":"Col.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"COL","iso-a2":"CO","woe-id":"23424787","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[1865,6521],[1868,6543],[1894,6559],[1916,6592],[1909,6611],[1909,6673],[1892,6692],[1914,6713],[1908,6735],[1920,6731],[1960,6758],[1963,6791],[2005,6815],[2029,6813],[2082,6847],[2087,6830],[2068,6824],[2040,6787],[2037,6753],[2056,6726],[2064,6688],[2123,6685],[2143,6659],[2201,6662],[2190,6612],[2207,6580],[2191,6564],[2210,6549],[2219,6515],[2206,6540],[2181,6529],[2131,6529],[2125,6474],[2143,6437],[2128,6354],[2105,6367],[2125,6399],[2096,6414],[2056,6406],[2032,6413],[2019,6442],[1970,6476],[1940,6492],[1905,6498],[1865,6521]]]}},{"type":"Feature","id":"TL","properties":{"hc-group":"admin0","hc-middle-x":0.65,"hc-middle-y":0.36,"hc-key":"tl","hc-a2":"TL","name":"East Timor","labelrank":"5","country-abbrev":"T.L.","subregi
3on":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"TLS","iso-a2":"TL","woe-id":"23424968","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7885,6203],[7890,6206],[7897,6207],[7891,6198],[7885,6203]]],[[[7911,6214],[7918,6224],[7972,6233],[7957,6214],[7915,6198],[7912,6206],[7911,6214]]]]}},{"type":"Feature","id":"TZ","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"tz","hc-a2":"TZ","name":"United Republic of Tanzania","labelrank":"3","country-abbrev":"Tanz.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"TZA","iso-a2":"TZ","woe-id":"23424973","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5242,6136],[5241,6138],[5240,6141],[5240,6141],[5236,6143],[5235,6145],[5235,6145],[5234,6146],[5227,6185],[5222,6192],[5219,6195],[5219,6195],[5216,6197],[5215,6197],[5215,6198],[5211,6196],[5210,6191],[5195,6195],[5181,6201],[5153,6211],[5129,6225],[5093,6304],[5084,6347],[5118,6383],[5111,6408],[5119,6432],[5108,6447],[5119,6449],[5147,6449],[5147,6448],[5148,6449],[5149,6449],[5151,6407],[5189,6405],[5215,6448],[5321,6389],[5325,6371],[5367,6341],[5387,6324],[5371,6310],[5378,6289],[5372,6221],[5404,6169],[5316,6132],[5242,6136]]]}},{"type":"Feature","id":"AR","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.27,"hc-key":"ar","hc-a2":"AR","name":"Argentina","labelrank":"2","country-abbrev":"Arg.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"ARG","iso-a2":"AR","woe-id":"23424747","continent":"South America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2167,4673],[2169,4670],[2167,4670],[2167,4673]]],[[[2584,5708],[2604,5706],[2606,5658],[2549,5623],[2494,5561],[2477,5505],[2477,5487],[2466,5426],[2509,5387],[2501,5373],[2522,5338],[2495,5295],[2451,5277],[2398,5267],[2362,5269],[2354,5201],[2310,5191],[2278,5207],[2273,5163],[2287,5146],[2312,5158],[2316,5134],[2292,5143],[2292,5126],[2265,5101],[2257,5052],[2239,5053],[2206,5030],[2197,5010],[2222,4978],[2246,4976],[2246,4939],[2199,4902],[2189,4865],[2160,4852],[2151,4826],[2173,4772],[2128,4786],[2070,4787],[2054,4804],[2058,4839],[2032,4835],[2020,4882],[2059,4928],[2051,4944],[2070,4970],[2088,5042],[2066,5062],[2077,5092],[2063,5125],[2075,5158],[2069,5206],[2085,5269],[2101,5277],[2091,5311],[2096,5352],[2115,5366],[2115,5397],[2133,5456],[2109,5516],[2137,5618],[2162,5659],[2177,5666],[2169,5733],[2206,5757],[2210,5794],[2238,5826],[2287,5813],[2295,5792],[2307,5819],[2345,5812],[2394,5763],[2422,5757],[2496,5712],[2465,5653],[2549,5649],[2578,5674],[2584,5708]]],[[[2167,4674],[2167,4761],[2173,4734],[2207,4704],[2250,4679],[2287,4669],[2229,4663],[2209,4666],[2202,4668],[2167,4674]]]]}},{"type":"Feature","id":"SA","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.53,"hc-key":"sa","hc-a2":"SA","name":"Saudi Arabia","labelrank":"2","country-abbrev":"Saud.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"SAU","iso-a2":"SA","woe-id":"23424938","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5641,7344],[5655,7313],[5692,7284],[5692,7255],[5712,7224],[5717,7218],[5724,7220],[5726,7210],[5734,7208],[5764,7167],[5842,7160],[5855,7137],[5836,7076],[5747,7045],[5662,7034],[5633,7020],[5611,6987],[5544,6998],[5485,6995],[5474,6966],[5427,7036],[5419,7061],[5381,7090],[5364,7117],[5364,7155],[5345,7193],[5318,7209],[5309,7237],[5249,7328],[5230,7330],[5241,7370],[5274,7365],[5331,7407],[5301,7439],[5366,7460],[5404,7453],[5453,7426],[5530,7365],[5585,7362],[5612,7358],[5641,7344]]]}},{"type":"Feature","id":"PK","properties":{"hc-group":"admin0","hc-middle-x":0.34,"hc-middle-y":0.64,"hc-key":"pk","hc-a2":"PK","name":"Pakistan","labelrank":"2","country-abbrev":"Pak.","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"PAK","iso-a2":"PK","woe-id":"23424922","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6416,7624],[6459,7605],[6482,7577],[6490,7559],[6453,7539],[6410,7548],[6393,7534],[6400,7495],[6438,7461],[6415,7446],[6416,7427],[6381,7388],[6368,7360],[6337,7325],[6295,7328],[6265,7289],[6313,7222],[6280,7205],[6247,7208],[6227,7195],[6203,7202],[6173,7246],[6088,7238],[6032,7238],[6039,7270],[6076,7283],[6067,7334],[6041,7344],[6010,7386],[6058,7372],[6106,7371],[6168,7385],[6173,7421],[6226,7450],[6261,7454],[6268,7491],[6290,7499],[6281,7523],[6313,7524],[6330,7562],[6316,7590],[6357,7617],[6416,7624]]]}},{"type":"Feature","id":"YE","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.75,"hc-key":"ye","hc-a2":"YE","name":"Yemen","labelrank":"3","country-abbrev":"Yem.","subregi
3on":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"YEM","iso-a2":"YE","woe-id":"23425002","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5747,7045],[5769,6994],[5780,6974],[5754,6943],[5675,6916],[5649,6895],[5629,6896],[5590,6877],[5564,6875],[5508,6852],[5494,6859],[5472,6941],[5474,6966],[5485,6995],[5544,6998],[5611,6987],[5633,7020],[5662,7034],[5747,7045]]]}},{"type":"Feature","id":"AE","properties":{"hc-group":"admin0","hc-middle-x":0.59,"hc-middle-y":0.65,"hc-key":"ae","hc-a2":"AE","name":"United Arab Emirates","labelrank":"4","country-abbrev":"U.A.E.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"ARE","iso-a2":"AE","woe-id":"23424738","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5874,7251],[5877,7248],[5877,7231],[5860,7228],[5842,7160],[5764,7167],[5734,7208],[5810,7205],[5868,7265],[5870,7253],[5874,7251]],[[5874,7239],[5876,7241],[5873,7241],[5873,7238],[5874,7239]]]}},{"type":"Feature","id":"KE","properties":{"hc-group":"admin0","hc-middle-x":0.87,"hc-middle-y":0.70,"hc-key":"ke","hc-a2":"KE","name":"Kenya","labelrank":"2","country-abbrev":"Ken.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"KEN","iso-a2":"KE","woe-id":"23424863","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5367,6341],[5325,6371],[5321,6389],[5215,6448],[5220,6471],[5213,6486],[5242,6527],[5240,6552],[5212,6603],[5255,6627],[5270,6615],[5297,6609],[5335,6585],[5377,6579],[5414,6605],[5447,6596],[5420,6562],[5420,6453],[5437,6429],[5396,6397],[5367,6341]]]}},{"type":"Feature","id":"PE","properties":{"hc-group":"admin0","hc-middle-x":0.69,"hc-middle-y":0.71,"hc-key":"pe","hc-a2":"PE","name":"Peru","labelrank":"2","country-abbrev":"Peru","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"PER","iso-a2":"PE","woe-id":"23424919","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[1970,6476],[2019,6442],[2032,6413],[2056,6406],[2096,6414],[2125,6399],[2105,6367],[2128,6354],[2103,6356],[2040,6327],[2034,6290],[2007,6256],[2061,6183],[2091,6185],[2111,6200],[2108,6153],[2139,6155],[2166,6108],[2153,6073],[2160,6058],[2145,6017],[2126,6008],[2153,5996],[2155,5997],[2157,5996],[2153,5988],[2155,5986],[2137,5964],[2141,5957],[2128,5935],[2115,5932],[2082,5964],[1973,6022],[1940,6061],[1942,6083],[1900,6144],[1860,6236],[1831,6278],[1797,6299],[1793,6354],[1820,6379],[1815,6358],[1858,6331],[1879,6379],[1928,6403],[1961,6433],[1970,6476]]]}},{"type":"Feature","id":"DO","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.38,"hc-key":"do","hc-a2":"DO","name":"Dominican Republic","labelrank":"5","country-abbrev":"Dom. Rep.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"DOM","iso-a2":"DO","woe-id":"23424800","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[2070,7030],[2070,7030],[2069,7031],[2069,7031],[2067,7033],[2076,7038],[2075,7067],[2097,7074],[2128,7066],[2138,7048],[2175,7035],[2159,7028],[2106,7028],[2085,7003],[2074,7016],[2076,7025],[2070,7030]]]}},{"type":"Feature","id":"HT","properties":{"hc-group":"admin0","hc-middle-x":0.82,"hc-middle-y":0.96,"hc-key":"ht","hc-a2":"HT","name":"Haiti","labelrank":"5","country-abbrev":"Haiti","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"HTI","iso-a2":"HT","woe-id":"23424839","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2070,7030],[2069,7031],[2069,7031],[2069,7031],[2070,7030]]],[[[2075,7067],[2076,7038],[2067,7033],[2068,7030],[2070,7030],[2076,7025],[2074,7016],[2028,7023],[2011,7016],[2000,7036],[2046,7028],[2046,7059],[2025,7070],[2075,7067]]]]}},{"type":"Feature","id":"PG","properties":{"hc-group":"admin0","hc-middle-x":0.14,"hc-middle-y":0.50,"hc-key":"pg","hc-a2":"PG","name":"Papua New Guinea","labelrank":"2","country-abbrev":"P.N.G.","subregion":"Melanesia","region-wb":"East Asia & Pacific","iso-a3":"PNG","iso-a2":"PG","woe-id":"23424926","continent":"Oceania"},"geometry":{"type":"MultiPolygon","coordinates":[[[[8388,6210],[8388,6275],[8388,6402],[8478,6367],[8493,6366],[8531,6335],[8530,6317],[8580,6303],[8592,6281],[856
35,6279],[8572,6258],[8600,6241],[8632,6198],[8684,6195],[8676,6166],[8595,6178],[8568,6199],[8539,6240],[8470,6255],[8460,6214],[8437,6203],[8388,6210]]],[[[8654,6406],[8646,6432],[8662,6408],[8716,6383],[8749,6353],[8741,6336],[8723,6373],[8654,6406]]],[[[8645,6292],[8598,6309],[8685,6319],[8703,6332],[8701,6355],[8727,6351],[8719,6320],[8669,6294],[8645,6292]]]]}},{"type":"Feature","id":"AO","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.67,"hc-key":"ao","hc-a2":"AO","name":"Angola","labelrank":"3","country-abbrev":"Ang.","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"AGO","iso-a2":"AO","woe-id":"23424745","continent":"Africa"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4566,6309],[4567,6317],[4560,6331],[4583,6349],[4592,6342],[4573,6330],[4566,6309]]],[[[4898,5953],[4821,5941],[4761,5950],[4752,5961],[4618,5960],[4595,5974],[4553,5965],[4553,6009],[4575,6081],[4609,6116],[4613,6163],[4590,6210],[4601,6232],[4568,6298],[4595,6306],[4697,6304],[4708,6263],[4726,6239],[4778,6242],[4783,6272],[4850,6264],[4851,6201],[4862,6185],[4864,6146],[4915,6157],[4916,6093],[4856,6093],[4856,5998],[4898,5953]]]]}},{"type":"Feature","id":"KH","properties":{"hc-group":"admin0","hc-middle-x":0.84,"hc-middle-y":0.49,"hc-key":"kh","hc-a2":"KH","name":"Cambodia","labelrank":"3","country-abbrev":"Camb.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"KHM","iso-a2":"KH","woe-id":"23424776","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7395,6915],[7395,6844],[7342,6805],[7304,6787],[7279,6789],[7258,6824],[7241,6881],[7280,6907],[7325,6904],[7374,6904],[7395,6915]]]}},{"type":"Feature","id":"VN","properties":{"hc-group":"admin0","hc-middle-x":0.59,"hc-middle-y":0.89,"hc-key":"vn","hc-a2":"VN","name":"Vietnam","labelrank":"2","country-abbrev":"Viet.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"VNM","iso-a2":"VN","woe-id":"23424984","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7304,6787],[7342,6805],[7395,6844],[7395,6915],[7399,6932],[7365,6984],[7311,7039],[7286,7055],[7319,7079],[7292,7106],[7264,7103],[7260,7125],[7234,7150],[7245,7162],[7289,7154],[7329,7180],[7372,7161],[7366,7149],[7409,7122],[7377,7105],[7350,7076],[7338,7046],[7368,6999],[7432,6936],[7452,6861],[7439,6815],[7387,6786],[7371,6790],[7364,6761],[7313,6739],[7314,6781],[7304,6787]]]}},{"type":"Feature","id":"MZ","properties":{"hc-group":"admin0","hc-middle-x":0.83,"hc-middle-y":0.28,"hc-key":"mz","hc-a2":"MZ","name":"Mozambique","labelrank":"3","country-abbrev":"Moz.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MOZ","iso-a2":"MZ","woe-id":"23424902","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5238,6078],[5234,6118],[5242,6136],[5316,6132],[5404,6169],[5416,6039],[5388,5991],[5305,5946],[5239,5885],[5233,5868],[5258,5816],[5246,5739],[5205,5723],[5169,5696],[5180,5668],[5164,5667],[5157,5668],[5155,5685],[5152,5696],[5153,5744],[5133,5807],[5166,5841],[5184,5880],[5176,5898],[5185,5932],[5182,5982],[5106,6014],[5101,6034],[5189,6063],[5202,6045],[5223,6052],[5220,6006],[5247,5987],[5266,6002],[5268,6044],[5238,6078]]]}},{"type":"Feature","id":"CR","properties":{"hc-group":"admin0","hc-middle-x":0.55,"hc-middle-y":0.31,"hc-key":"cr","hc-a2":"CR","name":"Costa Rica","labelrank":"5","country-abbrev":"C.R.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"CRI","iso-a2":"CR","woe-id":"23424791","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[1722,6802],[1727,6789],[1754,6762],[1740,6726],[1740,6726],[1736,6734],[1656,6785],[1661,6807],[1701,6804],[1722,6802]]],[[[1744,6716],[1739,6725],[1740,6725],[1740,6725],[1744,6716]]]]}},{"type":"Feature","id":"BJ","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.49,"hc-key":"bj","hc-a2":"BJ","name":"Benin","labelrank":"5","country-abbrev":"Benin","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"BEN","iso-a2":"BJ","woe-id":"23424764","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4311,6825],[4318,6792],[4286,6746],[4284,6667],[4260,6664],[4252,6662],[4252,6746],[4231,6804],[4247,6818],[4275,6831],[4288,6846],[4311,6825]]]}},{"type":"Feature","id":"NG","properties":{"hc-group":"admin0","hc-middle-x":0.36,"hc-middle-y":0.33,"hc-key":"ng","hc-a2":"NG","name":"Nigeria","labelrank":"2","country-abbrev":"Nigeria","subregi
3on":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"NGA","iso-a2":"NG","woe-id":"23424908","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4284,6667],[4286,6746],[4318,6792],[4311,6825],[4326,6878],[4368,6891],[4410,6864],[4436,6874],[4490,6859],[4504,6872],[4543,6875],[4574,6866],[4608,6885],[4621,6866],[4639,6839],[4567,6725],[4540,6669],[4518,6689],[4466,6651],[4459,6621],[4388,6605],[4370,6615],[4335,6666],[4284,6667]]]}},{"type":"Feature","id":"IR","properties":{"hc-group":"admin0","hc-middle-x":0.58,"hc-middle-y":0.51,"hc-key":"ir","hc-a2":"IR","name":"Iran","labelrank":"2","country-abbrev":"Iran","subregion":"Southern Asia","region-wb":"Middle East & North Africa","iso-a3":"IRN","iso-a2":"IR","woe-id":"23424851","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5532,7628],[5516,7656],[5510,7704],[5534,7714],[5552,7692],[5573,7687],[5580,7689],[5584,7687],[5627,7716],[5629,7685],[5654,7672],[5659,7648],[5694,7636],[5720,7614],[5744,7609],[5807,7617],[5804,7634],[5849,7660],[5902,7666],[5906,7656],[5949,7646],[5995,7610],[6020,7608],[6022,7576],[6001,7491],[6009,7439],[6035,7435],[6038,7418],[6010,7386],[6041,7344],[6067,7334],[6076,7283],[6039,7270],[6032,7238],[5982,7242],[5905,7256],[5896,7290],[5876,7301],[5830,7279],[5729,7324],[5690,7397],[5657,7404],[5644,7390],[5619,7423],[5623,7448],[5611,7469],[5577,7487],[5551,7521],[5579,7582],[5549,7589],[5532,7628]]]}},{"type":"Feature","id":"SV","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.55,"hc-key":"sv","hc-a2":"SV","name":"El Salvador","labelrank":"6","country-abbrev":"El. S.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"SLV","iso-a2":"SV","woe-id":"23424807","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1598,6876],[1569,6871],[1530,6886],[1530,6889],[1552,6907],[1601,6889],[1598,6876]]]}},{"type":"Feature","id":"SL","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.48,"hc-key":"sl","hc-a2":"SL","name":"Sierra Leone","labelrank":"4","country-abbrev":"S.L.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SLE","iso-a2":"SL","woe-id":"23424946","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3863,6683],[3820,6702],[3809,6746],[3833,6770],[3870,6774],[3899,6729],[3889,6708],[3863,6683]]]}},{"type":"Feature","id":"GW","properties":{"hc-group":"admin0","hc-middle-x":0.55,"hc-middle-y":0.49,"hc-key":"gw","hc-a2":"GW","name":"Guinea Bissau","labelrank":"6","country-abbrev":"GnB.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GNB","iso-a2":"GW","woe-id":"23424929","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3758,6803],[3732,6811],[3708,6844],[3753,6854],[3797,6854],[3797,6825],[3767,6819],[3758,6803]]]}},{"type":"Feature","id":"HR","properties":{"hc-group":"admin0","hc-middle-x":0.35,"hc-middle-y":0.59,"hc-key":"hr","hc-a2":"HR","name":"Croatia","labelrank":"6","country-abbrev":"Cro.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"HRV","iso-a2":"HR","woe-id":"23424843","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4753,7811],[4732,7826],[4728,7828],[4734,7826],[4751,7816],[4751,7814],[4753,7811]]],[[[4607,7923],[4659,7921],[4668,7949],[4694,7960],[4719,7940],[4765,7939],[4769,7910],[4768,7900],[4706,7915],[4672,7911],[4685,7876],[4726,7830],[4699,7837],[4645,7875],[4645,7908],[4619,7898],[4607,7923]]]]}},{"type":"Feature","id":"BZ","properties":{"hc-group":"admin0","hc-middle-x":0.53,"hc-middle-y":0.50,"hc-key":"bz","hc-a2":"BZ","name":"Belize","labelrank":"6","country-abbrev":"Belize","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"BLZ","iso-a2":"BZ","woe-id":"23424760","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1558,7009],[1567,7012],[1583,7030],[1586,6984],[1565,6951],[1556,6951],[1558,7009]]]}},{"type":"Feature","id":"ZA","properties":{"hc-group":"admin0","hc-middle-x":0.36,"hc-middle-y":0.70,"hc-key":"za","hc-a2":"ZA","name":"South Africa","labelrank":"2","country-abbrev":"S.Af.","subregi
3on":"Southern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"ZAF","iso-a2":"ZA","woe-id":"23424942","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5157,5668],[5164,5667],[5180,5668],[5165,5613],[5129,5581],[5106,5539],[5061,5492],[5008,5451],[4942,5430],[4874,5436],[4854,5424],[4787,5410],[4753,5441],[4733,5474],[4746,5480],[4744,5511],[4717,5555],[4693,5613],[4711,5630],[4720,5608],[4771,5600],[4797,5617],[4797,5734],[4822,5690],[4818,5666],[4847,5667],[4878,5695],[4887,5716],[4941,5700],[4963,5706],[4972,5734],[5000,5749],[5006,5769],[5041,5799],[5075,5814],[5104,5809],[5133,5807],[5153,5744],[5152,5696],[5137,5702],[5118,5682],[5128,5656],[5157,5668]],[[5040,5608],[5006,5579],[5037,5545],[5078,5588],[5054,5613],[5040,5608]]]}},{"type":"Feature","id":"CF","properties":{"hc-group":"admin0","hc-middle-x":0.47,"hc-middle-y":0.46,"hc-key":"cf","hc-a2":"CF","name":"Central African Republic","labelrank":"4","country-abbrev":"C.A.R.","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"CAF","iso-a2":"CF","woe-id":"23424792","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4882,6802],[4906,6770],[4901,6738],[4921,6735],[4956,6696],[4987,6675],[4988,6658],[5018,6628],[4963,6637],[4872,6602],[4815,6609],[4789,6630],[4754,6606],[4757,6581],[4722,6588],[4696,6581],[4685,6545],[4682,6562],[4654,6590],[4631,6657],[4663,6701],[4702,6702],[4756,6716],[4771,6745],[4810,
36749],[4870,6804],[4882,6802]]]}},{"type":"Feature","id":"SD","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.38,"hc-key":"sd","hc-a2":"SD","name":"Sudan","labelrank":"3","country-abbrev":"Sudan","subregion":"Northern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SDN","iso-a2":"SD","woe-id":"-90","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4921,6735],[4901,6738],[4906,6770],[4882,6802],[4863,6856],[4859,6887],[4873,6898],[4889,6945],[4916,6946],[4916,7061],[4916,7076],[4945,7076],[4945,7138],[5131,7138],[5299,7138],[5310,7102],[5318,7037],[5350,7015],[5302,6987],[5285,6928],[5288,6902],[5276,6855],[5263,6854],[5238,6796],[5230,6801],[5215,6758],[5189,6800],[5190,6840],[5156,6834],[5166,6806],[5131,6768],[5095,6783],[5060,6754],[4992,6760],[4970,6787],[4948,6783],[4921,6735]]]}},{"type":"Feature","id":"CD","properties":{"hc-group":"admin0","hc-middle-x":0.58,"hc-middle-y":0.42,"hc-key":"cd","hc-a2":"CD","name":"Democratic Republic of the Congo","labelrank":"2","country-abbrev":"D.R.C.","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"COD","iso-a2":"CD","woe-id":"23424780","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5071,6380],[5067,6329],[5079,6281],[5111,6236],[5061,6228],[5045,6210],[5050,6201],[5056,6189],[5046,6140],[5066,6112],[5088,6119],[5088,6081],[5070,6080],[5011,6136],[4996,6123],[4956,6134],[4955,6147],[4925,6142],[4915,6157],[4864,6146],[4862,6185],[4851,6201],[4850,6264],[4783,6272],[4778,6242],[4726,6239],[4708,6263],[4697,6304],[4595,6306],[4573,6300],[4566,6309],[4573,6330],[4592,6342],[4631,6353],[4644,6337],[4685,6381],[4686,6416],[4731,6463],[4740,6542],[4757,6581],[4754,6606],[4789,6630],[4815,6609],[4872,6602],[4963,6637],[5018,6628],[5046,6605],[5088,6613],[5119,6582],[5115,6551],[5132,6543],[5109,6523],[5108,6515],[5093,6503],[5085,6476],[5074,6464],[5084,6465],[5081,6452],[5082,6438],[5075,6434],[5071,6429],[5063,6421],[5061,6406],[5061,6400],[5065,6398],[5072,6389],[5071,6380]]]}},{"type":"Feature","id":"KW","properties":{"hc-group":"admin0","hc-middle-x":0.61,"hc-middle-y":0.40,"hc-key":"kw","hc-a2":"KW","name":"Kuwait","labelrank":"6","country-abbrev":"Kwt.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"KWT","iso-a2":"KW","woe-id":"23424870","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5641,7344],[5612,7358],[5585,7362],[5602,7390],[5627,7391],[5631,7370],[5641,7344]]]}},{"type":"Feature","id":"DE","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.34,"hc-key":"de","hc-a2":"DE","name":"Germany","labelrank":"2","country-abbrev":"Ger.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"DEU","iso-a2":"DE","woe-id":"23424829","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4477,8004],[4477,8003],[4477,8003],[4477,8004]]],[[[4461,8288],[4466,8289],[4484,8285],[4544,8248],[4575,8271],[4609,8275],[4620,8254],[4626,8249],[4625,8248],[4625,8247],[4621,8251],[4627,8239],[4623,8205],[4639,8194],[4644,8126],[4575,8108],[4571,8083],[4614,8045],[4582,8021],[4591,7997],[4565,8005],[4530,7993],[4492,7999],[4473,8009],[4477,8004],[4455,8001],[4429,8001],[4447,8053],[4392,8072],[4397,8085],[4386,8097],[4393,8105],[4382,8122],[4393,8164],[4412,8180],[4417,8221],[4422,8240],[4458,8233],[4471,8247],[4461,8288]]]]}},{"type":"Feature","id":"BE","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.40,"hc-key":"be","hc-a2":"BE","name":"Belgium","labelrank":"2","country-abbrev":"Belg.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"BEL","iso-a2":"BE","woe-id":"23424757","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4382,8122],[4393,8105],[4386,8097],[4374,8088],[4376,8075],[4327,8092],[4279,8135],[4297,8145],[4303,8146],[4317,8140],[4329,8146],[4331,8144],[4330,8146],[4353,8150],[4382,8122]]]}},{"type":"Feature","id":"IE","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.48,"hc-key":"ie","hc-a2":"IE","name":"Ireland","labelrank":"3","country-abbrev":"Ire.","subregi
3on":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"IRL","iso-a2":"IE","woe-id":"23424803","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[3989,8295],[3961,8270],[3987,8256],[4018,8256],[4026,8209],[4015,8179],[3979,8174],[3946,8154],[3913,8149],[3895,8167],[3939,8222],[3907,8226],[3912,8265],[3948,8262],[3958,8299],[3989,8295]]]}},{"type":"Feature","id":"KP","properties":{"hc-group":"admin0","hc-middle-x":0.32,"hc-middle-y":0.63,"hc-key":"kp","hc-a2":"KP","name":"North Korea","labelrank":"3","country-abbrev":"N.K.","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"PRK","iso-a2":"KP","woe-id":"23424865","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[8083,7807],[8051,7781],[8053,7755],[7988,7717],[7986,7697],[8013,7678],[7978,7667],[7963,7651],[7931,7658],[7924,7646],[7907,7675],[7927,7702],[7895,7730],[7943,7758],[7962,7785],[8007,7774],[8004,7796],[8053,7812],[8057,7831],[8078,7815],[8081,7811],[8083,7807]]]}},{"type":"Feature","id":"KR","properties":{"hc-group":"admin0","hc-middle-x":0.54,"hc-middle-y":0.50,"hc-key":"kr","hc-a2":"KR","name":"South Korea","labelrank":"2","country-abbrev":"S.K.","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"KOR","iso-a2":"KR","woe-id":"23424868","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7963,7651],[7978,7667],[8013,7678],[8042,7632],[8046,7573],[8021,7546],[8004,7553],[7987,7536],[7955,7542],[7963,7651]]]}},{"type":"Feature","id":"GY","properties":{"hc-group":"admin0","hc-middle-x":0.26,"hc-middle-y":0.07,"hc-key":"gy","hc-a2":"GY","name":"Guyana","labelrank":"4","country-abbrev":"Guy.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"GUY","iso-a2":"GY","woe-id":"23424836","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[2423,6732],[2450,6715],[2507,6658],[2505,6641],[2481,6602],[2528,6536],[2509,6538],[2459,6514],[2431,6534],[2423,6558],[2437,6595],[2424,6629],[2401,6632],[2382,6653],[2387,6672],[2415,6689],[2408,6709],[2423,6732]]]}},{"type":"Feature","id":"HN","properties":{"hc-group":"admin0","hc-middle-x":0.71,"hc-middle-y":0.09,"hc-key":"hn","hc-a2":"HN","name":"Honduras","labelrank":"5","country-abbrev":"Hond.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"HND","iso-a2":"HN","woe-id":"23424841","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1586,6946],[1654,6955],[1702,6949],[1737,6924],[1688,6919],[1660,6893],[1630,6887],[1613,6864],[1607,6873],[1598,6876],[1601,6889],[1552,6907],[1558,6926],[1586,6946]]]}},{"type":"Feature","id":"MM","properties":{"hc-group":"admin0","hc-middle-x":0.17,"hc-middle-y":0.49,"hc-key":"mm","hc-a2":"MM","name":"Myanmar","labelrank":"3","country-abbrev":"Myan.","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"MMR","iso-a2":"MM","woe-id":"23424763","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6942,7109],[6953,7116],[6951,7137],[6969,7150],[6973,7200],[6996,7195],[7023,7255],[7024,7278],[7074,7306],[7092,7333],[7098,7343],[7132,7313],[7133,7260],[7103,7234],[7101,7195],[7130,7203],[7138,7175],[7157,7171],[7146,7143],[7170,7139],[7177,7120],[7206,7124],[7193,7117],[7175,7086],[7128,7066],[7113,7070],[7095,7030],[7137,6959],[7119,6918],[7146,6886],[7161,6829],[7134,6785],[7129,6870],[7106,6921],[7102,6963],[7088,6985],[7036,6946],[7000,6955],[7012,7001],[6993,7058],[6965,7077],[6942,7109]]]}},{"type":"Feature","id":"GA","properties":{"hc-group":"admin0","hc-middle-x":0.36,"hc-middle-y":0.65,"hc-key":"ga","hc-a2":"GA","name":"Gabon","labelrank":"4","country-abbrev":"Gabon","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GAB","iso-a2":"GA","woe-id":"23424822","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4495,6508],[4540,6508],[4540,6543],[4541,6547],[4599,6542],[4597,6515],[4633,6506],[4614,6473],[4634,6461],[4622,6405],[4573,6423],[4547,6410],[4555,6369],[4534,6363],[4479,6425],[4462,6461],[4479,6467],[4480,6495],[4495,6508]]]}},{"type":"Feature","id":"GQ","properties":{"hc-group":"admin0","hc-middle-x":0.53,"hc-middle-y":0.55,"hc-key":"gq","hc-a2":"GQ","name":"Equatorial Guinea","labelrank":"4","country-abbrev":"Eq. G.","subregi
3on":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GNQ","iso-a2":"GQ","woe-id":"23424804","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4540,6543],[4540,6508],[4495,6508],[4481,6514],[4495,6548],[4500,6543],[4540,6543]]]}},{"type":"Feature","id":"NI","properties":{"hc-group":"admin0","hc-middle-x":0.84,"hc-middle-y":0.50,"hc-key":"ni","hc-a2":"NI","name":"Nicaragua","labelrank":"5","country-abbrev":"Nic.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"NIC","iso-a2":"NI","woe-id":"23424915","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1661,6807],[1603,6860],[1613,6864],[1630,6887],[1660,6893],[1688,6919],[1737,6924],[1715,6816],[1722,6802],[1701,6804],[1661,6807]]]}},{"type":"Feature","id":"LV","properties":{"hc-group":"admin0","hc-middle-x":0.05,"hc-middle-y":0.36,"hc-key":"lv","hc-a2":"LV","name":"Latvia","labelrank":"5","country-abbrev":"Lat.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"LVA","iso-a2":"LV","woe-id":"23424874","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[5016,8399],[5024,8370],[5039,8340],[5023,8325],[4993,8320],[4942,8353],[4929,8345],[4860,8352],[4829,8337],[4829,8370],[4849,8401],[4875,8408],[4907,8375],[4927,8386],[4925,8413],[4954,8422],[4990,8398],[5016,8399]]]}},{"type":"Feature","id":"UG","properties":{"hc-group":"admin0","hc-middle-x":0.16,"hc-middle-y":0.56,"hc-key":"ug","hc-a2":"UG","name":"Uganda","labelrank":"3","country-abbrev":"Uga.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"UGA","iso-a2":"UG","woe-id":"23424974","continent":"Africa"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5148,6449],[5148,6450],[5149,6449],[5148,6449]]],[[[5082,6438],[5081,6452],[5084,6465],[5091,6474],[5085,6476],[5093,6503],[5108,6515],[5136,6535],[5132,6543],[5115,6551],[5119,6582],[5198,6589],[5212,6603],[5240,6552],[5242,6527],[5213,6486],[5171,6483],[5147,6449],[5119,6449],[5108,6447],[5092,6435],[5082,6438]]]]}},{"type":"Feature","id":"MW","properties":{"hc-group":"admin0","hc-middle-x":0.16,"hc-middle-y":0.29,"hc-key":"mw","hc-a2":"MW","name":"Malawi","labelrank":"6","country-abbrev":"Mal.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MWI","iso-a2":"MW","woe-id":"23424889","continent":"Africa"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5240,6141],[5240,6141],[5240,6141],[5240,6141]]],[[[5235,6145],[5235,6146],[5234,6146],[5235,6145],[5235,6145]]],[[[5222,6192],[5219,6195],[5219,6195],[5222,6192]]],[[[5216,6197],[5215,6198],[5215,6197],[5216,6197]]],[[[5181,6201],[5195,6195],[5210,6191],[5223,6133],[5222,6082],[5238,6078],[5268,6044],[5266,6002],[5247,5987],[5220,6006],[5223,6052],[5202,6045],[5189,6063],[5178,6072],[5194,6107],[5190,6157],[5203,6166],[5181,6201]]]]}},{"type":"Feature","id":"AM","properties":{"hc-group":"admin0","hc-middle-x":0.10,"hc-middle-y":0.12,"hc-key":"am","hc-a2":"AM","name":"Armenia","labelrank":"6","country-abbrev":"Arm.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"ARM","iso-a2":"AM","woe-id":"23424743","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5584,7687],[5580,7689],[5573,7687],[5563,7710],[5533,7716],[5500,7730],[5493,7765],[5515,7769],[5539,7771],[5568,7734],[5558,7727],[5584,7687]],[[5540,7763],[5540,7764],[5538,7764],[5539,7762],[5540,7763]],[[5546,7760],[5545,7761],[5545,7761],[5545,7760],[5546,7760]],[[5554,7747],[5555,7747],[5556,7749],[5554,7749],[5554,7747]]]}},{"type":"Feature","id":"SX","properties":{"hc-group":"admin0","hc-middle-x":0.76,"hc-middle-y":0.53,"hc-key":"sx","hc-a2":"SX","name":"Somaliland","labelrank":"5","country-abbrev":"Solnd.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"-99","iso-a2":"SX","woe-id":"-99","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5487,6819],[5518,6788],[5562,6801],[5582,6795],[5611,6810],[5656,6812],[5656,6758],[5628,6715],[5598,6715],[5510,6744],[5470,6793],[5478,6804],[5487,6819]]]}},{"type":"Feature","id":"TM","properties":{"hc-group":"admin0","hc-middle-x":0.40,"hc-middle-y":0.42,"hc-key":"tm","hc-a2":"TM","name":"Turkmenistan","labelrank":"4","country-abbrev":"Turkm.","subregi
3on":"Central Asia","region-wb":"Europe & Central Asia","iso-a3":"TKM","iso-a2":"TM","woe-id":"23424972","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5898,7794],[5921,7785],[5915,7802],[5943,7825],[5981,7807],[5987,7775],[6043,7761],[6057,7726],[6151,7665],[6179,7658],[6178,7635],[6156,7642],[6126,7626],[6117,7598],[6052,7560],[6022,7576],[6020,7608],[5995,7610],[5949,7646],[5906,7656],[5902,7666],[5849,7660],[5804,7634],[5806,7688],[5794,7724],[5769,7728],[5775,7760],[5798,7748],[5828,7765],[5803,7799],[5792,7800],[5792,7800],[5812,7808],[5851,7770],[5865,7773],[5896,7770],[5898,7794]]],[[[5780,7795],[5782,7800],[5792,7800],[5792,7800],[5780,7795],[5780,7795],[5780,7795]]],[[[5780,7795],[5771,7775],[5760,7788],[5780,7795],[5780,7795],[5780,7795]]]]}},{"type":"Feature","id":"ZM","properties":{"hc-group":"admin0","hc-middle-x":0.36,"hc-middle-y":0.58,"hc-key":"zm","hc-a2":"ZM","name":"Zambia","labelrank":"3","country-abbrev":"Zambia","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"ZMB","iso-a2":"ZM","woe-id":"23425003","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5050,6201],[5069,6222],[5061,6228],[5111,6236],[5125,6219],[5129,6225],[5153,6211],[5181,6201],[5203,6166],[5190,6157],[5194,6107],[5178,6072],[5189,6063],[5101,6034],[5106,6014],[5060,6001],[5058,5987],[5038,5977],[5022,5969],[5006,5944],[4996,5940],[4954,5949],[4923,5958],[4898,5953],[4856,5998],[4856,6093],[4916,6093],[4915,6157],[4925,6142],[4955,6147],[4956,6134],[4996,6123],[5011,6136],[5070,6080],[5088,6081],[5088,6119],[5066,6112],[5046,6140],[5056,6189],[5050,6201]]]}},{"type":"Feature","id":"NC","properties":{"hc-group":"admin0","hc-middle-x":0.56,"hc-middle-y":0.71,"hc-key":"nc","hc-a2":"NC","name":"Northern Cyprus","labelrank":"6","country-abbrev":"N. Cy.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"-99","iso-a2":"NC","woe-id":"-90","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5210,7558],[5206,7556],[5203,7556],[5196,7562],[5175,7561],[5175,7561],[5175,7561],[5175,7561],[5175,7561],[5175,7561],[5231,7579],[5213,7557],[5210,7558]]],[[[5171,7561],[5173,7562],[5172,7561],[5171,7561]]]]}},{"type":"Feature","id":"MR","properties":{"hc-group":"admin0","hc-middle-x":0.61,"hc-middle-y":0.63,"hc-key":"mr","hc-a2":"MR","name":"Mauritania","labelrank":"3","country-abbrev":"Mrt.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MRT","iso-a2":"MR","woe-id":"23424896","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3946,7304],[4040,7245],[4061,7231],[4008,7231],[4040,6939],[3886,6937],[3856,6941],[3840,6917],[3779,6974],[3719,6968],[3713,6949],[3728,7014],[3714,7058],[3723,7083],[3698,7100],[3701,7117],[3818,7117],[3818,7170],[3847,7183],[3847,7263],[3946,7263],[3946,7304]]]}},{"type":"Feature","id":"DZ","properties":{"hc-group":"admin0","hc-middle-x":0.63,"hc-middle-y":0.50,"hc-key":"dz","hc-a2":"DZ","name":"Algeria","labelrank":"3","country-abbrev":"Alg.","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"DZA","iso-a2":"DZ","woe-id":"23424740","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4061,7231],[4040,7245],[3946,7304],[3946,7316],[3946,7348],[3977,7371],[4033,7378],[4096,7414],[4095,7444],[4129,7460],[4167,7459],[4173,7473],[4154,7497],[4151,7547],[4138,7558],[4235,7605],[4291,7616],[4346,7619],[4359,7611],[4423,7626],[4459,7621],[4452,7604],[4448,7543],[4426,7518],[4451,7473],[4472,7458],[4486,7398],[4496,7363],[4496,7279],[4483,7267],[4502,7227],[4546,7209],[4559,7185],[4426,7103],[4376,7059],[4329,7050],[4296,7050],[4299,7070],[4260,7083],[4238,7110],[4061,7231]]]}},{"type":"Feature","id":"LT","properties":{"hc-group":"admin0","hc-middle-x":0.27,"hc-middle-y":0.06,"hc-key":"lt","hc-a2":"LT","name":"Lithuania","labelrank":"5","country-abbrev":"Lith.","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"LTU","iso-a2":"LT","woe-id":"23424875","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4835,8303],[4832,8321],[4829,8337],[4860,8352],[4929,8345],[4942,8353],[4993,8320],[4998,8305],[4972,8290],[4960,8264],[4927,8247],[4901,8249],[4900,8258],[4880,8266],[4881,8288],[4835,8303]]],[[[4825,8304],[4830,8313],[4827,8304],[4825,8304]]]]}},{"type":"Feature","id":"ET","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.58,"hc-key":"et","hc-a2":"ET","name":"Ethiopia","labelrank":"2","country-abbrev":"Eth.","subregi
3on":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"ETH","iso-a2":"ET","woe-id":"23424808","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5444,6813],[5441,6810],[5444,6807],[5449,6802],[5478,6804],[5470,6793],[5510,6744],[5598,6715],[5628,6715],[5538,6624],[5509,6625],[5447,6596],[5414,6605],[5377,6579],[5335,6585],[5297,6609],[5270,6615],[5235,6675],[5205,6705],[5185,6709],[5190,6729],[5211,6728],[5215,6758],[5230,6801],[5238,6796],[5263,6854],[5276,6855],[5288,6902],[5328,6921],[5416,6897],[5462,6848],[5443,6820],[5444,6813]]]}},{"type":"Feature","id":"ER","properties":{"hc-group":"admin0","hc-middle-x":0.29,"hc-middle-y":0.05,"hc-key":"er","hc-a2":"ER","name":"Eritrea","labelrank":"4","country-abbrev":"Erit.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"ERI","iso-a2":"ER","woe-id":"23424806","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5462,6848],[5416,6897],[5328,6921],[5288,6902],[5285,6928],[5302,6987],[5350,7015],[5382,6928],[5426,6913],[5484,6855],[5471,6845],[5462,6848]]]}},{"type":"Feature","id":"GH","properties":{"hc-group":"admin0","hc-middle-x":0.13,"hc-middle-y":0.77,"hc-key":"gh","hc-a2":"GH","name":"Ghana","labelrank":"3","country-abbrev":"Ghana","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GHA","iso-a2":"GH","woe-id":"23424824","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4239,6659],[4142,6618],[4111,6629],[4112,6629],[4116,6629],[4120,6631],[4108,6681],[4130,6721],[4124,6759],[4122,6804],[4199,6808],[4215,6781],[4219,6681],[4239,6659]]]}},{"type":"Feature","id":"SI","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.57,"hc-key":"si","hc-a2":"SI","name":"Slovenia","labelrank":"6","country-abbrev":"Slo.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"SVN","iso-a2":"SI","woe-id":"23424945","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4607,7923],[4607,7925],[4611,7927],[4601,7952],[4611,7961],[4635,7956],[4682,7974],[4687,7974],[4694,7960],[4668,7949],[4659,7921],[4607,7923]]]}},{"type":"Feature","id":"GT","properties":{"hc-group":"admin0","hc-middle-x":0.44,"hc-middle-y":0.87,"hc-key":"gt","hc-a2":"GT","name":"Guatemala","labelrank":"3","country-abbrev":"Guat.","subregion":"Central America","region-wb":"Latin America & Caribbean","iso-a3":"GTM","iso-a2":"GT","woe-id":"23424834","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1565,6951],[1574,6947],[1586,6946],[1558,6926],[1552,6907],[1530,6889],[1530,6886],[1494,6893],[1466,6911],[1482,6956],[1522,6966],[1491,6992],[1504,7009],[1558,7009],[1556,6951],[1565,6951]]]}},{"type":"Feature","id":"BA","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.48,"hc-key":"ba","hc-a2":"BA","name":"Bosnia and Herzegovina","labelrank":"5","country-abbrev":"B.H.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"BIH","iso-a2":"BA","woe-id":"23424761","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4728,7828],[4725,7830],[4726,7830],[4685,7876],[4672,7911],[4706,7915],[4768,7900],[4779,7901],[4774,7851],[4752,7832],[4751,7816],[4734,7826],[4728,7828]]]}},{"type":"Feature","id":"JO","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.85,"hc-key":"jo","hc-a2":"JO","name":"Jordan","labelrank":"4","country-abbrev":"Jord.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"JOR","iso-a2":"JO","woe-id":"23424860","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5255,7426],[5258,7429],[5255,7431],[5254,7432],[5255,7434],[5259,7434],[5259,7448],[5259,7477],[5265,7480],[5296,7466],[5355,7501],[5363,7472],[5366,7460],[5301,7439],[5331,7407],[5274,7365],[5241,7370],[5243,7376],[5241,7377],[5247,7405],[5255,7426]]]}},{"type":"Feature","id":"SY","properties":{"hc-group":"admin0","hc-middle-x":0.25,"hc-middle-y":0.54,"hc-key":"sy","hc-a2":"SY","name":"Syria","labelrank":"3","country-abbrev":"Syria","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"SYR","iso-a2":"SY","woe-id":"23424956","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5355,7501],[5296,7466],[5265,7480],[5269,7487],[5267,7502],[5290,7529],[5271,7544],[5270,7569],[5270,7586],[5291,7617],[5338,7620],[5384,7614],[5457,7634],[5461,7627],[5432,7606],[5427,7548],[5412,7533],[5355,7501]]]}},{"type":"Feature","id":"MC","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.67,"hc-key":"mc","hc-a2":"MC","name":"Monaco","labelrank":"6","country-abbrev":"Mco.","subregi
3on":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"MCO","iso-a2":"MC","woe-id":"23424892","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4425,7859],[4424,7858],[4423,7858],[4424,7860],[4425,7859]]]}},{"type":"Feature","id":"AL","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.49,"hc-key":"al","hc-a2":"AL","name":"Albania","labelrank":"6","country-abbrev":"Alb.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"ALB","iso-a2":"AL","woe-id":"23424742","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4826,7757],[4826,7757],[4825,7758],[4826,7757]]],[[[4779,7800],[4779,7805],[4780,7808],[4789,7820],[4799,7816],[4812,7804],[4814,7792],[4811,7781],[4816,7764],[4817,7758],[4819,7758],[4822,7758],[4825,7758],[4825,7757],[4826,7756],[4826,7756],[4824,7753],[4826,7754],[4826,7753],[4828,7750],[4827,7750],[4828,7750],[4809,7720],[4798,7715],[4777,7749],[4779,7791],[4778,7795],[4779,7800]]],[[[4779,7807],[4779,7807],[4779,7806],[4779,7807]]]]}},{"type":"Feature","id":"UY","properties":{"hc-group":"admin0","hc-middle-x":0.81,"hc-middle-y":0.63,"hc-key":"uy","hc-a2":"UY","name":"Uruguay","labelrank":"4","country-abbrev":"Ury.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"URY","iso-a2":"UY","woe-id":"23424979","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[2626,5480],[2612,5465],[2615,5450],[2615,5447],[2620,5444],[2608,5422],[2573,5404],[2537,5404],[2487,5420],[2471,5437],[2477,5487],[2477,5505],[2494,5561],[2517,5563],[2542,5531],[2554,5539],[2626,5480]]]}},{"type":"Feature","id":"CNM","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.11,"hc-key":"cnm","hc-a2":"CN","name":"Cyprus No Mans Area","labelrank":"9","country-abbrev":null,"subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"-99","iso-a2":null,"woe-id":"-99","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[5213,7557],[5214,7557],[5213,7557],[5210,7557],[5210,7558],[5213,7557]]],[[[5171,7561],[5171,7561],[5172,7561],[5173,7562],[5173,7562],[5172,7560],[5171,7561]]],[[[5175,7561],[5174,7561],[5175,7561],[5175,7561],[5175,7561],[5175,7561]]],[[[5203,7556],[5205,7555],[5204,7555],[5196,7561],[5175,7561],[5175,7561],[5196,7562],[5203,7556]]]]}},{"type":"Feature","id":"MN","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.53,"hc-key":"mn","hc-a2":"MN","name":"Mongolia","labelrank":"3","country-abbrev":"Mong.","subregion":"Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"MNG","iso-a2":"MN","woe-id":"23424887","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7691,8008],[7702,8011],[7698,8015],[7722,8015],[7762,7975],[7756,7963],[7714,7968],[7664,7953],[7637,7921],[7603,7919],[7575,7895],[7528,7908],[7511,7885],[7526,7857],[7453,7813],[7372,7807],[7326,7787],[7282,7788],[7232,7803],[7220,7815],[7064,7822],[7034,7879],[6979,7903],[6901,7912],[6906,7963],[6885,8003],[6847,8016],[6814,8039],[6810,8061],[6945,8127],[7001,8115],[7011,8094],[7093,8083],[7121,8113],[7106,8132],[7139,8176],[7237,8144],[7239,8117],[7280,8098],[7330,8111],[7407,8090],[7425,8067],[7490,8060],[7559,8077],[7596,8104],[7628,8089],[7667,8086],[7632,8021],[7642,8005],[7691,8008]]]}},{"type":"Feature","id":"RW","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.56,"hc-key":"rw","hc-a2":"RW","name":"Rwanda","labelrank":"3","country-abbrev":"Rwa.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"RWA","iso-a2":"RW","woe-id":"23424937","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5065,6398],[5061,6400],[5061,6406],[5075,6419],[5071,6429],[5075,6434],[5082,6438],[5092,6435],[5108,6447],[5119,6432],[5111,6408],[5091,6400],[5065,6398]]]}},{"type":"Feature","id":"SO","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.74,"hc-key":"so","hc-a2":"SO","name":"Somalia","labelrank":"6","country-abbrev":"Som.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SOM","iso-a2":"SO","woe-id":"-90","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5447,6596],[5509,6625],[5538,6624],[5628,6715],[5656,6758],[5656,6812],[5726,6829],[5713,6758],[5627,6610],[5570,6551],[5494,6497],[5437,6429],[5420,6453],[5420,6562],[5447,6596]]]}},{"type":"Feature","id":"BO","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.59,"hc-key":"bo","hc-a2":"BO","name":"Bolivia","labelrank":"3","country-abbrev":"Bolivia","subregi
3on":"South America","region-wb":"Latin America & Caribbean","iso-a3":"BOL","iso-a2":"BO","woe-id":"23424762","continent":"South America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[2153,5996],[2153,6001],[2157,5996],[2155,5997],[2153,5996]]],[[[2141,5957],[2137,5964],[2155,5986],[2169,5993],[2145,6017],[2160,6058],[2153,6073],[2166,6108],[2139,6155],[2177,6154],[2226,6186],[2262,6192],[2263,6149],[2293,6110],[2332,6104],[2369,6077],[2409,6069],[2419,5995],[2469,5993],[2471,5965],[2496,5937],[2478,5876],[2450,5903],[2371,5892],[2356,5864],[2345,5812],[2307,5819],[2295,5792],[2287,5813],[2238,5826],[2210,5794],[2189,5794],[2180,5842],[2163,5868],[2173,5898],[2157,5913],[2141,5957]]]]}},{"type":"Feature","id":"CM","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.81,"hc-key":"cm","hc-a2":"CM","name":"Cameroon","labelrank":"3","country-abbrev":"Cam.","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"CMR","iso-a2":"CM","woe-id":"23424785","continent":"Africa"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4599,6542],[4541,6547],[4540,6543],[4500,6543],[4495,6548],[4490,6593],[4459,6621],[4466,6651],[4518,6689],[4540,6669],[4567,6725],[4639,6839],[4621,6866],[4629,6866],[4627,6861],[4634,6863],[4653,6820],[4651,6798],[4669,6774],[4625,6774],[4618,6764],[4655,6729],[4663,6701],[4631,6657],[4654,6590],[4682,6562],[4685,6545],[4684,6530],[4636,6544],[4599,6542]]],[[[4631,6866],[4631,6866],[4630,6866],[4631,6866]]]]}},{"type":"Feature","id":"CG","properties":{"hc-group":"admin0","hc-middle-x":0.15,"hc-middle-y":0.78,"hc-key":"cg","hc-a2":"CG","name":"Republic of Congo","labelrank":"4","country-abbrev":"Rep. Congo","subregion":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"COG","iso-a2":"CG","woe-id":"23424779","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4599,6542],[4636,6544],[4684,6530],[4685,6545],[4696,6581],[4722,6588],[4757,6581],[4740,6542],[4731,6463],[4686,6416],[4685,6381],[4644,6337],[4631,6353],[4592,6342],[4583,6349],[4560,6331],[4554,6344],[4534,6363],[4555,6369],[4547,6410],[4573,6423],[4622,6405],[4634,6461],[4614,6473],[4633,6506],[4597,6515],[4599,6542]]]}},{"type":"Feature","id":"EH","properties":{"hc-group":"admin0","hc-middle-x":0.41,"hc-middle-y":0.71,"hc-key":"eh","hc-a2":"EH","name":"Western Sahara","labelrank":"7","country-abbrev":"W. Sah.","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"ESH","iso-a2":"EH","woe-id":"23424990","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3698,7100],[3696,7103],[3699,7120],[3764,7121],[3782,7148],[3788,7182],[3835,7226],[3847,7264],[3866,7291],[3915,7290],[3943,7298],[3946,7316],[3946,7304],[3946,7263],[3847,7263],[3847,7183],[3818,7170],[3818,7117],[3701,7117],[3698,7100]]]}},{"type":"Feature","id":"RS","properties":{"hc-group":"admin0","hc-middle-x":0.42,"hc-middle-y":0.52,"hc-key":"rs","hc-a2":"RS","name":"Republic of Serbia","labelrank":"5","country-abbrev":"Serb.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"SRB","iso-a2":"RS","woe-id":"-90","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4774,7851],[4779,7901],[4768,7900],[4769,7910],[4765,7939],[4784,7948],[4805,7946],[4842,7910],[4839,7897],[4877,7877],[4867,7861],[4885,7836],[4867,7808],[4855,7808],[4844,7805],[4850,7820],[4820,7842],[4808,7826],[4786,7839],[4774,7851]]]}},{"type":"Feature","id":"ME","properties":{"hc-group":"admin0","hc-middle-x":0.42,"hc-middle-y":0.47,"hc-key":"me","hc-a2":"ME","name":"Montenegro","labelrank":"6","country-abbrev":"Mont.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"MNE","iso-a2":"ME","woe-id":"20069817","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4774,7851],[4786,7839],[4808,7826],[4798,7822],[4799,7816],[4789,7820],[4780,7808],[4779,7807],[4779,7806],[4772,7806],[4779,7800],[4778,7795],[4779,7791],[4761,7806],[4753,7811],[4751,7814],[4751,7816],[4752,7832],[4774,7851]]]}},{"type":"Feature","id":"TG","properties":{"hc-group":"admin0","hc-middle-x":0.76,"hc-middle-y":0.81,"hc-key":"tg","hc-a2":"TG","name":"Togo","labelrank":"6","country-abbrev":"Togo","subregi
3on":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"TGO","iso-a2":"TG","woe-id":"23424965","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4231,6804],[4252,6746],[4252,6662],[4246,6661],[4239,6659],[4219,6681],[4215,6781],[4199,6808],[4218,6804],[4231,6804]]]}},{"type":"Feature","id":"LA","properties":{"hc-group":"admin0","hc-middle-x":0.88,"hc-middle-y":0.79,"hc-key":"la","hc-a2":"LA","name":"Laos","labelrank":"4","country-abbrev":"Laos","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"LAO","iso-a2":"LA","woe-id":"23424872","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[7395,6915],[7374,6904],[7325,6904],[7338,6946],[7313,6970],[7315,6996],[7290,7025],[7272,7029],[7249,7010],[7233,7022],[7205,6999],[7209,7061],[7186,7062],[7175,7086],[7193,7117],[7206,7124],[7222,7111],[7217,7146],[7234,7150],[7260,7125],[7264,7103],[7292,7106],[7319,7079],[7286,7055],[7311,7039],[7365,6984],[7399,6932],[7395,6915]]]}},{"type":"Feature","id":"AF","properties":{"hc-group":"admin0","hc-middle-x":0.37,"hc-middle-y":0.52,"hc-key":"af","hc-a2":"AF","name":"Afghanistan","labelrank":"3","country-abbrev":"Afg.","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"AFG","iso-a2":"AF","woe-id":"23424739","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6426,7631],[6411,7627],[6416,7624],[6357,7617],[6316,7590],[6330,7562],[6313,7524],[6281,7523],[6290,7499],[6268,7491],[6261,7454],[6226,7450],[6173,7421],[6168,7385],[6106,7371],[6058,7372],[6010,7386],[6038,7418],[6035,7435],[6009,7439],[6001,7491],[6022,7576],[6052,7560],[6117,7598],[6126,7626],[6156,7642],[6178,7635],[6200,7629],[6215,7629],[6259,7626],[6285,7641],[6299,7669],[6329,7653],[6329,7613],[6379,7639],[6426,7631]]]}},{"type":"Feature","id":"UA","properties":{"hc-group":"admin0","hc-middle-x":0.70,"hc-middle-y":0.46,"hc-key":"ua","hc-a2":"UA","name":"Ukraine","labelrank":"3","country-abbrev":"Ukr.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"UKR","iso-a2":"UA","woe-id":"23424976","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4861,8032],[4866,8042],[4873,8057],[4876,8075],[4919,8114],[4905,8152],[4928,8166],[4969,8168],[5013,8155],[5074,8146],[5110,8154],[5122,8174],[5147,8175],[5207,8185],[5225,8161],[5218,8142],[5245,8140],[5262,8106],[5315,8109],[5367,8087],[5395,8064],[5382,8045],[5384,8010],[5356,8011],[5338,7983],[5269,7966],[5237,7948],[5260,7909],[5212,7882],[5179,7928],[5206,7939],[5146,7950],[5163,7959],[5129,7965],[5089,7927],[5084,7913],[5059,7914],[5041,7922],[5063,7958],[5097,7955],[5068,7999],[5072,8011],[5028,8033],[4994,8026],[4954,8013],[4883,8014],[4875,8020],[4861,8032]],[[5098,7955],[5107,7945],[5109,7947],[5100,7956],[5098,7955]],[[5213,7945],[5242,7929],[5237,7943],[5218,7952],[5213,7945]]]}},{"type":"Feature","id":"SK","properties":{"hc-group":"admin0","hc-middle-x":0.21,"hc-middle-y":0.52,"hc-key":"sk","hc-a2":"SK","name":"Slovakia","labelrank":"6","country-abbrev":"Svk.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"SVK","iso-a2":"SK","woe-id":"23424877","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4873,8057],[4866,8042],[4861,8032],[4812,8036],[4795,8021],[4733,8007],[4713,8017],[4704,8030],[4707,8039],[4741,8058],[4763,8074],[4852,8069],[4873,8057]]]}},{"type":"Feature","id":"JK","properties":{"hc-group":"admin0","hc-middle-x":0.40,"hc-middle-y":0.63,"hc-key":"jk","hc-a2":"JK","name":"Siachen Glacier","labelrank":"5","country-abbrev":"Siachen","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"-99","iso-a2":"JK","woe-id":"23424928","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6513,7572],[6490,7559],[6482,7577],[6500,7571],[6513,7572]]]}},{"type":"Feature","id":"BG","properties":{"hc-group":"admin0","hc-middle-x":0.76,"hc-middle-y":0.51,"hc-key":"bg","hc-a2":"BG","name":"Bulgaria","labelrank":"4","country-abbrev":"Bulg.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"BGR","iso-a2":"BG","woe-id":"23424771","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[5052,7859],[5026,7812],[5035,7796],[5007,7799],[4985,7786],[4953,7770],[4931,7781],[4884,7773],[4887,7787],[4867,7808],[4885,7836],[4867,7861],[4877,7877],[4896,7864],[4957,7856],[5006,7875],[5052,7859]]]}},{"type":"Feature","id":"QA","properties":{"hc-group":"admin0","hc-middle-x":0.36,"hc-middle-y":0.46,"hc-key":"qa","hc-a2":"QA","name":"Qatar","labelrank":"5","country-abbrev":"Qatar","subregi
3on":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"QAT","iso-a2":"QA","woe-id":"23424930","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5712,7224],[5710,7247],[5735,7259],[5724,7220],[5717,7218],[5712,7224]]]}},{"type":"Feature","id":"LI","properties":{"hc-group":"admin0","hc-middle-x":0.61,"hc-middle-y":0.53,"hc-key":"li","hc-a2":"LI","name":"Liechtenstein","labelrank":"6","country-abbrev":"Liech.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"LIE","iso-a2":"LI","woe-id":"23424879","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4487,7989],[4489,7983],[4488,7981],[4485,7981],[4487,7989]]]}},{"type":"Feature","id":"AT","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.62,"hc-key":"at","hc-a2":"AT","name":"Austria","labelrank":"4","country-abbrev":"Aust.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"AUT","iso-a2":"AT","woe-id":"23424750","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4488,7981],[4489,7983],[4487,7989],[4490,7994],[4488,7998],[4491,7997],[4492,7999],[4530,7993],[4565,8005],[4591,7997],[4582,8021],[4614,8045],[4640,8039],[4648,8053],[4707,8039],[4704,8030],[4713,8017],[4696,8007],[4682,7974],[4635,7956],[4611,7961],[4572,7967],[4566,7982],[4514,7974],[4504,7973],[4488,7981]]]}},{"type":"Feature","id":"SZ","properties":{"hc-group":"admin0","hc-middle-x":0.51,"hc-middle-y":0.45,"hc-key":"sz","hc-a2":"SZ","name":"Swaziland","labelrank":"4","country-abbrev":"Swz.","subregion":"Southern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SWZ","iso-a2":"SZ","woe-id":"23424993","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5152,5696],[5155,5685],[5157,5668],[5128,5656],[5118,5682],[5137,5702],[5152,5696]]]}},{"type":"Feature","id":"HU","properties":{"hc-group":"admin0","hc-middle-x":0.27,"hc-middle-y":0.61,"hc-key":"hu","hc-a2":"HU","name":"Hungary","labelrank":"5","country-abbrev":"Hun.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"HUN","iso-a2":"HU","woe-id":"23424844","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4861,8032],[4875,8020],[4883,8014],[4857,7997],[4831,7952],[4805,7946],[4784,7948],[4765,7939],[4719,7940],[4694,7960],[4687,7974],[4682,7974],[4696,8007],[4713,8017],[4733,8007],[4795,8021],[4812,8036],[4861,8032]]]}},{"type":"Feature","id":"RO","properties":{"hc-group":"admin0","hc-middle-x":0.67,"hc-middle-y":0.50,"hc-key":"ro","hc-a2":"RO","name":"Romania","labelrank":"3","country-abbrev":"Rom.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"ROU","iso-a2":"RO","woe-id":"23424933","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4877,7877],[4839,7897],[4842,7910],[4805,7946],[4831,7952],[4857,7997],[4883,8014],[4954,8013],[4994,8026],[5005,8023],[5042,7965],[5041,7922],[5059,7914],[5084,7913],[5054,7880],[5052,7859],[5006,7875],[4957,7856],[4896,7864],[4877,7877]]]}},{"type":"Feature","id":"NE","properties":{"hc-group":"admin0","hc-middle-x":0.64,"hc-middle-y":0.53,"hc-key":"ne","hc-a2":"NE","name":"Niger","labelrank":"3","country-abbrev":"Niger","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"NER","iso-a2":"NE","woe-id":"23424906","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4311,6825],[4288,6846],[4275,6831],[4269,6852],[4233,6865],[4210,6922],[4243,6933],[4308,6935],[4328,6967],[4329,7050],[4376,7059],[4426,7103],[4559,7185],[4604,7175],[4626,7157],[4649,7169],[4655,7122],[4678,7087],[4671,7073],[4663,6982],[4603,6906],[4608,6885],[4574,6866],[4543,6875],[4504,6872],[4490,6859],[4436,6874],[4410,6864],[4368,6891],[4326,6878],[4311,6825]]]}},{"type":"Feature","id":"LU","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.60,"hc-key":"lu","hc-a2":"LU","name":"Luxembourg","labelrank":"6","country-abbrev":"Lux.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"LUX","iso-a2":"LU","woe-id":"23424881","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4392,8072],[4381,8071],[4376,8075],[4374,8088],[4386,8097],[4397,8085],[4392,8072]]]}},{"type":"Feature","id":"AD","properties":{"hc-group":"admin0","hc-middle-x":0.58,"hc-middle-y":0.28,"hc-key":"ad","hc-a2":"AD","name":"Andorra","labelrank":"6","country-abbrev":"And.","subregi
3on":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"AND","iso-a2":"AD","woe-id":"23424744","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4246,7818],[4255,7818],[4255,7814],[4249,7812],[4246,7818]]]}},{"type":"Feature","id":"CI","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.48,"hc-key":"ci","hc-a2":"CI","name":"Ivory Coast","labelrank":"3","country-abbrev":"I.C.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"CIV","iso-a2":"CI","woe-id":"23424854","continent":"Africa"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4124,6759],[4130,6721],[4108,6681],[4120,6631],[4030,6627],[3980,6607],[3982,6650],[3948,6670],[3952,6702],[3971,6757],[3967,6779],[4019,6782],[4040,6787],[4065,6765],[4109,6772],[4124,6759]]],[[[4111,6629],[4107,6630],[4112,6629],[4111,6629]]]]}},{"type":"Feature","id":"LR","properties":{"hc-group":"admin0","hc-middle-x":0.96,"hc-middle-y":0.75,"hc-key":"lr","hc-a2":"LR","name":"Liberia","labelrank":"4","country-abbrev":"Liberia","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"LBR","iso-a2":"LR","woe-id":"23424876","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3952,6702],[3948,6670],[3982,6650],[3980,6607],[3929,6631],[3863,6683],[3889,6708],[3899,6729],[3922,6725],[3933,6691],[3952,6702]]]}},{"type":"Feature","id":"BN","properties":{"hc-group":"admin0","hc-middle-x":0.32,"hc-middle-y":0.34,"hc-key":"bn","hc-a2":"BN","name":"Brunei","labelrank":"6","country-abbrev":"Brunei","subregion":"South-Eastern Asia","region-wb":"East Asia & Pacific","iso-a3":"BRN","iso-a2":"BN","woe-id":"23424773","continent":"Asia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[7618,6621],[7621,6622],[7621,6623],[7627,6606],[7618,6621]]],[[[7587,6614],[7603,6617],[7616,6623],[7606,6597],[7587,6614]]]]}},{"type":"Feature","id":"IQ","properties":{"hc-group":"admin0","hc-middle-x":0.46,"hc-middle-y":0.44,"hc-key":"iq","hc-a2":"IQ","name":"Iraq","labelrank":"3","country-abbrev":"Iraq","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"IRQ","iso-a2":"IQ","woe-id":"23424855","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5644,7390],[5632,7392],[5627,7391],[5602,7390],[5585,7362],[5530,7365],[5453,7426],[5404,7453],[5366,7460],[5363,7472],[5355,7501],[5412,7533],[5427,7548],[5432,7606],[5461,7627],[5472,7635],[5532,7628],[5549,7589],[5579,7582],[5551,7521],[5577,7487],[5611,7469],[5623,7448],[5619,7423],[5644,7390]]]}},{"type":"Feature","id":"GE","properties":{"hc-group":"admin0","hc-middle-x":0.99,"hc-middle-y":0.82,"hc-key":"ge","hc-a2":"GE","name":"Georgia","labelrank":"5","country-abbrev":"Geo.","subregion":"Western Asia","region-wb":"Europe & Central Asia","iso-a3":"GEO","iso-a2":"GE","woe-id":"23424823","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5539,7771],[5515,7769],[5493,7765],[5474,7782],[5436,7779],[5436,7819],[5391,7846],[5475,7838],[5508,7816],[5534,7823],[5582,7793],[5584,7763],[5539,7771]]]}},{"type":"Feature","id":"GM","properties":{"hc-group":"admin0","hc-middle-x":0.51,"hc-middle-y":0.51,"hc-key":"gm","hc-a2":"GM","name":"Gambia","labelrank":"6","country-abbrev":"Gambia","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GMB","iso-a2":"GM","woe-id":"23424821","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3707,6866],[3705,6874],[3713,6882],[3762,6888],[3734,6869],[3707,6866]]]}},{"type":"Feature","id":"CH","properties":{"hc-group":"admin0","hc-middle-x":0.12,"hc-middle-y":0.55,"hc-key":"ch","hc-a2":"CH","name":"Switzerland","labelrank":"4","country-abbrev":"Switz.","subregion":"Western Europe","region-wb":"Europe & Central Asia","iso-a3":"CHE","iso-a2":"CH","woe-id":"23424957","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4477,8004],[4477,8004],[4477,8003],[4477,8003],[4486,7997],[4488,7998],[4490,7994],[4487,7989],[4485,7981],[4488,7981],[4504,7973],[4514,7974],[4500,7955],[4466,7944],[4444,7951],[4412,7939],[4405,7947],[4405,7957],[4400,7961],[4393,7956],[4389,7952],[4386,7963],[4429,8001],[4455,8001],[4477,8004]]]}},{"type":"Feature","id":"TD","properties":{"hc-group":"admin0","hc-middle-x":0.47,"hc-middle-y":0.63,"hc-key":"td","hc-a2":"TD","name":"Chad","labelrank":"3","country-abbrev":"Chad","subregi
3on":"Middle Africa","region-wb":"Sub-Saharan Africa","iso-a3":"TCD","iso-a2":"TD","woe-id":"23424777","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4634,6863],[4642,6866],[4631,6866],[4630,6866],[4628,6868],[4629,6866],[4621,6866],[4608,6885],[4603,6906],[4663,6982],[4671,7073],[4678,7087],[4655,7122],[4649,7169],[4678,7183],[4916,7061],[4916,6946],[4889,6945],[4873,6898],[4859,6887],[4863,6856],[4882,6802],[4870,6804],[4810,6749],[4771,6745],[4756,6716],[4702,6702],[4663,6701],[4655,6729],[4618,6764],[4625,6774],[4669,6774],[4651,6798],[4653,6820],[4634,6863]]]}},{"type":"Feature","id":"KV","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.52,"hc-key":"kv","hc-a2":"KV","name":"Kosovo","labelrank":"6","country-abbrev":"Kos.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"-99","iso-a2":"KV","woe-id":"-90","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4814,7792],[4812,7804],[4799,7816],[4798,7822],[4808,7826],[4820,7842],[4850,7820],[4844,7805],[4830,7804],[4814,7792]]]}},{"type":"Feature","id":"LB","properties":{"hc-group":"admin0","hc-middle-x":0.39,"hc-middle-y":0.57,"hc-key":"lb","hc-a2":"LB","name":"Lebanon","labelrank":"5","country-abbrev":"Leb.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"LBN","iso-a2":"LB","woe-id":"23424873","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5246,7492],[5260,7519],[5271,7544],[5290,7529],[5267,7502],[5257,7492],[5246,7492]]]}},{"type":"Feature","id":"DJ","properties":{"hc-group":"admin0","hc-middle-x":0.56,"hc-middle-y":0.55,"hc-key":"dj","hc-a2":"DJ","name":"Djibouti","labelrank":"5","country-abbrev":"Dji.","subregion":"Eastern Africa","region-wb":"Middle East & North Africa","iso-a3":"DJI","iso-a2":"DJ","woe-id":"23424797","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5478,6804],[5449,6802],[5444,6807],[5447,6810],[5444,6813],[5443,6820],[5462,6848],[5471,6845],[5484,6855],[5490,6834],[5487,6819],[5478,6804]]]}},{"type":"Feature","id":"BI","properties":{"hc-group":"admin0","hc-middle-x":0.57,"hc-middle-y":0.47,"hc-key":"bi","hc-a2":"BI","name":"Burundi","labelrank":"6","country-abbrev":"Bur.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"BDI","iso-a2":"BI","woe-id":"23424774","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5084,6347],[5076,6364],[5071,6380],[5072,6389],[5065,6398],[5091,6400],[5111,6408],[5118,6383],[5084,6347]]]}},{"type":"Feature","id":"SR","properties":{"hc-group":"admin0","hc-middle-x":0.91,"hc-middle-y":0.09,"hc-key":"sr","hc-a2":"SR","name":"Suriname","labelrank":"4","country-abbrev":"Sur.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"SUR","iso-a2":"SR","woe-id":"23424913","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[2583,6547],[2543,6553],[2528,6536],[2481,6602],[2505,6641],[2514,6656],[2601,6651],[2596,6636],[2587,6623],[2601,6581],[2583,6547]]]}},{"type":"Feature","id":"IL","properties":{"hc-group":"admin0","hc-middle-x":0.68,"hc-middle-y":0.10,"hc-key":"il","hc-a2":"IL","name":"Israel","labelrank":"4","country-abbrev":"Isr.","subregion":"Western Asia","region-wb":"Middle East & North Africa","iso-a3":"ISR","iso-a2":"IL","woe-id":"23424852","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[5219,7433],[5238,7465],[5246,7492],[5257,7492],[5267,7502],[5269,7487],[5265,7480],[5259,7477],[5259,7448],[5254,7440],[5255,7434],[5254,7432],[5255,7431],[5253,7429],[5255,7426],[5247,7405],[5241,7377],[5240,7374],[5239,7374],[5237,7382],[5219,7433]]]}},{"type":"Feature","id":"ML","properties":{"hc-group":"admin0","hc-middle-x":0.59,"hc-middle-y":0.38,"hc-key":"ml","hc-a2":"ML","name":"Mali","labelrank":"3","country-abbrev":"Mali","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MLI","iso-a2":"ML","woe-id":"23424891","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4040,6787],[4019,6782],[3967,6779],[3955,6815],[3931,6848],[3886,6831],[3866,6846],[3845,6885],[3840,6917],[3856,6941],[3886,6937],[4040,6939],[4008,7231],[4061,7231],[4238,7110],[4260,7083],[4299,7070],[4296,7050],[4329,7050],[4328,6967],[4308,6935],[4243,6933],[4210,6922],[4183,6927],[4141,6899],[4120,6895],[4099,6869],[4083,6876],[4069,6839],[4051,6832],[4040,6787]]]}},{"type":"Feature","id":"SN","properties":{"hc-group":"admin0","hc-middle-x":0.20,"hc-middle-y":0.55,"hc-key":"sn","hc-a2":"SN","name":"Senegal","labelrank":"3","country-abbrev":"Sen.","subregi
3on":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SEN","iso-a2":"SN","woe-id":"23424943","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3708,6844],[3705,6859],[3707,6866],[3734,6869],[3762,6888],[3713,6882],[3695,6922],[3713,6949],[3719,6968],[3779,6974],[3840,6917],[3845,6885],[3866,6846],[3837,6843],[3797,6854],[3753,6854],[3708,6844]]]}},{"type":"Feature","id":"GN","properties":{"hc-group":"admin0","hc-middle-x":0.24,"hc-middle-y":0.51,"hc-key":"gn","hc-a2":"GN","name":"Guinea","labelrank":"3","country-abbrev":"Gin.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"GIN","iso-a2":"GN","woe-id":"23424835","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[3866,6846],[3886,6831],[3931,6848],[3955,6815],[3967,6779],[3971,6757],[3952,6702],[3933,6691],[3922,6725],[3899,6729],[3870,6774],[3833,6770],[3809,6746],[3793,6770],[3758,6803],[3767,6819],[3797,6825],[3797,6854],[3837,6843],[3866,6846]]]}},{"type":"Feature","id":"ZW","properties":{"hc-group":"admin0","hc-middle-x":0.81,"hc-middle-y":0.42,"hc-key":"zw","hc-a2":"ZW","name":"Zimbabwe","labelrank":"3","country-abbrev":"Zimb.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"ZWE","iso-a2":"ZW","woe-id":"23425004","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4954,5949],[4996,5940],[5006,5944],[5038,5977],[5038,5977],[5058,5987],[5060,6001],[5106,6014],[5182,5982],[5185,5932],[5176,5898],[5184,5880],[5166,5841],[5133,5807],[5104,5809],[5075,5814],[5036,5833],[5026,5865],[4979,5896],[4954,5949]]]}},{"type":"Feature","id":"PL","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.48,"hc-key":"pl","hc-a2":"PL","name":"Poland","labelrank":"3","country-abbrev":"Pol.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"POL","iso-a2":"PL","woe-id":"23424923","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4786,8270],[4779,8263],[4790,8269],[4878,8266],[4880,8266],[4900,8258],[4901,8249],[4912,8198],[4891,8183],[4905,8152],[4919,8114],[4876,8075],[4873,8057],[4852,8069],[4763,8074],[4755,8089],[4691,8116],[4644,8126],[4639,8194],[4623,8205],[4627,8239],[4638,8245],[4625,8247],[4625,8248],[4626,8249],[4683,8263],[4696,8274],[4748,8286],[4756,8269],[4786,8270],[4786,8270]]]}},{"type":"Feature","id":"MK","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.44,"hc-key":"mk","hc-a2":"MK","name":"Macedonia","labelrank":"6","country-abbrev":"Mkd.","subregion":"Southern Europe","region-wb":"Europe & Central Asia","iso-a3":"MKD","iso-a2":"MK","woe-id":"23424890","continent":"Europe"},"geometry":{"type":"MultiPolygon","coordinates":[[[[4826,7756],[4826,7756],[4826,7756],[4826,7756]]],[[[4867,7808],[4887,7787],[4884,7773],[4854,7765],[4831,7756],[4826,7762],[4826,7757],[4825,7758],[4825,7758],[4822,7758],[4819,7758],[4822,7765],[4816,7764],[4811,7781],[4814,7792],[4830,7804],[4844,7805],[4855,7808],[4867,7808]]]]}},{"type":"Feature","id":"PY","properties":{"hc-group":"admin0","hc-middle-x":0.35,"hc-middle-y":0.36,"hc-key":"py","hc-a2":"PY","name":"Paraguay","labelrank":"4","country-abbrev":"Para.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"PRY","iso-a2":"PY","woe-id":"23424917","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[2594,5755],[2590,5743],[2583,5712],[2584,5709],[2584,5708],[2578,5674],[2549,5649],[2465,5653],[2496,5712],[2422,5757],[2394,5763],[2345,5812],[2356,5864],[2371,5892],[2450,5903],[2478,5876],[2488,5852],[2483,5817],[2530,5817],[2553,5800],[2559,5759],[2594,5755]]]}},{"type":"Feature","id":"BY","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"by","hc-a2":"BY","name":"Belarus","labelrank":"4","country-abbrev":"Bela.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"BLR","iso-a2":"BY","woe-id":"23424765","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4905,8152],[4891,8183],[4912,8198],[4901,8249],[4927,8247],[4960,8264],[4972,8290],[4998,8305],[4993,8320],[5023,8325],[5039,8340],[5121,8317],[5146,8243],[5175,8229],[5131,8212],[5147,8175],[5122,8174],[5110,8154],[5074,8146],[5013,8155],[4969,8168],[4928,8166],[4905,8152]]]}},{"type":"Feature","id":"CZ","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.56,"hc-key":"cz","hc-a2":"CZ","name":"Czech Republic","labelrank":"5","country-abbrev":"Cz. Rep.","subregi
3on":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"CZE","iso-a2":"CZ","woe-id":"23424810","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[4763,8074],[4741,8058],[4707,8039],[4648,8053],[4640,8039],[4614,8045],[4571,8083],[4575,8108],[4644,8126],[4691,8116],[4755,8089],[4763,8074]]]}},{"type":"Feature","id":"BF","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.54,"hc-key":"bf","hc-a2":"BF","name":"Burkina Faso","labelrank":"3","country-abbrev":"B.F.","subregion":"Western Africa","region-wb":"Sub-Saharan Africa","iso-a3":"BFA","iso-a2":"BF","woe-id":"23424978","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4231,6804],[4218,6804],[4199,6808],[4122,6804],[4124,6759],[4109,6772],[4065,6765],[4040,6787],[4051,6832],[4069,6839],[4083,6876],[4099,6869],[4120,6895],[4141,6899],[4183,6927],[4210,6922],[4233,6865],[4269,6852],[4275,6831],[4247,6818],[4231,6804]]]}},{"type":"Feature","id":"NA","properties":{"hc-group":"admin0","hc-middle-x":0.33,"hc-middle-y":0.37,"hc-key":"na","hc-a2":"NA","name":"Namibia","labelrank":"3","country-abbrev":"Nam.","subregion":"Southern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"NAM","iso-a2":"NA","woe-id":"23424987","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4898,5953],[4923,5958],[4954,5949],[4904,5928],[4895,5942],[4826,5933],[4827,5821],[4797,5819],[4797,5734],[4797,5617],[4771,5600],[4720,5608],[4711,5630],[4693,5613],[4658,5652],[4637,5740],[4631,5811],[4602,5855],[4577,5909],[4561,5927],[4553,5965],[4595,5974],[4618,5960],[4752,5961],[4761,5950],[4821,5941],[4898,5953]]]}},{"type":"Feature","id":"LY","properties":{"hc-group":"admin0","hc-middle-x":0.51,"hc-middle-y":0.38,"hc-key":"ly","hc-a2":"LY","name":"Libya","labelrank":"3","country-abbrev":"Libya","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"LBY","iso-a2":"LY","woe-id":"23424882","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4649,7169],[4626,7157],[4604,7175],[4559,7185],[4546,7209],[4502,7227],[4483,7267],[4496,7279],[4496,7363],[4486,7398],[4509,7421],[4504,7437],[4547,7471],[4545,7495],[4570,7483],[4600,7486],[4655,7469],[4680,7432],[4719,7426],[4770,7399],[4790,7407],[4795,7448],[4814,7474],[4846,7487],[4890,7477],[4889,7467],[4945,7455],[4950,7445],[4937,7397],[4945,7364],[4945,7138],[4945,7076],[4916,7076],[4916,7061],[4678,7183],[4649,7169]]]}},{"type":"Feature","id":"TN","properties":{"hc-group":"admin0","hc-middle-x":0.53,"hc-middle-y":0.03,"hc-key":"tn","hc-a2":"TN","name":"Tunisia","labelrank":"3","country-abbrev":"Tun.","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"TUN","iso-a2":"TN","woe-id":"23424967","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4545,7495],[4547,7471],[4504,7437],[4509,7421],[4486,7398],[4472,7458],[4451,7473],[4426,7518],[4448,7543],[4452,7604],[4459,7621],[4493,7635],[4535,7563],[4505,7533],[4511,7512],[4532,7515],[4545,7495]]]}},{"type":"Feature","id":"BT","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.48,"hc-key":"bt","hc-a2":"BT","name":"Bhutan","labelrank":"5","country-abbrev":"Bhutan","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"BTN","iso-a2":"BT","woe-id":"23424770","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6842,7305],[6882,7338],[6923,7319],[6937,7293],[6869,7285],[6842,7305]]]}},{"type":"Feature","id":"MD","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.42,"hc-key":"md","hc-a2":"MD","name":"Moldova","labelrank":"6","country-abbrev":"Mda.","subregion":"Eastern Europe","region-wb":"Europe & Central Asia","iso-a3":"MDA","iso-a2":"MD","woe-id":"23424885","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[5041,7922],[5042,7965],[5005,8023],[4994,8026],[5028,8033],[5072,8011],[5068,7999],[5097,7955],[5063,7958],[5041,7922]]]}},{"type":"Feature","id":"SS","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.58,"hc-key":"ss","hc-a2":"SS","name":"South Sudan","labelrank":"3","country-abbrev":"S. Sud.","subregi
3on":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"SSD","iso-a2":"SS","woe-id":"-99","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5212,6603],[5198,6589],[5119,6582],[5088,6613],[5046,6605],[5018,6628],[4988,6658],[4987,6675],[4956,6696],[4921,6735],[4948,6783],[4970,6787],[4992,6760],[5060,6754],[5095,6783],[5131,6768],[5166,6806],[5156,6834],[5190,6840],[5189,6800],[5215,6758],[5211,6728],[5190,6729],[5185,6709],[5205,6705],[5235,6675],[5270,6615],[5255,6627],[5212,6603]]]}},{"type":"Feature","id":"BW","properties":{"hc-group":"admin0","hc-middle-x":0.49,"hc-middle-y":0.60,"hc-key":"bw","hc-a2":"BW","name":"Botswana","labelrank":"4","country-abbrev":"Bwa.","subregion":"Southern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"BWA","iso-a2":"BW","woe-id":"23424755","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[4954,5949],[4979,5896],[5026,5865],[5036,5833],[5075,5814],[5041,5799],[5006,5769],[5000,5749],[4972,5734],[4963,5706],[4941,5700],[4887,5716],[4878,5695],[4847,5667],[4818,5666],[4822,5690],[4797,5734],[4797,5819],[4827,5821],[4826,5933],[4895,5942],[4904,5928],[4954,5949]]]}},{"type":"Feature","id":"BS","properties":{"hc-group":"admin0","hc-middle-x":0.80,"hc-middle-y":0.92,"hc-key":"bs","hc-a2":"BS","name":"The Bahamas","labelrank":"4","country-abbrev":"Bhs.","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"BHS","iso-a2":"BS","woe-id":"23424758","continent":"North America"},"geometry":{"type":"MultiPolygon","coordinates":[[[[1956,7219],[1937,7241],[1937,7241],[1937,7241],[1944,7236],[1956,7219],[1956,7219]]],[[[1956,7219],[1970,7205],[1976,7173],[2045,7149],[1983,7165],[1949,7190],[1966,7207],[1956,7219],[1956,7219]]],[[[1937,7241],[1911,7260],[1890,7236],[1901,7192],[1881,7221],[1883,7237],[1912,7268],[1937,7241],[1937,7241],[1937,7241]]]]}},{"type":"Feature","id":"NZ","properties":{"hc-group":"admin0","hc-middle-x":0.25,"hc-middle-y":0.81,"hc-key":"nz","hc-a2":"NZ","name":"New Zealand","labelrank":"2","country-abbrev":"N.Z.","subregion":"Australia and New Zealand","region-wb":"East Asia & Pacific","iso-a3":"NZL","iso-a2":"NZ","woe-id":"23424916","continent":"Oceania"},"geometry":{"type":"MultiPolygon","coordinates":[[[[9238,4994],[9198,4996],[9194,4975],[9181,5009],[9153,5008],[9145,5023],[9159,5047],[9201,5088],[9241,5104],[9282,5140],[9311,5200],[9330,5213],[9341,5185],[9362,5199],[9374,5165],[9321,5099],[9289,5079],[9268,5027],[9238,4994]]],[[[9429,5191],[9404,5174],[9386,5186],[9404,5221],[9361,5252],[9385,5272],[9393,5308],[9378,5347],[9341,5395],[9364,5402],[9402,5361],[9422,5343],[9427,5313],[9470,5301],[9503,5310],[9483,5263],[9469,5264],[9429,5191]]]]}},{"type":"Feature","id":"CU","properties":{"hc-group":"admin0","hc-middle-x":0.67,"hc-middle-y":0.64,"hc-key":"cu","hc-a2":"CU","name":"Cuba","labelrank":"3","country-abbrev":"Cuba","subregion":"Caribbean","region-wb":"Latin America & Caribbean","iso-a3":"CUB","iso-a2":"CU","woe-id":"23424793","continent":"North America"},"geometry":{"type":"Polygon","coordinates":[[[1916,7091],[1870,7097],[1853,7124],[1817,7140],[1776,7144],[1774,7159],[1748,7160],[1696,7131],[1700,7149],[1734,7169],[1770,7175],[1828,7171],[1852,7150],[1867,7154],[1879,7155],[1933,7113],[1986,7095],[2000,7078],[1898,7071],[1916,7091]]]}},{"type":"Feature","id":"EC","properties":{"hc-group":"admin0","hc-middle-x":0.16,"hc-middle-y":0.37,"hc-key":"ec","hc-a2":"EC","name":"Ecuador","labelrank":"3","country-abbrev":"Ecu.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"ECU","iso-a2":"EC","woe-id":"23424801","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[1820,6379],[1837,6400],[1803,6410],[1803,6447],[1828,6480],[1827,6500],[1865,6521],[1905,6498],[1940,6492],[1970,6476],[1961,6433],[1928,6403],[1879,6379],[1858,6331],[1815,6358],[1820,6379]]]}},{"type":"Feature","id":"AU","properties":{"hc-group":"admin0","hc-middle-x":0.53,"hc-middle-y":0.39,"hc-key":"au","hc-a2":"AU","name":"Australia","labelrank":"2","country-abbrev":"Auz.","subregion":"Australia and New Zealand","region-wb":"East Asia & Pacific","iso-a3":"AUS","iso-a2":"AU","woe-id":"-90","continent":"Oceania"},"geometry":{"type":"MultiPolygon","coordinates":[[[[8563,5105],[8537,5105],[8515,5139],[8497,5193],[8499,5215],[8479,5229],[8543,5191],[8602,5210],[8604,5168],[8595,5117],[8581,5130],[8563,5105]]],[[[8541,5953],[8550,5909],[8629,5866],[8644,5812],[8680,5798],[8682,5771],[8712,5753],[8733,5720],[8756,5726],[8746,5701],[8761,5650],[8762,5603],[8731,5487],[8709,5472],[8660,5372],[8655,5318],[8605,5306
3],[8551,5275],[8505,5283],[8507,5304],[8464,5271],[8430,5288],[8379,5298],[8351,5328],[8347,5368],[8329,5384],[8261,5366],[8280,5383],[8270,5405],[8300,5464],[8283,5464],[8229,5404],[8216,5439],[8189,5463],[8185,5486],[8128,5500],[8096,5519],[8032,5512],[7981,5492],[7949,5494],[7887,5463],[7870,5437],[7765,5438],[7718,5405],[7680,5400],[7646,5408],[7616,5433],[7637,5459],[7637,5513],[7616,5560],[7616,5583],[7592,5627],[7587,5653],[7556,5702],[7573,5710],[7590,5680],[7592,5701],[7570,5741],[7577,5802],[7645,5849],[7698,5861],[7793,5892],[7834,5938],[7830,5965],[7853,5985],[7871,5957],[7872,5998],[7896,5993],[7897,6026],[7916,6045],[7961,6056],[7971,6072],[8008,6042],[8052,6031],[8043,6051],[8090,6125],[8063,6129],[8073,6147],[8104,6146],[8105,6115],[8141,6119],[8139,6152],[8156,6132],[8212,6115],[8254,6129],[8267,6115],[8237,6071],[8224,6036],[8256,6011],[8329,5976],[8359,5951],[8384,5959],[8408,6030],[8406,6107],[8417,6122],[8422,6177],[8436,6161],[8463,6071],[8476,6048],[8492,6058],[8517,6035],[8519,5993],[8541,5953]]]]}},{"type":"Feature","id":"VE","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.33,"hc-key":"ve","hc-a2":"VE","name":"Venezuela","labelrank":"3","country-abbrev":"Ven.","subregion":"South America","region-wb":"Latin America & Caribbean","iso-a3":"VEN","iso-a2":"VE","woe-id":"23424982","continent":"South America"},"geometry":{"type":"Polygon","coordinates":[[[2087,6830],[2070,6823],[2080,6796],[2064,6769],[2082,6746],[2096,6767],[2080,6799],[2122,6818],[2160,6818],[2188,6788],[2237,6794],[2282,6777],[2307,6793],[2343,6797],[2357,6776],[2400,6756],[2397,6742],[2423,6732],[2408,6709],[2415,6689],[2387,6672],[2382,6653],[2401,6632],[2377,6604],[2286,6596],[2303,6552],[2324,6550],[2301,6525],[2258,6498],[2219,6515],[2210,6549],[2191,6564],[2207,6580],[2190,6612],[2201,6662],[2143,6659],[2123,6685],[2064,6688],[2056,6726],[2037,6753],[2040,6787],[2068,6824],[2087,6830]]]}},{"type":"Feature","id":"SB","properties":{"hc-group":"admin0","hc-middle-x":0.13,"hc-middle-y":0.24,"hc-key":"sb","hc-a2":"SB","name":"Solomon Islands","labelrank":"3","country-abbrev":"S. Is.","subregion":"Melanesia","region-wb":"East Asia & Pacific","iso-a3":"SLB","iso-a2":"SB","woe-id":"23424766","continent":"Oceania"},"geometry":{"type":"Polygon","coordinates":[[[8977,6187],[8947,6189],[8947,6226],[8902,6255],[8881,6242],[8899,6222],[8858,6239],[8861,6266],[8912,6255],[8947,6233],[8955,6212],[8982,6224],[8977,6187]]]}},{"type":"Feature","id":"MG","properties":{"hc-group":"admin0","hc-middle-x":0.45,"hc-middle-y":0.48,"hc-key":"mg","hc-a2":"MG","name":"Madagascar","labelrank":"3","country-abbrev":"Mad.","subregion":"Eastern Africa","region-wb":"Sub-Saharan Africa","iso-a3":"MDG","iso-a2":"MG","woe-id":"23424883","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5683,5987],[5616,5762],[5601,5727],[5544,5707],[5511,5726],[5503,5774],[5487,5812],[5495,5841],[5524,5882],[5508,5959],[5523,5997],[5558,6004],[5613,6031],[5635,6081],[5650,6080],[5665,6125],[5686,6092],[5702,6020],[5677,6017],[5683,5987]]]}},{"type":"Feature","id":"IS","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.50,"hc-key":"is","hc-a2":"IS","name":"Iceland","labelrank":"3","country-abbrev":"Iceland","subregion":"Northern Europe","region-wb":"Europe & Central Asia","iso-a3":"ISL","iso-a2":"IS","woe-id":"23424845","continent":"Europe"},"geometry":{"type":"Polygon","coordinates":[[[3490,8732],[3556,8739],[3551,8757],[3516,8766],[3476,8762],[3500,8775],[3508,8796],[3538,8790],[3534,8809],[3571,8786],[3566,8765],[3584,8755],[3607,8792],[3661,8795],[3682,8785],[3715,8796],[3713,8811],[3768,8789],[3763,8773],[3795,8763],[3803,8741],[3772,8709],[3677,8676],[3648,8661],[3605,8668],[3575,8684],[3530,8682],[3560,8708],[3538,8728],[3490,8732]]]}},{"type":"Feature","id":"EG","properties":{"hc-group":"admin0","hc-middle-x":0.50,"hc-middle-y":0.66,"hc-key":"eg","hc-a2":"EG","name":"Egypt","labelrank":"2","country-abbrev":"Egypt","subregion":"Northern Africa","region-wb":"Middle East & North Africa","iso-a3":"EGY","iso-a2":"EG","woe-id":"23424802","continent":"Africa"},"geometry":{"type":"Polygon","coordinates":[[[5239,7374],[5220,7318],[5190,7345],[5169,7390],[5172,7358],[5201,7320],[5213,7282],[5258,7199],[5263,7167],[5299,7138],[5131,7138],[4945,7138],[4945,7364],[4937,7397],[4950,7445],[5015,7435],[5065,7418],[5105,7440],[5140,7438],[5157,7425],[5219,7433],[5237,7382],[5239,7374]]]}},{"type":"Feature","id":"KG","properties":{"hc-group":"admin0","hc-middle-x":0.48,"hc-middle-y":0.43,"hc-key":"kg","hc-a2":"KG","name":"Kyrgyzstan","labelrank":"4","country-abbrev":"Kgz.","subregi
3on":"Central Asia","region-wb":"Europe & Central Asia","iso-a3":"KGZ","iso-a2":"KG","woe-id":"23424864","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6389,7707],[6348,7698],[6325,7713],[6261,7709],[6280,7734],[6310,7734],[6331,7731],[6374,7754],[6333,7777],[6323,7766],[6286,7782],[6309,7805],[6336,7826],[6385,7812],[6405,7842],[6435,7827],[6531,7828],[6584,7803],[6529,7774],[6521,7763],[6482,7759],[6450,7736],[6446,7748],[6399,7728],[6389,7707]],[[6300,7721],[6296,7722],[6299,7718],[6302,7720],[6300,7721]],[[6333,7723],[6334,7726],[6331,7724],[6332,7723],[6333,7723]],[[6316,7728],[6310,7729],[6312,7722],[6317,7722],[6316,7728]]]}},{"type":"Feature","id":"NP","properties":{"hc-group":"admin0","hc-middle-x":0.52,"hc-middle-y":0.54,"hc-key":"np","hc-a2":"NP","name":"Nepal","labelrank":"3","country-abbrev":"Nepal","subregion":"Southern Asia","region-wb":"South Asia","iso-a3":"NPL","iso-a2":"NP","woe-id":"23424911","continent":"Asia"},"geometry":{"type":"Polygon","coordinates":[[[6819,7322],[6820,7286],[6795,7274],[6751,7281],[6714,7305],[6660,7310],[6579,7353],[6589,7383],[6608,7397],[6640,7401],[6683,7364],[6699,7367],[6729,7336],[6756,7323],[6773,7330],[6819,7322]]]}}]}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.