/*
 Highcharts JS v11.0.1 (2023-05-12)

 (c) 2009-2021 Torstein Honsi

 License: www.highcharts.com/license
*/
'use strict';(function(T,L){"object"===typeof module&&module.exports?(L["default"]=L,module.exports=T.document?L(T):L):"function"===typeof define&&define.amd?define("highcharts/highcharts",function(){return L(T)}):(T.Highcharts&&T.Highcharts.error(16,!0),T.Highcharts=L(T))})("undefined"!==typeof window?window:this,function(T){function L(a,z,G,J){a.hasOwnProperty(z)||(a[z]=J.apply(null,G),"function"===typeof CustomEvent&&T.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:z,module:a[z]}})))}
var a={};L(a,"Core/Globals.js",[],function(){var a;(function(a){a.SVG_NS="http://www.w3.org/2000/svg";a.product="Highcharts";a.version="11.0.1";a.win="undefined"!==typeof T?T:{};a.doc=a.win.document;a.svg=a.doc&&a.doc.createElementNS&&!!a.doc.createElementNS(a.SVG_NS,"svg").createSVGRect;a.userAgent=a.win.navigator&&a.win.navigator.userAgent||"";a.isChrome=-1!==a.userAgent.indexOf("Chrome");a.isFirefox=-1!==a.userAgent.indexOf("Firefox");a.isMS=/(edge|msie|trident)/i.test(a.userAgent)&&!a.win.opera;
a.isSafari=!a.isChrome&&-1!==a.userAgent.indexOf("Safari");a.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(a.userAgent);a.isWebKit=-1!==a.userAgent.indexOf("AppleWebKit");a.deg2rad=2*Math.PI/360;a.hasBidiBug=a.isFirefox&&4>parseInt(a.userAgent.split("Firefox/")[1],10);a.hasTouch=!!a.win.TouchEvent;a.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];a.noop=function(){};a.supportsPassiveEvents=function(){let x=!1;if(!a.isMS){const z=Object.defineProperty({},"passive",{get:function(){x=
!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,z),a.win.removeEventListener("testPassive",a.noop,z))}return x}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});L(a,"Core/Utilities.js",[a["Core/Globals.js"]],function(a){function x(c,l,b,g){const M=l?"Highcharts error":"Highcharts warning";32===c&&(c=`${M}: Deprecated member`);const h=u(c);let p=h?`${M} #${c}: www.highcharts.com/errors/${c}/`:
c.toString();if("undefined"!==typeof g){let c="";h&&(p+="?");K(g,function(l,b){c+=`\n - ${b}: ${l}`;h&&(p+=encodeURI(b)+"="+encodeURI(l))});p+=c}d(a,"displayError",{chart:b,code:c,message:p,params:g},function(){if(l)throw Error(p);r.console&&-1===x.messages.indexOf(p)&&console.warn(p)});x.messages.push(p)}function G(c,l){const b={};K(c,function(g,d){if(D(c[d],!0)&&!c.nodeType&&l[d])g=G(c[d],l[d]),Object.keys(g).length&&(b[d]=g);else if(D(c[d])||c[d]!==l[d]||d in c&&!(d in l))b[d]=c[d]});return b}
function J(c,l){return parseInt(c,l||10)}function B(c){return"string"===typeof c}function E(c){c=Object.prototype.toString.call(c);return"[object Array]"===c||"[object Array Iterator]"===c}function D(c,l){return!!c&&"object"===typeof c&&(!l||!E(c))}function A(c){return D(c)&&"number"===typeof c.nodeType}function v(c){const l=c&&c.constructor;return!(!D(c,!0)||A(c)||!l||!l.name||"Object"===l.name)}function u(c){return"number"===typeof c&&!isNaN(c)&&Infinity>c&&-Infinity<c}function e(c){return"undefined"!==
typeof c&&null!==c}function m(c,l,b){const g=B(l)&&!e(b);let d;const h=(l,b)=>{e(l)?c.setAttribute(b,l):g?(d=c.getAttribute(b))||"class"!==b||(d=c.getAttribute(b+"Name")):c.removeAttribute(b)};B(l)?h(b,l):K(l,h);return d}function w(c,l){let b;c||(c={});for(b in l)c[b]=l[b];return c}function k(){const c=arguments,l=c.length;for(let b=0;b<l;b++){const l=c[b];if("undefined"!==typeof l&&null!==l)return l}}function t(c,l){a.isMS&&!a.svg&&l&&e(l.opacity)&&(l.filter=`alpha(opacity=${100*l.opacity})`);w(c.style,
l)}function n(c){return Math.pow(10,Math.floor(Math.log(c)/Math.LN10))}function f(c,l){return 1E14<c?c:parseFloat(c.toPrecision(l||14))}function q(c,l,b){let g;if("width"===l)return l=Math.min(c.offsetWidth,c.scrollWidth),b=c.getBoundingClientRect&&c.getBoundingClientRect().width,b<l&&b>=l-1&&(l=Math.floor(b)),Math.max(0,l-(q(c,"padding-left",!0)||0)-(q(c,"padding-right",!0)||0));if("height"===l)return Math.max(0,Math.min(c.offsetHeight,c.scrollHeight)-(q(c,"padding-top",!0)||0)-(q(c,"padding-bottom",
!0)||0));if(c=r.getComputedStyle(c,void 0))g=c.getPropertyValue(l),k(b,"opacity"!==l)&&(g=J(g));return g}function K(c,b,g){for(const l in c)Object.hasOwnProperty.call(c,l)&&b.call(g||c[l],c[l],l,c)}function F(c,l,b){function g(b,l){const g=c.removeEventListener;g&&g.call(c,b,l,!1)}function d(b){let d,H;c.nodeName&&(l?(d={},d[l]=!0):d=b,K(d,function(c,l){if(b[l])for(H=b[l].length;H--;)g(l,b[l][H].fn)}))}var h="function"===typeof c&&c.prototype||c;if(Object.hasOwnProperty.call(h,"hcEvents")){const c=
h.hcEvents;l?(h=c[l]||[],b?(c[l]=h.filter(function(c){return b!==c.fn}),g(l,b)):(d(c),c[l]=[])):(d(c),delete h.hcEvents)}}function d(c,b,g,d){g=g||{};if(p.createEvent&&(c.dispatchEvent||c.fireEvent&&c!==a)){var l=p.createEvent("Events");l.initEvent(b,!0,!0);g=w(l,g);c.dispatchEvent?c.dispatchEvent(g):c.fireEvent(b,g)}else if(c.hcEvents){g.target||w(g,{preventDefault:function(){g.defaultPrevented=!0},target:c,type:b});l=[];let d=c,h=!1;for(;d.hcEvents;)Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents[b]&&
(l.length&&(h=!0),l.unshift.apply(l,d.hcEvents[b])),d=Object.getPrototypeOf(d);h&&l.sort((c,b)=>c.order-b.order);l.forEach(b=>{!1===b.fn.call(c,g)&&g.preventDefault()})}d&&!g.defaultPrevented&&d.call(c,g)}const {charts:h,doc:p,win:r}=a;(x||(x={})).messages=[];Math.easeInOutSine=function(c){return-.5*(Math.cos(Math.PI*c)-1)};var y=Array.prototype.find?function(c,b){return c.find(b)}:function(c,b){let l;const g=c.length;for(l=0;l<g;l++)if(b(c[l],l))return c[l]};K({map:"map",each:"forEach",grep:"filter",
reduce:"reduce",some:"some"},function(c,b){a[b]=function(l){x(32,!1,void 0,{[`Highcharts.${b}`]:`use Array.${c}`});return Array.prototype[c].apply(l,[].slice.call(arguments,1))}});let b;const g=function(){const c=Math.random().toString(36).substring(2,9)+"-";let l=0;return function(){return"highcharts-"+(b?"":c)+l++}}();r.jQuery&&(r.jQuery.fn.highcharts=function(){const c=[].slice.call(arguments);if(this[0])return c[0]?(new (a[B(c[0])?c.shift():"Chart"])(this[0],c[0],c[1]),this):h[m(this[0],"data-highcharts-chart")]});
y={addEvent:function(c,b,g,d={}){var l="function"===typeof c&&c.prototype||c;Object.hasOwnProperty.call(l,"hcEvents")||(l.hcEvents={});l=l.hcEvents;a.Point&&c instanceof a.Point&&c.series&&c.series.chart&&(c.series.chart.runTrackerClick=!0);const h=c.addEventListener;h&&h.call(c,b,g,a.supportsPassiveEvents?{passive:void 0===d.passive?-1!==b.indexOf("touch"):d.passive,capture:!1}:!1);l[b]||(l[b]=[]);l[b].push({fn:g,order:"number"===typeof d.order?d.order:Infinity});l[b].sort((c,b)=>c.order-b.order);
return function(){F(c,b,g)}},arrayMax:function(c){let b=c.length,g=c[0];for(;b--;)c[b]>g&&(g=c[b]);return g},arrayMin:function(c){let b=c.length,g=c[0];for(;b--;)c[b]<g&&(g=c[b]);return g},attr:m,clamp:function(c,b,g){return c>b?c<g?c:g:b},cleanRecursively:G,clearTimeout:function(c){e(c)&&clearTimeout(c)},correctFloat:f,createElement:function(c,b,g,d,h){c=p.createElement(c);b&&w(c,b);h&&t(c,{padding:"0",border:"none",margin:"0"});g&&t(c,g);d&&d.appendChild(c);return c},css:t,defined:e,destroyObjectProperties:function(c,
b){K(c,function(l,g){l&&l!==b&&l.destroy&&l.destroy();delete c[g]})},discardElement:function(c){c&&c.parentElement&&c.parentElement.removeChild(c)},erase:function(c,b){let l=c.length;for(;l--;)if(c[l]===b){c.splice(l,1);break}},error:x,extend:w,extendClass:function(c,b){const l=function(){};l.prototype=new c;w(l.prototype,b);return l},find:y,fireEvent:d,getMagnitude:n,getNestedProperty:function(c,b){for(c=c.split(".");c.length&&e(b);){const l=c.shift();if("undefined"===typeof l||"__proto__"===l)return;
b=b[l];if(!e(b)||"function"===typeof b||"number"===typeof b.nodeType||b===r)return}return b},getStyle:q,inArray:function(c,b,g){x(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return b.indexOf(c,g)},isArray:E,isClass:v,isDOMElement:A,isFunction:function(c){return"function"===typeof c},isNumber:u,isObject:D,isString:B,keys:function(c){x(32,!1,void 0,{"Highcharts.keys":"use Object.keys"});return Object.keys(c)},merge:function(){let c,b=arguments,g={};const d=function(c,b){"object"!==typeof c&&
(c={});K(b,function(l,g){"__proto__"!==g&&"constructor"!==g&&(!D(l,!0)||v(l)||A(l)?c[g]=b[g]:c[g]=d(c[g]||{},l))});return c};!0===b[0]&&(g=b[1],b=Array.prototype.slice.call(b,2));const h=b.length;for(c=0;c<h;c++)g=d(g,b[c]);return g},normalizeTickInterval:function(c,b,g,d,h){let l=c;g=k(g,n(c));const r=c/g;b||(b=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===d&&(1===g?b=b.filter(function(c){return 0===c%1}):.1>=g&&(b=[1/g])));for(d=0;d<b.length&&!(l=b[d],h&&l*g>=c||!h&&r<=(b[d]+(b[d+1]||b[d]))/
2);d++);return l=f(l*g,-Math.round(Math.log(.001)/Math.LN10))},objectEach:K,offset:function(c){const b=p.documentElement;c=c.parentElement||c.parentNode?c.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:c.top+(r.pageYOffset||b.scrollTop)-(b.clientTop||0),left:c.left+(r.pageXOffset||b.scrollLeft)-(b.clientLeft||0),width:c.width,height:c.height}},pad:function(c,b,g){return Array((b||2)+1-String(c).replace("-","").length).join(g||"0")+c},pick:k,pInt:J,pushUnique:function(c,b){return 0>
c.indexOf(b)&&!!c.push(b)},relativeLength:function(c,b,g){return/%$/.test(c)?b*parseFloat(c)/100+(g||0):parseFloat(c)},removeEvent:F,splat:function(b){return E(b)?b:[b]},stableSort:function(b,g){const c=b.length;let l,d;for(d=0;d<c;d++)b[d].safeI=d;b.sort(function(b,c){l=g(b,c);return 0===l?b.safeI-c.safeI:l});for(d=0;d<c;d++)delete b[d].safeI},syncTimeout:function(b,g,d){if(0<g)return setTimeout(b,g,d);b.call(0,d);return-1},timeUnits:{millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,
month:24192E5,year:314496E5},uniqueKey:g,useSerialIds:function(c){return b=k(c,b)},wrap:function(b,g,d){const c=b[g];b[g]=function(){const b=arguments,g=this;return d.apply(this,[function(){return c.apply(g,arguments.length?arguments:b)}].concat([].slice.call(arguments)))}}};"";return y});L(a,"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:{zIndex:6},position:{align:"right",x:-10,y:10}},reflow:!0,type:"line",zoomBySingleTouch:!1,zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}});L(a,"Core/Color/Color.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){const {isNumber:x,merge:J,pInt:B}=z;class E{static parse(a){return a?new E(a):E.None}constructor(x){this.rgba=
[NaN,NaN,NaN,NaN];this.input=x;const A=a.Color;if(A&&A!==E)return new A(x);this.init(x)}init(a){let A;let v;if("object"===typeof a&&"undefined"!==typeof a.stops)this.stops=a.stops.map(e=>new E(e[1]));else if("string"===typeof a){this.input=a=E.names[a.toLowerCase()]||a;if("#"===a.charAt(0)){var u=a.length;var e=parseInt(a.substr(1),16);7===u?A=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===u&&(A=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])}if(!A)for(e=E.parsers.length;e--&&!A;)v=E.parsers[e],
(u=v.regex.exec(a))&&(A=v.parse(u))}A&&(this.rgba=A)}get(a){const A=this.input,v=this.rgba;if("object"===typeof A&&"undefined"!==typeof this.stops){const u=J(A);u.stops=[].slice.call(u.stops);this.stops.forEach((e,m)=>{u.stops[m]=[u.stops[m][0],e.get(a)]});return u}return v&&x(v[0])?"rgb"===a||!a&&1===v[3]?"rgb("+v[0]+","+v[1]+","+v[2]+")":"a"===a?`${v[3]}`:"rgba("+v.join(",")+")":A}brighten(a){const A=this.rgba;if(this.stops)this.stops.forEach(function(v){v.brighten(a)});else if(x(a)&&0!==a)for(let v=
0;3>v;v++)A[v]+=B(255*a),0>A[v]&&(A[v]=0),255<A[v]&&(A[v]=255);return this}setOpacity(a){this.rgba[3]=a;return this}tweenTo(a,A){const v=this.rgba,u=a.rgba;if(!x(v[0])||!x(u[0]))return a.input||"none";a=1!==u[3]||1!==v[3];return(a?"rgba(":"rgb(")+Math.round(u[0]+(v[0]-u[0])*(1-A))+","+Math.round(u[1]+(v[1]-u[1])*(1-A))+","+Math.round(u[2]+(v[2]-u[2])*(1-A))+(a?","+(u[3]+(v[3]-u[3])*(1-A)):"")+")"}}E.names={white:"#ffffff",black:"#000000"};E.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(a){return[B(a[1]),B(a[2]),B(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[B(a[1]),B(a[2]),B(a[3]),1]}}];E.None=new E("");"";return E});L(a,"Core/Color/Palettes.js",[],function(){return{colors:"#2caffe #544fc5 #00e272 #fe6a35 #6b8abc #d568fb #2ee0ca #fa4b42 #feb56a #91e8e1".split(" ")}});L(a,"Core/Time.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){const {win:x}=a,{defined:J,error:B,extend:E,
isObject:D,merge:A,objectEach:v,pad:u,pick:e,splat:m,timeUnits:w}=z,k=a.isSafari&&x.Intl&&x.Intl.DateTimeFormat.prototype.formatRange,t=a.isSafari&&x.Intl&&!x.Intl.DateTimeFormat.prototype.formatRange;class n{constructor(f){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=x.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(f)}get(f,q){if(this.variableTimezone||this.timezoneOffset){const e=q.getTime(),k=e-this.getTimezoneOffset(q);q.setTime(k);f=q["getUTC"+f]();q.setTime(e);
return f}return this.useUTC?q["getUTC"+f]():q["get"+f]()}set(f,q,e){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===f||"Seconds"===f||"Minutes"===f&&0===this.getTimezoneOffset(q)%36E5)return q["setUTC"+f](e);var n=this.getTimezoneOffset(q);n=q.getTime()-n;q.setTime(n);q["setUTC"+f](e);f=this.getTimezoneOffset(q);n=q.getTime()+f;return q.setTime(n)}return this.useUTC||k&&"FullYear"===f?q["setUTC"+f](e):q["set"+f](e)}update(f={}){const q=e(f.useUTC,!0);this.options=f=A(!0,this.options,
f);this.Date=f.Date||x.Date||Date;this.timezoneOffset=(this.useUTC=q)&&f.timezoneOffset||void 0;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=q&&!(!f.getTimezoneOffset&&!f.timezone)}makeTime(f,q,k,n,d,h){let p,r,y;this.useUTC?(p=this.Date.UTC.apply(0,arguments),r=this.getTimezoneOffset(p),p+=r,y=this.getTimezoneOffset(p),r!==y?p+=y-r:r-36E5!==this.getTimezoneOffset(p-36E5)||t||(p-=36E5)):p=(new this.Date(f,q,e(k,1),e(n,0),e(d,0),e(h,0))).getTime();return p}timezoneOffsetFunction(){const f=
this,q=this.options,e=q.getTimezoneOffset,k=q.moment||x.moment;if(!this.useUTC)return function(d){return 6E4*(new Date(d.toString())).getTimezoneOffset()};if(q.timezone){if(k)return function(d){return 6E4*-k.tz(d,q.timezone).utcOffset()};B(25)}return this.useUTC&&e?function(d){return 6E4*e(d.valueOf())}:function(){return 6E4*(f.timezoneOffset||0)}}dateFormat(f,q,k){if(!J(q)||isNaN(q))return a.defaultOptions.lang&&a.defaultOptions.lang.invalidDate||"";f=e(f,"%Y-%m-%d %H:%M:%S");const n=this;var d=
new this.Date(q);const h=this.get("Hours",d),p=this.get("Day",d),r=this.get("Date",d),y=this.get("Month",d),b=this.get("FullYear",d),g=a.defaultOptions.lang,c=g&&g.weekdays,l=g&&g.shortWeekdays;d=E({a:l?l[p]:c[p].substr(0,3),A:c[p],d:u(r),e:u(r,2," "),w:p,b:g.shortMonths[y],B:g.months[y],m:u(y+1),o:y+1,y:b.toString().substr(2,2),Y:b,H:u(h),k:h,I:u(h%12||12),l:h%12||12,M:u(this.get("Minutes",d)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:u(d.getSeconds()),L:u(Math.floor(q%1E3),3)},a.dateFormats);v(d,function(b,
c){for(;-1!==f.indexOf("%"+c);)f=f.replace("%"+c,"function"===typeof b?b.call(n,q):b)});return k?f.substr(0,1).toUpperCase()+f.substr(1):f}resolveDTLFormat(f){return D(f,!0)?f:(f=m(f),{main:f[0],from:f[1],to:f[2]})}getTimeTicks(f,q,k,n){const d=this,h=[],p={};var r=new d.Date(q);const y=f.unitRange,b=f.count||1;let g;n=e(n,1);if(J(q)){d.set("Milliseconds",r,y>=w.second?0:b*Math.floor(d.get("Milliseconds",r)/b));y>=w.second&&d.set("Seconds",r,y>=w.minute?0:b*Math.floor(d.get("Seconds",r)/b));y>=w.minute&&
d.set("Minutes",r,y>=w.hour?0:b*Math.floor(d.get("Minutes",r)/b));y>=w.hour&&d.set("Hours",r,y>=w.day?0:b*Math.floor(d.get("Hours",r)/b));y>=w.day&&d.set("Date",r,y>=w.month?1:Math.max(1,b*Math.floor(d.get("Date",r)/b)));if(y>=w.month){d.set("Month",r,y>=w.year?0:b*Math.floor(d.get("Month",r)/b));var c=d.get("FullYear",r)}y>=w.year&&d.set("FullYear",r,c-c%b);y===w.week&&(c=d.get("Day",r),d.set("Date",r,d.get("Date",r)-c+n+(c<n?-7:0)));c=d.get("FullYear",r);n=d.get("Month",r);const l=d.get("Date",
r),f=d.get("Hours",r);q=r.getTime();!d.variableTimezone&&d.useUTC||!J(k)||(g=k-q>4*w.month||d.getTimezoneOffset(q)!==d.getTimezoneOffset(k));q=r.getTime();for(r=1;q<k;)h.push(q),q=y===w.year?d.makeTime(c+r*b,0):y===w.month?d.makeTime(c,n+r*b):!g||y!==w.day&&y!==w.week?g&&y===w.hour&&1<b?d.makeTime(c,n,l,f+r*b):q+y*b:d.makeTime(c,n,l+r*b*(y===w.day?1:7)),r++;h.push(q);y<=w.hour&&1E4>h.length&&h.forEach(function(b){0===b%18E5&&"000000000"===d.dateFormat("%H%M%S%L",b)&&(p[b]="day")})}h.info=E(f,{higherRanks:p,
totalRange:y*b});return h}getDateFormat(f,k,n,e){const d=this.dateFormat("%m-%d %H:%M:%S.%L",k),h={millisecond:15,second:12,minute:9,hour:6,day:3};let p,r="millisecond";for(p in w){if(f===w.week&&+this.dateFormat("%w",k)===n&&"00:00:00.000"===d.substr(6)){p="week";break}if(w[p]>f){p=r;break}if(h[p]&&d.substr(h[p])!=="01-01 00:00:00.000".substr(h[p]))break;"week"!==p&&(r=p)}return this.resolveDTLFormat(e[p]).main}}"";return n});L(a,"Core/Defaults.js",[a["Core/Chart/ChartDefaults.js"],a["Core/Color/Color.js"],
a["Core/Globals.js"],a["Core/Color/Palettes.js"],a["Core/Time.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {isTouchDevice:x,svg:A}=G,{merge:v}=E,u={colors:J.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:a,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,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:A,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:x?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</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"}};u.chart.styledMode=!1;"";const e=new B(u.time);a={defaultOptions:u,defaultTime:e,getOptions:function(){return u},setOptions:function(m){v(!0,u,m);if(m.time||m.global)G.time?G.time.update(v(u.global,u.time,m.global,m.time)):G.time=e;return u}};"";return a});L(a,"Core/Animation/Fx.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G){const {parse:x}=
a,{win:B}=z,{isNumber:E,objectEach:D}=G;class A{constructor(a,u,e){this.pos=NaN;this.options=u;this.elem=a;this.prop=e}dSetter(){var a=this.paths;const u=a&&a[0];a=a&&a[1];const e=this.now||0;let m=[];if(1!==e&&u&&a)if(u.length===a.length&&1>e)for(let w=0;w<a.length;w++){const k=u[w],t=a[w],n=[];for(let f=0;f<t.length;f++){const q=k[f],a=t[f];E(q)&&E(a)&&("A"!==t[0]||4!==f&&5!==f)?n[f]=q+e*(a-q):n[f]=a}m.push(n)}else m=a;else m=this.toD||[];this.elem.attr("d",m,void 0,!0)}update(){const a=this.elem,
u=this.prop,e=this.now,m=this.options.step;if(this[u+"Setter"])this[u+"Setter"]();else a.attr?a.element&&a.attr(u,e,null,!0):a.style[u]=e+this.unit;m&&m.call(a,e,this)}run(a,u,e){const m=this,w=m.options,k=function(f){return k.stopped?!1:m.step(f)},t=B.requestAnimationFrame||function(f){setTimeout(f,13)},n=function(){for(let f=0;f<A.timers.length;f++)A.timers[f]()||A.timers.splice(f--,1);A.timers.length&&t(n)};a!==u||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=a,this.end=
u,this.unit=e,this.now=this.start,this.pos=0,k.elem=this.elem,k.prop=this.prop,k()&&1===A.timers.push(k)&&t(n)):(delete w.curAnim[this.prop],w.complete&&0===Object.keys(w.curAnim).length&&w.complete.call(this.elem))}step(a){const u=+new Date,e=this.options,m=this.elem,w=e.complete,k=e.duration,t=e.curAnim;let n;m.attr&&!m.element?a=!1:a||u>=k+this.startTime?(this.now=this.end,this.pos=1,this.update(),n=t[this.prop]=!0,D(t,function(f){!0!==f&&(n=!1)}),n&&w&&w.call(m),a=!1):(this.pos=e.easing((u-this.startTime)/
k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0);return a}initPath(a,u,e){function m(d,h){for(;d.length<K;){var p=d[0];const r=h[K-d.length];r&&"M"===p[0]&&(d[0]="C"===r[0]?["C",p[1],p[2],p[1],p[2],p[1],p[2]]:["L",p[1],p[2]]);d.unshift(p);n&&(p=d.pop(),d.push(d[d.length-1],p))}}function w(d,h){for(;d.length<K;)if(h=d[Math.floor(d.length/f)-1].slice(),"C"===h[0]&&(h[1]=h[5],h[2]=h[6]),n){const p=d[Math.floor(d.length/f)].slice();d.splice(d.length/2,0,h,p)}else d.push(h)}const k=
a.startX,t=a.endX;e=e.slice();const n=a.isArea,f=n?2:1;let q,K,F;u=u&&u.slice();if(!u)return[e,e];if(k&&t&&t.length){for(a=0;a<k.length;a++)if(k[a]===t[0]){q=a;break}else if(k[0]===t[t.length-k.length+a]){q=a;F=!0;break}else if(k[k.length-1]===t[t.length-k.length+a]){q=k.length-a;break}"undefined"===typeof q&&(u=[])}u.length&&E(q)&&(K=e.length+q*f,F?(m(u,e),w(e,u)):(m(e,u),w(u,e)));return[u,e]}fillSetter(){A.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,x(this.start).tweenTo(x(this.end),
this.pos),void 0,!0)}}A.timers=[];return A});L(a,"Core/Animation/AnimationUtilities.js",[a["Core/Animation/Fx.js"],a["Core/Utilities.js"]],function(a,z){function x(e){return v(e)?u({duration:500,defer:0},e):{duration:e?500:0,defer:0}}function J(e,k){let t=a.timers.length;for(;t--;)a.timers[t].elem!==e||k&&k!==a.timers[t].prop||(a.timers[t].stopped=!0)}const {defined:B,getStyle:E,isArray:D,isNumber:A,isObject:v,merge:u,objectEach:e,pick:m}=z;return{animate:function(m,k,t){let n,f="",q,K,F;v(t)||(F=
arguments,t={duration:F[2],easing:F[3],complete:F[4]});A(t.duration)||(t.duration=400);t.easing="function"===typeof t.easing?t.easing:Math[t.easing]||Math.easeInOutSine;t.curAnim=u(k);e(k,function(d,h){J(m,h);K=new a(m,t,h);q=void 0;"d"===h&&D(k.d)?(K.paths=K.initPath(m,m.pathArray,k.d),K.toD=k.d,n=0,q=1):m.attr?n=m.attr(h):(n=parseFloat(E(m,h))||0,"opacity"!==h&&(f="px"));q||(q=d);"string"===typeof q&&q.match("px")&&(q=q.replace(/px/g,""));K.run(n,q,f)})},animObject:x,getDeferredAnimation:function(e,
k,a){const n=x(k);let f=0,q=0;(a?[a]:e.series).forEach(e=>{e=x(e.options.animation);f=k&&B(k.defer)?n.defer:Math.max(f,e.duration+e.defer);q=Math.min(n.duration,e.duration)});e.renderer.forExport&&(f=0);return{defer:Math.max(0,f-q),duration:Math.min(f,q)}},setAnimation:function(e,k){k.renderer.globalAnimation=m(e,k.options.chart.animation,!0)},stop:J}});L(a,"Core/Renderer/HTML/AST.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){const {SVG_NS:x,win:J}=a,{attr:B,createElement:E,css:D,
error:A,isFunction:v,isString:u,objectEach:e,splat:m}=z;({trustedTypes:z}=J);const w=z&&v(z.createPolicy)&&z.createPolicy("highcharts",{createHTML:f=>f});z=w?w.createHTML(""):"";try{var k=!!(new DOMParser).parseFromString(z,"text/html")}catch(f){k=!1}const t=k;class n{static filterUserAttributes(f){e(f,(e,k)=>{let a=!0;-1===n.allowedAttributes.indexOf(k)&&(a=!1);-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(a=u(e)&&n.allowedReferences.some(d=>0===e.indexOf(d)));a||(A(33,!1,void 0,
{"Invalid attribute in config":`${k}`}),delete f[k]);u(e)&&f[k]&&(f[k]=e.replace(/</g,"&lt;"))});return f}static parseStyle(f){return f.split(";").reduce((f,e)=>{e=e.split(":").map(d=>d.trim());const k=e.shift();k&&e.length&&(f[k.replace(/-([a-z])/g,d=>d[1].toUpperCase())]=e.join(":"));return f},{})}static setElementHTML(f,e){f.innerHTML=n.emptyHTML;e&&(new n(e)).addToDOM(f)}constructor(f){this.nodes="string"===typeof f?this.parseMarkup(f):f}addToDOM(f){function k(f,q){let d;m(f).forEach(function(h){var p=
h.tagName;const r=h.textContent?a.doc.createTextNode(h.textContent):void 0,f=n.bypassHTMLFiltering;let b;if(p)if("#text"===p)b=r;else if(-1!==n.allowedTags.indexOf(p)||f){p=a.doc.createElementNS("svg"===p?x:q.namespaceURI||x,p);const g=h.attributes||{};e(h,function(b,l){"tagName"!==l&&"attributes"!==l&&"children"!==l&&"style"!==l&&"textContent"!==l&&(g[l]=b)});B(p,f?g:n.filterUserAttributes(g));h.style&&D(p,h.style);r&&p.appendChild(r);k(h.children||[],p);b=p}else A(33,!1,void 0,{"Invalid tagName in config":p});
b&&q.appendChild(b);d=b});return d}return k(this.nodes,f)}parseMarkup(f){const e=[];f=f.trim().replace(/ style=(["'])/g," data-style=$1");if(t)f=(new DOMParser).parseFromString(w?w.createHTML(f):f,"text/html");else{const e=E("div");e.innerHTML=f;f={body:e}}const k=(f,d)=>{var h=f.nodeName.toLowerCase();const p={tagName:h};"#text"===h&&(p.textContent=f.textContent||"");if(h=f.attributes){const d={};[].forEach.call(h,h=>{"data-style"===h.name?p.style=n.parseStyle(h.value):d[h.name]=h.value});p.attributes=
d}if(f.childNodes.length){const d=[];[].forEach.call(f.childNodes,h=>{k(h,d)});d.length&&(p.children=d)}d.push(p)};[].forEach.call(f.body.childNodes,f=>k(f,e));return e}}n.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 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 summary target tabindex text-align text-anchor textAnchor textLength title type valign width x x1 x2 xlink:href y y1 y2 zIndex".split(" ");
n.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" ");n.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".split(" ");n.emptyHTML=z;n.bypassHTMLFiltering=
!1;"";return n});L(a,"Core/FormatUtilities.js",[a["Core/Defaults.js"],a["Core/Utilities.js"]],function(a,z){function x(a,e,m,w){a=+a||0;e=+e;const k=J.lang;var t=(a.toString().split(".")[1]||"").split("e")[0].length;const n=a.toString().split("e"),f=e;if(-1===e)e=Math.min(t,20);else if(!D(e))e=2;else if(e&&n[1]&&0>n[1]){var q=e+ +n[1];0<=q?(n[0]=(+n[0]).toExponential(q).split("e")[0],e=q):(n[0]=n[0].split(".")[0]||0,a=20>e?(n[0]*Math.pow(10,n[1])).toFixed(e):0,n[1]=0)}q=(Math.abs(n[1]?n[0]:a)+Math.pow(10,
-Math.max(e,t)-1)).toFixed(e);t=String(v(q));const u=3<t.length?t.length%3:0;m=A(m,k.decimalPoint);w=A(w,k.thousandsSep);a=(0>a?"-":"")+(u?t.substr(0,u)+w:"");a=0>+n[1]&&!f?"0":a+t.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+w);e&&(a+=m+q.slice(-e));n[1]&&0!==+a&&(a+="e"+n[1]);return a}const {defaultOptions:J,defaultTime:B}=a,{getNestedProperty:E,isNumber:D,pick:A,pInt:v}=z;return{dateFormat:function(a,e,m){return B.dateFormat(a,e,m)},format:function(a,e,m){var u="{";let k=!1;let t;const n=/f$/,f=/\.([0-9])/,
q=J.lang,K=m&&m.time||B;m=m&&m.numberFormatter||x;const F=[];for(;a;){t=a.indexOf(u);if(-1===t)break;var d=a.slice(0,t);if(k){d=d.split(":");u=E(d.shift()||"",e);if(d.length&&"number"===typeof u)if(d=d.join(":"),n.test(d)){const h=parseInt((d.match(f)||["","-1"])[1],10);null!==u&&(u=m(u,h,q.decimalPoint,-1<d.indexOf(",")?q.thousandsSep:""))}else u=K.dateFormat(d,u);F.push(u)}else F.push(d);a=a.slice(t+1);u=(k=!k)?"}":"{"}F.push(a);return F.join("")},numberFormat:x}});L(a,"Core/Renderer/RendererUtilities.js",
[a["Core/Utilities.js"]],function(a){const {clamp:x,pick:G,stableSort:J}=a;var B;(function(a){function z(a,v,u){const e=a;var m=e.reducedLen||v,w=(f,a)=>(a.rank||0)-(f.rank||0);const k=(f,a)=>f.target-a.target;let t,n=!0,f=[],q=0;for(t=a.length;t--;)q+=a[t].size;if(q>m){J(a,w);for(q=t=0;q<=m;)q+=a[t].size,t++;f=a.splice(t-1,a.length)}J(a,k);for(a=a.map(f=>({size:f.size,targets:[f.target],align:G(f.align,.5)}));n;){for(t=a.length;t--;)m=a[t],w=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/
2,m.pos=x(w-m.size*m.align,0,v-m.size);t=a.length;for(n=!1;t--;)0<t&&a[t-1].pos+a[t-1].size>a[t].pos&&(a[t-1].size+=a[t].size,a[t-1].targets=a[t-1].targets.concat(a[t].targets),a[t-1].align=.5,a[t-1].pos+a[t-1].size>v&&(a[t-1].pos=v-a[t-1].size),a.splice(t,1),n=!0)}e.push.apply(e,f);t=0;a.some(f=>{let a=0;return(f.targets||[]).some(()=>{e[t].pos=f.pos+a;if("undefined"!==typeof u&&Math.abs(e[t].pos-e[t].target)>u)return e.slice(0,t+1).forEach(d=>delete d.pos),e.reducedLen=(e.reducedLen||v)-.1*v,e.reducedLen>
.1*v&&z(e,v,u),!0;a+=e[t].size;t++;return!1})});J(e,k);return e}a.distribute=z})(B||(B={}));return B});L(a,"Core/Renderer/SVG/SVGElement.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G,J){const {animate:x,animObject:E,stop:D}=a,{deg2rad:A,doc:v,svg:u,SVG_NS:e,win:m}=G,{addEvent:w,attr:k,createElement:t,css:n,defined:f,erase:q,extend:K,fireEvent:F,isArray:d,isFunction:h,isObject:p,isString:r,merge:y,objectEach:b,pick:g,
pInt:c,syncTimeout:l,uniqueKey:N}=J;class O{constructor(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=e}_defaultGetter(b){b=g(this[b+"Value"],this[b],this.element?this.element.getAttribute(b):null,0);/^[\-0-9\.]+$/.test(b)&&(b=parseFloat(b));return b}_defaultSetter(b,c,g){g.setAttribute(c,b)}add(b){const c=this.renderer,g=this.element;let l;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&c.buildText(this);this.added=
!0;if(!b||b.handleZ||this.zIndex)l=this.zIndexSetter();l||(b?b.element:c.box).appendChild(g);if(this.onAdd)this.onAdd();return this}addClass(b,c){const g=c?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b,c){-1===g.indexOf(c)&&b.push(c);return b},g?[g]:[]).join(" ");b!==g&&this.attr("class",b);return this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(b,c,l){const d={};var H=this.renderer,h=H.alignedObjects,f;let M,p;if(b){if(this.alignOptions=
b,this.alignByTranslate=c,!l||r(l))this.alignTo=f=l||"renderer",q(h,this),h.push(this),l=void 0}else b=this.alignOptions,c=this.alignByTranslate,f=this.alignTo;l=g(l,H[f],"scrollablePlotBox"===f?H.plotBox:void 0,H);f=b.align;const C=b.verticalAlign;H=(l.x||0)+(b.x||0);h=(l.y||0)+(b.y||0);"right"===f?M=1:"center"===f&&(M=2);M&&(H+=(l.width-(b.width||0))/M);d[c?"translateX":"x"]=Math.round(H);"bottom"===C?p=1:"middle"===C&&(p=2);p&&(h+=(l.height-(b.height||0))/p);d[c?"translateY":"y"]=Math.round(h);
this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this}alignSetter(b){const c={left:"start",center:"middle",right:"end"};c[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor",c[b]))}animate(c,d,h){const r=E(g(d,this.renderer.globalAnimation,!0));d=r.defer;v.hidden&&(r.duration=0);0!==r.duration?(h&&(r.complete=h),l(()=>{this.element&&x(this,c,r)},d)):(this.attr(c,void 0,h||r.complete),b(c,function(b,c){r.step&&r.step.call(this,b,{prop:c,pos:1,elem:this})},this));
return this}applyTextOutline(b){const c=this.element;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));var g=b.split(" ");b=g[g.length-1];if((g=g[0])&&"none"!==g&&G.svg){this.fakeTS=!0;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(b,c,g){return 2*Number(c)+g});this.removeTextOutline();const l=v.createElementNS(e,"tspan");k(l,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":g,"stroke-linejoin":"round"});b=c.querySelector("textPath")||c;[].forEach.call(b.childNodes,
b=>{const c=b.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(b=>c.removeAttribute(b));l.appendChild(c)});let d=0;[].forEach.call(b.querySelectorAll("text tspan"),b=>{d+=Number(b.getAttribute("dy"))});g=v.createElementNS(e,"tspan");g.textContent="\u200b";k(g,{x:Number(c.getAttribute("x")),dy:-d});l.appendChild(g);b.insertBefore(l,b.firstChild)}}attr(c,g,l,d){const h=this.element,r=O.symbolCustomAttribs;let f,p,a=this,C,M;"string"===typeof c&&"undefined"!==typeof g&&
(f=c,c={},c[f]=g);"string"===typeof c?a=(this[c+"Getter"]||this._defaultGetter).call(this,c,h):(b(c,function(b,g){C=!1;d||D(this,g);this.symbolName&&-1!==r.indexOf(g)&&(p||(this.symbolAttr(c),p=!0),C=!0);!this.rotation||"x"!==g&&"y"!==g||(this.doTransform=!0);C||(M=this[g+"Setter"]||this._defaultSetter,M.call(this,b,g,h))},this),this.afterSetters());l&&l.call(this);return a}clip(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+")":"none")}crisp(b,c){c=c||b.strokeWidth||0;const g=
Math.round(c)%2/2;b.x=Math.floor(b.x||this.x||0)+g;b.y=Math.floor(b.y||this.y||0)+g;b.width=Math.floor((b.width||this.width||0)-2*g);b.height=Math.floor((b.height||this.height||0)-2*g);f(b.strokeWidth)&&(b.strokeWidth=c);return b}complexColor(c,g,l){const h=this.renderer;let H,r,p,a,M,C,e,I,k,n,q=[],t;F(this.renderer,"complexColor",{args:arguments},function(){c.radialGradient?r="radialGradient":c.linearGradient&&(r="linearGradient");if(r){p=c[r];M=h.gradients;C=c.stops;k=l.radialReference;d(p)&&(c[r]=
p={x1:p[0],y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===r&&k&&!f(p.gradientUnits)&&(a=p,p=y(p,h.getRadialAttr(k,a),{gradientUnits:"userSpaceOnUse"}));b(p,function(b,c){"id"!==c&&q.push(c,b)});b(C,function(b){q.push(b)});q=q.join(",");if(M[q])n=M[q].attr("id");else{p.id=n=N();const b=M[q]=h.createElement(r).attr(p).add(h.defs);b.radAttr=a;b.stops=[];C.forEach(function(c){0===c[1].indexOf("rgba")?(H=z.parse(c[1]),e=H.get("rgb"),I=H.get("a")):(e=c[1],I=1);c=h.createElement("stop").attr({offset:c[0],
"stop-color":e,"stop-opacity":I}).add(b);b.stops.push(c)})}t="url("+h.url+"#"+n+")";l.setAttribute(g,t);l.gradient=q;c.toString=function(){return t}}})}css(g){const l=this.styles,d={},h=this.element;let H,r=!l;g.color&&(g.fill=g.color);l&&b(g,function(b,c){l&&l[c]!==b&&(d[c]=b,r=!0)});if(r){l&&(g=K(l,d));null===g.width||"auto"===g.width?delete this.textWidth:"text"===h.nodeName.toLowerCase()&&g.width&&(H=this.textWidth=c(g.width));this.styles=g;H&&!u&&this.renderer.forExport&&delete g.width;const b=
y(g);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(c=>b&&delete b[c]);n(h,b)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),g.textOutline&&this.applyTextOutline(g.textOutline));return this}dashstyleSetter(b){let l=this["stroke-width"];"inherit"===l&&(l=1);if(b=b&&b.toLowerCase()){const d=b.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(b=d.length;b--;)d[b]=""+c(d[b])*g(l,NaN);b=d.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",b)}}destroy(){const c=this;var g=c.element||{};const l=c.renderer;var d=g.ownerSVGElement;let h="SPAN"===g.nodeName&&c.parentGroup||void 0;g.onclick=g.onmouseout=g.onmouseover=g.onmousemove=g.point=null;D(c);if(c.clipPath&&d){const b=c.clipPath;[].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(c){-1<
c.getAttribute("clip-path").indexOf(b.element.id)&&c.removeAttribute("clip-path")});c.clipPath=b.destroy()}if(c.stops){for(d=0;d<c.stops.length;d++)c.stops[d].destroy();c.stops.length=0;c.stops=void 0}for(c.safeRemoveChild(g);h&&h.div&&0===h.div.childNodes.length;)g=h.parentGroup,c.safeRemoveChild(h.div),delete h.div,h=g;c.alignTo&&q(l.alignedObjects,c);b(c,function(b,g){c[g]&&c[g].parentGroup===c&&c[g].destroy&&c[g].destroy();delete c[g]})}dSetter(b,c,g){d(b)&&("string"===typeof b[0]&&(b=this.renderer.pathToSegments(b)),
this.pathArray=b,b=b.reduce((b,c,g)=>c&&c.join?(g?b+" ":"")+c.join(" "):(c||"").toString(),""));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");this[c]!==b&&(g.setAttribute(c,b),this[c]=b)}fadeOut(b){const c=this;c.animate({opacity:0},{duration:g(b,150),complete:function(){c.hide()}})}fillSetter(b,c,g){"string"===typeof b?g.setAttribute(c,b):b&&this.complexColor(b,c,g)}getBBox(b,c){const {alignValue:l,element:d,renderer:H,styles:r,textStr:p}=this,{cache:a,cacheKeys:e}=H;var C=d.namespaceURI===this.SVG_NS;c=
g(c,this.rotation,0);var k=H.styledMode?d&&O.prototype.getStyle.call(d,"font-size"):r&&r.fontSize;let I;let q;f(p)&&(q=p.toString(),-1===q.indexOf("<")&&(q=q.replace(/[0-9]/g,"0")),q+=["",H.rootFontSize,k,c,this.textWidth,l,r&&r.textOverflow,r&&r.fontWeight].join());q&&!b&&(I=a[q]);if(!I){if(C||H.forExport){try{var y=this.fakeTS&&function(b){const c=d.querySelector(".highcharts-text-outline");c&&n(c,{display:b})};h(y)&&y("none");I=d.getBBox?K({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight,
x:0,y:0};h(y)&&y("")}catch(ha){""}if(!I||0>I.width)I={x:0,y:0,width:0,height:0}}else I=this.htmlGetBBox();y=I.width;b=I.height;C&&(I.height=b={"11px,17":14,"13px,20":16}[`${k||""},${Math.round(b)}`]||b);if(c){C=Number(d.getAttribute("y")||0)-I.y;k={right:1,center:.5}[l||0]||0;var M=c*A,t=(c-90)*A,m=y*Math.cos(M);c=y*Math.sin(M);var u=Math.cos(t);M=Math.sin(t);y=I.x+k*(y-m)+C*u;t=y+m;u=t-b*u;m=u-m;C=I.y+C-k*c+C*M;k=C+c;b=k-b*M;c=b-c;I.x=Math.min(y,t,u,m);I.y=Math.min(C,k,b,c);I.width=Math.max(y,t,
u,m)-I.x;I.height=Math.max(C,k,b,c)-I.y}}if(q&&(""===p||0<I.height)){for(;250<e.length;)delete a[e.shift()];a[q]||e.push(q);a[q]=I}return I}getStyle(b){return m.getComputedStyle(this.element||this,"").getPropertyValue(b)}hasClass(b){return-1!==(""+this.attr("class")).split(" ").indexOf(b)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}init(b,c){this.element="span"===c?t(c):v.createElementNS(this.SVG_NS,c);this.renderer=b;F(this,"afterInit")}on(b,c){const {onEvents:g}=
this;if(g[b])g[b]();g[b]=w(this.element,b,c);return this}opacitySetter(b,c,g){this.opacity=b=Number(Number(b).toFixed(3));g.setAttribute(c,b)}removeClass(b){return this.attr("class",(""+this.attr("class")).replace(r(b)?new RegExp(`(^| )${b}( |$)`):b," ").replace(/ +/g," ").trim())}removeTextOutline(){const b=this.element.querySelector("tspan.highcharts-text-outline");b&&this.safeRemoveChild(b)}safeRemoveChild(b){const c=b.parentNode;c&&c.removeChild(b)}setRadialReference(b){const c=this.element.gradient&&
this.renderer.gradients[this.element.gradient];this.element.radialReference=b;c&&c.radAttr&&c.animate(this.renderer.getRadialAttr(b,c.radAttr));return this}setTextPath(b,c){c=y(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},c);const g=this.renderer.url,l=this.text||this,d=l.textPath,{attributes:h,enabled:r}=c;b=b||d&&d.path;d&&d.undo();b&&r?(c=w(l,"afterModifyTree",c=>{if(b&&r){let C=b.attr("id");C||b.attr("id",C=N());var d={x:0,y:0};f(h.dx)&&(d.dx=h.dx,delete h.dx);f(h.dy)&&
(d.dy=h.dy,delete h.dy);l.attr(d);this.attr({transform:""});this.box&&(this.box=this.box.destroy());d=c.nodes.slice(0);c.nodes.length=0;c.nodes[0]={tagName:"textPath",attributes:K(h,{"text-anchor":h.textAnchor,href:`${g}#${C}`}),children:d}}}),l.textPath={path:b,undo:c}):(l.attr({dx:0,dy:0}),delete l.textPath);this.added&&(l.textCache="",this.renderer.buildText(l));return this}shadow(b){var c;const {renderer:g}=this,l=y(90===(null===(c=this.parentGroup)||void 0===c?void 0:c.rotation)?{offsetX:-1,
offsetY:-1}:{},p(b)?b:{});c=g.shadowDefinition(l);return this.attr({filter:b?`url(${g.url}#${c})`:"none"})}show(b=!0){return this.attr({visibility:b?"inherit":"visible"})}["stroke-widthSetter"](b,c,g){this[c]=b;g.setAttribute(c,b)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;const b=this.getStyle("stroke-width");let g=0,l;b.indexOf("px")===b.length-2?g=c(b):""!==b&&(l=v.createElementNS(e,"rect"),k(l,{width:b,"stroke-width":0}),this.element.parentNode.appendChild(l),g=
l.getBBox().width,l.parentNode.removeChild(l));return g}symbolAttr(b){const c=this;O.symbolCustomAttribs.forEach(function(l){c[l]=g(b[l],c[l])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})}textSetter(b){b!==this.textStr&&(delete this.textPxLength,this.textStr=b,this.added&&this.renderer.buildText(this))}titleSetter(b){const c=this.element,l=c.getElementsByTagName("title")[0]||v.createElementNS(this.SVG_NS,"title");c.insertBefore?c.insertBefore(l,c.firstChild):c.appendChild(l);
l.textContent=String(g(b,"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){const b=this.element;b.parentNode.appendChild(b);return this}translate(b,c){return this.attr({translateX:b,translateY:c})}updateTransform(){const {element:b,matrix:c,rotation:l=0,scaleX:d,scaleY:h,translateX:r=0,translateY:p=0}=this,a=["translate("+r+","+p+")"];f(c)&&a.push("matrix("+c.join(",")+")");l&&a.push("rotate("+l+" "+g(this.rotationOriginX,b.getAttribute("x"),0)+" "+g(this.rotationOriginY,
b.getAttribute("y")||0)+")");(f(d)||f(h))&&a.push("scale("+g(d,1)+" "+g(h,1)+")");a.length&&!(this.text||this).textPath&&b.setAttribute("transform",a.join(" "))}visibilitySetter(b,c,g){"inherit"===b?g.removeAttribute(c):this[c]!==b&&g.setAttribute(c,b);this[c]=b}xGetter(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)}zIndexSetter(b,g){var l=this.renderer,d=this.parentGroup;const h=(d||l).element||l.box,r=this.element;l=h===l.box;let p=!1,a;var e=
this.added;let C;f(b)?(r.setAttribute("data-z-index",b),b=+b,this[g]===b&&(e=!1)):f(this[g])&&r.removeAttribute("data-z-index");this[g]=b;if(e){(b=this.zIndex)&&d&&(d.handleZ=!0);g=h.childNodes;for(C=g.length-1;0<=C&&!p;C--)if(d=g[C],e=d.getAttribute("data-z-index"),a=!f(e),d!==r)if(0>b&&a&&!l&&!C)h.insertBefore(r,g[C]),p=!0;else if(c(e)<=b||a&&(!f(b)||0<=b))h.insertBefore(r,g[C+1]),p=!0;p||(h.insertBefore(r,g[l?3:0]),p=!0)}return p}}O.symbolCustomAttribs="anchorX anchorY clockwise end height innerR r start width x y".split(" ");
O.prototype.strokeSetter=O.prototype.fillSetter;O.prototype.yGetter=O.prototype.xGetter;O.prototype.matrixSetter=O.prototype.rotationOriginXSetter=O.prototype.rotationOriginYSetter=O.prototype.rotationSetter=O.prototype.scaleXSetter=O.prototype.scaleYSetter=O.prototype.translateXSetter=O.prototype.translateYSetter=O.prototype.verticalAlignSetter=function(b,c){this[c]=b;this.doTransform=!0};"";return O});L(a,"Core/Renderer/RendererRegistry.js",[a["Core/Globals.js"]],function(a){var x;(function(x){x.rendererTypes=
{};let z;x.getRendererType=function(a=z){return x.rendererTypes[a]||x.rendererTypes[z]};x.registerRendererType=function(B,E,D){x.rendererTypes[B]=E;if(!z||D)z=B,a.Renderer=E}})(x||(x={}));return x});L(a,"Core/Renderer/SVG/SVGLabel.js",[a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z){const {defined:x,extend:J,isNumber:B,merge:E,pick:D,removeEvent:A}=z;class v extends a{constructor(a,e,m,w,k,t,n,f,q,K){super();this.paddingRightSetter=this.paddingLeftSetter=this.paddingSetter;
this.init(a,"g");this.textStr=e;this.x=m;this.y=w;this.anchorX=t;this.anchorY=n;this.baseline=q;this.className=K;this.addClass("button"===K?"highcharts-no-tooltip":"highcharts-label");K&&this.addClass("highcharts-"+K);this.text=a.text(void 0,0,0,f).attr({zIndex:1});let u;"string"===typeof k&&((u=/^url\((.*?)\)$/.test(k))||this.renderer.symbols[k])&&(this.symbolKey=k);this.bBox=v.emptyBBox;this.padding=3;this.baselineOffset=0;this.needsBox=a.styledMode||u;this.deferredAttr={};this.alignFactor=0}alignSetter(a){a=
{left:0,center:.5,right:1}[a];a!==this.alignFactor&&(this.alignFactor=a,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(a,e){this.anchorX=a;this.boxAttr(e,Math.round(a)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(a,e){this.anchorY=a;this.boxAttr(e,a-this.ySetting)}boxAttr(a,e){this.box?this.box.attr(a,e):this.deferredAttr[a]=e}css(u){if(u){const a={};u=E(u);v.textProps.forEach(e=>{"undefined"!==typeof u[e]&&(a[e]=u[e],delete u[e])});this.text.css(a);"fontSize"in a||
"fontWeight"in a?this.updateTextPadding():("width"in a||"textOverflow"in a)&&this.updateBoxSize()}return a.prototype.css.call(this,u)}destroy(){A(this.element,"mouseenter");A(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)}fillSetter(a,e){a&&(this.needsBox=!0);this.fill=a;this.boxAttr(e,a)}getBBox(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();const a=this.padding,e=D(this.paddingLeft,
a);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-a}}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(a){this.heightSetting=a}onAdd(){this.text.add(this);this.attr({text:D(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&x(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(a,e){B(a)?a!==this[e]&&(this[e]=a,this.updateTextPadding()):
this[e]=void 0}rSetter(a,e){this.boxAttr(e,a)}strokeSetter(a,e){this.stroke=a;this.boxAttr(e,a)}["stroke-widthSetter"](a,e){a&&(this.needsBox=!0);this["stroke-width"]=a;this.boxAttr(e,a)}["text-alignSetter"](a){this.textAlign=a}textSetter(a){"undefined"!==typeof a&&this.text.attr({text:a});this.updateTextPadding()}updateBoxSize(){var a=this.text;const e={},m=this.padding,w=this.bBox=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!x(a.textStr)?v.emptyBBox:a.getBBox();this.width=this.getPaddedWidth();
this.height=(this.heightSetting||w.height||0)+2*m;const k=this.renderer.fontMetrics(a);this.baselineOffset=m+Math.min((this.text.firstLineMetrics||k).b,w.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-k.h)/2);this.needsBox&&!a.textPath&&(this.box||(a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),a.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)),
a=this.getCrispAdjust(),e.x=a,e.y=(this.baseline?-this.baselineOffset:0)+a,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(J(e,this.deferredAttr)),this.deferredAttr={})}updateTextPadding(){const a=this.text;if(!a.textPath){this.updateBoxSize();const e=this.baseline?0:this.baselineOffset;let m=D(this.paddingLeft,this.padding);x(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(m+={center:.5,right:1}[this.textAlign]*(this.widthSetting-
this.bBox.width));if(m!==a.x||e!==a.y)a.attr("x",m),a.hasBoxWidthChanged&&(this.bBox=a.getBBox(!0)),"undefined"!==typeof e&&a.attr("y",e);a.x=m;a.y=e}}widthSetter(a){this.widthSetting=B(a)?a:void 0}getPaddedWidth(){var a=this.padding;const e=D(this.paddingLeft,a);a=D(this.paddingRight,a);return(this.widthSetting||this.bBox.width||0)+e+a}xSetter(a){this.x=a;this.alignFactor&&(a-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(a);this.attr("translateX",this.xSetting)}ySetter(a){this.ySetting=
this.y=Math.round(a);this.attr("translateY",this.ySetting)}}v.emptyBBox={width:0,height:0,x:0,y:0};v.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow whiteSpace width".split(" ");return v});L(a,"Core/Renderer/SVG/Symbols.js",[a["Core/Utilities.js"]],function(a){function x(a,v,u,e,m){const w=[];if(m){const k=m.start||0,t=D(m.r,u);u=D(m.r,e||u);e=(m.end||0)-.001;const n=m.innerR,f=D(m.open,.001>Math.abs((m.end||0)-k-2*Math.PI)),
q=Math.cos(k),K=Math.sin(k),F=Math.cos(e),d=Math.sin(e),h=D(m.longArc,.001>e-k-Math.PI?0:1);let p=["A",t,u,0,h,D(m.clockwise,1),a+t*F,v+u*d];p.params={start:k,end:e,cx:a,cy:v};w.push(["M",a+t*q,v+u*K],p);B(n)&&(p=["A",n,n,0,h,B(m.clockwise)?1-m.clockwise:0,a+n*q,v+n*K],p.params={start:e,end:k,cx:a,cy:v},w.push(f?["M",a+n*F,v+n*d]:["L",a+n*F,v+n*d],p));f||w.push(["Z"])}return w}function G(a,v,u,e,m){return m&&m.r?J(a,v,u,e,m):[["M",a,v],["L",a+u,v],["L",a+u,v+e],["L",a,v+e],["Z"]]}function J(a,v,u,
e,m){m=(null===m||void 0===m?void 0:m.r)||0;return[["M",a+m,v],["L",a+u-m,v],["A",m,m,0,0,1,a+u,v+m],["L",a+u,v+e-m],["A",m,m,0,0,1,a+u-m,v+e],["L",a+m,v+e],["A",m,m,0,0,1,a,v+e-m],["L",a,v+m],["A",m,m,0,0,1,a+m,v],["Z"]]}const {defined:B,isNumber:E,pick:D}=a;return{arc:x,callout:function(a,v,u,e,m){const w=Math.min(m&&m.r||0,u,e),k=w+6,t=m&&m.anchorX;m=m&&m.anchorY||0;const n=J(a,v,u,e,{r:w});if(!E(t))return n;a+t>=u?m>v+k&&m<v+e-k?n.splice(3,1,["L",a+u,m-6],["L",a+u+6,m],["L",a+u,m+6],["L",a+u,
v+e-w]):n.splice(3,1,["L",a+u,e/2],["L",t,m],["L",a+u,e/2],["L",a+u,v+e-w]):0>=a+t?m>v+k&&m<v+e-k?n.splice(7,1,["L",a,m+6],["L",a-6,m],["L",a,m-6],["L",a,v+w]):n.splice(7,1,["L",a,e/2],["L",t,m],["L",a,e/2],["L",a,v+w]):m&&m>e&&t>a+k&&t<a+u-k?n.splice(5,1,["L",t+6,v+e],["L",t,v+e+6],["L",t-6,v+e],["L",a+w,v+e]):m&&0>m&&t>a+k&&t<a+u-k&&n.splice(1,1,["L",t-6,v],["L",t,v-6],["L",t+6,v],["L",u-w,v]);return n},circle:function(a,v,u,e){return x(a+u/2,v+e/2,u/2,e/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},
diamond:function(a,v,u,e){return[["M",a+u/2,v],["L",a+u,v+e/2],["L",a+u/2,v+e],["L",a,v+e/2],["Z"]]},rect:G,roundedRect:J,square:G,triangle:function(a,v,u,e){return[["M",a+u/2,v],["L",a+u,v+e],["L",a,v+e],["Z"]]},"triangle-down":function(a,v,u,e){return[["M",a,v],["L",a+u,v],["L",a+u/2,v+e],["Z"]]}}});L(a,"Core/Renderer/SVG/TextBuilder.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G){const {doc:x,SVG_NS:B,win:E}=z,{attr:D,extend:A,fireEvent:v,isString:u,
objectEach:e,pick:m}=G;class w{constructor(a){const e=a.styles;this.renderer=a.renderer;this.svgElement=a;this.width=a.textWidth;this.textLineHeight=e&&e.lineHeight;this.textOutline=e&&e.textOutline;this.ellipsis=!(!e||"ellipsis"!==e.textOverflow);this.noWrap=!(!e||"nowrap"!==e.whiteSpace)}buildSVG(){const e=this.svgElement,t=e.element;var n=e.renderer,f=m(e.textStr,"").toString();const q=-1!==f.indexOf("<"),w=t.childNodes;n=!e.added&&n.box;const F=/<br.*?>/g;var d=[f,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(d=w.length;d--;)t.removeChild(w[d]);q||this.ellipsis||this.width||e.textPath||-1!==f.indexOf(" ")&&(!this.noWrap||F.test(f))?""!==f&&(n&&n.appendChild(t),f=new a(f),this.modifyTree(f.nodes),f.addToDOM(t),this.modifyDOM(),this.ellipsis&&-1!==(t.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),n&&n.removeChild(t)):t.appendChild(x.createTextNode(this.unescapeEntities(f)));
u(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){const a=this.svgElement,e=D(a.element,"x");a.firstLineMetrics=void 0;let n;for(;n=a.element.firstChild;)if(/^[\s\u200B]*$/.test(n.textContent||" "))a.element.removeChild(n);else break;[].forEach.call(a.element.querySelectorAll("tspan.highcharts-br"),(f,d)=>{f.nextSibling&&f.previousSibling&&(0===d&&1===f.previousSibling.nodeType&&(a.firstLineMetrics=a.renderer.fontMetrics(f.previousSibling)),D(f,{dy:this.getLineHeight(f.nextSibling),
x:e}))});const f=this.width||0;if(f){var q=(n,d)=>{var h=n.textContent||"";const p=h.replace(/([^\^])-/g,"$1- ").split(" ");var r=!this.noWrap&&(1<p.length||1<a.element.childNodes.length);const q=this.getLineHeight(d);let b=0,g=a.actualWidth;if(this.ellipsis)h&&this.truncate(n,h,void 0,0,Math.max(0,f-.8*q),(b,g)=>b.substring(0,g)+"\u2026");else if(r){h=[];for(r=[];d.firstChild&&d.firstChild!==n;)r.push(d.firstChild),d.removeChild(d.firstChild);for(;p.length;)p.length&&!this.noWrap&&0<b&&(h.push(n.textContent||
""),n.textContent=p.join(" ").replace(/- /g,"-")),this.truncate(n,void 0,p,0===b?g||0:0,f,(b,g)=>p.slice(0,g).join(" ").replace(/- /g,"-")),g=a.actualWidth,b++;r.forEach(b=>{d.insertBefore(b,n)});h.forEach(b=>{d.insertBefore(x.createTextNode(b),n);b=x.createElementNS(B,"tspan");b.textContent="\u200b";D(b,{dy:q,x:e});d.insertBefore(b,n)})}},m=f=>{[].slice.call(f.childNodes).forEach(d=>{d.nodeType===E.Node.TEXT_NODE?q(d,f):(-1!==d.className.baseVal.indexOf("highcharts-br")&&(a.actualWidth=0),m(d))})};
m(a.element)}}getLineHeight(a){a=a.nodeType===E.Node.TEXT_NODE?a.parentElement:a;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(a||this.svgElement.element).h}modifyTree(a){const e=(n,f)=>{const {attributes:q={},children:k,style:m={},tagName:d}=n,h=this.renderer.styledMode;if("b"===d||"strong"===d)h?q["class"]="highcharts-strong":m.fontWeight="bold";else if("i"===d||"em"===d)h?q["class"]="highcharts-emphasized":m.fontStyle="italic";m&&m.color&&(m.fill=
m.color);"br"===d?(q["class"]="highcharts-br",n.textContent="\u200b",(f=a[f+1])&&f.textContent&&(f.textContent=f.textContent.replace(/^ +/gm,""))):"a"===d&&k&&k.some(d=>"#text"===d.tagName)&&(n.children=[{children:k,tagName:"tspan"}]);"#text"!==d&&"a"!==d&&(n.tagName="tspan");A(n,{attributes:q,style:m});k&&k.filter(d=>"#text"!==d.tagName).forEach(e)};a.forEach(e);v(this.svgElement,"afterModifyTree",{nodes:a})}truncate(a,e,n,f,q,m){const k=this.svgElement,{rotation:d}=k,h=[];let p=n?1:0,r=(e||n||"").length,
y=r,b,g;const c=function(b,c){b=c||b;if((c=a.parentNode)&&"undefined"===typeof h[b]&&c.getSubStringLength)try{h[b]=f+c.getSubStringLength(0,n?b+1:b)}catch(O){""}return h[b]};k.rotation=0;g=c(a.textContent.length);if(f+g>q){for(;p<=r;)y=Math.ceil((p+r)/2),n&&(b=m(n,y)),g=c(y,b&&b.length-1),p===r?p=r+1:g>q?r=y-1:p=y;0===r?a.textContent="":e&&r===e.length-1||(a.textContent=b||m(e||n,y))}n&&n.splice(0,y);k.actualWidth=g;k.rotation=d}unescapeEntities(a,m){e(this.renderer.escapes,function(e,f){m&&-1!==
m.indexOf(e)||(a=a.toString().replace(new RegExp(e,"g"),f))});return a}}return w});L(a,"Core/Renderer/SVG/SVGRenderer.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGLabel.js"],a["Core/Renderer/SVG/Symbols.js"],a["Core/Renderer/SVG/TextBuilder.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v){const {charts:u,deg2rad:e,doc:m,isFirefox:w,isMS:k,isWebKit:t,noop:n,
SVG_NS:f,symbolSizes:q,win:K}=G,{addEvent:F,attr:d,createElement:h,css:p,defined:r,destroyObjectProperties:y,extend:b,isArray:g,isNumber:c,isObject:l,isString:N,merge:O,pick:M,pInt:x,uniqueKey:U}=v;let V;class H{constructor(b,c,g,l,d,a,h){this.width=this.url=this.style=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(b,c,g,l,d,a,h)}init(b,c,g,l,a,h,r){const C=this.createElement("svg").attr({version:"1.1",
"class":"highcharts-root"}),H=C.element;r||C.css(this.getStyle(l));b.appendChild(H);d(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&d(H,"xmlns",this.SVG_NS);this.box=H;this.boxWrapper=C;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.0.1"));this.defs=this.createElement("defs").add();this.allowHTML=h;this.forExport=a;this.styledMode=r;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=
0;this.rootFontSize=C.getStyle("font-size");this.setSize(c,g,!1);let f;w&&b.getBoundingClientRect&&(c=function(){p(b,{left:0,top:0});f=b.getBoundingClientRect();p(b,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=F(K,"resize",c))}definition(b){return(new a([b])).addToDOM(this.defs.element)}getReferenceURL(){if((w||t)&&m.getElementsByTagName("base").length){if(!r(V)){var b=U();b=(new a([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",
children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${b})`,fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(m.body);p(b,{position:"fixed",top:0,left:0,zIndex:9E5});const c=m.elementFromPoint(6,6);V="hitme"===(c&&c.id);m.body.removeChild(b)}if(V)return K.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""}getStyle(c){return this.style=
b({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},c)}setStyle(b){this.boxWrapper.css(this.getStyle(b))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){const b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();y(this.gradients||{});this.gradients=null;this.defs=b.destroy();this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null}createElement(b){const c=new this.Element;c.init(this,b);return c}getRadialAttr(b,c){return{cx:b[0]-b[2]/2+(c.cx||0)*
b[2],cy:b[1]-b[2]/2+(c.cy||0)*b[2],r:(c.r||0)*b[2]}}shadowDefinition(b){const c=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(b).map(c=>b[c])].join("-").replace(/[^a-z0-9\-]/g,""),g=O({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},b);this.defs.element.querySelector(`#${c}`)||this.definition({tagName:"filter",attributes:{id:c},children:[{tagName:"feDropShadow",attributes:{dx:g.offsetX,dy:g.offsetY,"flood-color":g.color,"flood-opacity":Math.min(5*g.opacity,1),stdDeviation:g.width/
2}}]});return c}buildText(b){(new A(b)).buildSVG()}getContrast(b){b=z.parse(b).rgba.map(b=>{b/=255;return.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4)});b=.2126*b[0]+.7152*b[1]+.0722*b[2];return 1.05/(b+.05)>(b+.05)/.05?"#FFFFFF":"#000000"}button(c,g,d,h,C={},r,H,f,p,e){const I=this.label(c,g,d,p,void 0,void 0,e,void 0,"button"),n=this.styledMode;c=C.states||{};let q=0;C=O(C);delete C.states;const Q=O({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},C.style);delete C.style;
let P=a.filterUserAttributes(C);I.attr(O({padding:8,r:2},P));let y,m,t;n||(P=O({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},P),r=O(P,{fill:"#e6e6e6"},a.filterUserAttributes(r||c.hover||{})),y=r.style,delete r.style,H=O(P,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},a.filterUserAttributes(H||c.select||{})),m=H.style,delete H.style,f=O(P,{style:{color:"#cccccc"}},a.filterUserAttributes(f||c.disabled||{})),t=f.style,delete f.style);F(I.element,k?"mouseover":"mouseenter",function(){3!==
q&&I.setState(1)});F(I.element,k?"mouseout":"mouseleave",function(){3!==q&&I.setState(q)});I.setState=function(b){1!==b&&(I.state=q=b);I.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);n||(I.attr([P,r,H,f][b||0]),b=[Q,y,m,t][b||0],l(b)&&I.css(b))};n||(I.attr(P).css(b({cursor:"default"},Q)),e&&I.text.css({pointerEvents:"none"}));return I.on("touchstart",b=>b.stopPropagation()).on("click",function(b){3!==q&&
h.call(I,b)})}crispLine(b,c,g="round"){const l=b[0],d=b[1];r(l[1])&&l[1]===d[1]&&(l[1]=d[1]=Math[g](l[1])-c%2/2);r(l[2])&&l[2]===d[2]&&(l[2]=d[2]=Math[g](l[2])+c%2/2);return b}path(c){const d=this.styledMode?{}:{fill:"none"};g(c)?d.d=c:l(c)&&b(d,c);return this.createElement("path").attr(d)}circle(b,c,g){b=l(b)?b:"undefined"===typeof b?{}:{x:b,y:c,r:g};c=this.createElement("circle");c.xSetter=c.ySetter=function(b,c,g){g.setAttribute("c"+c,b)};return c.attr(b)}arc(b,c,g,d,a,h){l(b)?(d=b,c=d.y,g=d.r,
b=d.x):d={innerR:d,start:a,end:h};b=this.symbol("arc",b,c,g,g,d);b.r=g;return b}rect(c,g,a,h,C,r){c=l(c)?c:"undefined"===typeof c?{}:{x:c,y:g,r:C,width:Math.max(a||0,0),height:Math.max(h||0,0)};const H=this.createElement("rect");this.styledMode||("undefined"!==typeof r&&(c["stroke-width"]=r,b(c,H.crisp(c))),c.fill="none");H.rSetter=function(b,c,g){H.r=b;d(g,{rx:b,ry:b})};H.rGetter=function(){return H.r||0};return H.attr(c)}roundedRect(b){return this.symbol("roundedRect").attr(b)}setSize(b,c,g){this.width=
b;this.height=c;this.boxWrapper.animate({width:b,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:M(g,!0)?void 0:0});this.alignElements()}g(b){const c=this.createElement("g");return b?c.attr({"class":"highcharts-"+b}):c}image(b,g,d,l,a,h){const C={preserveAspectRatio:"none"},r=function(b,c){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink","href",c):b.setAttribute("hc-svg-href",c)};c(g)&&(C.x=g);c(d)&&(C.y=d);c(l)&&(C.width=
l);c(a)&&(C.height=a);const H=this.createElement("image").attr(C);g=function(c){r(H.element,b);h.call(H,c)};h?(r(H.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),d=new K.Image,F(d,"load",g),d.src=b,d.complete&&g({})):r(H.element,b);return H}symbol(c,g,l,a,C,H){const f=this,e=/^url\((.*?)\)$/,n=e.test(c),k=!n&&(this.symbols[c]?c:"circle"),y=k&&this.symbols[k];let Q,t,P,N;if(y)"number"===typeof g&&(t=y.call(this.symbols,Math.round(g||0),Math.round(l||0),a||0,C||
0,H)),Q=this.path(t),f.styledMode||Q.attr("fill","none"),b(Q,{symbolName:k||void 0,x:g,y:l,width:a,height:C}),H&&b(Q,H);else if(n){P=c.match(e)[1];const b=Q=this.image(P);b.imgwidth=M(H&&H.width,q[P]&&q[P].width);b.imgheight=M(H&&H.height,q[P]&&q[P].height);N=b=>b.attr({width:b.width,height:b.height});["width","height"].forEach(function(c){b[c+"Setter"]=function(b,c){this[c]=b;const {alignByTranslate:g,element:l,width:a,height:h,imgwidth:C,imgheight:f}=this;b=this["img"+c];if(r(b)){let r=1;H&&"within"===
H.backgroundSize&&a&&h?(r=Math.min(a/C,h/f),d(l,{width:Math.round(C*r),height:Math.round(f*r)})):l&&l.setAttribute(c,b);g||this.translate(((a||0)-C*r)/2,((h||0)-f*r)/2)}}});r(g)&&b.attr({x:g,y:l});b.isImg=!0;r(b.imgwidth)&&r(b.imgheight)?N(b):(b.attr({width:0,height:0}),h("img",{onload:function(){const c=u[f.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));q[P]={width:this.width,height:this.height};b.imgwidth=this.width;b.imgheight=this.height;b.element&&
N(b);this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&c&&!c.hasLoaded)c.onload()},src:P}),this.imgCount++)}return Q}clipRect(b,c,g,l){const d=U()+"-",a=this.createElement("clipPath").attr({id:d}).add(this.defs);b=this.rect(b,c,g,l,0).add(a);b.id=d;b.clipPath=a;b.count=0;return b}text(b,c,g,l){const d={};if(l&&(this.allowHTML||!this.forExport))return this.html(b,c,g);d.x=Math.round(c||0);g&&(d.y=Math.round(g));r(b)&&(d.text=b);b=this.createElement("text").attr(d);if(!l||
this.forExport&&!this.allowHTML)b.xSetter=function(b,c,g){const l=g.getElementsByTagName("tspan"),d=g.getAttribute(c);for(let g=0,a;g<l.length;g++)a=l[g],a.getAttribute(c)===d&&a.setAttribute(c,b);g.setAttribute(c,b)};return b}fontMetrics(b){b=x(B.prototype.getStyle.call(b,"font-size")||0);const c=24>b?b+3:Math.round(1.2*b);return{h:c,b:Math.round(.8*c),f:b}}rotCorr(b,c,g){let l=b;c&&g&&(l=Math.max(l*Math.cos(c*e),4));return{x:-b/3*Math.sin(c*e),y:l}}pathToSegments(b){const g=[],l=[],d={A:8,C:7,H:2,
L:3,M:3,Q:5,S:5,T:3,V:2};for(let a=0;a<b.length;a++)N(l[0])&&c(b[a])&&l.length===d[l[0].toUpperCase()]&&b.splice(a,0,l[0].replace("M","L").replace("m","l")),"string"===typeof b[a]&&(l.length&&g.push(l.slice(0)),l.length=0),l.push(b[a]);g.push(l.slice(0));return g}label(b,c,g,l,d,a,h,r,H){return new E(this,b,c,g,l,d,a,h,r,H)}alignElements(){this.alignedObjects.forEach(b=>b.align())}}b(H.prototype,{Element:B,SVG_NS:f,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:D,draw:n});
J.registerRendererType("svg",H,!0);"";return H});L(a,"Core/Renderer/HTML/HTMLElement.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,G){const {isFirefox:x,isMS:B,isWebKit:E,win:D}=a,{css:A,defined:v,extend:u,pick:e,pInt:m}=G,w=[];class k extends z{static compose(a){if(G.pushUnique(w,a)){const e=k.prototype,f=a.prototype;f.getSpanCorrection=e.getSpanCorrection;f.htmlCss=e.htmlCss;f.htmlGetBBox=e.htmlGetBBox;f.htmlUpdateTransform=e.htmlUpdateTransform;
f.setSpanRotation=e.setSpanRotation}return a}getSpanCorrection(a,e,f){this.xCorr=-a*f;this.yCorr=-e}htmlCss(a){const n="SPAN"===this.element.tagName&&a&&"width"in a,f=e(n&&a.width,void 0);let q;n&&(delete a.width,this.textWidth=f,q=!0);a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=u(this.styles,a);A(this.element,a);q&&this.htmlUpdateTransform();return this}htmlGetBBox(){const a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}htmlUpdateTransform(){if(this.added){var a=
this.renderer,e=this.element,f=this.x||0,q=this.y||0,k=this.textAlign||"left",w={left:0,center:.5,right:1}[k],d=this.styles,h=d&&d.whiteSpace;A(e,{marginLeft:this.translateX||0,marginTop:this.translateY||0});if("SPAN"===e.tagName){d=this.rotation;const r=this.textWidth&&m(this.textWidth),n=[d,k,e.innerHTML,this.textWidth,this.textAlign].join();let b=!1;if(r!==this.oldTextWidth){if(this.textPxLength)var p=this.textPxLength;else A(e,{width:"",whiteSpace:h||"nowrap"}),p=e.offsetWidth;(r>this.oldTextWidth||
p>r)&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)&&(A(e,{width:p>r||d?r+"px":"auto",display:"block",whiteSpace:h||"normal"}),this.oldTextWidth=r,b=!0)}this.hasBoxWidthChanged=b;n!==this.cTT&&(a=a.fontMetrics(e).b,!v(d)||d===(this.oldRotation||0)&&k===this.oldAlign||this.setSpanRotation(d,w,a),this.getSpanCorrection(!v(d)&&this.textPxLength||e.offsetWidth,a,w,d,k));A(e,{left:f+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});this.cTT=n;this.oldRotation=d;this.oldAlign=
k}}else this.alignOnAdd=!0}setSpanRotation(a,e,f){const q={},k=B&&!/Edge/.test(D.navigator.userAgent)?"-ms-transform":E?"-webkit-transform":x?"MozTransform":D.opera?"-o-transform":void 0;k&&(q[k]=q.transform="rotate("+a+"deg)",q[k+(x?"Origin":"-origin")]=q.transformOrigin=100*e+"% "+f+"px",A(this.element,q))}}return k});L(a,"Core/Renderer/HTML/HTMLRenderer.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,
z,G,J){const {attr:x,createElement:E,extend:D,pick:A}=J,v=[];class u extends G{static compose(a){J.pushUnique(v,a)&&(a.prototype.html=u.prototype.html);return a}html(e,m,w){const k=this.createElement("span"),t=k.element,n=k.renderer,f=function(a,f){["opacity","visibility"].forEach(function(e){a[e+"Setter"]=function(d,h,p){const r=a.div?a.div.style:f;z.prototype[e+"Setter"].call(this,d,h,p);r&&(r[h]=d)}});a.addedSetters=!0};k.textSetter=function(f){f!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,
a.setElementHTML(this.element,A(f,"")),this.textStr=f,k.doTransform=!0)};f(k,k.element.style);k.xSetter=k.ySetter=k.alignSetter=k.rotationSetter=function(a,f){"align"===f?k.alignValue=k.textAlign=a:k[f]=a;k.doTransform=!0};k.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};k.attr({text:e,x:Math.round(m),y:Math.round(w)}).css({position:"absolute"});n.styledMode||k.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});t.style.whiteSpace="nowrap";
k.css=k.htmlCss;k.add=function(a){const e=n.box.parentNode,q=[];let d;if(this.parentGroup=a){if(d=a.div,!d){for(;a;)q.push(a),a=a.parentGroup;q.reverse().forEach(function(a){function h(g,c){a[c]=g;"translateX"===c?b.left=g+"px":b.top=g+"px";a.doTransform=!0}const r=x(a.element,"class"),n=a.styles||{};d=a.div=a.div||E("div",r?{className:r}:void 0,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,visibility:a.visibility},d||e);const b=d.style;
D(a,{classSetter:function(b){return function(c){this.element.setAttribute("class",c);b.className=c}}(d),css:function(g){k.css.call(a,g);["cursor","pointerEvents"].forEach(c=>{g[c]&&(b[c]=g[c])});return a},on:function(){q[0].div&&k.on.apply({element:q[0].div,onEvents:a.onEvents},arguments);return a},translateXSetter:h,translateYSetter:h});a.addedSetters||f(a);a.css(n)})}}else d=e;d.appendChild(t);k.added=!0;k.alignOnAdd&&k.htmlUpdateTransform();return k};return k}}return u});L(a,"Core/Axis/AxisDefaults.js",
[],function(){var a;(function(a){a.defaultXAxisOptions={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:{autoRotation:void 0,autoRotationLimit:80,distance:15,enabled:!0,indentation:10,
overflow:"justify",padding:5,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,opposite:!1,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",rotation:0,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"};a.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},
allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){const {numberFormatter:a}=this.axis.chart;return a(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};a.defaultLeftAxisOptions={title:{rotation:270}};a.defaultRightAxisOptions={title:{rotation:90}};a.defaultBottomAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}};a.defaultTopAxisOptions={labels:{autoRotation:[-45]},margin:15,
title:{rotation:0}}})(a||(a={}));return a});L(a,"Core/Foundation.js",[a["Core/Utilities.js"]],function(a){const {addEvent:x,isFunction:G,objectEach:J,removeEvent:B}=a;var E;(function(a){a.registerEventOptions=function(a,v){a.eventOptions=a.eventOptions||{};J(v.events,function(u,e){a.eventOptions[e]!==u&&(a.eventOptions[e]&&(B(a,e,a.eventOptions[e]),delete a.eventOptions[e]),G(u)&&(a.eventOptions[e]=u,x(a,e,u,{order:0})))})}})(E||(E={}));return E});L(a,"Core/Axis/Tick.js",[a["Core/FormatUtilities.js"],
a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G){const {deg2rad:x}=z,{clamp:B,correctFloat:E,defined:D,destroyObjectProperties:A,extend:v,fireEvent:u,isNumber:e,merge:m,objectEach:w,pick:k}=G;class t{constructor(a,f,e,k,m){this.isNewLabel=this.isNew=!0;this.axis=a;this.pos=f;this.type=e||"";this.parameters=m||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;u(this,"init");e||k||this.addLabel()}addLabel(){const n=this,f=n.axis;var q=f.options;const m=
f.chart;var t=f.categories;const d=f.logarithmic,h=f.names,p=n.pos,r=k(n.options&&n.options.labels,q.labels);var y=f.tickPositions;const b=p===y[0],g=p===y[y.length-1],c=(!r.step||1===r.step)&&1===f.tickInterval;y=y.info;let l=n.label,N,w,M;t=this.parameters.category||(t?k(t[p],h[p],p):p);d&&e(t)&&(t=E(d.lin2log(t)));f.dateTime&&(y?(w=m.time.resolveDTLFormat(q.dateTimeLabelFormats[!q.grid&&y.higherRanks[p]||y.unitName]),N=w.main):e(t)&&(N=f.dateTime.getXDateFormat(t,q.dateTimeLabelFormats||{})));
n.isFirst=b;n.isLast=g;const x={axis:f,chart:m,dateTimeLabelFormat:N,isFirst:b,isLast:g,pos:p,tick:n,tickPositionInfo:y,value:t};u(this,"labelFormat",x);const A=b=>r.formatter?r.formatter.call(b,b):r.format?(b.text=f.defaultLabelFormatter.call(b,b),a.format(r.format,b,m)):f.defaultLabelFormatter.call(b,b);q=A.call(x,x);const z=w&&w.list;n.shortenLabel=z?function(){for(M=0;M<z.length;M++)if(v(x,{dateTimeLabelFormat:z[M]}),l.attr({text:A.call(x,x)}),l.getBBox().width<f.getSlotWidth(n)-2*r.padding)return;
l.attr({text:""})}:void 0;c&&f._addedPlotLB&&n.moveLabel(q,r);D(l)||n.movedLabel?l&&l.textStr!==q&&!c&&(!l.textWidth||r.style.width||l.styles.width||l.css({width:null}),l.attr({text:q}),l.textPxLength=l.getBBox().width):(n.label=l=n.createLabel({x:0,y:0},q,r),n.rotation=0)}createLabel(a,f,e){const k=this.axis,n=k.chart;if(a=D(f)&&e.enabled?n.renderer.text(f,a.x,a.y,e.useHTML).add(k.labelGroup):null)n.styledMode||a.css(m(e.style)),a.textPxLength=a.getBBox().width;return a}destroy(){A(this,this.axis)}getPosition(a,
f,e,k){const q=this.axis,d=q.chart,h=k&&d.oldChartHeight||d.chartHeight;a={x:a?E(q.translate(f+e,void 0,void 0,k)+q.transB):q.left+q.offset+(q.opposite?(k&&d.oldChartWidth||d.chartWidth)-q.right-q.left:0),y:a?h-q.bottom+q.offset-(q.opposite?q.height:0):E(h-q.translate(f+e,void 0,void 0,k)-q.transB)};a.y=B(a.y,-1E5,1E5);u(this,"afterGetPosition",{pos:a});return a}getLabelPosition(a,f,e,m,t,d,h,p){const r=this.axis,q=r.transA,b=r.isLinked&&r.linkedParent?r.linkedParent.reversed:r.reversed,g=r.staggerLines,
c=r.tickRotCorr||{x:0,y:0},l=m||r.reserveSpaceDefault?0:-r.labelOffset*("center"===r.labelAlign?.5:1),n=t.distance,w={};e=0===r.side?e.rotation?-n:-e.getBBox().height:2===r.side?c.y+n:Math.cos(e.rotation*x)*(c.y-e.getBBox(!1,0).height/2);D(t.y)&&(e=0===r.side&&r.horiz?t.y+e:t.y);a=a+k(t.x,[0,1,0,-1][r.side]*n)+l+c.x-(d&&m?d*q*(b?-1:1):0);f=f+e-(d&&!m?d*q*(b?1:-1):0);g&&(m=h/(p||1)%g,r.opposite&&(m=g-m-1),f+=r.labelOffset/g*m);w.x=a;w.y=Math.round(f);u(this,"afterGetLabelPosition",{pos:w,tickmarkOffset:d,
index:h});return w}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(a,f,e,k,m,d){return d.crispLine([["M",a,f],["L",a+(m?0:-e),f+(m?e:0)]],k)}handleOverflow(a){const e=this.axis,q=e.options.labels,m=a.x;var n=e.chart.chartWidth,d=e.chart.spacing;const h=k(e.labelLeft,Math.min(e.pos,d[3]));d=k(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,n-d[1]));const p=this.label,r=this.rotation,y={left:0,center:.5,right:1}[e.labelAlign||p.attr("align")],b=p.getBBox().width,
g=e.getSlotWidth(this),c={};let l=g,t=1,w;if(r||"justify"!==q.overflow)0>r&&m-y*b<h?w=Math.round(m/Math.cos(r*x)-h):0<r&&m+y*b>d&&(w=Math.round((n-m)/Math.cos(r*x)));else if(n=m+(1-y)*b,m-y*b<h?l=a.x+l*(1-y)-h:n>d&&(l=d-a.x+l*y,t=-1),l=Math.min(g,l),l<g&&"center"===e.labelAlign&&(a.x+=t*(g-l-y*(g-Math.min(b,l)))),b>l||e.autoRotation&&(p.styles||{}).width)w=l;w&&(this.shortenLabel?this.shortenLabel():(c.width=Math.floor(w)+"px",(q.style||{}).textOverflow||(c.textOverflow="ellipsis"),p.css(c)))}moveLabel(a,
e){const f=this;var k=f.label;const m=f.axis;let d=!1;k&&k.textStr===a?(f.movedLabel=k,d=!0,delete f.label):w(m.ticks,function(h){d||h.isNew||h===f||!h.label||h.label.textStr!==a||(f.movedLabel=h.label,d=!0,h.labelPos=f.movedLabel.xy,delete h.label)});d||!f.labelPos&&!k||(k=f.labelPos||k.xy,f.movedLabel=f.createLabel(k,a,e),f.movedLabel&&f.movedLabel.attr({opacity:0}))}render(a,e,m){var f=this.axis,n=f.horiz,d=this.pos,h=k(this.tickmarkOffset,f.tickmarkOffset);d=this.getPosition(n,d,h,e);h=d.x;const p=
d.y;f=n&&h===f.pos+f.len||!n&&p===f.pos?-1:1;n=k(m,this.label&&this.label.newOpacity,1);m=k(m,1);this.isActive=!0;this.renderGridLine(e,m,f);this.renderMark(d,m,f);this.renderLabel(d,e,n,a);this.isNew=!1;u(this,"afterRender")}renderGridLine(a,e,m){const f=this.axis,n=f.options,d={},h=this.pos,p=this.type,r=k(this.tickmarkOffset,f.tickmarkOffset),y=f.chart.renderer;let b=this.gridLine,g=n.gridLineWidth,c=n.gridLineColor,l=n.gridLineDashStyle;"minor"===this.type&&(g=n.minorGridLineWidth,c=n.minorGridLineColor,
l=n.minorGridLineDashStyle);b||(f.chart.styledMode||(d.stroke=c,d["stroke-width"]=g||0,d.dashstyle=l),p||(d.zIndex=1),a&&(e=0),this.gridLine=b=y.path().attr(d).addClass("highcharts-"+(p?p+"-":"")+"grid-line").add(f.gridGroup));if(b&&(m=f.getPlotLinePath({value:h+r,lineWidth:b.strokeWidth()*m,force:"pass",old:a,acrossPanes:!1})))b[a||this.isNew?"attr":"animate"]({d:m,opacity:e})}renderMark(a,e,m){const f=this.axis;var n=f.options;const d=f.chart.renderer,h=this.type,p=f.tickSize(h?h+"Tick":"tick"),
r=a.x;a=a.y;const y=k(n["minor"!==h?"tickWidth":"minorTickWidth"],!h&&f.isXAxis?1:0);n=n["minor"!==h?"tickColor":"minorTickColor"];let b=this.mark;const g=!b;p&&(f.opposite&&(p[0]=-p[0]),b||(this.mark=b=d.path().addClass("highcharts-"+(h?h+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||b.attr({stroke:n,"stroke-width":y})),b[g?"attr":"animate"]({d:this.getMarkPath(r,a,p[0],b.strokeWidth()*m,f.horiz,d),opacity:e}))}renderLabel(a,f,m,t){var n=this.axis;const d=n.horiz,h=n.options,p=this.label,
r=h.labels,y=r.step;n=k(this.tickmarkOffset,n.tickmarkOffset);const b=a.x;a=a.y;let g=!0;p&&e(b)&&(p.xy=a=this.getLabelPosition(b,a,p,d,r,n,t,y),this.isFirst&&!this.isLast&&!h.showFirstLabel||this.isLast&&!this.isFirst&&!h.showLastLabel?g=!1:!d||r.step||r.rotation||f||0===m||this.handleOverflow(a),y&&t%y&&(g=!1),g&&e(a.y)?(a.opacity=m,p[this.isNewLabel?"attr":"animate"](a).show(!0),this.isNewLabel=!1):(p.hide(),this.isNewLabel=!0))}replaceMovedLabel(){const a=this.label,e=this.axis;a&&!this.isNew&&
(a.animate({opacity:0},void 0,a.destroy),delete this.label);e.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel}}"";return t});L(a,"Core/Axis/Axis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/AxisDefaults.js"],a["Core/Color/Color.js"],a["Core/Defaults.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Axis/Tick.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A){const {animObject:v}=a,{defaultOptions:u}=J,{registerEventOptions:e}=B,{deg2rad:m}=E,{arrayMax:w,arrayMin:k,
clamp:t,correctFloat:n,defined:f,destroyObjectProperties:q,erase:K,error:x,extend:d,fireEvent:h,isArray:p,isNumber:r,isString:y,merge:b,normalizeTickInterval:g,objectEach:c,pick:l,relativeLength:N,removeEvent:O,splat:M,syncTimeout:aa}=A,U=(b,c)=>g(c,void 0,void 0,l(b.options.allowDecimals,.5>c||void 0!==b.tickAmount),!!b.tickAmount);class V{constructor(b,c){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=
this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=
this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0;this.init(b,c)}init(b,c){const a=c.isX;this.chart=b;this.horiz=b.inverted&&!this.isZAxis?!a:a;this.isXAxis=a;this.coll=this.coll||(a?"xAxis":"yAxis");h(this,"init",{userOptions:c});this.opposite=l(c.opposite,this.opposite);this.side=l(c.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);const g=this.options,d=g.labels,C=g.type;this.userOptions=c;this.minPixelPadding=
0;this.reversed=l(g.reversed,this.reversed);this.visible=g.visible;this.zoomEnabled=g.zoomEnabled;this.hasNames="category"===C||!0===g.categories;this.categories=g.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups={};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=f(g.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=g.minRange||
g.maxZoom;this.range=g.range;this.offset=g.offset||0;this.min=this.max=null;c=l(g.crosshair,M(b.options.tooltip.crosshairs)[a?0:1]);this.crosshair=!0===c?{}:c;-1===b.axes.indexOf(this)&&(a?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),b[this.coll].push(this));this.series=this.series||[];b.inverted&&!this.isZAxis&&a&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=r(d.rotation)?d.rotation:void 0;e(this,g);h(this,"afterInit")}setOptions(c){this.options=b(z.defaultXAxisOptions,
"yAxis"===this.coll&&z.defaultYAxisOptions,[z.defaultTopAxisOptions,z.defaultRightAxisOptions,z.defaultBottomAxisOptions,z.defaultLeftAxisOptions][this.side],b(u[this.coll],c));h(this,"afterSetOptions",{userOptions:c})}defaultLabelFormatter(b){var c=this.axis;({numberFormatter:b}=this.chart);const a=r(this.value)?this.value:NaN,g=c.chart.time,l=this.dateTimeLabelFormat;var d=u.lang;const h=d.numericSymbols;d=d.numericSymbolMagnitude||1E3;const e=c.logarithmic?Math.abs(a):c.tickInterval;let H=h&&h.length,
f;if(c.categories)f=`${this.value}`;else if(l)f=g.dateFormat(l,a);else if(H&&1E3<=e)for(;H--&&"undefined"===typeof f;)c=Math.pow(d,H+1),e>=c&&0===10*a%c&&null!==h[H]&&0!==a&&(f=b(a/c,-1)+h[H]);"undefined"===typeof f&&(f=1E4<=Math.abs(a)?b(a,-1):b(a,-1,void 0,""));return f}getSeriesExtremes(){const b=this,c=b.chart;let a;h(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.series.forEach(function(g){if(g.visible||!c.options.chart.ignoreHiddenSeries){var d=
g.options;let c=d.threshold,h,e;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=c&&(c=null);if(b.isXAxis)(d=g.xData)&&d.length&&(d=b.logarithmic?d.filter(b=>0<b):d,a=g.getXExtremes(d),h=a.min,e=a.max,r(h)||h instanceof Date||(d=d.filter(r),a=g.getXExtremes(d),h=a.min,e=a.max),d.length&&(b.dataMin=Math.min(l(b.dataMin,h),h),b.dataMax=Math.max(l(b.dataMax,e),e)));else if(g=g.applyExtremes(),r(g.dataMin)&&(h=g.dataMin,b.dataMin=Math.min(l(b.dataMin,h),h)),r(g.dataMax)&&(e=g.dataMax,b.dataMax=Math.max(l(b.dataMax,
e),e)),f(c)&&(b.threshold=c),!d.softThreshold||b.positiveValuesOnly)b.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")}translate(b,c,a,g,d,l){const h=this.linkedParent||this,e=g&&h.old?h.old.min:h.min;if(!r(e))return NaN;const C=h.minPixelPadding;d=(h.isOrdinal||h.brokenAxis&&h.brokenAxis.hasBreaks||h.logarithmic&&d)&&h.lin2val;let f=1,H=0;g=g&&h.old?h.old.transA:h.transA;g||(g=h.transA);a&&(f*=-1,H=h.len);h.reversed&&(f*=-1,H-=f*(h.sector||h.len));c?(l=(b*f+H-C)/g+e,d&&(l=h.lin2val(l))):(d&&
(b=h.val2lin(b)),b=f*(b-e)*g,l=(h.isRadial?b:n(b))+H+f*C+(r(l)?g*l:0));return l}toPixels(b,c){return this.translate(b,!1,!this.horiz,void 0,!0)+(c?0:this.pos)}toValue(b,c){return this.translate(b-(c?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(b){function c(b,c,a){"pass"!==q&&(b<c||b>a)&&(q?b=t(b,c,a):ba=!0);return b}const a=this,g=a.chart,d=a.left,e=a.top,f=b.old,H=b.value,p=b.lineWidth,k=f&&g.oldChartHeight||g.chartHeight,m=f&&g.oldChartWidth||g.chartWidth,n=a.transB;let y=b.translatedValue,
q=b.force,w,N,O,S,ba;b={value:H,lineWidth:p,old:f,force:q,acrossPanes:b.acrossPanes,translatedValue:y};h(this,"getPlotLinePath",b,function(b){y=l(y,a.translate(H,void 0,void 0,f));y=t(y,-1E5,1E5);w=O=Math.round(y+n);N=S=Math.round(k-y-n);r(y)?a.horiz?(N=e,S=k-a.bottom,w=O=c(w,d,d+a.width)):(w=d,O=m-a.right,N=S=c(N,e,e+a.height)):(ba=!0,q=!1);b.path=ba&&!q?null:g.renderer.crispLine([["M",w,N],["L",O,S]],p||1)});return b.path}getLinearTickPositions(b,c,a){const g=n(Math.floor(c/b)*b);a=n(Math.ceil(a/
b)*b);const d=[];let l,h;n(g+b)===g&&(h=20);if(this.single)return[c];for(c=g;c<=a;){d.push(c);c=n(c+b,h);if(c===l)break;l=c}return d}getMinorTickInterval(){const b=this.options;return!0===b.minorTicks?l(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval}getMinorTickPositions(){var b=this.options;const c=this.tickPositions,a=this.minorTickInterval;var g=this.pointRangePadding||0;const d=this.min-g;g=this.max+g;const l=g-d;let h=[];if(l&&l/a<this.len/3){const l=this.logarithmic;
if(l)this.paddedTicks.forEach(function(b,c,g){c&&h.push.apply(h,l.getLogTickPositions(a,g[c-1],g[c],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())h=h.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(a),d,g,b.startOfWeek));else for(b=d+(c[0]-d)%a;b<=g&&b!==h[0];b+=a)h.push(b)}0!==h.length&&this.trimTicks(h);return h}adjustForMinRange(){const b=this.options,c=this.logarithmic;let a=this.min;var g=this.max;let d,h=0,r,e,p,m,y;this.isXAxis&&"undefined"===typeof this.minRange&&
!c&&(f(b.min)||f(b.max)||f(b.floor)||f(b.ceiling)?this.minRange=null:(this.series.forEach(function(b){p=b.xData;m=b.xIncrement?1:p.length-1;if(1<p.length)for(r=m;0<r;r--)if(e=p[r]-p[r-1],!h||e<h)h=e}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin)));if(g-a<this.minRange){d=this.dataMax-this.dataMin>=this.minRange;y=this.minRange;var n=(y-g+a)/2;n=[a-n,l(b.min,a-n)];d&&(n[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);a=w(n);g=[a+y,l(b.max,a+y)];d&&(g[2]=c?c.log2lin(this.dataMax):
this.dataMax);g=k(g);g-a<y&&(n[0]=g-y,n[1]=l(b.min,g-y),a=w(n))}this.min=a;this.max=g}getClosest(){let b;this.categories?b=1:this.series.forEach(function(c){const a=c.closestPointRange,g=c.visible||!c.chart.options.chart.ignoreHiddenSeries;!c.noSharedTooltip&&f(a)&&g&&(b=f(b)?Math.min(b,a):a)});return b}nameToX(b){const c=p(this.options.categories),a=c?this.categories:this.names;let g=b.options.x,d;b.series.requireSorting=!1;f(g)||(g=this.options.uniqueNames&&a?c?a.indexOf(b.name):l(a.keys[b.name],
-1):b.series.autoIncrement());-1===g?!c&&a&&(d=a.length):d=g;"undefined"!==typeof d?(this.names[d]=b.name,this.names.keys[b.name]=d):b.x&&(d=b.x);return d}updateNames(){const b=this,c=this.names;0<c.length&&(Object.keys(c.keys).forEach(function(b){delete c.keys[b]}),c.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(c){c.xIncrement=null;if(!c.points||c.isDirtyData)b.max=Math.max(b.max,c.xData.length-1),c.processData(),c.generatePoints();c.data.forEach(function(a,g){let d;
a&&a.options&&"undefined"!==typeof a.name&&(d=b.nameToX(a),"undefined"!==typeof d&&d!==a.x&&(a.x=d,c.xData[g]=d))})}))}setAxisTranslation(){const b=this,c=b.max-b.min;var a=b.linkedParent;const g=!!b.categories,d=b.isXAxis;let r=b.axisPointRange||0,e,f=0,p=0,k=b.transA;if(d||g||r)e=b.getClosest(),a?(f=a.minPointOffset,p=a.pointRangePadding):b.series.forEach(function(c){const a=g?1:d?l(c.options.pointRange,e,0):b.axisPointRange||0,h=c.options.pointPlacement;r=Math.max(r,a);if(!b.single||g)c=c.is("xrange")?
!d:d,f=Math.max(f,c&&y(h)?0:a/2),p=Math.max(p,c&&"on"===h?0:a)}),a=b.ordinal&&b.ordinal.slope&&e?b.ordinal.slope/e:1,b.minPointOffset=f*=a,b.pointRangePadding=p*=a,b.pointRange=Math.min(r,b.single&&g?1:c),d&&(b.closestPointRange=e);b.translationSlope=b.transA=k=b.staticScale||b.len/(c+p||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=k*f;h(this,"afterSetAxisTranslation")}minFromRange(){return this.max-this.range}setTickInterval(b){var c=this.chart;const a=this.logarithmic,g=this.options,d=
this.isXAxis,e=this.isLinked,p=g.tickPixelInterval,H=this.categories,k=this.softThreshold;let m=g.maxPadding,y=g.minPadding;let q=r(g.tickInterval)&&0<=g.tickInterval?g.tickInterval:void 0,t=r(this.threshold)?this.threshold:null,w,N,O;this.dateTime||H||e||this.getTickAmount();N=l(this.userMin,g.min);O=l(this.userMax,g.max);if(e){this.linkedParent=c[this.coll][g.linkedTo];var M=this.linkedParent.getExtremes();this.min=l(M.min,M.dataMin);this.max=l(M.max,M.dataMax);g.type!==this.linkedParent.options.type&&
x(11,1,c)}else k&&f(t)&&(this.dataMin>=t?(M=t,y=0):this.dataMax<=t&&(w=t,m=0)),this.min=l(N,M,this.dataMin),this.max=l(O,w,this.dataMax);a&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,l(this.dataMin,this.min))&&x(10,1,c),this.min=n(a.log2lin(this.min),16),this.max=n(a.log2lin(this.max),16));this.range&&f(this.max)&&(this.userMin=this.min=N=Math.max(this.dataMin,this.minFromRange()),this.userMax=O=this.max,this.range=null);h(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();
!(H||this.axisPointRange||this.stacking&&this.stacking.usePercentage||e)&&f(this.min)&&f(this.max)&&(c=this.max-this.min)&&(!f(N)&&y&&(this.min-=c*y),!f(O)&&m&&(this.max+=c*m));r(this.userMin)||(r(g.softMin)&&g.softMin<this.min&&(this.min=N=g.softMin),r(g.floor)&&(this.min=Math.max(this.min,g.floor)));r(this.userMax)||(r(g.softMax)&&g.softMax>this.max&&(this.max=O=g.softMax),r(g.ceiling)&&(this.max=Math.min(this.max,g.ceiling)));k&&f(this.dataMin)&&(t=t||0,!f(N)&&this.min<t&&this.dataMin>=t?this.min=
this.options.minRange?Math.min(t,this.max-this.minRange):t:!f(O)&&this.max>t&&this.dataMax<=t&&(this.max=this.options.minRange?Math.max(t,this.min+this.minRange):t));r(this.min)&&r(this.max)&&!this.chart.polar&&this.min>this.max&&(f(this.options.min)?this.max=this.min:f(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:e&&this.linkedParent&&!q&&p===this.linkedParent.options.tickPixelInterval?q=this.linkedParent.tickInterval:
l(q,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(this.max-this.min)*p/Math.max(this.len,p));if(d&&!b){const b=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(c){c.forceCrop=c.forceCropping&&c.forceCropping();c.processData(b)});h(this,"postProcessData",{hasExtremesChanged:b})}this.setAxisTranslation();h(this,"initialAxisTranslation");this.pointRange&&!q&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));
b=l(g.minTickInterval,this.dateTime&&!this.series.some(b=>b.noSharedTooltip)?this.closestPointRange:0);!q&&this.tickInterval<b&&(this.tickInterval=b);this.dateTime||this.logarithmic||q||(this.tickInterval=U(this,this.tickInterval));this.tickAmount||(this.tickInterval=this.unsquish());this.setTickPositions()}setTickPositions(){var b=this.options;const c=b.tickPositions,a=b.tickPositioner;var g=this.getMinorTickInterval(),d=this.hasVerticalPanning(),l="colorAxis"===this.coll;const e=(l||!d)&&b.startOnTick;
d=(l||!d)&&b.endOnTick;l=[];let p;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===g&&this.tickInterval?this.tickInterval/b.minorTicksPerMajor:g;this.single=this.min===this.max&&f(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);if(c)l=c.slice();else if(r(this.min)&&r(this.max)){if(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)))if(this.dateTime)l=
this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(g=b=this.tickInterval;g<=2*b;)if(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount)this.tickInterval=U(this,g*=1.1);else break;else l=[this.min,this.max],
x(19,!1,this.chart);l.length>this.len&&(l=[l[0],l[l.length-1]],l[0]===l[1]&&(l.length=1));a&&(this.tickPositions=l,(p=a.apply(this,[this.min,this.max]))&&(l=p))}this.tickPositions=l;this.paddedTicks=l.slice(0);this.trimTicks(l,e,d);!this.isLinked&&r(this.min)&&r(this.max)&&(this.single&&2>l.length&&!this.categories&&!this.series.some(b=>b.is("heatmap")&&"between"===b.options.pointPlacement)&&(this.min-=.5,this.max+=.5),c||p||this.adjustTickAmount());h(this,"afterSetTickPositions")}trimTicks(b,c,a){const g=
b[0],d=b[b.length-1],l=!this.isOrdinal&&this.minPointOffset||0;h(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==g)this.min=g;else for(;this.min-l>b[0];)b.shift();if(a)this.max=d;else for(;this.max+l<b[b.length-1];)b.pop();0===b.length&&f(g)&&!this.options.tickPositions&&b.push((d+g)/2)}}alignToOthers(){const b=this,c=[this],a=b.options,g="yAxis"===this.coll&&this.chart.options.chart.alignThresholds,d=[];let l;b.thresholdAlignment=void 0;if((!1!==this.chart.options.chart.alignTicks&&a.alignTicks||
g)&&!1!==a.startOnTick&&!1!==a.endOnTick&&!b.logarithmic){const a=b=>{const {horiz:c,options:a}=b;return[c?a.left:a.top,a.width,a.height,a.pane].join()},g=a(this);this.chart[this.coll].forEach(function(d){const {series:h}=d;h.length&&h.some(b=>b.visible)&&d!==b&&a(d)===g&&(l=!0,c.push(d))})}if(l&&g){c.forEach(c=>{c=c.getThresholdAlignment(b);r(c)&&d.push(c)});const a=1<d.length?d.reduce((b,c)=>b+c,0)/d.length:void 0;c.forEach(b=>{b.thresholdAlignment=a})}return l}getThresholdAlignment(b){(!r(this.dataMin)||
this!==b&&this.series.some(b=>b.isDirty||b.isDirtyData))&&this.getSeriesExtremes();if(r(this.threshold))return b=t((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(b=1-b),b}getTickAmount(){const b=this.options,c=b.tickPixelInterval;let a=b.tickAmount;!f(b.tickInterval)&&!a&&this.len<c&&!this.isRadial&&!this.logarithmic&&b.startOnTick&&b.endOnTick&&(a=2);!a&&this.alignToOthers()&&(a=Math.ceil(this.len/c)+1);4>a&&(this.finalTickAmt=a,a=5);this.tickAmount=
a}adjustTickAmount(){const b=this,{finalTickAmt:c,max:a,min:g,options:d,tickPositions:h,tickAmount:e,thresholdAlignment:p}=b,k=h&&h.length;var m=l(b.threshold,b.softThreshold?0:null);var y=b.tickInterval;let q;r(p)&&(q=.5>p?Math.ceil(p*(e-1)):Math.floor(p*(e-1)),d.reversed&&(q=e-1-q));if(b.hasData()&&r(g)&&r(a)){const l=()=>{b.transA*=(k-1)/(e-1);b.min=d.startOnTick?h[0]:Math.min(g,h[0]);b.max=d.endOnTick?h[h.length-1]:Math.max(a,h[h.length-1])};if(r(q)&&r(b.threshold)){for(;h[q]!==m||h.length!==
e||h[0]>g||h[h.length-1]<a;){h.length=0;for(h.push(b.threshold);h.length<e;)void 0===h[q]||h[q]>b.threshold?h.unshift(n(h[0]-y)):h.push(n(h[h.length-1]+y));if(y>8*b.tickInterval)break;y*=2}l()}else if(k<e){for(;h.length<e;)h.length%2||g===m?h.push(n(h[h.length-1]+y)):h.unshift(n(h[0]-y));l()}if(f(c)){for(y=m=h.length;y--;)(3===c&&1===y%2||2>=c&&0<y&&y<m-1)&&h.splice(y,1);b.finalTickAmt=void 0}}}setScale(){let b=!1,c=!1;this.series.forEach(function(a){b=b||a.isDirtyData||a.isDirty;c=c||a.xAxis&&a.xAxis.isDirty||
!1});this.setAxisSize();const a=this.len!==(this.old&&this.old.len);a||b||c||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(this.stacking&&(this.stacking.resetStacks(),this.stacking.buildStacks()),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),this.isDirty||(this.isDirty=a||this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max))):
this.stacking&&this.stacking.cleanStacks();b&&this.panningState&&(this.panningState.isDirty=!0);h(this,"afterSetScale")}setExtremes(b,c,a,g,e){const r=this,f=r.chart;a=l(a,!0);r.series.forEach(function(b){delete b.kdTree});e=d(e,{min:b,max:c});h(r,"setExtremes",e,function(){r.userMin=b;r.userMax=c;r.eventArgs=e;a&&f.redraw(g)})}zoom(b,c){const a=this,g=this.dataMin,d=this.dataMax,e=this.options,r=Math.min(g,l(e.min,g)),p=Math.max(d,l(e.max,d));b={newMin:b,newMax:c};h(this,"zoom",b,function(b){let c=
b.newMin,l=b.newMax;if(c!==a.min||l!==a.max)a.allowZoomOutside||(f(g)&&(c<r&&(c=r),c>p&&(c=p)),f(d)&&(l<r&&(l=r),l>p&&(l=p))),a.displayBtn="undefined"!==typeof c||"undefined"!==typeof l,a.setExtremes(c,l,!1,void 0,{trigger:"zoom"});b.zoomed=!0});return b.zoomed}setAxisSize(){const b=this.chart;var c=this.options;const a=c.offsets||[0,0,0,0],g=this.horiz,d=this.width=Math.round(N(l(c.width,b.plotWidth-a[3]+a[1]),b.plotWidth)),h=this.height=Math.round(N(l(c.height,b.plotHeight-a[0]+a[2]),b.plotHeight)),
e=this.top=Math.round(N(l(c.top,b.plotTop+a[0]),b.plotHeight,b.plotTop));c=this.left=Math.round(N(l(c.left,b.plotLeft+a[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-h-e;this.right=b.chartWidth-d-c;this.len=Math.max(g?d:h,0);this.pos=g?c:e}getExtremes(){const b=this.logarithmic;return{min:b?n(b.lin2log(this.min)):this.min,max:b?n(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(b){var c=this.logarithmic;const a=
c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===b||-Infinity===b?b=a:Infinity===b?b=c:a>b?b=a:c<b&&(b=c);return this.translate(b,0,1,0,1)}autoLabelAlign(b){const c=(l(b,0)-90*this.side+720)%360;b={align:"center"};h(this,"autoLabelAlign",b,function(b){15<c&&165>c?b.align="right":195<c&&345>c&&(b.align="left")});return b.align}tickSize(b){const c=this.options,a=l(c["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0);let g=c["tick"===b?"tickLength":
"minorTickLength"],d;a&&g&&("inside"===c[b+"Position"]&&(g=-g),d=[g,a]);b={tickSize:d};h(this,"afterTickSize",b);return b.tickSize}labelMetrics(){const b=this.chart.renderer;var c=this.ticks;c=c[Object.keys(c)[0]]||{};return this.chart.renderer.fontMetrics(c.label||c.movedLabel||b.box)}unsquish(){const b=this.options.labels;var c=this.horiz;const a=this.tickInterval,g=this.len/(((this.categories?1:0)+this.max-this.min)/a),d=b.rotation,h=.75*this.labelMetrics().h,e=Math.max(this.max-this.min,0),f=
function(b){let c=b/(g||1);c=1<c?Math.ceil(c):1;c*a>e&&Infinity!==b&&Infinity!==g&&e&&(c=Math.ceil(e/a));return n(c*a)};let p=a,k,y=Number.MAX_VALUE,q;if(c){if(b.staggerLines||(r(d)?q=[d]:g<b.autoRotationLimit&&(q=b.autoRotation)),q){let b;for(const a of q)if(a===d||a&&-90<=a&&90>=a)c=f(Math.abs(h/Math.sin(m*a))),b=c+Math.abs(a/360),b<y&&(y=b,k=a,p=c)}}else p=f(h);this.autoRotation=q;this.labelRotation=l(k,r(d)?d:0);return b.step?a:p}getSlotWidth(b){const c=this.chart,a=this.horiz,g=this.options.labels,
d=Math.max(this.tickPositions.length-(this.categories?0:1),1),l=c.margin[3];if(b&&r(b.slotWidth))return b.slotWidth;if(a&&2>g.step)return g.rotation?0:(this.staggerLines||1)*this.len/d;if(!a){b=g.style.width;if(void 0!==b)return parseInt(String(b),10);if(l)return l-c.spacing[3]}return.33*c.chartWidth}renderUnsquish(){const b=this.chart,c=b.renderer,a=this.tickPositions,g=this.ticks,d=this.options.labels,l=d.style,h=this.horiz,e=this.getSlotWidth();var r=Math.max(1,Math.round(e-2*d.padding));const f=
{},p=this.labelMetrics(),k=l.textOverflow;let m,q,n=0;y(d.rotation)||(f.rotation=d.rotation||0);a.forEach(function(b){b=g[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>n&&(n=b.label.textPxLength)});this.maxLabelLength=n;if(this.autoRotation)n>r&&n>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(e&&(m=r,!k))for(q="clip",r=a.length;!h&&r--;){var t=a[r];if(t=g[t].label)t.styles&&"ellipsis"===t.styles.textOverflow?t.css({textOverflow:"clip"}):t.textPxLength>e&&
t.css({width:e+"px"}),t.getBBox().height>this.len/a.length-(p.h-p.f)&&(t.specificTextOverflow="ellipsis")}f.rotation&&(m=n>.5*b.chartHeight?.33*b.chartHeight:n,k||(q="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;a.forEach(function(b){const c=(b=g[b])&&b.label,a=l.width,d={};c&&(c.attr(f),b.shortenLabel?b.shortenLabel():m&&!a&&"nowrap"!==l.whiteSpace&&(m<c.textPxLength||"SPAN"===c.element.tagName)?(d.width=m+"px",k||(d.textOverflow=c.specificTextOverflow||
q),c.css(d)):c.styles&&c.styles.width&&!d.width&&!a&&c.css({width:null}),delete c.specificTextOverflow,b.rotation=f.rotation)},this);this.tickRotCorr=c.rotCorr(p.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(b){return b.hasData()})||this.options.showEmpty&&f(this.min)&&f(this.max)}addTitle(c){const a=this.chart.renderer,g=this.horiz,d=this.opposite,l=this.options.title,h=this.chart.styledMode;let e;this.axisTitle||((e=l.textAlign)||(e=(g?{low:"left",middle:"center",
high:"right"}:{low:d?"right":"left",middle:"center",high:d?"left":"right"})[l.align]),this.axisTitle=a.text(l.text||"",0,0,l.useHTML).attr({zIndex:7,rotation:l.rotation,align:e}).addClass("highcharts-axis-title"),h||this.axisTitle.css(b(l.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);h||l.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"});this.axisTitle[c?"show":"hide"](c)}generateTick(b){const c=this.ticks;c[b]?c[b].addLabel():c[b]=new D(this,b)}getOffset(){const b=
this,{chart:a,horiz:g,options:d,side:e,ticks:p,tickPositions:k,coll:m,axisParent:y}=b,n=a.renderer,q=a.inverted&&!b.isZAxis?[1,0,3,2][e]:e;var t=b.hasData();const w=d.title;var N=d.labels;const O=r(d.crossing);var M=a.axisOffset;const u=a.clipOffset,S=[-1,1,1,-1][e],ba=d.className;let ea,v=0,K;var x=0;let F=0;b.showAxis=ea=t||d.showEmpty;b.staggerLines=b.horiz&&N.staggerLines||void 0;if(!b.axisGroup){const c=(b,c,a)=>n.g(b).attr({zIndex:a}).addClass(`highcharts-${m.toLowerCase()}${c} `+(this.isRadial?
`highcharts-radial-axis${c} `:"")+(ba||"")).add(y);b.gridGroup=c("grid","-grid",d.gridZIndex);b.axisGroup=c("axis","",d.zIndex);b.labelGroup=c("axis-labels","-labels",N.zIndex)}t||b.isLinked?(k.forEach(function(c){b.generateTick(c)}),b.renderUnsquish(),b.reserveSpaceDefault=0===e||2===e||{1:"left",3:"right"}[e]===b.labelAlign,l(N.reserveSpace,O?!1:null,"center"===b.labelAlign?!0:null,b.reserveSpaceDefault)&&k.forEach(function(b){F=Math.max(p[b].getLabelSize(),F)}),b.staggerLines&&(F*=b.staggerLines),
b.labelOffset=F*(b.opposite?-1:1)):c(p,function(b,c){b.destroy();delete p[c]});w&&w.text&&!1!==w.enabled&&(b.addTitle(ea),ea&&!O&&!1!==w.reserveSpace&&(b.titleOffset=v=b.axisTitle.getBBox()[g?"height":"width"],K=w.offset,x=f(K)?0:l(w.margin,g?5:10)));b.renderLine();b.offset=S*l(d.offset,M[e]?M[e]+(d.margin||0):0);b.tickRotCorr=b.tickRotCorr||{x:0,y:0};t=0===e?-b.labelMetrics().h:2===e?b.tickRotCorr.y:0;x=Math.abs(F)+x;F&&(x=x-t+S*(g?l(N.y,b.tickRotCorr.y+S*N.distance):l(N.x,S*N.distance)));b.axisTitleMargin=
l(K,x);b.getMaxLabelDimensions&&(b.maxLabelDimensions=b.getMaxLabelDimensions(p,k));"colorAxis"!==m&&(N=this.tickSize("tick"),M[e]=Math.max(M[e],(b.axisTitleMargin||0)+v+S*b.offset,x,k&&k.length&&N?N[0]+S*b.offset:0),M=!b.axisLine||d.offset?0:2*Math.floor(b.axisLine.strokeWidth()/2),u[q]=Math.max(u[q],M));h(this,"afterGetOffset")}getLinePath(b){const c=this.chart,a=this.opposite;var g=this.offset;const d=this.horiz,l=this.left+(a?this.width:0)+g;g=c.chartHeight-this.bottom-(a?this.height:0)+g;a&&
(b*=-1);return c.renderer.crispLine([["M",d?this.left:l,d?g:this.top],["L",d?c.chartWidth-this.right:l,d?g:c.chartHeight-this.bottom]],b)}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(b){var c=this.horiz,a=this.left;const g=this.top;var d=this.len;const l=this.options.title,e=c?a:g,r=
this.opposite,f=this.offset,p=l.x,k=l.y,m=this.chart.renderer.fontMetrics(b);b=b?Math.max(b.getBBox(!1,0).height-m.h-1,0):0;d={low:e+(c?0:d),middle:e+d/2,high:e+(c?d:0)}[l.align];a=(c?g+this.height:a)+(c?1:-1)*(r?-1:1)*(this.axisTitleMargin||0)+[-b,b,m.f,-b][this.side];c={x:c?d+p:a+(r?this.width:0)+f+p,y:c?a+k-(r?this.height:0)+f:d+k};h(this,"afterGetTitlePosition",{titlePosition:c});return c}renderMinorTick(b,c){const a=this.minorTicks;a[b]||(a[b]=new D(this,b,"minor"));c&&a[b].isNew&&a[b].render(null,
!0);a[b].render(null,!1,1)}renderTick(b,c,a){const g=this.ticks;if(!this.isLinked||b>=this.min&&b<=this.max||this.grid&&this.grid.isColumn)g[b]||(g[b]=new D(this,b)),a&&g[b].isNew&&g[b].render(c,!0,-1),g[b].render(c)}render(){const b=this,a=b.chart,g=b.logarithmic,d=b.options,l=b.isLinked,e=b.tickPositions,f=b.axisTitle,p=b.ticks,k=b.minorTicks,m=b.alternateBands,y=d.stackLabels,n=d.alternateGridColor,q=d.crossing,t=b.tickmarkOffset,w=b.axisLine,N=b.showAxis,O=v(a.renderer.globalAnimation);let S,
M;b.labelEdge.length=0;b.overlap=!1;[p,k,m].forEach(function(b){c(b,function(b){b.isActive=!1})});if(r(q)){const b=this.isXAxis?a.yAxis[0]:a.xAxis[0],c=[1,-1,-1,1][this.side];b&&(this.offset=c*b.toPixels(q,!0))}if(b.hasData()||l){const c=b.chart.hasRendered&&b.old&&r(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a,c)});e.length&&(e.forEach(function(a,g){b.renderTick(a,g,c)}),t&&(0===b.min||b.single)&&(p[-1]||(p[-1]=new D(b,-1,null,!0)),
p[-1].render(-1)));n&&e.forEach(function(c,d){M="undefined"!==typeof e[d+1]?e[d+1]+t:b.max-t;0===d%2&&c<b.max&&M<=b.max+(a.polar?-t:t)&&(m[c]||(m[c]=new E.PlotLineOrBand(b)),S=c+t,m[c].options={from:g?g.lin2log(S):S,to:g?g.lin2log(M):M,color:n,className:"highcharts-alternate-grid"},m[c].render(),m[c].isActive=!0)});b._addedPlotLB||(b._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(function(c){b.addPlotBandOrLine(c)}))}[p,k,m].forEach(function(b){const g=[],d=O.duration;c(b,function(b,
c){b.isActive||(b.render(c,!1,0),b.isActive=!1,g.push(c))});aa(function(){let c=g.length;for(;c--;)b[g[c]]&&!b[g[c]].isActive&&(b[g[c]].destroy(),delete b[g[c]])},b!==m&&a.hasRendered&&d?d:0)});w&&(w[w.isPlaced?"animate":"attr"]({d:this.getLinePath(w.strokeWidth())}),w.isPlaced=!0,w[N?"show":"hide"](N));f&&N&&(f[f.isNew?"attr":"animate"](b.getTitlePosition(f)),f.isNew=!1);y&&y.enabled&&b.stacking&&b.stacking.renderStackTotals();b.old={len:b.len,max:b.max,min:b.min,transA:b.transA,userMax:b.userMax,
userMin:b.userMin};b.isDirty=!1;h(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(b){b.render()}));this.series.forEach(function(b){b.isDirty=!0})}getKeepProps(){return this.keepProps||V.keepProps}destroy(b){const a=this,g=a.plotLinesAndBands,d=this.eventOptions;h(this,"destroy",{keepEvents:b});b||O(a);[a.ticks,a.minorTicks,a.alternateBands].forEach(function(b){q(b)});if(g)for(b=g.length;b--;)g[b].destroy();"axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(b){a[b]&&
(a[b]=a[b].destroy())});for(const b in a.plotLinesAndBandsGroups)a.plotLinesAndBandsGroups[b]=a.plotLinesAndBandsGroups[b].destroy();c(a,function(b,c){-1===a.getKeepProps().indexOf(c)&&delete a[c]});this.eventOptions=d}drawCrosshair(b,c){const a=this.crosshair;var g=l(a&&a.snap,!0);const e=this.chart;let r,p=this.cross;h(this,"drawCrosshair",{e:b,point:c});b||(b=this.cross&&this.cross.e);if(a&&!1!==(f(c)||!g)){g?f(c)&&(r=l("colorAxis"!==this.coll?c.crosshairPos:null,this.isXAxis?c.plotX:this.len-
c.plotY)):r=b&&(this.horiz?b.chartX-this.pos:this.len-b.chartY+this.pos);if(f(r)){var k={value:c&&(this.isXAxis?c.x:l(c.stackY,c.y)),translatedValue:r};e.polar&&d(k,{isCrosshair:!0,chartX:b&&b.chartX,chartY:b&&b.chartY,point:c});k=this.getPlotLinePath(k)||null}if(!f(k)){this.hideCrosshair();return}g=this.categories&&!this.isRadial;p||(this.cross=p=e.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(g?"category ":"thin ")+(a.className||"")).attr({zIndex:l(a.zIndex,2)}).add(),e.styledMode||
(p.attr({stroke:a.color||(g?G.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":l(a.width,1)}).css({"pointer-events":"none"}),a.dashStyle&&p.attr({dashstyle:a.dashStyle})));p.show().attr({d:k});g&&!a.width&&p.attr({"stroke-width":this.transA});this.cross.e=b}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:b,point:c})}hideCrosshair(){this.cross&&this.cross.hide();h(this,"afterHideCrosshair")}hasVerticalPanning(){const b=this.chart.options.chart.panning;return!!(b&&b.enabled&&
/y/.test(b.type))}update(c,a){const g=this.chart;c=b(this.userOptions,c);this.destroy(!0);this.init(g,c);g.isDirtyBox=!0;l(a,!0)&&g.redraw()}remove(b){const c=this.chart,a=this.coll,g=this.series;let d=g.length;for(;d--;)g[d]&&g[d].remove(!1);K(c.axes,this);K(c[a],this);c[a].forEach(function(b,c){b.options.index=b.userOptions.index=c});this.destroy();c.isDirtyBox=!0;l(b,!0)&&c.redraw()}setTitle(b,c){this.update({title:b},c)}setCategories(b,c){this.update({categories:b},c)}}V.defaultOptions=z.defaultXAxisOptions;
V.keepProps="extKey hcEvents names series userMax userMin".split(" ");"";return V});L(a,"Core/Axis/DateTimeAxis.js",[a["Core/Utilities.js"]],function(a){const {addEvent:x,getMagnitude:G,normalizeTickInterval:J,timeUnits:B}=a;var E;(function(z){function A(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function v(a){"datetime"!==a.userOptions.type?this.dateTime=void 0:this.dateTime||(this.dateTime=new e(this))}const u=[];z.compose=function(e){a.pushUnique(u,e)&&(e.keepProps.push("dateTime"),
e.prototype.getTimeTicks=A,x(e,"init",v));return e};class e{constructor(a){this.axis=a}normalizeTimeTickInterval(a,e){const k=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]];e=k[k.length-1];let m=B[e[0]],n=e[1],f;for(f=0;f<k.length&&!(e=k[f],m=B[e[0]],n=e[1],k[f+1]&&a<=(m*n[n.length-1]+B[k[f+1][0]])/2);f++);m===B.year&&a<5*m&&(n=[1,2,5]);a=J(a/m,n,
"year"===e[0]?Math.max(G(a/m),1):1);return{unitRange:m,count:a,unitName:e[0]}}getXDateFormat(a,e){const {axis:k}=this,m=k.chart.time;return k.closestPointRange?m.getDateFormat(k.closestPointRange,a,k.options.startOfWeek,e)||m.resolveDTLFormat(e.year).main:m.resolveDTLFormat(e.day).main}}z.Additions=e})(E||(E={}));return E});L(a,"Core/Axis/LogarithmicAxis.js",[a["Core/Utilities.js"]],function(a){const {addEvent:x,normalizeTickInterval:G,pick:J}=a;var B;(function(z){function D(a){let e=this.logarithmic;
"logarithmic"!==a.userOptions.type?this.logarithmic=void 0:e||(this.logarithmic=new u(this))}function A(){const a=this.logarithmic;a&&(this.lin2val=function(e){return a.lin2log(e)},this.val2lin=function(e){return a.log2lin(e)})}const v=[];z.compose=function(e){a.pushUnique(v,e)&&(e.keepProps.push("logarithmic"),x(e,"init",D),x(e,"afterInit",A));return e};class u{constructor(a){this.axis=a}getLogTickPositions(a,m,w,k){const e=this.axis;var n=e.len,f=e.options;let q=[];k||(this.minorAutoInterval=void 0);
if(.5<=a)a=Math.round(a),q=e.getLinearTickPositions(a,m,w);else if(.08<=a){f=Math.floor(m);let e,t,d,h,p;for(n=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<w+1&&!p;f++)for(t=n.length,e=0;e<t&&!p;e++)d=this.log2lin(this.lin2log(f)*n[e]),d>m&&(!k||h<=w)&&"undefined"!==typeof h&&q.push(h),h>w&&(p=!0),h=d}else m=this.lin2log(m),w=this.lin2log(w),a=k?e.getMinorTickInterval():f.tickInterval,a=J("auto"===a?null:a,this.minorAutoInterval,f.tickPixelInterval/(k?5:1)*(w-m)/((k?n/e.tickPositions.length:
n)||1)),a=G(a),q=e.getLinearTickPositions(a,m,w).map(this.log2lin),k||(this.minorAutoInterval=a/5);k||(e.tickInterval=a);return q}lin2log(a){return Math.pow(10,a)}log2lin(a){return Math.log(a)/Math.LN10}}z.Additions=u})(B||(B={}));return B});L(a,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[a["Core/Utilities.js"]],function(a){const {erase:x,extend:G,isNumber:J}=a;var B;(function(z){function D(a){return this.addPlotBandOrLine(a,"plotBands")}function A(a,e){const f=this.userOptions;let k=new t(this,
a);this.visible&&(k=k.render());if(k){this._addedPlotLB||(this._addedPlotLB=!0,(f.plotLines||[]).concat(f.plotBands||[]).forEach(a=>{this.addPlotBandOrLine(a)}));if(e){const k=f[e]||[];k.push(a);f[e]=k}this.plotLinesAndBands.push(k)}return k}function v(a){return this.addPlotBandOrLine(a,"plotLines")}function u(a,e,k=this.options){const f=this.getPlotLinePath({value:e,force:!0,acrossPanes:k.acrossPanes}),m=[],d=this.horiz;e=!J(this.min)||!J(this.max)||a<this.min&&e<this.min||a>this.max&&e>this.max;
a=this.getPlotLinePath({value:a,force:!0,acrossPanes:k.acrossPanes});k=1;let h;if(a&&f)for(e&&(h=a.toString()===f.toString(),k=0),e=0;e<a.length;e+=2){const p=a[e],r=a[e+1],y=f[e],b=f[e+1];"M"!==p[0]&&"L"!==p[0]||"M"!==r[0]&&"L"!==r[0]||"M"!==y[0]&&"L"!==y[0]||"M"!==b[0]&&"L"!==b[0]||(d&&y[1]===p[1]?(y[1]+=k,b[1]+=k):d||y[2]!==p[2]||(y[2]+=k,b[2]+=k),m.push(["M",p[1],p[2]],["L",r[1],r[2]],["L",b[1],b[2]],["L",y[1],y[2]],["Z"]));m.isFlat=h}return m}function e(a){this.removePlotBandOrLine(a)}function m(a){const e=
this.plotLinesAndBands,k=this.options,m=this.userOptions;if(e){let f=e.length;for(;f--;)e[f].id===a&&e[f].destroy();[k.plotLines||[],m.plotLines||[],k.plotBands||[],m.plotBands||[]].forEach(function(d){for(f=d.length;f--;)(d[f]||{}).id===a&&x(d,d[f])})}}function w(a){this.removePlotBandOrLine(a)}const k=[];let t;z.compose=function(n,f){t||(t=n);a.pushUnique(k,f)&&G(f.prototype,{addPlotBand:D,addPlotLine:v,addPlotBandOrLine:A,getPlotBandPath:u,removePlotBand:e,removePlotLine:w,removePlotBandOrLine:m});
return f}})(B||(B={}));return B});L(a,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[a["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],a["Core/Utilities.js"]],function(a,z){const {arrayMax:x,arrayMin:J,defined:B,destroyObjectProperties:E,erase:D,fireEvent:A,merge:v,objectEach:u,pick:e}=z;class m{static compose(e){return a.compose(m,e)}constructor(a,e){this.axis=a;e&&(this.options=e,this.id=e.id)}render(){A(this,"render");const a=this,k=a.axis,m=k.horiz;var n=k.logarithmic;const f=a.options,q=f.color,
x=e(f.zIndex,0),F=f.events,d={},h=k.chart.renderer;let p=f.label,r=a.label,y=f.to,b=f.from,g=f.value,c=a.svgElem;var l=[];const N=B(b)&&B(y);l=B(g);const O=!c,M={"class":"highcharts-plot-"+(N?"band ":"line ")+(f.className||"")};let aa=N?"bands":"lines";n&&(b=n.log2lin(b),y=n.log2lin(y),g=n.log2lin(g));k.chart.styledMode||(l?(M.stroke=q||"#999999",M["stroke-width"]=e(f.width,1),f.dashStyle&&(M.dashstyle=f.dashStyle)):N&&(M.fill=q||"#e6e9ff",f.borderWidth&&(M.stroke=f.borderColor,M["stroke-width"]=
f.borderWidth)));d.zIndex=x;aa+="-"+x;(n=k.plotLinesAndBandsGroups[aa])||(k.plotLinesAndBandsGroups[aa]=n=h.g("plot-"+aa).attr(d).add());O&&(a.svgElem=c=h.path().attr(M).add(n));if(l)l=k.getPlotLinePath({value:g,lineWidth:c.strokeWidth(),acrossPanes:f.acrossPanes});else if(N)l=k.getPlotBandPath(b,y,f);else return;!a.eventsAdded&&F&&(u(F,function(b,g){c.on(g,function(b){F[g].apply(a,[b])})}),a.eventsAdded=!0);(O||!c.d)&&l&&l.length?c.attr({d:l}):c&&(l?(c.show(),c.animate({d:l})):c.d&&(c.hide(),r&&
(a.label=r=r.destroy())));p&&(B(p.text)||B(p.formatter))&&l&&l.length&&0<k.width&&0<k.height&&!l.isFlat?(p=v({align:m&&N&&"center",x:m?!N&&4:10,verticalAlign:!m&&N&&"middle",y:m?N?16:10:N?6:-4,rotation:m&&!N&&90},p),this.renderLabel(p,l,N,x)):r&&r.hide();return a}renderLabel(a,e,m,n){const f=this.axis;var k=f.chart.renderer;let t=this.label;t||(this.label=t=k.text(this.getLabelText(a),0,0,a.useHTML).attr({align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(m?"band":"line")+
"-label "+(a.className||""),zIndex:n}).add(),f.chart.styledMode||t.css(v({fontSize:"0.8em",textOverflow:"ellipsis"},a.style)));n=e.xBounds||[e[0][1],e[1][1],m?e[2][1]:e[0][1]];e=e.yBounds||[e[0][2],e[1][2],m?e[2][2]:e[0][2]];m=J(n);k=J(e);t.align(a,!1,{x:m,y:k,width:x(n)-m,height:x(e)-k});t.alignValue&&"left"!==t.alignValue||(a=a.clip?f.width:f.chart.chartWidth,t.css({width:(90===t.rotation?f.height-(t.alignAttr.y-f.top):a-(t.alignAttr.x-f.left))+"px"}));t.show(!0)}getLabelText(a){return B(a.formatter)?
a.formatter.call(this):a.text}destroy(){D(this.axis.plotLinesAndBands,this);delete this.axis;E(this)}}"";"";return m});L(a,"Core/Tooltip.js",[a["Core/FormatUtilities.js"],a["Core/Globals.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){const {format:x}=a,{doc:D,isSafari:A}=z,{distribute:v}=G,{addEvent:u,clamp:e,css:m,discardElement:w,extend:k,fireEvent:t,isArray:n,isNumber:f,isString:q,merge:K,pick:F,splat:d,syncTimeout:h}=
B;class p{constructor(a,d){this.allowShared=!0;this.container=void 0;this.crosshairs=[];this.distance=0;this.isHidden=!0;this.isSticky=!1;this.now={};this.options={};this.outside=!1;this.chart=a;this.init(a,d)}bodyFormatter(a){return a.map(function(a){const b=a.series.tooltipOptions;return(b[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,b[(a.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(d){const b=d&&d.tt;b&&(!b.isActive||
a?d.tt=b.destroy():b.isActive=!1)})}defaultFormatter(a){const h=this.points||d(this);let b;b=[a.tooltipFooterHeaderFormatter(h[0])];b=b.concat(a.bodyFormatter(h));b.push(a.tooltipFooterHeaderFormatter(h[0],!0));return b}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(),w(this.container));B.clearTimeout(this.hideTimer);B.clearTimeout(this.tooltipTimeout)}getAnchor(a,h){var b=
this.chart;const g=b.pointer,c=b.inverted,l=b.plotTop;b=b.plotLeft;a=d(a);a[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse());if(this.followPointer&&h)"undefined"===typeof h.chartX&&(h=g.normalize(h)),a=[h.chartX-b,h.chartY-l];else if(a[0].tooltipPos)a=a[0].tooltipPos;else{let g=0,d=0;a.forEach(function(b){if(b=b.pos(!0))g+=b[0],d+=b[1]});g/=a.length;d/=a.length;this.shared&&1<a.length&&h&&(c?g=h.chartX:d=h.chartY);a=[g-b,d-l]}return a.map(Math.round)}getClassName(a,
d,b){const g=a.series,c=g.options;return[this.options.className,"highcharts-label",b&&"highcharts-tooltip-header",d?"highcharts-tooltip-box":"highcharts-tooltip",!b&&"highcharts-color-"+F(a.colorIndex,g.colorIndex),c&&c.className].filter(q).join(" ")}getLabel(){const a=this,d=this.chart.styledMode,b=this.options,g=this.split&&this.allowShared,c=b.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none");let l,h=this.chart.renderer;if(this.label){var e=!this.label.hasClass("highcharts-label");
(!g&&e||g&&!e)&&this.destroy()}if(!this.label){if(this.outside){e=this.chart.options.chart.style;const b=J.getRendererType();this.container=l=z.doc.createElement("div");l.className="highcharts-tooltip-container";m(l,{position:"absolute",top:"1px",pointerEvents:c,zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)});z.doc.body.appendChild(l);this.renderer=h=new b(l,0,0,e,void 0,void 0,h.styledMode)}g?this.label=h.g("tooltip"):(this.label=h.label("",0,0,b.shape,void 0,void 0,b.useHTML,
void 0,"tooltip").attr({padding:b.padding,r:b.borderRadius}),d||this.label.attr({fill:b.backgroundColor,"stroke-width":b.borderWidth||0}).css(b.style).css({pointerEvents:c}));if(a.outside){const b=this.label,{xSetter:c,ySetter:g}=b;b.xSetter=function(g){c.call(b,a.distance);l.style.left=g+"px"};b.ySetter=function(c){g.call(b,a.distance);l.style.top=c+"px"}}this.label.attr({zIndex:8}).shadow(b.shadow).add()}return this.label}getPlayingField(){const {body:a,documentElement:d}=D,{chart:b,distance:g,
outside:c}=this;return{width:c?Math.max(a.scrollWidth,d.scrollWidth,a.offsetWidth,d.offsetWidth,d.clientWidth)-2*g:b.chartWidth,height:c?Math.max(a.scrollHeight,d.scrollHeight,a.offsetHeight,d.offsetHeight,d.clientHeight):b.chartHeight}}getPosition(a,d,b){const g=this.chart,c=this.distance,l={},h=g.inverted&&b.h||0,e=this.outside;var f=this.getPlayingField();const r=f.width,p=f.height,k=g.pointer.getChartPosition();f=l=>{const h="x"===l;return[l,h?r:p,h?a:d].concat(e?[h?a*k.scaleX:d*k.scaleY,h?k.left-
c+(b.plotX+g.plotLeft)*k.scaleX:k.top-c+(b.plotY+g.plotTop)*k.scaleY,0,h?r:p]:[h?a:d,h?b.plotX+g.plotLeft:b.plotY+g.plotTop,h?g.plotLeft:g.plotTop,h?g.plotLeft+g.plotWidth:g.plotTop+g.plotHeight])};let m=f("y"),q=f("x"),n;f=!!b.negative;!g.polar&&g.hoverSeries&&g.hoverSeries.yAxis&&g.hoverSeries.yAxis.reversed&&(f=!f);const y=!this.followPointer&&F(b.ttBelow,!g.inverted===f),t=function(b,a,g,d,f,r,p){const m=e?"y"===b?c*k.scaleY:c*k.scaleX:c,C=(g-d)/2,q=d<f-c,n=f+c+d<a,t=f-m-g+C;f=f+m-C;if(y&&n)l[b]=
f;else if(!y&&q)l[b]=t;else if(q)l[b]=Math.min(p-d,0>t-h?t:t-h);else if(n)l[b]=Math.max(r,f+h+g>a?f:f+h);else return!1},C=function(b,a,g,d,h){let e;h<c||h>a-c?e=!1:l[b]=h<g/2?1:h>a-d/2?a-d-2:h-g/2;return e},w=function(b){const c=m;m=q;q=c;n=b},I=function(){!1!==t.apply(0,m)?!1!==C.apply(0,q)||n||(w(!0),I()):n?l.x=l.y=0:(w(!0),I())};(g.inverted||1<this.len)&&w();I();return l}hide(a){const d=this;B.clearTimeout(this.hideTimer);a=F(a,this.options.hideDelay);this.isHidden||(this.hideTimer=h(function(){d.getLabel().fadeOut(a?
void 0:a);d.isHidden=!0},a))}init(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted&&!a.polar;this.shared=d.shared||this.split;this.outside=F(d.outside,!(!a.scrollablePixelsX&&!a.scrollablePixelsY))}shouldStickOnContact(a){return!(this.followPointer||!this.options.stickOnContact||a&&!this.chart.pointer.inClass(a.target,"highcharts-tooltip"))}move(a,d,b,g){const c=this,l=c.now,h=!1!==c.options.animation&&!c.isHidden&&(1<Math.abs(a-
l.x)||1<Math.abs(d-l.y)),e=c.followPointer||1<c.len;k(l,{x:h?(2*l.x+a)/3:a,y:h?(l.y+d)/2:d,anchorX:e?void 0:h?(2*l.anchorX+b)/3:b,anchorY:e?void 0:h?(l.anchorY+g)/2:g});c.getLabel().attr(l);c.drawTracker();h&&(B.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){c&&c.move(a,d,b,g)},32))}refresh(a,h){const b=this.chart,g=this.options,c=b.pointer,l=d(a),e=l[0],f=[];var p=g.formatter||this.defaultFormatter,r=this.shared;const k=b.styledMode;let m={};if(g.enabled&&e.series){B.clearTimeout(this.hideTimer);
this.allowShared=!(!n(a)&&a.series&&a.series.noSharedTooltip);this.followPointer=!this.split&&e.series.tooltipOptions.followPointer;a=this.getAnchor(a,h);var q=a[0],y=a[1];r&&this.allowShared?(c.applyInactiveState(l),l.forEach(function(b){b.setState("hover");f.push(b.getLabelConfig())}),m={x:e.category,y:e.y},m.points=f):m=e.getLabelConfig();this.len=f.length;p=p.call(m,this);r=e.series;this.distance=F(r.tooltipOptions.distance,16);if(!1===p)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(p,
l);else{let d=q,f=y;h&&c.isDirectTouch&&(d=h.chartX-b.plotLeft,f=h.chartY-b.plotTop);if(b.polar||!1===r.options.clip||l.some(b=>c.isDirectTouch||b.series.shouldShowTooltip(d,f)))h=this.getLabel(),g.style.width&&!k||h.css({width:(this.outside?this.getPlayingField():b.spacingBox).width+"px"}),h.attr({text:p&&p.join?p.join(""):p}),h.addClass(this.getClassName(e),!0),k||h.attr({stroke:g.borderColor||e.color||r.color||"#666666"}),this.updatePosition({plotX:q,plotY:y,negative:e.negative,ttBelow:e.ttBelow,
h:a[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show();this.isHidden=!1}t(this,"refresh")}}renderSplit(a,d){function b(b,c,a,d,l=!0){a?(c=X?0:B,b=e(b-d/2,I.left,I.right-d-(g.outside?Y:0))):(c-=ca,b=l?b-d-x:b+x,b=e(b,l?b:I.left,I.right));return{x:b,y:c}}const g=this,{chart:c,chart:{chartWidth:l,chartHeight:h,plotHeight:f,plotLeft:p,plotTop:r,pointer:m,scrollablePixelsY:n=0,scrollablePixelsX:t,scrollingContainer:{scrollLeft:y,scrollTop:w}={scrollLeft:0,scrollTop:0},
styledMode:u},distance:x,options:C,options:{positioner:Q}}=g,I=g.outside&&"number"!==typeof t?D.documentElement.getBoundingClientRect():{left:y,right:y+l,top:w,bottom:w+h},W=g.getLabel(),R=this.renderer||c.renderer,X=!(!c.xAxis[0]||!c.xAxis[0].opposite),{left:Y,top:K}=m.getChartPosition();let ca=r+w,z=0,B=f-n;q(a)&&(a=[!1,a]);a=a.slice(0,d.length+1).reduce(function(c,a,l){if(!1!==a&&""!==a){l=d[l-1]||{isHeader:!0,plotX:d[0].plotX,plotY:f,series:{}};const t=l.isHeader;var h=t?g:l.series,k;{var m=l;
a=a.toString();var q=h.tt;const {isHeader:b,series:c}=m;q||(q={padding:C.padding,r:C.borderRadius},u||(q.fill=C.backgroundColor,q["stroke-width"]=null!==(k=C.borderWidth)&&void 0!==k?k:1),q=R.label("",0,0,C[b?"headerShape":"shape"],void 0,void 0,C.useHTML).addClass(g.getClassName(m,!0,b)).attr(q).add(W));q.isActive=!0;q.attr({text:a});u||q.css(C.style).attr({stroke:C.borderColor||m.color||c.color||"#333333"});k=q}k=h.tt=k;m=k.getBBox();h=m.width+k.strokeWidth();t&&(z=m.height,B+=z,X&&(ca-=z));{const {isHeader:b,
plotX:c=0,plotY:g=0,series:d}=l;if(b){a=p+c;var n=r+f/2}else{const {xAxis:b,yAxis:l}=d;a=b.pos+e(c,-x,b.len+x);d.shouldShowTooltip(0,l.pos-r+g,{ignoreX:!0})&&(n=l.pos+g)}a=e(a,I.left-x,I.right+x);n={anchorX:a,anchorY:n}}const {anchorX:y,anchorY:S}=n;"number"===typeof S?(n=m.height+1,m=Q?Q.call(g,h,n,l):b(y,S,t,h),c.push({align:Q?0:void 0,anchorX:y,anchorY:S,boxWidth:h,point:l,rank:F(m.rank,t?1:0),size:n,target:m.y,tt:k,x:m.x})):k.isActive=!1}return c},[]);!Q&&a.some(b=>{var {outside:c}=g;c=(c?Y:0)+
b.anchorX;return c<I.left&&c+b.boxWidth<I.right?!0:c<Y-I.left+b.boxWidth&&I.right-c>c})&&(a=a.map(c=>{const {x:a,y:g}=b(c.anchorX,c.anchorY,c.point.isHeader,c.boxWidth,!1);return k(c,{target:g,x:a})}));g.cleanSplit();v(a,B);var E=Y,S=Y;a.forEach(function(b){const {x:c,boxWidth:a,isHeader:d}=b;d||(g.outside&&Y+c<E&&(E=Y+c),!d&&g.outside&&E+a>S&&(S=Y+c))});a.forEach(function(b){const {x:c,anchorX:a,anchorY:d,pos:l,point:{isHeader:h}}=b,e={visibility:"undefined"===typeof l?"hidden":"inherit",x:c,y:(l||
0)+ca,anchorX:a,anchorY:d};if(g.outside&&c<a){const b=Y-E;0<b&&(h||(e.x=c+b,e.anchorX=a+b),h&&(e.x=(S-E)/2,e.anchorX=a+b))}b.tt.attr(e)});const {container:ba,outside:ea,renderer:ja}=g;if(ea&&ba&&ja){const {width:b,height:c,x:a,y:g}=W.getBBox();ja.setSize(b+a,c+g,!1);ba.style.left=E+"px";ba.style.top=K+"px"}A&&W.attr({opacity:1===W.opacity?.999:1})}drawTracker(){if(this.shouldStickOnContact()){var a=this.chart,d=this.label,b=this.shared?a.hoverPoints:a.hoverPoint;if(d&&b){var g={x:0,y:0,width:0,height:0};
b=this.getAnchor(b);var c=d.getBBox();b[0]+=a.plotLeft-d.translateX;b[1]+=a.plotTop-d.translateY;g.x=Math.min(0,b[0]);g.y=Math.min(0,b[1]);g.width=0>b[0]?Math.max(Math.abs(b[0]),c.width-b[0]):Math.max(Math.abs(b[0]),c.width);g.height=0>b[1]?Math.max(Math.abs(b[1]),c.height-Math.abs(b[1])):Math.max(Math.abs(b[1]),c.height);this.tracker?this.tracker.attr(g):(this.tracker=d.renderer.rect(g).addClass("highcharts-tracker").add(d),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&
(this.tracker=this.tracker.destroy())}styledModeFormat(a){return a.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(a,d){const b=a.series,g=b.tooltipOptions;var c=b.xAxis;const l=c&&c.dateTime;c={isFooter:d,labelConfig:a};let h=g.xDateFormat,e=g[d?"footerFormat":"headerFormat"];t(this,"headerFormatter",c,function(c){l&&
!h&&f(a.key)&&(h=l.getXDateFormat(a.key,g.dateTimeLabelFormats));l&&h&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(b){e=e.replace("{point."+b+"}","{point."+b+":"+h+"}")});b.chart.styledMode&&(e=this.styledModeFormat(e));c.text=x(e,{point:a,series:b},this.chart)});return c.text}update(a){this.destroy();this.init(this.chart,K(!0,this.options,a))}updatePosition(a){const {chart:d,distance:b,options:g}=this;var c=d.pointer;const l=this.getLabel(),{left:h,top:e,scaleX:f,scaleY:p}=c.getChartPosition();
c=(g.positioner||this.getPosition).call(this,l.width,l.height,a);let r=(a.plotX||0)+d.plotLeft;a=(a.plotY||0)+d.plotTop;let k;if(this.outside){g.positioner&&(c.x+=h-b,c.y+=e-b);k=(g.borderWidth||0)+2*b;this.renderer.setSize(l.width+k,l.height+k,!1);if(1!==f||1!==p)m(this.container,{transform:`scale(${f}, ${p})`}),r*=f,a*=p;r+=h-c.x;a+=e-c.y}this.move(Math.round(c.x),Math.round(c.y||0),r,a)}}(function(a){const d=[];a.compose=function(b){B.pushUnique(d,b)&&u(b,"afterInit",function(){const b=this.chart;
b.options.tooltip&&(b.tooltip=new a(b,b.options.tooltip))})}})(p||(p={}));"";return p});L(a,"Core/Series/Point.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Defaults.js"],a["Core/FormatUtilities.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){const {animObject:x}=z,{defaultOptions:D}=G,{format:A}=J,{addEvent:v,defined:u,erase:e,extend:m,fireEvent:w,getNestedProperty:k,isArray:t,isFunction:n,isNumber:f,isObject:q,merge:K,objectEach:F,pick:d,syncTimeout:h,removeEvent:p,
uniqueKey:r}=B;class y{constructor(){this.category=void 0;this.destroyed=!1;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}animateBeforeDestroy(){const b=this,a={x:b.startXPos,opacity:0},c=b.getGraphicalProps();c.singular.forEach(function(c){b[c]=b[c].animate("dataLabel"===c?{x:b[c].startXPos,y:b[c].startYPos,opacity:0}:a)});c.plural.forEach(function(c){b[c].forEach(function(c){c.element&&
c.animate(m({x:b.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})}applyOptions(b,a){const c=this.series,g=c.options.pointValKey||c.pointValKey;b=y.prototype.optionsToObject.call(this,b);m(this,b);this.options=this.options?m(this.options,b):b;b.group&&delete this.group;b.dataLabels&&delete this.dataLabels;g&&(this.y=y.prototype.getNestedProperty.call(this,g));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&&
"undefined"===typeof a&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));"undefined"===typeof this.x&&c?this.x="undefined"===typeof a?c.autoIncrement():a:f(b.x)&&c.options.relativeXValue&&(this.x=c.autoIncrement(b.x));return this}destroy(){if(!this.destroyed){const a=this;var b=a.series;const c=b.chart;b=b.options.dataSorting;const d=c.hoverPoints,f=x(a.series.chart.renderer.globalAnimation),r=()=>{if(a.graphic||a.graphics||a.dataLabel||a.dataLabels)p(a),a.destroyElements();for(const b in a)delete a[b]};
a.legendItem&&c.legend.destroyItem(a);d&&(a.setState(),e(d,a),d.length||(c.hoverPoints=null));if(a===c.hoverPoint)a.onMouseOut();b&&b.enabled?(this.animateBeforeDestroy(),h(r,f.duration)):r();c.pointCount--}this.destroyed=!0}destroyElements(b){const a=this;b=a.getGraphicalProps(b);b.singular.forEach(function(b){a[b]=a[b].destroy()});b.plural.forEach(function(b){a[b].forEach(function(b){b&&b.element&&b.destroy()});delete a[b]})}firePointEvent(b,a,c){const g=this,d=this.series.options;(d.point.events[b]||
g.options&&g.options.events&&g.options.events[b])&&g.importEvents();"click"===b&&d.allowPointSelect&&(c=function(b){g.select&&g.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});w(g,b,a,c)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&
this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(b){const a=this,c=[],d={singular:[],plural:[]};let h,e;b=b||{graphic:1,dataLabel:1};b.graphic&&c.push("graphic");b.dataLabel&&c.push("dataLabel","dataLabelPath","dataLabelUpper","connector");for(e=c.length;e--;)h=c[e],a[h]&&d.singular.push(h);["graphic","dataLabel","connector"].forEach(function(c){const g=c+"s";b[c]&&a[g]&&d.plural.push(g)});return d}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(b){if(b)return 0===b.indexOf("custom.")?k(b,this.options):this[b]}getZone(){var b=this.series;const a=b.zones;b=b.zoneAxis||"y";let c,d=0;for(c=a[d];this[b]>=c.value;)c=a[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;return c}hasNewShapeType(){return(this.graphic&&
(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}init(b,a,c){this.series=b;this.applyOptions(a,c);this.id=u(this.id)?this.id:r();this.resolveColor();b.chart.pointCount++;w(this,"afterInit");return this}isValid(){return null!==this.x&&f(this.y)}optionsToObject(b){var a=this.series;const c=a.options.keys,d=c||a.pointArrayMap||["y"],h=d.length;let e={},p=0,r=0;if(f(b)||null===b)e[d[0]]=b;else if(t(b))for(!c&&b.length>h&&(a=typeof b[0],"string"===a?e.name=b[0]:"number"===a&&
(e.x=b[0]),p++);r<h;)c&&"undefined"===typeof b[p]||(0<d[r].indexOf(".")?y.prototype.setNestedProperty(e,b[p],d[r]):e[d[r]]=b[p]),p++,r++;else"object"===typeof b&&(e=b,b.dataLabels&&(a._hasPointLabels=!0),b.marker&&(a._hasPointMarkers=!0));return e}pos(b,a=this.plotY){if(!this.destroyed){const {plotX:c,series:g}=this,{chart:d,xAxis:h,yAxis:e}=g;let p=0,r=0;if(f(c)&&f(a))return b&&(p=h?h.pos:d.plotLeft,r=e?e.pos:d.plotTop),d.inverted&&h&&e?[e.len-a+r,h.len-c+p]:[c+p,a+r]}}resolveColor(){const b=this.series;
var a=b.chart.styledMode;let c;var l=b.chart.options.chart.colorCount;delete this.nonZonedColor;b.options.colorByPoint?(a||(l=b.options.colors||b.chart.options.colors,c=l[b.colorCounter],l=l.length),a=b.colorCounter,b.colorCounter++,b.colorCounter===l&&(b.colorCounter=0)):(a||(c=b.color),a=b.colorIndex);this.colorIndex=d(this.options.colorIndex,a);this.color=d(this.options.color,c)}setNestedProperty(b,a,c){c.split(".").reduce(function(b,c,g,d){b[c]=d.length-1===g?a:q(b[c],!0)?b[c]:{};return b[c]},
b);return b}shouldDraw(){return!this.isNull}tooltipFormatter(b){const a=this.series,c=a.tooltipOptions,l=d(c.valueDecimals,""),h=c.valuePrefix||"",e=c.valueSuffix||"";a.chart.styledMode&&(b=a.chart.tooltip.styledModeFormat(b));(a.pointArrayMap||["y"]).forEach(function(a){a="{point."+a;if(h||e)b=b.replace(RegExp(a+"}","g"),h+a+"}"+e);b=b.replace(RegExp(a+"}","g"),a+":,."+l+"f}")});return A(b,{point:this,series:this.series},a.chart)}update(b,a,c,l){function g(){h.applyOptions(b);var g=f&&h.hasMockGraphic;
g=null===h.y?!g:g;f&&g&&(h.graphic=f.destroy(),delete h.hasMockGraphic);q(b,!0)&&(f&&f.element&&b&&b.marker&&"undefined"!==typeof b.marker.symbol&&(h.graphic=f.destroy()),b&&b.dataLabels&&h.dataLabel&&(h.dataLabel=h.dataLabel.destroy()),h.connector&&(h.connector=h.connector.destroy()));k=h.index;e.updateParallelArrays(h,k);r.data[k]=q(r.data[k],!0)||q(b,!0)?h.options:d(b,r.data[k]);e.isDirty=e.isDirtyData=!0;!e.fixedBox&&e.hasCartesianSeries&&(p.isDirtyBox=!0);"point"===r.legendType&&(p.isDirtyLegend=
!0);a&&p.redraw(c)}const h=this,e=h.series,f=h.graphic,p=e.chart,r=e.options;let k;a=d(a,!0);!1===l?g():h.firePointEvent("update",{options:b},g)}remove(b,a){this.series.removePoint(this.series.data.indexOf(this),b,a)}select(b,a){const c=this,g=c.series,h=g.chart;this.selectedStaging=b=d(b,!c.selected);c.firePointEvent(b?"select":"unselect",{accumulate:a},function(){c.selected=c.options.selected=b;g.options.data[g.data.indexOf(c)]=c.options;c.setState(b&&"select");a||h.getSelectedPoints().forEach(function(b){const a=
b.series;b.selected&&b!==c&&(b.selected=b.options.selected=!1,a.options.data[a.data.indexOf(b)]=b.options,b.setState(h.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),b.firePointEvent("unselect"))})});delete this.selectedStaging}onMouseOver(b){const a=this.series.chart,c=a.pointer;b=b?c.normalize(b):c.getChartCoordinatesFromPoint(this,a.inverted);c.runPointActions(b,this)}onMouseOut(){const b=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(b.hoverPoints||
[]).forEach(function(b){b.setState()});b.hoverPoints=b.hoverPoint=null}importEvents(){if(!this.hasImportedEvents){const b=this,a=K(b.series.options.point,b.options).events;b.events=a;F(a,function(a,g){n(a)&&v(b,g,a)});this.hasImportedEvents=!0}}setState(b,g){const c=this.series;var h=this.state,e=c.options.states[b||"normal"]||{},p=D.plotOptions[c.type].marker&&c.options.marker;const r=p&&!1===p.enabled,k=p&&p.states&&p.states[b||"normal"]||{},q=!1===k.enabled,n=this.marker||{},t=c.chart,y=p&&c.markerAttribs;
let u=c.halo;var v;let x;var C=c.stateMarkerGraphic;b=b||"";if(!(b===this.state&&!g||this.selected&&"select"!==b||!1===e.enabled||b&&(q||r&&!1===k.enabled)||b&&n.states&&n.states[b]&&!1===n.states[b].enabled)){this.state=b;y&&(v=c.markerAttribs(this,b));if(this.graphic&&!this.hasMockGraphic){h&&this.graphic.removeClass("highcharts-point-"+h);b&&this.graphic.addClass("highcharts-point-"+b);if(!t.styledMode){h=c.pointAttribs(this,b);x=d(t.options.chart.animation,e.animation);const a=h.opacity;c.options.inactiveOtherPoints&&
f(a)&&((this.dataLabels||[]).forEach(function(b){b&&!b.hasClass("highcharts-data-label-hidden")&&b.animate({opacity:a},x)}),this.connector&&this.connector.animate({opacity:a},x));this.graphic.animate(h,x)}v&&this.graphic.animate(v,d(t.options.chart.animation,k.animation,p.animation));C&&C.hide()}else{if(b&&k){p=n.symbol||c.symbol;C&&C.currentSymbol!==p&&(C=C.destroy());if(v)if(C)C[g?"animate":"attr"]({x:v.x,y:v.y});else p&&(c.stateMarkerGraphic=C=t.renderer.symbol(p,v.x,v.y,v.width,v.height).add(c.markerGroup),
C.currentSymbol=p);!t.styledMode&&C&&"inactive"!==this.state&&C.attr(c.pointAttribs(this,b))}C&&(C[b&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0))}e=e.halo;v=(C=this.graphic||C)&&C.visibility||"inherit";e&&e.size&&C&&"hidden"!==v&&!this.isCluster?(u||(c.halo=u=t.renderer.path().add(C.parentGroup)),u.show()[g?"animate":"attr"]({d:this.haloPath(e.size)}),u.attr({"class":"highcharts-halo highcharts-color-"+d(this.colorIndex,c.colorIndex)+(this.className?" "+
this.className:""),visibility:v,zIndex:-1}),u.point=this,t.styledMode||u.attr(m({fill:this.color||c.color,"fill-opacity":e.opacity},a.filterUserAttributes(e.attributes||{})))):u&&u.point&&u.point.haloPath&&u.animate({d:u.point.haloPath(0)},null,u.hide);w(this,"afterSetState",{state:b})}}haloPath(b){const a=this.pos();return a?this.series.chart.renderer.symbols.circle(Math.floor(a[0])-b,a[1]-b,2*b,2*b):[]}}"";return y});L(a,"Core/Pointer.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],
function(a,z,G){const {parse:x}=a,{charts:B,noop:E}=z,{addEvent:D,attr:A,css:v,defined:u,extend:e,find:m,fireEvent:w,isNumber:k,isObject:t,objectEach:n,offset:f,pick:q,splat:K}=G;class F{constructor(a,h){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.eventsToUnbind=[];this.chart=a;this.hasDragged=!1;this.options=h;this.init(a,h)}applyInactiveState(a){let d=[],e;(a||[]).forEach(function(a){e=a.series;d.push(e);e.linkedParent&&d.push(e.linkedParent);e.linkedSeries&&(d=d.concat(e.linkedSeries));
e.navigatorSeries&&d.push(e.navigatorSeries)});this.chart.series.forEach(function(a){-1===d.indexOf(a)?a.setState("inactive",!0):a.options.inactiveOtherPoints&&a.setAllPointsToState("inactive")})}destroy(){const a=this;this.eventsToUnbind.forEach(a=>a());this.eventsToUnbind=[];z.chartCount||(F.unbindDocumentMouseUp&&(F.unbindDocumentMouseUp=F.unbindDocumentMouseUp()),F.unbindDocumentTouchEnd&&(F.unbindDocumentTouchEnd=F.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);n(a,function(d,e){a[e]=
void 0})}getSelectionMarkerAttrs(a,h){const d={args:{chartX:a,chartY:h},attrs:{},shapeType:"rect"};w(this,"getSelectionMarkerAttrs",d,d=>{const {chart:e,mouseDownX:b=0,mouseDownY:g=0,zoomHor:c,zoomVert:l}=this;d=d.attrs;let f;d.x=e.plotLeft;d.y=e.plotTop;d.width=c?1:e.plotWidth;d.height=l?1:e.plotHeight;c&&(f=a-b,d.width=Math.abs(f),d.x=(0<f?0:f)+b);l&&(f=h-g,d.height=Math.abs(f),d.y=(0<f?0:f)+g)});return d}drag(a){const d=this.chart,e=d.options.chart;var f=d.plotLeft;const k=d.plotTop,b=d.plotWidth,
g=d.plotHeight,c=this.mouseDownX||0,l=this.mouseDownY||0,m=t(e.panning)?e.panning&&e.panning.enabled:e.panning,q=e.panKey&&a[e.panKey+"Key"];let n=a.chartX,w=a.chartY,u=this.selectionMarker;if(!u||!u.touch)if(n<f?n=f:n>f+b&&(n=f+b),w<k?w=k:w>k+g&&(w=k+g),this.hasDragged=Math.sqrt(Math.pow(c-n,2)+Math.pow(l-w,2)),10<this.hasDragged){f=d.isInsidePlot(c-f,l-k,{visiblePlotOnly:!0});const {shapeType:b,attrs:g}=this.getSelectionMarkerAttrs(n,w);!d.hasCartesianSeries&&!d.mapView||!this.zoomX&&!this.zoomY||
!f||q||u||(this.selectionMarker=u=d.renderer[b](),u.attr({"class":"highcharts-selection-marker",zIndex:7}).add(),d.styledMode||u.attr({fill:e.selectionMarkerFill||x("#334eff").setOpacity(.25).get()}));u&&u.attr(g);f&&!u&&m&&d.pan(a,e.panning)}}dragStart(a){const d=this.chart;d.mouseIsDown=a.type;d.cancelClick=!1;d.mouseDownX=this.mouseDownX=a.chartX;d.mouseDownY=this.mouseDownY=a.chartY}getSelectionBox(a){const d={args:{marker:a},result:{}};w(this,"getSelectionBox",d,d=>{d.result={x:a.attr?+a.attr("x"):
a.x,y:a.attr?+a.attr("y"):a.y,width:a.attr?a.attr("width"):a.width,height:a.attr?a.attr("height"):a.height}});return d.result}drop(a){const d=this,f=this.chart,r=this.hasPinched;if(this.selectionMarker){const {x:h,y:b,width:g,height:c}=this.getSelectionBox(this.selectionMarker),l={originalEvent:a,xAxis:[],yAxis:[],x:h,y:b,width:g,height:c};let p=!!f.mapView;if(this.hasDragged||r)f.axes.forEach(function(e){if(e.zoomEnabled&&u(e.min)&&(r||d[{xAxis:"zoomX",yAxis:"zoomY"}[e.coll]])&&k(h)&&k(b)&&k(g)&&
k(c)){var f=e.horiz;const d="touchend"===a.type?e.minPixelPadding:0,r=e.toValue((f?h:b)+d);f=e.toValue((f?h+g:b+c)-d);l[e.coll].push({axis:e,min:Math.min(r,f),max:Math.max(r,f)});p=!0}}),p&&w(f,"selection",l,function(b){f.zoom(e(b,r?{animation:!1}:null))});k(f.index)&&(this.selectionMarker=this.selectionMarker.destroy());r&&this.scaleGroups()}f&&k(f.index)&&(v(f.container,{cursor:f._cursor}),f.cancelClick=10<this.hasDragged,f.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])}findNearestKDPoint(a,
e,f){let d;a.forEach(function(a){var b=!(a.noSharedTooltip&&e)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(f,b);if((b=t(a,!0)&&a.series)&&!(b=!t(d,!0))){{b=d.distX-a.distX;const g=d.dist-a.dist,c=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);b=0!==b&&e?b:0!==g?g:0!==c?c:d.series.index>a.series.index?-1:1}b=0<b}b&&(d=a)});return d}getChartCoordinatesFromPoint(a,e){var d=a.series;const h=d.xAxis;d=d.yAxis;const f=a.shapeArgs;if(h&&d){let b=q(a.clientX,
a.plotX),g=a.plotY||0;a.isNode&&f&&k(f.x)&&k(f.y)&&(b=f.x,g=f.y);return e?{chartX:d.len+d.pos-g,chartY:h.len+h.pos-b}:{chartX:b+h.pos,chartY:g+d.pos}}if(f&&f.x&&f.y)return{chartX:f.x,chartY:f.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;var {container:a}=this.chart;const e=f(a);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};const p=a.offsetWidth;a=a.offsetHeight;2<p&&2<a&&(this.chartPosition.scaleX=e.width/p,this.chartPosition.scaleY=e.height/a);return this.chartPosition}getCoordinates(a){const d=
{xAxis:[],yAxis:[]};this.chart.axes.forEach(function(e){d[e.isXAxis?"xAxis":"yAxis"].push({axis:e,value:e.toValue(a[e.horiz?"chartX":"chartY"])})});return d}getHoverData(a,e,f,r,k,b){const g=[];r=!(!r||!a);const c=function(b){return b.visible&&!(!k&&b.directTouch)&&q(b.options.enableMouseTracking,!0)};let d,h={chartX:b?b.chartX:void 0,chartY:b?b.chartY:void 0,shared:k};w(this,"beforeGetHoverData",h);d=e&&!e.stickyTracking?[e]:f.filter(b=>b.stickyTracking&&(h.filter||c)(b));const p=r||!b?a:this.findNearestKDPoint(d,
k,b);e=p&&p.series;p&&(k&&!e.noSharedTooltip?(d=f.filter(function(b){return h.filter?h.filter(b):c(b)&&!b.noSharedTooltip}),d.forEach(function(b){let a=m(b.points,function(b){return b.x===p.x&&!b.isNull});t(a)&&(b.boosted&&b.boost&&(a=b.boost.getPoint(a)),g.push(a))})):g.push(p));h={hoverPoint:p};w(this,"afterGetHoverData",h);return{hoverPoint:h.hoverPoint,hoverSeries:e,hoverPoints:g}}getPointFromEvent(a){a=a.target;let d;for(;a&&!d;)d=a.point,a=a.parentNode;return d}onTrackerMouseOut(a){a=a.relatedTarget;
const d=this.chart.hoverSeries;this.isDirectTouch=!1;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,"highcharts-tracker")))d.onMouseOut()}inClass(a,e){let d;for(;a;){if(d=A(a,"class")){if(-1!==d.indexOf(e))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentElement}}init(a,e){this.options=e;this.chart=a;this.runChartClick=!(!e.chart.events||!e.chart.events.click);this.pinchDown=[];this.lastValidTouch=
{};this.setDOMEvents();w(this,"afterInit")}normalize(a,h){var d=a.touches,f=d?d.length?d.item(0):q(d.changedTouches,a.changedTouches)[0]:a;h||(h=this.getChartPosition());d=f.pageX-h.left;f=f.pageY-h.top;d/=h.scaleX;f/=h.scaleY;return e(a,{chartX:Math.round(d),chartY:Math.round(f)})}onContainerClick(a){const d=this.chart,f=d.hoverPoint;a=this.normalize(a);const k=d.plotLeft,m=d.plotTop;d.cancelClick||(f&&this.inClass(a.target,"highcharts-tracker")?(w(f.series,"click",e(a,{point:f})),d.hoverPoint&&
f.firePointEvent("click",a)):(e(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-k,a.chartY-m,{visiblePlotOnly:!0})&&w(d,"click",a)))}onContainerMouseDown(a){const d=1===((a.buttons||a.button)&1);a=this.normalize(a);if(z.isFirefox&&0!==a.button)this.onContainerMouseMove(a);if("undefined"===typeof a.button||d)this.zoomOption(a),d&&a.preventDefault&&a.preventDefault(),this.dragStart(a)}onContainerMouseLeave(a){const d=B[q(F.hoverChartIndex,-1)];a=this.normalize(a);d&&a.relatedTarget&&!this.inClass(a.relatedTarget,
"highcharts-tooltip")&&(d.pointer.reset(),d.pointer.chartPosition=void 0)}onContainerMouseEnter(a){delete this.chartPosition}onContainerMouseMove(a){const d=this.chart,e=d.tooltip;a=this.normalize(a);this.setHoverChartIndex();("mousedown"===d.mouseIsDown||this.touchSelect(a))&&this.drag(a);d.openMenu||!this.inClass(a.target,"highcharts-tracker")&&!d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||e&&e.shouldStickOnContact(a)||(this.inClass(a.target,"highcharts-no-tooltip")?
this.reset(!1,0):this.runPointActions(a))}onDocumentTouchEnd(a){const d=B[q(F.hoverChartIndex,-1)];d&&d.pointer.drop(a)}onContainerTouchMove(a){if(this.touchSelect(a))this.onContainerMouseMove(a);else this.touch(a)}onContainerTouchStart(a){if(this.touchSelect(a))this.onContainerMouseDown(a);else this.zoomOption(a),this.touch(a,!0)}onDocumentMouseMove(a){const d=this.chart,e=d.tooltip,f=this.chartPosition;a=this.normalize(a,f);!f||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||
e&&e.shouldStickOnContact(a)||this.inClass(a.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(a){const d=B[q(F.hoverChartIndex,-1)];d&&d.pointer.drop(a)}pinch(a){const d=this,f=d.chart,k=d.pinchDown,m=a.touches||[],b=m.length,g=d.lastValidTouch,c=d.hasZoom,l={},n=1===b&&(d.inClass(a.target,"highcharts-tracker")&&f.runTrackerClick||d.runChartClick),t={};var u=d.chart.tooltip;u=1===b&&q(u&&u.options.followTouchMove,!0);let v=d.selectionMarker;1<b?d.initiated=!0:u&&(d.initiated=!1);c&&d.initiated&&
!n&&!1!==a.cancelable&&a.preventDefault();[].map.call(m,function(b){return d.normalize(b)});"touchstart"===a.type?([].forEach.call(m,function(b,a){k[a]={chartX:b.chartX,chartY:b.chartY}}),g.x=[k[0].chartX,k[1]&&k[1].chartX],g.y=[k[0].chartY,k[1]&&k[1].chartY],f.axes.forEach(function(b){if(b.zoomEnabled){const a=f.bounds[b.horiz?"h":"v"],c=b.minPixelPadding,g=b.toPixels(Math.min(q(b.options.min,b.dataMin),b.dataMin)),d=b.toPixels(Math.max(q(b.options.max,b.dataMax),b.dataMax)),e=Math.max(g,d);a.min=
Math.min(b.pos,Math.min(g,d)-c);a.max=Math.max(b.pos+b.len,e+c)}}),d.res=!0):u?this.runPointActions(d.normalize(a)):k.length&&(w(f,"touchpan",{originalEvent:a},()=>{v||(d.selectionMarker=v=e({destroy:E,touch:!0},f.plotBox));d.pinchTranslate(k,m,l,v,t,g);d.hasPinched=c;d.scaleGroups(l,t)}),d.res&&(d.res=!1,this.reset(!1,0)))}pinchTranslate(a,e,f,k,m,b){this.zoomHor&&this.pinchTranslateDirection(!0,a,e,f,k,m,b);this.zoomVert&&this.pinchTranslateDirection(!1,a,e,f,k,m,b)}pinchTranslateDirection(a,e,
f,k,m,b,g,c){const d=this.chart,h=a?"x":"y",p=a?"X":"Y",r="chart"+p,n=a?"width":"height",q=d["plot"+(a?"Left":"Top")],t=d.inverted,w=d.bounds[a?"h":"v"],u=1===e.length,y=e[0][r],v=!u&&e[1][r];e=function(){"number"===typeof W&&20<Math.abs(y-v)&&(Q=c||Math.abs(I-W)/Math.abs(y-v));C=(q-I)/Q+y;x=d["plot"+(a?"Width":"Height")]/Q};let x,C,Q=c||1,I=f[0][r],W=!u&&f[1][r],R;e();f=C;f<w.min?(f=w.min,R=!0):f+x>w.max&&(f=w.max-x,R=!0);R?(I-=.8*(I-g[h][0]),"number"===typeof W&&(W-=.8*(W-g[h][1])),e()):g[h]=[I,
W];t||(b[h]=C-q,b[n]=x);b=t?1/Q:Q;m[n]=x;m[h]=f;k[t?a?"scaleY":"scaleX":"scale"+p]=Q;k["translate"+p]=b*q+(I-b*y)}reset(a,e){const d=this.chart,h=d.hoverSeries,f=d.hoverPoint,b=d.hoverPoints,g=d.tooltip,c=g&&g.shared?b:f;a&&c&&K(c).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)g&&c&&K(c).length&&(g.refresh(c),g.shared&&b?b.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&
b.series.yAxis.drawCrosshair(null,b))}):f&&(f.setState(f.state,!0),d.axes.forEach(function(b){b.crosshair&&f.series[b.coll]===b&&b.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();b&&b.forEach(function(b){b.setState()});if(h)h.onMouseOut();g&&g.hide(e);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());d.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}}runPointActions(a,e,f){const d=this.chart,h=d.tooltip&&d.tooltip.options.enabled?d.tooltip:
void 0,b=h?h.shared:!1;let g=e||d.hoverPoint,c=g&&g.series||d.hoverSeries;e=this.getHoverData(g,c,d.series,(!a||"touchmove"!==a.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),b,a);g=e.hoverPoint;c=e.hoverSeries;const l=e.hoverPoints;e=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split;const k=b&&c&&!c.noSharedTooltip;if(g&&(f||g!==d.hoverPoint||h&&h.isHidden)){(d.hoverPoints||[]).forEach(function(b){-1===l.indexOf(b)&&b.setState()});if(d.hoverSeries!==c)c.onMouseOver();this.applyInactiveState(l);
(l||[]).forEach(function(b){b.setState("hover")});d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;d.hoverPoints=l;d.hoverPoint=g;g.firePointEvent("mouseOver",void 0,()=>{h&&g&&h.refresh(k?l:g,a)})}else e&&h&&!h.isHidden&&(f=h.getAnchor([{}],a),d.isInsidePlot(f[0],f[1],{visiblePlotOnly:!0})&&h.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(d.container.ownerDocument,"mousemove",function(b){const a=B[F.hoverChartIndex];if(a)a.pointer.onDocumentMouseMove(b)}),
this.eventsToUnbind.push(this.unDocMouseMove));d.axes.forEach(function(b){const c=q((b.crosshair||{}).snap,!0);let g;c&&((g=d.hoverPoint)&&g.series[b.coll]===b||(g=m(l,a=>a.series&&a.series[b.coll]===b)));g||!c?b.drawCrosshair(a,g):b.hideCrosshair()})}scaleGroups(a,e){const d=this.chart;d.series.forEach(function(h){const f=a||h.getPlotBox();h.group&&(h.xAxis&&h.xAxis.zoomEnabled||d.mapView)&&(h.group.attr(f),h.markerGroup&&(h.markerGroup.attr(f),h.markerGroup.clip(e?d.clipRect:null)),h.dataLabelsGroup&&
h.dataLabelsGroup.attr(f))});d.clipRect.attr(e||d.clipBox)}setDOMEvents(){const a=this.chart.container,e=a.ownerDocument;a.onmousedown=this.onContainerMouseDown.bind(this);a.onmousemove=this.onContainerMouseMove.bind(this);a.onclick=this.onContainerClick.bind(this);this.eventsToUnbind.push(D(a,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(D(a,"mouseleave",this.onContainerMouseLeave.bind(this)));F.unbindDocumentMouseUp||(F.unbindDocumentMouseUp=D(e,"mouseup",this.onDocumentMouseUp.bind(this)));
let f=this.chart.renderTo.parentElement;for(;f&&"BODY"!==f.tagName;)this.eventsToUnbind.push(D(f,"scroll",()=>{delete this.chartPosition})),f=f.parentElement;z.hasTouch&&(this.eventsToUnbind.push(D(a,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(D(a,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),F.unbindDocumentTouchEnd||(F.unbindDocumentTouchEnd=D(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))}setHoverChartIndex(){const a=
this.chart,e=z.charts[q(F.hoverChartIndex,-1)];if(e&&e!==a)e.pointer.onContainerMouseLeave({relatedTarget:a.container});e&&e.mouseIsDown||(F.hoverChartIndex=a.index)}touch(a,e){const d=this.chart;let f,h;this.setHoverChartIndex();1===a.touches.length?(a=this.normalize(a),(h=d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0}))&&!d.openMenu?(e&&this.runPointActions(a),"touchmove"===a.type&&(e=this.pinchDown,f=e[0]?4<=Math.sqrt(Math.pow(e[0].chartX-a.chartX,2)+Math.pow(e[0].chartY-
a.chartY,2)):!1),q(f,!0)&&this.pinch(a)):e&&this.reset()):2===a.touches.length&&this.pinch(a)}touchSelect(a){return!(!this.chart.options.chart.zooming.singleTouch||!a.touches||1!==a.touches.length)}zoomOption(a){var d=this.chart,e=d.options.chart;d=d.inverted;let f=e.zooming.type||"";/touch/.test(a.type)&&(f=q(e.zooming.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=e=/y/.test(f);this.zoomHor=a&&!d||e&&d;this.zoomVert=e&&!d||a&&d;this.hasZoom=a||e}}(function(a){const d=[],e=[];a.compose=function(d){G.pushUnique(e,
d)&&D(d,"beforeRender",function(){this.pointer=new a(this,this.options)})};a.dissolve=function(){for(let a=0,e=d.length;a<e;++a)d[a]();d.length=0}})(F||(F={}));"";return F});L(a,"Core/Legend/Legend.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/FormatUtilities.js"],a["Core/Globals.js"],a["Core/Series/Point.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {animObject:x,setAnimation:A}=a,{format:v}=z,{marginNames:u}=G,{distribute:e}=B,{addEvent:m,
createElement:w,css:k,defined:t,discardElement:n,find:f,fireEvent:q,isNumber:K,merge:F,pick:d,relativeLength:h,stableSort:p,syncTimeout:r}=E;class y{constructor(b,a){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options=void 0;this.padding=
0;this.pages=[];this.proximate=!1;this.scrollGroup=void 0;this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=b;this.init(b,a)}init(b,a){this.chart=b;this.setOptions(a);a.enabled&&(this.render(),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),m(this.chart,"render",()=>{this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(b){const a=d(b.padding,8);this.options=b;this.chart.styledMode||(this.itemStyle=
b.itemStyle,this.itemHiddenStyle=F(this.itemStyle,b.itemHiddenStyle));this.itemMarginTop=b.itemMarginTop;this.itemMarginBottom=b.itemMarginBottom;this.padding=a;this.initialItemY=a-5;this.symbolWidth=d(b.symbolWidth,16);this.pages=[];this.proximate="proximate"===b.layout&&!this.chart.inverted;this.baseline=void 0}update(b,a){const c=this.chart;this.setOptions(F(!0,this.options,b));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;d(a,!0)&&c.redraw();q(this,"afterUpdate")}colorizeItem(b,a){const {group:c,
label:g,line:d,symbol:e}=b.legendItem||{};if(c)c[a?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var f=this.options;const c=this.itemHiddenStyle.color;f=a?f.itemStyle.color:c;const l=a?b.color||c:c,h=b.options&&b.options.marker;let k={fill:l};g&&g.css({fill:f});d&&d.attr({stroke:l});e&&(h&&e.isMarker&&(k=b.pointAttribs(),a||(k.stroke=k.fill=c)),e.attr(k))}q(this,"afterColorizeItem",{item:b,visible:a})}positionItems(){this.allItems.forEach(this.positionItem,
this);this.chart.isResizing||this.positionCheckboxes()}positionItem(b){const {group:a,x:c=0,y:d=0}=b.legendItem||{};var e=this.options,f=e.symbolPadding;const h=!e.rtl;e=b.checkbox;a&&a.element&&(f={translateX:h?c:this.legendWidth-c-2*f-4,translateY:d},a[t(a.translateY)?"animate":"attr"](f,void 0,()=>{q(this,"afterPositionItem",{item:b})}));e&&(e.x=c,e.y=d)}destroyItem(b){const a=b.checkbox,c=b.legendItem||{};for(const b of["group","label","line","symbol"])c[b]&&(c[b]=c[b].destroy());a&&n(a);b.legendItem=
void 0}destroy(){for(const b of this.getAllItems())this.destroyItem(b);for(const b of"clipRect up down pager nav box title group".split(" "))this[b]&&(this[b]=this[b].destroy());this.display=null}positionCheckboxes(){const b=this.group&&this.group.alignAttr,a=this.clipHeight||this.legendHeight,c=this.titleHeight;let d;b&&(d=b.translateY,this.allItems.forEach(function(g){const e=g.checkbox;let l;e&&(l=d+c+e.y+(this.scrollOffset||0)+3,k(e,{left:b.translateX+g.checkboxOffset+e.x-20+"px",top:l+"px",display:this.proximate||
l>d-6&&l<d+a-6?"":"none"}))},this))}renderTitle(){var b=this.options;const a=this.padding,c=b.title;let d=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,a-3,a-4,void 0,void 0,void 0,b.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(c.style),this.title.add(this.group)),c.width||this.title.css({width:this.maxLegendWidth+"px"}),b=this.title.getBBox(),d=b.height,this.offsetWidth=b.width,this.contentGroup.attr({translateY:d}));this.titleHeight=
d}setText(b){const a=this.options;b.legendItem.label.attr({text:a.labelFormat?v(a.labelFormat,b,this.chart):a.labelFormatter.call(b)})}renderItem(b){const a=b.legendItem=b.legendItem||{};var c=this.chart,e=c.renderer;const f=this.options,h=this.symbolWidth,k=f.symbolPadding||0,m=this.itemStyle,p=this.itemHiddenStyle,r="horizontal"===f.layout?d(f.itemDistance,20):0,n=!f.rtl,q=!b.series,t=!q&&b.series.drawLegendSymbol?b.series:b;var w=t.options;const u=this.createCheckboxForItem&&w&&w.showCheckbox,
C=f.useHTML,y=b.options.className;let I=a.label;w=h+k+r+(u?20:0);I||(a.group=e.g("legend-item").addClass("highcharts-"+t.type+"-series highcharts-color-"+b.colorIndex+(y?" "+y:"")+(q?" highcharts-series-"+b.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.label=I=e.text("",n?h+k:-k,this.baseline||0,C),c.styledMode||I.css(F(b.visible?m:p)),I.attr({align:n?"left":"right",zIndex:2}).add(a.group),this.baseline||(this.fontMetrics=e.fontMetrics(I),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,
I.attr("y",this.baseline),this.symbolHeight=d(f.symbolHeight,this.fontMetrics.f),f.squareSymbol&&(this.symbolWidth=d(f.symbolWidth,Math.max(this.symbolHeight,16)),w=this.symbolWidth+k+r+(u?20:0),n&&I.attr("x",this.symbolWidth+k))),t.drawLegendSymbol(this,b),this.setItemEvents&&this.setItemEvents(b,I,C));u&&!b.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(b);this.colorizeItem(b,b.visible);!c.styledMode&&m.width||I.css({width:(f.itemWidth||this.widthOption||c.spacingBox.width)-w+
"px"});this.setText(b);c=I.getBBox();e=this.fontMetrics&&this.fontMetrics.h||0;b.itemWidth=b.checkboxOffset=f.itemWidth||a.labelWidth||c.width+w;this.maxItemWidth=Math.max(this.maxItemWidth,b.itemWidth);this.totalItemWidth+=b.itemWidth;this.itemHeight=b.itemHeight=Math.round(a.labelHeight||(c.height>1.5*e?c.height:e))}layoutItem(b){var a=this.options;const c=this.padding,e="horizontal"===a.layout,f=b.itemHeight,h=this.itemMarginBottom,k=this.itemMarginTop,m=e?d(a.itemDistance,20):0,p=this.maxLegendWidth;
a=a.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:b.itemWidth;const r=b.legendItem||{};e&&this.itemX-c+a>p&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=k+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY=k+this.itemY+h;this.lastLineHeight=Math.max(f,this.lastLineHeight);r.x=this.itemX;r.y=this.itemY;e?this.itemX+=a:(this.itemY+=k+f+h,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-c-(b.checkbox?0:m):a)+c,this.offsetWidth)}getAllItems(){let b=
[];this.chart.series.forEach(function(a){const c=a&&a.options;a&&d(c.showInLegend,t(c.linkedTo)?!1:void 0,!0)&&(b=b.concat((a.legendItem||{}).labels||("point"===c.legendType?a.data:a)))});q(this,"afterGetAllItems",{allItems:b});return b}getAlignment(){const b=this.options;return this.proximate?b.align.charAt(0)+"tv":b.floating?"":b.align.charAt(0)+b.verticalAlign.charAt(0)+b.layout.charAt(0)}adjustMargins(b,a){const c=this.chart,g=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,
/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(f,l){f.test(e)&&!t(b[l])&&(c[u[l]]=Math.max(c[u[l]],c.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*g[l%2?"x":"y"]+d(g.margin,12)+a[l]+(c.titleOffset[l]||0)))})}proximatePositions(){const b=this.chart,a=[],c="left"===this.options.align;this.allItems.forEach(function(d){var g;var e=c;let l;d.yAxis&&(d.xAxis.options.reversed&&(e=!e),d.points&&(g=f(e?d.points:d.points.slice(0).reverse(),function(b){return K(b.plotY)})),e=this.itemMarginTop+
d.legendItem.label.getBBox().height+this.itemMarginBottom,l=d.yAxis.top-b.plotTop,d.visible?(g=g?g.plotY:d.yAxis.height,g+=l-.3*e):g=l+d.yAxis.height,a.push({target:g,size:e,item:d}))},this);let d;for(const c of e(a,b.plotHeight))d=c.item.legendItem||{},K(c.pos)&&(d.y=b.plotTop-b.spacing[0]+c.pos)}render(){const b=this.chart,a=b.renderer,c=this.options,d=this.padding;var e=this.getAllItems();let f,k=this.group,m=this.box;this.itemX=d;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;
this.widthOption=h(c.width,b.spacingBox.width-d);var r=b.spacingBox.width-2*d-c.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(r/=2);this.maxLegendWidth=this.widthOption||r;k||(this.group=k=a.g("legend").addClass(c.className||"").attr({zIndex:7}).add(),this.contentGroup=a.g().attr({zIndex:1}).add(k),this.scrollGroup=a.g().add(this.contentGroup));this.renderTitle();p(e,(b,a)=>(b.options&&b.options.legendIndex||0)-(a.options&&a.options.legendIndex||0));c.reversed&&e.reverse();this.allItems=
e;this.display=r=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;e.forEach(this.renderItem,this);e.forEach(this.layoutItem,this);e=(this.widthOption||this.offsetWidth)+d;f=this.lastItemY+this.lastLineHeight+this.titleHeight;f=this.handleOverflow(f);f+=d;m||(this.box=m=a.rect().addClass("highcharts-legend-box").attr({r:c.borderRadius}).add(k));b.styledMode||m.attr({stroke:c.borderColor,"stroke-width":c.borderWidth||0,fill:c.backgroundColor||"none"}).shadow(c.shadow);
if(0<e&&0<f)m[m.placed?"animate":"attr"](m.crisp.call({},{x:0,y:0,width:e,height:f},m.strokeWidth()));k[r?"show":"hide"]();b.styledMode&&"none"===k.getStyle("display")&&(e=f=0);this.legendWidth=e;this.legendHeight=f;r&&this.align();this.proximate||this.positionItems();q(this,"afterRender")}align(b=this.chart.spacingBox){const a=this.chart,c=this.options;let d=b.y;/(lth|ct|rth)/.test(this.getAlignment())&&0<a.titleOffset[0]?d+=a.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<a.titleOffset[2]&&
(d-=a.titleOffset[2]);d!==b.y&&(b=F(b,{y:d}));a.hasRendered||(this.group.placed=!1);this.group.align(F(c,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":c.verticalAlign}),!0,b)}handleOverflow(b){const a=this,c=this.chart,e=c.renderer,f=this.options;var h=f.y;const k="top"===f.verticalAlign,m=this.padding,p=f.maxHeight,r=f.navigation,n=d(r.animation,!0),q=r.arrowSize||12,t=this.pages,w=this.allItems,u=function(b){"number"===typeof b?X.attr({height:b}):X&&(a.clipRect=
X.destroy(),a.contentGroup.clip());a.contentGroup.div&&(a.contentGroup.div.style.clip=b?"rect("+m+"px,9999px,"+(m+b)+"px,0)":"auto")},C=function(b){a[b]=e.circle(0,0,1.3*q).translate(q/2,q/2).add(x);c.styledMode||a[b].attr("fill","rgba(0,0,0,0.0001)");return a[b]};let y,I,v;h=c.spacingBox.height+(k?-h:h)-m;let x=this.nav,X=this.clipRect;"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(h/=2);p&&(h=Math.min(h,p));t.length=0;b&&0<h&&b>h&&!1!==r.enabled?(this.clipHeight=y=Math.max(h-
20-this.titleHeight-m,0),this.currentPage=d(this.currentPage,1),this.fullHeight=b,w.forEach((b,a)=>{v=b.legendItem||{};b=v.y||0;const c=Math.round(v.label.getBBox().height);let d=t.length;if(!d||b-t[d-1]>y&&(I||b)!==t[d-1])t.push(I||b),d++;v.pageIx=d-1;I&&((w[a-1].legendItem||{}).pageIx=d-1);a===w.length-1&&b+c-t[d-1]>y&&b>t[d-1]&&(t.push(b),v.pageIx=d);b!==I&&(I=b)}),X||(X=a.clipRect=e.clipRect(0,m-2,9999,0),a.contentGroup.clip(X)),u(y),x||(this.nav=x=e.g().attr({zIndex:1}).add(this.group),this.up=
e.symbol("triangle",0,0,q,q).add(x),C("upTracker").on("click",function(){a.scroll(-1,n)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&r.style&&this.pager.css(r.style),this.pager.add(x),this.down=e.symbol("triangle-down",0,0,q,q).add(x),C("downTracker").on("click",function(){a.scroll(1,n)})),a.scroll(0),b=h):x&&(u(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return b}scroll(b,a){const c=this.chart,g=this.pages,e=g.length,f=
this.clipHeight,h=this.options.navigation,k=this.pager,m=this.padding;let p=this.currentPage+b;p>e&&(p=e);0<p&&("undefined"!==typeof a&&A(a,c),this.nav.attr({translateX:m,translateY:f+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(b){b.attr({"class":1===p?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),k.attr({text:p+"/"+e}),[this.down,this.downTracker].forEach(function(b){b.attr({x:18+this.pager.getBBox().width,"class":p===e?"highcharts-legend-nav-inactive":
"highcharts-legend-nav-active"})},this),c.styledMode||(this.up.attr({fill:1===p?h.inactiveColor:h.activeColor}),this.upTracker.css({cursor:1===p?"default":"pointer"}),this.down.attr({fill:p===e?h.inactiveColor:h.activeColor}),this.downTracker.css({cursor:p===e?"default":"pointer"})),this.scrollOffset=-g[p-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=p,this.positionCheckboxes(),b=x(d(a,c.renderer.globalAnimation,!0)),r(()=>{q(this,"afterScroll",{currentPage:p})},
b.duration))}setItemEvents(b,a,c){const d=this,e=b.legendItem||{},g=d.chart.renderer.boxWrapper,f=b instanceof J,h="highcharts-legend-"+(f?"point":"series")+"-active",k=d.chart.styledMode;c=c?[a,e.symbol]:[e.group];const m=a=>{d.allItems.forEach(c=>{b!==c&&[c].concat(c.linkedSeries||[]).forEach(b=>{b.setState(a,!f)})})};for(const e of c)if(e)e.on("mouseover",function(){b.visible&&m("inactive");b.setState("hover");b.visible&&g.addClass(h);k||a.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.chart.styledMode||
a.css(F(b.visible?d.itemStyle:d.itemHiddenStyle));m("");g.removeClass(h);b.setState()}).on("click",function(a){const c=function(){b.setVisible&&b.setVisible();m(b.visible?"inactive":"")};g.removeClass(h);a={browserEvent:a};b.firePointEvent?b.firePointEvent("legendItemClick",a,c):q(b,"legendItemClick",a,c)})}createCheckboxForItem(b){b.checkbox=w("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:b.selected,defaultChecked:b.selected},this.options.itemCheckboxStyle,this.chart.container);
m(b.checkbox,"click",function(a){q(b.series||b,"checkboxClick",{checked:a.target.checked,item:b},function(){b.select()})})}}(function(b){const a=[];b.compose=function(c){E.pushUnique(a,c)&&m(c,"beforeMargins",function(){this.legend=new b(this,this.options.legend)})}})(y||(y={}));"";return y});L(a,"Core/Series/SeriesRegistry.js",[a["Core/Globals.js"],a["Core/Defaults.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,G,J){const {defaultOptions:x}=z,{extendClass:E,merge:D}=J;var A;
(function(v){function u(a,m){const e=x.plotOptions||{},k=m.defaultOptions,t=m.prototype;t.type=a;t.pointClass||(t.pointClass=G);k&&(e[a]=k);v.seriesTypes[a]=m}v.seriesTypes=a.seriesTypes;v.registerSeriesType=u;v.seriesType=function(a,m,w,k,t){const e=x.plotOptions||{};m=m||"";e[a]=D(e[m],w);u(a,E(v.seriesTypes[m]||function(){},k));v.seriesTypes[a].prototype.type=a;t&&(v.seriesTypes[a].prototype.pointClass=E(G,t));return v.seriesTypes[a]}})(A||(A={}));return A});L(a,"Core/Chart/Chart.js",[a["Core/Animation/AnimationUtilities.js"],
a["Core/Axis/Axis.js"],a["Core/Defaults.js"],a["Core/FormatUtilities.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Time.js"],a["Core/Utilities.js"],a["Core/Renderer/HTML/AST.js"]],function(a,z,G,J,B,E,D,A,v,u,e,m){const {animate:w,animObject:k,setAnimation:t}=a,{defaultOptions:n,defaultTime:f}=G,{numberFormat:q}=J,{registerEventOptions:x}=B,{charts:F,doc:d,marginNames:h,svg:p,
win:r}=E,{seriesTypes:y}=A,{addEvent:b,attr:g,cleanRecursively:c,createElement:l,css:N,defined:O,discardElement:M,erase:aa,error:U,extend:V,find:H,fireEvent:P,getStyle:L,isArray:fa,isNumber:Z,isObject:C,isString:Q,merge:I,objectEach:W,pick:R,pInt:X,relativeLength:Y,removeEvent:ia,splat:ca,syncTimeout:ha,uniqueKey:ka}=e;class da{static chart(b,a,c){return new da(b,a,c)}constructor(b,a,c){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft=
this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0;this.sharedClips={};this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0;this.getArgs(b,a,c)}getArgs(b,a,c){Q(b)||b.nodeName?(this.renderTo=b,this.init(a,c)):this.init(b,
a)}init(b,a){const c=b.plotOptions||{};P(this,"init",{args:arguments},function(){const d=I(n,b),e=d.chart;W(d.plotOptions,function(b,a){C(b)&&(b.tooltip=c[a]&&I(c[a].tooltip)||void 0)});d.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;this.userOptions=b;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=a;this.isResizing=0;const g=e.zooming=e.zooming||{};b.chart&&!b.chart.zooming&&(g.resetButton=e.resetZoomButton);g.key=R(g.key,
e.zoomKey);g.pinchType=R(g.pinchType,e.pinchType);g.singleTouch=R(g.singleTouch,e.zoomBySingleTouch);g.type=R(g.type,e.zoomType);this.options=d;this.axes=[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new u(b.time):E.time;this.numberFormatter=e.numberFormatter||q;this.styledMode=e.styledMode;this.hasCartesianSeries=e.showAxes;this.index=F.length;F.push(this);E.chartCount++;x(this,e);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;P(this,"afterInit");
this.firstRender()})}initSeries(b){var a=this.options.chart;a=b.type||a.type;const c=y[a];c||U(17,!0,this,{missingModuleFor:a});a=new c;"function"===typeof a.init&&a.init(this,b);return a}setSeriesData(){this.getSeriesOrderByLinks().forEach(function(b){b.points||b.data||!b.enabledDataSorting||b.setData(b.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(b,a){return b.linkedSeries.length||a.linkedSeries.length?a.linkedSeries.length-b.linkedSeries.length:0})}orderSeries(b){const a=
this.series;for(let c=b||0,d=a.length;c<d;++c)a[c]&&(a[c].index=c,a[c].name=a[c].getName())}isInsidePlot(b,a,c={}){const {inverted:d,plotBox:e,plotLeft:g,plotTop:f,scrollablePlotBox:h}=this;var l=0;let k=0;c.visiblePlotOnly&&this.scrollingContainer&&({scrollLeft:l,scrollTop:k}=this.scrollingContainer);const m=c.series,p=c.visiblePlotOnly&&h||e;var r=c.inverted?a:b;a=c.inverted?b:a;b={x:r,y:a,isInsidePlot:!0,options:c};if(!c.ignoreX){const a=m&&(d&&!this.polar?m.yAxis:m.xAxis)||{pos:g,len:Infinity};
r=c.paneCoordinates?a.pos+r:g+r;r>=Math.max(l+g,a.pos)&&r<=Math.min(l+g+p.width,a.pos+a.len)||(b.isInsidePlot=!1)}!c.ignoreY&&b.isInsidePlot&&(l=!d&&c.axis&&!c.axis.isXAxis&&c.axis||m&&(d?m.xAxis:m.yAxis)||{pos:f,len:Infinity},c=c.paneCoordinates?l.pos+a:f+a,c>=Math.max(k+f,l.pos)&&c<=Math.min(k+f+p.height,l.pos+l.len)||(b.isInsidePlot=!1));P(this,"afterIsInsidePlot",b);return b.isInsidePlot}redraw(b){P(this,"beforeRedraw");const a=this.hasCartesianSeries?this.axes:this.colorAxis||[],c=this.series,
d=this.pointer,g=this.legend,e=this.userOptions.legend,f=this.renderer,h=f.isHidden(),l=[];let k,m,p=this.isDirtyBox,r=this.isDirtyLegend,C;f.rootFontSize=f.boxWrapper.getStyle("font-size");this.setResponsive&&this.setResponsive(!1);t(this.hasRendered?b:!1,this);h&&this.temporaryDisplay();this.layOutTitles();for(b=c.length;b--;)if(C=c[b],C.options.stacking||C.options.centerInCategory)if(m=!0,C.isDirty){k=!0;break}if(k)for(b=c.length;b--;)C=c[b],C.options.stacking&&(C.isDirty=!0);c.forEach(function(b){b.isDirty&&
("point"===b.options.legendType?("function"===typeof b.updateTotals&&b.updateTotals(),r=!0):e&&(e.labelFormatter||e.labelFormat)&&(r=!0));b.isDirtyData&&P(b,"updatedData")});r&&g&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);m&&this.getStacks();a.forEach(function(b){b.updateNames();b.setScale()});this.getMargins();a.forEach(function(b){b.isDirty&&(p=!0)});a.forEach(function(b){const a=b.min+","+b.max;b.extKey!==a&&(b.extKey=a,l.push(function(){P(b,"afterSetExtremes",V(b.eventArgs,b.getExtremes()));
delete b.eventArgs}));(p||m)&&b.redraw()});p&&this.drawChartBox();P(this,"predraw");c.forEach(function(b){(p||b.isDirty)&&b.visible&&b.redraw();b.isDirtyData=!1});d&&d.reset(!0);f.draw();P(this,"redraw");P(this,"render");h&&this.temporaryDisplay(!0);l.forEach(function(b){b.call()})}get(b){function a(a){return a.id===b||a.options&&a.options.id===b}const c=this.series;let d=H(this.axes,a)||H(this.series,a);for(let b=0;!d&&b<c.length;b++)d=H(c[b].points||[],a);return d}getAxes(){const b=this;var a=this.options;
const c=a.xAxis=ca(a.xAxis||{});a=a.yAxis=ca(a.yAxis||{});P(this,"getAxes");c.forEach(function(b,a){b.index=a;b.isX=!0});a.forEach(function(b,a){b.index=a});c.concat(a).forEach(function(a){new z(b,a)});P(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((b,a)=>{a.getPointsCollection().forEach(a=>{R(a.selectedStaging,a.selected)&&b.push(a)});return b},[])}getSelectedSeries(){return this.series.filter(function(b){return b.selected})}setTitle(b,a,c){this.applyDescription("title",b);
this.applyDescription("subtitle",a);this.applyDescription("caption",void 0);this.layOutTitles(c)}applyDescription(b,a){const c=this;var d="title"===b?{color:"#333333",fontSize:this.options.isStock?"1em":"1.2em",fontWeight:"bold"}:{color:"#666666",fontSize:"0.8em"};d=this.options[b]=I(!this.styledMode&&{style:d},this.options[b],a);let g=this[b];g&&a&&(this[b]=g=g.destroy());d&&!g&&(g=this.renderer.text(d.text,0,0,d.useHTML).attr({align:d.align,"class":"highcharts-"+b,zIndex:d.zIndex||4}).add(),g.update=
function(a){c[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[b]](a)},this.styledMode||g.css(d.style),this[b]=g)}layOutTitles(b){const a=[0,0,0],c=this.renderer,d=this.spacingBox;["title","subtitle","caption"].forEach(function(b){const g=this[b],e=this.options[b],f=e.verticalAlign||"top";b="title"===b?"top"===f?-3:0:"top"===f?a[0]+2:0;if(g){g.css({width:(e.width||d.width+(e.widthAdjust||0))+"px"});const h=c.fontMetrics(g).b,l=Math.round(g.getBBox(e.useHTML).height);g.align(V({y:"bottom"===
f?h:b+h,height:l},e),!1,"spacingBox");e.floating||("top"===f?a[0]=Math.ceil(a[0]+l):"bottom"===f&&(a[2]=Math.ceil(a[2]+l)))}},this);a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin);a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);const g=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a;P(this,"afterLayOutTitles");!this.isDirtyBox&&g&&(this.isDirtyBox=this.isDirtyLegend=g,this.hasRendered&&
R(b,!0)&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:L(this.renderTo,"width",!0)||0,height:L(this.renderTo,"height",!0)||0}}getChartSize(){var b=this.options.chart;const a=b.width;b=b.height;const c=this.getContainerBox();this.chartWidth=Math.max(0,a||c.width||600);this.chartHeight=Math.max(0,Y(b,this.chartWidth)||(1<c.height?c.height:400));this.containerBox=c}temporaryDisplay(b){let a=this.renderTo;if(b)for(;a&&a.style;)a.hcOrigStyle&&(N(a,a.hcOrigStyle),delete a.hcOrigStyle),
a.hcOrigDetached&&(d.body.removeChild(a),a.hcOrigDetached=!1),a=a.parentNode;else for(;a&&a.style;){d.body.contains(a)||a.parentNode||(a.hcOrigDetached=!0,d.body.appendChild(a));if("none"===L(a,"display",!1)||a.hcOricDetached)a.hcOrigStyle={display:a.style.display,height:a.style.height,overflow:a.style.overflow},b={display:"block",overflow:"hidden"},a!==this.renderTo&&(b.height=0),N(a,b),a.offsetWidth||a.style.setProperty("display","block","important");a=a.parentNode;if(a===d.body)break}}setClassName(b){this.container.className=
"highcharts-container "+(b||"")}getContainer(){const b=this.options,a=b.chart;var c=ka();let e,f=this.renderTo;f||(this.renderTo=f=a.renderTo);Q(f)&&(this.renderTo=f=d.getElementById(f));f||U(13,!0,this);var h=X(g(f,"data-highcharts-chart"));Z(h)&&F[h]&&F[h].hasRendered&&F[h].destroy();g(f,"data-highcharts-chart",this.index);f.innerHTML=m.emptyHTML;a.skipClone||f.offsetWidth||this.temporaryDisplay();this.getChartSize();h=this.chartWidth;const k=this.chartHeight;N(f,{overflow:"hidden"});this.styledMode||
(e=V({position:"relative",overflow:"hidden",width:h+"px",height:k+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},a.style||{}));this.container=c=l("div",{id:c},e,f);this._cursor=c.style.cursor;this.renderer=new (a.renderer||!p?D.getRendererType(a.renderer):v)(c,h,k,void 0,a.forExport,b.exporting&&b.exporting.allowHTML,this.styledMode);this.containerBox=this.getContainerBox();t(void 0,this);
this.setClassName(a.className);if(this.styledMode)for(const a in b.defs)this.renderer.definition(b.defs[a]);else this.renderer.setStyle(a.style);this.renderer.chartIndex=this.index;P(this,"afterGetContainer")}getMargins(b){const {spacing:a,margin:c,titleOffset:d}=this;this.resetMargins();d[0]&&!O(c[0])&&(this.plotTop=Math.max(this.plotTop,d[0]+a[0]));d[2]&&!O(c[2])&&(this.marginBottom=Math.max(this.marginBottom,d[2]+a[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(c,a);P(this,"getMargins");
b||this.getAxisMargins()}getAxisMargins(){const b=this,a=b.axisOffset=[0,0,0,0],c=b.colorAxis,d=b.margin,g=function(b){b.forEach(function(b){b.visible&&b.getOffset()})};b.hasCartesianSeries?g(b.axes):c&&c.length&&g(c);h.forEach(function(c,g){O(d[g])||(b[c]+=a[g])});b.setChartSize()}reflow(b){const a=this;var c=a.options.chart;c=O(c.width)&&O(c.height);const d=a.containerBox,g=a.getContainerBox();delete a.pointer.chartPosition;if(!c&&!a.isPrinting&&d&&g.width){if(g.width!==d.width||g.height!==d.height)e.clearTimeout(a.reflowTimeout),
a.reflowTimeout=ha(function(){a.container&&a.setSize(void 0,void 0,!1)},b?100:0);a.containerBox=g}}setReflow(){const a=this;var c=b=>{var c;(null===(c=a.options)||void 0===c?0:c.chart.reflow)&&a.hasLoaded&&a.reflow(b)};"function"===typeof ResizeObserver?(new ResizeObserver(c)).observe(a.renderTo):(c=b(r,"resize",c),b(this,"destroy",c))}setSize(b,a,c){const d=this,g=d.renderer;d.isResizing+=1;t(c,d);c=g.globalAnimation;d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;"undefined"!==typeof b&&
(d.options.chart.width=b);"undefined"!==typeof a&&(d.options.chart.height=a);d.getChartSize();d.styledMode||(c?w:N)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+"px"},c);d.setChartSize(!0);g.setSize(d.chartWidth,d.chartHeight,c);d.axes.forEach(function(b){b.isDirty=!0;b.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;P(d,"resize");ha(function(){d&&P(d,"endResize",null,function(){--d.isResizing})},k(c).duration)}setChartSize(b){var a=
this.inverted;const c=this.renderer;var d=this.chartWidth,g=this.chartHeight;const e=this.options.chart,f=this.spacing,h=this.clipOffset;let l,k,m,p;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=k=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-l-this.marginRight));this.plotHeight=p=Math.max(0,Math.round(g-k-this.marginBottom));this.plotSizeX=a?p:m;this.plotSizeY=a?m:p;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:d-f[3]-f[1],
height:g-f[0]-f[2]};this.plotBox=c.plotBox={x:l,y:k,width:m,height:p};a=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(a,h[3])/2);g=Math.ceil(Math.max(a,h[0])/2);this.clipBox={x:d,y:g,width:Math.floor(this.plotSizeX-Math.max(a,h[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(a,h[2])/2-g))};b||(this.axes.forEach(function(b){b.setAxisSize();b.setAxisTranslation()}),c.alignElements());P(this,"afterSetChartSize",{skipAxes:b})}resetMargins(){P(this,"resetMargins");const b=this,
a=b.options.chart;["margin","spacing"].forEach(function(c){const d=a[c],g=C(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,e){b[c][e]=R(a[c+d],g[e])})});h.forEach(function(a,c){b[a]=R(b.margin[c],b.spacing[c])});b.axisOffset=[0,0,0,0];b.clipOffset=[0,0,0,0]}drawChartBox(){const b=this.options.chart,a=this.renderer,c=this.chartWidth,d=this.chartHeight,g=this.styledMode,e=this.plotBGImage;var f=b.backgroundColor;const h=b.plotBackgroundColor,l=b.plotBackgroundImage,k=this.plotLeft,
m=this.plotTop,p=this.plotWidth,r=this.plotHeight,C=this.plotBox,q=this.clipRect,n=this.clipBox;let t=this.chartBackground,I=this.plotBackground,w=this.plotBorder,u,y,v="animate";t||(this.chartBackground=t=a.rect().addClass("highcharts-background").add(),v="attr");if(g)u=y=t.strokeWidth();else{u=b.borderWidth||0;y=u+(b.shadow?8:0);f={fill:f||"none"};if(u||t["stroke-width"])f.stroke=b.borderColor,f["stroke-width"]=u;t.attr(f).shadow(b.shadow)}t[v]({x:y/2,y:y/2,width:c-y-u%2,height:d-y-u%2,r:b.borderRadius});
v="animate";I||(v="attr",this.plotBackground=I=a.rect().addClass("highcharts-plot-background").add());I[v](C);g||(I.attr({fill:h||"none"}).shadow(b.plotShadow),l&&(e?(l!==e.attr("href")&&e.attr("href",l),e.animate(C)):this.plotBGImage=a.image(l,k,m,p,r).add()));q?q.animate({width:n.width,height:n.height}):this.clipRect=a.clipRect(n);v="animate";w||(v="attr",this.plotBorder=w=a.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());g||w.attr({stroke:b.plotBorderColor,"stroke-width":b.plotBorderWidth||
0,fill:"none"});w[v](w.crisp({x:k,y:m,width:p,height:r},-w.strokeWidth()));this.isDirtyBox=!1;P(this,"afterDrawChartBox")}propFromSeries(){const b=this,a=b.options.chart,c=b.options.series;let d,g,e;["inverted","angular","polar"].forEach(function(f){g=y[a.type];e=a[f]||g&&g.prototype[f];for(d=c&&c.length;!e&&d--;)(g=y[c[d].type])&&g.prototype[f]&&(e=!0);b[f]=e})}linkSeries(b){const a=this,c=a.series;c.forEach(function(b){b.linkedSeries.length=0});c.forEach(function(b){let c=b.options.linkedTo;Q(c)&&
(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,c.enabledDataSorting&&b.setDataSortingOptions(),b.visible=R(b.options.visible,c.options.visible,b.visible))});P(this,"afterLinkSeries",{isUpdating:b})}renderSeries(){this.series.forEach(function(b){b.translate();b.render()})}render(){const b=this.axes,a=this.colorAxis,c=this.renderer,d=function(b){b.forEach(function(b){b.visible&&b.render()})};let g=0;this.setTitle();P(this,"beforeMargins");
this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();const e=this.plotWidth;b.some(function(b){if(b.horiz&&b.visible&&b.options.labels.enabled&&b.series.length)return g=21,!0});const f=this.plotHeight=Math.max(this.plotHeight-g,0);b.forEach(function(b){b.setScale()});this.getAxisMargins();const h=1.1<e/this.plotWidth,l=1.05<f/this.plotHeight;if(h||l)b.forEach(function(b){(b.horiz&&h||!b.horiz&&l)&&b.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries?
d(b):a&&a.length&&d(a);this.seriesGroup||(this.seriesGroup=c.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add());this.renderSeries();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0}addCredits(b){const a=this,c=I(!0,this.options.credits,b);c.enabled&&!this.credits&&(this.credits=this.renderer.text(c.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){c.href&&(r.location.href=c.href)}).attr({align:c.position.align,
zIndex:8}),a.styledMode||this.credits.css(c.style),this.credits.add().align(c.position),this.credits.update=function(b){a.credits=a.credits.destroy();a.addCredits(b)})}destroy(){const b=this,a=b.axes,c=b.series,d=b.container,g=d&&d.parentNode;let e;P(b,"destroy");b.renderer.forExport?aa(F,b):F[b.index]=void 0;E.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");ia(b);for(e=a.length;e--;)a[e]=a[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=c.length;e--;)c[e]=
c[e].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){const c=b[a];c&&c.destroy&&(b[a]=c.destroy())});d&&(d.innerHTML=m.emptyHTML,ia(d),g&&M(d));W(b,function(a,c){delete b[c]})}firstRender(){const b=this,a=b.options;b.getContainer();b.resetMargins();b.setChartSize();b.propFromSeries();b.getAxes();(fa(a.series)?a.series:[]).forEach(function(a){b.initSeries(a)});
b.linkSeries();b.setSeriesData();P(b,"beforeRender");b.render();b.pointer.getChartPosition();if(!b.renderer.imgCount&&!b.hasLoaded)b.onload();b.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(b){b&&"undefined"!==typeof this.index&&b.apply(this,[this])},this);P(this,"load");P(this,"render");O(this.index)&&this.setReflow();this.warnIfA11yModuleNotLoaded();this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){const {options:b,title:a}=this;b&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img",
"aria-label":(a&&a.element.textContent||"").replace(/</g,"&lt;")}),b.accessibility&&!1===b.accessibility.enabled||U('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(b,a,c){const d=this;let g;b&&(a=R(a,!0),P(d,"addSeries",{options:b},function(){g=d.initSeries(b);
d.isDirtyLegend=!0;d.linkSeries();g.enabledDataSorting&&g.setData(b.data,!1);P(d,"afterAddSeries",{series:g});a&&d.redraw(c)}));return g}addAxis(b,a,c,d){return this.createAxis(a?"xAxis":"yAxis",{axis:b,redraw:c,animation:d})}addColorAxis(b,a,c){return this.createAxis("colorAxis",{axis:b,redraw:a,animation:c})}createAxis(b,a){b=new z(this,I(a.axis,{index:this[b].length,isX:"xAxis"===b}));R(a.redraw,!0)&&this.redraw(a.animation);return b}showLoading(a){const c=this,d=c.options,g=d.loading,e=function(){f&&
N(f,{left:c.plotLeft+"px",top:c.plotTop+"px",width:c.plotWidth+"px",height:c.plotHeight+"px"})};let f=c.loadingDiv,h=c.loadingSpan;f||(c.loadingDiv=f=l("div",{className:"highcharts-loading highcharts-loading-hidden"},null,c.container));h||(c.loadingSpan=h=l("span",{className:"highcharts-loading-inner"},null,f),b(c,"redraw",e));f.className="highcharts-loading";m.setElementHTML(h,R(a,d.lang.loading,""));c.styledMode||(N(f,V(g.style,{zIndex:10})),N(h,g.labelStyle),c.loadingShown||(N(f,{opacity:0,display:""}),
w(f,{opacity:g.style.opacity||.5},{duration:g.showDuration||0})));c.loadingShown=!0;e()}hideLoading(){const b=this.options,a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden",this.styledMode||w(a,{opacity:0},{duration:b.loading.hideDuration||100,complete:function(){N(a,{display:"none"})}}));this.loadingShown=!1}update(b,a,d,g){const e=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=b.isResponsiveOptions,k=[];let m,p;P(e,"update",
{options:b});l||e.setResponsive(!1,!0);b=c(b,e.options);e.userOptions=I(e.userOptions,b);var r=b.chart;if(r){I(!0,e.options.chart,r);"className"in r&&e.setClassName(r.className);if("inverted"in r||"polar"in r||"type"in r){e.propFromSeries();var C=!0}"alignTicks"in r&&(C=!0);"events"in r&&x(this,r);W(r,function(b,a){-1!==e.propsRequireUpdateSeries.indexOf("chart."+a)&&(m=!0);-1!==e.propsRequireDirtyBox.indexOf(a)&&(e.isDirtyBox=!0);-1!==e.propsRequireReflow.indexOf(a)&&(l?e.isDirtyBox=!0:p=!0)});!e.styledMode&&
r.style&&e.renderer.setStyle(e.options.chart.style||{})}!e.styledMode&&b.colors&&(this.options.colors=b.colors);b.time&&(this.time===f&&(this.time=new u(b.time)),I(!0,e.options.time,b.time));W(b,function(a,c){if(e[c]&&"function"===typeof e[c].update)e[c].update(a,!1);else if("function"===typeof e[h[c]])e[h[c]](a);else"colors"!==c&&-1===e.collectionsWithUpdate.indexOf(c)&&I(!0,e.options[c],b[c]);"chart"!==c&&-1!==e.propsRequireUpdateSeries.indexOf(c)&&(m=!0)});this.collectionsWithUpdate.forEach(function(a){let c;
b[a]&&(c=[],e[a].forEach(function(b,a){b.options.isInternal||c.push(R(b.options.index,a))}),ca(b[a]).forEach(function(b,g){const f=O(b.id);let h;f&&(h=e.get(b.id));!h&&e[a]&&(h=e[a][c?c[g]:g])&&f&&O(h.options.id)&&(h=void 0);h&&h.coll===a&&(h.update(b,!1),d&&(h.touched=!0));!h&&d&&e.collectionsWithInit[a]&&(e.collectionsWithInit[a][0].apply(e,[b].concat(e.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)}),d&&e[a].forEach(function(b){b.touched||b.options.isInternal?delete b.touched:k.push(b)}))});
k.forEach(function(b){b.chart&&b.remove&&b.remove(!1)});C&&e.axes.forEach(function(b){b.update({},!1)});m&&e.getSeriesOrderByLinks().forEach(function(b){b.chart&&b.update({},!1)},this);C=r&&r.width;r=r&&(Q(r.height)?Y(r.height,C||e.chartWidth):r.height);p||Z(C)&&C!==e.chartWidth||Z(r)&&r!==e.chartHeight?e.setSize(C,r,g):R(a,!0)&&e.redraw(g);P(e,"afterUpdate",{options:b,redraw:a,animation:g})}setSubtitle(b,a){this.applyDescription("subtitle",b);this.layOutTitles(a)}setCaption(b,a){this.applyDescription("caption",
b);this.layOutTitles(a)}showResetZoom(){function b(){a.zoomOut()}const a=this,c=n.lang,d=a.options.chart.zooming.resetButton,e=d.theme,g="chart"===d.relativeTo||"spacingBox"===d.relativeTo?null:"scrollablePlotBox";P(this,"beforeShowResetZoom",null,function(){a.resetZoomButton=a.renderer.button(c.resetZoom,null,null,b,e).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,g)});P(this,"afterShowResetZoom")}zoomOut(){P(this,"selection",{resetSelection:!0},
this.zoom)}zoom(b){const a=this,c=a.pointer;let d=!1,e;!b||b.resetSelection?(a.axes.forEach(function(b){e=b.zoom()}),c.initiated=!1):b.xAxis.concat(b.yAxis).forEach(function(b){const g=b.axis;if(c[g.isXAxis?"zoomX":"zoomY"]&&O(c.mouseDownX)&&O(c.mouseDownY)&&a.isInsidePlot(c.mouseDownX-a.plotLeft,c.mouseDownY-a.plotTop,{axis:g})||!O(a.inverted?c.mouseDownX:c.mouseDownY))e=g.zoom(b.min,b.max),g.displayBtn&&(d=!0)});const g=a.resetZoomButton;d&&!g?a.showResetZoom():!d&&C(g)&&(a.resetZoomButton=g.destroy());
e&&a.redraw(R(a.options.chart.animation,b&&b.animation,100>a.pointCount))}pan(b,a){const c=this,d=c.hoverPoints;a="object"===typeof a?a:{enabled:a,type:"x"};const e=c.options.chart;e&&e.panning&&(e.panning=a);const g=a.type;let f;P(this,"pan",{originalEvent:b},function(){d&&d.forEach(function(b){b.setState()});let a=c.xAxis;"xy"===g?a=a.concat(c.yAxis):"y"===g&&(a=c.yAxis);const e={};a.forEach(function(a){if(a.options.panningEnabled&&!a.options.isInternal){var d=a.horiz,h=b[d?"chartX":"chartY"];d=
d?"mouseDownX":"mouseDownY";var l=c[d],k=a.minPointOffset||0,m=a.reversed&&!c.inverted||!a.reversed&&c.inverted?-1:1,p=a.getExtremes(),r=a.toValue(l-h,!0)+k*m,C=a.toValue(l+a.len-h,!0)-(k*m||a.isXAxis&&a.pointRangePadding||0),q=C<r;m=a.hasVerticalPanning();l=q?C:r;r=q?r:C;var n=a.panningState;!m||a.isXAxis||n&&!n.isDirty||a.series.forEach(function(b){var a=b.getProcessedData(!0);a=b.getExtremes(a.yData,!0);n||(n={startMin:Number.MAX_VALUE,startMax:-Number.MAX_VALUE});Z(a.dataMin)&&Z(a.dataMax)&&(n.startMin=
Math.min(R(b.options.threshold,Infinity),a.dataMin,n.startMin),n.startMax=Math.max(R(b.options.threshold,-Infinity),a.dataMax,n.startMax))});m=Math.min(R(n&&n.startMin,p.dataMin),k?p.min:a.toValue(a.toPixels(p.min)-a.minPixelPadding));C=Math.max(R(n&&n.startMax,p.dataMax),k?p.max:a.toValue(a.toPixels(p.max)+a.minPixelPadding));a.panningState=n;a.isOrdinal||(k=m-l,0<k&&(r+=k,l=m),k=r-C,0<k&&(r=C,l-=k),a.series.length&&l!==p.min&&r!==p.max&&l>=m&&r<=C&&(a.setExtremes(l,r,!1,!1,{trigger:"pan"}),!c.resetZoomButton&&
l!==m&&r!==C&&g.match("y")&&(c.showResetZoom(),a.displayBtn=!1),f=!0),e[d]=h)}});W(e,(b,a)=>{c[a]=b});f&&c.redraw(!1);N(c.container,{cursor:"move"})})}}V(da.prototype,{callbacks:[],collectionsWithInit:{xAxis:[da.prototype.addAxis,[!0]],yAxis:[da.prototype.addAxis,[!1]],series:[da.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});"";return da});L(a,"Core/Legend/LegendSymbol.js",[a["Core/Utilities.js"]],function(a){const {extend:x,merge:G,pick:J}=a;var B;(function(a){a.lineMarker=function(a,A){A=this.legendItem=this.legendItem||{};var v=this.options;
const u=a.symbolWidth,e=a.symbolHeight,m=e/2,w=this.chart.renderer,k=A.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);let t={},n=v.marker,f=0;this.chart.styledMode||(t={"stroke-width":Math.min(v.lineWidth||0,24)},v.dashStyle?t.dashstyle=v.dashStyle:"square"!==v.linecap&&(t["stroke-linecap"]="round"));A.line=w.path().addClass("highcharts-graph").attr(t).add(k);t["stroke-linecap"]&&(f=Math.min(A.line.strokeWidth(),u)/2);u&&A.line.attr({d:[["M",f,a],["L",u-f,a]]});n&&!1!==n.enabled&&u&&(v=Math.min(J(n.radius,
m),m),0===this.symbol.indexOf("url")&&(n=G(n,{width:e,height:e}),v=0),A.symbol=A=w.symbol(this.symbol,u/2-v,a-v,2*v,2*v,x({context:"legend"},n)).addClass("highcharts-point").add(k),A.isMarker=!0)};a.rectangle=function(a,x){x=x.legendItem||{};const v=a.symbolHeight,u=a.options.squareSymbol;x.symbol=this.chart.renderer.rect(u?(a.symbolWidth-v)/2:0,a.baseline-v+1,u?v:a.symbolWidth,v,J(a.options.symbolRadius,v/2)).addClass("highcharts-point").attr({zIndex:3}).add(x.group)}})(B||(B={}));return B});L(a,
"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:1,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},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(){const {numberFormatter:a}=
this.series.chart;return"number"!==typeof this.y?"":a(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"}});
L(a,"Core/Series/Series.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Defaults.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Legend/LegendSymbol.js"],a["Core/Series/Point.js"],a["Core/Series/SeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v,u){const {animObject:e,setAnimation:m}=a,{defaultOptions:w}=z,{registerEventOptions:k}=G,{hasTouch:t,svg:n,win:f}=J,{seriesTypes:q}=A,{arrayMax:x,
arrayMin:F,clamp:d,cleanRecursively:h,correctFloat:p,defined:r,erase:y,error:b,extend:g,find:c,fireEvent:l,getNestedProperty:N,isArray:O,isNumber:M,isString:aa,merge:U,objectEach:V,pick:H,removeEvent:P,splat:L,syncTimeout:fa}=u;class Z{constructor(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}init(b,a){l(this,
"init",{options:a});const c=this,d=b.series;this.eventsToUnbind=[];c.chart=b;c.options=c.setOptions(a);a=c.options;c.linkedSeries=[];c.bindAxes();g(c,{name:a.name,state:"",visible:!1!==a.visible,selected:!0===a.selected});k(this,a);const e=a.events;if(e&&e.click||a.point&&a.point.events&&a.point.events.click||a.allowPointSelect)b.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(b){c[b+"Data"]||(c[b+"Data"]=[])});c.isCartesian&&(b.hasCartesianSeries=!0);let f;d.length&&
(f=d[d.length-1]);c._i=H(f&&f._i,-1)+1;c.opacity=c.options.opacity;b.orderSeries(this.insert(d));a.dataSorting&&a.dataSorting.enabled?c.setDataSortingOptions():c.points||c.data||c.setData(a.data,!1);l(this,"afterInit")}is(b){return q[b]&&this instanceof q[b]}insert(b){const a=this.options.index;let c;if(M(a)){for(c=b.length;c--;)if(a>=H(b[c].options.index,b[c]._i)){b.splice(c+1,0,this);break}-1===c&&b.unshift(this);c+=1}else b.push(this);return H(c,b.length-1)}bindAxes(){const a=this,c=a.options,
d=a.chart;let e;l(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(g){let f=0;d[g].forEach(function(b){e=b.options;if(c[g]===f&&!e.isInternal||"undefined"!==typeof c[g]&&c[g]===e.id||"undefined"===typeof c[g]&&0===e.index)a.insert(b.series),a[g]=b,b.isDirty=!0;e.isInternal||f++});a[g]||a.optionalAxis===g||b(18,!0,d)})});l(this,"afterBindAxes")}updateParallelArrays(b,a,c){const d=b.series,e=M(a)?function(c){const e="y"===c&&d.toYData?d.toYData(b):b[c];d[c+"Data"][a]=e}:function(b){Array.prototype[a].apply(d[b+
"Data"],c)};d.parallelArrays.forEach(e)}hasData(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length}autoIncrement(b){var a=this.options;const c=a.pointIntervalUnit,d=a.relativeXValue,e=this.chart.time;let g=this.xIncrement,f;g=H(g,a.pointStart,0);this.pointInterval=f=H(this.pointInterval,a.pointInterval,1);d&&M(b)&&(f*=b);c&&(a=new e.Date(g),"day"===c?e.set("Date",a,e.get("Date",a)+f):"month"===c?e.set("Month",
a,e.get("Month",a)+f):"year"===c&&e.set("FullYear",a,e.get("FullYear",a)+f),f=a.getTime()-g);if(d&&M(b))return g+f;this.xIncrement=g+f;return g}setDataSortingOptions(){const b=this.options;g(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});r(b.pointRange)||(b.pointRange=1)}setOptions(b){var a,c,d,e,g,f,k,m,p=this.chart;const n=p.options,q=n.plotOptions;var C=p.userOptions||{};b=U(b);p=p.styledMode;const t={plotOptions:q,userOptions:b};l(this,"setOptions",t);const u=t.plotOptions[this.type],
y=C.plotOptions||{};this.userOptions=t.userOptions;C=U(u,null===q||void 0===q?void 0:q.series,null===y||void 0===y?void 0:y[this.type],b);this.tooltipOptions=U(w.tooltip,null===(c=null===(a=w.plotOptions)||void 0===a?void 0:a.series)||void 0===c?void 0:c.tooltip,null===(e=null===(d=w.plotOptions)||void 0===d?void 0:d[this.type])||void 0===e?void 0:e.tooltip,w.tooltip&&n.tooltip&&h(n.tooltip,w.tooltip),null===(g=null===q||void 0===q?void 0:q.series)||void 0===g?void 0:g.tooltip,null===(f=null===q||
void 0===q?void 0:q[this.type])||void 0===f?void 0:f.tooltip,b.tooltip);this.stickyTracking=H(b.stickyTracking,null===(k=null===y||void 0===y?void 0:y[this.type])||void 0===k?void 0:k.stickyTracking,null===(m=null===y||void 0===y?void 0:y.series)||void 0===m?void 0:m.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:C.stickyTracking);null===u.marker&&delete C.marker;this.zoneAxis=C.zoneAxis;c=this.zones=(C.zones||[]).slice();!C.negativeColor&&!C.negativeFillColor||C.zones||(a={value:C[this.zoneAxis+
"Threshold"]||C.threshold||0,className:"highcharts-negative"},p||(a.color=C.negativeColor,a.fillColor=C.negativeFillColor),c.push(a));c.length&&r(c[c.length-1].value)&&c.push(p?{}:{color:this.color,fillColor:this.fillColor});l(this,"afterSetOptions",{options:C});return C}getName(){return H(this.options.name,"Series "+(this.index+1))}getCyclic(b,a,c){const d=this.chart,e=this.userOptions,g=b+"Index",f=b+"Counter",h=c?c.length:H(d.options.chart[b+"Count"],d[b+"Count"]);if(!a){var l=H(e[g],e["_"+g]);
r(l)||(d.series.length||(d[f]=0),e["_"+g]=l=d[f]%h,d[f]+=1);c&&(a=c[l])}"undefined"!==typeof l&&(this[g]=l);this[b]=a}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||w.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(b,
a){const d=b.id,e=b.x,g=this.points;var f=this.options.dataSorting,h;let l,k;if(d)f=this.chart.get(d),f instanceof E&&(h=f);else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue)if(h=a=>!a.touched&&a.index===b.index,f&&f.matchByName?h=a=>!a.touched&&a.name===b.name:this.options.relativeXValue&&(h=a=>!a.touched&&a.options.x===b.x),h=c(g,h),!h)return;h&&(k=h&&h.index,"undefined"!==typeof k&&(l=!0));"undefined"===typeof k&&M(e)&&(k=this.xData.indexOf(e,a));-1!==k&&"undefined"!==
typeof k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!l&&M(k)&&g[k]&&g[k].touched&&(k=void 0);return k}updateData(b,a){const c=this.options,d=c.dataSorting,e=this.points,g=[],f=this.requireSorting,h=b.length===e.length;let l,k,m,p=!0;this.xIncrement=null;b.forEach(function(b,a){var k=r(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};const p=k.x;if(k.id||M(p)){if(k=this.findPointIndex(k,m),-1===k||"undefined"===typeof k?g.push(b):e[k]&&b!==c.data[k]?(e[k].update(b,
!1,null,!1),e[k].touched=!0,f&&(m=k+1)):e[k]&&(e[k].touched=!0),!h||a!==k||d&&d.enabled||this.hasDerivedData)l=!0}else g.push(b)},this);if(l)for(b=e.length;b--;)(k=e[b])&&!k.touched&&k.remove&&k.remove(!1,a);else!h||d&&d.enabled?p=!1:(b.forEach(function(b,a){b===e[a].y||e[a].destroyed||e[a].update(b,!1,null,!1)}),g.length=0);e.forEach(function(b){b&&(b.touched=!1)});if(!p)return!1;g.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&
(this.xIncrement=x(this.xData),this.autoIncrement());return!0}setData(a,c=!0,d,e){var g;const f=this,h=f.points,l=h&&h.length||0,k=f.options,m=f.chart,p=k.dataSorting,r=f.xAxis,n=k.turboThreshold,q=this.xData,t=this.yData;var C=f.pointArrayMap;C=C&&C.length;const w=k.keys;let u,y=0,I=1,v=null;if(!m.options.chart.allowMutatingData){k.data&&delete f.options.data;f.userOptions.data&&delete f.userOptions.data;var x=U(!0,a)}a=x||a||[];x=a.length;p&&p.enabled&&(a=this.sortData(a));m.options.chart.allowMutatingData&&
!1!==e&&x&&l&&!f.cropped&&!f.hasGroupedData&&f.visible&&!f.boosted&&(u=this.updateData(a,d));if(!u){f.xIncrement=null;f.colorCounter=0;this.parallelArrays.forEach(function(b){f[b+"Data"].length=0});if(n&&x>n)if(v=f.getFirstValidPoint(a),M(v))for(d=0;d<x;d++)q[d]=this.autoIncrement(),t[d]=a[d];else if(O(v))if(C)if(v.length===C)for(d=0;d<x;d++)q[d]=this.autoIncrement(),t[d]=a[d];else for(d=0;d<x;d++)e=a[d],q[d]=e[0],t[d]=e.slice(1,C+1);else if(w&&(y=w.indexOf("x"),I=w.indexOf("y"),y=0<=y?y:0,I=0<=I?
I:1),1===v.length&&(I=0),y===I)for(d=0;d<x;d++)q[d]=this.autoIncrement(),t[d]=a[d][I];else for(d=0;d<x;d++)e=a[d],q[d]=e[y],t[d]=e[I];else b(12,!1,m);else for(d=0;d<x;d++)e={series:f},f.pointClass.prototype.applyOptions.apply(e,[a[d]]),f.updateParallelArrays(e,d);t&&aa(t[0])&&b(14,!0,m);f.data=[];f.options.data=f.userOptions.data=a;for(d=l;d--;)null===(g=h[d])||void 0===g?void 0:g.destroy();r&&(r.minRange=r.userMinRange);f.isDirty=m.isDirtyBox=!0;f.isDirtyData=!!h;d=!1}"point"===k.legendType&&(this.processData(),
this.generatePoints());c&&m.redraw(d)}sortData(b){const a=this,c=a.options.dataSorting.sortKey||"y",d=function(b,a){return r(a)&&b.pointClass.prototype.optionsToObject.call({series:b},a)||{}};b.forEach(function(c,e){b[e]=d(a,c);b[e].index=e},this);b.concat().sort((b,a)=>{b=N(c,b);a=N(c,a);return a<b?-1:a>b?1:0}).forEach(function(b,a){b.x=a},this);a.linkedSeries&&a.linkedSeries.forEach(function(a){const c=a.options,e=c.data;c.dataSorting&&c.dataSorting.enabled||!e||(e.forEach(function(c,g){e[g]=d(a,
c);b[g]&&(e[g].x=b[g].x,e[g].index=g)}),a.setData(e,!1))});return b}getProcessedData(a){var c=this.xAxis,d=this.options,e=d.cropThreshold;const g=a||this.getExtremesFromAll||d.getExtremesFromAll,f=this.isCartesian;a=c&&c.val2lin;d=!(!c||!c.logarithmic);let h=0,l;let k,m,p=this.xData,r=this.yData,q=this.requireSorting;var n=!1;const t=p.length;c&&(n=c.getExtremes(),k=n.min,m=n.max,n=!(!c.categories||c.names.length));if(f&&this.sorted&&!g&&(!e||t>e||this.forceCrop))if(p[t-1]<k||p[0]>m)p=[],r=[];else if(this.yData&&
(p[0]<k||p[t-1]>m)){var C=this.cropData(this.xData,this.yData,k,m);p=C.xData;r=C.yData;h=C.start;C=!0}for(e=p.length||1;--e;)c=d?a(p[e])-a(p[e-1]):p[e]-p[e-1],0<c&&("undefined"===typeof l||c<l)?l=c:0>c&&q&&!n&&(b(15,!1,this.chart),q=!1);return{xData:p,yData:r,cropped:C,cropStart:h,closestPointRange:l}}processData(b){const a=this.xAxis;if(this.isCartesian&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!b)return!1;b=this.getProcessedData();this.cropped=b.cropped;this.cropStart=b.cropStart;this.processedXData=
b.xData;this.processedYData=b.yData;this.closestPointRange=this.basePointRange=b.closestPointRange;l(this,"afterProcessData")}cropData(b,a,c,d,e){const g=b.length;let f,h=0,l=g;e=H(e,this.cropShoulder);for(f=0;f<g;f++)if(b[f]>=c){h=Math.max(0,f-e);break}for(c=f;c<g;c++)if(b[c]>d){l=c+e;break}return{xData:b.slice(h,l),yData:a.slice(h,l),start:h,end:l}}generatePoints(){var b=this.options;const a=this.processedData||b.data,c=this.processedXData,d=this.processedYData,e=this.pointClass,f=c.length,h=this.cropStart||
0,k=this.hasGroupedData,m=b.keys,p=[];b=b.dataGrouping&&b.dataGrouping.groupAll?h:0;let r;let n,q,t=this.data;if(!t&&!k){var w=[];w.length=a.length;t=this.data=w}m&&k&&(this.options.keys=!1);for(q=0;q<f;q++)w=h+q,k?(n=(new e).init(this,[c[q]].concat(L(d[q]))),n.dataGroup=this.groupMap[b+q],n.dataGroup.options&&(n.options=n.dataGroup.options,g(n,n.dataGroup.options),delete n.dataLabels)):(n=t[w])||"undefined"===typeof a[w]||(t[w]=n=(new e).init(this,a[w],c[q])),n&&(n.index=k?b+q:w,p[q]=n);this.options.keys=
m;if(t&&(f!==(r=t.length)||k))for(q=0;q<r;q++)q!==h||k||(q+=f),t[q]&&(t[q].destroyElements(),t[q].plotX=void 0);this.data=t;this.points=p;l(this,"afterGeneratePoints")}getXExtremes(b){return{min:F(b),max:x(b)}}getExtremes(b,a){const c=this.xAxis;var d=this.yAxis;const e=this.processedXData||this.xData,g=[],f=this.requireSorting?this.cropShoulder:0;d=d?d.positiveValuesOnly:!1;let h,k=0,m=0,p=0;b=b||this.stackedYData||this.processedYData||[];const r=b.length;if(c){var q=c.getExtremes();k=q.min;m=q.max}for(h=
0;h<r;h++){var n=e[h];q=b[h];var t=(M(q)||O(q))&&(q.length||0<q||!d);n=a||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!c||(e[h+f]||n)>=k&&(e[h-f]||n)<=m;if(t&&n)if(t=q.length)for(;t--;)M(q[t])&&(g[p++]=q[t]);else g[p++]=q}b={activeYData:g,dataMin:F(g),dataMax:x(g)};l(this,"afterGetExtremes",{dataExtremes:b});return b}applyExtremes(){const b=this.getExtremes();this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b}getFirstValidPoint(b){const a=b.length;let c=0,d=null;for(;null===
d&&c<a;)d=b[c],c++;return d}translate(){var b;this.processedXData||this.processData();this.generatePoints();const a=this.options,c=a.stacking,e=this.xAxis,g=e.categories,f=this.enabledDataSorting,h=this.yAxis,k=this.points,m=k.length,q=this.pointPlacementToXValue(),n=!!q,t=a.threshold,w=a.startFromThreshold?t:0,u=this.zoneAxis||"y";let y,v,x,F,K=Number.MAX_VALUE;for(y=0;y<m;y++){const l=k[y],m=l.x;let C,I,N=l.y,Q=l.low;const A=c&&(null===(b=h.stacking)||void 0===b?void 0:b.stacks[(this.negStacks&&
N<(w?0:t)?"-":"")+this.stackKey]);v=e.translate(m,!1,!1,!1,!0,q);l.plotX=M(v)?p(d(v,-1E5,1E5)):void 0;c&&this.visible&&A&&A[m]&&(F=this.getStackIndicator(F,m,this.index),!l.isNull&&F.key&&(C=A[m],I=C.points[F.key]),C&&O(I)&&(Q=I[0],N=I[1],Q===w&&F.key===A[m].base&&(Q=H(M(t)?t:h.min)),h.positiveValuesOnly&&r(Q)&&0>=Q&&(Q=void 0),l.total=l.stackTotal=H(C.total),l.percentage=r(l.y)&&C.total?l.y/C.total*100:void 0,l.stackY=N,this.irregularWidths||C.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,
void 0,this.xAxis)));l.yBottom=r(Q)?d(h.translate(Q,!1,!0,!1,!0),-1E5,1E5):void 0;this.dataModify&&(N=this.dataModify.modifyValue(N,y));let z;M(N)&&void 0!==l.plotX&&(z=h.translate(N,!1,!0,!1,!0),z=M(z)?d(z,-1E5,1E5):void 0);l.plotY=z;l.isInside=this.isPointInside(l);l.clientX=n?p(e.translate(m,!1,!1,!1,!0,q)):v;l.negative=l[u]<(a[u+"Threshold"]||t||0);l.category=H(g&&g[l.x],l.x);l.isNull||!1===l.visible||("undefined"!==typeof x&&(K=Math.min(K,Math.abs(v-x))),x=v);l.zone=this.zones.length?l.getZone():
void 0;!l.graphic&&this.group&&f&&(l.isNew=!0)}this.closestPointRangePx=K;l(this,"afterTranslate")}getValidPoints(b,a,c){const d=this.chart;return(b||this.points||[]).filter(function(b){const {plotX:e,plotY:g}=b;return!c&&(b.isNull||!M(g))||a&&!d.isInsidePlot(e,g,{inverted:d.inverted})?!1:!1!==b.visible})}getClipBox(){const {chart:b,xAxis:a,yAxis:c}=this,d=U(b.clipBox);a&&a.len!==b.plotSizeX&&(d.width=a.len);c&&c.len!==b.plotSizeY&&(d.height=c.len);return d}getSharedClipKey(){return this.sharedClipKey=
(this.options.xAxis||0)+","+(this.options.yAxis||0)}setClip(){const {chart:b,group:a,markerGroup:c}=this,d=b.sharedClips,e=b.renderer,g=this.getClipBox(),f=this.getSharedClipKey();let h=d[f];h?h.animate(g):d[f]=h=e.clipRect(g);a&&a.clip(!1===this.options.clip?void 0:h);c&&c.clip()}animate(b){const {chart:a,group:c,markerGroup:d}=this,g=a.inverted;var f=e(this.options.animation),h=[this.getSharedClipKey(),f.duration,f.easing,f.defer].join();let l=a.sharedClips[h],k=a.sharedClips[h+"m"];if(b&&c)f=this.getClipBox(),
l?l.attr("height",f.height):(f.width=0,g&&(f.x=a.plotHeight),l=a.renderer.clipRect(f),a.sharedClips[h]=l,k=a.renderer.clipRect({x:-99,y:-99,width:g?a.plotWidth+199:99,height:g?99:a.plotHeight+199}),a.sharedClips[h+"m"]=k),c.clip(l),d&&d.clip(k);else if(l&&!l.hasClass("highcharts-animating")){h=this.getClipBox();const b=f.step;d&&d.element.childNodes.length&&(f.step=function(a,c){b&&b.apply(c,arguments);"width"===c.prop&&k&&k.element&&k.attr(g?"height":"width",a+99)});l.addClass("highcharts-animating").animate(h,
f)}}afterAnimate(){this.setClip();V(this.chart.sharedClips,(b,a,c)=>{b&&!this.chart.container.querySelector(`[clip-path="url(#${b.id})"]`)&&(b.destroy(),delete c[a])});this.finishedAnimating=!0;l(this,"afterAnimate")}drawPoints(b=this.points){const a=this.chart,c=a.styledMode,{colorAxis:d,options:e}=this,g=e.marker,f=this[this.specialGroup||"markerGroup"],h=this.xAxis,l=H(g.enabled,!h||h.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);let k,m,p,r;let q,n;if(!1!==g.enabled||
this._hasPointMarkers)for(k=0;k<b.length;k++){m=b[k];r=(p=m.graphic)?"animate":"attr";var t=m.marker||{};q=!!m.marker;if((l&&"undefined"===typeof t.enabled||t.enabled)&&!m.isNull&&!1!==m.visible){const b=H(t.symbol,this.symbol,"rect");n=this.markerAttribs(m,m.selected&&"select");this.enabledDataSorting&&(m.startXPos=h.reversed?-(n.width||0):h.width);const e=!1!==m.isInside;!p&&e&&(0<(n.width||0)||m.hasImage)&&(m.graphic=p=a.renderer.symbol(b,n.x,n.y,n.width,n.height,q?t:g).add(f),this.enabledDataSorting&&
a.hasRendered&&(p.attr({x:m.startXPos}),r="animate"));p&&"animate"===r&&p[e?"show":"hide"](e).animate(n);if(p)if(t=this.pointAttribs(m,c||!m.selected?void 0:"select"),c)d&&p.css({fill:t.fill});else p[r](t);p&&p.addClass(m.getClassName(),!0)}else p&&(m.graphic=p.destroy())}}markerAttribs(b,a){const c=this.options;var d=c.marker;const e=b.marker||{},g=e.symbol||d.symbol,f={};let h=H(e.radius,d&&d.radius);a&&(d=d.states[a],a=e.states&&e.states[a],h=H(a&&a.radius,d&&d.radius,h&&h+(d&&d.radiusPlus||0)));
b.hasImage=g&&0===g.indexOf("url");b.hasImage&&(h=0);b=b.pos();M(h)&&b&&(f.x=b[0]-h,f.y=b[1]-h,c.crisp&&(f.x=Math.floor(f.x)));h&&(f.width=f.height=2*h);return f}pointAttribs(b,a){var c=this.options.marker,d=b&&b.options;const e=d&&d.marker||{};var g=d&&d.color,f=b&&b.color;const h=b&&b.zone&&b.zone.color;let l=this.color;b=H(e.lineWidth,c.lineWidth);d=1;l=g||h||f||l;g=e.fillColor||c.fillColor||l;f=e.lineColor||c.lineColor||l;a=a||"normal";c=c.states[a]||{};a=e.states&&e.states[a]||{};b=H(a.lineWidth,
c.lineWidth,b+H(a.lineWidthPlus,c.lineWidthPlus,0));g=a.fillColor||c.fillColor||g;f=a.lineColor||c.lineColor||f;d=H(a.opacity,c.opacity,d);return{stroke:f,"stroke-width":b,fill:g,opacity:d}}destroy(b){const a=this,c=a.chart,d=/AppleWebKit\/533/.test(f.navigator.userAgent),e=a.data||[];let g,h,k,m;l(a,"destroy",{keepEventsForUpdate:b});this.removeEvents(b);(a.axisTypes||[]).forEach(function(b){(m=a[b])&&m.series&&(y(m.series,a),m.isDirty=m.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);
for(h=e.length;h--;)(k=e[h])&&k.destroy&&k.destroy();a.clips&&a.clips.forEach(b=>b.destroy());u.clearTimeout(a.animationTimeout);V(a,function(b,a){b instanceof v&&!b.survive&&(g=d&&"group"===a?"hide":"destroy",b[g]())});c.hoverSeries===a&&(c.hoverSeries=void 0);y(c.series,a);c.orderSeries();V(a,function(c,d){b&&"hcEvents"===d||delete a[d]})}applyZones(){const b=this,a=this.chart,c=a.renderer,e=this.zones,g=this.clips||[],f=this.graph,h=this.area,l=Math.max(a.plotWidth,a.plotHeight),k=this[(this.zoneAxis||
"y")+"Axis"],m=a.inverted;let p,r,q,n,t,w,u,y,v,x,F,K=!1;e.length&&(f||h)&&k&&"undefined"!==typeof k.min?(t=k.reversed,w=k.horiz,f&&!this.showLine&&f.hide(),h&&h.hide(),n=k.getExtremes(),e.forEach(function(e,C){p=t?w?a.plotWidth:0:w?0:k.toPixels(n.min)||0;p=d(H(r,p),0,l);r=d(Math.round(k.toPixels(H(e.value,n.max),!0)||0),0,l);K&&(p=r=k.toPixels(n.max));u=Math.abs(p-r);y=Math.min(p,r);v=Math.max(p,r);k.isXAxis?(q={x:m?v:y,y:0,width:u,height:l},w||(q.x=a.plotHeight-q.x)):(q={x:0,y:m?v:y,width:l,height:u},
w&&(q.y=a.plotWidth-q.y));g[C]?g[C].animate(q):g[C]=c.clipRect(q);x=b["zone-area-"+C];F=b["zone-graph-"+C];f&&F&&F.clip(g[C]);h&&x&&x.clip(g[C]);K=e.value>n.max;b.resetZones&&0===r&&(r=void 0)}),this.clips=g):b.visible&&(f&&f.show(),h&&h.show())}plotGroup(b,a,c,d,e){let g=this[b];const f=!g;c={visibility:c,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(c.opacity=this.opacity);f&&(this[b]=g=this.chart.renderer.g().add(e));g.addClass("highcharts-"+
a+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(r(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr(c)[f?"attr":"animate"](this.getPlotBox(a));return g}getPlotBox(b){let a=this.xAxis,c=this.yAxis;const d=this.chart;b=d.inverted&&!d.polar&&a&&!1!==this.invertible&&"series"===b;d.inverted&&(a=c,c=this.xAxis);return{translateX:a?a.left:d.plotLeft,translateY:c?c.top:d.plotTop,
rotation:b?90:0,rotationOriginX:b?(a.len-c.len)/2:0,rotationOriginY:b?(a.len+c.len)/2:0,scaleX:b?-1:1,scaleY:1}}removeEvents(b){b||P(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length=0)}render(){const b=this;var a=b.chart;const c=b.options,d=e(c.animation),g=b.visible?"inherit":"hidden",f=c.zIndex,h=b.hasRendered;a=a.seriesGroup;let k=b.finishedAnimating?0:d.duration;l(this,"render");b.plotGroup("group","series",g,f,a);b.markerGroup=b.plotGroup("markerGroup",
"markers",g,f,a);!1!==c.clip&&b.setClip();b.animate&&k&&b.animate(!0);b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&&b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&&!1!==b.options.enableMouseTracking&&b.drawTracker();b.animate&&k&&b.animate();h||(k&&d.defer&&(k+=d.defer),b.animationTimeout=fa(function(){b.afterAnimate()},k||0));b.isDirty=!1;b.hasRendered=!0;l(b,"afterRender")}redraw(){const b=this.isDirty||this.isDirtyData;this.translate();
this.render();b&&delete this.kdTree}searchPoint(b,a){const c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-b.chartY+c.pos:b.chartX-c.pos,plotY:e?d.len-b.chartX+d.pos:b.chartY-d.pos},a,b)}buildKDTree(b){function a(b,d,e){var g=b&&b.length;let f;if(g)return f=c.kdAxisArray[d%e],b.sort(function(b,a){return b[f]-a[f]}),g=Math.floor(g/2),{point:b[g],left:a(b.slice(0,g),d+1,e),right:a(b.slice(g+1),d+1,e)}}this.buildingKdTree=!0;const c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?
2:1;delete c.kdTree;fa(function(){c.kdTree=a(c.getValidPoints(null,!c.directTouch),d,d);c.buildingKdTree=!1},c.options.kdNow||b&&"touchstart"===b.type?0:1)}searchKDTree(b,a,c){function d(b,a,c,l){const k=a.point;var m=e.kdAxisArray[c%l];let p=k;var q=r(b[g])&&r(k[g])?Math.pow(b[g]-k[g],2):null;var n=r(b[f])&&r(k[f])?Math.pow(b[f]-k[f],2):null;n=(q||0)+(n||0);k.dist=r(n)?Math.sqrt(n):Number.MAX_VALUE;k.distX=r(q)?Math.sqrt(q):Number.MAX_VALUE;m=b[m]-k[m];n=0>m?"left":"right";q=0>m?"right":"left";a[n]&&
(n=d(b,a[n],c+1,l),p=n[h]<p[h]?n:k);a[q]&&Math.sqrt(m*m)<p[h]&&(b=d(b,a[q],c+1,l),p=b[h]<p[h]?b:p);return p}const e=this,g=this.kdAxisArray[0],f=this.kdAxisArray[1],h=a?"distX":"dist";a=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);if(this.kdTree)return d(b,this.kdTree,a,a)}pointPlacementToXValue(){const {options:{pointPlacement:b,pointRange:a},xAxis:c}=this;let d=b;"between"===d&&(d=c.reversed?-.5:.5);return M(d)?d*(a||c.pointRange):0}isPointInside(b){const {chart:a,
xAxis:c,yAxis:d}=this;return"undefined"!==typeof b.plotY&&"undefined"!==typeof b.plotX&&0<=b.plotY&&b.plotY<=(d?d.len:a.plotHeight)&&0<=b.plotX&&b.plotX<=(c?c.len:a.plotWidth)}drawTracker(){const b=this,a=b.options,c=a.trackByArea,d=[].concat(c?b.areaPath:b.graphPath),e=b.chart,g=e.pointer,f=e.renderer,h=e.options.tooltip.snap,k=b.tracker,m=function(a){if(e.hoverSeries!==b)b.onMouseOver()},p="rgba(192,192,192,"+(n?.0001:.002)+")";k?k.attr({d}):b.graph&&(b.tracker=f.path(d).attr({visibility:b.visible?
"inherit":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":"highcharts-tracker-line").add(b.group),e.styledMode||b.tracker.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:p,fill:c?p:"none","stroke-width":b.graph.strokeWidth()+(c?0:2*h)}),[b.tracker,b.markerGroup,b.dataLabelsGroup].forEach(function(b){if(b&&(b.addClass("highcharts-tracker").on("mouseover",m).on("mouseout",function(b){g.onTrackerMouseOut(b)}),a.cursor&&!e.styledMode&&b.css({cursor:a.cursor}),t))b.on("touchstart",
m)}));l(this,"afterDrawTracker")}addPoint(b,a,c,d,e){const g=this.options,f=this.data,h=this.chart;var k=this.xAxis;k=k&&k.hasNames&&k.names;const m=g.data,p=this.xData;let r,q;a=H(a,!0);const n={series:this};this.pointClass.prototype.applyOptions.apply(n,[b]);const t=n.x;q=p.length;if(this.requireSorting&&t<p[q-1])for(r=!0;q&&p[q-1]>t;)q--;this.updateParallelArrays(n,"splice",[q,0,0]);this.updateParallelArrays(n,q);k&&n.name&&(k[t]=n.name);m.splice(q,0,b);if(r||this.processedData)this.data.splice(q,
0,null),this.processData();"point"===g.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(n,"shift"),m.shift()));!1!==e&&l(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;a&&h.redraw(d)}removePoint(b,a,c){const d=this,e=d.data,g=e[b],f=d.points,h=d.chart,l=function(){f&&f.length===e.length&&f.splice(b,1);e.splice(b,1);d.options.data.splice(b,1);d.updateParallelArrays(g||{series:d},"splice",[b,1]);g&&g.destroy();d.isDirty=!0;d.isDirtyData=
!0;a&&h.redraw()};m(c,h);a=H(a,!0);g?g.firePointEvent("remove",null,l):l()}remove(b,a,c,d){function e(){g.destroy(d);f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries(d);H(b,!0)&&f.redraw(a)}const g=this,f=g.chart;!1!==c?l(g,"remove",null,e):e()}update(a,c){a=h(a,this.userOptions);l(this,"update",{options:a});const d=this,e=d.chart;var f=d.userOptions;const k=d.initialType||d.type;var m=e.options.plotOptions;const p=q[k].prototype;var r=d.finishedAnimating&&{animation:!1};const n={};let t,w=["eventOptions",
"navigatorSeries","baseSeries"],u=a.type||f.type||e.options.chart.type;const y=!(this.hasDerivedData||u&&u!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||d.hasOptionChanged("dataGrouping")||d.hasOptionChanged("pointStart")||d.hasOptionChanged("pointInterval")||d.hasOptionChanged("pointIntervalUnit")||d.hasOptionChanged("keys"));u=u||k;y&&(w.push("data","isDirtyData","points","processedData","processedXData",
"processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&w.push("area","graph"),d.parallelArrays.forEach(function(b){w.push(b+"Data")}),a.data&&(a.dataSorting&&g(d.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=U(f,r,{index:"undefined"===typeof f.index?d.index:f.index,pointStart:H(m&&m.series&&m.series.pointStart,f.pointStart,d.xData[0])},!y&&{data:d.options.data},a);
y&&a.data&&(a.data=d.options.data);w=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(w);w.forEach(function(b){w[b]=d[b];delete d[b]});m=!1;if(q[u]){if(m=u!==d.type,d.remove(!1,!1,!1,!0),m)if(Object.setPrototypeOf)Object.setPrototypeOf(d,q[u].prototype);else{r=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(t in p)d[t]=void 0;g(d,q[u].prototype);r?d.hcEvents=r:delete d.hcEvents}}else b(17,!0,e,{missingModuleFor:u});w.forEach(function(b){d[b]=w[b]});d.init(e,a);if(y&&this.points){a=
d.options;if(!1===a.visible)n.graphic=1,n.dataLabel=1;else if(!d._hasPointLabels){const {marker:b,dataLabels:c}=a;f=f.marker||{};!b||!1!==b.enabled&&f.symbol===b.symbol&&f.height===b.height&&f.width===b.width||(n.graphic=1);c&&!1===c.enabled&&(n.dataLabel=1)}for(const b of this.points)b&&b.series&&(b.resolveColor(),Object.keys(n).length&&b.destroyElements(n),!1===a.showInLegend&&b.legendItem&&e.legend.destroyItem(b))}d.initialType=k;e.linkSeries();m&&d.linkedSeries.length&&(d.isDirtyData=!0);l(this,
"afterUpdate");H(c,!0)&&e.redraw(y?void 0:!1)}setName(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0}hasOptionChanged(b){const a=this.options[b],c=this.chart.options.plotOptions,d=this.userOptions[b];return d?a!==d:a!==H(c&&c[this.type]&&c[this.type][b],c&&c.series&&c.series[b],a)}onMouseOver(){const b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex();if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&l(this,"mouseOver");this.setState("hover");
b.hoverSeries=this}onMouseOut(){const b=this.options,a=this.chart,c=a.tooltip,d=a.hoverPoint;a.hoverSeries=null;if(d)d.onMouseOut();this&&b.events.mouseOut&&l(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();a.series.forEach(function(b){b.setState("",!0)})}setState(b,a){const c=this;var d=c.options;const e=c.graph,g=d.inactiveOtherPoints,f=d.states,h=H(f[b||"normal"]&&f[b||"normal"].animation,c.chart.options.chart.animation);let l=d.lineWidth,k=0,m=d.opacity;b=b||
"";if(c.state!==b&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(a){a&&(c.state&&a.removeClass("highcharts-series-"+c.state),b&&a.addClass("highcharts-series-"+b))}),c.state=b,!c.chart.styledMode)){if(f[b]&&!1===f[b].enabled)return;b&&(l=f[b].lineWidth||l+(f[b].lineWidthPlus||0),m=H(f[b].opacity,m));if(e&&!e.dashstyle&&M(l))for(d={"stroke-width":l},e.animate(d,h);c["zone-graph-"+k];)c["zone-graph-"+k].animate(d,h),k+=1;g||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(b){b&&
b.animate({opacity:m},h)})}a&&g&&c.points&&c.setAllPointsToState(b||void 0)}setAllPointsToState(b){this.points.forEach(function(a){a.setState&&a.setState(b)})}setVisible(b,a){const c=this,d=c.chart,e=d.options.chart.ignoreHiddenSeries,g=c.visible,f=(c.visible=b=c.options.visible=c.userOptions.visible="undefined"===typeof b?!g:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(c[b])c[b][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===
c)c.onMouseOut();c.legendItem&&d.legend.colorizeItem(c,b);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});c.linkedSeries.forEach(function(a){a.setVisible(b,!1)});e&&(d.isDirtyBox=!0);l(c,f);!1!==a&&d.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(b){this.selected=b=this.options.selected="undefined"===typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);l(this,b?"select":"unselect")}shouldShowTooltip(b,
a,c={}){c.series=this;c.visiblePlotOnly=!0;return this.chart.isInsidePlot(b,a,c)}drawLegendSymbol(b,a){var c;null===(c=B[this.options.legendSymbol||"rectangle"])||void 0===c?void 0:c.call(this,b,a)}}Z.defaultOptions=D;Z.types=A.seriesTypes;Z.registerType=A.registerSeriesType;g(Z.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:E,requireSorting:!0,sorted:!0});A.series=
Z;"";"";return Z});L(a,"Extensions/ScrollablePlotArea.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Series/Series.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {stop:x}=a,{addEvent:A,createElement:v,defined:u,merge:e,pick:m}=E;A(G,"afterSetChartSize",function(a){var k=this.options.chart.scrollablePlotArea,m=k&&k.minWidth;k=k&&k.minHeight;let n;if(!this.renderer.forExport){if(m){if(this.scrollablePixelsX=
m=Math.max(0,m-this.chartWidth))this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox),this.plotBox.width=this.plotWidth+=m,this.inverted?this.clipBox.height+=m:this.clipBox.width+=m,n={1:{name:"right",value:m}}}else k&&(this.scrollablePixelsY=m=Math.max(0,k-this.chartHeight),u(m)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox),this.plotBox.height=this.plotHeight+=m,this.inverted?this.clipBox.width+=m:this.clipBox.height+=m,n={2:{name:"bottom",value:m}}));
n&&!a.skipAxes&&this.axes.forEach(function(a){n[a.side]?a.getPlotLinePath=function(){let e=n[a.side].name,f=this[e],k;this[e]=f-n[a.side].value;k=z.prototype.getPlotLinePath.apply(this,arguments);this[e]=f;return k}:(a.setAxisSize(),a.setAxisTranslation())})}});A(G,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});G.prototype.setUpScrolling=function(){const a={WebkitOverflowScrolling:"touch",
overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(a.overflowX="auto");this.scrollablePixelsY&&(a.overflowY="auto");this.scrollingParent=v("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=v("div",{className:"highcharts-scrolling"},a,this.scrollingParent);let e;A(this.scrollingContainer,"scroll",()=>{this.pointer&&(delete this.pointer.chartPosition,this.hoverPoint&&(e=this.hoverPoint),this.pointer.runPointActions(void 0,e,!0))});
this.innerContainer=v("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};G.prototype.moveFixedElements=function(){let a=this.container,e=this.fixedRenderer,m=".highcharts-breadcrumbs-group .highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),
n;this.scrollablePixelsX&&!this.inverted?n=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(n=".highcharts-yaxis");n&&m.push(`${n}:not(.highcharts-radial-axis)`,`${n}-labels:not(.highcharts-radial-axis-labels)`);m.forEach(function(f){[].forEach.call(a.querySelectorAll(f),function(a){(a.namespaceURI===e.SVG_NS?e.box:e.box.parentNode).appendChild(a);a.style.pointerEvents=
"auto"})})};G.prototype.applyFixed=function(){var a=!this.fixedDiv,e=this.options.chart,t=e.scrollablePlotArea,n=B.getRendererType();a?(this.fixedDiv=v("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new n(this.fixedDiv,this.chartWidth,
this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":m(t.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),A(this,"afterShowResetZoom",this.moveFixedElements),A(this,"afterApplyDrilldown",this.moveFixedElements),A(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||a)this.scrollableDirty=!1,this.moveFixedElements();
e=this.chartWidth+(this.scrollablePixelsX||0);n=this.chartHeight+(this.scrollablePixelsY||0);x(this.container);this.container.style.width=e+"px";this.container.style.height=n+"px";this.renderer.boxWrapper.attr({width:e,height:n,viewBox:[0,0,e,n].join(" ")});this.chartBackground.attr({width:e,height:n});this.scrollingContainer.style.height=this.chartHeight+"px";a&&(t.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*t.scrollPositionX),t.scrollPositionY&&(this.scrollingContainer.scrollTop=
this.scrollablePixelsY*t.scrollPositionY));n=this.axisOffset;a=this.plotTop-n[0]-1;t=this.plotLeft-n[3]-1;e=this.plotTop+this.plotHeight+n[2]+1;n=this.plotLeft+this.plotWidth+n[1]+1;let f=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),q=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);a=this.scrollablePixelsX?[["M",0,a],["L",this.plotLeft-1,a],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",f,a],["L",this.chartWidth,a],["L",this.chartWidth,e],["L",f,e],["Z"]]:this.scrollablePixelsY?
[["M",t,0],["L",t,this.plotTop-1],["L",n,this.plotTop-1],["L",n,0],["Z"],["M",t,q],["L",t,this.chartHeight],["L",n,this.chartHeight],["L",n,q],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:a})};A(z,"afterInit",function(){this.chart.scrollableDirty=!0});A(J,"show",function(){this.chart.scrollableDirty=!0});""});L(a,"Core/Axis/Stacking/StackItem.js",[a["Core/FormatUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {format:x}=
a,{series:B}=z,{destroyObjectProperties:E,fireEvent:D,isNumber:A,pick:v}=G;class u{constructor(a,m,w,k,t){const e=a.chart.inverted,f=a.reversed;this.axis=a;a=this.isNegative=!!w!==!!f;this.options=m=m||{};this.x=k;this.cumulative=this.total=null;this.points={};this.hasValidPoints=!1;this.stack=t;this.rightCliff=this.leftCliff=0;this.alignOptions={align:m.align||(e?a?"left":"right":"center"),verticalAlign:m.verticalAlign||(e?"middle":a?"bottom":"top"),y:m.y,x:m.x};this.textAlign=m.textAlign||(e?a?
"right":"left":"center")}destroy(){E(this,this.axis)}render(a){const e=this.axis.chart,w=this.options;var k=w.format;k=k?x(k,this,e):w.formatter.call(this);this.label?this.label.attr({text:k,visibility:"hidden"}):(this.label=e.renderer.label(k,null,void 0,w.shape,void 0,void 0,w.useHTML,!1,"stack-labels"),k={r:w.borderRadius||0,text:k,padding:v(w.padding,5),visibility:"hidden"},e.styledMode||(k.fill=w.backgroundColor,k.stroke=w.borderColor,k["stroke-width"]=w.borderWidth,this.label.css(w.style||{})),
this.label.attr(k),this.label.added||this.label.add(a));this.label.labelrank=e.plotSizeY;D(this,"afterRender")}setOffset(a,m,w,k,t,n){const {alignOptions:e,axis:q,label:u,options:x,textAlign:d}=this,h=q.chart;w=this.getStackBox({xOffset:a,width:m,boxBottom:w,boxTop:k,defaultX:t,xAxis:n});var {verticalAlign:p}=e;if(u&&w){k=u.getBBox();t=u.padding;n="justify"===v(x.overflow,"justify");e.x=x.x||0;e.y=x.y||0;const {x:a,y:f}=this.adjustStackPosition({labelBox:k,verticalAlign:p,textAlign:d});w.x-=a;w.y-=
f;u.align(e,!1,w);(p=h.isInsidePlot(u.alignAttr.x+e.x+a,u.alignAttr.y+e.y+f))||(n=!1);n&&B.prototype.justifyDataLabel.call(q,u,e,u.alignAttr,k,w);u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:x.rotation,rotationOriginX:k.width/2,rotationOriginY:k.height/2});v(!n&&x.crop,!0)&&(p=A(u.x)&&A(u.y)&&h.isInsidePlot(u.x-t+u.width,u.y)&&h.isInsidePlot(u.x+t,u.y));u[p?"show":"hide"]()}D(this,"afterSetOffset",{xOffset:a,width:m})}adjustStackPosition({labelBox:a,verticalAlign:m,textAlign:u}){const e={bottom:0,
middle:1,top:2,right:1,center:0,left:-1};return{x:a.width/2+a.width/2*e[u],y:a.height/2*e[m]}}getStackBox(a){var e=this.axis;const u=e.chart,{boxTop:k,defaultX:t,xOffset:n,width:f,boxBottom:q}=a;var x=e.stacking.usePercentage?100:v(k,this.total,0);x=e.toPixels(x);a=a.xAxis||u.xAxis[0];const F=v(t,a.translate(this.x))+n;e=e.toPixels(q||A(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0);e=Math.abs(x-e);const d=this.isNegative;return u.inverted?{x:(d?x:x-e)-u.plotLeft,y:a.height-F-f,width:e,height:f}:
{x:F+a.transB-u.plotLeft,y:(d?x-e:x)-u.plotTop,width:f,height:e}}}"";return u});L(a,"Core/Axis/Stacking/StackingAxis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){function x(){const b=this,a=b.inverted;b.yAxis.forEach(b=>{b.stacking&&b.stacking.stacks&&b.hasVisibleSeries&&(b.stacking.oldStacks=b.stacking.stacks)});b.series.forEach(c=>{const d=c.xAxis&&c.xAxis.options||
{};!c.options.stacking||!0!==c.visible&&!1!==b.options.chart.ignoreHiddenSeries||(c.stackKey=[c.type,r(c.options.stack,""),a?d.top:d.left,a?d.height:d.width].join())})}function D(){const b=this.stacking;if(b){var a=b.stacks;p(a,function(b,c){K(b);a[c]=null});b&&b.stackTotalGroup&&b.stackTotalGroup.destroy()}}function A(){"yAxis"!==this.coll||this.stacking||(this.stacking=new y(this))}function v(b,a,d,e){!q(b)||b.x!==a||e&&b.stackKey!==e?b={x:a,index:0,key:e,stackKey:e}:b.index++;b.key=[d,a,b.index].join();
return b}function u(){const b=this,a=b.stackKey,d=b.yAxis.stacking.stacks,e=b.processedXData,f=b[b.options.stacking+"Stacker"];let h;f&&[a,"-"+a].forEach(a=>{let c=e.length;let g;for(;c--;){var l=e[c];h=b.getStackIndicator(h,l,b.index,a);(g=(l=d[a]&&d[a][l])&&l.points[h.key])&&f.call(b,g,l,c)}})}function e(b,a,d){a=a.total?100/a.total:0;b[0]=f(b[0]*a);b[1]=f(b[1]*a);this.stackedYData[d]=b[1]}function m(){const b=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&
!this.options.stacking&&1<this.chart.series.length?t.setStackedPoints.call(this,"group"):b&&p(b.stacks,(a,d)=>{"group"===d.slice(-5)&&(p(a,b=>b.destroy()),delete b.stacks[d])})}function w(b){var a=this.chart;const e=b||this.options.stacking;if(e&&(!0===this.visible||!1===a.options.chart.ignoreHiddenSeries)){var g=this.processedXData,h=this.processedYData,k=[],m=h.length,p=this.options,n=p.threshold,t=r(p.startFromThreshold&&n,0);p=p.stack;b=b?`${this.type},${e}`:this.stackKey;var u="-"+b,w=this.negStacks;
a="group"===e?a.yAxis[0]:this.yAxis;var y=a.stacking.stacks,v=a.stacking.oldStacks,x,F;a.stacking.stacksTouched+=1;for(F=0;F<m;F++){var A=g[F];var K=h[F];var z=this.getStackIndicator(z,A,this.index);var B=z.key;var D=(x=w&&K<(t?0:n))?u:b;y[D]||(y[D]={});y[D][A]||(v[D]&&v[D][A]?(y[D][A]=v[D][A],y[D][A].total=null):y[D][A]=new J(a,a.options.stackLabels,!!x,A,p));D=y[D][A];null!==K?(D.points[B]=D.points[this.index]=[r(D.cumulative,t)],q(D.cumulative)||(D.base=B),D.touched=a.stacking.stacksTouched,0<
z.index&&!1===this.singleStacks&&(D.points[B][0]=D.points[this.index+","+A+",0"][0])):D.points[B]=D.points[this.index]=null;"percent"===e?(x=x?b:u,w&&y[x]&&y[x][A]?(x=y[x][A],D.total=x.total=Math.max(x.total,D.total)+Math.abs(K)||0):D.total=f(D.total+(Math.abs(K)||0))):"group"===e?(d(K)&&(K=K[0]),null!==K&&(D.total=(D.total||0)+1)):D.total=f(D.total+(K||0));D.cumulative="group"===e?(D.total||1)-1:f(r(D.cumulative,t)+(K||0));null!==K&&(D.points[B].push(D.cumulative),k[F]=D.cumulative,D.hasValidPoints=
!0)}"percent"===e&&(a.stacking.usePercentage=!0);"group"!==e&&(this.stackedYData=k);a.stacking.oldStacks={}}}const {getDeferredAnimation:k}=a,{series:{prototype:t}}=G,{addEvent:n,correctFloat:f,defined:q,destroyObjectProperties:K,fireEvent:F,isArray:d,isNumber:h,objectEach:p,pick:r}=B;class y{constructor(b){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=b}buildStacks(){const b=this.axis,a=b.series,d=b.options.reversedStacks,e=a.length;let f,h;this.usePercentage=!1;for(h=e;h--;)f=
a[d?h:e-h-1],f.setStackedPoints(),f.setGroupedPoints();for(h=0;h<e;h++)a[h].modifyStacks();F(b,"afterBuildStacks")}cleanStacks(){let b;this.oldStacks&&(b=this.stacks=this.oldStacks);p(b,function(b){p(b,function(b){b.cumulative=b.total})})}resetStacks(){p(this.stacks,b=>{p(b,(a,d)=>{h(a.touched)&&a.touched<this.stacksTouched?(a.destroy(),delete b[d]):(a.total=null,a.cumulative=null)})})}renderStackTotals(){var b=this.axis;const a=b.chart,d=a.renderer,e=this.stacks;b=k(a,b.options.stackLabels&&b.options.stackLabels.animation||
!1);const f=this.stackTotalGroup=this.stackTotalGroup||d.g("stack-labels").attr({zIndex:6,opacity:0}).add();f.translate(a.plotLeft,a.plotTop);p(e,function(b){p(b,function(b){b.render(f)})});f.animate({opacity:1},b)}}var b;(function(b){const a=[];b.compose=function(b,c,d){B.pushUnique(a,b)&&(n(b,"init",A),n(b,"destroy",D));B.pushUnique(a,c)&&(c.prototype.getStacks=x);B.pushUnique(a,d)&&(b=d.prototype,b.getStackIndicator=v,b.modifyStacks=u,b.percentStacker=e,b.setGroupedPoints=m,b.setStackedPoints=
w)}})(b||(b={}));return b});L(a,"Series/Line/LineSeries.js",[a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {defined:x,merge:B}=G;class E extends a{constructor(){super(...arguments);this.points=this.options=this.data=void 0}drawGraph(){const a=this,x=this.options,v=(this.gappedPath||this.getGraphPath).call(this),u=this.chart.styledMode;let e=[["graph","highcharts-graph"]];u||e[0].push(x.lineColor||this.color||"#cccccc",x.dashStyle);e=a.getZonesGraphs(e);
e.forEach(function(e,w){var k=e[0];let m=a[k];const n=m?"animate":"attr";m?(m.endX=a.preventGraphAnimation?null:v.xMap,m.animate({d:v})):v.length&&(a[k]=m=a.chart.renderer.path(v).addClass(e[1]).attr({zIndex:1}).add(a.group));m&&!u&&(k={stroke:e[2],"stroke-width":x.lineWidth||0,fill:a.fillGraph&&a.color||"none"},e[3]?k.dashstyle=e[3]:"square"!==x.linecap&&(k["stroke-linecap"]=k["stroke-linejoin"]="round"),m[n](k).shadow(2>w&&x.shadow));m&&(m.startX=v.xMap,m.isArea=v.isArea)})}getGraphPath(a,A,v){const u=
this,e=u.options,m=[],w=[];let k,t=e.step;a=a||u.points;const n=a.reversed;n&&a.reverse();(t={right:1,center:2}[t]||t&&3)&&n&&(t=4-t);a=this.getValidPoints(a,!1,!(e.connectNulls&&!A&&!v));a.forEach(function(f,n){const q=f.plotX,F=f.plotY,d=a[n-1],h=f.isNull||"number"!==typeof F;(f.leftCliff||d&&d.rightCliff)&&!v&&(k=!0);h&&!x(A)&&0<n?k=!e.connectNulls:h&&!A?k=!0:(0===n||k?n=[["M",f.plotX,f.plotY]]:u.getPointSpline?n=[u.getPointSpline(a,f,n)]:t?(n=1===t?[["L",d.plotX,F]]:2===t?[["L",(d.plotX+q)/2,
d.plotY],["L",(d.plotX+q)/2,F]]:[["L",q,d.plotY]],n.push(["L",q,F])):n=[["L",q,F]],w.push(f.x),t&&(w.push(f.x),2===t&&w.push(f.x)),m.push.apply(m,n),k=!1)});m.xMap=w;return u.graphPath=m}getZonesGraphs(a){this.zones.forEach(function(x,v){v=["zone-graph-"+v,"highcharts-graph highcharts-zone-graph-"+v+" "+(x.className||"")];this.chart.styledMode||v.push(x.color||this.color,x.dashStyle||this.options.dashStyle);a.push(v)},this);return a}}E.defaultOptions=B(a.defaultOptions,{legendSymbol:"lineMarker"});
z.registerSeriesType("line",E);"";return E});L(a,"Series/Area/AreaSeries.js",[a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {seriesTypes:{line:x}}=z,{extend:B,merge:E,objectEach:D,pick:A}=G;class v extends x{constructor(){super(...arguments);this.points=this.options=this.data=void 0}drawGraph(){this.areaPath=[];super.drawGraph.apply(this);const a=this,e=this.areaPath,m=this.options,w=[["area","highcharts-area",this.color,m.fillColor]];this.zones.forEach(function(e,
t){w.push(["zone-area-"+t,"highcharts-area highcharts-zone-area-"+t+" "+e.className,e.color||a.color,e.fillColor||m.fillColor])});w.forEach(function(k){const t=k[0],n={};let f=a[t];const q=f?"animate":"attr";f?(f.endX=a.preventGraphAnimation?null:e.xMap,f.animate({d:e})):(n.zIndex=0,f=a[t]=a.chart.renderer.path(e).addClass(k[1]).add(a.group),f.isArea=!0);a.chart.styledMode||(k[3]?n.fill=k[3]:(n.fill=k[2],n["fill-opacity"]=A(m.fillOpacity,.75)));f[q](n);f.startX=e.xMap;f.shiftUnit=m.step?2:1})}getGraphPath(a){var e=
x.prototype.getGraphPath,m=this.options;const w=m.stacking,k=this.yAxis,t=[],n=[],f=this.index,q=k.stacking.stacks[this.stackKey],u=m.threshold,v=Math.round(k.getThreshold(m.threshold));m=A(m.connectNulls,"percent"===w);var d=function(d,b,e){var c=a[d];d=w&&q[c.x].points[f];const g=c[e+"Null"]||0;e=c[e+"Cliff"]||0;let m,p;c=!0;e||g?(m=(g?d[0]:d[1])+e,p=d[0]+e,c=!!g):!w&&a[b]&&a[b].isNull&&(m=p=u);"undefined"!==typeof m&&(n.push({plotX:h,plotY:null===m?v:k.getThreshold(m),isNull:c,isCliff:!0}),t.push({plotX:h,
plotY:null===p?v:k.getThreshold(p),doCurve:!1}))};let h;a=a||this.points;w&&(a=this.getStackPoints(a));for(let e=0,b=a.length;e<b;++e){w||(a[e].leftCliff=a[e].rightCliff=a[e].leftNull=a[e].rightNull=void 0);var p=a[e].isNull;h=A(a[e].rectPlotX,a[e].plotX);var r=w?A(a[e].yBottom,v):v;if(!p||m)m||d(e,e-1,"left"),p&&!w&&m||(n.push(a[e]),t.push({x:e,plotX:h,plotY:r})),m||d(e,e+1,"right")}d=e.call(this,n,!0,!0);t.reversed=!0;p=e.call(this,t,!0,!0);(r=p[0])&&"M"===r[0]&&(p[0]=["L",r[1],r[2]]);p=d.concat(p);
p.length&&p.push(["Z"]);e=e.call(this,n,!1,m);p.xMap=d.xMap;this.areaPath=p;return e}getStackPoints(a){const e=this,m=[],w=[],k=this.xAxis,t=this.yAxis,n=t.stacking.stacks[this.stackKey],f={},q=t.series,u=q.length,x=t.options.reversedStacks?1:-1,d=q.indexOf(e);a=a||this.points;if(this.options.stacking){for(let d=0;d<a.length;d++)a[d].leftNull=a[d].rightNull=void 0,f[a[d].x]=a[d];D(n,function(a,d){null!==a.total&&w.push(d)});w.sort(function(a,d){return a-d});const h=q.map(a=>a.visible);w.forEach(function(a,
r){let p=0,b,g;if(f[a]&&!f[a].isNull)m.push(f[a]),[-1,1].forEach(function(c){const l=1===c?"rightNull":"leftNull",k=n[w[r+c]];let m=0;if(k){let c=d;for(;0<=c&&c<u;){const d=q[c].index;b=k.points[d];b||(d===e.index?f[a][l]=!0:h[c]&&(g=n[a].points[d])&&(m-=g[1]-g[0]));c+=x}}f[a][1===c?"rightCliff":"leftCliff"]=m});else{let c=d;for(;0<=c&&c<u;){if(b=n[a].points[q[c].index]){p=b[1];break}c+=x}p=A(p,0);p=t.translate(p,0,1,0,1);m.push({isNull:!0,plotX:k.translate(a,0,0,0,1),x:a,plotY:p,yBottom:p})}})}return m}}
v.defaultOptions=E(x.defaultOptions,{threshold:0,legendSymbol:"rectangle"});B(v.prototype,{singleStacks:!1});z.registerSeriesType("area",v);"";return v});L(a,"Series/Spline/SplineSeries.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z){const {line:x}=a.seriesTypes,{merge:J,pick:B}=z;class E extends x{constructor(){super(...arguments);this.points=this.options=this.data=void 0}getPointSpline(a,x,v){const u=x.plotX||0,e=x.plotY||0,m=a[v-1];v=a[v+1];let w,k;let t;if(m&&!m.isNull&&
!1!==m.doCurve&&!x.isCliff&&v&&!v.isNull&&!1!==v.doCurve&&!x.isCliff){a=m.plotY||0;var n=v.plotX||0;v=v.plotY||0;let f=0;w=(1.5*u+(m.plotX||0))/2.5;k=(1.5*e+a)/2.5;n=(1.5*u+n)/2.5;t=(1.5*e+v)/2.5;n!==w&&(f=(t-k)*(n-u)/(n-w)+e-t);k+=f;t+=f;k>a&&k>e?(k=Math.max(a,e),t=2*e-k):k<a&&k<e&&(k=Math.min(a,e),t=2*e-k);t>v&&t>e?(t=Math.max(v,e),k=2*e-t):t<v&&t<e&&(t=Math.min(v,e),k=2*e-t);x.rightContX=n;x.rightContY=t}x=["C",B(m.rightContX,m.plotX,0),B(m.rightContY,m.plotY,0),B(w,u,0),B(k,e,0),u,e];m.rightContX=
m.rightContY=void 0;return x}}E.defaultOptions=J(x.defaultOptions);a.registerSeriesType("spline",E);"";return E});L(a,"Series/AreaSpline/AreaSplineSeries.js",[a["Series/Spline/SplineSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {area:x,area:{prototype:B}}=z.seriesTypes,{extend:E,merge:D}=G;class A extends a{constructor(){super(...arguments);this.options=this.points=this.data=void 0}}A.defaultOptions=D(a.defaultOptions,x.defaultOptions);E(A.prototype,
{getGraphPath:B.getGraphPath,getStackPoints:B.getStackPoints,drawGraph:B.drawGraph});z.registerSeriesType("areaspline",A);"";return A});L(a,"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"}});L(a,"Series/Column/ColumnSeries.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Series/Column/ColumnSeriesDefaults.js"],a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D){const {animObject:x}=a,{parse:v}=z,{hasTouch:u,noop:e}=J,{clamp:m,defined:w,extend:k,fireEvent:t,isArray:n,isNumber:f,merge:q,pick:K,objectEach:F}=D;class d extends B{constructor(){super(...arguments);
this.points=this.options=this.group=this.data=this.borderWidth=void 0}animate(a){const d=this,e=this.yAxis,f=e.pos,b=d.options,g=this.chart.inverted,c={},h=g?"translateX":"translateY";let n;a?(c.scaleY=.001,a=m(e.toPixels(b.threshold),f,f+e.len),g?c.translateX=a-e.len:c.translateY=a,d.clipBox&&d.setClip(),d.group.attr(c)):(n=Number(d.group.attr(h)),d.group.animate({scaleY:1},k(x(d.options.animation),{step:function(b,a){d.group&&(c[h]=n+a.pos*(f-n),d.group.attr(c))}})))}init(a,d){super.init.apply(this,
arguments);const e=this;a=e.chart;a.hasRendered&&a.series.forEach(function(a){a.type===e.type&&(a.isDirty=!0)})}getColumnMetrics(){const a=this;var d=a.options;const e=a.xAxis,f=a.yAxis;var b=e.options.reversedStacks;b=e.reversed&&!b||!e.reversed&&b;const g={};let c,l=0;!1===d.grouping?l=1:a.chart.series.forEach(function(b){const d=b.yAxis,e=b.options;let h;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||f.len!==d.len||f.pos!==d.pos||(e.stacking&&"group"!==e.stacking?(c=b.stackKey,
"undefined"===typeof g[c]&&(g[c]=l++),h=g[c]):!1!==e.grouping&&(h=l++),b.columnIndex=h)});const k=Math.min(Math.abs(e.transA)*(e.ordinal&&e.ordinal.slope||d.pointRange||e.closestPointRange||e.tickInterval||1),e.len),m=k*d.groupPadding,n=(k-2*m)/(l||1);d=Math.min(d.maxPointWidth||e.len,K(d.pointWidth,n*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(n-d)/2+(m+((a.columnIndex||0)+(b?1:0))*n-k/2)*(b?-1:1),paddedWidth:n,columnCount:l};return a.columnMetrics}crispCol(a,d,e,f){var b=this.borderWidth,
g=-(b%2?.5:0);b=b%2?.5:1;this.options.crisp&&(e=Math.round(a+e)+g,a=Math.round(a)+g,e-=a);f=Math.round(d+f)+b;g=.5>=Math.abs(d)&&.5<f;d=Math.round(d)+b;f-=d;g&&f&&(--d,f+=1);return{x:a,y:d,width:e,height:f}}adjustForMissingColumns(a,d,e,f){const b=this.options.stacking;if(!e.isNull&&1<f.columnCount){const g=this.yAxis.options.reversedStacks;let c=0,h=g?0:-f.columnCount;F(this.yAxis.stacking&&this.yAxis.stacking.stacks,a=>{if("number"===typeof e.x){const d=a[e.x.toString()];d&&(a=d.points[this.index],
b?(a&&(c=h),d.hasValidPoints&&(g?h++:h--)):n(a)&&(a=Object.keys(d.points).filter(b=>!b.match(",")&&d.points[b]&&1<d.points[b].length).map(parseFloat).sort((b,a)=>a-b),c=a.indexOf(this.index),h=a.length))}});a=(e.plotX||0)+((h-1)*f.paddedWidth+d)/2-d-c*f.paddedWidth}return a}translate(){const a=this,d=a.chart,e=a.options;var k=a.dense=2>a.closestPointRange*a.xAxis.transA;k=a.borderWidth=K(e.borderWidth,k?0:1);const b=a.xAxis,g=a.yAxis,c=e.threshold,l=K(e.minPointLength,5),n=a.getColumnMetrics(),q=
n.width,u=a.pointXOffset=n.offset,x=a.dataMin,v=a.dataMax;let F=a.barW=Math.max(q,1+2*k),z=a.translatedThreshold=g.getThreshold(c);d.inverted&&(z-=.5);e.pointPadding&&(F=Math.ceil(F));B.prototype.translate.apply(a);a.points.forEach(function(h){const k=K(h.yBottom,z);var p=999+Math.abs(k),r=h.plotX||0;p=m(h.plotY,-p,g.len+p);let t=Math.min(p,k),y=Math.max(p,k)-t,A=q,B=r+u,D=F;l&&Math.abs(y)<l&&(y=l,r=!g.reversed&&!h.negative||g.reversed&&h.negative,f(c)&&f(v)&&h.y===c&&v<=c&&(g.min||0)<c&&(x!==v||
(g.max||0)<=c)&&(r=!r),t=Math.abs(t-z)>l?k-l:z-(r?l:0));w(h.options.pointWidth)&&(A=D=Math.ceil(h.options.pointWidth),B-=Math.round((A-q)/2));e.centerInCategory&&(B=a.adjustForMissingColumns(B,A,h,n));h.barX=B;h.pointWidth=A;h.tooltipPos=d.inverted?[m(g.len+g.pos-d.plotLeft-p,g.pos-d.plotLeft,g.len+g.pos-d.plotLeft),b.len+b.pos-d.plotTop-B-D/2,y]:[b.left-d.plotLeft+B+D/2,m(p+g.pos-d.plotTop,g.pos-d.plotTop,g.len+g.pos-d.plotTop),y];h.shapeType=a.pointClass.prototype.shapeType||"roundedRect";h.shapeArgs=
a.crispCol(B,h.isNull?z:t,D,h.isNull?0:y)});t(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(a,d){const e=this.options;var f=this.pointAttrToOptions||{},b=f.stroke||"borderColor";const g=f["stroke-width"]||"borderWidth";let c,h=a&&a.color||this.color,k=a&&a[b]||e[b]||h;f=a&&a.options.dashStyle||e.dashStyle;let m=a&&a[g]||e[g]||this[g]||0,p=K(a&&a.opacity,e.opacity,1);a&&this.zones.length&&(c=a.getZone(),h=a.options.color||
c&&(c.color||a.nonZonedColor)||this.color,c&&(k=c.borderColor||k,f=c.dashStyle||f,m=c.borderWidth||m));d&&a&&(a=q(e.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,h=a.color||"undefined"!==typeof d&&v(h).brighten(a.brightness).get()||h,k=a[b]||k,m=a[g]||m,f=a.dashStyle||f,p=K(a.opacity,p));b={fill:h,stroke:k,"stroke-width":m,opacity:p};f&&(b.dashstyle=f);return b}drawPoints(a=this.points){const d=this,e=this.chart,h=d.options,b=e.renderer,g=h.animationLimit||250;let c;a.forEach(function(a){let l=
a.graphic,k=!!l,m=l&&e.pointCount<g?"animate":"attr";if(f(a.plotY)&&null!==a.y){c=a.shapeArgs;l&&a.hasNewShapeType()&&(l=l.destroy());d.enabledDataSorting&&(a.startXPos=d.xAxis.reversed?-(c?c.width||0:0):d.xAxis.width);l||(a.graphic=l=b[a.shapeType](c).add(a.group||d.group))&&d.enabledDataSorting&&e.hasRendered&&e.pointCount<g&&(l.attr({x:a.startXPos}),k=!0,m="animate");if(l&&k)l[m](q(c));e.styledMode||l[m](d.pointAttribs(a,a.selected&&"select")).shadow(!1!==a.allowShadow&&h.shadow);l&&(l.addClass(a.getClassName(),
!0),l.attr({visibility:a.visible?"inherit":"hidden"}))}else l&&(a.graphic=l.destroy())})}drawTracker(a=this.points){const d=this,e=d.chart,f=e.pointer,b=function(b){const a=f.getPointFromEvent(b);"undefined"!==typeof a&&(f.isDirectTouch=!0,a.onMouseOver(b))};let g;a.forEach(function(b){g=n(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[];b.graphic&&(b.graphic.element.point=b);g.forEach(function(a){a.div?a.div.point=b:a.element.point=b})});d._hasTracking||(d.trackerGroups.forEach(function(a){if(d[a]){d[a].addClass("highcharts-tracker").on("mouseover",
b).on("mouseout",function(b){f.onTrackerMouseOut(b)});if(u)d[a].on("touchstart",b);!e.styledMode&&d.options.cursor&&d[a].css({cursor:d.options.cursor})}}),d._hasTracking=!0);t(this,"afterDrawTracker")}remove(){const a=this,d=a.chart;d.hasRendered&&d.series.forEach(function(d){d.type===a.type&&(d.isDirty=!0)});B.prototype.remove.apply(a,arguments)}}d.defaultOptions=q(B.defaultOptions,G);k(d.prototype,{cropShoulder:0,directTouch:!0,getSymbol:e,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]});
E.registerSeriesType("column",d);"";return d});L(a,"Core/Series/DataLabel.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/FormatUtilities.js"],a["Core/Utilities.js"]],function(a,z,G){const {getDeferredAnimation:x}=a,{format:B}=z,{defined:E,extend:D,fireEvent:A,isArray:v,isString:u,merge:e,objectEach:m,pick:w,splat:k}=G;var t;(function(a){function f(a,d,c,e,f){const b=this.chart;var g=this.isCartesian&&b.inverted;const h=this.enabledDataSorting;var l=a.plotX,k=a.plotY;const m=c.rotation;var p=
c.align;k=E(l)&&E(k)&&b.isInsidePlot(l,Math.round(k),{inverted:g,paneCoordinates:!0,series:this});let n="justify"===w(c.overflow,h?"none":"justify");g=this.visible&&!1!==a.visible&&E(l)&&(a.series.forceDL||h&&!n||k||w(c.inside,!!this.options.stacking)&&e&&b.isInsidePlot(l,g?e.x+1:e.y+e.height-1,{inverted:g,paneCoordinates:!0,series:this}));l=a.pos();if(g&&l){m&&d.attr({align:p});p=d.getBBox(!0);var q=[0,0];var r=b.renderer.fontMetrics(d).b;e=D({x:l[0],y:Math.round(l[1]),width:0,height:0},e);D(c,{width:p.width,
height:p.height});m?(n=!1,q=b.renderer.rotCorr(r,m),r={x:e.x+(c.x||0)+e.width/2+q.x,y:e.y+(c.y||0)+{top:0,middle:.5,bottom:1}[c.verticalAlign]*e.height},q=[p.x-Number(d.attr("x")),p.y-Number(d.attr("y"))],h&&this.xAxis&&!n&&this.setDataLabelStartPos(a,d,f,k,r),d[f?"attr":"animate"](r)):(h&&this.xAxis&&!n&&this.setDataLabelStartPos(a,d,f,k,e),d.align(c,void 0,e),r=d.alignAttr);if(n&&0<=e.height)this.justifyDataLabel(d,c,r,p,e,f);else if(w(c.crop,!0)){let {x:a,y:c}=r;a+=q[0];c+=q[1];g=b.isInsidePlot(a,
c,{paneCoordinates:!0,series:this})&&b.isInsidePlot(a+p.width,c+p.height,{paneCoordinates:!0,series:this})}if(c.shape&&!m)d[f?"attr":"animate"]({anchorX:l[0],anchorY:l[1]})}f&&h&&(d.placed=!1);g||h&&!n?d.show():(d.hide(),d.placed=!1)}function n(a,d){var b=d.filter;return b?(d=b.operator,a=a[b.property],b=b.value,">"===d&&a>b||"<"===d&&a<b||">="===d&&a>=b||"<="===d&&a<=b||"=="===d&&a==b||"==="===d&&a===b?!0:!1):!0}function t(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?
"inherit":"hidden",this.options.dataLabels.zIndex||6)}function F(a){const b=this.hasRendered||0,c=this.initDataLabelsGroup().attr({opacity:+b});!b&&c&&(this.visible&&c.show(),this.options.animation?c.animate({opacity:1},a):c.attr({opacity:1}));return c}function d(a=this.points){const b=this,c=b.chart,d=b.options,e=c.renderer,{backgroundColor:f,plotBackgroundColor:h}=c.options.chart,r=e.getContrast(u(h)&&h||u(f)&&f||"#000000");let q=d.dataLabels,t,y;var F=k(q)[0];const z=F.animation;F=F.defer?x(c,
z,b):{defer:0,duration:0};q=p(p(c.options.plotOptions&&c.options.plotOptions.series&&c.options.plotOptions.series.dataLabels,c.options.plotOptions&&c.options.plotOptions[b.type]&&c.options.plotOptions[b.type].dataLabels),q);A(this,"drawDataLabels");if(v(q)||q.enabled||b._hasPointLabels)y=this.initDataLabels(F),a.forEach(a=>{t=k(p(q,a.dlOptions||a.options&&a.options.dataLabels));t.forEach((g,f)=>{const h=g.enabled&&(!a.isNull||a.dataLabelOnNull)&&n(a,g),l=a.connectors?a.connectors[f]:a.connector;let k,
p,q=a.dataLabels?a.dataLabels[f]:a.dataLabel,t=!q;const u=w(g.distance,a.labelDistance);if(h){var x=a.getLabelConfig();var v=w(g[a.formatPrefix+"Format"],g.format);x=E(v)?B(v,x,c):(g[a.formatPrefix+"Formatter"]||g.formatter).call(x,g);v=g.style;k=g.rotation;c.styledMode||(v.color=w(g.color,v.color,b.color,"#000000"),"contrast"===v.color?(a.contrastColor=e.getContrast(a.color||b.color),v.color=!E(u)&&g.inside||0>u||d.stacking?a.contrastColor:r):delete a.contrastColor,d.cursor&&(v.cursor=d.cursor));
p={r:g.borderRadius||0,rotation:k,padding:g.padding,zIndex:1};if(!c.styledMode){const {backgroundColor:b,borderColor:c}=g;p.fill="auto"===b?a.color:b;p.stroke="auto"===c?a.color:c;p["stroke-width"]=g.borderWidth}m(p,function(a,b){"undefined"===typeof a&&delete p[b]})}!q||h&&E(x)&&!!q.div===!!g.useHTML&&(q.rotation&&g.rotation||q.rotation===g.rotation)||(t=!0,a.dataLabel=q=a.dataLabel&&a.dataLabel.destroy(),a.dataLabels&&(1===a.dataLabels.length?delete a.dataLabels:delete a.dataLabels[f]),f||delete a.dataLabel,
l&&(a.connector=a.connector.destroy(),a.connectors&&(1===a.connectors.length?delete a.connectors:delete a.connectors[f])));h&&E(x)?(q?p.text=x:(a.dataLabels=a.dataLabels||[],q=a.dataLabels[f]=k?e.text(x,0,0,g.useHTML).addClass("highcharts-data-label"):e.label(x,0,0,g.shape,null,null,g.useHTML,null,"data-label"),f||(a.dataLabel=q),q.addClass(" highcharts-data-label-color-"+a.colorIndex+" "+(g.className||"")+(g.useHTML?" highcharts-tracker":""))),q.options=g,q.attr(p),c.styledMode||q.css(v).shadow(g.shadow),
(f=g[a.formatPrefix+"TextPath"]||g.textPath)&&!g.useHTML&&(q.setTextPath(a.getDataLabelPath&&a.getDataLabelPath(q)||a.graphic,f),a.dataLabelPath&&!f.enabled&&(a.dataLabelPath=a.dataLabelPath.destroy())),q.added||q.add(y),b.alignDataLabel(a,q,g,null,t)):q&&q.hide()})});A(this,"afterDrawDataLabels")}function h(a,d,c,e,f,h){const b=this.chart,g=d.align,l=d.verticalAlign,k=a.box?0:a.padding||0;let {x:m=0,y:p=0}=d,n,q;n=(c.x||0)+k;0>n&&("right"===g&&0<=m?(d.align="left",d.inside=!0):m-=n,q=!0);n=(c.x||
0)+e.width-k;n>b.plotWidth&&("left"===g&&0>=m?(d.align="right",d.inside=!0):m+=b.plotWidth-n,q=!0);n=c.y+k;0>n&&("bottom"===l&&0<=p?(d.verticalAlign="top",d.inside=!0):p-=n,q=!0);n=(c.y||0)+e.height-k;n>b.plotHeight&&("top"===l&&0>=p?(d.verticalAlign="bottom",d.inside=!0):p+=b.plotHeight-n,q=!0);q&&(d.x=m,d.y=p,a.placed=!h,a.align(d,void 0,f));return q}function p(a,d){let b=[],g;if(v(a)&&!v(d))b=a.map(function(a){return e(a,d)});else if(v(d)&&!v(a))b=d.map(function(b){return e(a,b)});else if(v(a)||
v(d))for(g=Math.max(a.length,d.length);g--;)b[g]=e(a[g],d[g]);else b=e(a,d);return b}function r(a,d,c,e,f){const b=this.chart,g=b.inverted,h=this.xAxis,l=h.reversed,k=g?d.height/2:d.width/2;a=(a=a.pointWidth)?a/2:0;d.startXPos=g?f.x:l?-k-a:h.width-k+a;d.startYPos=g?l?this.yAxis.height-k+a:-k-a:f.y;e?"hidden"===d.visibility&&(d.show(),d.attr({opacity:0}).animate({opacity:1})):d.attr({opacity:1}).animate({opacity:0},void 0,d.hide);b.hasRendered&&(c&&d.attr({x:d.startXPos,y:d.startYPos}),d.placed=!0)}
const y=[];a.compose=function(a){G.pushUnique(y,a)&&(a=a.prototype,a.initDataLabelsGroup=t,a.initDataLabels=F,a.alignDataLabel=f,a.drawDataLabels=d,a.justifyDataLabel=h,a.setDataLabelStartPos=r)}})(t||(t={}));"";return t});L(a,"Series/Column/ColumnDataLabel.js",[a["Core/Series/DataLabel.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {series:x}=z,{merge:B,pick:E}=G;var D;(function(z){function v(a,m,w,k,t){let e=this.chart.inverted;var f=a.series;let q=(f.xAxis?
f.xAxis.len:this.chart.plotSizeX)||0;f=(f.yAxis?f.yAxis.len:this.chart.plotSizeY)||0;var u=a.dlBox||a.shapeArgs;let v=E(a.below,a.plotY>E(this.translatedThreshold,f)),d=E(w.inside,!!this.options.stacking);u&&(k=B(u),0>k.y&&(k.height+=k.y,k.y=0),u=k.y+k.height-f,0<u&&u<k.height&&(k.height-=u),e&&(k={x:f-k.y-k.height,y:q-k.x-k.width,width:k.height,height:k.width}),d||(e?(k.x+=v?0:k.width,k.width=0):(k.y+=v?k.height:0,k.height=0)));w.align=E(w.align,!e||d?"center":v?"right":"left");w.verticalAlign=E(w.verticalAlign,
e||d?"middle":v?"top":"bottom");x.prototype.alignDataLabel.call(this,a,m,w,k,t);w.inside&&a.contrastColor&&m.css({color:a.contrastColor})}const u=[];z.compose=function(e){a.compose(x);G.pushUnique(u,e)&&(e.prototype.alignDataLabel=v)}})(D||(D={}));return D});L(a,"Series/Bar/BarSeries.js",[a["Series/Column/ColumnSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {extend:x,merge:B}=G;class E extends a{constructor(){super(...arguments);this.points=this.options=
this.data=void 0}}E.defaultOptions=B(a.defaultOptions,{});x(E.prototype,{inverted:!0});z.registerSeriesType("bar",E);"";return E});L(a,"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}">\u25cf</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}});L(a,"Series/Scatter/ScatterSeries.js",
[a["Series/Scatter/ScatterSeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {column:x,line:B}=z.seriesTypes,{addEvent:E,extend:D,merge:A}=G;class v extends B{constructor(){super(...arguments);this.points=this.options=this.data=void 0}applyJitter(){const a=this,e=this.options.jitter,m=this.points.length;e&&this.points.forEach(function(w,k){["x","y"].forEach(function(t,n){let f="plot"+t.toUpperCase(),q,u;if(e[t]&&!w.isNull){var x=a[t+"Axis"];u=e[t]*
x.transA;x&&!x.isLog&&(q=Math.max(0,w[f]-u),x=Math.min(x.len,w[f]+u),n=1E4*Math.sin(k+n*m),n-=Math.floor(n),w[f]=q+(x-q)*n,"x"===t&&(w.clientX=w.plotX))}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}v.defaultOptions=A(B.defaultOptions,a);D(v.prototype,{drawTracker:x.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});E(v,"afterTranslate",function(){this.applyJitter()});
z.registerSeriesType("scatter",v);return v});L(a,"Series/CenteredUtilities.js",[a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,z,G){const {deg2rad:x}=a,{fireEvent:B,isNumber:E,pick:D,relativeLength:A}=G;var v;(function(a){a.getCenter=function(){var a=this.options,m=this.chart;const w=2*(a.slicedOffset||0),k=m.plotWidth-2*w,t=m.plotHeight-2*w;var n=a.center;const f=Math.min(k,t),q=a.thickness;var u=a.size;let x=a.innerSize||0;"string"===typeof u&&(u=parseFloat(u));
"string"===typeof x&&(x=parseFloat(x));a=[D(n[0],"50%"),D(n[1],"50%"),D(u&&0>u?void 0:a.size,"100%"),D(x&&0>x?void 0:a.innerSize||0,"0%")];!m.angular||this instanceof z||(a[3]=0);for(n=0;4>n;++n)u=a[n],m=2>n||2===n&&/%$/.test(u),a[n]=A(u,[k,t,f,a[2]][n])+(m?w:0);a[3]>a[2]&&(a[3]=a[2]);E(q)&&2*q<a[2]&&0<q&&(a[3]=a[2]-2*q);B(this,"afterGetCenter",{positions:a});return a};a.getStartAndEndRadians=function(a,m){a=E(a)?a:0;m=E(m)&&m>a&&360>m-a?m:a+360;return{start:x*(a+-90),end:x*(m+-90)}}})(v||(v={}));
"";return v});L(a,"Series/Pie/PiePoint.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,G){const {setAnimation:x}=a,{addEvent:B,defined:E,extend:D,isNumber:A,pick:v,relativeLength:u}=G;class e extends z{constructor(){super(...arguments);this.series=this.options=this.labelDistance=void 0}getConnectorPath(){const a=this.labelPosition,e=this.series.options.dataLabels,k=this.connectorShapes;let t=e.connectorShape;k[t]&&(t=k[t]);return t.call(this,
{x:a.computed.x,y:a.computed.y,alignment:a.alignment},a.connectorPosition,e)}getTranslate(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}}haloPath(a){const e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}init(){super.init.apply(this,arguments);this.name=v(this.name,"Slice");const a=a=>{this.slice("select"===a.type)};B(this,"select",a);B(this,
"unselect",a);return this}isValid(){return A(this.y)&&0<=this.y}setVisible(a,e){const k=this.series,m=k.chart,n=k.options.ignoreHiddenPoint;e=v(e,n);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,k.options.data[k.data.indexOf(this)]=this.options,["graphic","dataLabel","connector"].forEach(e=>{if(this[e])this[e][a?"show":"hide"](a)}),this.legendItem&&m.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),n&&(k.isDirty=!0),e&&m.redraw())}slice(a,
e,k){const m=this.series;x(k,m.chart);v(e,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;m.options.data[m.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate())}}D(e.prototype,{connectorShapes:{fixedOffset:function(a,e,k){const m=e.breakAt;e=e.touchingSliceAt;return[["M",a.x,a.y],k.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*m.x-e.x,2*m.y-e.y,m.x,m.y]:["L",m.x,m.y],["L",e.x,e.y]]},straight:function(a,e){e=e.touchingSliceAt;return[["M",a.x,a.y],
["L",e.x,e.y]]},crookedLine:function(a,e,k){const {breakAt:m,touchingSliceAt:n}=e;({series:e}=this);const [f,q,x]=e.center,w=x/2,d=e.chart.plotWidth,h=e.chart.plotLeft;e="left"===a.alignment;const {x:p,y:r}=a;k.crookDistance?(a=u(k.crookDistance,1),a=e?f+w+(d+h-f-w)*(1-a):h+(f-w)*a):a=f+(q-r)*Math.tan((this.angle||0)-Math.PI/2);k=[["M",p,r]];(e?a<=p&&a>=m.x:a>=p&&a<=m.x)&&k.push(["L",a,r]);k.push(["L",m.x,m.y],["L",n.x,n.y]);return k}}});return e});L(a,"Series/Pie/PieSeriesDefaults.js",[],function(){"";
return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,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}}}});L(a,"Series/Pie/PieSeries.js",[a["Series/CenteredUtilities.js"],a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Series/Pie/PiePoint.js"],a["Series/Pie/PieSeriesDefaults.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/Symbols.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v){const {getStartAndEndRadians:u}=a;({noop:G}=G);const {clamp:e,extend:m,fireEvent:x,merge:k,pick:t,relativeLength:n}=v;class f extends E{constructor(){super(...arguments);
this.points=this.options=this.maxLabelDistance=this.data=this.center=void 0}animate(a){const e=this,f=e.points,d=e.startAngleRad;a||f.forEach(function(a){const f=a.graphic,h=a.shapeArgs;f&&h&&(f.attr({r:t(a.startR,e.center&&e.center[3]/2),start:d,end:d}),f.animate({r:h.r,start:h.start,end:h.end},e.options.animation))})}drawEmpty(){const a=this.startAngleRad,e=this.endAngleRad,f=this.options;let d,h;0===this.total&&this.center?(d=this.center[0],h=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(d,
h,this.center[1]/2,0,a,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:A.arc(d,h,this.center[2]/2,0,{start:a,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){const a=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy());e.graphic||(e.graphic=a[e.shapeType](e.shapeArgs).add(e.series.group),
e.delayedRendering=!0)})}generatePoints(){super.generatePoints();this.updateTotals()}getX(a,f,k){const d=this.center,h=this.radii?this.radii[k.index]||0:d[2]/2;a=Math.asin(e((a-d[1])/(h+k.labelDistance),-1,1));return d[0]+(f?-1:1)*Math.cos(a)*(h+k.labelDistance)+(0<k.labelDistance?(f?-1:1)*this.options.dataLabels.padding:0)}hasData(){return!!this.processedXData.length}redrawPoints(){const a=this,e=a.chart;let f,d,h,m;this.drawEmpty();a.group&&!e.styledMode&&a.group.shadow(a.options.shadow);a.points.forEach(function(p){const n=
{};d=p.graphic;!p.isNull&&d?(m=p.shapeArgs,f=p.getTranslate(),e.styledMode||(h=a.pointAttribs(p,p.selected&&"select")),p.delayedRendering?(d.setRadialReference(a.center).attr(m).attr(f),e.styledMode||d.attr(h).attr({"stroke-linejoin":"round"}),p.delayedRendering=!1):(d.setRadialReference(a.center),e.styledMode||k(!0,n,h),k(!0,n,m,f),d.animate(n)),d.attr({visibility:p.visible?"inherit":"hidden"}),d.addClass(p.getClassName(),!0)):d&&(p.graphic=d.destroy())})}sortByAngle(a,e){a.sort(function(a,d){return"undefined"!==
typeof a.angle&&(d.angle-a.angle)*e})}translate(a){x(this,"translate");this.generatePoints();var e=this.options;const f=e.slicedOffset,d=f+(e.borderWidth||0);var h=u(e.startAngle,e.endAngle);const k=this.startAngleRad=h.start;h=(this.endAngleRad=h.end)-k;const m=this.points,q=e.dataLabels.distance;e=e.ignoreHiddenPoint;const b=m.length;let g,c,l,w=0;a||(this.center=a=this.getCenter());for(c=0;c<b;c++){l=m[c];var v=k+w*h;!l.isValid()||e&&!l.visible||(w+=l.percentage/100);var z=k+w*h;var A={x:a[0],
y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*v)/1E3,end:Math.round(1E3*z)/1E3};l.shapeType="arc";l.shapeArgs=A;l.labelDistance=t(l.options.dataLabels&&l.options.dataLabels.distance,q);l.labelDistance=n(l.labelDistance,A.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,l.labelDistance);z=(z+v)/2;z>1.5*Math.PI?z-=2*Math.PI:z<-Math.PI/2&&(z+=2*Math.PI);l.slicedTranslation={translateX:Math.round(Math.cos(z)*f),translateY:Math.round(Math.sin(z)*f)};A=Math.cos(z)*a[2]/2;g=Math.sin(z)*a[2]/
2;l.tooltipPos=[a[0]+.7*A,a[1]+.7*g];l.half=z<-Math.PI/2||z>Math.PI/2?1:0;l.angle=z;v=Math.min(d,l.labelDistance/5);l.labelPosition={natural:{x:a[0]+A+Math.cos(z)*l.labelDistance,y:a[1]+g+Math.sin(z)*l.labelDistance},computed:{},alignment:0>l.labelDistance?"center":l.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+A+Math.cos(z)*v,y:a[1]+g+Math.sin(z)*v},touchingSliceAt:{x:a[0]+A,y:a[1]+g}}}}x(this,"afterTranslate")}updateTotals(){const a=this.points,e=a.length,f=this.options.ignoreHiddenPoint;
let d,h,k=0;for(d=0;d<e;d++)h=a[d],!h.isValid()||f&&!h.visible||(k+=h.y);this.total=k;for(d=0;d<e;d++)h=a[d],h.percentage=0<k&&(h.visible||!f)?h.y/k*100:0,h.total=k}}f.defaultOptions=k(E.defaultOptions,B);m(f.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:z.prototype.drawTracker,getCenter:a.getCenter,getSymbol:G,isCartesian:!1,noSharedTooltip:!0,pointAttribs:z.prototype.pointAttribs,pointClass:J,requireSorting:!1,searchPoint:G,trackerGroups:["group","dataLabelsGroup"]});D.registerSeriesType("pie",
f);return f});L(a,"Series/Pie/PieDataLabel.js",[a["Core/Series/DataLabel.js"],a["Core/Globals.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){const {noop:x}=z,{distribute:D}=G,{series:A}=J,{arrayMax:v,clamp:u,defined:e,merge:m,pick:w,relativeLength:k}=B;var t;(function(n){function f(){const a=this,d=a.data,f=a.chart,k=a.options.dataLabels||{},b=k.connectorPadding,g=f.plotWidth,c=f.plotHeight,l=f.plotLeft,n=Math.round(f.chartWidth/
3),q=a.center,t=q[2]/2,u=q[1],x=[[],[]],z=[0,0,0,0],F=a.dataLabelPositioners;let B,E,K,G,C,J,I,L,R,X,Y,T;a.visible&&(k.enabled||a._hasPointLabels)&&(d.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),A.prototype.drawDataLabels.apply(a),d.forEach(function(a){a.dataLabel&&(a.visible?(x[a.half].push(a),a.dataLabel._pos=null,!e(k.style.width)&&!e(a.options.dataLabels&&a.options.dataLabels.style&&
a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>n&&(a.dataLabel.css({width:Math.round(.7*n)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),x.forEach((d,h)=>{const m=d.length,p=[];let n,r=0;if(m){a.sortByAngle(d,h-.5);if(0<a.maxLabelDistance){var x=Math.max(0,u-t-a.maxLabelDistance);n=Math.min(u+t+a.maxLabelDistance,f.plotHeight);d.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,
u-t-a.labelDistance),a.bottom=Math.min(u+t+a.labelDistance,f.plotHeight),r=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+r/2,size:r,rank:a.y},p.push(a.distributeBox))});x=n+r-x;D(p,x,x/5)}for(Y=0;Y<m;Y++){B=d[Y];J=B.labelPosition;G=B.dataLabel;X=!1===B.visible?"hidden":"inherit";R=x=J.natural.y;p&&e(B.distributeBox)&&("undefined"===typeof B.distributeBox.pos?X="hidden":(I=B.distributeBox.size,R=F.radialDistributionY(B)));delete B.positionIndex;if(k.justify)L=
F.justify(B,t,q);else switch(k.alignTo){case "connectors":L=F.alignToConnectors(d,h,g,l);break;case "plotEdges":L=F.alignToPlotEdges(G,h,g,l);break;default:L=F.radialDistributionX(a,B,R,x)}G._attr={visibility:X,align:J.alignment};T=B.options.dataLabels||{};G._pos={x:L+w(T.x,k.x)+({left:b,right:-b}[J.alignment]||0),y:R+w(T.y,k.y)-G.getBBox().height/2};J&&(J.computed.x=L,J.computed.y=R);w(k.crop,!0)&&(C=G.getBBox().width,x=null,L-C<b&&1===h?(x=Math.round(C-L+b),z[3]=Math.max(x,z[3])):L+C>g-b&&0===h&&
(x=Math.round(L+C-g+b),z[1]=Math.max(x,z[1])),0>R-I/2?z[0]=Math.max(Math.round(-R+I/2),z[0]):R+I/2>c&&(z[2]=Math.max(Math.round(R+I/2-c),z[2])),G.sideOverflow=x)}}}),0===v(z)||this.verifyDataLabelOverflow(z))&&(this.placeDataLabels(),this.points.forEach(function(b){T=m(k,b.options.dataLabels);if(E=w(T.connectorWidth,1)){let c;K=b.connector;if((G=b.dataLabel)&&G._pos&&b.visible&&0<b.labelDistance){X=G._attr.visibility;if(c=!K)b.connector=K=f.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+
b.colorIndex+(b.className?" "+b.className:"")).add(a.dataLabelsGroup),f.styledMode||K.attr({"stroke-width":E,stroke:T.connectorColor||b.color||"#666666"});K[c?"attr":"animate"]({d:b.getConnectorPath()});K.attr("visibility",X)}else K&&(b.connector=K.destroy())}}))}function q(){this.points.forEach(function(a){let d=a.dataLabel,e;d&&a.visible&&((e=d._pos)?(d.sideOverflow&&(d._attr.width=Math.max(d.getBBox().width-d.sideOverflow,0),d.css({width:d._attr.width+"px",textOverflow:(this.options.dataLabels.style||
{}).textOverflow||"ellipsis"}),d.shortened=!0),d.attr(d._attr),d[d.moved?"animate":"attr"](e),d.moved=!0):d&&d.attr({y:-9999}));delete a.distributeBox},this)}function t(a){let d=this.center,e=this.options,f=e.center,b=e.minSize||80,g,c=null!==e.size;c||(null!==f[0]?g=Math.max(d[2]-Math.max(a[1],a[3]),b):(g=Math.max(d[2]-a[1]-a[3],b),d[0]+=(a[3]-a[1])/2),null!==f[1]?g=u(g,b,d[2]-Math.max(a[0],a[2])):(g=u(g,b,d[2]-a[0]-a[2]),d[1]+=(a[0]-a[2])/2),g<d[2]?(d[2]=g,d[3]=Math.min(e.thickness?Math.max(0,g-
2*e.thickness):Math.max(0,k(e.innerSize||0,g)),g),this.translate(d),this.drawDataLabels&&this.drawDataLabels()):c=!0);return c}const z=[],d={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,d,e,f){return a.getX(e<d.top+2||e>d.bottom-2?f:e,d.half,d)},justify:function(a,d,e){return e[0]+(a.half?-1:1)*(d+a.labelDistance)},alignToPlotEdges:function(a,d,e,f){a=a.getBBox().width;return d?a+f:e-a-f},alignToConnectors:function(a,d,e,f){let b=0,g;a.forEach(function(a){g=
a.dataLabel.getBBox().width;g>b&&(b=g)});return d?b+f:e-b-f}};n.compose=function(e){a.compose(A);B.pushUnique(z,e)&&(e=e.prototype,e.dataLabelPositioners=d,e.alignDataLabel=x,e.drawDataLabels=f,e.placeDataLabels=q,e.verifyDataLabelOverflow=t)}})(t||(t={}));return t});L(a,"Extensions/OverlappingDataLabels.js",[a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,z){function x(a,e){let m,u=!1;a&&(m=a.newOpacity,a.oldOpacity!==m&&(a.alignAttr&&a.placed?(a[m?"removeClass":"addClass"]("highcharts-data-label-hidden"),
u=!0,a.alignAttr.opacity=m,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){e.styledMode||a.css({pointerEvents:m?"auto":"none"})}),B(e,"afterHideOverlappingLabel")):a.attr({opacity:m})),a.isOld=!0);return u}const {addEvent:J,fireEvent:B,isArray:E,isNumber:D,objectEach:A,pick:v}=z;J(a,"render",function(){let a=this,e=[];(this.labelCollectors||[]).forEach(function(a){e=e.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&
A(a.stacking.stacks,function(a){A(a,function(a){a.label&&e.push(a.label)})})});(this.series||[]).forEach(function(m){var u=m.options.dataLabels;m.visible&&(!1!==u.enabled||m._hasPointLabels)&&(u=k=>k.forEach(k=>{k.visible&&(E(k.dataLabels)?k.dataLabels:k.dataLabel?[k.dataLabel]:[]).forEach(function(m){const f=m.options;m.labelrank=v(f.labelrank,k.labelrank,k.shapeArgs&&k.shapeArgs.height);f.allowOverlap?(m.oldOpacity=m.opacity,m.newOpacity=1,x(m,a)):e.push(m)})}),u(m.nodes||[]),u(m.points))});this.hideOverlappingLabels(e)});
a.prototype.hideOverlappingLabels=function(a){let e=this,m=a.length,u=e.renderer;var k;let t;let n,f,q,v=!1;var z=function(a){let d,e;var f;let k=a.box?0:a.padding||0,b=f=0,g,c;if(a&&(!a.alignAttr||a.placed))return d=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},e=a.parentGroup,a.width||(f=a.getBBox(),a.width=f.width,a.height=f.height,f=u.fontMetrics(a.element).h),g=a.width-2*k,(c={left:"0",center:"0.5",right:"1"}[a.alignValue])?b=+c*g:D(a.x)&&Math.round(a.x)!==a.translateX&&(b=a.x-a.translateX),{x:d.x+
(e.translateX||0)+k-(b||0),y:d.y+(e.translateY||0)+k-f,width:a.width-2*k,height:a.height-2*k}};for(t=0;t<m;t++)if(k=a[t])k.oldOpacity=k.opacity,k.newOpacity=1,k.absoluteBox=z(k);a.sort(function(a,e){return(e.labelrank||0)-(a.labelrank||0)});for(t=0;t<m;t++)for(f=(z=a[t])&&z.absoluteBox,k=t+1;k<m;++k)q=(n=a[k])&&n.absoluteBox,!f||!q||z===n||0===z.newOpacity||0===n.newOpacity||"hidden"===z.visibility||"hidden"===n.visibility||q.x>=f.x+f.width||q.x+q.width<=f.x||q.y>=f.y+f.height||q.y+q.height<=f.y||
((z.labelrank<n.labelrank?z:n).newOpacity=0);a.forEach(function(a){x(a,e)&&(v=!0)});v&&B(e,"afterHideAllOverlappingLabels")}});L(a,"Extensions/BorderRadius.js",[a["Core/Defaults.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {defaultOptions:x}=a;({seriesTypes:a}=G);const {addEvent:A,extend:v,isObject:u,merge:e,relativeLength:m}=E,w={radius:0,scope:"stack",
where:void 0},k=(a,k)=>{u(a)||(a={radius:a||0});return e(w,k,a)};if(-1===J.symbolCustomAttribs.indexOf("borderRadius")){J.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY");const e=B.prototype.symbols.arc;B.prototype.symbols.arc=function(a,k,n,t,d={}){a=e(a,k,n,t,d);const {innerR:f=0,r:p=n,start:q=0,end:u=0}=d;if(d.open||!d.borderRadius)return a;n=u-q;k=Math.sin(n/2);d=Math.max(Math.min(m(d.borderRadius||0,p-f),(p-f)/2,p*k/(1+k)),0);n=Math.min(d,n/Math.PI*2*f);for(k=a.length-1;k--;){{let e=
void 0,f=void 0,h=void 0;t=a;var b=k,g=1<k?n:d,c=t[b],l=t[b+1];"Z"===l[0]&&(l=t[0]);"M"!==c[0]&&"L"!==c[0]||"A"!==l[0]?"A"!==c[0]||"M"!==l[0]&&"L"!==l[0]||(h=l,f=c):(h=c,f=l,e=!0);if(h&&f&&f.params){c=f[1];var x=f[5];l=f.params;const {start:a,end:d,cx:k,cy:m}=l;var v=x?c-g:c+g;const n=v?Math.asin(g/v):0;x=x?n:-n;v*=Math.cos(n);e?(l.start=a+x,h[1]=k+v*Math.cos(a),h[2]=m+v*Math.sin(a),t.splice(b+1,0,["A",g,g,0,0,1,k+c*Math.cos(l.start),m+c*Math.sin(l.start)])):(l.end=d-x,f[6]=k+c*Math.cos(l.end),f[7]=
m+c*Math.sin(l.end),t.splice(b+1,0,["A",g,g,0,0,1,k+v*Math.cos(d),m+v*Math.sin(d)]));f[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}}return a};const n=B.prototype.symbols.roundedRect;B.prototype.symbols.roundedRect=function(a,e,k,m,d={}){const f=n(a,e,k,m,d),{r:p=0,brBoxHeight:q=m,brBoxY:t=e}=d;var b=e-t,g=t+q-(e+m);d=-.1<b-p?0:p;const c=-.1<g-p?0:p;var l=Math.max(d&&b,0);const u=Math.max(c&&g,0);g=[a+d,e];b=[a+k-d,e];const x=[a+k,e+d],v=[a+k,e+m-c],w=[a+k-c,e+m],z=[a+c,e+m],A=[a,e+m-c],B=[a,e+d];if(l){const a=
Math.sqrt(Math.pow(d,2)-Math.pow(d-l,2));g[0]-=a;b[0]+=a;x[1]=B[1]=e+d-l}m<d-l&&(l=Math.sqrt(Math.pow(d,2)-Math.pow(d-l-m,2)),x[0]=v[0]=a+k-d+l,w[0]=Math.min(x[0],w[0]),z[0]=Math.max(v[0],z[0]),A[0]=B[0]=a+d-l,x[1]=B[1]=e+m);u&&(l=Math.sqrt(Math.pow(c,2)-Math.pow(c-u,2)),w[0]+=l,z[0]-=l,v[1]=A[1]=e+m-c+u);m<c-u&&(m=Math.sqrt(Math.pow(c,2)-Math.pow(c-u-m,2)),x[0]=v[0]=a+k-c+m,b[0]=Math.min(x[0],b[0]),g[0]=Math.max(v[0],g[0]),A[0]=B[0]=a+c-m,v[1]=A[1]=e);f.length=0;f.push(["M",...g],["L",...b],["A",
d,d,0,0,1,...x],["L",...v],["A",c,c,0,0,1,...w],["L",...z],["A",c,c,0,0,1,...A],["L",...B],["A",d,d,0,0,1,...g],["Z"]);return f};A(a.pie,"afterTranslate",function(){const a=k(this.options.borderRadius);for(const e of this.points){const f=e.shapeArgs;f&&(f.borderRadius=m(a.radius,(f.r||0)-(f.innerR||0)))}});A(z,"afterColumnTranslate",function(){var a,e;if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){const {options:f,yAxis:p}=this,q="percent"===f.stacking;var n=null===(e=null===
(a=x.plotOptions)||void 0===a?void 0:a[this.type])||void 0===e?void 0:e.borderRadius;a=k(f.borderRadius,u(n)?n:{});e=p.options.reversed;for(const h of this.points)if({shapeArgs:n}=h,"roundedRect"===h.shapeType&&n){const {width:b=0,height:g=0,y:c=0}=n;var t=c,d=g;"stack"===a.scope&&h.stackTotal&&(t=p.translate(q?100:h.stackTotal,!1,!0,!1,!0),d=p.translate(f.threshold||0,!1,!0,!1,!0),d=this.crispCol(0,Math.min(t,d),0,Math.abs(t-d)),t=d.y,d=d.height);const k=-1===(h.negative?-1:1)*(e?-1:1);let r=a.where;
!r&&this.is("waterfall")&&Math.abs((h.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(r="all");r||(r="end");const u=Math.min(m(a.radius,b),b/2,"all"===r?g/2:Infinity)||0;"end"===r&&(k&&(t-=u),d+=u);v(n,{brBoxHeight:d,brBoxY:t,r:u})}}},{order:9})}z={optionsToObject:k};"";return z});L(a,"Core/Responsive.js",[a["Core/Utilities.js"]],function(a){const {extend:x,find:G,isArray:J,isObject:B,merge:E,objectEach:D,pick:A,splat:v,uniqueKey:u}=a;var e;(function(e){function m(a){function e(a,h,
k,m){let d;D(a,function(a,g){if(!m&&-1<f.collectionsWithUpdate.indexOf(g)&&h[g])for(a=v(a),k[g]=[],d=0;d<Math.max(a.length,h[g].length);d++)h[g][d]&&(void 0===a[d]?k[g][d]=h[g][d]:(k[g][d]={},e(a[d],h[g][d],k[g][d],m+1)));else B(a)?(k[g]=J(a)?[]:{},e(a,h[g]||{},k[g],m+1)):k[g]="undefined"===typeof h[g]?null:h[g]})}const f=this,k={};e(a,this.options,k,0);return k}function k(a,e){const f=a.condition;(f.callback||function(){return this.chartWidth<=A(f.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=A(f.maxHeight,
Number.MAX_VALUE)&&this.chartWidth>=A(f.minWidth,0)&&this.chartHeight>=A(f.minHeight,0)}).call(this)&&e.push(a._id)}function t(a,e){const f=this.options.responsive;var k=this.currentResponsive;let d=[];!e&&f&&f.rules&&f.rules.forEach(a=>{"undefined"===typeof a._id&&(a._id=u());this.matchResponsiveRule(a,d)},this);e=E(...d.map(a=>G((f||{}).rules||[],d=>d._id===a)).map(a=>a&&a.chartOptions));e.isResponsiveOptions=!0;d=d.toString()||void 0;d!==(k&&k.ruleIds)&&(k&&this.update(k.undoOptions,a,!0),d?(k=
this.currentOptions(e),k.isResponsiveOptions=!0,this.currentResponsive={ruleIds:d,mergedOptions:e,undoOptions:k},this.update(e,a,!0)):this.currentResponsive=void 0)}const n=[];e.compose=function(e){a.pushUnique(n,e)&&x(e.prototype,{currentOptions:m,matchResponsiveRule:k,setResponsive:t});return e}})(e||(e={}));"";"";return e});L(a,"masters/highcharts.src.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Core/Defaults.js"],a["Core/Animation/Fx.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Renderer/HTML/AST.js"],
a["Core/FormatUtilities.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Renderer/HTML/HTMLElement.js"],a["Core/Renderer/HTML/HTMLRenderer.js"],a["Core/Axis/Axis.js"],a["Core/Axis/DateTimeAxis.js"],a["Core/Axis/LogarithmicAxis.js"],a["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],a["Core/Axis/Tick.js"],a["Core/Tooltip.js"],a["Core/Series/Point.js"],a["Core/Pointer.js"],a["Core/Legend/Legend.js"],a["Core/Chart/Chart.js"],
a["Core/Axis/Stacking/StackingAxis.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Series/Column/ColumnSeries.js"],a["Series/Column/ColumnDataLabel.js"],a["Series/Pie/PieSeries.js"],a["Series/Pie/PieDataLabel.js"],a["Core/Series/DataLabel.js"],a["Core/Responsive.js"],a["Core/Color/Color.js"],a["Core/Time.js"]],function(a,z,G,J,B,E,D,A,v,u,e,m,w,k,t,n,f,q,K,F,d,h,p,r,y,b,g,c,l,L,O,M,T,U){a.animate=B.animate;a.animObject=B.animObject;a.getDeferredAnimation=
B.getDeferredAnimation;a.setAnimation=B.setAnimation;a.stop=B.stop;a.timers=J.timers;a.AST=E;a.Axis=w;a.Chart=h;a.chart=h.chart;a.Fx=J;a.Legend=d;a.PlotLineOrBand=n;a.Point=K;a.Pointer=F;a.Series=y;a.StackItem=r;a.SVGElement=v;a.SVGRenderer=u;a.Tick=f;a.Time=U;a.Tooltip=q;a.Color=T;a.color=T.parse;m.compose(u);e.compose(v);F.compose(h);d.compose(h);a.defaultOptions=G.defaultOptions;a.getOptions=G.getOptions;a.time=G.defaultTime;a.setOptions=G.setOptions;a.dateFormat=D.dateFormat;a.format=D.format;
a.numberFormat=D.numberFormat;a.addEvent=z.addEvent;a.arrayMax=z.arrayMax;a.arrayMin=z.arrayMin;a.attr=z.attr;a.clearTimeout=z.clearTimeout;a.correctFloat=z.correctFloat;a.createElement=z.createElement;a.css=z.css;a.defined=z.defined;a.destroyObjectProperties=z.destroyObjectProperties;a.discardElement=z.discardElement;a.distribute=A.distribute;a.erase=z.erase;a.error=z.error;a.extend=z.extend;a.extendClass=z.extendClass;a.find=z.find;a.fireEvent=z.fireEvent;a.getMagnitude=z.getMagnitude;a.getStyle=
z.getStyle;a.inArray=z.inArray;a.isArray=z.isArray;a.isClass=z.isClass;a.isDOMElement=z.isDOMElement;a.isFunction=z.isFunction;a.isNumber=z.isNumber;a.isObject=z.isObject;a.isString=z.isString;a.keys=z.keys;a.merge=z.merge;a.normalizeTickInterval=z.normalizeTickInterval;a.objectEach=z.objectEach;a.offset=z.offset;a.pad=z.pad;a.pick=z.pick;a.pInt=z.pInt;a.relativeLength=z.relativeLength;a.removeEvent=z.removeEvent;a.seriesType=b.seriesType;a.splat=z.splat;a.stableSort=z.stableSort;a.syncTimeout=z.syncTimeout;
a.timeUnits=z.timeUnits;a.uniqueKey=z.uniqueKey;a.useSerialIds=z.useSerialIds;a.wrap=z.wrap;c.compose(g);O.compose(y);k.compose(w);t.compose(w);L.compose(l);n.compose(w);M.compose(h);p.compose(w,h,y);q.compose(F);return a});a["masters/highcharts.src.js"]._modules=a;return a["masters/highcharts.src.js"]});
//# sourceMappingURL=highcharts.js.map