/* Highcharts Gantt JS v11.1.0 (2023-06-05) (c) 2017-2021 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng License: www.highcharts.com/license */ 'use strict';(function(T,M){"object"===typeof module&&module.exports?(M["default"]=M,module.exports=T.document?M(T):M):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return M(T)}):(T.Highcharts&&T.Highcharts.error(16,!0),T.Highcharts=M(T))})("undefined"!==typeof window?window:this,function(T){function M(a,z,H,K){a.hasOwnProperty(z)||(a[z]=K.apply(null,H),"function"===typeof CustomEvent&&T.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:z, module:a[z]}})))}var a={};M(a,"Core/Globals.js",[],function(){var a;(function(a){a.SVG_NS="http://www.w3.org/2000/svg";a.product="Highcharts";a.version="11.1.0";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 y=!1;if(!a.isMS){const z=Object.defineProperty({},"passive", {get:function(){y=!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,z),a.win.removeEventListener("testPassive",a.noop,z))}return y}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});M(a,"Core/Utilities.js",[a["Core/Globals.js"]],function(a){function y(c,b,e,h){const n=b?"Highcharts error":"Highcharts warning";32===c&&(c=`${n}: Deprecated member`);const J=t(c);let g=J?`${n} #${c}: www.highcharts.com/errors/${c}/`: c.toString();if("undefined"!==typeof h){let c="";J&&(g+="?");I(h,function(b,e){c+=`\n - ${e}: ${b}`;J&&(g+=encodeURI(e)+"="+encodeURI(b))});g+=c}d(a,"displayError",{chart:e,code:c,message:g,params:h},function(){if(b)throw Error(g);q.console&&-1===y.messages.indexOf(g)&&console.warn(g)});y.messages.push(g)}function H(c,b){return parseInt(c,b||10)}function K(c){return"string"===typeof c}function A(c){c=Object.prototype.toString.call(c);return"[object Array]"===c||"[object Array Iterator]"===c}function C(c, b){return!!c&&"object"===typeof c&&(!b||!A(c))}function E(c){return C(c)&&"number"===typeof c.nodeType}function B(c){const b=c&&c.constructor;return!(!C(c,!0)||E(c)||!b||!b.name||"Object"===b.name)}function t(c){return"number"===typeof c&&!isNaN(c)&&Infinity>c&&-Infinity{r(b)?c.setAttribute(e,b):n?(d=c.getAttribute(e))||"class"!==e||(d=c.getAttribute(e+"Name")):c.removeAttribute(e)}; K(b)?h(e,b):I(b,h);return d}function p(c){return A(c)?c:[c]}function x(c,b){let e;c||(c={});for(e in b)c[e]=b[e];return c}function m(){const c=arguments,b=c.length;for(let e=0;e=b-1&&(b=Math.floor(e)),Math.max(0,b-(w(c,"padding-left",!0)||0)-(w(c,"padding-right",!0)||0));if("height"===b)return Math.max(0,Math.min(c.offsetHeight,c.scrollHeight)-(w(c,"padding-top",!0)||0)-(w(c,"padding-bottom",!0)||0));if(c=q.getComputedStyle(c,void 0))n=c.getPropertyValue(b),m(e,"opacity"!==b)&&(n=H(n));return n}function I(c,b,e){for(const n in c)Object.hasOwnProperty.call(c, n)&&b.call(e||c[n],c[n],n,c)}function D(c,b,e){function n(b,e){const n=c.removeEventListener;n&&n.call(c,b,e,!1)}function d(e){let d,h;c.nodeName&&(b?(d={},d[b]=!0):d=e,I(d,function(c,b){if(e[b])for(h=e[b].length;h--;)n(b,e[b][h].fn)}))}var h="function"===typeof c&&c.prototype||c;if(Object.hasOwnProperty.call(h,"hcEvents")){const c=h.hcEvents;b?(h=c[b]||[],e?(c[b]=h.filter(function(c){return e!==c.fn}),n(b,e)):(d(c),c[b]=[])):(d(c),delete h.hcEvents)}}function d(c,b,e,d){e=e||{};if(v.createEvent&& (c.dispatchEvent||c.fireEvent&&c!==a)){var n=v.createEvent("Events");n.initEvent(b,!0,!0);e=x(n,e);c.dispatchEvent?c.dispatchEvent(e):c.fireEvent(b,e)}else if(c.hcEvents){e.target||x(e,{preventDefault:function(){e.defaultPrevented=!0},target:c,type:b});n=[];let d=c,h=!1;for(;d.hcEvents;)Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents[b]&&(n.length&&(h=!0),n.unshift.apply(n,d.hcEvents[b])),d=Object.getPrototypeOf(d);h&&n.sort((c,b)=>c.order-b.order);n.forEach(b=>{!1===b.fn.call(c,e)&&e.preventDefault()})}d&& !e.defaultPrevented&&d.call(c,e)}const {charts:h,doc:v,win:q}=a;(y||(y={})).messages=[];Math.easeInOutSine=function(c){return-.5*(Math.cos(Math.PI*c)-1)};var u=Array.prototype.find?function(c,b){return c.find(b)}:function(c,b){let e;const n=c.length;for(e=0;ec.order-b.order);return function(){D(c,b,e)}},arrayMax:function(c){let b=c.length,e=c[0];for(;b--;)c[b]>e&&(e=c[b]);return e},arrayMin:function(c){let b=c.length,e=c[0];for(;b--;)c[b]< e&&(e=c[b]);return e},attr:k,clamp:function(c,b,e){return c>b?c{if(1h&&!e?(null===b||void 0===b?void 0:b(),b=void 0):h&&("undefined"===typeof n||h=e&&(b=[1/e])));for(d=0;d=c||!h&&q<=(b[d]+(b[d+1]||b[d]))/2);d++);return n=g(n*e,-Math.round(Math.log(.001)/Math.LN10))},objectEach:I,offset:function(c){const b=v.documentElement;c=c.parentElement||c.parentNode?c.getBoundingClientRect():{top:0, left:0,width:0,height:0};return{top:c.top+(q.pageYOffset||b.scrollTop)-(b.clientTop||0),left:c.left+(q.pageXOffset||b.scrollLeft)-(b.clientLeft||0),width:c.width,height:c.height}},pad:function(c,b,e){return Array((b||2)+1-String(c).replace("-","").length).join(e||"0")+c},pick:m,pInt:H,pushUnique:function(c,b){return 0>c.indexOf(b)&&!!c.push(b)},relativeLength:function(b,e,d){return/%$/.test(b)?e*parseFloat(b)/100+(d||0):parseFloat(b)},removeEvent:D,splat:p,stableSort:function(b,e){const c=b.length; let n,d;for(d=0;dnew C(k[1]));else if("string"===typeof a){this.input= a=C.names[a.toLowerCase()]||a;if("#"===a.charAt(0)){var r=a.length;var k=parseInt(a.substr(1),16);7===r?B=[(k&16711680)>>16,(k&65280)>>8,k&255,1]:4===r&&(B=[(k&3840)>>4|(k&3840)>>8,(k&240)>>4|k&240,(k&15)<<4|k&15,1])}if(!B)for(k=C.parsers.length;k--&&!B;)t=C.parsers[k],(r=t.regex.exec(a))&&(B=t.parse(r))}B&&(this.rgba=B)}get(a){const B=this.input,t=this.rgba;if("object"===typeof B&&"undefined"!==typeof this.stops){const r=K(B);r.stops=[].slice.call(r.stops);this.stops.forEach((k,p)=>{r.stops[p]=[r.stops[p][0], k.get(a)]});return r}return t&&y(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?`${t[3]}`:"rgba("+t.join(",")+")":B}brighten(a){const B=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(a)});else if(y(a)&&0!==a)for(let t=0;3>t;t++)B[t]+=A(255*a),0>B[t]&&(B[t]=0),255h?"AM":"PM",P:12>h?"am":"pm",S:r(d.getSeconds()),L:r(Math.floor(f%1E3),3)},a.dateFormats);t(d,function(b,c){for(;-1!==g.indexOf("%"+c);)g=g.replace("%"+c,"function"===typeof b?b.call(m,f):b)});return l?g.substr(0,1).toUpperCase()+g.substr(1):g}resolveDTLFormat(f){return E(f,!0)?f:(f=p(f),{main:f[0],from:f[1], to:f[2]})}getTimeTicks(f,l,m,p){const d=this,h=[],g={};var q=new d.Date(l);const u=f.unitRange,e=f.count||1;let b;p=k(p,1);if(K(l)){d.set("Milliseconds",q,u>=x.second?0:e*Math.floor(d.get("Milliseconds",q)/e));u>=x.second&&d.set("Seconds",q,u>=x.minute?0:e*Math.floor(d.get("Seconds",q)/e));u>=x.minute&&d.set("Minutes",q,u>=x.hour?0:e*Math.floor(d.get("Minutes",q)/e));u>=x.hour&&d.set("Hours",q,u>=x.day?0:e*Math.floor(d.get("Hours",q)/e));u>=x.day&&d.set("Date",q,u>=x.month?1:Math.max(1,e*Math.floor(d.get("Date", q)/e)));if(u>=x.month){d.set("Month",q,u>=x.year?0:e*Math.floor(d.get("Month",q)/e));var c=d.get("FullYear",q)}u>=x.year&&d.set("FullYear",q,c-c%e);u===x.week&&(c=d.get("Day",q),d.set("Date",q,d.get("Date",q)-c+p+(c4*x.month||d.getTimezoneOffset(l)!==d.getTimezoneOffset(m));l=q.getTime();for(q=1;lh.length&&h.forEach(function(b){0===b%18E5&&"000000000"===d.dateFormat("%H%M%S%L",b)&&(g[b]="day")})}h.info=C(f,{higherRanks:g,totalRange:u*e});return h}getDateFormat(f,l,m,k){const d=this.dateFormat("%m-%d %H:%M:%S.%L",l),h={millisecond:15,second:12,minute:9,hour:6,day:3};let g,q="millisecond";for(g in x){if(f===x.week&&+this.dateFormat("%w", l)===m&&"00:00:00.000"===d.substr(6)){g="week";break}if(x[g]>f){g=q;break}if(h[g]&&d.substr(h[g])!=="01-01 00:00:00.000".substr(h[g]))break;"week"!==g&&(q=g)}return this.resolveDTLFormat(k[g]).main}}"";return f});M(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,H,K,A,C){const {isTouchDevice:y,svg:B}=H,{merge:t}=C,r={colors:K.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:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name}, borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}}, loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:B,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:y?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',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"}};r.chart.styledMode=!1;"";const k=new A(r.time);a={defaultOptions:r,defaultTime:k,getOptions:function(){return r},setOptions:function(p){t(!0,r,p);if(p.time||p.global)H.time?H.time.update(t(r.global,r.time,p.global,p.time)):H.time=k;return r}};"";return a});M(a,"Core/Animation/Fx.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,H){const {parse:y}=a,{win:A}=z,{isNumber:C,objectEach:E}=H;class B{constructor(a,r,k){this.pos=NaN;this.options= r;this.elem=a;this.prop=k}dSetter(){var a=this.paths;const r=a&&a[0];a=a&&a[1];const k=this.now||0;let p=[];if(1!==k&&r&&a)if(r.length===a.length&&1>k)for(let x=0;x=m+this.startTime?(this.now=this.end,this.pos=1,this.update(),f=l[this.prop]=!0,E(l,function(g){!0!==g&&(f=!1)}),f&&x&&x.call(p),a=!1):(this.pos=k.easing((r-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0);return a}initPath(a, r,k){function p(d,h){for(;d.length{l=y(l.options.animation); g=m&&A(m.defer)?f.defer:Math.max(g,l.duration+l.defer);w=Math.min(f.duration,l.duration)});k.renderer.forExport&&(g=0);return{defer:Math.max(0,g-w),duration:Math.min(g,w)}},setAnimation:function(k,m){m.renderer.globalAnimation=p(k,m.options.chart.animation,!0)},stop:K}});M(a,"Core/Renderer/HTML/AST.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){const {SVG_NS:y,win:K}=a,{attr:A,createElement:C,css:E,error:B,isFunction:t,isString:r,objectEach:k,splat:p}=z;({trustedTypes:z}=K);const x= z&&t(z.createPolicy)&&z.createPolicy("highcharts",{createHTML:f=>f});z=x?x.createHTML(""):"";try{var m=!!(new DOMParser).parseFromString(z,"text/html")}catch(g){m=!1}const l=m;class f{static filterUserAttributes(g){k(g,(l,m)=>{let w=!0;-1===f.allowedAttributes.indexOf(m)&&(w=!1);-1!==["background","dynsrc","href","lowsrc","src"].indexOf(m)&&(w=r(l)&&f.allowedReferences.some(d=>0===l.indexOf(d)));w||(B(33,!1,void 0,{"Invalid attribute in config":`${m}`}),delete g[m]);r(l)&&g[m]&&(g[m]=l.replace(/{g=g.split(":").map(d=>d.trim());const l=g.shift();l&&g.length&&(f[l.replace(/-([a-z])/g,d=>d[1].toUpperCase())]=g.join(":"));return f},{})}static setElementHTML(g,l){g.innerHTML=f.emptyHTML;l&&(new f(l)).addToDOM(g)}constructor(f){this.nodes="string"===typeof f?this.parseMarkup(f):f}addToDOM(g){function l(g,m){let d;p(g).forEach(function(h){var g=h.tagName;const q=h.textContent?a.doc.createTextNode(h.textContent):void 0,u= f.bypassHTMLFiltering;let e;if(g)if("#text"===g)e=q;else if(-1!==f.allowedTags.indexOf(g)||u){g=a.doc.createElementNS("svg"===g?y:m.namespaceURI||y,g);const b=h.attributes||{};k(h,function(c,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(b[e]=c)});A(g,u?b:f.filterUserAttributes(b));h.style&&E(g,h.style);q&&g.appendChild(q);l(h.children||[],g);e=g}else B(33,!1,void 0,{"Invalid tagName in config":g});e&&m.appendChild(e);d=e});return d}return l(this.nodes,g)}parseMarkup(g){const m= [];g=g.trim().replace(/ style=(["'])/g," data-style=$1");if(l)g=(new DOMParser).parseFromString(x?x.createHTML(g):g,"text/html");else{const f=C("div");f.innerHTML=g;g={body:f}}const k=(g,d)=>{var h=g.nodeName.toLowerCase();const v={tagName:h};"#text"===h&&(v.textContent=g.textContent||"");if(h=g.attributes){const d={};[].forEach.call(h,h=>{"data-style"===h.name?v.style=f.parseStyle(h.value):d[h.name]=h.value});v.attributes=d}if(g.childNodes.length){const d=[];[].forEach.call(g.childNodes,h=>{k(h, d)});d.length&&(v.children=d)}d.push(v)};[].forEach.call(g.body.childNodes,f=>k(f,m));return m}}f.allowedAttributes="alt aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill 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(" "); f.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" ");f.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feDropShadow feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text textPath thead title tbody tspan td th tr u ul #text".split(" ");f.emptyHTML=z;f.bypassHTMLFiltering= !1;"";return f});M(a,"Core/Templating.js",[a["Core/Defaults.js"],a["Core/Utilities.js"]],function(a,z){function y(l="",f,g){const w=/\{([a-zA-Z0-9:\.,;\-\/<>%_@"'= #\(\)]+)\}/g,k=/\(([a-zA-Z0-9:\.,;\-\/<>%_@"'= ]+)\)/g,a=[],d=/f$/,h=/\.([0-9])/,v=A.lang,q=g&&g.time||C,u=g&&g.numberFormatter||K,e=(b="")=>{let c;return"true"===b?!0:"false"===b?!1:(c=Number(b)).toString()===b?c:B(b,f)};let b,c,n=0,J;for(;null!==(b=w.exec(l));){const e=k.exec(b[1]);e&&(b=e,J=!0);c&&c.isBlock||(c={ctx:f,expression:b[1], find:b[0],isBlock:"#"===b[1].charAt(0),start:b.index,startInner:b.index+b[0].length,length:b[0].length});var F=b[1].split(" ")[0].replace("#","");m[F]&&(c.isBlock&&F===c.fn&&n++,c.fn||(c.fn=F));F="else"===b[1];if(c.isBlock&&c.fn&&(b[1]===`/${c.fn}`||F))if(n)F||n--;else{var L=c.startInner;L=l.substr(L,b.index-L);void 0===c.body?(c.body=L,c.startInner=b.index+b[0].length):c.elseBody=L;c.find+=L+b[0];F||(a.push(c),c=void 0)}else c.isBlock||a.push(c);if(e&&(null===c||void 0===c||!c.isBlock))break}a.forEach(b=> {const {body:c,elseBody:n,expression:L,fn:g}=b;var G;if(g){var J=[b],F=L.split(" ");for(G=m[g].length;G--;)J.unshift(e(F[G+1]));G=m[g].apply(f,J);b.isBlock&&"boolean"===typeof G&&(G=y(G?c:n,f))}else J=L.split(":"),G=e(J.shift()||""),J.length&&"number"===typeof G&&(J=J.join(":"),d.test(J)?(F=parseInt((J.match(h)||["","-1"])[1],10),null!==G&&(G=u(G,F,v.decimalPoint,-1d[1]){var v=f+ +d[1];0<=v?(d[0]=(+d[0]).toExponential(v).split("e")[0],f=v):(d[0]=d[0].split(".")[0]||0,l=20>f?(d[0]*Math.pow(10,d[1])).toFixed(f):0,d[1]=0)}v=(Math.abs(d[1]?d[0]:l)+Math.pow(10,-Math.max(f,w)-1)).toFixed(f);w=String(x(v));const q=3 l?"-":"")+(q?w.substr(0,q)+m:"");l=0>+d[1]&&!h?"0":l+w.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+m);f&&(l+=g+v.slice(-f));d[1]&&0!==+l&&(l+="e"+d[1]);return l}const {defaultOptions:A,defaultTime:C}=a,{extend:E,getNestedProperty:B,isArray:t,isNumber:r,isObject:k,pick:p,pInt:x}=z,m={add:(l,f)=>l+f,divide:(l,f)=>0!==f?l/f:"",eq:(l,f)=>l==f,each:function(l){const f=arguments[arguments.length-1];return t(l)?l.map((g,m)=>y(f.body,E(k(g)?g:{"@this":g},{"@index":m,"@first":0===m,"@last":m===l.length-1}))).join(""): !1},ge:(l,f)=>l>=f,gt:(l,f)=>l>f,"if":l=>!!l,le:(l,f)=>l<=f,lt:(l,f)=>ll*f,ne:(l,f)=>l!=f,subtract:(l,f)=>l-f,unless:l=>!l};return{dateFormat:function(l,f,g){return C.dateFormat(l,f,g)},format:y,helpers:m,numberFormat:K}});M(a,"Core/Renderer/RendererUtilities.js",[a["Core/Utilities.js"]],function(a){const {clamp:y,pick:H,stableSort:K}=a;var A;(function(a){function E(a,t,r){const k=a;var p=k.reducedLen||t,x=(f,g)=>(g.rank||0)-(f.rank||0);const m=(f,g)=>f.target-g.target;let l,f= !0,g=[],w=0;for(l=a.length;l--;)w+=a[l].size;if(w>p){K(a,x);for(w=l=0;w<=p;)w+=a[l].size,l++;g=a.splice(l-1,a.length)}K(a,m);for(a=a.map(f=>({size:f.size,targets:[f.target],align:H(f.align,.5)}));f;){for(l=a.length;l--;)p=a[l],x=(Math.min.apply(0,p.targets)+Math.max.apply(0,p.targets))/2,p.pos=y(x-p.size*p.align,0,t-p.size);l=a.length;for(f=!1;l--;)0a[l].pos&&(a[l-1].size+=a[l].size,a[l-1].targets=a[l-1].targets.concat(a[l].targets),a[l-1].align=.5,a[l-1].pos+a[l-1].size> t&&(a[l-1].pos=t-a[l-1].size),a.splice(l,1),f=!0)}k.push.apply(k,g);l=0;a.some(f=>{let g=0;return(f.targets||[]).some(()=>{k[l].pos=f.pos+g;if("undefined"!==typeof r&&Math.abs(k[l].pos-k[l].target)>r)return k.slice(0,l+1).forEach(d=>delete d.pos),k.reducedLen=(k.reducedLen||t)-.1*t,k.reducedLen>.1*t&&E(k,t,r),!0;g+=k[l].size;l++;return!1})});K(k,m);return k}a.distribute=E})(A||(A={}));return A});M(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,H,K){const {animate:y,animObject:C,stop:E}=a,{deg2rad:B,doc:t,svg:r,SVG_NS:k,win:p}=H,{addEvent:x,attr:m,createElement:l,css:f,defined:g,erase:w,extend:I,fireEvent:D,isArray:d,isFunction:h,isObject:v,isString:q,merge:u,objectEach:e,pick:b,pInt:c,syncTimeout:n,uniqueKey:J}=K;class F{constructor(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=k}_defaultGetter(c){c=b(this[c+"Value"],this[c],this.element? this.element.getAttribute(c):null,0);/^[\-0-9\.]+$/.test(c)&&(c=parseFloat(c));return c}_defaultSetter(b,c,e){e.setAttribute(c,b)}add(b){const c=this.renderer,e=this.element;let n;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&c.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex)n=this.zIndexSetter();n||(b?b.element:c.box).appendChild(e);if(this.onAdd)this.onAdd();return this}addClass(b,c){const e=c?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b, c){-1===e.indexOf(c)&&b.push(c);return b},e?[e]:[]).join(" ");b!==e&&this.attr("class",b);return this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(c,e,n){const d={};var h=this.renderer,f=h.alignedObjects,G;let g,L;if(c){if(this.alignOptions=c,this.alignByTranslate=e,!n||q(n))this.alignTo=G=n||"renderer",w(f,this),f.push(this),n=void 0}else c=this.alignOptions,e=this.alignByTranslate,G=this.alignTo;n=b(n,h[G],"scrollablePlotBox"===G?h.plotBox:void 0,h);G=c.align; const u=c.verticalAlign;h=(n.x||0)+(c.x||0);f=(n.y||0)+(c.y||0);"right"===G?g=1:"center"===G&&(g=2);g&&(h+=(n.width-(c.width||0))/g);d[e?"translateX":"x"]=Math.round(h);"bottom"===u?L=1:"middle"===u&&(L=2);L&&(f+=(n.height-(c.height||0))/L);d[e?"translateY":"y"]=Math.round(f);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 f=C(b(d,this.renderer.globalAnimation,!0));d=f.defer;t.hidden&&(f.duration=0);0!==f.duration?(h&&(f.complete=h),n(()=>{this.element&&y(this,c,f)},d)):(this.attr(c,void 0,h||f.complete),e(c,function(b,c){f.step&&f.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 e=b.split(" ");b=e[e.length-1];if((e=e[0])&&"none"!==e&&H.svg){this.fakeTS= !0;e=e.replace(/(^[\d\.]+)(.*?)$/g,function(b,c,e){return 2*Number(c)+e});this.removeTextOutline();const n=t.createElementNS(k,"tspan");m(n,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":e,"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));n.appendChild(c)});let d=0;[].forEach.call(b.querySelectorAll("text tspan"),b=>{d+= Number(b.getAttribute("dy"))});e=t.createElementNS(k,"tspan");e.textContent="\u200b";m(e,{x:Number(c.getAttribute("x")),dy:-d});n.appendChild(e);b.insertBefore(n,b.firstChild)}}attr(b,c,n,d){const h=this.element,f=F.symbolCustomAttribs;let G,q,g=this,L,u;"string"===typeof b&&"undefined"!==typeof c&&(G=b,b={},b[G]=c);"string"===typeof b?g=(this[b+"Getter"]||this._defaultGetter).call(this,b,h):(e(b,function(c,e){L=!1;d||E(this,e);this.symbolName&&-1!==f.indexOf(e)&&(q||(this.symbolAttr(b),q=!0),L=!0); !this.rotation||"x"!==e&&"y"!==e||(this.doTransform=!0);L||(u=this[e+"Setter"]||this._defaultSetter,u.call(this,c,e,h))},this),this.afterSetters());n&&n.call(this);return g}clip(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+")":"none")}crisp(b,c){c=c||b.strokeWidth||0;const e=Math.round(c)%2/2;b.x=Math.floor(b.x||this.x||0)+e;b.y=Math.floor(b.y||this.y||0)+e;b.width=Math.floor((b.width||this.width||0)-2*e);b.height=Math.floor((b.height||this.height||0)-2*e);g(b.strokeWidth)&& (b.strokeWidth=c);return b}complexColor(b,c,n){const h=this.renderer;let f,q,G,L,v,l,m,N,F,a,k=[],w;D(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?q="radialGradient":b.linearGradient&&(q="linearGradient");if(q){G=b[q];v=h.gradients;l=b.stops;F=n.radialReference;d(G)&&(b[q]=G={x1:G[0],y1:G[1],x2:G[2],y2:G[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===q&&F&&!g(G.gradientUnits)&&(L=G,G=u(G,h.getRadialAttr(F,L),{gradientUnits:"userSpaceOnUse"}));e(G,function(b,c){"id"!== c&&k.push(c,b)});e(l,function(b){k.push(b)});k=k.join(",");if(v[k])a=v[k].attr("id");else{G.id=a=J();const b=v[k]=h.createElement(q).attr(G).add(h.defs);b.radAttr=L;b.stops=[];l.forEach(function(c){0===c[1].indexOf("rgba")?(f=z.parse(c[1]),m=f.get("rgb"),N=f.get("a")):(m=c[1],N=1);c=h.createElement("stop").attr({offset:c[0],"stop-color":m,"stop-opacity":N}).add(b);b.stops.push(c)})}w="url("+h.url+"#"+a+")";n.setAttribute(c,w);n.gradient=k;b.toString=function(){return w}}})}css(b){const n=this.styles, d={},h=this.element;let q,g=!n;n&&e(b,function(b,c){n&&n[c]!==b&&(d[c]=b,g=!0)});if(g){n&&(b=I(n,d));null===b.width||"auto"===b.width?delete this.textWidth:"text"===h.nodeName.toLowerCase()&&b.width&&(q=this.textWidth=c(b.width));this.styles=b;q&&!r&&this.renderer.forExport&&delete b.width;const e=u(b);h.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(b=>e&&delete e[b]),e.color&&(e.fill=e.color));f(h,e)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this), b.textOutline&&this.applyTextOutline(b.textOutline));return this}dashstyleSetter(e){let n=this["stroke-width"];"inherit"===n&&(n=1);if(e=e&&e.toLowerCase()){const d=e.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=d.length;e--;)d[e]=""+c(d[e])*b(n,NaN);e=d.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray", e)}}destroy(){const b=this;var c=b.element||{};const n=b.renderer;var d=c.ownerSVGElement;let h="SPAN"===c.nodeName&&b.parentGroup||void 0;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;E(b);if(b.clipPath&&d){const c=b.clipPath;[].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(b){-1c&&c.join?(e?b+" ":"")+c.join(" "):(c||"").toString(),""));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");this[c]!==b&&(e.setAttribute(c, b),this[c]=b)}fadeOut(c){const e=this;e.animate({opacity:0},{duration:b(c,150),complete:function(){e.hide()}})}fillSetter(b,c,e){"string"===typeof b?e.setAttribute(c,b):b&&this.complexColor(b,c,e)}getBBox(c,e){const {alignValue:n,element:d,renderer:q,styles:u,textStr:G}=this,{cache:J,cacheKeys:v}=q;var l=d.namespaceURI===this.SVG_NS;e=b(e,this.rotation,0);var m=q.styledMode?d&&F.prototype.getStyle.call(d,"font-size"):u&&u.fontSize;let N;let L;g(G)&&(L=G.toString(),-1===L.indexOf("<")&&(L=L.replace(/[0-9]/g, "0")),L+=["",q.rootFontSize,m,e,this.textWidth,n,u&&u.textOverflow,u&&u.fontWeight].join());L&&!c&&(N=J[L]);if(!N){if(l||q.forExport){try{var k=this.fakeTS&&function(b){const c=d.querySelector(".highcharts-text-outline");c&&f(c,{display:b})};h(k)&&k("none");N=d.getBBox?I({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight,x:0,y:0};h(k)&&k("")}catch(da){""}if(!N||0>N.width)N={x:0,y:0,width:0,height:0}}else N=this.htmlGetBBox();k=N.width;c=N.height;l&&(N.height=c={"11px,17":14,"13px,20":16}[`${m|| ""},${Math.round(c)}`]||c);if(e){l=Number(d.getAttribute("y")||0)-N.y;m={right:1,center:.5}[n||0]||0;var a=e*B,w=(e-90)*B,p=k*Math.cos(a);e=k*Math.sin(a);var r=Math.cos(w);a=Math.sin(w);k=N.x+m*(k-p)+l*r;w=k+p;r=w-c*r;p=r-p;l=N.y+l-m*e+l*a;m=l+e;c=m-c*a;e=c-e;N.x=Math.min(k,w,r,p);N.y=Math.min(l,m,c,e);N.width=Math.max(k,w,r,p)-N.x;N.height=Math.max(l,m,c,e)-N.y}}if(L&&(""===G||0{if(b&&G){let G=b.attr("id");G||b.attr("id",G=J());var d={x:0,y:0};g(h.dx)&&(d.dx=h.dx,delete h.dx);g(h.dy)&&(d.dy=h.dy,delete h.dy);n.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:I(h, {"text-anchor":h.textAnchor,href:`${e}#${G}`}),children:d}}}),n.textPath={path:b,undo:c}):(n.attr({dx:0,dy:0}),delete n.textPath);this.added&&(n.textCache="",this.renderer.buildText(n));return this}shadow(b){var c;const {renderer:e}=this,n=u(90===(null===(c=this.parentGroup)||void 0===c?void 0:c.rotation)?{offsetX:-1,offsetY:-1}:{},v(b)?b:{});c=e.shadowDefinition(n);return this.attr({filter:b?`url(${e.url}#${c})`:"none"})}show(b=!0){return this.attr({visibility:b?"inherit":"visible"})}["stroke-widthSetter"](b, c,e){this[c]=b;e.setAttribute(c,b)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;const b=this.getStyle("stroke-width");let e=0,n;b.indexOf("px")===b.length-2?e=c(b):""!==b&&(n=t.createElementNS(k,"rect"),m(n,{width:b,"stroke-width":0}),this.element.parentNode.appendChild(n),e=n.getBBox().width,n.parentNode.removeChild(n));return e}symbolAttr(c){const e=this;F.symbolCustomAttribs.forEach(function(n){e[n]=b(c[n],e[n])});e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y, e.width,e.height,e)})}textSetter(b){b!==this.textStr&&(delete this.textPxLength,this.textStr=b,this.added&&this.renderer.buildText(this))}titleSetter(c){const e=this.element,n=e.getElementsByTagName("title")[0]||t.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(n,e.firstChild):e.appendChild(n);n.textContent=String(b(c,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/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:c,matrix:e,rotation:n=0,scaleX:d,scaleY:h,translateX:f=0,translateY:G=0}=this,q=["translate("+f+","+G+")"];g(e)&&q.push("matrix("+e.join(",")+")");n&&q.push("rotate("+n+" "+b(this.rotationOriginX,c.getAttribute("x"),0)+" "+b(this.rotationOriginY,c.getAttribute("y")||0)+")");(g(d)||g(h))&&q.push("scale("+b(d,1)+" "+b(h,1)+")");q.length&&!(this.text||this).textPath&&c.setAttribute("transform",q.join(" "))}visibilitySetter(b,c,e){"inherit"===b?e.removeAttribute(c): this[c]!==b&&e.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,e){var n=this.renderer,d=this.parentGroup;const h=(d||n).element||n.box,f=this.element;n=h===n.box;let G=!1,q;var u=this.added;let J;g(b)?(f.setAttribute("data-z-index",b),b=+b,this[e]===b&&(u=!1)):g(this[e])&&f.removeAttribute("data-z-index");this[e]=b;if(u){(b=this.zIndex)&&d&&(d.handleZ=!0);e=h.childNodes;for(J=e.length-1;0<=J&& !G;J--)if(d=e[J],u=d.getAttribute("data-z-index"),q=!g(u),d!==f)if(0>b&&q&&!n&&!J)h.insertBefore(f,e[J]),G=!0;else if(c(u)<=b||q&&(!g(b)||0<=b))h.insertBefore(f,e[J+1]),G=!0;G||(h.insertBefore(f,e[n?3:0]),G=!0)}return G}}F.symbolCustomAttribs="anchorX anchorY clockwise end height innerR r start width x y".split(" ");F.prototype.strokeSetter=F.prototype.fillSetter;F.prototype.yGetter=F.prototype.xGetter;F.prototype.matrixSetter=F.prototype.rotationOriginXSetter=F.prototype.rotationOriginYSetter=F.prototype.rotationSetter= F.prototype.scaleXSetter=F.prototype.scaleYSetter=F.prototype.translateXSetter=F.prototype.translateYSetter=F.prototype.verticalAlignSetter=function(b,c){this[c]=b;this.doTransform=!0};"";return F});M(a,"Core/Renderer/RendererRegistry.js",[a["Core/Globals.js"]],function(a){var y;(function(y){y.rendererTypes={};let z;y.getRendererType=function(a=z){return y.rendererTypes[a]||y.rendererTypes[z]};y.registerRendererType=function(A,C,E){y.rendererTypes[A]=C;if(!z||E)z=A,a.Renderer=C}})(y||(y={}));return y}); M(a,"Core/Renderer/SVG/SVGLabel.js",[a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z){const {defined:y,extend:K,isNumber:A,merge:C,pick:E,removeEvent:B}=z;class t extends a{constructor(a,k,p,x,m,l,f,g,w,I){super();this.paddingRightSetter=this.paddingLeftSetter=this.paddingSetter;this.init(a,"g");this.textStr=k;this.x=p;this.y=x;this.anchorX=l;this.anchorY=f;this.baseline=w;this.className=I;this.addClass("button"===I?"highcharts-no-tooltip":"highcharts-label");I&&this.addClass("highcharts-"+ I);this.text=a.text(void 0,0,0,g).attr({zIndex:1});let r;"string"===typeof m&&((r=/^url\((.*?)\)$/.test(m))||this.renderer.symbols[m])&&(this.symbolKey=m);this.bBox=t.emptyBBox;this.padding=3;this.baselineOffset=0;this.needsBox=a.styledMode||r;this.deferredAttr={};this.alignFactor=0}alignSetter(a){a={left:0,center:.5,right:1}[a];a!==this.alignFactor&&(this.alignFactor=a,this.bBox&&A(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(a,k){this.anchorX=a;this.boxAttr(k,Math.round(a)-this.getCrispAdjust()- this.xSetting)}anchorYSetter(a,k){this.anchorY=a;this.boxAttr(k,a-this.ySetting)}boxAttr(a,k){this.box?this.box.attr(a,k):this.deferredAttr[a]=k}css(r){if(r){const a={};r=C(r);t.textProps.forEach(k=>{"undefined"!==typeof r[k]&&(a[k]=r[k],delete r[k])});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,r)}destroy(){B(this.element,"mouseenter");B(this.element,"mouseleave");this.text&&this.text.destroy(); this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)}fillSetter(a,k){a&&(this.needsBox=!0);this.fill=a;this.boxAttr(k,a)}getBBox(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();const a=this.padding,k=E(this.paddingLeft,a);return{width:this.width,height:this.height,x:this.bBox.x-k,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:E(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&y(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(a,k){A(a)?a!==this[k]&&(this[k]=a,this.updateTextPadding()):this[k]=void 0}rSetter(a,k){this.boxAttr(k,a)}strokeSetter(a,k){this.stroke=a;this.boxAttr(k,a)}["stroke-widthSetter"](a,k){a&&(this.needsBox=!0);this["stroke-width"]=a;this.boxAttr(k,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 k={},p=this.padding,x=this.bBox=A(this.widthSetting)&&A(this.heightSetting)&&!this.textAlign||!y(a.textStr)?t.emptyBBox:a.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||x.height||0)+2*p;const m=this.renderer.fontMetrics(a);this.baselineOffset=p+Math.min((this.text.firstLineMetrics||m).b,x.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-m.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(),k.x=a,k.y=(this.baseline?-this.baselineOffset:0)+a,k.width=Math.round(this.width),k.height=Math.round(this.height),this.box.attr(K(k,this.deferredAttr)),this.deferredAttr={})}updateTextPadding(){const a=this.text;if(!a.textPath){this.updateBoxSize(); const k=this.baseline?0:this.baselineOffset;let p=E(this.paddingLeft,this.padding);y(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(p+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(p!==a.x||k!==a.y)a.attr("x",p),a.hasBoxWidthChanged&&(this.bBox=a.getBBox(!0)),"undefined"!==typeof k&&a.attr("y",k);a.x=p;a.y=k}}widthSetter(a){this.widthSetting=A(a)?a:void 0}getPaddedWidth(){var a=this.padding;const k=E(this.paddingLeft,a);a=E(this.paddingRight, a);return(this.widthSetting||this.bBox.width||0)+k+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)}}t.emptyBBox={width:0,height:0,x:0,y:0};t.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow whiteSpace width".split(" "); return t});M(a,"Core/Renderer/SVG/Symbols.js",[a["Core/Utilities.js"]],function(a){function y(a,t,r,k,p){const x=[];if(p){const m=p.start||0,l=E(p.r,r);r=E(p.r,k||r);k=(p.end||0)-.001;const f=p.innerR,g=E(p.open,.001>Math.abs((p.end||0)-m-2*Math.PI)),w=Math.cos(m),I=Math.sin(m),D=Math.cos(k),d=Math.sin(k),h=E(p.longArc,.001>k-m-Math.PI?0:1);let v=["A",l,r,0,h,E(p.clockwise,1),a+l*D,t+r*d];v.params={start:m,end:k,cx:a,cy:t};x.push(["M",a+l*w,t+r*I],v);A(f)&&(v=["A",f,f,0,h,A(p.clockwise)?1-p.clockwise: 0,a+f*w,t+f*I],v.params={start:k,end:m,cx:a,cy:t},x.push(g?["M",a+f*D,t+f*d]:["L",a+f*D,t+f*d],v));g||x.push(["Z"])}return x}function H(a,t,r,k,p){return p&&p.r?K(a,t,r,k,p):[["M",a,t],["L",a+r,t],["L",a+r,t+k],["L",a,t+k],["Z"]]}function K(a,t,r,k,p){p=(null===p||void 0===p?void 0:p.r)||0;return[["M",a+p,t],["L",a+r-p,t],["A",p,p,0,0,1,a+r,t+p],["L",a+r,t+k-p],["A",p,p,0,0,1,a+r-p,t+k],["L",a+p,t+k],["A",p,p,0,0,1,a,t+k-p],["L",a,t+p],["A",p,p,0,0,1,a+p,t],["Z"]]}const {defined:A,isNumber:C,pick:E}= a;return{arc:y,callout:function(a,t,r,k,p){const x=Math.min(p&&p.r||0,r,k),m=x+6,l=p&&p.anchorX;p=p&&p.anchorY||0;const f=K(a,t,r,k,{r:x});if(!C(l))return f;a+l>=r?p>t+m&&p=a+l?p>t+m&&pk&&l>a+m&&lp&&l>a+m&&l/g;var d=[g,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,m.getStyle("font-size"),this.width].join();if(d!==m.textCache){m.textCache=d;delete m.actualWidth;for(d=x.length;d--;)l.removeChild(x[d]);k||this.ellipsis||this.width||m.textPath||-1!==g.indexOf(" ")&&(!this.noWrap||D.test(g))? ""!==g&&(f&&f.appendChild(l),g=new a(g),this.modifyTree(g.nodes),g.addToDOM(l),this.modifyDOM(),this.ellipsis&&-1!==(l.textContent||"").indexOf("\u2026")&&m.attr("title",this.unescapeEntities(m.textStr||"",["<",">"])),f&&f.removeChild(l)):l.appendChild(y.createTextNode(this.unescapeEntities(g)));r(this.textOutline)&&m.applyTextOutline&&m.applyTextOutline(this.textOutline)}}modifyDOM(){const a=this.svgElement,l=E(a.element,"x");a.firstLineMetrics=void 0;let f;for(;f=a.element.firstChild;)if(/^[\s\u200B]*$/.test(f.textContent|| " "))a.element.removeChild(f);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)),E(f,{dy:this.getLineHeight(f.nextSibling),x:l}))});const g=this.width||0;if(g){var k=(f,d)=>{var h=f.textContent||"";const v=h.replace(/([^\^])-/g,"$1- ").split(" ");var q=!this.noWrap&&(1b.substring(0,e)+"\u2026");else if(q){h=[];for(q=[];d.firstChild&&d.firstChild!==f;)q.push(d.firstChild),d.removeChild(d.firstChild);for(;v.length;)v.length&&!this.noWrap&&0v.slice(0,e).join(" ").replace(/- /g,"-")),b=a.actualWidth,e++;q.forEach(b=>{d.insertBefore(b,f)});h.forEach(b=> {d.insertBefore(y.createTextNode(b),f);b=y.createElementNS(A,"tspan");b.textContent="\u200b";E(b,{dy:u,x:l});d.insertBefore(b,f)})}},p=f=>{[].slice.call(f.childNodes).forEach(d=>{d.nodeType===C.Node.TEXT_NODE?k(d,f):(-1!==d.className.baseVal.indexOf("highcharts-br")&&(a.actualWidth=0),p(d))})};p(a.element)}}getLineHeight(a){a=a.nodeType===C.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 l= (f,g)=>{const {attributes:m={},children:k,style:p={},tagName:d}=f,h=this.renderer.styledMode;if("b"===d||"strong"===d)h?m["class"]="highcharts-strong":p.fontWeight="bold";else if("i"===d||"em"===d)h?m["class"]="highcharts-emphasized":p.fontStyle="italic";p&&p.color&&(p.fill=p.color);"br"===d?(m["class"]="highcharts-br",f.textContent="\u200b",(g=a[g+1])&&g.textContent&&(g.textContent=g.textContent.replace(/^ +/gm,""))):"a"===d&&k&&k.some(d=>"#text"===d.tagName)&&(f.children=[{children:k,tagName:"tspan"}]); "#text"!==d&&"a"!==d&&(f.tagName="tspan");B(f,{attributes:m,style:p});k&&k.filter(d=>"#text"!==d.tagName).forEach(l)};a.forEach(l);t(this.svgElement,"afterModifyTree",{nodes:a})}truncate(a,l,f,g,k,p){const m=this.svgElement,{rotation:d}=m,h=[];let v=f?1:0,q=(l||f||"").length,u=q,e,b;const c=function(b,c){b=c||b;if((c=a.parentNode)&&"undefined"===typeof h[b]&&c.getSubStringLength)try{h[b]=g+c.getSubStringLength(0,f?b+1:b)}catch(F){""}return h[b]};m.rotation=0;b=c(a.textContent.length);if(g+b>k){for(;v<= q;)u=Math.ceil((v+q)/2),f&&(e=p(f,u)),b=c(u,e&&e.length-1),v===q?v=q+1:b>k?q=u-1:v=u;0===q?a.textContent="":l&&q===l.length-1||(a.textContent=e||p(l||f,u))}f&&f.splice(0,u);m.actualWidth=b;m.rotation=d}unescapeEntities(a,l){k(this.renderer.escapes,function(f,g){l&&-1!==l.indexOf(f)||(a=a.toString().replace(new RegExp(f,"g"),g))});return a}}return x});M(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,H,K,A,C,E,B,t){const {charts:r,deg2rad:k,doc:p,isFirefox:x,isMS:m,isWebKit:l,noop:f,SVG_NS:g,symbolSizes:w,win:I}=H,{addEvent:D,attr:d,createElement:h,css:v,defined:q,destroyObjectProperties:u,extend:e,isArray:b,isNumber:c,isObject:n,isString:J,merge:F,pick:L,pInt:S,uniqueKey:P}=t;let O;class Q{constructor(b,c,e,n,d,h, f){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,e,n,d,h,f)}init(b,c,e,n,h,f,q){const G=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),a=G.element;q||G.css(this.getStyle(n));b.appendChild(a);d(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&d(a,"xmlns",this.SVG_NS);this.box=a;this.boxWrapper=G;this.alignedObjects= [];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(p.createTextNode("Created with Highcharts 11.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=h;this.styledMode=q;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.rootFontSize=G.getStyle("font-size");this.setSize(c,e,!1);let g;x&&b.getBoundingClientRect&&(c=function(){v(b,{left:0,top:0});g=b.getBoundingClientRect();v(b,{left:Math.ceil(g.left)-g.left+"px",top:Math.ceil(g.top)- g.top+"px"})},c(),this.unSubPixelFix=D(I,"resize",c))}definition(b){return(new a([b])).addToDOM(this.defs.element)}getReferenceURL(){if((x||l)&&p.getElementsByTagName("base").length){if(!q(O)){var b=P();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(p.body); v(b,{position:"fixed",top:0,left:0,zIndex:9E5});const c=p.elementFromPoint(6,6);O="hitme"===(c&&c.id);p.body.removeChild(b)}if(O)return I.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""}getStyle(b){return this.style=e({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},b)}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(); u(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,""),e=F({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:e.offsetX,dy:e.offsetY,"flood-color":e.color,"flood-opacity":Math.min(5*e.opacity,1),stdDeviation:e.width/2}}]});return c}buildText(b){(new B(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(b, c,d,h,f={},q,g,u,J,v){const G=this.label(b,c,d,J,void 0,void 0,v,void 0,"button"),N=this.styledMode;b=f.states||{};let l=0;f=F(f);delete f.states;const k=F({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},f.style);delete f.style;let w=a.filterUserAttributes(f);G.attr(F({padding:8,r:2},w));let p,L,x;N||(w=F({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},w),q=F(w,{fill:"#e6e6e6"},a.filterUserAttributes(q||b.hover||{})),p=q.style,delete q.style,g=F(w,{fill:"#e6e9ff",style:{color:"#000000", fontWeight:"bold"}},a.filterUserAttributes(g||b.select||{})),L=g.style,delete g.style,u=F(w,{style:{color:"#cccccc"}},a.filterUserAttributes(u||b.disabled||{})),x=u.style,delete u.style);D(G.element,m?"mouseover":"mouseenter",function(){3!==l&&G.setState(1)});D(G.element,m?"mouseout":"mouseleave",function(){3!==l&&G.setState(l)});G.setState=function(b){1!==b&&(G.state=l=b);G.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed", "disabled"][b||0]);N||(G.attr([w,q,g,u][b||0]),b=[k,p,L,x][b||0],n(b)&&G.css(b))};N||(G.attr(w).css(e({cursor:"default"},k)),v&&G.text.css({pointerEvents:"none"}));return G.on("touchstart",b=>b.stopPropagation()).on("click",function(b){3!==l&&h.call(G,b)})}crispLine(b,c,e="round"){const n=b[0],d=b[1];q(n[1])&&n[1]===d[1]&&(n[1]=d[1]=Math[e](n[1])-c%2/2);q(n[2])&&n[2]===d[2]&&(n[2]=d[2]=Math[e](n[2])+c%2/2);return b}path(c){const d=this.styledMode?{}:{fill:"none"};b(c)?d.d=c:n(c)&&e(d,c);return this.createElement("path").attr(d)}circle(b, c,e){b=n(b)?b:"undefined"===typeof b?{}:{x:b,y:c,r:e};c=this.createElement("circle");c.xSetter=c.ySetter=function(b,c,e){e.setAttribute("c"+c,b)};return c.attr(b)}arc(b,c,e,d,h,f){n(b)?(d=b,c=d.y,e=d.r,b=d.x):d={innerR:d,start:h,end:f};b=this.symbol("arc",b,c,e,e,d);b.r=e;return b}rect(b,c,h,f,q,g){b=n(b)?b:"undefined"===typeof b?{}:{x:b,y:c,r:q,width:Math.max(h||0,0),height:Math.max(f||0,0)};const G=this.createElement("rect");this.styledMode||("undefined"!==typeof g&&(b["stroke-width"]=g,e(b,G.crisp(b))), b.fill="none");G.rSetter=function(b,c,e){G.r=b;d(e,{rx:b,ry:b})};G.rGetter=function(){return G.r||0};return G.attr(b)}roundedRect(b){return this.symbol("roundedRect").attr(b)}setSize(b,c,e){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:L(e,!0)?void 0:0});this.alignElements()}g(b){const c=this.createElement("g");return b?c.attr({"class":"highcharts-"+b}):c}image(b,e,d,n,h,f){const G= {preserveAspectRatio:"none"};c(e)&&(G.x=e);c(d)&&(G.y=d);c(n)&&(G.width=n);c(h)&&(G.height=h);const q=this.createElement("image").attr(G);e=function(c){q.attr({href:b});f.call(q,c)};f?(q.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}),d=new I.Image,D(d,"load",e),d.src=b,d.complete&&e({})):q.attr({href:b});return q}symbol(b,c,n,f,g,a){const G=this,u=/^url\((.*?)\)$/,J=u.test(b),l=!J&&(this.symbols[b]?b:"circle"),F=l&&this.symbols[l];let m,k,x,O;if(F)"number"=== typeof c&&(k=F.call(this.symbols,Math.round(c||0),Math.round(n||0),f||0,g||0,a)),m=this.path(k),G.styledMode||m.attr("fill","none"),e(m,{symbolName:l||void 0,x:c,y:n,width:f,height:g}),a&&e(m,a);else if(J){x=b.match(u)[1];const e=m=this.image(x);e.imgwidth=L(a&&a.width,w[x]&&w[x].width);e.imgheight=L(a&&a.height,w[x]&&w[x].height);O=b=>b.attr({width:b.width,height:b.height});["width","height"].forEach(function(b){e[b+"Setter"]=function(b,c){this[c]=b;const {alignByTranslate:e,element:n,width:h,height:f, imgwidth:G,imgheight:g}=this;b=this["img"+c];if(q(b)){let q=1;a&&"within"===a.backgroundSize&&h&&f?(q=Math.min(h/G,f/g),d(n,{width:Math.round(G*q),height:Math.round(g*q)})):n&&n.setAttribute(c,b);e||this.translate(((h||0)-G*q)/2,((f||0)-g*q)/2)}}});q(c)&&e.attr({x:c,y:n});e.isImg=!0;q(e.imgwidth)&&q(e.imgheight)?O(e):(e.attr({width:0,height:0}),h("img",{onload:function(){const b=r[G.chartIndex];0===this.width&&(v(this,{position:"absolute",top:"-999em"}),p.body.appendChild(this));w[x]={width:this.width, height:this.height};e.imgwidth=this.width;e.imgheight=this.height;e.element&&O(e);this.parentNode&&this.parentNode.removeChild(this);G.imgCount--;if(!G.imgCount&&b&&!b.hasLoaded)b.onload()},src:x}),this.imgCount++)}return m}clipRect(b,c,e,n){const d=P()+"-",h=this.createElement("clipPath").attr({id:d}).add(this.defs);b=this.rect(b,c,e,n,0).add(h);b.id=d;b.clipPath=h;b.count=0;return b}text(b,c,e,n){const d={};if(n&&(this.allowHTML||!this.forExport))return this.html(b,c,e);d.x=Math.round(c||0);e&& (d.y=Math.round(e));q(b)&&(d.text=b);b=this.createElement("text").attr(d);if(!n||this.forExport&&!this.allowHTML)b.xSetter=function(b,c,e){const d=e.getElementsByTagName("tspan"),n=e.getAttribute(c);for(let e=0,h;eb?b+3:Math.round(1.2*b);return{h:c,b:Math.round(.8*c),f:b}}rotCorr(b,c,e){let d=b;c&&e&&(d=Math.max(d*Math.cos(c*k),4)); return{x:-b/3*Math.sin(c*k),y:d}}pathToSegments(b){const e=[],d=[],n={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let h=0;hb.align())}}e(Q.prototype,{Element:A,SVG_NS:g, escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:E,draw:f});K.registerRendererType("svg",Q,!0);"";return Q});M(a,"Core/Renderer/HTML/HTMLElement.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,H){const {isFirefox:y,isMS:A,isWebKit:C,win:E}=a,{css:B,defined:t,extend:r,pick:k,pInt:p}=H,x=[];class m extends z{static compose(a){if(H.pushUnique(x,a)){const f=m.prototype,g=a.prototype;g.getSpanCorrection=f.getSpanCorrection; g.htmlCss=f.htmlCss;g.htmlGetBBox=f.htmlGetBBox;g.htmlUpdateTransform=f.htmlUpdateTransform;g.setSpanRotation=f.setSpanRotation}return a}getSpanCorrection(a,f,g){this.xCorr=-a*g;this.yCorr=-f}htmlCss(a){const f="SPAN"===this.element.tagName&&a&&"width"in a,g=k(f&&a.width,void 0);let l;f&&(delete a.width,this.textWidth=g,l=!0);a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=r(this.styles,a);B(this.element,a);l&&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,f=this.element,g=this.x||0,m=this.y||0,k=this.textAlign||"left",x={left:0,center:.5,right:1}[k],d=this.styles,h=d&&d.whiteSpace;B(f,{marginLeft:this.translateX||0,marginTop:this.translateY||0});if("SPAN"===f.tagName){d=this.rotation;const q=this.textWidth&&p(this.textWidth),u=[d,k,f.innerHTML,this.textWidth,this.textAlign].join();let e=!1;if(q!==this.oldTextWidth){if(this.textPxLength)var v= this.textPxLength;else B(f,{width:"",whiteSpace:h||"nowrap"}),v=f.offsetWidth;(q>this.oldTextWidth||v>q)&&(/[ \-]/.test(f.textContent||f.innerText)||"ellipsis"===f.style.textOverflow)&&(B(f,{width:v>q||d?q+"px":"auto",display:"block",whiteSpace:h||"normal"}),this.oldTextWidth=q,e=!0)}this.hasBoxWidthChanged=e;u!==this.cTT&&(a=a.fontMetrics(f).b,!t(d)||d===(this.oldRotation||0)&&k===this.oldAlign||this.setSpanRotation(d,x,a),this.getSpanCorrection(!t(d)&&this.textPxLength||f.offsetWidth,a,x,d,k)); B(f,{left:g+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=u;this.oldRotation=d;this.oldAlign=k}}else this.alignOnAdd=!0}setSpanRotation(a,f,g){const l={},m=A&&!/Edge/.test(E.navigator.userAgent)?"-ms-transform":C?"-webkit-transform":y?"MozTransform":E.opera?"-o-transform":void 0;m&&(l[m]=l.transform="rotate("+a+"deg)",l[m+(y?"Origin":"-origin")]=l.transformOrigin=100*f+"% "+g+"px",B(this.element,l))}}return m});M(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,H,K){const {attr:y,createElement:C,extend:E,pick:B}=K,t=[];class r extends H{static compose(a){K.pushUnique(t,a)&&(a.prototype.html=r.prototype.html);return a}html(k,p,x){const m=this.createElement("span"),l=m.element,f=m.renderer,g=function(f,a){["opacity","visibility"].forEach(function(g){f[g+"Setter"]=function(d,h,v){const q=f.div?f.div.style:a;z.prototype[g+"Setter"].call(this,d,h,v); q&&(q[h]=d)}});f.addedSetters=!0};m.textSetter=function(f){f!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,a.setElementHTML(this.element,B(f,"")),this.textStr=f,m.doTransform=!0)};g(m,m.element.style);m.xSetter=m.ySetter=m.alignSetter=m.rotationSetter=function(f,a){"align"===a?m.alignValue=m.textAlign=f:m[a]=f;m.doTransform=!0};m.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};m.attr({text:k,x:Math.round(p),y:Math.round(x)}).css({position:"absolute"}); f.styledMode||m.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});l.style.whiteSpace="nowrap";m.css=m.htmlCss;m.add=function(a){const k=f.box.parentNode,p=[];let d;if(this.parentGroup=a){if(d=a.div,!d){for(;a;)p.push(a),a=a.parentGroup;p.reverse().forEach(function(h){function f(b,c){h[c]=b;"translateX"===c?e.left=b+"px":e.top=b+"px";h.doTransform=!0}const a=y(h.element,"class"),u=h.styles||{};d=h.div=h.div||C("div",a?{className:a}:void 0,{position:"absolute",left:(h.translateX|| 0)+"px",top:(h.translateY||0)+"px",display:h.display,opacity:h.opacity,visibility:h.visibility},d||k);const e=d.style;E(h,{classSetter:function(b){return function(c){this.element.setAttribute("class",c);b.className=c}}(d),css:function(b){m.css.call(h,b);["cursor","pointerEvents"].forEach(c=>{b[c]&&(e[c]=b[c])});return h},on:function(){p[0].div&&m.on.apply({element:p[0].div,onEvents:h.onEvents},arguments);return h},translateXSetter:f,translateYSetter:f});h.addedSetters||g(h);h.css(u)})}}else d=k;d.appendChild(l); m.added=!0;m.alignOnAdd&&m.htmlUpdateTransform();return m};return m}}return r});M(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});M(a,"Core/Foundation.js",[a["Core/Utilities.js"]],function(a){const {addEvent:y,isFunction:H,objectEach:K,removeEvent:A}=a;var C;(function(a){a.registerEventOptions=function(a,t){a.eventOptions=a.eventOptions||{};K(t.events,function(r,k){a.eventOptions[k]!==r&&(a.eventOptions[k]&&(A(a,k,a.eventOptions[k]),delete a.eventOptions[k]),H(r)&& (a.eventOptions[k]=r,y(a,k,r,{order:0})))})}})(C||(C={}));return C});M(a,"Core/Axis/Tick.js",[a["Core/Templating.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,H){const {deg2rad:y}=z,{clamp:A,correctFloat:C,defined:E,destroyObjectProperties:B,extend:t,fireEvent:r,isNumber:k,merge:p,objectEach:x,pick:m}=H;class l{constructor(f,a,l,m,k){this.isNewLabel=this.isNew=!0;this.axis=f;this.pos=a;this.type=l||"";this.parameters=k||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options= this.parameters.options;r(this,"init");l||m||this.addLabel()}addLabel(){const f=this,g=f.axis;var l=g.options;const p=g.chart;var x=g.categories;const d=g.logarithmic,h=g.names,v=f.pos,q=m(f.options&&f.options.labels,l.labels);var u=g.tickPositions;const e=v===u[0],b=v===u[u.length-1],c=(!q.step||1===q.step)&&1===g.tickInterval;u=u.info;let n=f.label,J,F,L;x=this.parameters.category||(x?m(x[v],h[v],v):v);d&&k(x)&&(x=C(d.lin2log(x)));g.dateTime&&(u?(F=p.time.resolveDTLFormat(l.dateTimeLabelFormats[!l.grid&& u.higherRanks[v]||u.unitName]),J=F.main):k(x)&&(J=g.dateTime.getXDateFormat(x,l.dateTimeLabelFormats||{})));f.isFirst=e;f.isLast=b;const S={axis:g,chart:p,dateTimeLabelFormat:J,isFirst:e,isLast:b,pos:v,tick:f,tickPositionInfo:u,value:x};r(this,"labelFormat",S);const P=b=>q.formatter?q.formatter.call(b,b):q.format?(b.text=g.defaultLabelFormatter.call(b,b),a.format(q.format,b,p)):g.defaultLabelFormatter.call(b,b);l=P.call(S,S);const O=F&&F.list;f.shortenLabel=O?function(){for(L=0;Lq&&k-u*ed&&(F=Math.round((p-k)/Math.cos(q*y)));else if(p=k+(1-u)*e,k-u*ed&&(n=d-f.x+n*u,J=-1),n=Math.min(b,n),nn||a.autoRotation&&(v.styles||{}).width)F=n;F&& (this.shortenLabel?this.shortenLabel():(c.width=Math.floor(F)+"px",(l.style||{}).textOverflow||(c.textOverflow="ellipsis"),v.css(c)))}moveLabel(a,g){const f=this;var l=f.label;const m=f.axis;let d=!1;l&&l.textStr===a?(f.movedLabel=l,d=!0,delete f.label):x(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&&!l||(l=f.labelPos||l.xy,f.movedLabel=f.createLabel(l,a,g),f.movedLabel&&f.movedLabel.attr({opacity:0}))}render(a, g,l){var f=this.axis,k=f.horiz,d=this.pos,h=m(this.tickmarkOffset,f.tickmarkOffset);d=this.getPosition(k,d,h,g);h=d.x;const v=d.y;f=k&&h===f.pos+f.len||!k&&v===f.pos?-1:1;k=m(l,this.label&&this.label.newOpacity,1);l=m(l,1);this.isActive=!0;this.renderGridLine(g,l,f);this.renderMark(d,l,f);this.renderLabel(d,g,k,a);this.isNew=!1;r(this,"afterRender")}renderGridLine(f,a,l){const g=this.axis,k=g.options,d={},h=this.pos,v=this.type,q=m(this.tickmarkOffset,g.tickmarkOffset),u=g.chart.renderer;let e=this.gridLine, b=k.gridLineWidth,c=k.gridLineColor,n=k.gridLineDashStyle;"minor"===this.type&&(b=k.minorGridLineWidth,c=k.minorGridLineColor,n=k.minorGridLineDashStyle);e||(g.chart.styledMode||(d.stroke=c,d["stroke-width"]=b||0,d.dashstyle=n),v||(d.zIndex=1),f&&(a=0),this.gridLine=e=u.path().attr(d).addClass("highcharts-"+(v?v+"-":"")+"grid-line").add(g.gridGroup));if(e&&(l=g.getPlotLinePath({value:h+q,lineWidth:e.strokeWidth()*l,force:"pass",old:f,acrossPanes:!1})))e[f||this.isNew?"attr":"animate"]({d:l,opacity:a})}renderMark(a, g,l){const f=this.axis;var k=f.options;const d=f.chart.renderer,h=this.type,v=f.tickSize(h?h+"Tick":"tick"),q=a.x;a=a.y;const u=m(k["minor"!==h?"tickWidth":"minorTickWidth"],!h&&f.isXAxis?1:0);k=k["minor"!==h?"tickColor":"minorTickColor"];let e=this.mark;const b=!e;v&&(f.opposite&&(v[0]=-v[0]),e||(this.mark=e=d.path().addClass("highcharts-"+(h?h+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||e.attr({stroke:k,"stroke-width":u})),e[b?"attr":"animate"]({d:this.getMarkPath(q,a,v[0],e.strokeWidth()* l,f.horiz,d),opacity:g}))}renderLabel(a,g,l,p){var f=this.axis;const d=f.horiz,h=f.options,v=this.label,q=h.labels,u=q.step;f=m(this.tickmarkOffset,f.tickmarkOffset);const e=a.x;a=a.y;let b=!0;v&&k(e)&&(v.xy=a=this.getLabelPosition(e,a,v,d,q,f,p,u),this.isFirst&&!this.isLast&&!h.showFirstLabel||this.isLast&&!this.isFirst&&!h.showLastLabel?b=!1:!d||q.step||q.rotation||g||0===l||this.handleOverflow(a),u&&p%u&&(b=!1),b&&k(a.y)?(a.opacity=l,v[this.isNewLabel?"attr":"animate"](a).show(!0),this.isNewLabel= !1):(v.hide(),this.isNewLabel=!0))}replaceMovedLabel(){const a=this.label,g=this.axis;a&&!this.isNew&&(a.animate({opacity:0},void 0,a.destroy),delete this.label);g.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel}}"";return l});M(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,H,K,A,C,E,B){const {animObject:t}= a,{defaultOptions:r}=K,{registerEventOptions:k}=A,{deg2rad:p}=C,{arrayMax:x,arrayMin:m,clamp:l,correctFloat:f,defined:g,destroyObjectProperties:w,erase:I,error:D,extend:d,fireEvent:h,getClosestDistance:v,insertItem:q,isArray:u,isNumber:e,isString:b,merge:c,normalizeTickInterval:n,objectEach:J,pick:F,relativeLength:L,removeEvent:S,splat:P,syncTimeout:O}=B,Q=(b,c)=>n(c,void 0,void 0,F(b.options.allowDecimals,.5>c||void 0!==b.tickAmount),!!b.tickAmount);class V{constructor(b,c,e){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.index=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0;this.init(b,c,e)}init(b,c,d=this.coll){const n="xAxis"===d;this.chart=b;this.horiz=this.isZAxis||(b.inverted?!n:n);this.isXAxis=n;this.coll=d;h(this,"init",{userOptions:c});this.opposite=F(c.opposite,this.opposite);this.side=F(c.side,this.side,this.horiz?this.opposite?0:2: this.opposite?1:3);this.setOptions(c);d=this.options;const a=d.labels,f=d.type;this.userOptions=c;this.minPixelPadding=0;this.reversed=F(d.reversed,this.reversed);this.visible=d.visible;this.zoomEnabled=d.zoomEnabled;this.hasNames="category"===f||!0===d.categories;this.categories=d.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups={};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=g(d.linkedTo);this.ticks={};this.labelEdge=[]; this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.min=this.max=null;c=F(d.crosshair,P(b.options.tooltip.crosshairs)[n?0:1]);this.crosshair=!0===c?{}:c;-1===b.axes.indexOf(this)&&(n?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),q(this,b[this.coll]));b.orderItems(this.coll);this.series=this.series||[];b.inverted&&!this.isZAxis&&n&&"undefined"===typeof this.reversed&& (this.reversed=!0);this.labelRotation=e(a.rotation)?a.rotation:void 0;k(this,d);h(this,"afterInit")}setOptions(b){this.options=c(z.defaultXAxisOptions,"yAxis"===this.coll&&z.defaultYAxisOptions,[z.defaultTopAxisOptions,z.defaultRightAxisOptions,z.defaultBottomAxisOptions,z.defaultLeftAxisOptions][this.side],c(r[this.coll],b));h(this,"afterSetOptions",{userOptions:b})}defaultLabelFormatter(b){var c=this.axis;({numberFormatter:b}=this.chart);const d=e(this.value)?this.value:NaN,n=c.chart.time,h=this.dateTimeLabelFormat; var a=r.lang;const f=a.numericSymbols;a=a.numericSymbolMagnitude||1E3;const G=c.logarithmic?Math.abs(d):c.tickInterval;let q=f&&f.length,g;if(c.categories)g=`${this.value}`;else if(h)g=n.dateFormat(h,d);else if(q&&1E3<=G)for(;q--&&"undefined"===typeof g;)c=Math.pow(a,q+1),G>=c&&0===10*d%c&&null!==f[q]&&0!==d&&(g=b(d/c,-1)+f[q]);"undefined"===typeof g&&(g=1E4<=Math.abs(d)?b(d,-1):b(d,-1,void 0,""));return g}getSeriesExtremes(){const b=this,c=b.chart;let d;h(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries= !1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.series.forEach(function(n){if(n.visible||!c.options.chart.ignoreHiddenSeries){var h=n.options;let c=h.threshold,a,f;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=c&&(c=null);if(b.isXAxis)(h=n.xData)&&h.length&&(h=b.logarithmic?h.filter(b=>0e)&&(m?b=l(b,c,e):r=!0);return b}const d=this, n=d.chart,a=d.left,f=d.top,q=b.old,g=b.value,G=b.lineWidth,u=q&&n.oldChartHeight||n.chartHeight,J=q&&n.oldChartWidth||n.chartWidth,v=d.transB;let k=b.translatedValue,m=b.force,p,L,x,w,r;b={value:g,lineWidth:G,old:q,force:m,acrossPanes:b.acrossPanes,translatedValue:k};h(this,"getPlotLinePath",b,function(b){k=F(k,d.translate(g,void 0,void 0,q));k=l(k,-1E5,1E5);p=x=Math.round(k+v);L=w=Math.round(u-k-v);e(k)?d.horiz?(L=f,w=u-d.bottom,p=x=c(p,a,a+d.width)):(p=a,x=J-d.right,L=w=c(L,f,f+d.height)):(r=!0, m=!1);b.path=r&&!m?null:n.renderer.crispLine([["M",p,L],["L",x,w]],G||1)});return b.path}getLinearTickPositions(b,c,e){const d=f(Math.floor(c/b)*b);e=f(Math.ceil(e/b)*b);const n=[];let h,a;f(d+b)===d&&(a=20);if(this.single)return[c];for(c=d;c<=e;){n.push(c);c=f(c+b,a);if(c===h)break;h=c}return n}getMinorTickInterval(){const b=this.options;return!0===b.minorTicks?F(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval}getMinorTickPositions(){var b=this.options;const c=this.tickPositions, e=this.minorTickInterval;var d=this.pointRangePadding||0;const n=this.min-d;d=this.max+d;const h=d-n;let a=[];if(h&&h/e{var c;return(b.xIncrement?null===(c=b.xData)||void 0===c?void 0:c.slice(0,2):b.xData)||[]}))||0;this.minRange=Math.min(5*a,this.dataMax-this.dataMin)}d-e=this.minRange,h=this.minRange,d=(h-d+e)/ 2,n=[e-d,F(b.min,e-d)],a&&(n[2]=c?c.log2lin(this.dataMin):this.dataMin),e=x(n),d=[e+h,F(b.max,e+h)],a&&(d[2]=c?c.log2lin(this.dataMax):this.dataMax),d=m(d),d-eb-c),b=v([e]))}return b&&c?Math.min(b,c):b||c}nameToX(b){const c=u(this.options.categories),e=c?this.categories:this.names;let d=b.options.x,n;b.series.requireSorting=!1;g(d)||(d=this.options.uniqueNames&&e?c?e.indexOf(b.name):F(e.keys[b.name],-1):b.series.autoIncrement());-1===d?!c&&e&&(n=e.length):n=d;"undefined"!==typeof n?(this.names[n]=b.name,this.names.keys[b.name]=n):b.x&&(n=b.x);return n}updateNames(){const b=this,c=this.names;0=m?(w=m,v=0):this.dataMax<=m&&(p=m,G=0)),this.min=F(L,w,this.dataMin),this.max=F(x,p,this.dataMax);d&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,F(this.dataMin, this.min))&&D(10,1,c),this.min=f(d.log2lin(this.min),16),this.max=f(d.log2lin(this.max),16));this.range&&g(this.max)&&(this.userMin=this.min=L=Math.max(this.dataMin,this.minFromRange()),this.userMax=x=this.max,this.range=null);h(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();!e(this.userMin)&&e(n.softMin)&&n.softMinthis.max&&(this.max=x=n.softMax);!(l||this.axisPointRange||this.stacking&& this.stacking.usePercentage||q)&&g(this.min)&&g(this.max)&&(c=this.max-this.min)&&(!g(L)&&v&&(this.min-=c*v),!g(x)&&G&&(this.max+=c*G));!e(this.userMin)&&e(n.floor)&&(this.min=Math.max(this.min,n.floor));!e(this.userMax)&&e(n.ceiling)&&(this.max=Math.min(this.max,n.ceiling));J&&g(this.dataMin)&&(m=m||0,!g(L)&&this.min=m?this.min=this.options.minRange?Math.min(m,this.max-this.minRange):m:!g(x)&&this.max>m&&this.dataMax<=m&&(this.max=this.options.minRange?Math.max(m,this.min+this.minRange): m));e(this.min)&&e(this.max)&&!this.chart.polar&&this.min>this.max&&(g(this.options.min)?this.max=this.min:g(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:q&&this.linkedParent&&!k&&u===this.linkedParent.options.tickPixelInterval?k=this.linkedParent.tickInterval:F(k,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,l?1:(this.max-this.min)*u/Math.max(this.len,u));if(a&&!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&&!k&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));b=F(n.minTickInterval,this.dateTime&&!this.series.some(b=>b.noSharedTooltip)?this.closestPointRange:0);!k&&this.tickIntervalMath.max(2*this.len,200)))if(this.dateTime)f=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)f=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(n=b=this.tickInterval;n<=2*b;)if(f=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&f.length>this.tickAmount)this.tickInterval=Q(this,n*=1.1);else break;else f=[this.min,this.max],D(19,!1,this.chart);f.length>this.len&&(f=[f[0],f[f.length-1]],f[0]===f[1]&&(f.length=1));d&&(this.tickPositions=f,(u=d.apply(this,[this.min,this.max]))&& (f=u))}this.tickPositions=f;this.paddedTicks=f.slice(0);this.trimTicks(f,q,a);!this.isLinked&&e(this.min)&&e(this.max)&&(this.single&&2>f.length&&!this.categories&&!this.series.some(b=>b.is("heatmap")&&"between"===b.options.pointPlacement)&&(this.min-=.5,this.max+=.5),c||u||this.adjustTickAmount());h(this,"afterSetTickPositions")}trimTicks(b,c,e){const d=b[0],n=b[b.length-1],a=!this.isOrdinal&&this.minPointOffset||0;h(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==d)this.min=d;else for(;this.min- a>b[0];)b.shift();if(e)this.max=n;else for(;this.max+a{const {horiz:c,options:e}=b;return[c?e.left:e.top,e.width,e.height,e.pane].join()}, d=e(this);this.chart[this.coll].forEach(function(n){const {series:h}=n;h.length&&h.some(b=>b.visible)&&n!==b&&e(n)===d&&(a=!0,c.push(n))})}if(a&&n){c.forEach(c=>{c=c.getThresholdAlignment(b);e(c)&&h.push(c)});const d=1b+c,0)/h.length:void 0;c.forEach(b=>{b.thresholdAlignment=d})}return a}getThresholdAlignment(b){(!e(this.dataMin)||this!==b&&this.series.some(b=>b.isDirty||b.isDirtyData))&&this.getSeriesExtremes();if(e(this.threshold))return b=l((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 e=b.tickAmount;!g(b.tickInterval)&&!e&&this.lene&&(this.finalTickAmt=e,e=5);this.tickAmount=e}adjustTickAmount(){const b=this,{finalTickAmt:c,max:d,min:n,options:h,tickPositions:a,tickAmount:q,thresholdAlignment:u}=b,l=a&&a.length; var J=F(b.threshold,b.softThreshold?0:null);var v=b.tickInterval;let k;e(u)&&(k=.5>u?Math.ceil(u*(q-1)):Math.floor(u*(q-1)),h.reversed&&(k=q-1-k));if(b.hasData()&&e(n)&&e(d)){const u=()=>{b.transA*=(l-1)/(q-1);b.min=h.startOnTick?a[0]:Math.min(n,a[0]);b.max=h.endOnTick?a[a.length-1]:Math.max(d,a[a.length-1])};if(e(k)&&e(b.threshold)){for(;a[k]!==J||a.length!==q||a[0]>n||a[a.length-1]b.threshold?a.unshift(f(a[0]-v)):a.push(f(a[a.length- 1]+v));if(v>8*b.tickInterval)break;v*=2}u()}else if(l=c&&0q&&(c=q)),g(n)&&(aq&&(a=q))),e.displayBtn= "undefined"!==typeof c||"undefined"!==typeof a,e.setExtremes(c,a,!1,void 0,{trigger:"zoom"});b.zoomed=!0});return b.zoomed}setAxisSize(){const b=this.chart;var c=this.options;const e=c.offsets||[0,0,0,0],d=this.horiz,n=this.width=Math.round(L(F(c.width,b.plotWidth-e[3]+e[1]),b.plotWidth)),a=this.height=Math.round(L(F(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),h=this.top=Math.round(L(F(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop));c=this.left=Math.round(L(F(c.left,b.plotLeft+e[3]),b.plotWidth, b.plotLeft));this.bottom=b.chartHeight-a-h;this.right=b.chartWidth-n-c;this.len=Math.max(d?n:a,0);this.pos=d?c:h}getExtremes(){const b=this.logarithmic;return{min:b?f(b.lin2log(this.min)):this.min,max:b?f(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 e=c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===b||-Infinity===b?b=e:Infinity===b?b=c:e>b?b=e:cc?b.align="right":195c&&(b.align="left")});return b.align}tickSize(b){const c=this.options,e=F(c["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0);let d=c["tick"===b?"tickLength":"minorTickLength"],n;e&&d&&("inside"===c[b+"Position"]&&(d=-d),n=[d,e]);b={tickSize:n};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 d=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/d),a=b.rotation,h=.75*this.labelMetrics().h,q=Math.max(this.max-this.min,0),g=function(b){let c=b/(n||1);c=1q&&Infinity!==b&&Infinity!==n&&q&&(c=Math.ceil(q/d));return f(c*d)};let u=d,l,J=Number.MAX_VALUE,v;if(c){if(b.staggerLines|| (e(a)?v=[a]:n=e)c=g(Math.abs(h/Math.sin(p*e))),b=c+Math.abs(e/360),bn.step)return n.rotation?0:(this.staggerLines|| 1)*this.len/a;if(!d){b=n.style.width;if(void 0!==b)return parseInt(String(b),10);if(h)return h-c.spacing[3]}return.33*c.chartWidth}renderUnsquish(){const c=this.chart,e=c.renderer,d=this.tickPositions,n=this.ticks,a=this.options.labels,h=a.style,f=this.horiz,q=this.getSlotWidth();var g=Math.max(1,Math.round(q-2*a.padding));const u={},l=this.labelMetrics(),J=h.textOverflow;let v,k,m=0;b(a.rotation)||(u.rotation=a.rotation||0);d.forEach(function(b){b=n[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&& b.label.textPxLength>m&&(m=b.label.textPxLength)});this.maxLabelLength=m;if(this.autoRotation)m>g&&m>l.h?u.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(v=g,!J))for(k="clip",g=d.length;!f&&g--;){var F=d[g];if(F=n[F].label)F.styles&&"ellipsis"===F.styles.textOverflow?F.css({textOverflow:"clip"}):F.textPxLength>q&&F.css({width:q+"px"}),F.getBBox().height>this.len/d.length-(l.h-l.f)&&(F.specificTextOverflow="ellipsis")}u.rotation&&(v=m>.5*c.chartHeight?.33*c.chartHeight:m,J||(k="ellipsis")); if(this.labelAlign=a.align||this.autoLabelAlign(this.labelRotation))u.align=this.labelAlign;d.forEach(function(b){const c=(b=n[b])&&b.label,e=h.width,d={};c&&(c.attr(u),b.shortenLabel?b.shortenLabel():v&&!e&&"nowrap"!==h.whiteSpace&&(vv.g(b).attr({zIndex:e}).addClass(`highcharts-${u.toLowerCase()}${c} `+(this.isRadial?`highcharts-radial-axis${c} `:"")+(S||"")).add(l);b.gridGroup=c("grid","-grid",n.gridZIndex);b.axisGroup=c("axis","",n.zIndex);b.labelGroup=c("axis-labels","-labels", L.zIndex)}m||b.isLinked?(q.forEach(function(c){b.generateTick(c)}),b.renderUnsquish(),b.reserveSpaceDefault=0===a||2===a||{1:"left",3:"right"}[a]===b.labelAlign,F(L.reserveSpace,x?!1:null,"center"===b.labelAlign?!0:null,b.reserveSpaceDefault)&&q.forEach(function(b){D=Math.max(f[b].getLabelSize(),D)}),b.staggerLines&&(D*=b.staggerLines),b.labelOffset=D*(b.opposite?-1:1)):J(f,function(b,c){b.destroy();delete f[c]});p&&p.text&&!1!==p.enabled&&(b.addTitle(t),t&&!x&&!1!==p.reserveSpace&&(b.titleOffset= I=b.axisTitle.getBBox()[d?"height":"width"],V=p.offset,Q=g(V)?0:F(p.margin,d?5:10)));b.renderLine();b.offset=O*F(n.offset,w[a]?w[a]+(n.margin||0):0);b.tickRotCorr=b.tickRotCorr||{x:0,y:0};m=0===a?-b.labelMetrics().h:2===a?b.tickRotCorr.y:0;Q=Math.abs(D)+Q;D&&(Q=Q-m+O*(d?F(L.y,b.tickRotCorr.y+O*L.distance):F(L.x,O*L.distance)));b.axisTitleMargin=F(V,Q);b.getMaxLabelDimensions&&(b.maxLabelDimensions=b.getMaxLabelDimensions(f,q));"colorAxis"!==u&&(L=this.tickSize("tick"),w[a]=Math.max(w[a],(b.axisTitleMargin|| 0)+I+O*b.offset,Q,q&&q.length&&L?L[0]+O*b.offset:0),w=!b.axisLine||n.offset?0:2*Math.floor(b.axisLine.strokeWidth()/2),r[k]=Math.max(r[k],w));h(this,"afterGetOffset")}getLinePath(b){const c=this.chart,e=this.opposite;var d=this.offset;const n=this.horiz,a=this.left+(e?this.width:0)+d;d=c.chartHeight-this.bottom-(e?this.height:0)+d;e&&(b*=-1);return c.renderer.crispLine([["M",n?this.left:a,n?d:this.top],["L",n?c.chartWidth-this.right:a,n?d: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,e=this.left;const d=this.top;var n=this.len;const a=this.options.title,f=c?e:d,q=this.opposite,g=this.offset,u=a.x,l=a.y,J=this.chart.renderer.fontMetrics(b);b=b?Math.max(b.getBBox(!1,0).height-J.h-1,0):0;n={low:f+(c?0:n),middle:f+n/2,high:f+(c?n: 0)}[a.align];e=(c?d+this.height:e)+(c?1:-1)*(q?-1:1)*(this.axisTitleMargin||0)+[-b,b,J.f,-b][this.side];c={x:c?n+u:e+(q?this.width:0)+g+u,y:c?e+l-(q?this.height:0)+g:n+l};h(this,"afterGetTitlePosition",{titlePosition:c});return c}renderMinorTick(b,c){const e=this.minorTicks;e[b]||(e[b]=new E(this,b,"minor"));c&&e[b].isNew&&e[b].render(null,!0);e[b].render(null,!1,1)}renderTick(b,c,e){const d=this.ticks;if(!this.isLinked||b>=this.min&&b<=this.max||this.grid&&this.grid.isColumn)d[b]||(d[b]=new E(this, b)),e&&d[b].isNew&&d[b].render(c,!0,-1),d[b].render(c)}render(){const b=this,c=b.chart,d=b.logarithmic,n=b.options,a=b.isLinked,f=b.tickPositions,q=b.axisTitle,g=b.ticks,u=b.minorTicks,l=b.alternateBands,v=n.stackLabels,k=n.alternateGridColor;var m=n.crossing;const F=b.tickmarkOffset,p=b.axisLine,L=b.showAxis,x=t(c.renderer.globalAnimation);let w,r;b.labelEdge.length=0;b.overlap=!1;[g,u,l].forEach(function(b){J(b,function(b){b.isActive=!1})});if(e(m)){const e=this.isXAxis?c.yAxis[0]:c.xAxis[0],d= [1,-1,-1,1][this.side];e&&(m=e.toPixels(m,!0),b.horiz&&(m=e.len-m),b.offset=d*m)}if(b.hasData()||a){const a=b.chart.hasRendered&&b.old&&e(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(c){b.renderMinorTick(c,a)});f.length&&(f.forEach(function(c,e){b.renderTick(c,e,a)}),F&&(0===b.min||b.single)&&(g[-1]||(g[-1]=new E(b,-1,null,!0)),g[-1].render(-1)));k&&f.forEach(function(e,n){r="undefined"!==typeof f[n+1]?f[n+1]+F:b.max-F;0===n%2&&ep&&(!m||h<=x)&&"undefined"!==typeof h&&k.push(h),h>x&&(v=!0),h=d}else p=this.lin2log(p),x=this.lin2log(x),a=m?l.getMinorTickInterval():g.tickInterval,a=K("auto"===a?null:a,this.minorAutoInterval,g.tickPixelInterval/(m?5:1)*(x-p)/((m?f/l.tickPositions.length:f)||1)),a=H(a),k=l.getLinearTickPositions(a,p,x).map(this.log2lin),m||(this.minorAutoInterval=a/5);m||(l.tickInterval=a);return k}lin2log(a){return Math.pow(10, a)}log2lin(a){return Math.log(a)/Math.LN10}}z.Additions=r})(A||(A={}));return A});M(a,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[a["Core/Utilities.js"]],function(a){const {erase:y,extend:H,isNumber:K}=a;var A;(function(z){function E(a){return this.addPlotBandOrLine(a,"plotBands")}function B(a,g){const f=this.userOptions;let k=new l(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(g){const l=f[g]||[];l.push(a);f[g]=l}this.plotLinesAndBands.push(k)}return k}function t(a){return this.addPlotBandOrLine(a,"plotLines")}function r(a,g,l=this.options){const f=this.getPlotLinePath({value:g,force:!0,acrossPanes:l.acrossPanes}),k=[],d=this.horiz;g=!K(this.min)||!K(this.max)||athis.max&&g>this.max;a=this.getPlotLinePath({value:a,force:!0,acrossPanes:l.acrossPanes});l=1;let h;if(a&&f)for(g&&(h=a.toString()===f.toString(),l=0),g=0;g{const h="x"===n;return[n,h?g:l,h?d:a].concat(f?[h?d*u.scaleX:a*u.scaleY,h?u.left-c+(e.plotX+b.plotLeft)*u.scaleX:u.top-c+(e.plotY+b.plotTop)*u.scaleY,0,h?g:l]:[h?d:a,h?e.plotX+b.plotLeft:e.plotY+b.plotTop,h?b.plotLeft:b.plotTop,h?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])};let k=q("y"),v=q("x"), m;q=!!e.negative;!b.polar&&b.hoverSeries&&b.hoverSeries.yAxis&&b.hoverSeries.yAxis.reversed&&(q=!q);const p=!this.followPointer&&D(e.ttBelow,!b.inverted===q),x=function(b,e,d,a,q,g,l){const k=f?"y"===b?c*u.scaleY:c*u.scaleX:c,v=(d-a)/2,J=aF-h?F:F-h);else if(m)n[b]=Math.max(g,q+h+d>e?q:q+h);else return!1},w=function(b,e,d,a,h){let f;he-c?f=!1:n[b]=he-a/2?e-a-2:h-d/2;return f},r=function(b){const c= k;k=v;v=c;m=b},N=function(){!1!==x.apply(0,k)?!1!==w.apply(0,v)||m||(r(!0),N()):m?n.x=n.y=0:(r(!0),N())};(b.inverted||1c.isDirectTouch||b.series.shouldShowTooltip(d, f)))h=this.getLabel(),b.style.width&&!m||h.css({width:(this.outside?this.getPlayingField():e.spacingBox).width+"px"}),h.attr({text:u&&u.join?u.join(""):u}),h.addClass(this.getClassName(q),!0),m||h.attr({stroke:b.borderColor||q.color||k.color||"#666666"}),this.updatePosition({plotX:x,plotY:r,negative:q.negative,ttBelow:q.ttBelow,h:a[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show();this.isHidden=!1}l(this,"refresh")}}renderSplit(d,a){function e(c,e,d,a, n=!0){d?(e=R?0:K,c=k(c-a/2,N.left,N.right-a-(b.outside?W:0))):(e-=C,c=n?c-a-I:c+I,c=k(c,n?c:N.left,N.right));return{x:c,y:e}}const b=this,{chart:c,chart:{chartWidth:n,chartHeight:h,plotHeight:f,plotLeft:g,plotTop:q,pointer:l,scrollablePixelsY:u=0,scrollablePixelsX:v,scrollingContainer:{scrollLeft:p,scrollTop:x}={scrollLeft:0,scrollTop:0},styledMode:r},distance:I,options:y,options:{positioner:z}}=b,N=b.outside&&"number"!==typeof v?E.documentElement.getBoundingClientRect():{left:p,right:p+n,top:x,bottom:x+ h},X=b.getLabel(),U=this.renderer||c.renderer,R=!(!c.xAxis[0]||!c.xAxis[0].opposite),{left:W,top:A}=l.getChartPosition();let C=q+x,H=0,K=f-u;w(d)&&(d=[!1,d]);d=d.slice(0,a.length+1).reduce(function(c,d,n){if(!1!==d&&""!==d){n=a[n-1]||{isHeader:!0,plotX:a[0].plotX,plotY:f,series:{}};const m=n.isHeader;var h=m?b:n.series,l;{var u=n;d=d.toString();var v=h.tt;const {isHeader:c,series:e}=u;v||(v={padding:y.padding,r:y.borderRadius},r||(v.fill=y.backgroundColor,v["stroke-width"]=null!==(l=y.borderWidth)&& void 0!==l?l:1),v=U.label("",0,0,y[c?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(b.getClassName(u,!0,c)).attr(v).add(X));v.isActive=!0;v.attr({text:d});r||v.css(y.style).attr({stroke:y.borderColor||u.color||e.color||"#333333"});l=v}l=h.tt=l;u=l.getBBox();h=u.width+l.strokeWidth();m&&(H=u.height,K+=H,R&&(C-=H));{const {isHeader:b,plotX:c=0,plotY:e=0,series:a}=n;if(b){d=g+c;var J=q+f/2}else{const {xAxis:b,yAxis:n}=a;d=b.pos+k(c,-I,b.len+I);a.shouldShowTooltip(0,n.pos-q+e,{ignoreX:!0})&& (J=n.pos+e)}d=k(d,N.left-I,N.right+I);J={anchorX:d,anchorY:J}}const {anchorX:F,anchorY:p}=J;"number"===typeof p?(J=u.height+1,u=z?z.call(b,h,J,n):e(F,p,m,h),c.push({align:z?0:void 0,anchorX:F,anchorY:p,boxWidth:h,point:n,rank:D(u.rank,m?1:0),size:J,target:u.y,tt:l,x:u.x})):l.isActive=!1}return c},[]);!z&&d.some(c=>{var {outside:e}=b;e=(e?W:0)+c.anchorX;return ee})&&(d=d.map(b=>{const {x:c,y:d}=e(b.anchorX,b.anchorY,b.point.isHeader, b.boxWidth,!1);return m(b,{target:d,x:c})}));b.cleanSplit();t(d,K);var ba=W,M=W;d.forEach(function(c){const {x:e,boxWidth:d,isHeader:a}=c;a||(b.outside&&W+eM&&(M=W+e))});d.forEach(function(c){const {x:e,anchorX:d,anchorY:a,pos:n,point:{isHeader:h}}=c,f={visibility:"undefined"===typeof n?"hidden":"inherit",x:e,y:(n||0)+C,anchorX:d,anchorY:a};if(b.outside&&e e[0]?Math.max(Math.abs(e[0]),c.width-e[0]):Math.max(Math.abs(e[0]),c.width);b.height=0>e[1]?Math.max(Math.abs(e[1]),c.height-Math.abs(e[1])):Math.max(Math.abs(e[1]),c.height);this.tracker?this.tracker.attr(b):(this.tracker=a.renderer.rect(b).addClass("highcharts-tracker").add(a),d.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&(this.tracker=this.tracker.destroy())}styledModeFormat(d){return d.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(d,a){const e=d.series,b=e.tooltipOptions;var c=e.xAxis;const n=c&&c.dateTime;c={isFooter:a,labelConfig:d};let h=b.xDateFormat,f=b[a?"footerFormat":"headerFormat"];l(this,"headerFormatter",c,function(c){n&&!h&&g(d.key)&&(h=n.getXDateFormat(d.key,b.dateTimeLabelFormats));n&&h&&(d.point&&d.point.tooltipDateKeys||["key"]).forEach(function(b){f=f.replace("{point."+b+"}","{point."+ b+":"+h+"}")});e.chart.styledMode&&(f=this.styledModeFormat(f));c.text=y(f,{point:d,series:e},this.chart)});return c.text}update(d){this.destroy();this.init(this.chart,I(!0,this.options,d))}updatePosition(d){const {chart:a,distance:e,options:b}=this;var c=a.pointer;const n=this.getLabel(),{left:h,top:f,scaleX:g,scaleY:q}=c.getChartPosition();c=(b.positioner||this.getPosition).call(this,n.width,n.height,d);let l=(d.plotX||0)+a.plotLeft;d=(d.plotY||0)+a.plotTop;let v;if(this.outside){b.positioner&& (c.x+=h-e,c.y+=f-e);v=(b.borderWidth||0)+2*e;this.renderer.setSize(n.width+v,n.height+v,!1);if(1!==g||1!==q)p(this.container,{transform:`scale(${g}, ${q})`}),l*=g,d*=q;l+=h-c.x;d+=f-c.y}this.move(Math.round(c.x),Math.round(c.y||0),l,d)}}(function(d){const a=[];d.compose=function(e){A.pushUnique(a,e)&&r(e,"afterInit",function(){const b=this.chart;b.options.tooltip&&(b.tooltip=new d(b,b.options.tooltip))})}})(v||(v={}));"";return v});M(a,"Core/Series/Point.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Animation/AnimationUtilities.js"], a["Core/Defaults.js"],a["Core/Templating.js"],a["Core/Utilities.js"]],function(a,z,H,K,A){const {animObject:y}=z,{defaultOptions:E}=H,{format:B}=K,{addEvent:t,defined:r,erase:k,extend:p,fireEvent:x,getNestedProperty:m,isArray:l,isFunction:f,isNumber:g,isObject:w,merge:I,objectEach:D,pick:d,syncTimeout:h,removeEvent:v,uniqueKey:q}=A;class u{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 e=this,b={x:e.startXPos,opacity:0},c=e.getGraphicalProps();c.singular.forEach(function(c){e[c]=e[c].animate("dataLabel"===c?{x:e[c].startXPos,y:e[c].startYPos,opacity:0}:b)});c.plural.forEach(function(b){e[b].forEach(function(b){b.element&&b.animate(p({x:e.startXPos},b.startYPos?{x:b.startXPos,y:b.startYPos}:{}))})})}applyOptions(e,b){const c=this.series,d=c.options.pointValKey||c.pointValKey; e=u.prototype.optionsToObject.call(this,e);p(this,e);this.options=this.options?p(this.options,e):e;e.group&&delete this.group;e.dataLabels&&delete this.dataLabels;d&&(this.y=u.prototype.getNestedProperty.call(this,d));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof b&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));"undefined"===typeof this.x&&c?this.x="undefined"===typeof b?c.autoIncrement(): b:g(e.x)&&c.options.relativeXValue&&(this.x=c.autoIncrement(e.x));return this}destroy(){if(!this.destroyed){const b=this;var e=b.series;const c=e.chart;e=e.options.dataSorting;const d=c.hoverPoints,a=y(b.series.chart.renderer.globalAnimation),f=()=>{if(b.graphic||b.graphics||b.dataLabel||b.dataLabels)v(b),b.destroyElements();for(const c in b)delete b[c]};b.legendItem&&c.legend.destroyItem(b);d&&(b.setState(),k(d,b),d.length||(c.hoverPoints=null));if(b===c.hoverPoint)b.onMouseOut();e&&e.enabled?(this.animateBeforeDestroy(), h(f,a.duration)):f();c.pointCount--}this.destroyed=!0}destroyElements(e){const b=this;e=b.getGraphicalProps(e);e.singular.forEach(function(c){b[c]=b[c].destroy()});e.plural.forEach(function(c){b[c].forEach(function(b){b&&b.element&&b.destroy()});delete b[c]})}firePointEvent(e,b,c){const d=this,a=this.series.options;(a.point.events[e]||d.options&&d.options.events&&d.options.events[e])&&d.importEvents();"click"===e&&a.allowPointSelect&&(c=function(b){d.select&&d.select(null,b.ctrlKey||b.metaKey||b.shiftKey)}); x(d,e,b,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(e){const b=this,c=[],d={singular:[],plural:[]};let a,h;e=e||{graphic:1,dataLabel:1}; e.graphic&&c.push("graphic");e.dataLabel&&c.push("dataLabel","dataLabelPath","dataLabelUpper","connector");for(h=c.length;h--;)a=c[h],b[a]&&d.singular.push(a);["graphic","dataLabel","connector"].forEach(function(c){const a=c+"s";e[c]&&b[a]&&d.plural.push(a)});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(e){if(e)return 0=== e.indexOf("custom.")?m(e,this.options):this[e]}getZone(){var e=this.series;const b=e.zones;e=e.zoneAxis||"y";let c,d=0;for(c=b[d];this[e]>=c.value;)c=b[++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(e,b,c){this.series=e;this.applyOptions(b,c);this.id=r(this.id)?this.id:q();this.resolveColor(); e.chart.pointCount++;x(this,"afterInit");return this}isValid(){return null!==this.x&&g(this.y)}optionsToObject(e){var b=this.series;const c=b.options.keys,d=c||b.pointArrayMap||["y"],a=d.length;let h={},f=0,q=0;if(g(e)||null===e)h[d[0]]=e;else if(l(e))for(!c&&e.length>a&&(b=typeof e[0],"string"===b?h.name=e[0]:"number"===b&&(h.x=e[0]),f++);qd());this.eventsToUnbind=[];z.chartCount||(D.unbindDocumentMouseUp&&(D.unbindDocumentMouseUp=D.unbindDocumentMouseUp()),D.unbindDocumentTouchEnd&&(D.unbindDocumentTouchEnd=D.unbindDocumentTouchEnd()));clearInterval(d.tooltipTimeout);f(d,function(a,f){d[f]=void 0})}getSelectionMarkerAttrs(d,a){const h={args:{chartX:d,chartY:a},attrs:{},shapeType:"rect"};x(this,"getSelectionMarkerAttrs",h,h=>{const {chart:f,mouseDownX:e=0,mouseDownY:b=0,zoomHor:c,zoomVert:n}=this; h=h.attrs;let g;h.x=f.plotLeft;h.y=f.plotTop;h.width=c?1:f.plotWidth;h.height=n?1:f.plotHeight;c&&(g=d-e,h.width=Math.abs(g),h.x=(0g+e&&(p=g+e),xu+b&&(x=u+b),this.hasDragged=Math.sqrt(Math.pow(c-p,2)+Math.pow(n-x,2)),10{a.result={x:d.attr?+d.attr("x"):d.x,y:d.attr?+d.attr("y"):d.y,width:d.attr?d.attr("width"):d.width,height:d.attr?d.attr("height"):d.height}});return a.result}drop(d){const a=this,f=this.chart,g=this.hasPinched;if(this.selectionMarker){const {x:h, y:e,width:b,height:c}=this.getSelectionBox(this.selectionMarker),n={originalEvent:d,xAxis:[],yAxis:[],x:h,y:e,width:b,height:c};let q=!!f.mapView;if(this.hasDragged||g)f.axes.forEach(function(f){if(f.zoomEnabled&&r(f.min)&&(g||a[{xAxis:"zoomX",yAxis:"zoomY"}[f.coll]])&&m(h)&&m(e)&&m(b)&&m(c)){var l=f.horiz;const a="touchend"===d.type?f.minPixelPadding:0,g=f.toValue((l?h:e)+a);l=f.toValue((l?h+b:e+c)-a);n[f.coll].push({axis:f,min:Math.min(g,l),max:Math.max(g,l)});q=!0}}),q&&x(f,"selection",n,function(b){f.zoom(k(b, g?{animation:!1}:null))});m(f.index)&&(this.selectionMarker=this.selectionMarker.destroy());g&&this.scaleGroups()}f&&m(f.index)&&(t(f.container,{cursor:f._cursor}),f.cancelClick=10d.options.findNearestPointBy.indexOf("y");d=d.searchPoint(f,e);if((e=l(d,!0)&&d.series)&&!(e=!l(h,!0))){{e=h.distX-d.distX;const b=h.dist-d.dist,c=(d.series.group&& d.series.group.zIndex)-(h.series.group&&h.series.group.zIndex);e=0!==e&&a?e:0!==b?b:0!==c?c:h.series.index>d.series.index?-1:1}e=0b.stickyTracking&&(h.filter||c)(b));const q=g||!e?d:this.findNearestKDPoint(n,k,e);a=q&&q.series;q&&(k&&!a.noSharedTooltip?(n=f.filter(function(b){return h.filter?h.filter(b):c(b)&&!b.noSharedTooltip}),n.forEach(function(c){let e=p(c.points,function(b){return b.x===q.x&&!b.isNull});l(e)&&(c.boosted&&c.boost&& (e=c.boost.getPoint(e)),b.push(e))})):b.push(q));h={hoverPoint:q};x(this,"afterGetHoverData",h);return{hoverPoint:h.hoverPoint,hoverSeries:a,hoverPoints:b}}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, h){let d;for(;a;){if(d=B(a,"class")){if(-1!==d.indexOf(h))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentElement}}init(a,h){this.options=h;this.chart=a;this.runChartClick=!(!h.chart.events||!h.chart.events.click);this.pinchDown=[];this.lastValidTouch={};this.setDOMEvents();x(this,"afterInit")}normalize(a,h){var d=a.touches,f=d?d.length?d.item(0):w(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 k(a,{chartX:Math.round(d),chartY:Math.round(f)})}onContainerClick(a){const d=this.chart,f=d.hoverPoint;a=this.normalize(a);const g=d.plotLeft,l=d.plotTop;d.cancelClick||(f&&this.inClass(a.target,"highcharts-tracker")?(x(f.series,"click",k(a,{point:f})),d.hoverPoint&&f.firePointEvent("click",a)):(k(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-g,a.chartY-l,{visiblePlotOnly:!0})&&x(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=A[w(D.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,f=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})||f&&f.shouldStickOnContact(a)||(this.inClass(a.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(a))}onDocumentTouchEnd(a){const d=A[w(D.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,f=d.tooltip,g=this.chartPosition;a=this.normalize(a,g);!g||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||f&&f.shouldStickOnContact(a)||this.inClass(a.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(a){const d=A[w(D.hoverChartIndex,-1)];d&&d.pointer.drop(a)}pinch(a){const d=this,f=d.chart,g=d.pinchDown,l=a.touches||[],e=l.length,b=d.lastValidTouch,c=d.hasZoom,n={},m=1===e&& (d.inClass(a.target,"highcharts-tracker")&&f.runTrackerClick||d.runChartClick),p={};var r=d.chart.tooltip;r=1===e&&w(r&&r.options.followTouchMove,!0);let t=d.selectionMarker;1{t||(d.selectionMarker=t=k({destroy:C,touch:!0},f.plotBox));d.pinchTranslate(g,l,n,t,p,b);d.hasPinched=c;d.scaleGroups(n,p)}),d.res&&(d.res=!1,this.reset(!1, 0)))}pinchTranslate(a,f,g,l,k,e){this.zoomHor&&this.pinchTranslateDirection(!0,a,f,g,l,k,e);this.zoomVert&&this.pinchTranslateDirection(!1,a,f,g,l,k,e)}pinchTranslateDirection(a,f,g,l,k,e,b,c){const d=this.chart,h=a?"x":"y",q=a?"X":"Y",u="chart"+q,m=a?"width":"height",v=d["plot"+(a?"Left":"Top")],p=d.inverted,x=d.bounds[a?"h":"v"],w=1===f.length,r=f[0][u],t=!w&&f[1][u];f=function(){"number"===typeof X&&20x.max&&(g=x.max-I,U=!0);U?(N-=.8*(N-b[h][0]),"number"===typeof X&&(X-=.8*(X-b[h][1])),f()):b[h]=[N,X];p||(e[h]=D-v,e[m]=I);e=p?1/y:y;k[m]=I;k[h]=g;l[p?a?"scaleY":"scaleX":"scale"+q]=y;l["translate"+q]=e*v+(N-e*r)}reset(a,f){const d=this.chart,h=d.hoverSeries,g=d.hoverPoint,e=d.hoverPoints,b=d.tooltip,c=b&&b.shared?e:g;a&&c&&I(c).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)b&&c&& I(c).length&&(b.refresh(c),b.shared&&e?e.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))}):g&&(g.setState(g.state,!0),d.axes.forEach(function(b){b.crosshair&&g.series[b.coll]===b&&b.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();e&&e.forEach(function(b){b.setState()});if(h)h.onMouseOut();b&&b.hide(f);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()); d.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}}runPointActions(a,f,g){const d=this.chart,h=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,e=h?h.shared:!1;let b=f||d.hoverPoint,c=b&&b.series||d.hoverSeries;f=this.getHoverData(b,c,d.series,(!a||"touchmove"!==a.type)&&(!!f||c&&c.directTouch&&this.isDirectTouch),e,a);b=f.hoverPoint;c=f.hoverSeries;const n=f.hoverPoints;f=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split;const l=e&&c&&!c.noSharedTooltip; if(b&&(g||b!==d.hoverPoint||h&&h.isHidden)){(d.hoverPoints||[]).forEach(function(b){-1===n.indexOf(b)&&b.setState()});if(d.hoverSeries!==c)c.onMouseOver();this.applyInactiveState(n);(n||[]).forEach(function(b){b.setState("hover")});d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!b.series)return;d.hoverPoints=n;d.hoverPoint=b;b.firePointEvent("mouseOver",void 0,()=>{h&&b&&h.refresh(l?n:b,a)})}else f&&h&&!h.isHidden&&(g=h.getAnchor([{}],a),d.isInsidePlot(g[0],g[1],{visiblePlotOnly:!0})&&h.updatePosition({plotX:g[0], plotY:g[1]}));this.unDocMouseMove||(this.unDocMouseMove=E(d.container.ownerDocument,"mousemove",function(b){const c=A[D.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove));d.axes.forEach(function(b){const c=w((b.crosshair||{}).snap,!0);let e;c&&((e=d.hoverPoint)&&e.series[b.coll]===b||(e=p(n,c=>c.series&&c.series[b.coll]===b)));e||!c?b.drawCrosshair(a,e):b.hideCrosshair()})}scaleGroups(a,f){const d=this.chart;d.series.forEach(function(h){const g= a||h.getPlotBox();h.group&&(h.xAxis&&h.xAxis.zoomEnabled||d.mapView)&&(h.group.attr(g),h.markerGroup&&(h.markerGroup.attr(g),h.markerGroup.clip(f?d.clipRect:null)),h.dataLabelsGroup&&h.dataLabelsGroup.attr(g))});d.clipRect.attr(f||d.clipBox)}setDOMEvents(){const a=this.chart.container,f=a.ownerDocument;a.onmousedown=this.onContainerMouseDown.bind(this);a.onmousemove=this.onContainerMouseMove.bind(this);a.onclick=this.onContainerClick.bind(this);this.eventsToUnbind.push(E(a,"mouseenter",this.onContainerMouseEnter.bind(this))); this.eventsToUnbind.push(E(a,"mouseleave",this.onContainerMouseLeave.bind(this)));D.unbindDocumentMouseUp||(D.unbindDocumentMouseUp=E(f,"mouseup",this.onDocumentMouseUp.bind(this)));let g=this.chart.renderTo.parentElement;for(;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(E(g,"scroll",()=>{delete this.chartPosition})),g=g.parentElement;z.hasTouch&&(this.eventsToUnbind.push(E(a,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(E(a,"touchmove",this.onContainerTouchMove.bind(this), {passive:!1})),D.unbindDocumentTouchEnd||(D.unbindDocumentTouchEnd=E(f,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))}setHoverChartIndex(){const a=this.chart,f=z.charts[w(D.hoverChartIndex,-1)];if(f&&f!==a)f.pointer.onContainerMouseLeave({relatedTarget:a.container});f&&f.mouseIsDown||(D.hoverChartIndex=a.index)}touch(a,f){const d=this.chart;let h,g;this.setHoverChartIndex();1===a.touches.length?(a=this.normalize(a),(g=d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0}))&& !d.openMenu?(f&&this.runPointActions(a),"touchmove"===a.type&&(f=this.pinchDown,h=f[0]?4<=Math.sqrt(Math.pow(f[0].chartX-a.chartX,2)+Math.pow(f[0].chartY-a.chartY,2)):!1),w(h,!0)&&this.pinch(a)):f&&this.reset()):2===a.touches.length&&this.pinch(a)}touchSelect(a){return!(!this.chart.zooming.singleTouch||!a.touches||1!==a.touches.length)}zoomOption(a){const d=this.chart,f=d.inverted;var g=d.zooming.type||"";/touch/.test(a.type)&&(g=w(d.zooming.pinchType,g));this.zoomX=a=/x/.test(g);this.zoomY=g=/y/.test(g); this.zoomHor=a&&!f||g&&f;this.zoomVert=g&&!f||a&&f;this.hasZoom=a||g}}(function(a){const d=[],f=[];a.compose=function(d){H.pushUnique(f,d)&&E(d,"beforeRender",function(){this.pointer=new a(this,this.options)})};a.dissolve=function(){for(let a=0,f=d.length;a{this.proximate&&(this.proximatePositions(), this.positionItems())}))}setOptions(e){const b=d(e.padding,8);this.options=e;this.chart.styledMode||(this.itemStyle=e.itemStyle,this.itemHiddenStyle=D(this.itemStyle,e.itemHiddenStyle));this.itemMarginTop=e.itemMarginTop;this.itemMarginBottom=e.itemMarginBottom;this.padding=b;this.initialItemY=b-5;this.symbolWidth=d(e.symbolWidth,16);this.pages=[];this.proximate="proximate"===e.layout&&!this.chart.inverted;this.baseline=void 0}update(e,b){const c=this.chart;this.setOptions(D(!0,this.options,e));this.destroy(); c.isDirtyLegend=c.isDirtyBox=!0;d(b,!0)&&c.redraw();w(this,"afterUpdate")}colorizeItem(e,b){const {group:c,label:a,line:d,symbol:f}=e.legendItem||{};if(c)c[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){const {itemHiddenStyle:c}=this,n=c.color,h=b?e.color||n:n,g=e.options&&e.options.marker;let l={fill:h};null===a||void 0===a?void 0:a.css(D(b?this.itemStyle:c));null===d||void 0===d?void 0:d.attr({stroke:h});f&&(g&&f.isMarker&&(l=e.pointAttribs(),b||(l.stroke= l.fill=n)),f.attr(l))}w(this,"afterColorizeItem",{item:e,visible:b})}positionItems(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()}positionItem(e){const {group:b,x:c=0,y:a=0}=e.legendItem||{};var d=this.options,f=d.symbolPadding;const h=!d.rtl;d=e.checkbox;b&&b.element&&(f={translateX:h?c:this.legendWidth-c-2*f-4,translateY:a},b[l(b.translateY)?"animate":"attr"](f,void 0,()=>{w(this,"afterPositionItem",{item:e})}));d&&(d.x=c,d.y=a)}destroyItem(e){const b= e.checkbox,c=e.legendItem||{};for(const b of["group","label","line","symbol"])c[b]&&(c[b]=c[b].destroy());b&&f(b);e.legendItem=void 0}destroy(){for(const e of this.getAllItems())this.destroyItem(e);for(const e of"clipRect up down pager nav box title group".split(" "))this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){const e=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,c=this.titleHeight;let a;e&&(a=e.translateY,this.allItems.forEach(function(d){const f= d.checkbox;let n;f&&(n=a+c+f.y+(this.scrollOffset||0)+3,m(f,{left:e.translateX+d.checkboxOffset+f.x-20+"px",top:n+"px",display:this.proximate||n>a-6&&n1.5*a?c.height:a))}layoutItem(e){var b=this.options;const c=this.padding,a="horizontal"===b.layout, f=e.itemHeight,h=this.itemMarginBottom,g=this.itemMarginTop,l=a?d(b.itemDistance,20):0,k=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>k?this.maxItemWidth:e.itemWidth;const q=e.legendItem||{};a&&this.itemX-c+b>k&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=g+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY=g+this.itemY+h;this.lastLineHeight=Math.max(f,this.lastLineHeight);q.x=this.itemX;q.y=this.itemY;a?this.itemX+=b:(this.itemY+=g+f+h,this.lastLineHeight=f);this.offsetWidth= this.widthOption||Math.max((a?this.itemX-c-(e.checkbox?0:l):b)+c,this.offsetWidth)}getAllItems(){let e=[];this.chart.series.forEach(function(b){const c=b&&b.options;b&&d(c.showInLegend,l(c.linkedTo)?!1:void 0,!0)&&(e=e.concat((b.legendItem||{}).labels||("point"===c.legendType?b.data:b)))});w(this,"afterGetAllItems",{allItems:e});return e}getAlignment(){const e=this.options;return this.proximate?e.align.charAt(0)+"tv":e.floating?"":e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0)}adjustMargins(e, b){const c=this.chart,a=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(n,h){n.test(f)&&!l(e[h])&&(c[r[h]]=Math.max(c[r[h]],c.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*a[h%2?"x":"y"]+d(a.margin,12)+b[h]+(c.titleOffset[h]||0)))})}proximatePositions(){const e=this.chart,b=[],c="left"===this.options.align;this.allItems.forEach(function(a){var d;var f=c;let n;a.yAxis&&(a.xAxis.options.reversed&&(f=!f),a.points&&(d= g(f?a.points:a.points.slice(0).reverse(),function(b){return I(b.plotY)})),f=this.itemMarginTop+a.legendItem.label.getBBox().height+this.itemMarginBottom,n=a.yAxis.top-e.plotTop,a.visible?(d=d?d.plotY:a.yAxis.height,d+=n-.3*f):d=n+a.yAxis.height,b.push({target:d,size:f,item:a}))},this);let a;for(const c of k(b,e.plotHeight))a=c.item.legendItem||{},I(c.pos)&&(a.y=e.plotTop-e.spacing[0]+c.pos)}render(){const e=this.chart,b=e.renderer,c=this.options,a=this.padding;var d=this.getAllItems();let f,g=this.group, l=this.box;this.itemX=a;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=h(c.width,e.spacingBox.width-a);var k=e.spacingBox.width-2*a-c.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(k/=2);this.maxLegendWidth=this.widthOption||k;g||(this.group=g=b.g("legend").addClass(c.className||"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(g),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();v(d,(b,c)=>(b.options&&b.options.legendIndex|| 0)-(c.options&&c.options.legendIndex||0));c.reversed&&d.reverse();this.allItems=d;this.display=k=!!d.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;d.forEach(this.renderItem,this);d.forEach(this.layoutItem,this);d=(this.widthOption||this.offsetWidth)+a;f=this.lastItemY+this.lastLineHeight+this.titleHeight;f=this.handleOverflow(f);f+=a;l||(this.box=l=b.rect().addClass("highcharts-legend-box").attr({r:c.borderRadius}).add(g));e.styledMode||l.attr({stroke:c.borderColor, "stroke-width":c.borderWidth||0,fill:c.backgroundColor||"none"}).shadow(c.shadow);if(0h&&!1!==q.enabled?(this.clipHeight=r=Math.max(h-20-this.titleHeight-l,0),this.currentPage=d(this.currentPage,1),this.fullHeight=e,v.forEach((b,c)=>{t=b.legendItem||{};b=t.y||0;const e=Math.round(t.label.getBBox().height);let a=p.length;if(!a||b-p[a-1]>r&&(N||b)!==p[a-1])p.push(N||b),a++;t.pageIx=a-1;N&&((v[c-1].legendItem||{}).pageIx=a-1);c===v.length-1&&b+e-p[a-1]>r&&b>p[a-1]&&(p.push(b),t.pageIx=a);b!==N&&(N=b)}),I||(I=b.clipRect=a.clipRect(0,l-2,9999,0),b.contentGroup.clip(I)), x(r),U||(this.nav=U=a.g().attr({zIndex:1}).add(this.group),this.up=a.symbol("triangle",0,0,u,u).add(U),w("upTracker").on("click",function(){b.scroll(-1,m)}),this.pager=a.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&q.style&&this.pager.css(q.style),this.pager.add(U),this.down=a.symbol("triangle-down",0,0,u,u).add(U),w("downTracker").on("click",function(){b.scroll(1,m)})),b.scroll(0),e=h):U&&(x(),this.nav=U.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0); return e}scroll(e,b){const c=this.chart,a=this.pages,f=a.length,h=this.clipHeight,g=this.options.navigation,l=this.pager,k=this.padding;let m=this.currentPage+e;m>f&&(m=f);0{w(this,"afterScroll",{currentPage:m})},e.duration))}setItemEvents(e,b,c){const a=this,d=e.legendItem||{},f=a.chart.renderer.boxWrapper,h=e instanceof K,g="highcharts-legend-"+(h?"point":"series")+"-active",l=a.chart.styledMode;c=c?[b,d.symbol]:[d.group];const k=b=>{a.allItems.forEach(c=>{e!==c&&[c].concat(c.linkedSeries||[]).forEach(c=>{c.setState(b,!h)})})};for(const d of c)if(d)d.on("mouseover",function(){e.visible&&k("inactive");e.setState("hover"); e.visible&&f.addClass(g);l||b.css(a.options.itemHoverStyle)}).on("mouseout",function(){a.chart.styledMode||b.css(D(e.visible?a.itemStyle:a.itemHiddenStyle));k("");f.removeClass(g);e.setState()}).on("click",function(b){const c=function(){e.setVisible&&e.setVisible();k(e.visible?"inactive":"")};f.removeClass(g);b={browserEvent:b};e.firePointEvent?e.firePointEvent("legendItemClick",b,c):w(e,"legendItemClick",b,c)})}createCheckboxForItem(a){a.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox", checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);p(a.checkbox,"click",function(b){w(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}}(function(a){const b=[];a.compose=function(c){C.pushUnique(b,c)&&p(c,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})}})(u||(u={}));"";return u});M(a,"Core/Legend/LegendSymbol.js",[a["Core/Utilities.js"]],function(a){const {extend:y,merge:H,pick:K}=a;var A; (function(a){a.lineMarker=function(a,B){B=this.legendItem=this.legendItem||{};var t=this.options;const r=a.symbolWidth,k=a.symbolHeight,p=k/2,x=this.chart.renderer,m=B.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);let l={},f=t.marker,g=0;this.chart.styledMode||(l={"stroke-width":Math.min(t.lineWidth||0,24)},t.dashStyle?l.dashstyle=t.dashStyle:"square"!==t.linecap&&(l["stroke-linecap"]="round"));B.line=x.path().addClass("highcharts-graph").attr(l).add(m);l["stroke-linecap"]&&(g=Math.min(B.line.strokeWidth(), r)/2);r&&B.line.attr({d:[["M",g,a],["L",r-g,a]]});f&&!1!==f.enabled&&r&&(t=Math.min(K(f.radius,p),p),0===this.symbol.indexOf("url")&&(f=H(f,{width:k,height:k}),t=0),B.symbol=B=x.symbol(this.symbol,r/2-t,a-t,2*t,2*t,y({context:"legend"},f)).addClass("highcharts-point").add(m),B.isMarker=!0)};a.rectangle=function(a,y){y=y.legendItem||{};const t=a.symbolHeight,r=a.options.squareSymbol;y.symbol=this.chart.renderer.rect(r?(a.symbolWidth-t)/2:0,a.baseline-t+1,r?t:a.symbolWidth,t,K(a.options.symbolRadius, t/2)).addClass("highcharts-point").attr({zIndex:3}).add(y.group)}})(A||(A={}));return A});M(a,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:1,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}}, dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){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"}});M(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,H,K){const {defaultOptions:y}=z,{extendClass:C,merge:E}=K;var B;(function(t){function r(a,p){const k=y.plotOptions||{},m=p.defaultOptions,l=p.prototype;l.type=a;l.pointClass||(l.pointClass=H);m&&(k[a]=m);t.seriesTypes[a]=p}t.seriesTypes=a.seriesTypes; t.registerSeriesType=r;t.seriesType=function(a,p,x,m,l){const f=y.plotOptions||{};p=p||"";f[a]=E(f[p],x);r(a,C(t.seriesTypes[p]||function(){},m));t.seriesTypes[a].prototype.type=a;l&&(t.seriesTypes[a].prototype.pointClass=C(H,l));return t.seriesTypes[a]}})(B||(B={}));return B});M(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,H,K,A,C,E,B,t,r){const {animObject:k,setAnimation:p}=a,{defaultOptions:x}=z,{registerEventOptions:m}=H,{hasTouch:l,svg:f,win:g}=K,{seriesTypes:w}=B,{arrayMax:I,arrayMin:D,clamp:d,correctFloat:h,defined:v,diffObjects:q,erase:u,error:e,extend:b,find:c,fireEvent:n,getClosestDistance:J,getNestedProperty:F,insertItem:L,isArray:y,isNumber:P,isString:O,merge:Q,objectEach:V,pick:G,removeEvent:ca,splat:ea, syncTimeout:aa}=r;class Y{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(c,a){n(this,"init",{options:a});const e=this,d=c.series;this.eventsToUnbind=[];e.chart=c;e.options=e.setOptions(a);a=e.options;e.linkedSeries=[];e.bindAxes();b(e,{name:a.name,state:"",visible:!1!==a.visible,selected:!0=== a.selected});m(this,a);const f=a.events;if(f&&f.click||a.point&&a.point.events&&a.point.events.click||a.allowPointSelect)c.runTrackerClick=!0;e.getColor();e.getSymbol();e.parallelArrays.forEach(function(b){e[b+"Data"]||(e[b+"Data"]=[])});e.isCartesian&&(c.hasCartesianSeries=!0);let h;d.length&&(h=d[d.length-1]);e._i=G(h&&h._i,-1)+1;e.opacity=e.options.opacity;c.orderItems("series",L(this,d));a.dataSorting&&a.dataSorting.enabled?e.setDataSortingOptions():e.points||e.data||e.setData(a.data,!1);n(this, "afterInit")}is(b){return w[b]&&this instanceof w[b]}bindAxes(){const b=this,c=b.options,a=b.chart;let d;n(this,"bindAxes",null,function(){(b.axisTypes||[]).forEach(function(f){a[f].forEach(function(a){d=a.options;if(G(c[f],0)===a.index||"undefined"!==typeof c[f]&&c[f]===d.id)L(b,a.series),b[f]=a,a.isDirty=!0});b[f]||b.optionalAxis===f||e(18,!0,a)})});n(this,"afterBindAxes")}updateParallelArrays(b,c,a){const e=b.series,d=P(c)?function(a){const d="y"===a&&e.toYData?e.toYData(b):b[a];e[a+"Data"][c]= d}:function(b){Array.prototype[c].apply(e[b+"Data"],a)};e.parallelArrays.forEach(d)}hasData(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0!c.touched&&c.index===b.index,h&&h.matchByName?n=c=>!c.touched&&c.name===b.name: this.options.relativeXValue&&(n=c=>!c.touched&&c.options.x===b.x),n=c(f,n),!n)return;n&&(l=n&&n.index,"undefined"!==typeof l&&(g=!0));"undefined"===typeof l&&P(d)&&(l=this.xData.indexOf(d,a));-1!==l&&"undefined"!==typeof l&&this.cropped&&(l=l>=this.cropStart?l-this.cropStart:l);!g&&P(l)&&f[l]&&f[l].touched&&(l=void 0);return l}updateData(b,c){const a=this.options,e=a.dataSorting,d=this.points,f=[],h=this.requireSorting,n=b.length===d.length;let g,l,k,q=!0;this.xIncrement=null;b.forEach(function(b, c){var l=v(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};const q=l.x;if(l.id||P(q)){if(l=this.findPointIndex(l,k),-1===l||"undefined"===typeof l?f.push(b):d[l]&&b!==a.data[l]?(d[l].update(b,!1,null,!1),d[l].touched=!0,h&&(k=l+1)):d[l]&&(d[l].touched=!0),!n||c!==l||e&&e.enabled||this.hasDerivedData)g=!0}else f.push(b)},this);if(g)for(b=d.length;b--;)(l=d[b])&&!l.touched&&l.remove&&l.remove(!1,c);else!n||e&&e.enabled?q=!1:(b.forEach(function(b,c){b===d[c].y||d[c].destroyed|| d[c].update(b,!1,null,!1)}),f.length=0);d.forEach(function(b){b&&(b.touched=!1)});if(!q)return!1;f.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=I(this.xData),this.autoIncrement());return!0}setData(b,c=!0,a,d){var f;const h=this,n=h.points,g=n&&n.length||0,l=h.options,k=h.chart,q=l.dataSorting,m=h.xAxis,u=l.turboThreshold,p=this.xData,v=this.yData;var J=h.pointArrayMap;J=J&&J.length;const x=l.keys;let w,r=0,F=1, N=null;if(!k.options.chart.allowMutatingData){l.data&&delete h.options.data;h.userOptions.data&&delete h.userOptions.data;var L=Q(!0,b)}b=L||b||[];L=b.length;q&&q.enabled&&(b=this.sortData(b));k.options.chart.allowMutatingData&&!1!==d&&L&&g&&!h.cropped&&!h.hasGroupedData&&h.visible&&!h.boosted&&(w=this.updateData(b,a));if(!w){h.xIncrement=null;h.colorCounter=0;this.parallelArrays.forEach(function(b){h[b+"Data"].length=0});if(u&&L>u)if(N=h.getFirstValidPoint(b),P(N))for(a=0;a {b=F(a,b);c=F(a,c);return cb?1:0}).forEach(function(b,c){b.x=c},this);c.linkedSeries&&c.linkedSeries.forEach(function(c){const a=c.options,d=a.data;a.dataSorting&&a.dataSorting.enabled||!d||(d.forEach(function(a,f){d[f]=e(c,a);b[f]&&(d[f].x=b[f].x,d[f].index=f)}),c.setData(d,!1))});return b}getProcessedData(b){const c=this;var a=c.xAxis,d=c.options;const f=d.cropThreshold,h=b||c.getExtremesFromAll||d.getExtremesFromAll,n=null===a||void 0===a?void 0:a.logarithmic,g=c.isCartesian;let l=0;let k; b=c.xData;d=c.yData;let q=!1;const m=b.length;if(a){var u=a.getExtremes();k=u.min;u=u.max;q=!(!a.categories||a.names.length)}if(g&&c.sorted&&!h&&(!f||m>f||c.forceCrop))if(b[m-1]u)b=[],d=[];else if(c.yData&&(b[0]u)){var p=this.cropData(c.xData,c.yData,k,u);b=p.xData;d=p.yData;l=p.start;p=!0}a=J([n?b.map(n.log2lin):b],()=>c.requireSorting&&!q&&e(15,!1,c.chart));return{xData:b,yData:d,cropped:p,cropStart:l,closestPointRange:a}}processData(b){const c=this.xAxis;if(this.isCartesian&& !this.isDirty&&!c.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;n(this,"afterProcessData")}cropData(b,c,a,e,d){const f=b.length;let h,n=0,g=f;d=G(d,this.cropShoulder);for(h=0;h=a){n=Math.max(0,h-d);break}for(a=h;ae){g=a+d;break}return{xData:b.slice(n,g),yData:c.slice(n,g),start:n, end:g}}generatePoints(){var c=this.options;const a=this.processedData||c.data,e=this.processedXData,d=this.processedYData,f=this.pointClass,h=e.length,g=this.cropStart||0,l=this.hasGroupedData,k=c.keys,q=[];c=c.dataGrouping&&c.dataGrouping.groupAll?g:0;let m;let u,p,v=this.data;if(!v&&!l){var J=[];J.length=a.length;v=this.data=J}k&&l&&(this.options.keys=!1);for(p=0;p=l&&(d[g-h]||p)<=k;if(v&&p)if(v=u.length)for(;v--;)P(u[v])&&(f[q++]=u[v]);else f[q++]=u}b={activeYData:f,dataMin:D(f),dataMax:I(f)};n(this,"afterGetExtremes",{dataExtremes:b}); return b}applyExtremes(){const b=this.getExtremes();this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b}getFirstValidPoint(b){const c=b.length;let a=0,e=null;for(;null===e&&a=N&&(N=void 0),n.total=n.stackTotal= G(L.total),n.percentage=v(n.y)&&L.total?n.y/L.total*100:void 0,n.stackY=O,this.irregularWidths||L.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis)));n.yBottom=v(N)?d(l.translate(N,!1,!0,!1,!0),-1E5,1E5):void 0;this.dataModify&&(O=this.dataModify.modifyValue(O,J));let D;P(O)&&void 0!==n.plotX&&(D=l.translate(O,!1,!0,!1,!0),D=P(D)?d(D,-1E5,1E5):void 0);n.plotY=D;n.isInside=this.isPointInside(n);n.clientX=u?h(e.translate(q,!1,!1,!1,!0,m)):x;n.negative=(n.y||0)<(p||0);n.category= G(f&&f[n.x],n.x);n.isNull||!1===n.visible||("undefined"!==typeof w&&(F=Math.min(F,Math.abs(x-w))),w=x);n.zone=this.zones.length?n.getZone():void 0;!n.graphic&&this.group&&g&&(n.isNew=!0)}this.closestPointRangePx=F;n(this,"afterTranslate")}getValidPoints(b,c,a){const e=this.chart;return(b||this.points||[]).filter(function(b){const {plotX:d,plotY:f}=b;return!a&&(b.isNull||!P(f))||c&&!e.isInsidePlot(d,f,{inverted:e.inverted})?!1:!1!==b.visible})}getClipBox(){const {chart:b,xAxis:c,yAxis:a}=this,e=Q(b.clipBox); c&&c.len!==b.plotSizeX&&(e.width=c.len);a&&a.len!==b.plotSizeY&&(e.height=a.len);return e}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)}setClip(){const {chart:b,group:c,markerGroup:a}=this,e=b.sharedClips,d=b.renderer,f=this.getClipBox(),h=this.getSharedClipKey();let n=e[h];n?n.animate(f):e[h]=n=d.clipRect(f);c&&c.clip(!1===this.options.clip?void 0:n);a&&a.clip()}animate(b){const {chart:c,group:a,markerGroup:e}=this,d=c.inverted;var f=k(this.options.animation), h=[this.getSharedClipKey(),f.duration,f.easing,f.defer].join();let n=c.sharedClips[h],g=c.sharedClips[h+"m"];if(b&&a)f=this.getClipBox(),n?n.attr("height",f.height):(f.width=0,d&&(f.x=c.plotHeight),n=c.renderer.clipRect(f),c.sharedClips[h]=n,g=c.renderer.clipRect({x:-99,y:-99,width:d?c.plotWidth+199:99,height:d?99:c.plotHeight+199}),c.sharedClips[h+"m"]=g),a.clip(n),e&&e.clip(g);else if(n&&!n.hasClass("highcharts-animating")){h=this.getClipBox();const b=f.step;e&&e.element.childNodes.length&&(f.step= function(c,a){b&&b.apply(a,arguments);"width"===a.prop&&g&&g.element&&g.attr(d?"height":"width",c+99)});n.addClass("highcharts-animating").animate(h,f)}}afterAnimate(){this.setClip();V(this.chart.sharedClips,(b,c,a)=>{b&&!this.chart.container.querySelector(`[clip-path="url(#${b.id})"]`)&&(b.destroy(),delete a[c])});this.finishedAnimating=!0;n(this,"afterAnimate")}drawPoints(b=this.points){const c=this.chart,a=c.styledMode,{colorAxis:e,options:d}=this,f=d.marker,h=this[this.specialGroup||"markerGroup"], n=this.xAxis,g=G(f.enabled,!n||n.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);let l,k,q,m;let u,p;if(!1!==f.enabled||this._hasPointMarkers)for(l=0;lb.destroy());r.clearTimeout(c.animationTimeout);V(c,function(b,c){b instanceof t&&!b.survive&&(f=e&&"group"===c?"hide":"destroy",b[f]())});a.hoverSeries===c&&(a.hoverSeries=void 0);u(a.series,c);a.orderItems("series");V(c,function(a,e){b&&"hcEvents"===e||delete c[e]})}applyZones(){const b= this,c=this.chart,a=c.renderer,e=this.zones,f=this.clips||[],h=this.graph,n=this.area,g=Math.max(c.plotWidth,c.plotHeight),l=this[(this.zoneAxis||"y")+"Axis"],k=c.inverted;let q,m,u,p,v,J,x,w,r,F,L,t=!1;e.length&&(h||n)&&l&&"undefined"!==typeof l.min?(v=l.reversed,J=l.horiz,h&&!this.showLine&&h.hide(),n&&n.hide(),p=l.getExtremes(),e.forEach(function(e,O){q=v?J?c.plotWidth:0:J?0:l.toPixels(p.min)||0;q=d(G(m,q),0,g);m=d(Math.round(l.toPixels(G(e.value,p.max),!0)||0),0,g);t&&(q=m=l.toPixels(p.max)); x=Math.abs(q-m);w=Math.min(q,m);r=Math.max(q,m);l.isXAxis?(u={x:k?r:w,y:0,width:x,height:g},J||(u.x=c.plotHeight-u.x)):(u={x:0,y:k?r:w,width:g,height:x},J&&(u.y=c.plotWidth-u.y));f[O]?f[O].animate(u):f[O]=a.clipRect(u);F=b["zone-area-"+O];L=b["zone-graph-"+O];h&&L&&L.clip(f[O]);n&&F&&F.clip(f[O]);t=e.value>p.max;b.resetZones&&0===m&&(m=void 0)}),this.clips=f):b.visible&&(h&&h.show(),n&&n.show())}plotGroup(b,c,a,e,d){let f=this[b];const h=!f;a={visibility:a,zIndex:e||.1};"undefined"===typeof this.opacity|| this.chart.styledMode||"inactive"===this.state||(a.opacity=this.opacity);h&&(this[b]=f=this.chart.renderer.g().add(d));f.addClass("highcharts-"+c+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(v(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr(a)[h?"attr":"animate"](this.getPlotBox(c));return f}getPlotBox(b){let c=this.xAxis,a=this.yAxis;const e=this.chart;b=e.inverted&& !e.polar&&c&&!1!==this.invertible&&"series"===b;e.inverted&&(c=a,a=this.xAxis);return{translateX:c?c.left:e.plotLeft,translateY:a?a.top:e.plotTop,rotation:b?90:0,rotationOriginX:b?(c.len-a.len)/2:0,rotationOriginY:b?(c.len+a.len)/2:0,scaleX:b?-1:1,scaleY:1}}removeEvents(b){b||ca(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length=0)}render(){const b=this;var c=b.chart;const a=b.options,e=k(a.animation),d=b.visible?"inherit":"hidden",f=a.zIndex, h=b.hasRendered;c=c.seriesGroup;let g=b.finishedAnimating?0:e.duration;n(this,"render");b.plotGroup("group","series",d,f,c);b.markerGroup=b.plotGroup("markerGroup","markers",d,f,c);!1!==a.clip&&b.setClip();b.animate&&g&&b.animate(!0);b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&&b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&&a.enableMouseTracking&&b.drawTracker();b.animate&&g&&b.animate();h||(g&&e.defer&&(g+=e.defer),b.animationTimeout= aa(function(){b.afterAnimate()},g||0));b.isDirty=!1;b.hasRendered=!0;n(b,"afterRender")}redraw(){const b=this.isDirty||this.isDirtyData;this.translate();this.render();b&&delete this.kdTree}searchPoint(b,c){const a=this.xAxis,e=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?a.len-b.chartY+a.pos:b.chartX-a.pos,plotY:d?e.len-b.chartX+e.pos:b.chartY-e.pos},c,b)}buildKDTree(b){function c(b,e,d){var f=b&&b.length;let h;if(f)return h=a.kdAxisArray[e%d],b.sort(function(b,c){return b[h]- c[h]}),f=Math.floor(f/2),{point:b[f],left:c(b.slice(0,f),e+1,d),right:c(b.slice(f+1),e+1,d)}}this.buildingKdTree=!0;const a=this,e=-1k?"left":"right";m=0>k?"right":"left";c[u]&&(u=e(b,c[u],a+1,g),q=u[n]v;)u--;this.updateParallelArrays(p,"splice",[u,0,0]);this.updateParallelArrays(p,u);l&&p.name&&(l[v]=p.name);k.splice(u,0,b);if(m||this.processedData)this.data.splice(u,0,null),this.processData();"point"===f.legendType&&this.generatePoints();a&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(p,"shift"),k.shift()));!1!==d&&n(this,"addPoint",{point:p});this.isDirtyData=this.isDirty=!0;c&&g.redraw(e)}removePoint(b,c,a){const e= this,d=e.data,f=d[b],h=e.points,n=e.chart,g=function(){h&&h.length===d.length&&h.splice(b,1);d.splice(b,1);e.options.data.splice(b,1);e.updateParallelArrays(f||{series:e},"splice",[b,1]);f&&f.destroy();e.isDirty=!0;e.isDirtyData=!0;c&&n.redraw()};p(a,n);c=G(c,!0);f?f.firePointEvent("remove",null,g):g()}remove(b,c,a,e){function d(){f.destroy(e);h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries(e);G(b,!0)&&h.redraw(c)}const f=this,h=f.chart;!1!==a?n(f,"remove",null,d):d()}update(c,a){c=q(c,this.userOptions); n(this,"update",{options:c});const d=this,f=d.chart;var h=d.userOptions;const g=d.initialType||d.type;var l=f.options.plotOptions;const k=w[g].prototype;var m=d.finishedAnimating&&{animation:!1};const u={};let p,v=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],J=c.type||h.type||f.options.chart.type;const x=!(this.hasDerivedData||J&&J!==this.type||"undefined"!==typeof c.pointStart||"undefined"!==typeof c.pointInterval||"undefined"!==typeof c.relativeXValue||c.joinBy||c.mapData|| d.hasOptionChanged("dataGrouping")||d.hasOptionChanged("pointStart")||d.hasOptionChanged("pointInterval")||d.hasOptionChanged("pointIntervalUnit")||d.hasOptionChanged("keys"));J=J||g;x&&(v.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==c.visible&&v.push("area","graph"),d.parallelArrays.forEach(function(b){v.push(b+"Data")}), c.data&&(c.dataSorting&&b(d.options.dataSorting,c.dataSorting),this.setData(c.data,!1)));c=Q(h,m,{index:"undefined"===typeof h.index?d.index:h.index,pointStart:G(l&&l.series&&l.series.pointStart,h.pointStart,d.xData[0])},!x&&{data:d.options.data},c);x&&c.data&&(c.data=d.options.data);v=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(v);v.forEach(function(b){v[b]=d[b];delete d[b]});l=!1;if(w[J]){if(l=J!==d.type,d.remove(!1,!1,!1,!0),l)if(Object.setPrototypeOf)Object.setPrototypeOf(d, w[J].prototype);else{m=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(p in k)d[p]=void 0;b(d,w[J].prototype);m?d.hcEvents=m:delete d.hcEvents}}else e(17,!0,f,{missingModuleFor:J});v.forEach(function(b){d[b]=v[b]});d.init(f,c);if(x&&this.points){c=d.options;if(!1===c.visible)u.graphic=1,u.dataLabel=1;else if(!d._hasPointLabels){const {marker:b,dataLabels:a}=c;h=h.marker||{};!b||!1!==b.enabled&&h.symbol===b.symbol&&h.height===b.height&&h.width===b.width||(u.graphic=1);a&&!1===a.enabled&&(u.dataLabel= 1)}for(const b of this.points)b&&b.series&&(b.resolveColor(),Object.keys(u).length&&b.destroyElements(u),!1===c.showInLegend&&b.legendItem&&f.legend.destroyItem(b))}d.initialType=g;f.linkSeries();l&&d.linkedSeries.length&&(d.isDirtyData=!0);n(this,"afterUpdate");G(a,!0)&&f.redraw(x?void 0:!1)}setName(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0}hasOptionChanged(b){const c=this.options[b],a=this.chart.options.plotOptions,e=this.userOptions[b];return e?c!==e:c!== G(a&&a[this.type]&&a[this.type][b],a&&a.series&&a.series[b],c)}onMouseOver(){const b=this.chart,c=b.hoverSeries;b.pointer.setHoverChartIndex();if(c&&c!==this)c.onMouseOut();this.options.events.mouseOver&&n(this,"mouseOver");this.setState("hover");b.hoverSeries=this}onMouseOut(){const b=this.options,c=this.chart,a=c.tooltip,e=c.hoverPoint;c.hoverSeries=null;if(e)e.onMouseOut();this&&b.events.mouseOut&&n(this,"mouseOut");!a||this.stickyTracking||a.shared&&!this.noSharedTooltip||a.hide();c.series.forEach(function(b){b.setState("", !0)})}setState(b,c){const a=this;var e=a.options;const d=a.graph,f=e.inactiveOtherPoints,h=e.states,n=G(h[b||"normal"]&&h[b||"normal"].animation,a.chart.options.chart.animation);let g=e.lineWidth,l=0,k=e.opacity;b=b||"";if(a.state!==b&&([a.group,a.markerGroup,a.dataLabelsGroup].forEach(function(c){c&&(a.state&&c.removeClass("highcharts-series-"+a.state),b&&c.addClass("highcharts-series-"+b))}),a.state=b,!a.chart.styledMode)){if(h[b]&&!1===h[b].enabled)return;b&&(g=h[b].lineWidth||g+(h[b].lineWidthPlus|| 0),k=G(h[b].opacity,k));if(d&&!d.dashstyle&&P(g))for(e={"stroke-width":g},d.animate(e,n);a["zone-graph-"+l];)a["zone-graph-"+l].animate(e,n),l+=1;f||[a.group,a.markerGroup,a.dataLabelsGroup,a.labelBySeries].forEach(function(b){b&&b.animate({opacity:k},n)})}c&&f&&a.points&&a.setAllPointsToState(b||void 0)}setAllPointsToState(b){this.points.forEach(function(c){c.setState&&c.setState(b)})}setVisible(b,c){const a=this,e=a.chart,d=e.options.chart.ignoreHiddenSeries,f=a.visible,h=(a.visible=b=a.options.visible= a.userOptions.visible="undefined"===typeof b?!f:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(a[b])a[b][h]()});if(e.hoverSeries===a||(e.hoverPoint&&e.hoverPoint.series)===a)a.onMouseOut();a.legendItem&&e.legend.colorizeItem(a,b);a.isDirty=!0;a.options.stacking&&e.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});a.linkedSeries.forEach(function(c){c.setVisible(b,!1)});d&&(e.isDirtyBox=!0);n(a,h);!1!==c&&e.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);n(this,b?"select":"unselect")}shouldShowTooltip(b,c,a={}){a.series=this;a.visiblePlotOnly=!0;return this.chart.isInsidePlot(b,c,a)}drawLegendSymbol(b,c){var a;null===(a=A[this.options.legendSymbol||"rectangle"])||void 0===a?void 0:a.call(this,b,c)}}Y.defaultOptions=E;Y.types=B.seriesTypes;Y.registerType=B.registerSeriesType;b(Y.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0, cropShoulder:1,directTouch:!1,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:C,requireSorting:!0,sorted:!0});B.series=Y;"";"";return Y});M(a,"Core/Chart/Chart.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Defaults.js"],a["Core/Templating.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Series/Series.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,H,K,A,C,E,B,t,r,k,p,x){const {animate:m,animObject:l,setAnimation:f}=a,{defaultOptions:g,defaultTime:w}=H,{numberFormat:I}=K,{registerEventOptions:D}=A,{charts:d,doc:h,marginNames:v,svg:q,win:u}=C,{seriesTypes:e}=t,{addEvent:b,attr:c,createElement:n,css:J,defined:F,diffObjects:L,discardElement:y,erase:P,error:O,extend:Q,find:V,fireEvent:G,getStyle:ca,isArray:ea,isNumber:aa,isObject:Y,isString:N,merge:M,objectEach:U,pick:R,pInt:W, relativeLength:Z,removeEvent:ha,splat:da,syncTimeout:ia,uniqueKey:ba}=p;class T{static chart(b,c,a){return new T(b,c,a)}constructor(b,c,a){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.zooming=this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0;this.getArgs(b,c,a)}getArgs(b,c,a){N(b)||b.nodeName?(this.renderTo=b,this.init(c,a)):this.init(b,c)}setZoomOptions(){const b=this.options.chart,c=b.zooming;this.zooming=Object.assign(Object.assign({},c),{type:R(b.zoomType,c.type),key:R(b.zoomKey,c.key),pinchType:R(b.pinchType,c.pinchType),singleTouch:R(b.zoomBySingleTouch,c.singleTouch,!1), resetButton:M(c.resetButton,b.resetZoomButton)})}init(b,c){G(this,"init",{args:arguments},function(){const a=M(g,b),e=a.chart;this.userOptions=Q({},b);this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=c;this.isResizing=0;this.options=a;this.axes=[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new k(b.time):C.time;this.numberFormatter=e.numberFormatter||I;this.styledMode=e.styledMode;this.hasCartesianSeries=e.showAxes;this.index=d.length;d.push(this); C.chartCount++;D(this,e);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.setZoomOptions();G(this,"afterInit");this.firstRender()})}initSeries(b){var c=this.options.chart;c=b.type||c.type;const a=e[c];a||O(17,!0,this,{missingModuleFor:c});c=new a;"function"===typeof c.init&&c.init(this,b);return c}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, c){return b.linkedSeries.length||c.linkedSeries.length?c.linkedSeries.length-b.linkedSeries.length:0})}orderItems(b,c=0){const a=this[b],e=this.options[b]=da(this.options[b]).slice();b=this.userOptions[b]=this.userOptions[b]?da(this.userOptions[b]).slice():[];this.hasRendered&&(e.splice(c),b.splice(c));if(a)for(let d=c,f=a.length;d=Math.max(g+f,c.pos)&&m<=Math.min(g+f+q.width,c.pos+c.len)||(b.isInsidePlot=!1)}!a.ignoreY&&b.isInsidePlot&& (g=!e&&a.axis&&!a.axis.isXAxis&&a.axis||k&&(e?k.xAxis:k.yAxis)||{pos:h,len:Infinity},a=a.paneCoordinates?g.pos+c:h+c,a>=Math.max(l+h,g.pos)&&a<=Math.min(l+h+q.height,g.pos+g.len)||(b.isInsidePlot=!1));G(this,"afterIsInsidePlot",b);return b.isInsidePlot}redraw(b){G(this,"beforeRedraw");const c=this.hasCartesianSeries?this.axes:this.colorAxis||[],a=this.series,e=this.pointer,d=this.legend,h=this.userOptions.legend,n=this.renderer,g=n.isHidden(),l=[];let k,q,m=this.isDirtyBox,u=this.isDirtyLegend,p; n.rootFontSize=n.boxWrapper.getStyle("font-size");this.setResponsive&&this.setResponsive(!1);f(this.hasRendered?b:!1,this);g&&this.temporaryDisplay();this.layOutTitles(!1);for(b=a.length;b--;)if(p=a[b],p.options.stacking||p.options.centerInCategory)if(q=!0,p.isDirty){k=!0;break}if(k)for(b=a.length;b--;)p=a[b],p.options.stacking&&(p.isDirty=!0);a.forEach(function(b){b.isDirty&&("point"===b.options.legendType?("function"===typeof b.updateTotals&&b.updateTotals(),u=!0):h&&(h.labelFormatter||h.labelFormat)&& (u=!0));b.isDirtyData&&G(b,"updatedData")});u&&d&&d.options.enabled&&(d.render(),this.isDirtyLegend=!1);q&&this.getStacks();c.forEach(function(b){b.updateNames();b.setScale()});this.getMargins();c.forEach(function(b){b.isDirty&&(m=!0)});c.forEach(function(b){const c=b.min+","+b.max;b.extKey!==c&&(b.extKey=c,l.push(function(){G(b,"afterSetExtremes",Q(b.eventArgs,b.getExtremes()));delete b.eventArgs}));(m||q)&&b.redraw()});m&&this.drawChartBox();G(this,"predraw");a.forEach(function(b){(m||b.isDirty)&& b.visible&&b.redraw();b.isDirtyData=!1});e&&e.reset(!0);n.draw();G(this,"redraw");G(this,"render");g&&this.temporaryDisplay(!0);l.forEach(function(b){b.call()})}get(b){function c(c){return c.id===b||c.options&&c.options.id===b}const a=this.series;let e=V(this.axes,c)||V(this.series,c);for(let b=0;!e&&b{c.getPointsCollection().forEach(c=>{R(c.selectedStaging,c.selected)&&b.push(c)});return b},[])}getSelectedSeries(){return this.series.filter(function(b){return b.selected})}setTitle(b,c,a){this.applyDescription("title",b);this.applyDescription("subtitle",c);this.applyDescription("caption",void 0);this.layOutTitles(a)}applyDescription(b,c){const a=this,e=this.options[b]=M(this.options[b],c);let d=this[b];d&&c&&(this[b]=d=d.destroy());e&&!d&&(d=this.renderer.text(e.text,0,0,e.useHTML).attr({align:e.align, "class":"highcharts-"+b,zIndex:e.zIndex||4}).add(),d.update=function(c,e){a.applyDescription(b,c);a.layOutTitles(e)},this.styledMode||d.css(Q("title"===b?{fontSize:this.options.isStock?"1em":"1.2em"}:{},e.style)),this[b]=d)}layOutTitles(b=!0){const c=[0,0,0],a=this.renderer,e=this.spacingBox;["title","subtitle","caption"].forEach(function(b){const d=this[b],f=this.options[b],h=f.verticalAlign||"top";b="title"===b?"top"===h?-3:0:"top"===h?c[0]+2:0;if(d){d.css({width:(f.width||e.width+(f.widthAdjust|| 0))+"px"});const n=a.fontMetrics(d).b,g=Math.round(d.getBBox(f.useHTML).height);d.align(Q({y:"bottom"===h?n:b+n,height:g},f),!1,"spacingBox");f.floating||("top"===h?c[0]=Math.ceil(c[0]+g):"bottom"===h&&(c[2]=Math.ceil(c[2]+g)))}},this);c[0]&&"top"===(this.options.title.verticalAlign||"top")&&(c[0]+=this.options.title.margin);c[2]&&"bottom"===this.options.caption.verticalAlign&&(c[2]+=this.options.caption.margin);const d=!this.titleOffset||this.titleOffset.join(",")!==c.join(",");this.titleOffset= c;G(this,"afterLayOutTitles");!this.isDirtyBox&&d&&(this.isDirtyBox=this.isDirtyLegend=d,this.hasRendered&&b&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:ca(this.renderTo,"width",!0)||0,height:ca(this.renderTo,"height",!0)||0}}getChartSize(){var b=this.options.chart;const c=b.width;b=b.height;const a=this.getContainerBox();this.chartWidth=Math.max(0,c||a.width||600);this.chartHeight=Math.max(0,Z(b,this.chartWidth)||(1{var a;(null===(a=c.options)||void 0===a?0:a.chart.reflow)&&c.hasLoaded&&c.reflow(b)};"function"===typeof ResizeObserver?(new ResizeObserver(a)).observe(c.renderTo):(a=b(u,"resize",a),b(this,"destroy", a))}setSize(b,c,a){const e=this,d=e.renderer;e.isResizing+=1;f(a,e);a=d.globalAnimation;e.oldChartHeight=e.chartHeight;e.oldChartWidth=e.chartWidth;"undefined"!==typeof b&&(e.options.chart.width=b);"undefined"!==typeof c&&(e.options.chart.height=c);e.getChartSize();e.styledMode||(a?m:J)(e.container,{width:e.chartWidth+"px",height:e.chartHeight+"px"},a);e.setChartSize(!0);d.setSize(e.chartWidth,e.chartHeight,a);e.axes.forEach(function(b){b.isDirty=!0;b.setScale()});e.isDirtyLegend=!0;e.isDirtyBox= !0;e.layOutTitles();e.getMargins();e.redraw(a);e.oldChartHeight=null;G(e,"resize");ia(function(){e&&G(e,"endResize",null,function(){--e.isResizing})},l(a).duration)}setChartSize(b){var c=this.inverted;const a=this.renderer;var e=this.chartWidth,d=this.chartHeight;const f=this.options.chart,h=this.spacing,n=this.clipOffset;let g,l,k,q;this.plotLeft=g=Math.round(this.plotLeft);this.plotTop=l=Math.round(this.plotTop);this.plotWidth=k=Math.max(0,Math.round(e-g-this.marginRight));this.plotHeight=q=Math.max(0, Math.round(d-l-this.marginBottom));this.plotSizeX=c?q:k;this.plotSizeY=c?k:q;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=a.spacingBox={x:h[3],y:h[0],width:e-h[3]-h[1],height:d-h[0]-h[2]};this.plotBox=a.plotBox={x:g,y:l,width:k,height:q};c=2*Math.floor(this.plotBorderWidth/2);e=Math.ceil(Math.max(c,n[3])/2);d=Math.ceil(Math.max(c,n[0])/2);this.clipBox={x:e,y:d,width:Math.floor(this.plotSizeX-Math.max(c,n[1])/2-e),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(c,n[2])/2-d))};b|| (this.axes.forEach(function(b){b.setAxisSize();b.setAxisTranslation()}),a.alignElements());G(this,"afterSetChartSize",{skipAxes:b})}resetMargins(){G(this,"resetMargins");const b=this,c=b.options.chart;["margin","spacing"].forEach(function(a){const e=c[a],d=Y(e)?e:[e,e,e,e];["Top","Right","Bottom","Left"].forEach(function(e,f){b[a][f]=R(c[a+e],d[f])})});v.forEach(function(c,a){b[c]=R(b.margin[a],b.spacing[a])});b.axisOffset=[0,0,0,0];b.clipOffset=[0,0,0,0]}drawChartBox(){const b=this.options.chart, c=this.renderer,a=this.chartWidth,e=this.chartHeight,d=this.styledMode,f=this.plotBGImage;var h=b.backgroundColor;const n=b.plotBackgroundColor,g=b.plotBackgroundImage,l=this.plotLeft,k=this.plotTop,q=this.plotWidth,m=this.plotHeight,u=this.plotBox,p=this.clipRect,v=this.clipBox;let J=this.chartBackground,x=this.plotBackground,w=this.plotBorder,r,F,L="animate";J||(this.chartBackground=J=c.rect().addClass("highcharts-background").add(),L="attr");if(d)r=F=J.strokeWidth();else{r=b.borderWidth||0;F=r+ (b.shadow?8:0);h={fill:h||"none"};if(r||J["stroke-width"])h.stroke=b.borderColor,h["stroke-width"]=r;J.attr(h).shadow(b.shadow)}J[L]({x:F/2,y:F/2,width:a-F-r%2,height:e-F-r%2,r:b.borderRadius});L="animate";x||(L="attr",this.plotBackground=x=c.rect().addClass("highcharts-plot-background").add());x[L](u);d||(x.attr({fill:n||"none"}).shadow(b.plotShadow),g&&(f?(g!==f.attr("href")&&f.attr("href",g),f.animate(u)):this.plotBGImage=c.image(g,l,k,q,m).add()));p?p.animate({width:v.width,height:v.height}): this.clipRect=c.clipRect(v);L="animate";w||(L="attr",this.plotBorder=w=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());d||w.attr({stroke:b.plotBorderColor,"stroke-width":b.plotBorderWidth||0,fill:"none"});w[L](w.crisp({x:l,y:k,width:q,height:m},-w.strokeWidth()));this.isDirtyBox=!1;G(this,"afterDrawChartBox")}propFromSeries(){const b=this,c=b.options.chart,a=b.options.series;let d,f,h;["inverted","angular","polar"].forEach(function(n){f=e[c.type];h=c[n]||f&&f.prototype[n];for(d= a&&a.length;!h&&d--;)(f=e[a[d].type])&&f.prototype[n]&&(h=!0);b[n]=h})}linkSeries(b){const c=this,a=c.series;a.forEach(function(b){b.linkedSeries.length=0});a.forEach(function(b){let a=b.options.linkedTo;N(a)&&(a=":previous"===a?c.series[b.index-1]:c.get(a))&&a.linkedParent!==b&&(a.linkedSeries.push(b),b.linkedParent=a,a.enabledDataSorting&&b.setDataSortingOptions(),b.visible=R(b.options.visible,a.options.visible,b.visible))});G(this,"afterLinkSeries",{isUpdating:b})}renderSeries(){this.series.forEach(function(b){b.translate(); b.render()})}render(){const b=this.axes,c=this.colorAxis,a=this.renderer,e=function(b){b.forEach(function(b){b.visible&&b.render()})};let d=0;this.setTitle();G(this,"beforeMargins");this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();const f=this.plotWidth;b.some(function(b){if(b.horiz&&b.visible&&b.options.labels.enabled&&b.series.length)return d=21,!0});const h=this.plotHeight=Math.max(this.plotHeight-d,0);b.forEach(function(b){b.setScale()});this.getAxisMargins();const n=1.1< f/this.plotWidth,g=1.05c.pointCount))}pan(b,c){const a=this,e=a.hoverPoints;c="object"===typeof c?c:{enabled:c,type:"x"};const d=a.options.chart;d&&d.panning&&(d.panning=c);const f=c.type;let h;G(this,"pan",{originalEvent:b},function(){e&&e.forEach(function(b){b.setState()});let c=a.xAxis;"xy"===f?c=c.concat(a.yAxis):"y"===f&&(c=a.yAxis);const d={};c.forEach(function(c){if(c.options.panningEnabled&& !c.options.isInternal){var e=c.horiz,n=b[e?"chartX":"chartY"];e=e?"mouseDownX":"mouseDownY";var g=a[e],l=c.minPointOffset||0,k=c.reversed&&!a.inverted||!c.reversed&&a.inverted?-1:1,q=c.getExtremes(),m=c.toValue(g-n,!0)+l*k,u=c.toValue(g+c.len-n,!0)-(l*k||c.isXAxis&&c.pointRangePadding||0),p=u=k&&m<=u&&(c.setExtremes(g,m,!1,!1,{trigger:"pan"}),!a.resetZoomButton&&g!==k&&m!==u&&f.match("y")&&(a.showResetZoom(),c.displayBtn=!1),h=!0),d[e]=n)}});U(d,(b,c)=>{a[c]=b});h&&a.redraw(!1);J(a.container,{cursor:"move"})})}}Q(T.prototype,{callbacks:[],collectionsWithInit:{xAxis:[T.prototype.addAxis,[!0]],yAxis:[T.prototype.addAxis,[!1]],series:[T.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 T});M(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,H,K,A,C){const {stop:y}=a,{addEvent:B,createElement:t,defined:r,merge:k,pick:p}=C;B(H,"afterSetChartSize",function(a){var m=this.options.chart.scrollablePlotArea,l=m&&m.minWidth;m=m&&m.minHeight;let f;if(!this.renderer.forExport){if(l){if(this.scrollablePixelsX=l=Math.max(0,l-this.chartWidth))this.scrollablePlotBox=this.renderer.scrollablePlotBox=k(this.plotBox),this.plotBox.width=this.plotWidth+=l,this.inverted?this.clipBox.height+=l:this.clipBox.width+=l,f={1:{name:"right",value:l}}}else m&& (this.scrollablePixelsY=l=Math.max(0,m-this.chartHeight),r(l)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=k(this.plotBox),this.plotBox.height=this.plotHeight+=l,this.inverted?this.clipBox.width+=l:this.clipBox.height+=l,f={2:{name:"bottom",value:l}}));f&&!a.skipAxes&&this.axes.forEach(function(a){f[a.side]?a.getPlotLinePath=function(){let g=f[a.side].name,l=this[g],k;this[g]=l-f[a.side].value;k=z.prototype.getPlotLinePath.apply(this,arguments);this[g]=l;return k}:(a.setAxisSize(),a.setAxisTranslation())})}}); B(H,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});H.prototype.setUpScrolling=function(){const a={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(a.overflowX="auto");this.scrollablePixelsY&&(a.overflowY="auto");this.scrollingParent=t("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer= t("div",{className:"highcharts-scrolling"},a,this.scrollingParent);let k;B(this.scrollingContainer,"scroll",()=>{this.pointer&&(delete this.pointer.chartPosition,this.hoverPoint&&(k=this.hoverPoint),this.pointer.runPointActions(void 0,k,!0))});this.innerContainer=t("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};H.prototype.moveFixedElements=function(){let a=this.container,k=this.fixedRenderer,l= ".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(" "),f;this.scrollablePixelsX&&!this.inverted?f=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&& !this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(f=".highcharts-yaxis");f&&l.push(`${f}:not(.highcharts-radial-axis)`,`${f}-labels:not(.highcharts-radial-axis-labels)`);l.forEach(function(f){[].forEach.call(a.querySelectorAll(f),function(a){(a.namespaceURI===k.SVG_NS?k.box:k.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})})};H.prototype.applyFixed=function(){var a=!this.fixedDiv,k=this.options.chart,l=k.scrollablePlotArea,f=A.getRendererType();a?(this.fixedDiv= t("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(k.style&&k.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=k=new f(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style),this.scrollableMask=k.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":p(l.opacity, .85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),B(this,"afterShowResetZoom",this.moveFixedElements),B(this,"afterApplyDrilldown",this.moveFixedElements),B(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||a)this.scrollableDirty=!1,this.moveFixedElements();k=this.chartWidth+(this.scrollablePixelsX||0);f=this.chartHeight+(this.scrollablePixelsY||0);y(this.container);this.container.style.width=k+"px"; this.container.style.height=f+"px";this.renderer.boxWrapper.attr({width:k,height:f,viewBox:[0,0,k,f].join(" ")});this.chartBackground.attr({width:k,height:f});this.scrollingContainer.style.height=this.chartHeight+"px";a&&(l.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*l.scrollPositionX),l.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*l.scrollPositionY));f=this.axisOffset;a=this.plotTop-f[0]-1;l=this.plotLeft-f[3]-1;k=this.plotTop+this.plotHeight+ f[2]+1;f=this.plotLeft+this.plotWidth+f[1]+1;let g=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),r=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);a=this.scrollablePixelsX?[["M",0,a],["L",this.plotLeft-1,a],["L",this.plotLeft-1,k],["L",0,k],["Z"],["M",g,a],["L",this.chartWidth,a],["L",this.chartWidth,k],["L",g,k],["Z"]]:this.scrollablePixelsY?[["M",l,0],["L",l,this.plotTop-1],["L",f,this.plotTop-1],["L",f,0],["Z"],["M",l,r],["L",l,this.chartHeight],["L",f,this.chartHeight],["L", f,r],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:a})};B(z,"afterInit",function(){this.chart.scrollableDirty=!0});B(K,"show",function(){this.chart.scrollableDirty=!0});""});M(a,"Core/Axis/Stacking/StackItem.js",[a["Core/Templating.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,H){const {format:y}=a,{series:A}=z,{destroyObjectProperties:C,fireEvent:E,isNumber:B,pick:t}=H;class r{constructor(a,p,r,m,l){const f=a.chart.inverted,g=a.reversed; this.axis=a;a=this.isNegative=!!r!==!!g;this.options=p=p||{};this.x=m;this.cumulative=this.total=null;this.points={};this.hasValidPoints=!1;this.stack=l;this.rightCliff=this.leftCliff=0;this.alignOptions={align:p.align||(f?a?"left":"right":"center"),verticalAlign:p.verticalAlign||(f?"middle":a?"bottom":"top"),y:p.y,x:p.x};this.textAlign=p.textAlign||(f?a?"right":"left":"center")}destroy(){C(this,this.axis)}render(a){const k=this.axis.chart,r=this.options;var m=r.format;m=m?y(m,this,k):r.formatter.call(this); this.label?this.label.attr({text:m,visibility:"hidden"}):(this.label=k.renderer.label(m,null,void 0,r.shape,void 0,void 0,r.useHTML,!1,"stack-labels"),m={r:r.borderRadius||0,text:m,padding:t(r.padding,5),visibility:"hidden"},k.styledMode||(m.fill=r.backgroundColor,m.stroke=r.borderColor,m["stroke-width"]=r.borderWidth,this.label.css(r.style||{})),this.label.attr(m),this.label.added||this.label.add(a));this.label.labelrank=k.plotSizeY;E(this,"afterRender")}setOffset(a,p,r,m,l,f){const {alignOptions:g, axis:k,label:x,options:D,textAlign:d}=this,h=k.chart;r=this.getStackBox({xOffset:a,width:p,boxBottom:r,boxTop:m,defaultX:l,xAxis:f});var {verticalAlign:v}=g;if(x&&r){m=x.getBBox();l=x.padding;f="justify"===t(D.overflow,"justify");g.x=D.x||0;g.y=D.y||0;const {x:a,y:u}=this.adjustStackPosition({labelBox:m,verticalAlign:v,textAlign:d});r.x-=a;r.y-=u;x.align(g,!1,r);(v=h.isInsidePlot(x.alignAttr.x+g.x+a,x.alignAttr.y+g.y+u))||(f=!1);f&&A.prototype.justifyDataLabel.call(k,x,g,x.alignAttr,m,r);x.attr({x:x.alignAttr.x, y:x.alignAttr.y,rotation:D.rotation,rotationOriginX:m.width/2,rotationOriginY:m.height/2});t(!f&&D.crop,!0)&&(v=B(x.x)&&B(x.y)&&h.isInsidePlot(x.x-l+x.width,x.y)&&h.isInsidePlot(x.x+l,x.y));x[v?"show":"hide"]()}E(this,"afterSetOffset",{xOffset:a,width:p})}adjustStackPosition({labelBox:a,verticalAlign:p,textAlign:r}){const k={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:a.width/2+a.width/2*k[r],y:a.height/2*k[p]}}getStackBox(a){var k=this.axis;const r=k.chart,{boxTop:m,defaultX:l,xOffset:f, width:g,boxBottom:w}=a;var I=k.stacking.usePercentage?100:t(m,this.total,0);I=k.toPixels(I);a=a.xAxis||r.xAxis[0];const D=t(l,a.translate(this.x))+f;k=k.toPixels(w||B(k.min)&&k.logarithmic&&k.logarithmic.lin2log(k.min)||0);k=Math.abs(I-k);const d=this.isNegative;return r.inverted?{x:(d?I:I-k)-r.plotLeft,y:a.height-D-g,width:k,height:g}:{x:D+a.transB-r.plotLeft,y:(d?I-k:I)-r.plotTop,width:g,height:k}}}"";return r});M(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,H,K,A){function y(){const b=this,c=b.inverted;b.yAxis.forEach(b=>{b.stacking&&b.stacking.stacks&&b.hasVisibleSeries&&(b.stacking.oldStacks=b.stacking.stacks)});b.series.forEach(a=>{const e=a.xAxis&&a.xAxis.options||{};!a.options.stacking||!0!==a.visible&&!1!==b.options.chart.ignoreHiddenSeries||(a.stackKey=[a.type,q(a.options.stack,""),c?e.top:e.left,c?e.height:e.width].join())})} function E(){const b=this.stacking;if(b){var c=b.stacks;v(c,function(b,a){I(b);c[a]=null});b&&b.stackTotalGroup&&b.stackTotalGroup.destroy()}}function B(){"yAxis"!==this.coll||this.stacking||(this.stacking=new u(this))}function t(b,c,a,e){!w(b)||b.x!==c||e&&b.stackKey!==e?b={x:c,index:0,key:e,stackKey:e}:b.index++;b.key=[a,c,b.index].join();return b}function r(){const b=this,c=b.stackKey,a=b.yAxis.stacking.stacks,e=b.processedXData,d=b[b.options.stacking+"Stacker"];let f;d&&[c,"-"+c].forEach(c=>{let h= e.length;let n;for(;h--;){var g=e[h];f=b.getStackIndicator(f,g,b.index,c);(n=(g=a[c]&&a[c][g])&&g.points[f.key])&&d.call(b,n,g,h)}})}function k(b,c,a){c=c.total?100/c.total:0;b[0]=g(b[0]*c);b[1]=g(b[1]*c);this.stackedYData[a]=b[1]}function p(){const b=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&&!this.options.stacking&&1{"group"===a.slice(-5)&&(v(c,b=>b.destroy()), delete b.stacks[a])})}function x(b){var c=this.chart;const a=b||this.options.stacking;if(a&&(!0===this.visible||!1===c.options.chart.ignoreHiddenSeries)){var e=this.processedXData,f=this.processedYData,h=[],l=f.length,k=this.options,m=k.threshold,u=q(k.startFromThreshold&&m,0);k=k.stack;b=b?`${this.type},${a}`:this.stackKey;var p="-"+b,v=this.negStacks;c="group"===a?c.yAxis[0]:this.yAxis;var r=c.stacking.stacks,x=c.stacking.oldStacks,t,I;c.stacking.stacksTouched+=1;for(I=0;I{v(b,(c,a)=>{h(c.touched)&&c.touchedx&&y.shadow));l&&(l.startX=t.xMap,l.isArea=t.isArea)})}getGraphPath(a,B,t){const r=this,k=r.options,p=[],x=[];let m,l=k.step;a=a||r.points;const f=a.reversed;f&&a.reverse();(l={right:1,center:2}[l]||l&&3)&&f&&(l= 4-l);a=this.getValidPoints(a,!1,!(k.connectNulls&&!B&&!t));a.forEach(function(f,w){const g=f.plotX,D=f.plotY,d=a[w-1],h=f.isNull||"number"!==typeof D;(f.leftCliff||d&&d.rightCliff)&&!t&&(m=!0);h&&!y(B)&&0a.visible);r.forEach(function(a,q){let u=0,e,b;if(g[a]&&!g[a].isNull)p.push(g[a]),[-1,1].forEach(function(c){const n=1===c?"rightNull": "leftNull",l=f[r[q+c]];let m=0;if(l){let c=d;for(;0<=c&&ca&&m>k?(m=Math.max(a,k),l=2*k-m):mt&&l>k?(l=Math.max(t,k),m=2*k-l):l=Math.abs(d)&&.5{if("number"===typeof g.x){const d=a[g.x.toString()];d&&(a=d.points[this.index],e?(a&&(c=h),d.hasValidPoints&&(b?h++:h--)):f(a)&&(a=Object.keys(d.points).filter(b=>!b.match(",")&& d.points[b]&&1c-b),c=a.indexOf(this.index),h=a.length))}});a=(g.plotX||0)+((h-1)*l.paddedWidth+d)/2-d-c*l.paddedWidth}return a}translate(){const a=this,d=a.chart,f=a.options;var k=a.dense=2>a.closestPointRange*a.xAxis.transA;k=a.borderWidth=I(f.borderWidth,k?0:1);const e=a.xAxis,b=a.yAxis,c=f.threshold,n=I(f.minPointLength,5),m=a.getColumnMetrics(),r=m.width,w=a.pointXOffset=m.offset,t=a.dataMin,y=a.dataMax;let O=a.barW=Math.max(r,1+2*k),D=a.translatedThreshold= b.getThreshold(c);d.inverted&&(D-=.5);f.pointPadding&&(O=Math.ceil(O));A.prototype.translate.apply(a);a.points.forEach(function(h){const l=I(h.yBottom,D);var k=999+Math.abs(l),q=h.plotX||0;k=p(h.plotY,-k,b.len+k);let u=Math.min(k,l),v=Math.max(k,l)-u,J=r,F=q+w,L=O;n&&Math.abs(v)n?l-n:D-(q?n:0));x(h.options.pointWidth)&&(J=L=Math.ceil(h.options.pointWidth), F-=Math.round((J-r)/2));f.centerInCategory&&(F=a.adjustForMissingColumns(F,J,h,m));h.barX=F;h.pointWidth=J;h.tooltipPos=d.inverted?[p(b.len+b.pos-d.plotLeft-k,b.pos-d.plotLeft,b.len+b.pos-d.plotLeft),e.len+e.pos-d.plotTop-F-L/2,v]:[e.left-d.plotLeft+F+L/2,p(k+b.pos-d.plotTop,b.pos-d.plotTop,b.len+b.pos-d.plotTop),v];h.shapeType=a.pointClass.prototype.shapeType||"roundedRect";h.shapeArgs=a.crispCol(F,h.isNull?D:u,L,h.isNull?0:v)});l(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass": "removeClass"]("highcharts-dense-data")}pointAttribs(a,d){const f=this.options;var h=this.pointAttrToOptions||{},e=h.stroke||"borderColor";const b=h["stroke-width"]||"borderWidth";let c,n=a&&a.color||this.color,g=a&&a[e]||f[e]||n;h=a&&a.options.dashStyle||f.dashStyle;let l=a&&a[b]||f[b]||this[b]||0,k=I(a&&a.opacity,f.opacity,1);a&&this.zones.length&&(c=a.getZone(),n=a.options.color||c&&(c.color||a.nonZonedColor)||this.color,c&&(g=c.borderColor||g,h=c.dashStyle||h,l=c.borderWidth||l));d&&a&&(a=w(f.states[d], a.options.states&&a.options.states[d]||{}),d=a.brightness,n=a.color||"undefined"!==typeof d&&t(n).brighten(a.brightness).get()||n,g=a[e]||g,l=a[b]||l,h=a.dashStyle||h,k=I(a.opacity,k));e={fill:n,stroke:g,"stroke-width":l,opacity:k};h&&(e.dashstyle=h);return e}drawPoints(a=this.points){const d=this,f=this.chart,h=d.options,e=f.renderer,b=h.animationLimit||250;let c;a.forEach(function(a){let n=a.graphic,l=!!n,k=n&&f.pointCount"===b&&a>c||"<"===b&&a="===b&&a>=c||"<="===b&&a<=c||"=="===b&&a==c||"==="===b&&a===c?!0:!1):!0}function I(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex|| 6)}function D(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){var b,c;const e=this,d=e.chart,f=e.options,h=d.renderer,{backgroundColor:g,plotBackgroundColor:k}=d.options.chart,q=d.options.plotOptions,u=h.getContrast(r(k)&&k||r(g)&&g||"#000000");let w=f.dataLabels,G,I;var D=m(w)[0];const z=D.animation;D=D.defer?y(d,z,e):{defer:0,duration:0}; w=v(v(null===(b=null===q||void 0===q?void 0:q.series)||void 0===b?void 0:b.dataLabels,null===(c=null===q||void 0===q?void 0:q[e.type])||void 0===c?void 0:c.dataLabels),w);B(this,"drawDataLabels");if(t(w)||w.enabled||e._hasPointLabels)I=this.initDataLabels(D),a.forEach(b=>{var c;const a=b.dataLabels||[];G=m(v(w,b.dlOptions||(null===(c=b.options)||void 0===c?void 0:c.dataLabels)));G.forEach((c,g)=>{var n,k=c.enabled&&(!b.isNull||b.dataLabelOnNull)&&l(b,c);const q=b.connectors?b.connectors[g]:b.connector, m=c.style||{};let v={},w=a[g],J=!w;const F=x(c.distance,b.labelDistance);if(k){var t=x(c[b.formatPrefix+"Format"],c.format);var L=b.getLabelConfig();L=C(t)?A(t,L,d):(c[b.formatPrefix+"Formatter"]||c.formatter).call(L,c);t=c.rotation;d.styledMode||(m.color=x(c.color,m.color,r(e.color)?e.color:void 0,"#000000"),"contrast"===m.color?(b.contrastColor=h.getContrast(b.color||e.color),m.color=!C(F)&&c.inside||0>(F||0)||f.stacking?b.contrastColor:u):delete b.contrastColor,f.cursor&&(m.cursor=f.cursor));v= {r:c.borderRadius||0,rotation:t,padding:c.padding,zIndex:1};if(!d.styledMode){const {backgroundColor:a,borderColor:e}=c;v.fill="auto"===a?b.color:a;v.stroke="auto"===e?b.color:e;v["stroke-width"]=c.borderWidth}p(v,(b,c)=>{"undefined"===typeof b&&delete v[c]})}!w||k&&C(L)&&!!w.div===!!c.useHTML&&(w.rotation&&c.rotation||w.rotation===c.rotation)||(w=void 0,J=!0,q&&b.connector&&(b.connector=b.connector.destroy(),b.connectors&&(1===b.connectors.length?delete b.connectors:delete b.connectors[g])));k&& C(L)&&(w?v.text=L:(w=t?h.text(L,0,0,c.useHTML).addClass("highcharts-data-label"):h.label(L,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label"))&&w.addClass(" highcharts-data-label-color-"+b.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),w&&(w.options=c,w.attr(v),d.styledMode||w.css(m).shadow(c.shadow),(k=c[b.formatPrefix+"TextPath"]||c.textPath)&&!c.useHTML&&(w.setTextPath((null===(n=b.getDataLabelPath)||void 0===n?void 0:n.call(b,w))||b.graphic,k),b.dataLabelPath&&!k.enabled&& (b.dataLabelPath=b.dataLabelPath.destroy())),w.added||w.add(I),e.alignDataLabel(b,w,c,void 0,J),w.isActive=!0,a[g]&&a[g]!==w&&a[g].destroy(),a[g]=w))});for(c=a.length;c--;)a[c].isActive?a[c].isActive=!1:(a[c].destroy(),a.splice(c,1));b.dataLabel=a[0];b.dataLabels=a});B(this,"afterDrawDataLabels")}function h(a,b,c,d,f,h){const e=this.chart,g=b.align,n=b.verticalAlign,l=a.box?0:a.padding||0;let {x:k=0,y:q=0}=b,m,u;m=(c.x||0)+l;0>m&&("right"===g&&0<=k?(b.align="left",b.inside=!0):k-=m,u=!0);m=(c.x|| 0)+d.width-l;m>e.plotWidth&&("left"===g&&0>=k?(b.align="right",b.inside=!0):k+=e.plotWidth-m,u=!0);m=c.y+l;0>m&&("bottom"===n&&0<=q?(b.verticalAlign="top",b.inside=!0):q-=m,u=!0);m=(c.y||0)+d.height-l;m>e.plotHeight&&("top"===n&&0>=q?(b.verticalAlign="bottom",b.inside=!0):q+=e.plotHeight-m,u=!0);u&&(b.x=k,b.y=q,a.placed=!h,a.align(b,void 0,f));return u}function v(a,b){let c=[],e;if(t(a)&&!t(b))c=a.map(function(c){return k(c,b)});else if(t(b)&&!t(a))c=b.map(function(b){return k(a,b)});else if(!t(a)&& !t(b))c=k(a,b);else if(t(a)&&t(b))for(e=Math.max(a.length,b.length);e--;)c[e]=k(a[e],b[e]);return c}function q(a,b,c,d,f){const e=this.chart,h=e.inverted,g=this.xAxis,n=g.reversed,l=h?b.height/2:b.width/2;a=(a=a.pointWidth)?a/2:0;b.startXPos=h?f.x:n?-l-a:g.width-l+a;b.startYPos=h?n?this.yAxis.height-l+a:-l-a:f.y;d?"hidden"===b.visibility&&(b.show(),b.attr({opacity:0}).animate({opacity:1})):b.attr({opacity:1}).animate({opacity:0},void 0,b.hide);e.hasRendered&&(c&&b.attr({x:b.startXPos,y:b.startYPos}), b.placed=!0)}const u=[];a.compose=function(a){H.pushUnique(u,a)&&(a=a.prototype,a.initDataLabelsGroup=I,a.initDataLabels=D,a.alignDataLabel=f,a.drawDataLabels=d,a.justifyDataLabel=h,a.setDataLabelStartPos=q)}})(l||(l={}));"";return l});M(a,"Series/Column/ColumnDataLabel.js",[a["Core/Series/DataLabel.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,H){const {series:y}=z,{merge:A,pick:C}=H;var E;(function(z){function t(a,p,r,m,l){let f=this.chart.inverted;var g=a.series; let k=(g.xAxis?g.xAxis.len:this.chart.plotSizeX)||0;g=(g.yAxis?g.yAxis.len:this.chart.plotSizeY)||0;var x=a.dlBox||a.shapeArgs;let t=C(a.below,a.plotY>C(this.translatedThreshold,g)),d=C(r.inside,!!this.options.stacking);x&&(m=A(x),0>m.y&&(m.height+=m.y,m.y=0),x=m.y+m.height-g,0\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}});M(a,"Series/Scatter/ScatterSeries.js", [a["Series/Scatter/ScatterSeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,H){const {column:y,line:A}=z.seriesTypes,{addEvent:C,extend:E,merge:B}=H;class t extends A{constructor(){super(...arguments);this.points=this.options=this.data=void 0}applyJitter(){const a=this,k=this.options.jitter,p=this.points.length;k&&this.points.forEach(function(r,m){["x","y"].forEach(function(l,f){let g="plot"+l.toUpperCase(),w,x;if(k[l]&&!r.isNull){var t=a[l+"Axis"];x=k[l]* t.transA;t&&!t.isLog&&(w=Math.max(0,r[g]-x),t=Math.min(t.len,r[g]+x),f=1E4*Math.sin(m+f*p),f-=Math.floor(f),r[g]=w+(t-w)*f,"x"===l&&(r.clientX=r.plotX))}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}t.defaultOptions=B(A.defaultOptions,a);E(t.prototype,{drawTracker:y.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});C(t,"afterTranslate",function(){this.applyJitter()}); z.registerSeriesType("scatter",t);return t});M(a,"Series/CenteredUtilities.js",[a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,z,H){const {deg2rad:y}=a,{fireEvent:A,isNumber:C,pick:E,relativeLength:B}=H;var t;(function(a){a.getCenter=function(){var a=this.options,p=this.chart;const r=2*(a.slicedOffset||0),m=p.plotWidth-2*r,l=p.plotHeight-2*r;var f=a.center;const g=Math.min(m,l),w=a.thickness;var t=a.size;let y=a.innerSize||0;"string"===typeof t&&(t=parseFloat(t)); "string"===typeof y&&(y=parseFloat(y));a=[E(f[0],"50%"),E(f[1],"50%"),E(t&&0>t?void 0:a.size,"100%"),E(y&&0>y?void 0:a.innerSize||0,"0%")];!p.angular||this instanceof z||(a[3]=0);for(f=0;4>f;++f)t=a[f],p=2>f||2===f&&/%$/.test(t),a[f]=B(t,[m,l,g,a[2]][f])+(p?r:0);a[3]>a[2]&&(a[3]=a[2]);C(w)&&2*wa&&360>p-a?p:a+360;return{start:y*(a+-90),end:y*(p+-90)}}})(t||(t={})); "";return t});M(a,"Series/Pie/PiePoint.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,H){const {setAnimation:y}=a,{addEvent:A,defined:C,extend:E,isNumber:B,pick:t,relativeLength:r}=H;class k extends z{constructor(){super(...arguments);this.series=this.options=this.labelDistance=void 0}getConnectorPath(){const a=this.labelPosition,k=this.series.options.dataLabels,m=this.connectorShapes;let l=k.connectorShape;m[l]&&(l=m[l]);return l.call(this, {x:a.computed.x,y:a.computed.y,alignment:a.alignment},a.connectorPosition,k)}getTranslate(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}}haloPath(a){const k=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(k.x,k.y,k.r+a,k.r+a,{innerR:k.r-1,start:k.start,end:k.end,borderRadius:k.borderRadius})}init(){super.init.apply(this,arguments);this.name=t(this.name,"Slice");const a=a=>{this.slice("select"===a.type)};A(this,"select",a);A(this, "unselect",a);return this}isValid(){return B(this.y)&&0<=this.y}setVisible(a,k){const m=this.series,l=m.chart,f=m.options.ignoreHiddenPoint;k=t(k,f);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,m.options.data[m.data.indexOf(this)]=this.options,["graphic","dataLabel","connector"].forEach(f=>{if(this[f])this[f][a?"show":"hide"](a)}),this.legendItem&&l.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),f&&(m.isDirty=!0),k&&l.redraw())}slice(a, k,m){const l=this.series;y(m,l.chart);t(k,!0);this.sliced=this.options.sliced=C(a)?a:!this.sliced;l.options.data[l.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate())}}E(k.prototype,{connectorShapes:{fixedOffset:function(a,k,m){const l=k.breakAt;k=k.touchingSliceAt;return[["M",a.x,a.y],m.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*l.x-k.x,2*l.y-k.y,l.x,l.y]:["L",l.x,l.y],["L",k.x,k.y]]},straight:function(a,k){k=k.touchingSliceAt;return[["M",a.x,a.y], ["L",k.x,k.y]]},crookedLine:function(a,k,m){const {breakAt:l,touchingSliceAt:f}=k;({series:k}=this);const [g,p,x]=k.center,t=x/2,d=k.chart.plotWidth,h=k.chart.plotLeft;k="left"===a.alignment;const {x:v,y:q}=a;m.crookDistance?(a=r(m.crookDistance,1),a=k?g+t+(d+h-g-t)*(1-a):h+(g-t)*a):a=g+(p-q)*Math.tan((this.angle||0)-Math.PI/2);m=[["M",v,q]];(k?a<=v&&a>=l.x:a>=v&&a<=l.x)&&m.push(["L",a,q]);m.push(["L",l.x,l.y],["L",f.x,f.y]);return m}}});return k});M(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}}}});M(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,H,K,A,C,E,B,t){const {getStartAndEndRadians:r}=a;({noop:H}=H);const {clamp:k,extend:p,fireEvent:x,merge:m,pick:l,relativeLength:f}=t;class g extends C{constructor(){super(...arguments); this.points=this.options=this.maxLabelDistance=this.data=this.center=void 0}animate(a){const f=this,g=f.points,d=f.startAngleRad;a||g.forEach(function(a){const h=a.graphic,g=a.shapeArgs;h&&g&&(h.attr({r:l(a.startR,f.center&&f.center[3]/2),start:d,end:d}),h.animate({r:g.r,start:g.start,end:g.end},f.options.animation))})}drawEmpty(){const a=this.startAngleRad,f=this.endAngleRad,g=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,f).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:B.arc(d,h,this.center[2]/2,0,{start:a,end:f,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":g.borderWidth,fill:g.fillColor||"none",stroke:g.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){const a=this.chart.renderer;this.points.forEach(function(f){f.graphic&&f.hasNewShapeType()&&(f.graphic=f.graphic.destroy());f.graphic||(f.graphic=a[f.shapeType](f.shapeArgs).add(f.series.group), f.delayedRendering=!0)})}generatePoints(){super.generatePoints();this.updateTotals()}getX(a,f,g){const d=this.center,h=this.radii?this.radii[g.index]||0:d[2]/2;a=Math.asin(k((a-d[1])/(h+g.labelDistance),-1,1));return d[0]+(f?-1:1)*Math.cos(a)*(h+g.labelDistance)+(01.5*Math.PI?t-=2*Math.PI:t<-Math.PI/2&&(t+=2*Math.PI);n.slicedTranslation={translateX:Math.round(Math.cos(t)*k),translateY:Math.round(Math.sin(t)*k)};y=Math.cos(t)*a[2]/2;b=Math.sin(t)*a[2]/ 2;n.tooltipPos=[a[0]+.7*y,a[1]+.7*b];n.half=t<-Math.PI/2||t>Math.PI/2?1:0;n.angle=t;w=Math.min(d,n.labelDistance/5);n.labelPosition={natural:{x:a[0]+y+Math.cos(t)*n.labelDistance,y:a[1]+b+Math.sin(t)*n.labelDistance},computed:{},alignment:0>n.labelDistance?"center":n.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+y+Math.cos(t)*w,y:a[1]+b+Math.sin(t)*w},touchingSliceAt:{x:a[0]+y,y:a[1]+b}}}}x(this,"afterTranslate")}updateTotals(){const a=this.points,f=a.length,g=this.options.ignoreHiddenPoint; let d,h,l=0;for(d=0;dl&&(b.dataLabel.css({width:Math.round(.7*l)+"px"}),b.dataLabel.shortened=!0)):(b.dataLabel=b.dataLabel.destroy(),b.dataLabels&&1===b.dataLabels.length&&delete b.dataLabels))}),y.forEach((d,h)=>{const l=d.length,q=[];let u,p=0;if(l){a.sortByAngle(d,h-.5);if(0b-e&&0===h&& (v=Math.round(K+C-b+e),O[1]=Math.max(v,O[1])),0>M-N/2?O[0]=Math.max(Math.round(-M+N/2),O[0]):M+N/2>c&&(O[2]=Math.max(Math.round(M+N/2-c),O[2])),A.sideOverflow=v)}}}),0===t(O)||this.verifyDataLabelOverflow(O))&&(this.placeDataLabels(),this.points.forEach(function(b){Z=p(g,b.options.dataLabels);if(G=x(Z.connectorWidth,1)){let c;z=b.connector;if((A=b.dataLabel)&&A._pos&&b.visible&&0d.bottom-2?g:f,d.half,d)},justify:function(a,d,f){return f[0]+(a.half?-1:1)*(d+a.labelDistance)},alignToPlotEdges:function(a,d,f,g){a=a.getBBox().width;return d?a+g:f-a-g},alignToConnectors:function(a,d,f,g){let e=0,b;a.forEach(function(a){b= a.dataLabel.getBBox().width;b>e&&(e=b)});return d?e+g:f-e-g}};f.compose=function(f){a.compose(B);A.pushUnique(D,f)&&(f=f.prototype,f.dataLabelPositioners=d,f.alignDataLabel=y,f.drawDataLabels=g,f.placeDataLabels=l,f.verifyDataLabelOverflow=I)}})(l||(l={}));return l});M(a,"Extensions/OverlappingDataLabels.js",[a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,z){function y(a,k){let p,r=!1;a&&(p=a.newOpacity,a.oldOpacity!==p&&(a.alignAttr&&a.placed?(a[p?"removeClass":"addClass"]("highcharts-data-label-hidden"), r=!0,a.alignAttr.opacity=p,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){k.styledMode||a.css({pointerEvents:p?"auto":"none"})}),A(k,"afterHideOverlappingLabel")):a.attr({opacity:p})),a.isOld=!0);return r}const {addEvent:K,fireEvent:A,isArray:C,isNumber:E,objectEach:B,pick:t}=z;K(a,"render",function(){let a=this,k=[];(this.labelCollectors||[]).forEach(function(a){k=k.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&& B(a.stacking.stacks,function(a){B(a,function(a){a.label&&k.push(a.label)})})});(this.series||[]).forEach(function(p){var r=p.options.dataLabels;p.visible&&(!1!==r.enabled||p._hasPointLabels)&&(r=m=>m.forEach(l=>{l.visible&&(C(l.dataLabels)?l.dataLabels:l.dataLabel?[l.dataLabel]:[]).forEach(function(f){const g=f.options;f.labelrank=t(g.labelrank,l.labelrank,l.shapeArgs&&l.shapeArgs.height);g.allowOverlap?(f.oldOpacity=f.opacity,f.newOpacity=1,y(f,a)):k.push(f)})}),r(p.nodes||[]),r(p.points))});this.hideOverlappingLabels(k)}); a.prototype.hideOverlappingLabels=function(a){let k=this,p=a.length,r=k.renderer;var m;let l;let f,g,w,t=!1;var D=function(a){let d,f;var g;let l=a.box?0:a.padding||0,e=g=0,b,c;if(a&&(!a.alignAttr||a.placed))return d=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},f=a.parentGroup,a.width||(g=a.getBBox(),a.width=g.width,a.height=g.height,g=r.fontMetrics(a.element).h),b=a.width-2*l,(c={left:"0",center:"0.5",right:"1"}[a.alignValue])?e=+c*b:E(a.x)&&Math.round(a.x)!==a.translateX&&(e=a.x-a.translateX),{x:d.x+ (f.translateX||0)+l-(e||0),y:d.y+(f.translateY||0)+l-g,width:a.width-2*l,height:a.height-2*l}};for(l=0;l=g.x+g.width||w.x+w.width<=g.x||w.y>=g.y+g.height||w.y+w.height<=g.y|| ((D.labelrank{r(a)||(a={radius:a||0});return k(x,f,a)};if(-1===K.symbolCustomAttribs.indexOf("borderRadius")){K.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY");const l=A.prototype.symbols.arc;A.prototype.symbols.arc=function(a,f,k,m,d={}){a=l(a,f,k,m,d);const {innerR:h=0,r:g=k,start:q=0,end:u=0}=d;if(d.open||!d.borderRadius)return a;k=u-q;f=Math.sin(k/2);d=Math.max(Math.min(p(d.borderRadius||0,g-h),(g-h)/2,g*f/(1+f)),0);k=Math.min(d,k/Math.PI*2*h);for(f=a.length-1;f--;){{let h= void 0,g=void 0,l=void 0;m=a;var e=f,b=1this.borderWidth&&(u="all");u||(u="end");const r=Math.min(p(a.radius,e),e/2,"all"===u?b/2:Infinity)||0;"end"===u&&(n&&(k-=r),d+=r);t(l,{brBoxHeight:d,brBoxY:k,r})}}},{order:9})}z={optionsToObject:m};"";return z});M(a,"Core/Responsive.js",[a["Core/Utilities.js"]],function(a){const {diffObjects:y,extend:H,find:K,merge:A,pick:C,uniqueKey:E}=a;var B;(function(t){function r(a,k){const l=a.condition;(l.callback||function(){return this.chartWidth<= C(l.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=C(l.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=C(l.minWidth,0)&&this.chartHeight>=C(l.minHeight,0)}).call(this)&&k.push(a._id)}function k(a,k){const l=this.options.responsive;var f=this.currentResponsive;let g=[];!k&&l&&l.rules&&l.rules.forEach(a=>{"undefined"===typeof a._id&&(a._id=E());this.matchResponsiveRule(a,g)},this);k=A(...g.map(a=>K((l||{}).rules||[],f=>f._id===a)).map(a=>a&&a.chartOptions));k.isResponsiveOptions=!0;g=g.toString()||void 0; g!==(f&&f.ruleIds)&&(f&&this.update(f.undoOptions,a,!0),g?(f=y(k,this.options,!0,this.collectionsWithUpdate),f.isResponsiveOptions=!0,this.currentResponsive={ruleIds:g,mergedOptions:k,undoOptions:f},this.update(k,a,!0)):this.currentResponsive=void 0)}const p=[];t.compose=function(t){a.pushUnique(p,t)&&H(t.prototype,{matchResponsiveRule:r,setResponsive:k});return t}})(B||(B={}));"";"";return B});M(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/Templating.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,H,K,A,C,E,B,t,r,k,p,x,m,l,f,g,w,I,D,d,h,v,q,u,e,b,c,n,J,F,L,S,P){a.animate= A.animate;a.animObject=A.animObject;a.getDeferredAnimation=A.getDeferredAnimation;a.setAnimation=A.setAnimation;a.stop=A.stop;a.timers=K.timers;a.AST=C;a.Axis=x;a.Chart=h;a.chart=h.chart;a.Fx=K;a.Legend=d;a.PlotLineOrBand=f;a.Point=I;a.Pointer=D;a.Series=u;a.StackItem=q;a.SVGElement=t;a.SVGRenderer=r;a.Templating=E;a.Tick=g;a.Time=P;a.Tooltip=w;a.Color=S;a.color=S.parse;p.compose(r);k.compose(t);D.compose(h);d.compose(h);a.defaultOptions=H.defaultOptions;a.getOptions=H.getOptions;a.time=H.defaultTime; a.setOptions=H.setOptions;a.dateFormat=E.dateFormat;a.format=E.format;a.numberFormat=E.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=B.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= e.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(b);F.compose(u);m.compose(x);l.compose(x);J.compose(n);f.compose(x);L.compose(h);v.compose(x,h,u);w.compose(D);return a});M(a,"Core/Axis/NavigatorAxisComposition.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){function y(){this.navigatorAxis||(this.navigatorAxis=new p(this))}function K(a){var k=this.chart, l=k.options,f=l.navigator;const g=this.navigatorAxis,p=k.zooming.pinchType;l=l.rangeSelector;k=k.zooming.type;this.isXAxis&&(f&&f.enabled||l&&l.enabled)&&("y"===k?a.zoomed=!1:(!A&&"xy"===k||A&&"xy"===p)&&this.options.range&&(f=g.previousZoom,B(a.newMin)?g.previousZoom=[this.min,this.max]:f&&(a.newMin=f[0],a.newMax=f[1],g.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()}const {isTouchDevice:A}=a,{addEvent:C,correctFloat:E,defined:B,isNumber:t,pick:r}=z,k=[];class p{static compose(a){z.pushUnique(k, a)&&(a.keepProps.push("navigatorAxis"),C(a,"init",y),C(a,"zoom",K))}constructor(a){this.axis=a}destroy(){this.axis=void 0}toFixedRange(a,k,l,f){const g=this.axis;var m=g.chart;a=r(l,g.translate(a,!0,!g.horiz));k=r(f,g.translate(k,!0,!g.horiz));m=m&&m.fixedRange;const p=(g.pointRange||0)/2;B(l)||(a=E(a+p));B(f)||(k=E(k-p));m&&g.dataMin&&g.dataMax&&(k>=g.dataMax&&(a=E(g.dataMax-m)),a<=g.dataMin&&(k=E(g.dataMin+m)));t(a)&&t(k)||(a=k=void 0);return{min:a,max:k}}}return p});M(a,"Stock/Navigator/NavigatorDefaults.js", [a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"]],function(a,z){({parse:a}=a);({seriesTypes:z}=z);z={height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:a("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:"undefined"===typeof z.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1}, dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{overscroll:0, className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}};"";return z});M(a,"Stock/Navigator/NavigatorSymbols.js", [],function(){return{"navigator-handle":function(a,z,H,K,A={}){a=A.width?A.width/2:H;z=Math.round(a/3)+.5;K=A.height||K;return[["M",-a-1,.5],["L",a,.5],["L",a,K+.5],["L",-a-1,K+.5],["L",-a-1,.5],["M",-z,4],["L",-z,K-3],["M",z-1,4],["L",z-1,K-3]]}}});M(a,"Stock/Navigator/NavigatorComposition.js",[a["Core/Defaults.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxisComposition.js"],a["Stock/Navigator/NavigatorDefaults.js"],a["Stock/Navigator/NavigatorSymbols.js"],a["Core/Renderer/RendererRegistry.js"], a["Core/Utilities.js"]],function(a,z,H,K,A,C,E){function y(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function t(){var a;const b=this.legend,c=this.navigator;let d,f,h;if(c){d=b&&b.options;f=c.xAxis;h=c.yAxis;const {scrollbarHeight:e,scrollButtonSize:g}=c;this.inverted?(c.left=c.opposite?this.chartWidth-e-c.height:this.spacing[3]+e,c.top=this.plotTop+g):(c.left=v(f.left,this.plotLeft+g),c.top=c.navigatorOptions.top||this.chartHeight-c.height-e-((null===(a=this.scrollbar)||void 0===a? void 0:a.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&&"bottom"===d.verticalAlign&&"proximate"!==d.layout&&d.enabled&&!d.floating?b.legendHeight+v(d.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));f&&h&&(this.inverted?f.options.left=h.options.left=c.left:f.options.top=h.options.top=c.top,f.setAxisSize(),h.setAxisSize())}}function r(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled|| (this.scroller=this.navigator=new u(this),v(a.redraw,!0)&&this.redraw(a.animation))}function k(){const a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new u(this)}function p(){var a=this.options;const b=a.navigator;a=a.rangeSelector;if((b&&b.enabled||a&&a.enabled)&&(!w&&"x"===this.zooming.type||w&&"x"===this.zooming.pinchType))return!1}function x(a){const b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}function m(a){const b=a.options.navigator|| {},c=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!c.enabled||(h(!0,this.options.navigator,b),h(!0,this.options.scrollbar,c),delete a.options.navigator,delete a.options.scrollbar)}function l(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}const {defaultOptions:f,setOptions:g}=a,{isTouchDevice:w}=z,{getRendererType:I}=C,{addEvent:D,extend:d,merge:h,pick:v}=E,q=[];let u;return{compose:function(a,b,c,h){H.compose(a);u=c;E.pushUnique(q, b)&&(b.prototype.callbacks.push(x),D(b,"afterAddSeries",y),D(b,"afterSetChartSize",t),D(b,"afterUpdate",r),D(b,"beforeRender",k),D(b,"beforeShowResetZoom",p),D(b,"update",m));E.pushUnique(q,h)&&D(h,"afterUpdate",l);E.pushUnique(q,I)&&d(I().prototype.symbols,A);E.pushUnique(q,g)&&d(f,{navigator:K})}}});M(a,"Core/Axis/ScrollbarAxis.js",[a["Core/Utilities.js"]],function(a){const {addEvent:y,defined:H,pick:K}=a,A=[];class C{static compose(z,B){if(!a.pushUnique(A,z))return z;const t=a=>{const k=K(a.options&& a.options.min,a.min),p=K(a.options&&a.options.max,a.max);return{axisMin:k,axisMax:p,scrollMin:H(a.dataMin)?Math.min(k,a.min,a.dataMin,K(a.threshold,Infinity)):k,scrollMax:H(a.dataMax)?Math.max(p,a.max,a.dataMax,K(a.threshold,-Infinity)):p}};y(z,"afterInit",function(){const a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new B(a.chart.renderer,a.options.scrollbar,a.chart),y(a.scrollbar, "changed",function(k){let {axisMin:p,axisMax:r,scrollMin:m,scrollMax:l}=t(a);var f=l-m;let g;H(p)&&H(r)&&(a.horiz&&!a.reversed||!a.horiz&&a.reversed?(g=m+f*this.to,f=m+f*this.from):(g=m+f*(1-this.from),f=m+f*(1-this.to)),this.shouldUpdateExtremes(k.DOMType)?a.setExtremes(f,g,!0,"mousemove"===k.DOMType||"touchmove"===k.DOMType?!1:void 0,k):this.setRange(this.from,this.to))}))});y(z,"afterRender",function(){let {scrollMin:a,scrollMax:k}=t(this),p=this.scrollbar;var x=this.axisTitleMargin+(this.titleOffset|| 0),m=this.chart.scrollbarsOffsets;let l=this.options.margin||0;p&&(this.horiz?(this.opposite||(m[1]+=x),p.position(this.left,this.top+this.height+2+m[1]-(this.opposite?l:0),this.width,this.height),this.opposite||(m[1]+=l),x=1):(this.opposite&&(m[0]+=x),p.position(p.options.opposite?this.left+this.width+2+m[0]-(this.opposite?0:l):this.opposite?0:l,this.top,this.width,this.height),this.opposite&&(m[0]+=l),x=0),m[x]+=p.size+(p.options.margin||0),isNaN(a)||isNaN(k)||!H(this.min)||!H(this.max)||this.min=== this.max?p.setRange(0,1):(m=(this.min-a)/(k-a),x=(this.max-a)/(k-a),this.horiz&&!this.reversed||!this.horiz&&this.reversed?p.setRange(m,x):p.setRange(1-x,1-m)))});y(z,"afterGetOffset",function(){const a=this.scrollbar;var k=a&&!a.options.opposite;k=this.horiz?2:k?3:1;a&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[k]+=a.size+(a.options.margin||0))});return z}}return C});M(a,"Stock/Scrollbar/ScrollbarDefaults.js",[a["Core/Globals.js"]],function(a){return{height:10,barBorderRadius:5,buttonBorderRadius:0, buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}});M(a,"Stock/Scrollbar/Scrollbar.js",[a["Core/Defaults.js"],a["Core/Globals.js"],a["Core/Axis/ScrollbarAxis.js"], a["Stock/Scrollbar/ScrollbarDefaults.js"],a["Core/Utilities.js"]],function(a,z,H,K,A){const {defaultOptions:y}=a,{addEvent:E,correctFloat:B,defined:t,destroyObjectProperties:r,fireEvent:k,merge:p,pick:x,removeEvent:m}=A;class l{static compose(a){H.compose(a,l)}static swapXY(a,g){g&&a.forEach(a=>{const f=a.length;let g;for(let d=0;dthis.calculatedWidth?f.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-f),chartY:(a.chartY-this.y- this.yOffset)/(this.barWidth-f)}}destroy(){const a=this,g=a.chart.scroller;a.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(f){a[f]&&a[f].destroy&&(a[f]=a[f].destroy())});g&&a===g.scrollbar&&(g.scrollbar=null,r(g.scrollbarButtons))}drawScrollbarButton(a){const f=this.renderer,k=this.scrollbarButtons,m=this.options,p=this.size;var d=f.g().add(this.group);k.push(d);m.buttonsEnabled&&(d=f.rect().addClass("highcharts-scrollbar-button").add(d),this.chart.styledMode|| d.attr({stroke:m.buttonBorderColor,"stroke-width":m.buttonBorderWidth,fill:m.buttonBackgroundColor}),d.attr(d.crisp({x:-.5,y:-.5,width:p+1,height:p+1,r:m.buttonBorderRadius},d.strokeWidth())),a=f.path(l.swapXY([["M",p/2+(a?-1:1),p/2-3],["L",p/2+(a?-1:1),p/2+3],["L",p/2+(a?2:-2),p/2]],m.vertical)).addClass("highcharts-scrollbar-arrow").add(k[a]),this.chart.styledMode||a.attr({fill:m.buttonArrowColor}))}init(a,g,l){this.scrollbarButtons=[];this.renderer=a;this.userOptions=g;this.options=p(K,y.scrollbar, g);this.options.margin=x(this.options.margin,10);this.chart=l;this.size=x(this.options.size,this.options.height);g.enabled&&(this.render(),this.addEvents())}mouseDownHandler(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0}mouseMoveHandler(a){var f=this.chart.pointer.normalize(a),l=this.options.vertical?"chartY":"chartX";const m=this.initPositions||[];!this.grabbedCenter|| a.touches&&0===a.touches[0][l]||(f=this.cursorToScrollbarPosition(f)[l],l=this[l],l=f-l,this.hasDragged=!0,this.updatePosition(m[0]+l,m[1]+l),this.hasDragged&&k(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))}mouseUpHandler(a){this.hasDragged&&k(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(a,g,l,k){const {buttonsEnabled:f,margin:d=0,vertical:h}= this.options,m=this.rendered?"animate":"attr";let q=k,u=0;this.group.show();this.x=a;this.y=g+this.trackBorderWidth;this.width=l;this.height=k;this.xOffset=q;this.yOffset=u;h?(this.width=this.yOffset=l=this.size,this.xOffset=q=0,this.yOffset=u=f?this.size:0,this.barWidth=k-(f?2*l:0),this.x=a+=d):(this.height=k=this.size,this.xOffset=q=f?this.size:0,this.barWidth=l-(f?2*k:0),this.y+=d);this.group[m]({translateX:a,translateY:this.y});this.track[m]({width:l,height:k});this.scrollbarButtons[1][m]({translateX:h? 0:l-q,translateY:h?k-u:0})}removeEvents(){this._events.forEach(function(a){m.apply(null,a)});this._events.length=0}render(){const a=this.renderer,g=this.options,k=this.size,m=this.chart.styledMode,p=a.g("scrollbar").attr({zIndex:g.zIndex}).hide().add();this.group=p;this.track=a.rect().addClass("highcharts-scrollbar-track").attr({r:g.trackBorderRadius||0,height:k,width:k}).add(p);m||this.track.attr({fill:g.trackBackgroundColor,stroke:g.trackBorderColor,"stroke-width":g.trackBorderWidth});const d=this.trackBorderWidth= this.track.strokeWidth();this.track.attr({x:-d%2/2,y:-d%2/2});this.scrollbarGroup=a.g().add(p);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:k-d,width:k-d,r:g.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(l.swapXY([["M",-3,k/4],["L",-3,2*k/3],["M",0,k/4],["L",0,2*k/3],["M",3,k/4],["L",3,2*k/3]],g.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);m||(this.scrollbar.attr({fill:g.barBackgroundColor,stroke:g.barBorderColor, "stroke-width":g.barBorderWidth}),this.scrollbarRifles.attr({stroke:g.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)}setRange(a,g){const f=this.options,l=f.vertical;var k=f.minWidth,d=this.barWidth;const h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(t(d)){var m= d*Math.min(g,1);a=Math.max(a,0);var q=Math.ceil(d*a);this.calculatedWidth=m=B(m-q);m=m?this.scrollbarRifles.hide(): this.scrollbarRifles.show();!1===f.showFull&&(0>=a&&1<=g?this.group.hide():this.group.show());this.rendered=!0}}shouldUpdateExtremes(a){return x(this.options.liveRedraw,z.svg&&!z.isTouchDevice&&!this.chart.boosted)||"mouseup"===a||"touchend"===a||!t(a)}trackClick(a){const f=this.chart.pointer.normalize(a),l=this.to-this.from,m=this.y+this.scrollbarTop,p=this.x+this.scrollbarLeft;this.options.vertical&&f.chartY>m||!this.options.vertical&&f.chartX>p?this.updatePosition(this.from+l,this.to+l):this.updatePosition(this.from- l,this.to-l);k(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})}update(a){this.destroy();this.init(this.chart.renderer,p(!0,this.options,a),this.chart)}updatePosition(a,g){1a&&(g=B(g-a),a=0);this.from=a;this.to=g}}l.defaultOptions=K;y.scrollbar=p(!0,l.defaultOptions,y.scrollbar);return l});M(a,"Stock/Navigator/Navigator.js",[a["Core/Axis/Axis.js"],a["Core/Defaults.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxisComposition.js"],a["Stock/Navigator/NavigatorComposition.js"], a["Stock/Scrollbar/Scrollbar.js"],a["Core/Utilities.js"]],function(a,z,H,K,A,C,E){function y(b,...a){a=[].filter.call(a,d);if(a.length)return Math[b].apply(0,a)}const {defaultOptions:t}=z,{hasTouch:r,isTouchDevice:k}=H,{addEvent:p,clamp:x,correctFloat:m,defined:l,destroyObjectProperties:f,erase:g,extend:w,find:I,isArray:D,isNumber:d,merge:h,pick:v,removeEvent:q,splat:u}=E;class e{static compose(b,a,d){A.compose(b,a,e,d)}constructor(b){this.rendered=this.range=this.outline=this.opposite=this.navigatorSize= this.navigatorSeries=this.navigatorOptions=this.navigatorGroup=this.navigatorEnabled=this.left=this.height=this.handles=this.chart=this.baseSeries=void 0;this.scrollbarHeight=0;this.zoomedMin=this.zoomedMax=this.yAxis=this.xAxis=this.top=this.size=this.shades=this.scrollButtonSize=void 0;this.init(b)}drawHandle(b,a,e,d){const c=this.navigatorOptions.handles.height;this.handles[a][d](e?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(b,10)+.5-c)}:{translateX:Math.round(this.left+ parseInt(b,10)),translateY:Math.round(this.top+this.height/2-c/2-1)})}drawOutline(b,a,e,d){const c=this.navigatorOptions.maskInside;var f=this.outline.strokeWidth();const h=f/2;var g=f%2/2;const n=this.scrollButtonSize,l=this.size,k=this.top;f=this.height;const m=k-h,q=k+f;let u=this.left;e?(e=k+a+g,a=k+b+g,g=[["M",u+f,k-n-g],["L",u+f,e],["L",u,e],["M",u,a],["L",u+f,a],["L",u+f,k+l+n]],c&&g.push(["M",u+f,e-h],["L",u+f,a+h])):(u-=n,b+=u+n-g,a+=u+n-g,g=[["M",u,m],["L",b,m],["L",b,q],["M",a,q],["L", a,m],["L",u+l+2*n,k+h]],c&&g.push(["M",b-h,m],["L",a+h,m]));this.outline[d]({d:g})}drawMasks(b,a,e,d){const c=this.left,f=this.top,h=this.height;let g,n,l,k;e?(l=[c,c,c],k=[f,f+b,f+a],n=[h,h,h],g=[b,a-b,this.size-a]):(l=[c,c+b,c+a],k=[f,f,f],n=[b,a-b,this.size-a],g=[h,h,h]);this.shades.forEach((b,a)=>{b[d]({x:l[a],y:k[a],width:n[a],height:g[a]})})}renderElements(){const b=this,a=b.navigatorOptions,e=a.maskInside,d=b.chart,f=d.renderer,h={cursor:d.inverted?"ns-resize":"ew-resize"},g=b.navigatorGroup= f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!e,e,!e].forEach((c,e)=>{const n=f.rect().addClass("highcharts-navigator-mask"+(1===e?"-inside":"-outside")).add(g);d.styledMode||(n.attr({fill:c?a.maskFill:"rgba(0,0,0,0)"}),1===e&&n.css(h));b.shades[e]=n});b.outline=f.path().addClass("highcharts-navigator-outline").add(g);d.styledMode||b.outline.attr({"stroke-width":a.outlineWidth,stroke:a.outlineColor});if(a.handles&&a.handles.enabled){const c=a.handles,{height:e,width:n}=c;[0,1].forEach(a=> {b.handles[a]=f.symbol(c.symbols[a],-n/2-1,0,n,e,c);d.inverted&&b.handles[a].attr({rotation:90,rotationOriginX:Math.floor(-n/2),rotationOriginY:(e+n)/2});b.handles[a].attr({zIndex:7-a}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][a]).add(g);d.styledMode||b.handles[a].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.lineWidth}).css(h)})}}update(b){(this.series||[]).forEach(b=>{b.baseSeries&&delete b.baseSeries.navigatorSeries});this.destroy(); h(!0,this.chart.options.navigator,b);this.init(this.chart)}render(b,a,e,f){var c=this.chart;const h=this.xAxis,g=h.pointRange||0;var n=h.navigatorAxis.fake?c.xAxis[0]:h;const k=this.navigatorEnabled;var q=this.rendered,u=c.inverted;const p=c.xAxis[0].minRange,r=c.xAxis[0].options.maxRange,t=this.scrollButtonSize;let J=this.scrollbarHeight,w;if(!this.hasDragged||l(e)){b=m(b-g/2);a=m(a+g/2);if(!d(b)||!d(a))if(q)e=0,f=v(h.width,n.width);else return;this.left=v(h.left,c.plotLeft+t+(u?c.plotWidth:0)); var y=this.size=w=v(h.len,(u?c.plotHeight:c.plotWidth)-2*t);c=u?J:w+2*t;e=v(e,h.toPixels(b,!0));f=v(f,h.toPixels(a,!0));d(e)&&Infinity!==Math.abs(e)||(e=0,f=c);b=h.toValue(e,!0);a=h.toValue(f,!0);var z=Math.abs(m(a-b));zr&&(this.grabbedLeft?e=h.toPixels(a-r-g,!0):this.grabbedRight&&(f=h.toPixels(b+r+g,!0)));this.zoomedMax=x(Math.max(e,f),0,y);this.zoomedMin=x(this.fixedWidth?this.zoomedMax-this.fixedWidth: Math.min(e,f),0,y);this.range=this.zoomedMax-this.zoomedMin;y=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);k&&(this.navigatorGroup.attr({visibility:"inherit"}),q=q&&!this.hasDragged?"animate":"attr",this.drawMasks(e,y,u,q),this.drawOutline(e,y,u,q),this.navigatorOptions.handles.enabled&&(this.drawHandle(e,0,u,q),this.drawHandle(y,1,u,q)));this.scrollbar&&(u?(u=this.top-t,n=this.left-J+(k||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),J=w+2*t):(u=this.top+(k?this.height:-J),n=this.left- t),this.scrollbar.position(n,u,c,J),this.scrollbar.setRange(this.zoomedMin/(w||1),this.zoomedMax/(w||1)));this.rendered=!0}}addMouseEvents(){const b=this,a=b.chart,e=a.container;let d=[],f,h;b.mouseMoveHandler=f=function(a){b.onMouseMove(a)};b.mouseUpHandler=h=function(a){b.onMouseUp(a)};d=b.getPartsEvents("mousedown");d.push(p(a.renderTo,"mousemove",f),p(e.ownerDocument,"mouseup",h));r&&(d.push(p(a.renderTo,"touchmove",f),p(e.ownerDocument,"touchend",h)),d.concat(b.getPartsEvents("touchstart"))); b.eventsToUnbind=d;b.series&&b.series[0]&&d.push(p(b.series[0].xAxis,"foundExtremes",function(){a.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(b){const a=this,e=[];["shades","handles"].forEach(function(c){a[c].forEach(function(d,f){e.push(p(d.element,b,function(b){a[c+"Mousedown"](b,f)}))})});return e}shadesMousedown(b,a){b=this.chart.pointer.normalize(b);const c=this.chart,e=this.xAxis,d=this.zoomedMin,f=this.size,h=this.range;let g=this.left,k=b.chartX,m,q;c.inverted&&(k=b.chartY,g= this.top);1===a?(this.grabbedCenter=k,this.fixedWidth=h,this.dragOffset=k-d):(b=k-g-h/2,0===a?b=Math.max(0,b):2===a&&b+h>=f&&(b=f-h,this.reversedExtremes?(b-=h,q=this.getUnionExtremes().dataMin):m=this.getUnionExtremes().dataMax),b!==d&&(this.fixedWidth=h,a=e.navigatorAxis.toFixedRange(b,b+h,q,m),l(a.min)&&c.xAxis[0].setExtremes(Math.min(a.min,a.max),Math.max(a.min,a.max),!0,null,{trigger:"navigator"})))}handlesMousedown(b,a){this.chart.pointer.normalize(b);b=this.chart;const c=b.xAxis[0],e=this.reversedExtremes; 0===a?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=e?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=e?c.max:c.min);b.fixedRange=null}onMouseMove(b){const a=this;var e=a.chart;const d=a.navigatorSize,f=a.range,h=a.dragOffset,g=e.inverted;let l=a.left;b.touches&&0===b.touches[0].pageX||(b=e.pointer.normalize(b),e=b.chartX,g&&(l=a.top,e=b.chartY),a.grabbedLeft?(a.hasDragged=!0,a.render(0,0,e-l,a.otherHandlePos)):a.grabbedRight?(a.hasDragged= !0,a.render(0,0,a.otherHandlePos,e-l)):a.grabbedCenter&&(a.hasDragged=!0,ed+h-f&&(e=d+h-f),a.render(0,0,e-h,e-h+f)),a.hasDragged&&a.scrollbar&&v(a.scrollbar.options.liveRedraw,!k&&!this.chart.boosted)&&(b.DOMType=b.type,setTimeout(function(){a.onMouseUp(b)},0)))}onMouseUp(b){var a=this.chart,e=this.xAxis,f=this.scrollbar;const h=b.DOMEvent||b,g=a.inverted,k=this.rendered&&!this.hasDragged?"animate":"attr";let m,q;(!this.hasDragged||f&&f.hasDragged)&&"scrollbar"!==b.trigger||(f=this.getUnionExtremes(), this.zoomedMin===this.otherHandlePos?m=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(q=this.fixedExtreme),this.zoomedMax===this.size&&(q=this.reversedExtremes?f.dataMin:f.dataMax),0===this.zoomedMin&&(m=this.reversedExtremes?f.dataMax:f.dataMin),e=e.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,m,q),l(e.min)&&a.xAxis[0].setExtremes(Math.min(e.min,e.max),Math.max(e.min,e.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:h}));"mousemove"!== b.DOMType&&"touchmove"!==b.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&d(this.zoomedMin)&&d(this.zoomedMax)&&(a=Math.round(this.zoomedMin),b=Math.round(this.zoomedMax),this.shades&&this.drawMasks(a,b,g,k),this.outline&&this.drawOutline(a,b,g,k),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(a,0,g,k), this.drawHandle(b,1,g,k)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){const b=this.baseSeries||[];this.navigatorEnabled&&b[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&b.forEach(function(b){q(b,"updatedData",this.updatedDataHandler)},this),b[0].xAxis&&q(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}init(b){var c=b.options,e=c.navigator||{},f=e.enabled,g=c.scrollbar|| {},l=g.enabled;c=f&&e.height||0;var k=l&&g.height||0;const m=g.buttonsEnabled&&k||0;this.handles=[];this.shades=[];this.chart=b;this.setBaseSeries();this.height=c;this.scrollbarHeight=k;this.scrollButtonSize=m;this.scrollbarEnabled=l;this.navigatorEnabled=f;this.navigatorOptions=e;this.scrollbarOptions=g;this.opposite=v(e.opposite,!(f||!b.inverted));const q=this;f=q.baseSeries;g=b.xAxis.length;l=b.yAxis.length;k=f&&f[0]&&f[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;q.navigatorEnabled?(q.xAxis= new a(b,h({breaks:k.options.breaks,ordinal:k.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",type:"datetime",index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[m,0,-m,0],width:c}:{offsets:[0,-m,0,m],height:c}),"xAxis"),q.yAxis=new a(b,h(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,reversed:v(e.yAxis&&e.yAxis.reversed,b.yAxis[0]&&b.yAxis[0].reversed,!1), zoomEnabled:!1},b.inverted?{width:c}:{height:c}),"yAxis"),f||e.series.data?q.updateNavigatorSeries(!1):0===b.series.length&&(q.unbindRedraw=p(b,"beforeRedraw",function(){0!b.options.isInternal).index:0);(c.series||[]).forEach((a,c)=>{a.options.isInternal||!a.options.showInNavigator&&(c!==b&&a.options.id!==b||!1===a.options.showInNavigator)||e.push(a)});this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,a)}updateNavigatorSeries(b,a){const c=this,e=c.chart,d=c.baseSeries,f={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1, xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},g=c.series=(c.series||[]).filter(b=>{const a=b.baseSeries;return 0>d.indexOf(a)?(a&&(q(a,"updatedData",c.updatedDataHandler),delete a.navigatorSeries),b.chart&&b.destroy(),!1):!0});let l,k,m=c.navigatorOptions.series,p;d&&d.length&&d.forEach(b=>{const n=b.navigatorSeries;var q=w({color:b.color,visible:b.visible},D(m)?t.navigator.series:m);n&&!1===c.navigatorOptions.adaptToUpdatedData|| (f.name="Navigator "+d.length,l=b.options||{},p=l.navigatorOptions||{},q.dataLabels=u(q.dataLabels),k=h(l,f,q,p),k.pointRange=v(q.pointRange,p.pointRange,t.plotOptions[k.type||"line"].pointRange),q=p.data||q.data,c.hasNavigatorData=c.hasNavigatorData||!!q,k.data=q||l.data&&l.data.slice(0),n&&n.options?n.update(k,a):(b.navigatorSeries=e.initSeries(k),b.navigatorSeries.baseSeries=b,g.push(b.navigatorSeries)))});if(m.data&&(!d||!d.length)||D(m))c.hasNavigatorData=!1,m=u(m),m.forEach((b,a)=>{f.name="Navigator "+ (g.length+1);k=h(t.navigator.series,{color:e.series[a]&&!e.series[a].options.isInternal&&e.series[a].color||e.options.colors[a]||e.options.colors[0]},f,b);k.data=b.data;k.data&&(c.hasNavigatorData=!0,g.push(e.initSeries(k)))});b&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){const b=this,a=b.baseSeries||[];a[0]&&a[0].xAxis&&a[0].eventsToUnbind.push(p(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));a.forEach(a=>{a.eventsToUnbind.push(p(a,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0, !1)}));a.eventsToUnbind.push(p(a,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&a.xAxis&&a.eventsToUnbind.push(p(a,"updatedData",this.updatedDataHandler));a.eventsToUnbind.push(p(a,"remove",function(){this.navigatorSeries&&(g(b.series,this.navigatorSeries),l(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(b){return this.baseSeries.reduce(function(b,a){return Math.min(b, a.xData&&a.xData.length?a.xData[0]:b)},b)}modifyNavigatorAxisExtremes(){const b=this.xAxis;if("undefined"!==typeof b.getExtremes){const a=this.getUnionExtremes(!0);!a||a.dataMin===b.min&&a.dataMax===b.max||(b.min=a.dataMin,b.max=a.dataMax)}}modifyBaseAxisExtremes(){const b=this.chart.navigator;var a=this.getExtremes();const e=a.dataMin,f=a.dataMax;a=a.max-a.min;const h=b.stickToMin,g=b.stickToMax,l=v(this.options.overscroll,0),k=b.series&&b.series[0],m=!!this.setExtremes;let q,u;this.eventArgs&&"rangeSelectorButton"=== this.eventArgs.trigger||(h&&(u=e,q=u+a),g&&(q=f+l,h||(u=Math.max(e,q-a,b.getBaseSeriesMin(k&&k.xData?k.xData[0]:-Number.MAX_VALUE)))),m&&(h||g)&&d(u)&&(this.min=this.userMin=u,this.max=this.userMax=q));b.stickToMin=b.stickToMax=null}updatedDataHandler(){const b=this.chart.navigator,a=this.navigatorSeries;b.stickToMax=v(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,b.reversedExtremes?0===Math.round(b.zoomedMin):Math.round(b.zoomedMax)>=Math.round(b.size));b.stickToMin=b.shouldStickToMin(this, b);a&&!b.hasNavigatorData&&(a.options.pointStart=this.xData[0],a.setData(this.options.data,!1,null,!1))}shouldStickToMin(b,a){a=a.getBaseSeriesMin(b.xData[0]);var c=b.xAxis;b=c.max;const e=c.min;c=c.options.range;return d(b)&&d(e)?c&&0{a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(a=> {this[a]&&this[a].destroy&&this[a].destroy();this[a]=null});[this.handles].forEach(a=>{f(a)})}}return e});M(a,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17, inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}});M(a,"Stock/RangeSelector/RangeSelectorComposition.js",[a["Core/Defaults.js"],a["Stock/RangeSelector/RangeSelectorDefaults.js"],a["Core/Utilities.js"]],function(a,z, H){function y(){const a=this.range,d=a.type,e=this.max,b=this.chart.time,c=function(a,c){const e="year"===d?"FullYear":"Month",f=new b.Date(a),h=b.get(e,f);b.set(e,f,h+c);h===b.get(e,f)&&b.set("Date",f,0);return f.getTime()-a};let f,h;w(a)?(f=e-a,h=a):a&&(f=e+c(e,-(a.count||1)),this.chart&&(this.chart.fixedRange=e-f));const g=D(this.dataMin,Number.MIN_VALUE);w(f)||(f=g);f<=g&&(f=g,"undefined"===typeof h&&(h=c(f,a.count)),this.newMax=Math.min(f+h,D(this.dataMax,Number.MAX_VALUE)));w(e)?!w(a)&&a&&a._offsetMin&& (f+=a._offsetMin):f=void 0;return f}function A(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new v(this))}function C(){var a=this.axes;const d=this.rangeSelector;d&&(w(d.deferredYTDClick)&&(d.clickButton(d.deferredYTDClick),delete d.deferredYTDClick),a.forEach(a=>{a.updateNames();a.setScale()}),this.getAxisMargins(),d.render(),a=d.options.verticalAlign,d.options.floating||("bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0)))}function E(a){let f, e,b,c;const h=a.rangeSelector,l=()=>{h&&(f=a.xAxis[0].getExtremes(),e=a.legend,c=h&&h.options.verticalAlign,w(f.min)&&h.render(f.min,f.max),e.display&&"top"===c&&c===e.options.verticalAlign&&(b=I(a.spacingBox),b.y="vertical"===e.options.layout?a.plotTop:b.y+h.getHeight(),e.group.placed=!1,e.align(b)))};h&&(g(d,b=>b[0]===a)||d.push([a,[m(a.xAxis[0],"afterSetExtremes",function(a){h&&h.render(a.min,a.max)}),m(a,"redraw",l)]]),l())}function B(){for(let a=0,f=d.length;a a());d.splice(a,1);break}}}function t(){var a=this.rangeSelector;a&&(a=a.getHeight(),this.extraTopMargin&&(this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))}function r(){var a=this.rangeSelector;a&&!a.options.floating&&(a.render(),a=a.options.verticalAlign,"bottom"===a?this.extraBottomMargin=!0:"middle"!==a&&(this.extraTopMargin=!0))}function k(a){var d=a.options.rangeSelector;a=this.extraBottomMargin;const e=this.extraTopMargin;let b=this.rangeSelector;d&&d.enabled&&!l(b)&&this.options.rangeSelector&& (this.options.rangeSelector.enabled=!0,this.rangeSelector=b=new v(this));this.extraTopMargin=this.extraBottomMargin=!1;b&&(E(this),d=d&&d.verticalAlign||b.options&&b.options.verticalAlign,b.options.floating||("bottom"===d?this.extraBottomMargin=!0:"middle"!==d&&(this.extraTopMargin=!0)),this.extraBottomMargin!==a||this.extraTopMargin!==e)&&(this.isDirtyBox=!0)}const {defaultOptions:p,setOptions:x}=a,{addEvent:m,defined:l,extend:f,find:g,isNumber:w,merge:I,pick:D}=H,d=[],h=[];let v;return{compose:function(a, d,e){v=e;H.pushUnique(h,a)&&(a.prototype.minFromRange=y);H.pushUnique(h,d)&&(m(d,"afterGetContainer",A),m(d,"beforeRender",C),m(d,"destroy",B),m(d,"getMargins",t),m(d,"render",r),m(d,"update",k),d.prototype.callbacks.push(E));H.pushUnique(h,x)&&(f(p,{rangeSelector:z.rangeSelector}),f(p.lang,z.lang))}}});M(a,"Stock/RangeSelector/RangeSelector.js",[a["Core/Axis/Axis.js"],a["Core/Defaults.js"],a["Core/Globals.js"],a["Stock/RangeSelector/RangeSelectorComposition.js"],a["Core/Renderer/SVG/SVGElement.js"], a["Core/Utilities.js"]],function(a,z,H,K,A,C){function y(a){if(-1!==a.indexOf("%L"))return"text";const e="aAdewbBmoyY".split("").some(b=>-1!==a.indexOf("%"+b)),b="HkIlMS".split("").some(b=>-1!==a.indexOf("%"+b));return e&&b?"datetime-local":e?"date":b?"time":"text"}const {defaultOptions:B}=z,{addEvent:t,createElement:r,css:k,defined:p,destroyObjectProperties:x,discardElement:m,extend:l,fireEvent:f,isNumber:g,merge:w,objectEach:I,pad:D,pick:d,pInt:h,splat:v}=C;class q{static compose(a,e){K.compose(a, e,q)}constructor(a){this.buttons=void 0;this.buttonOptions=q.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}clickButton(h,e){const b=this.chart,c=this.buttonOptions[h],l=b.xAxis[0];var k=b.scroller&&b.scroller.getUnionExtremes()||l||{},m=c.type;const q=c.dataGrouping;let u=k.dataMin,r=k.dataMax,x,w=l&&Math.round(Math.min(l.max,d(r,l.max))),y;k=c._range;let G,z,B,I=!0;if(null!==u&&null!==r){b.fixedRange=k;this.setSelected(h);q&&(this.forcedDataGrouping= !0,a.prototype.setDataGrouping.call(l||{chart:this.chart},q,!1),this.frozenStates=c.preserveDataGrouping);if("month"===m||"year"===m)l?(m={range:c,max:w,chart:b,dataMin:u,dataMax:r},x=l.minFromRange.call(m),g(m.newMax)&&(w=m.newMax),I=!1):k=c;else if(k)x=Math.max(w-k,u),w=Math.min(x+k,r),I=!1;else if("ytd"===m)if(l){if("undefined"===typeof r||"undefined"===typeof u)u=Number.MAX_VALUE,r=Number.MIN_VALUE,b.series.forEach(a=>{if(a=a.xData)u=Math.min(a[0],u),r=Math.max(a[a.length-1],r)}),e=!1;m=this.getYTDExtremes(r, u,b.time.useUTC);x=G=m.min;w=m.max}else{this.deferredYTDClick=h;return}else"all"===m&&l&&(b.navigator&&b.navigator.baseSeries[0]&&(b.navigator.baseSeries[0].xAxis.options.range=void 0),x=u,w=r);I&&c._offsetMin&&p(x)&&(x+=c._offsetMin);c._offsetMax&&p(w)&&(w+=c._offsetMax);this.dropdown&&(this.dropdown.selectedIndex=h+1);l?l.setExtremes(x,w,d(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:c}):(y=v(b.options.xAxis)[0],B=y.range,y.range=k,z=y.min,y.min=G,t(b,"load",function(){y.range= B;y.min=z}));f(this,"afterBtnClick")}}setSelected(a){this.selected=this.options.selected=a}init(a){const e=this,b=a.options.rangeSelector,c=b.buttons||e.defaultButtons.slice(),d=b.selected,h=function(){const a=e.minInput,b=e.maxInput;a&&a.blur&&f(a,"blur");b&&b.blur&&f(b,"blur")};e.chart=a;e.options=b;e.buttons=[];e.buttonOptions=c;this.eventsToUnbind=[];this.eventsToUnbind.push(t(a.container,"mousedown",h));this.eventsToUnbind.push(t(a,"resize",h));c.forEach(e.computeButtonRange);"undefined"!==typeof d&& c[d]&&this.clickButton(d,!1);this.eventsToUnbind.push(t(a,"load",function(){a.xAxis&&a.xAxis[0]&&t(a.xAxis[0],"setExtremes",function(b){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==b.trigger&&"updatedData"!==b.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})}))}updateButtonStates(){const a=this;var e=this.chart;const b=this.dropdown,c=e.xAxis[0],d=Math.round(c.max-c.min),f=!c.hasVisibleSeries,h=e.scroller&&e.scroller.getUnionExtremes()||c,l=h.dataMin,k=h.dataMax; e=a.getYTDExtremes(k,l,e.time.useUTC);const m=e.min,q=e.max,p=a.selected,r=a.options.allButtonsEnabled,v=a.buttons;let t=g(p);a.buttonOptions.forEach((e,h)=>{var g=e._range,n=e.type,u=e.count||1;const x=v[h],w=e._offsetMax-e._offsetMin,J=h===p,G=g>k-l,y=g=864E5*{month:28,year:365}[n]*u-w&&d-36E5<=864E5*{month:31,year:366}[n]*u+w?g=!0:"ytd"===n?(g=q-m+w===d,F=!J):"all"===n&&(g=c.max-c.min>=k-l,z=!J&&t&&g);n=!r&&(G||y||z||f);u= J&&g||g&&!t&&!F||J&&a.frozenStates;n?e=3:u&&(t=!0,e=2);x.state!==e&&(x.setState(e),b&&(b.options[h+1].disabled=n,2===e&&(b.selectedIndex=h+1)),0===e&&p===h&&a.setSelected())})}computeButtonRange(a){const e=a.type,b=a.count||1,c={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(c[e])a._range=c[e]*b;else if("month"===e||"year"===e)a._range=864E5*{month:30,year:365}[e]*b;a._offsetMin=d(a.offsetMin,0);a._offsetMax=d(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin}getInputValue(a){a= "min"===a?this.minInput:this.maxInput;const e=this.chart.options.rangeSelector,b=this.chart.time;return a?("text"===a.type&&e.inputDateParser||this.defaultInputDateParser)(a.value,b.useUTC,b):0}setInputValue(a,e){const b=this.options,c=this.chart.time,d="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(d){var f=d.getAttribute("data-hc-time");f=p(f)?Number(f):void 0;p(e)&&(p(f)&&d.setAttribute("data-hc-time-previous",f),d.setAttribute("data-hc-time",e),f=e);d.value= c.dateFormat(this.inputTypeFormats[d.type]||b.inputEditDateFormat,f);a&&a.attr({text:c.dateFormat(b.inputDateFormat,f)})}}setInputExtremes(a,e,b){if(a="min"===a?this.minInput:this.maxInput){const c=this.inputTypeFormats[a.type],d=this.chart.time;c&&(e=d.dateFormat(c,e),a.min!==e&&(a.min=e),b=d.dateFormat(c,b),a.max!==b&&(a.max=b))}}showInput(a){const e="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&e&&this.inputGroup){const b="text"===a.type,{translateX:c, translateY:d}=this.inputGroup,{inputBoxWidth:f}=this.options;k(a,{width:b?e.width+(f?-2:20)+"px":"auto",height:e.height-2+"px",border:"2px solid silver"});b&&f?k(a,{left:c+e.x+"px",top:d+"px"}):k(a,{left:Math.min(Math.round(e.x+c-(a.offsetWidth-e.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:d-(a.offsetHeight-e.height)/2+"px"})}}hideInput(a){(a="min"===a?this.minInput:this.maxInput)&&k(a,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(a,e,b){var c=a.split("/").join("-").split(" ").join("T"); -1===c.indexOf("T")&&(c+="T00:00");if(e)c+="Z";else{var d;if(d=H.isSafari)d=c,d=!(6=d?`+${D(-d)}:00`:`-${D(d)}:00`)}c=Date.parse(c);g(c)||(a=a.split("-"),c=Date.UTC(h(a[0]),h(a[1])-1,h(a[2])));b&&e&&g(c)&&(c+=b.getTimezoneOffset(c));return c}drawInput(a){function e(){const {maxInput:c,minInput:e}=f,d=b.xAxis[0];var h=b.scroller&&b.scroller.xAxis?b.scroller.xAxis:d;const l= h.dataMin;h=h.dataMax;let k=f.getInputValue(a);k!==Number(v.getAttribute("data-hc-time-previous"))&&g(k)&&(v.setAttribute("data-hc-time-previous",k),p&&c&&g(l)?k>Number(c.getAttribute("data-hc-time"))?k=void 0:kh&&(k=h)),"undefined"!==typeof k&&d.setExtremes(p?k:d.min,p?d.max:k,void 0,void 0,{trigger:"rangeSelectorInput"}))}const {chart:b,div:c,inputGroup:d}=this,f=this,h=b.renderer.style||{};var m=b.renderer;const q=b.options.rangeSelector, p="min"===a;var u=B.lang[p?"rangeSelectorFrom":"rangeSelectorTo"]||"";u=m.label(u,0).addClass("highcharts-range-label").attr({padding:u?2:0,height:u?q.inputBoxHeight:0}).add(d);m=m.label("",0).addClass("highcharts-range-input").attr({padding:2,width:q.inputBoxWidth,height:q.inputBoxHeight,"text-align":"center"}).on("click",function(){f.showInput(a);f[a+"Input"].focus()});b.styledMode||m.attr({stroke:q.inputBoxBorderColor,"stroke-width":1});m.add(d);const v=r("input",{name:a,className:"highcharts-range-selector"}, void 0,c);v.setAttribute("type",y(q.inputDateFormat||"%e %b %Y"));b.styledMode||(u.css(w(h,q.labelStyle)),m.css(w({color:"#333333"},h,q.inputStyle)),k(v,l({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},q.inputStyle)));v.onfocus=()=>{f.showInput(a)};v.onblur=()=>{v===H.doc.activeElement&&e();f.hideInput(a);f.setInputValue(a);v.blur()};let t=!1;v.onchange=()=>{t||(e(), f.hideInput(a),v.blur())};v.onkeypress=a=>{13===a.keyCode&&e()};v.onkeydown=a=>{t=!0;38!==a.keyCode&&40!==a.keyCode||e()};v.onkeyup=()=>{t=!1};return{dateBox:m,input:v,label:u}}getPosition(){var a=this.chart;const e=a.options.rangeSelector;a="top"===e.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+e.buttonPosition.y,inputTop:a+e.inputPosition.y-10}}getYTDExtremes(a,e,b){const c=this.chart.time;var d=new c.Date(a);const f=c.get("FullYear",d);b=b?c.Date.UTC(f,0,1):+new c.Date(f,0,1);e= Math.max(e,b);d=d.getTime();return{max:Math.min(a||d,d),min:e}}render(a,e){var b=this.chart,c=b.renderer;const f=b.container;var h=b.options;const g=h.rangeSelector,l=d(h.chart.style&&h.chart.style.zIndex,0)+1;h=g.inputEnabled;if(!1!==g.enabled){this.rendered||(this.group=c.g("range-selector-group").attr({zIndex:7}).add(),this.div=r("div",void 0,{position:"relative",height:0,zIndex:l}),this.buttonOptions.length&&this.renderButtons(),f.parentNode&&f.parentNode.insertBefore(this.div,f),h&&(this.inputGroup= c.g("input-group").add(this.group),c=this.drawInput("min"),this.minDateBox=c.dateBox,this.minLabel=c.label,this.minInput=c.input,c=this.drawInput("max"),this.maxDateBox=c.dateBox,this.maxLabel=c.label,this.maxInput=c.input));if(h&&(this.setInputValue("min",a),this.setInputValue("max",e),a=b.scroller&&b.scroller.getUnionExtremes()||b.xAxis[0]||{},p(a.dataMin)&&p(a.dataMax)&&(b=b.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-b),this.setInputExtremes("max", Math.max(a.dataMin,this.getInputValue("min"))+b,a.dataMax)),this.inputGroup)){let a=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(b=>{if(b){const {width:c}=b.getBBox();c&&(b.attr({x:a}),a+=c+g.inputSpacing)}})}this.alignElements();this.rendered=!0}}renderButtons(){const {buttons:a,chart:e,options:b}=this,c=B.lang,h=e.renderer,g=w(b.buttonTheme),l=g&&g.states,k=g.width||28;delete g.width;delete g.states;this.buttonGroup=h.g("range-selector-buttons").add(this.group);const m= this.dropdown=r("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);t(m,"touchstart",()=>{m.style.fontSize="16px"});[[H.isMS?"mouseover":"mouseenter"],[H.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(([b,c])=>{t(m,b,()=>{const e=a[this.currentButtonIndex()];e&&f(e.element,c||b)})});this.zoomText=h.label(c&&c.rangeSelectorZoom||"",0).attr({padding:b.buttonTheme.padding,height:b.buttonTheme.height,paddingLeft:0, paddingRight:0}).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(b.labelStyle),g["stroke-width"]=d(g["stroke-width"],0));r("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,m);this.buttonOptions.forEach((b,c)=>{r("option",{textContent:b.title||b.text},void 0,m);a[c]=h.button(b.text,0,0,a=>{const e=b.events&&b.events.click;let d;e&&(d=e.call(b,a));!1!==d&&this.clickButton(c);this.isActive=!0},g,l&&l.hover,l&&l.select,l&&l.disabled).attr({"text-align":"center",width:k}).add(this.buttonGroup); b.title&&a[c].attr("title",b.title)})}alignElements(){const {buttonGroup:a,buttons:e,chart:b,group:c,inputGroup:f,options:h,zoomText:g}=this;var l=b.options;const k=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions,{buttonPosition:m,inputPosition:q,verticalAlign:p}=h;l=(a,c)=>k&&this.titleCollision(b)&&"top"===p&&"right"===c.align&&c.y-a.getBBox().height-12<(k.y||0)+(k.height||0)+b.spacing[0]?-40:0;var r=b.plotLeft;if(c&&m&&q){var v=m.x-b.spacing[3];if(a){this.positionButtons(); if(!this.initialButtonGroupWidth){let a=0;g&&(a+=g.getBBox().width+5);e.forEach((b,c)=>{a+=b.width;c!==e.length-1&&(a+=h.buttonSpacing)});this.initialButtonGroupWidth=a}r-=b.spacing[3];this.updateButtonStates();var t=l(a,m);this.alignButtonGroup(t);c.placed=a.placed=b.hasLoaded}t=0;f&&(t=l(f,q),"left"===q.align?v=r:"right"===q.align&&(v=-Math.max(b.axisOffset[1],-t)),f.align({y:q.y,width:f.getBBox().width,align:q.align,x:q.x+v-2},!0,b.spacingBox),f.placed=b.hasLoaded);this.handleCollision(t);c.align({verticalAlign:p}, !0,b.spacingBox);l=c.alignAttr.translateY;r=c.getBBox().height+20;v=0;"bottom"===p&&(v=(v=b.legend&&b.legend.options)&&"bottom"===v.verticalAlign&&v.enabled&&!v.floating?b.legend.legendHeight+d(v.margin,10):0,r=r+v-20,v=l-r-(h.floating?0:h.y)-(b.titleOffset?b.titleOffset[2]:0)-10);if("top"===p)h.floating&&(v=0),b.titleOffset&&b.titleOffset[0]&&(v=b.titleOffset[0]),v+=b.margin[0]-b.spacing[0]||0;else if("middle"===p)if(q.y===m.y)v=l;else if(q.y||m.y)v=0>q.y||0>m.y?v-Math.min(q.y,m.y):l-r;c.translate(h.x, h.y+Math.floor(v));const {minInput:k,maxInput:n,dropdown:u}=this;h.inputEnabled&&k&&n&&(k.style.marginTop=c.translateY+"px",n.style.marginTop=c.translateY+"px");u&&(u.style.marginTop=c.translateY+"px")}}alignButtonGroup(a,e){const {chart:b,options:c,buttonGroup:f}=this,{buttonPosition:h}=c,g=b.plotLeft-b.spacing[3];let l=h.x-b.spacing[3];"right"===h.align?l+=a-g:"center"===h.align&&(l-=g/2);f&&f.align({y:h.y,width:d(e,this.initialButtonGroupWidth),align:h.align,x:l},!0,b.spacingBox)}positionButtons(){const {buttons:a, chart:e,options:b,zoomText:c}=this,f=e.hasLoaded?"animate":"attr",{buttonPosition:h}=b,g=e.plotLeft;let l=g;c&&"hidden"!==c.visibility&&(c[f]({x:d(g+h.x,g)}),l+=h.x+c.getBBox().width+5);for(let c=0,e=this.buttonOptions.length;c{let a=0;this.buttons.forEach(b=>{b=b.getBBox(); b.width>a&&(a=b.width)});return a},l=e=>{if(c&&b){const f=c.alignAttr.translateX+c.alignOptions.x-a+c.getBBox().x+2,g=c.alignOptions.width,l=b.alignAttr.translateX+b.getBBox().x;return l+e>f&&f+g>l&&d.y{c&&b&&c.attr({translateX:c.alignAttr.translateX+(e.axisOffset[1]>=-a?0:-a),translateY:c.alignAttr.translateY+b.getBBox().height+10})};if(b){if("always"===f){this.collapseButtons(a);l(g())&&k();return}"never"===f&&this.expandButtons()}c&&b?h.align===d.align|| l(this.initialButtonGroupWidth+20)?"responsive"===f?(this.collapseButtons(a),l(g())&&k()):k():"responsive"===f&&this.expandButtons():b&&"responsive"===f&&(this.initialButtonGroupWidth>e.plotWidth?this.collapseButtons(a):this.expandButtons())}collapseButtons(a){const {buttons:e,buttonOptions:b,chart:c,dropdown:f,options:h,zoomText:g}=this,l=c.userOptions.rangeSelector&&c.userOptions.rangeSelector.buttonTheme||{},k=a=>({text:a?`${a} \u25be`:"\u25be",width:"auto",paddingLeft:d(h.buttonTheme.paddingLeft, l.padding,8),paddingRight:d(h.buttonTheme.paddingRight,l.padding,8)});g&&g.hide();let m=!1;b.forEach((a,b)=>{b=e[b];2!==b.state?b.hide():(b.show(),b.attr(k(a.text)),m=!0)});m||(f&&(f.selectedIndex=0),e[0].show(),e[0].attr(k(this.zoomText&&this.zoomText.textStr)));const {align:q}=h.buttonPosition;this.positionButtons();"right"!==q&&"center"!==q||this.alignButtonGroup(a,e[this.currentButtonIndex()].getBBox().width);this.showDropdown()}expandButtons(){const {buttons:a,buttonOptions:e,options:b,zoomText:c}= this;this.hideDropdown();c&&c.show();e.forEach((c,e)=>{e=a[e];e.show();e.attr({text:c.text,width:b.buttonTheme.width||28,paddingLeft:d(b.buttonTheme.paddingLeft,"unset"),paddingRight:d(b.buttonTheme.paddingRight,"unset")});2>e.state&&e.setState(0)});this.positionButtons()}currentButtonIndex(){const {dropdown:a}=this;return a&&0d&&0>c||0a()),a.eventsToUnbind=void 0);x(a.buttons);e&&(e.onfocus=e.onblur=e.onchange=null);b&&(b.onfocus=b.onblur=b.onchange=null);I(a,function(b,e){b&&"chart"!==e&&(b instanceof A?b.destroy():b instanceof T.HTMLElement&&m(b));b!==q.prototype[e]&&(a[e]=null)},this)}}l(q.prototype,{defaultButtons:[{type:"month", count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});"";return q});M(a,"Series/XRange/XRangeSeriesDefaults.js",[a["Core/Utilities.js"]],function(a){const {correctFloat:y, isNumber:H,isObject:K}=a;"";return{colorByPoint:!0,dataLabels:{formatter:function(){let a=this.point.partialFill;K(a)&&(a=a.amount);if(H(a)&&0{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0}});M(a,"Series/XRange/XRangePoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]], function(a,z){const {series:{prototype:{pointClass:{prototype:y}}},seriesTypes:{column:{prototype:{pointClass:K}}}}=a;({extend:a}=z);class A extends K{constructor(){super(...arguments);this.series=this.options=void 0}static getColorByCategory(a,y){const z=a.options.colors||a.chart.options.colors;a=y.y%(z?z.length:a.chart.options.chart.colorCount);return{colorIndex:a,color:z&&z[a]}}resolveColor(){const a=this.series;if(a.options.colorByPoint&&!this.options.color){const y=A.getColorByCategory(a,this); a.chart.styledMode||(this.color=y.color);this.options.colorIndex||(this.colorIndex=y.colorIndex)}else this.color||(this.color=a.color)}init(){y.init.apply(this,arguments);this.y||(this.y=0);return this}setState(){y.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())}getLabelConfig(){const a=y.getLabelConfig.call(this),z=this.series.yAxis.categories;a.x2=this.x2;a.yCategory=this.yCategory=z&&z[this.y];return a}isValid(){return"number"===typeof this.x&&"number"=== typeof this.x2}}a(A.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});"";return A});M(a,"Series/XRange/XRangeSeries.js",[a["Core/Globals.js"],a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"],a["Series/XRange/XRangeSeriesDefaults.js"],a["Series/XRange/XRangePoint.js"]],function(a,z,H,K,A,C){function y(){let a,d;if(this.isXAxis){a=I(this.dataMax,-Number.MAX_VALUE);for(const f of this.series)if(f.x2Data)for(const h of f.x2Data)h&&h>a&&(a=h,d=!0);d&&(this.dataMax=a)}} ({noop:a}=a);const {parse:B}=z,{series:{prototype:t},seriesTypes:{column:r}}=H,{addEvent:k,clamp:p,defined:x,extend:m,find:l,isNumber:f,isObject:g,merge:w,pick:I}=K,D=[];class d extends r{constructor(){super(...arguments);this.points=this.options=this.data=void 0}static compose(a){K.pushUnique(D,a)&&k(a,"afterGetSeriesExtremes",y)}init(){super.init.apply(this,arguments);this.options.stacking=void 0}getColumnMetrics(){const a=()=>{for(const a of this.chart.series){const d=a.xAxis;a.xAxis=a.yAxis;a.yAxis= d}};a();const d=super.getColumnMetrics();a();return d}cropData(a,d,f,g){d=t.cropData.call(this,this.x2Data,d,f,g);d.xData=a.slice(d.start,d.end);return d}findPointIndex(a){const {cropStart:d,points:h}=this,{id:g}=a;if(g)var e=(e=l(h,a=>a.id===g))?e.index:void 0;"undefined"===typeof e&&(e=(e=l(h,b=>b.x===a.x&&b.x2===a.x2&&!b.touched))?e.index:void 0);this.cropped&&f(e)&&f(d)&&e>=d&&(e-=d);return e}alignDataLabel(a){const d=a.plotX;a.plotX=I(a.dlBox&&a.dlBox.centerX,a.plotX);super.alignDataLabel.apply(this, arguments);a.plotX=d}translatePoint(a){const d=this.xAxis;var h=this.yAxis,l=this.columnMetrics,e=this.options,{borderRadius:b}=e,c=e.minPointLength||0,k=(a.shapeArgs&&a.shapeArgs.width||0)/2,m=this.pointXOffset=l.offset,r=I(a.x2,a.x+(a.len||0));let t=a.plotX;var y=d.translate(r,0,0,0,1);r=Math.abs(y-t);const z=this.chart.inverted,B=I(e.borderWidth,1)%2/2;let D=l.offset,A=Math.round(l.width);c&&(c-=r,0>c&&(c=0),t-=c/2,y+=c/2);t=Math.max(t,-10);y=p(y,-10,d.len+10);x(a.options.pointWidth)&&(D-=(Math.ceil(a.options.pointWidth)- A)/2,A=Math.ceil(a.options.pointWidth));e.pointPlacement&&f(a.plotY)&&h.categories&&(a.plotY=h.translate(a.y,0,1,0,1,e.pointPlacement));e=Math.floor(Math.min(t,y))+B;e={x:e,y:Math.floor(a.plotY+D)+B,width:Math.floor(Math.max(t,y))+B-e,height:A};a.shapeArgs=e;f(b)&&(a.shapeArgs.r=b);z?a.tooltipPos[1]+=m+k:a.tooltipPos[0]-=k+m-e.width/2;k=e.x;m=k+e.width;0>k||m>d.len?(k=p(k,0,d.len),m=p(m,0,d.len),y=m-k,a.dlBox=w(e,{x:k,width:m-k,centerX:y?y/2:null})):a.dlBox=null;k=a.tooltipPos;m=z?1:0;y=z?0:1;l=this.columnMetrics? this.columnMetrics.offset:-l.width/2;k[m]=z?k[m]+e.width/2:p(k[m]+(d.reversed?-1:0)*e.width,0,d.len-1);k[y]=p(k[y]+(z?-1:1)*l,0,h.len-1);if(h=a.partialFill)g(h)&&(h=h.amount),f(h)||(h=0),f(b)&&(a.partShapeArgs=w(e,{r:b})),b=Math.max(Math.round(r*h+a.plotX-t),0),a.clipRectArgs={x:d.reversed?e.x+r-b:e.x,y:e.y,width:b,height:e.height}}translate(){super.translate.apply(this,arguments);for(const a of this.points)this.translatePoint(a)}drawPoint(a,d){const f=this.options,h=this.chart.renderer,e=a.shapeType, b=a.shapeArgs,c=a.partShapeArgs,l=a.clipRectArgs;var k=a.state,m=f.states[k||"normal"]||{};const p="undefined"===typeof k?"attr":d;k=this.pointAttribs(a,k);m=I(this.chart.options.chart.animation,m.animation);let r=a.graphic,v=a.partialFill;if(a.isNull||!1===a.visible)r&&(a.graphic=r.destroy());else{if(r)r.rect[d](b);else a.graphic=r=h.g("point").addClass(a.getClassName()).add(a.group||this.group),r.rect=h[e](w(b)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(r);c&&(r.partRect? (r.partRect[d](w(c)),r.partialClipRect[d](w(l))):(r.partialClipRect=h.clipRect(l.x,l.y,l.width,l.height),r.partRect=h[e](c).addClass("highcharts-partfill-overlay").add(r).clip(r.partialClipRect)));this.chart.styledMode||(r.rect[d](k,m).shadow(f.shadow),c&&(g(v)||(v={}),g(f.partialFill)&&(v=w(f.partialFill,v)),a=v.fill||B(k.fill).brighten(-.3).get()||B(a.color||this.color).brighten(-.3).get(),k.fill=a,r.partRect[p](k,m).shadow(f.shadow)))}}drawPoints(){const a=this.getAnimationVerb();for(const d of this.points)this.drawPoint(d, a)}getAnimationVerb(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}isPointInside(a){const d=a.shapeArgs,f=a.plotX,h=a.plotY;return d?"undefined"!==typeof f&&"undefined"!==typeof h&&0<=h&&h<=this.yAxis.len&&0<=(d.x||0)+(d.width||0)&&f<=this.xAxis.len:super.isPointInside.apply(this,arguments)}}d.defaultOptions=w(r.defaultOptions,A);m(d.prototype,{pointClass:C,cropShoulder:1,getExtremesFromAll:!0,parallelArrays:["x","x2","y"],requireSorting:!1,type:"xrange",animate:t.animate, autoIncrement:a,buildKDTree:a});H.registerSeriesType("xrange",d);return d});M(a,"Series/Gantt/GanttPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z){({seriesTypes:{xrange:{prototype:{pointClass:a}}}}=a);const {pick:y}=z;class K extends a{constructor(){super(...arguments);this.series=this.options=void 0}static setGanttPointAliases(a){function z(y,z){"undefined"!==typeof z&&(a[y]=z)}z("x",y(a.start,a.x));z("x2",y(a.end,a.x2));z("partialFill",y(a.completed,a.partialFill))}applyOptions(a, y){a=super.applyOptions.call(this,a,y);K.setGanttPointAliases(a);return a}isValid(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}return K});M(a,"Core/Axis/BrokenAxis.js",[a["Core/Axis/Stacking/StackItem.js"],a["Core/Utilities.js"]],function(a,z){const {addEvent:y,find:K,fireEvent:A,isArray:C,isNumber:E,pick:B}=z;var t;(function(r){function k(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks, !1)}function p(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function t(){const a=this.brokenAxis;if(a&&a.hasBreaks){const d=this.tickPositions,f=this.tickPositions.info,g=[];for(let f=0;ff.to||e>f.from&&cf.from&&cf.from&&c>f.to&&cl&&f>=this.basePointRange&&(l=f);k--;)e&& !1!==e.visible||(e=d[k+1]),f=d[k],!1!==e.visible&&!1!==f.visible&&(e.x-f.x>l&&(e=(f.x+e.x)/2,d.splice(k+1,0,{isNull:!0,x:e}),g.stacking&&this.options.stacking&&(e=g.stacking.stacks[this.stackKey][e]=new a(g,g.options.stackLabels,!1,e,this.stack),e.total=0)),e=f);return this.getGraphPath(d)}const I=[];r.compose=function(a,h){z.pushUnique(I,a)&&(a.keepProps.push("brokenAxis"),y(a,"init",m),y(a,"afterInit",k),y(a,"afterSetTickPositions",t),y(a,"afterSetOptions",p));if(z.pushUnique(I,h)){const a=h.prototype; a.drawBreaks=g;a.gappedPath=w;y(h,"afterGeneratePoints",l);y(h,"afterRender",f)}return a};class D{static isInBreak(a,f){const d=a.repeat||Infinity,h=a.from,g=a.to-a.from;f=f>=h?(f-h)%d:d-(h-f)%d;return a.inclusive?f<=g:f=a);g++)f.to=a)break;else if(D.isInBreak(g,a)){f-=a-g.from;break}return f}constructor(a){this.hasBreaks=!1;this.axis=a}findBreakAt(a,f){return K(f,function(d){return d.fromm;)p-=k;for(;pa.render());if(!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){a=this.tickmarkOffset;b=this.tickPositions[this.tickPositions.length- 1];e=this.tickPositions[0];let d,f;for(;(d=this.hiddenLabels.pop())&&d.element;)d.show();for(;(f=this.hiddenMarks.pop())&&f.element;)f.show();(d=this.ticks[e].label)&&(c-e>a?this.hiddenLabels.push(d.hide()):d.show());(d=this.ticks[b].label)&&(b-g>a?this.hiddenLabels.push(d.hide()):d.show());(c=this.ticks[b].mark)&&b-g{a.options.pointRange=0}),a&&b.dateTimeLabelFormats&&b.labels&&!v(c.align)&&(!1===b.dateTimeLabelFormats[a.unitName].range||1a.setScale())}function x(a){const {horiz:b,maxLabelDimensions:c,options:{grid:d={}}}=this;if(d.enabled&&c){var f=2*this.options.labels.distance; f=b?d.cellHeight||f+c.height:f+c.width;e(a.tickSize)?a.tickSize[0]=f:a.tickSize=[f,0]}}function m(){this.axes.forEach(a=>{(a.grid&&a.grid.columns||[]).forEach(a=>{a.setAxisSize();a.setAxisTranslation()})})}function l(a){const {grid:b}=this;(b.columns||[]).forEach(b=>b.destroy(a.keepEvents));b.columns=void 0}function f(a){a=a.userOptions||{};const b=a.grid||{};b.enabled&&v(b.borderColor)&&(a.tickColor=a.lineColor=b.borderColor);this.grid||(this.grid=new P(this));this.hiddenLabels=[];this.hiddenMarks= []}function g(a){var c=this.label;const e=this.axis;var d=e.reversed,f=e.chart,h=e.options.grid||{};const g=e.options.labels,l=g.align;var k=L[e.side],m=a.tickmarkOffset,n=e.tickPositions;const q=this.pos-m;n=b(n[a.index+1])?n[a.index+1]-m:(e.max||0)+m;var p=e.tickSize("tick");m=p?p[0]:0;p=p?p[1]/2:0;if(!0===h.enabled){let b;"top"===k?(h=e.top+e.offset,b=h-m):"bottom"===k?(b=f.chartHeight-e.bottom+e.offset,h=b+m):(h=e.top+e.len-(e.translate(d?n:q)||0),b=e.top+e.len-(e.translate(d?q:n)||0));"right"=== k?(k=f.chartWidth-e.right+e.offset,d=k+m):"left"===k?(d=e.left+e.offset,k=d-m):(k=Math.round(e.left+(e.translate(d?n:q)||0))-p,d=Math.min(Math.round(e.left+(e.translate(d?q:n)||0))-p,e.left+e.len));this.slotWidth=d-k;a.pos.x="left"===l?k:"right"===l?d:k+(d-k)/2;a.pos.y=b+(h-b)/2;c&&(f=f.renderer.fontMetrics(c),c=c.getBBox().height,a.pos.y=g.useHTML?a.pos.y+(f.b+-(c/2)):a.pos.y+((f.b-(f.h-f.f))/2+-((Math.round(c/f.h)-1)*f.h/2)));a.pos.x+=e.horiz&&g.x||0}}function w(a){const {axis:b,value:e}=a;if(b.options.grid&& b.options.grid.enabled){var d=b.tickPositions;const f=(b.linkedParent||b).series[0],h=e===d[0];d=e===d[d.length-1];const g=f&&u(f.options.data,function(a){return a[b.isXAxis?"x":"y"]===e});let l;g&&f.is("gantt")&&(l=c(g),z.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(l));a.isFirst=h;a.isLast=d;a.point=l}}function I(){const a=this.options,b=this.categories,c=this.tickPositions,e=c[0],d=c[c.length-1],f=this.linkedParent&&this.linkedParent.min||this.min,h=this.linkedParent&&this.linkedParent.max|| this.max,g=this.tickInterval;!0!==(a.grid||{}).enabled||b||!this.horiz&&!this.isLinked||(ef&&!a.startOnTick&&(c[0]=f),d>h&&d-g{b.side!==a.side||b.options.isInternal||(h=c,b===d&&(f=c))});return h===f&&(b(c)?e.length===c:!0)}renderBorder(a){const b=this.axis,c=b.chart.renderer,e=b.options;a=c.path(a).addClass("highcharts-axis-line").add(b.axisBorder); c.styledMode||a.attr({stroke:e.lineColor,"stroke-width":e.lineWidth,zIndex:7});return a}}d.E=function(a){return this.dateFormat("%a",a,!0).charAt(0)};d.W=function(a){const b=this,c=new this.Date(a);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(a){b.set(a,c,0)});var e=(this.get("Day",c)+6)%7;a=new this.Date(c.valueOf());this.set("Date",a,this.get("Date",c)-e+3);e=new this.Date(this.get("FullYear",a),0,1);4!==this.get("Day",e)&&(this.set("Month",c,0),this.set("Date",c,1+(11-this.get("Day", e))%7));return(1+Math.floor((a.valueOf()-e.valueOf())/6048E5)).toString()};"";return{compose:function(a,b,c){H.pushUnique(M,a)&&(a.keepProps.push("grid"),a.prototype.getMaxLabelDimensions=y,F(a.prototype,"unsquish",D),h(a,"init",f),h(a,"afterGetOffset",A),h(a,"afterGetTitlePosition",C),h(a,"afterInit",E),h(a,"afterRender",B),h(a,"afterSetAxisTranslation",t),h(a,"afterSetOptions",r),h(a,"afterSetOptions",k),h(a,"afterSetScale",p),h(a,"afterTickSize",x),h(a,"trimTicks",I),h(a,"destroy",l));H.pushUnique(M, b)&&h(b,"afterSetChartSize",m);H.pushUnique(M,c)&&(h(c,"afterGetLabelPosition",g),h(c,"labelFormat",w));return a}}});M(a,"Gantt/Tree.js",[a["Core/Utilities.js"]],function(a){const {extend:y,isNumber:H,pick:K}=a,A=function(a,y){const t=a.reduce(function(a,k){const p=K(k.parent,"");"undefined"===typeof a[p]&&(a[p]=[]);a[p].push(k);return a},{});Object.keys(t).forEach(function(a,k){const p=t[a];""!==a&&-1===y.indexOf(a)&&(p.forEach(function(a){k[""].push(a)}),delete k[a])});return t},C=function(a,z, t,r,k,p){let x=0,m=0,l=p&&p.after;var f=p&&p.before;z={data:r,depth:t-1,id:a,level:t,parent:z};let g,w;"function"===typeof f&&f(z,p);f=(k[a]||[]).map(function(f){const l=C(f.id,a,t+1,f,k,p),d=f.start;f=!0===f.milestone?d:f.end;g=!H(g)||dw?f:w;x=x+1+l.descendants;m=Math.max(l.height+1,m);return l});r&&(r.start=K(r.start,g),r.end=K(r.end,w));y(z,{children:f,descendants:x,height:m});"function"===typeof l&&l(z,p);return z};return{getListOfParents:A,getNode:C,getTree:function(a,y){const t= a.map(function(a){return a.id});a=A(a,t);return C("",null,1,null,a,y)}}});M(a,"Core/Axis/TreeGrid/TreeGridTick.js",[a["Core/Utilities.js"]],function(a){function y(){this.treeGrid||(this.treeGrid=new p(this))}function H(a,k){a=a.treeGrid;const l=!a.labelIcon,f=k.renderer;var g=k.xy;const m=k.options,p=m.width||0,r=m.height||0;var d=g.x-p/2-(m.padding||0);g=g.y-r/2;const h=k.collapsed?90:180,v=k.show&&B(g);let q=a.labelIcon;q||(a.labelIcon=q=f.path(f.symbols[m.type](m.x||0,m.y||0,p,r)).addClass("highcharts-label-icon").add(k.group)); q[v?"show":"hide"]();f.styledMode||q.attr({cursor:"pointer",fill:t(k.color,"#666666"),"stroke-width":1,stroke:m.lineColor,strokeWidth:m.lineWidth||0});q[l?"attr":"animate"]({translateX:d,translateY:g,rotation:h})}function K(a,k,l,f,g,p,r,y,d){var h=t(this.options&&this.options.labels,p);p=this.pos;var m=this.axis;const q="treegrid"===m.options.type;a=a.apply(this,[k,l,f,g,h,r,y,d]);q&&(k=h&&E(h.symbol,!0)?h.symbol:{},h=h&&B(h.indentation)?h.indentation:0,p=(p=(m=m.treeGrid.mapOfPosToGridNode)&&m[p])&& p.depth||1,a.x+=(k.width||0)+2*(k.padding||0)+(p-1)*h);return a}function A(a){const k=this;var l=k.pos,f=k.axis;const g=k.label;var p=f.treeGrid.mapOfPosToGridNode,r=f.options;const x=t(k.options&&k.options.labels,r&&r.labels);var d=x&&E(x.symbol,!0)?x.symbol:{};const h=(p=p&&p[l])&&p.depth;r="treegrid"===r.type;const v=-1{a&&!a.attachedTreeGridEvents&&(C(a.element,"mouseover",function(){g.addClass("highcharts-treegrid-node-active"); g.renderer.styledMode||g.css({textDecoration:"underline"})}),C(a.element,"mouseout",function(){{const a=E(x.style)?x.style:{};g.removeClass("highcharts-treegrid-node-active");g.renderer.styledMode||g.css({textDecoration:a.textDecoration})}}),C(a.element,"click",function(){k.treeGrid.toggleCollapse()}),a.attachedTreeGridEvents=!0)}))}const {addEvent:C,isObject:E,isNumber:B,pick:t,wrap:r}=a,k=[];class p{static compose(p){a.pushUnique(k,p)&&(C(p,"init",y),r(p.prototype,"getLabelPosition",K),r(p.prototype, "renderLabel",A),p.prototype.collapse=function(a){this.treeGrid.collapse(a)},p.prototype.expand=function(a){this.treeGrid.expand(a)},p.prototype.toggleCollapse=function(a){this.treeGrid.toggleCollapse(a)})}constructor(a){this.tick=a}collapse(a){var k=this.tick;const l=k.axis,f=l.brokenAxis;f&&l.treeGrid.mapOfPosToGridNode&&(k=l.treeGrid.collapse(l.treeGrid.mapOfPosToGridNode[k.pos]),f.setBreaks(k,t(a,!0)))}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(a){var k=this.tick;const l=k.axis, f=l.brokenAxis;f&&l.treeGrid.mapOfPosToGridNode&&(k=l.treeGrid.expand(l.treeGrid.mapOfPosToGridNode[k.pos]),f.setBreaks(k,t(a,!0)))}toggleCollapse(a){var k=this.tick;const l=k.axis,f=l.brokenAxis;f&&l.treeGrid.mapOfPosToGridNode&&(k=l.treeGrid.toggleCollapse(l.treeGrid.mapOfPosToGridNode[k.pos]),f.setBreaks(k,t(a,!0)))}}return p});M(a,"Series/TreeUtilities.js",[a["Core/Color/Color.js"],a["Core/Utilities.js"]],function(a,z){function y(a,k){var p=k.before;const r=k.idRoot,m=k.mapIdToNode[r],l=k.points[a.i], f=l&&l.options||{},g=[];let w=0;a.levelDynamic=a.level-(!1!==k.levelIsConstant?0:m.level);a.name=t(l&&l.name,"");a.visible=r===a.id||!0===k.visible;"function"===typeof p&&(a=p(a,k));a.children.forEach((f,l)=>{const d=K({},k);K(d,{index:l,siblings:a.children.length,visible:a.visible});f=y(f,d);g.push(f);f.visible&&(w+=f.val)});p=t(f.value,w);a.visible=0<=p&&(0{let f,l;E(g)&&C(g.level)&&(l=B({},g),f=t(l.levelIsConstant,p.levelIsConstant),delete l.levelIsConstant,delete l.level,g=g.level+(f?0:m-1),E(a[g])?B(!0,a[g],l):a[g]=l);return a},{}));l=C(a.to)?a.to:1;for(a=0;a<=l;a++)k[a]=B({},p,E(r[a])?r[a]:{})}return k}, setTreeValues:y,updateRootId:function(a){if(E(a)){var k=E(a.options)?a.options:{};k=t(a.rootNode,k.rootId,"");E(a.userOptions)&&(a.userOptions.rootId=k);a.rootNode=k}return k}}});M(a,"Core/Axis/TreeGrid/TreeGridAxis.js",[a["Core/Axis/BrokenAxis.js"],a["Core/Axis/GridAxis.js"],a["Gantt/Tree.js"],a["Core/Axis/TreeGrid/TreeGridTick.js"],a["Series/TreeUtilities.js"],a["Core/Utilities.js"]],function(a,z,H,K,A,C){function y(a,b){const c=a.collapseEnd||0;a=a.collapseStart||0;c>=b&&(a-=.5);return{from:a, to:c,showPoints:!1}}function B(a,b,c){const e=[],d=[],f={},h="boolean"===typeof b?b:!1;let g={},k=-1;a=H.getTree(a,{after:function(a){a=g[a.pos];let b=0,c=0;a.children.forEach(function(a){c+=(a.descendants||0)+1;b=Math.max((a.height||0)+1,b)});a.descendants=c;a.height=b;a.collapsed&&d.push(a)},before:function(a){const b=w(a.data,!0)?a.data:{},c=I(b.name)?b.name:"";var d=f[a.parent];d=w(d,!0)?g[d.pos]:null;var m=function(a){return a.name===c};let n;h&&w(d,!0)&&(n=l(d.children,m))?(m=n.pos,n.nodes.push(a)): m=k++;g[m]||(g[m]=n={depth:d?d.depth+1:0,name:c,id:b.id,nodes:[a],children:[],pos:m},-1!==m&&e.push(c),w(d,!0)&&d.children.push(n));I(a.id)&&(f[a.id]=a);n&&!0===b.collapsed&&(n.collapsed=!0);a.pos=m}});g=function(a,b){const c=function(a,e,d){let f=e+(-1===e?0:b-1);const h=(f-e)/2,g=e+h;a.nodes.forEach(function(a){const b=a.data;w(b,!0)&&(b.y=e+(b.seriesIndex||0),delete b.seriesIndex);a.pos=g});d[g]=a;a.pos=g;a.tickmarkOffset=h+.5;a.collapseStart=f+.5;a.children.forEach(function(a){c(a,f+1,d);f=(a.collapseEnd|| 0)-.5});a.collapseEnd=f+.5;return d};return c(a["-1"],-1,{})}(g,c);return{categories:e,mapOfIdToNode:f,mapOfPosToGridNode:g,collapsedNodes:d,tree:a}}function t(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(b){var c=b.options||{};const e=c.labels,d=c.uniqueNames;c=c.max;let f=0,h;if(!b.treeGrid.mapOfPosToGridNode||b.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty})){h=b.series.reduce(function(a,b){b.visible&&((b.options.data||[]).forEach(function(c){b.options.keys&& b.options.keys.length&&(c=b.pointClass.prototype.optionsToObject.call({series:b},c),b.pointClass.setGanttPointAliases(c));w(c,!0)&&(c.seriesIndex=f,a.push(c))}),!0===d&&f++);return a},[]);if(c&&h.lengtha.collapseStart!==b.collapseStart||a.collapseEnd!==b.collapseEnd)))})}),m(e,"afterBreaks",function(){"yAxis"===e.coll&&!e.staticScale&&e.chart.options.chart.height&&(e.isDirty=!0)}),c=D({grid:{enabled:!0}, labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},c,{reversed:!0,grid:{columns:void 0}}));a.apply(e,[b,c,d]);f&&(e.hasNames=!0,e.options.showLastLabel=!0)}function p(a){const b=this.options;"treegrid"===b.type?(this.min=d(this.userMin,b.min,this.dataMin),this.max=d(this.userMax,b.max,this.dataMax),f(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval= 1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):a.apply(this,Array.prototype.slice.call(arguments,1))}const {getLevelOptions:x}=A,{addEvent:m,find:l,fireEvent:f,isArray:g,isObject:w,isString:I,merge:D,pick:d,wrap:h}=C,v=[];let q;class u{static compose(e,b,c,d){if(C.pushUnique(v,e)){-1===e.keepProps.indexOf("treeGrid")&&e.keepProps.push("treeGrid");const a=e.prototype;h(a,"generateTick",r);h(a,"init",k);h(a,"setTickInterval",p);a.utils={getNode:H.getNode}}C.pushUnique(v, d)&&(q||(q=d));z.compose(e,b,d);a.compose(e,c);K.compose(d);return e}constructor(a){this.axis=a}setCollapsedStatus(a){const b=this.axis,c=b.chart;b.series.forEach(function(b){const e=b.options.data;if(a.id&&e){const d=c.get(a.id);b=e[b.data.indexOf(d)];d&&b&&(d.collapsed=a.collapsed,b.collapsed=a.collapsed)}})}collapse(a){const b=this.axis,c=b.options.breaks||[],e=y(a,b.max);c.push(e);a.collapsed=!0;b.treeGrid.setCollapsedStatus(a);return c}expand(a){const b=this.axis,c=b.options.breaks||[],e=y(a, b.max);a.collapsed=!1;b.treeGrid.setCollapsedStatus(a);return c.reduce(function(a,b){b.to===e.to&&b.from===e.from||a.push(b);return a},[])}getTickPositions(){const a=this.axis,b=Math.floor(a.min/a.tickInterval)*a.tickInterval,c=Math.ceil(a.max/a.tickInterval)*a.tickInterval;return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(d,e){e=+e;!(e>=b&&e<=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(e)||d.push(e);return d},[])}isCollapsed(a){const b=this.axis,c=b.options.breaks||[],d=y(a,b.max); return c.some(function(a){return a.from===d.from&&a.to===d.to})}toggleCollapse(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)}}return u});M(a,"Extensions/StaticScale.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,z,H){const {addEvent:y,defined:A,isNumber:C,pick:E}=H;y(a,"afterSetOptions",function(){const a=this.chart.options.chart;!this.horiz&&C(this.options.staticScale)&&(!a.height||a.scrollablePlotArea&&a.scrollablePlotArea.minHeight)&&(this.staticScale= this.options.staticScale)});z.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(a){let t=a.chart,r=!!t.initiatedScale&&t.options.animation;var k=a.options.staticScale;let p;a.staticScale&&A(a.min)&&(p=E(a.brokenAxis&&a.brokenAxis.unitLength,a.max+a.tickInterval-a.min)*k,p=Math.max(p,k),k=p-t.plotHeight,!t.scrollablePixelsY&&1<=Math.abs(k)&&(t.plotHeight=p,t.redrawTrigger="adjustHeight",t.setSize(void 0,t.chartHeight+k,r)),a.series.forEach(function(a){(a= a.sharedClipKey&&t.sharedClips[a.sharedClipKey])&&a.attr(t.inverted?{width:t.plotHeight}:{height:t.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=null};y(z,"render",z.prototype.adjustHeight)});M(a,"Gantt/Connection.js",[a["Core/Defaults.js"],a["Core/Globals.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,H,K){function y(a){var f=a.shapeArgs;return f?{xMin:f.x||0,xMax:(f.x||0)+(f.width||0),yMin:f.y||0,yMax:(f.y||0)+(f.height||0)}:(f=a.graphic&&a.graphic.getBBox())? {xMin:a.plotX-f.width/2,xMax:a.plotX+f.width/2,yMin:a.plotY-f.height/2,yMax:a.plotY+f.height/2}:null}({defaultOptions:a}=a);const {defined:C,error:E,extend:B,merge:t,objectEach:r}=K;"";const k=z.deg2rad,p=Math.max,x=Math.min;B(a,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});class m{constructor(a,f,g){this.toPoint=this.pathfinder=this.graphics=this.fromPoint= this.chart=void 0;this.init(a,f,g)}init(a,f,g){this.fromPoint=a;this.toPoint=f;this.options=g;this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder}renderPath(a,f,g){let l=this.chart,k=l.styledMode,m=l.pathfinder,d=!l.options.chart.forExport&&!1!==g,h=this.graphics&&this.graphics.path;m.group||(m.group=l.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(l.seriesGroup));m.group.translate(l.plotLeft,l.plotTop);h&&h.renderer||(h=l.renderer.path().add(m.group),k||h.attr({opacity:0})); h.attr(f);a={d:a};k||(a.opacity=1);h[d?"animate":"attr"](a,g);this.graphics=this.graphics||{};this.graphics.path=h}addMarker(a,f,g){var l=this.fromPoint.series.chart;let m=l.pathfinder;l=l.renderer;let p="start"===a?this.fromPoint:this.toPoint;var d=p.getPathfinderAnchorPoint(f);let h,r;f.enabled&&((g="start"===a?g[1]:g[g.length-2])&&"M"===g[0]||"L"===g[0])&&(g={x:g[1],y:g[2]},g=p.getRadiansToVector(g,d),d=p.getMarkerVector(g,f.radius,d),g=-g/k,f.width&&f.height?(h=f.width,r=f.height):h=r=2*f.radius, this.graphics=this.graphics||{},d={x:d.x-h/2,y:d.y-r/2,width:h,height:r,rotation:g,rotationOriginX:d.x,rotationOriginY:d.y},this.graphics[a]?this.graphics[a].animate(d):(this.graphics[a]=l.symbol(f.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker highcharts-color-"+this.fromPoint.colorIndex).attr(d).add(m.group),l.styledMode||this.graphics[a].attr({fill:f.color||this.fromPoint.color,stroke:f.lineColor,"stroke-width":f.lineWidth,opacity:0}).animate({opacity:1},p.series.options.animation)))}getPath(a){let f= this.pathfinder,g=this.chart,k=f.algorithms[a.type],l=f.chartObstacles;if("function"!==typeof k)return E('"'+a.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};k.requiresObstacles&&!l&&(l=f.chartObstacles=f.getChartObstacles(a),g.options.connectors.algorithmMargin=a.algorithmMargin,f.chartObstacleMetrics=f.getObstacleMetrics(l));return k(this.fromPoint.getPathfinderAnchorPoint(a.startMarker),this.toPoint.getPathfinderAnchorPoint(a.endMarker),t({chartObstacles:l,lineObstacles:f.lineObstacles|| [],obstacleMetrics:f.chartObstacleMetrics,hardBounds:{xMin:0,xMax:g.plotWidth,yMin:0,yMax:g.plotHeight},obstacleOptions:{margin:a.algorithmMargin},startDirectionX:f.getAlgorithmStartDirection(a.startMarker)},a))}render(){var a=this.fromPoint;let f=a.series;var g=f.chart;let k=g.pathfinder,m=t(g.options.connectors,f.options.connectors,a.options.connectors,this.options),r={};g.styledMode||(r.stroke=m.lineColor||a.color,r["stroke-width"]=m.lineWidth,m.dashStyle&&(r.dashstyle=m.dashStyle));r["class"]= "highcharts-point-connecting-path highcharts-color-"+a.colorIndex;m=t(r,m);C(m.marker.radius)||(m.marker.radius=x(p(Math.ceil((m.algorithmMargin||8)/2)-1,1),5));a=this.getPath(m);g=a.path;a.obstacles&&(k.lineObstacles=k.lineObstacles||[],k.lineObstacles=k.lineObstacles.concat(a.obstacles));this.renderPath(g,r,f.options.animation);this.addMarker("start",t(m.marker,m.startMarker),g);this.addMarker("end",t(m.marker,m.endMarker),g)}destroy(){this.graphics&&(r(this.graphics,function(a){a.destroy()}),delete this.graphics)}} z.Connection=m;B(H.prototype,{getPathfinderAnchorPoint:function(a){let f=y(this),g,k;switch(a.align){case "right":g="xMax";break;case "left":g="xMin"}switch(a.verticalAlign){case "top":k="yMin";break;case "bottom":k="yMax"}return{x:g?f[g]:(f.xMin+f.xMax)/2,y:k?f[k]:(f.yMin+f.yMax)/2}},getRadiansToVector:function(a,f){let g;C(f)||(g=y(this))&&(f={x:(g.xMin+g.xMax)/2,y:(g.yMin+g.yMax)/2});return Math.atan2(f.y-a.y,a.x-f.x)},getMarkerVector:function(a,f,g){var k=2*Math.PI,l=y(this),m=l.xMax-l.xMin;let d= l.yMax-l.yMin,h=Math.atan2(d,m),p=!1;m/=2;let q=d/2,r=l.xMin+m;l=l.yMin+q;var e=r,b=l;let c=1,n=1;for(;a<-Math.PI;)a+=k;for(;a>Math.PI;)a-=k;k=Math.tan(a);a>-h&&a<=h?(n=-1,p=!0):a>h&&a<=Math.PI-h?n=-1:a>Math.PI-h||a<=-(Math.PI-h)?(c=-1,p=!0):c=-1;p?(e+=c*m,b+=n*m*k):(e+=d/(2*k)*c,b+=n*q);g.x!==r&&(e=g.x);g.y!==l&&(b=g.y);return{x:e+f*Math.cos(a),y:b-f*Math.sin(a)}}});return m});M(a,"Gantt/PathfinderAlgorithms.js",[a["Core/Utilities.js"]],function(a){function y(a,p,r){r=r||0;let k=a.length-1;p-=1e-7; let l,f;for(;r<=k;)if(l=k+r>>1,f=p-a[l].xMin,0f)k=l-1;else return l;return 0=p.x)m=a[k],m=p.x<=m.xMax&&p.x>=m.xMin&&p.y<=m.yMax&&p.y>=m.yMin;if(m)return k}return-1}function K(a){const k=[];if(a.length){k.push(["M",a[0].start.x,a[0].start.y]);for(let p=0;pt(d[f]-a[f+"Max"]);return k(d,f,a,f+(h?"Max":"Min"),h?1:-1)}let f=[];var g=C(r.startDirectionX,t(p.x-a.x)>t(p.y-a.y))?"x":"y",w=r.chartObstacles;let x=H(w,a);r=H(w,p);let y;if(-1=a[g]===r[g]>=y[g]&&(g= "y"===g?"x":"y",p=a[g]l?E(y(c,f.x),c.length-1):0;c[k]&&(0l&&c[k].xMax>=e.x);){if(c[k].xMin<= f.x&&c[k].xMax>=e.x&&c[k].yMin<=h.y&&c[k].yMax>=g.y)return d?{y:a.y,x:a.x=f[g+"Max"];f=a[g+"Min"]<=f[g+"Min"];let n=a[g+"Max"]>=h[g+"Max"];h=a[g+"Min"]<=h[g+"Min"];let p=t(a[g+"Min"]-b[g]),q=t(a[g+"Max"]-b[g]);c=10>t(p-q)?b[g]t(p.y-a.y)),x=w?"x":"y";let z,d=[],h=!1;var v=r.obstacleMetrics;let q=E(a.x,p.x)-v.maxWidth-10,u=B(a.x,p.x)+v.maxWidth+10,e=E(a.y,p.y)-v.maxHeight-10,b=B(a.y,p.y)+v.maxHeight+10,c=r.chartObstacles;var n=y(c,q);v=y(c,u);c=c.slice(n,v+1);-1<(v=H(c,p))&&(z=g(c[v],p,a),d.push({end:p,start:z}),p= z);for(;-1<(v=H(c,p));)n=0>p[x]-a[x],z={x:p.x,y:p.y},z[x]=c[v][n?x+"Max":x+"Min"]+(n?1:-1),d.push({end:p,start:z}),p=z;a=f(a,p,w);a=a.concat(d.reverse());return{path:K(a),obstacles:a}};r.requiresObstacles=!0;return{fastAvoid:r,straight:function(a,p){return{path:[["M",a.x,a.y],["L",p.x,p.y]],obstacles:[{start:a,end:p}]}},simpleConnect:a}});M(a,"Gantt/Pathfinder.js",[a["Gantt/Connection.js"],a["Core/Chart/Chart.js"],a["Core/Defaults.js"],a["Core/Globals.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"], a["Gantt/PathfinderAlgorithms.js"]],function(a,z,H,K,A,C,E){function y(a){var d=a.shapeArgs;return d?{xMin:d.x||0,xMax:(d.x||0)+(d.width||0),yMin:d.y||0,yMax:(d.y||0)+(d.height||0)}:(d=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-d.width/2,xMax:a.plotX+d.width/2,yMin:a.plotY-d.height/2,yMax:a.plotY+d.height/2}:null}function t(a){let d=a.length,g=0,k,l,e=[],b=function(a,d,e){e=f(e,10);const c=a.yMax+e>d.yMin-e&&a.yMin-ed.xMin-e&&a.xMin-ed.xMax?a.xMin-d.xMax: d.xMin-a.xMax:Infinity,k=g?a.yMin>d.yMax?a.yMin-d.yMax:d.yMin-a.yMax:Infinity;return g&&c?e?b(a,d,Math.floor(e/2)):Infinity:I(h,k)};for(;gl&&e.push(l);e.push(80);return w(Math.floor(e.sort(function(a,b){return a-b})[Math.floor(e.length/10)]/2-1),1)}function r(a){if(a.options.pathfinder||a.series.reduce(function(a,d){d.options&&l(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&&d.options.pathfinder},!1))l(!0,a.options.connectors= a.options.connectors||{},a.options.pathfinder),x('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}({defaultOptions:H}=H);const {addEvent:k,defined:p,error:x,extend:m,merge:l,pick:f,splat:g}=C;"";const w=Math.max,I=Math.min;m(H,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});class D{constructor(a){this.lineObstacles= this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}init(a){this.chart=a;this.connections=[];k(a,"redraw",function(){this.pathfinder.update()})}update(d){const f=this.chart,k=this,l=k.connections;k.connections=[];f.series.forEach(function(d){d.visible&&!d.options.isInternal&&d.points.forEach(function(d){var b=d.options;b&&b.dependency&&(b.connect=b.dependency);let c;b=d.options&&d.options.connect&&g(d.options.connect);d.visible&&!1!==d.isInside&& b&&b.forEach(function(b){c=f.get("string"===typeof b?b:b.to);c instanceof A&&c.series.visible&&c.visible&&!1!==c.isInside&&k.connections.push(new a(d,c,"string"===typeof b?{}:b))})})});for(let a=0,d,b,c=l.length,f=k.connections.length;aMath.PI;)a-=d;d=Math.tan(a);a>-c&&a<=c?(v=-1,k=!0):a>c&&a<=Math.PI-c?v=-1:a>Math.PI-c||a<=-(Math.PI-c)?(t=-1,k=!0):t=-1;k?(p+=t*e, r+=v*e*d):(p+=b/(2*d)*t,r+=v*l);g.x!==m&&(p=g.x);g.y!==h&&(r=g.y);return{x:p+f*Math.cos(a),y:r-f*Math.sin(a)}}});z.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(r(a),this.pathfinder=new D(this),this.pathfinder.update(!0))});return D});M(a,"Series/Gantt/GanttSeries.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Series/Gantt/GanttPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Axis/Tick.js"],a["Core/Utilities.js"],a["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(a, z,H,K,A,C,E){const {series:y,seriesTypes:{xrange:t}}=K,{extend:r,isNumber:k,merge:p}=C;E.compose(a,z,y,A);class x extends t{constructor(){super(...arguments);this.points=this.options=this.data=void 0}drawPoint(a,l){let f=this.options,g=this.chart.renderer;var m=a.shapeArgs;let p=a.plotY,r=a.graphic,d=a.selected&&"select",h=f.stacking&&!f.borderRadius;if(a.options.milestone)if(k(p)&&null!==a.y&&!1!==a.visible){m=g.symbols.diamond(m.x||0,m.y||0,m.width||0,m.height||0);if(r)r[l]({d:m});else a.graphic= g.path(m).addClass(a.getClassName(),!0).add(a.group||this.group);this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,d)).shadow(f.shadow,null,h)}else r&&(a.graphic=r.destroy());else t.prototype.drawPoint.call(this,a,l)}translatePoint(a){let k,f;t.prototype.translatePoint.call(this,a);a.options.milestone&&(k=a.shapeArgs,f=k.height||0,a.shapeArgs={x:(k.x||0)-f/2,y:k.y,width:f,height:f})}}x.defaultOptions=p(t.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
', pointFormat:null,pointFormatter:function(){var a=this.series,l=a.xAxis;let f=a.tooltipOptions.dateTimeLabelFormats,g=l.options.startOfWeek,p=a.tooltipOptions,r=p.xDateFormat,t=this.options.milestone,d=""+(this.name||this.yCategory)+"";if(p.pointFormat)return this.tooltipFormatter(p.pointFormat);!r&&k(this.start)&&(r=a.chart.time.getDateFormat(l.closestPointRange,this.start,g,f||{}));l=a.chart.time.dateFormat(r,this.start);a=a.chart.time.dateFormat(r,this.end);d+="
";return t?d+(l+"
"): d+("Start: "+l+"
End: ")+(a+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});r(x.prototype,{pointArrayMap:["start","end","y"],pointClass:H,setData:y.prototype.setData});K.registerSeriesType("gantt",x);"";return x});M(a,"Core/Chart/GanttChart.js",[a["Core/Chart/Chart.js"],a["Core/Defaults.js"],a["Core/Utilities.js"]],function(a,z,H){const {getOptions:y}=z, {isArray:A,merge:C,splat:E}=H;class B extends a{init(a,r){const k=y(),p=a.xAxis,t=a.yAxis;let m;a.xAxis=a.yAxis=void 0;const l=C(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},a,{isGantt:!0});a.xAxis=p;a.yAxis=t;l.xAxis=(A(a.xAxis)?a.xAxis:[a.xAxis||{},{}]).map(function(a,g){1===g&&(m=0);return C(k.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:m},a,{type:"datetime"})});l.yAxis=E(a.yAxis||{}).map(function(a){return C(k.yAxis, {grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},a)});super.init(l,r)}}(function(a){a.ganttChart=function(r,k,p){return new a(r,k,p)}})(B||(B={}));return B});M(a,"Extensions/ArrowSymbols.js",[a["Core/Utilities.js"]],function(a){function y(a,y,t,r){return[["M",a,y+r/2],["L",a+t,y],["L",a,y+r/2],["L",a+t,y+r]]}function H(a,z,t,r){return y(a,z,t/2,r)}function K(a,y,t,r){return[["M",a+t,y],["L",a,y+r/2],["L",a+t,y+r],["Z"]]}function A(a,y,t,r){return K(a,y,t/2,r)}const C= [];return{compose:function(z){a.pushUnique(C,z)&&(z=z.prototype.symbols,z.arrow=y,z["arrow-filled"]=K,z["arrow-filled-half"]=A,z["arrow-half"]=H,z["triangle-left"]=K,z["triangle-left-half"]=A)}}});M(a,"Extensions/CurrentDateIndication.js",[a["Core/Utilities.js"]],function(a){function y(){const a=this.options;var k=a.currentDateIndicator;k&&(k="object"===typeof k?C(t,k):C(t),k.value=Date.now(),k.className="highcharts-current-date-indicator",a.plotLines||(a.plotLines=[]),a.plotLines.push(k))}function H(){this.label&& this.label.attr({text:this.getLabelText(this.options.label)})}function K(a,k){const p=this.options;return p&&p.className&&-1!==p.className.indexOf("highcharts-current-date-indicator")&&p.label&&"function"===typeof p.label.formatter?(p.value=Date.now(),p.label.formatter.call(this,p.value,p.label.format)):a.call(this,k)}const {addEvent:A,merge:C,wrap:E}=a,B=[],t={color:"#ccd3ff",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(a,k){return this.axis.chart.time.dateFormat(k||"",a)},rotation:0, style:{fontSize:"0.7em"}}};return{compose:function(r,k){a.pushUnique(B,r)&&A(r,"afterSetOptions",y);a.pushUnique(B,k)&&(A(k,"render",H),E(k.prototype,"getLabelText",K))}}});M(a,"masters/modules/gantt.src.js",[a["Core/Globals.js"],a["Stock/Navigator/Navigator.js"],a["Stock/Scrollbar/Scrollbar.js"],a["Stock/RangeSelector/RangeSelector.js"],a["Series/XRange/XRangeSeries.js"],a["Core/Chart/GanttChart.js"],a["Extensions/ArrowSymbols.js"],a["Extensions/CurrentDateIndication.js"]],function(a,z,H,K,A,C,E, B){a.GanttChart=C;a.ganttChart=C.ganttChart;a.Navigator=z;a.RangeSelector=K;a.Scrollbar=H;E.compose(a.SVGRenderer);B.compose(a.Axis,a.PlotLineOrBand);z.compose(a.Axis,a.Chart,a.Series);K.compose(a.Axis,a.Chart);H.compose(a.Axis);A.compose(a.Axis)});M(a,"masters/highcharts-gantt.src.js",[a["masters/highcharts.src.js"]],function(a){a.product="Highcharts Gantt";return a});a["masters/highcharts-gantt.src.js"]._modules=a;return a["masters/highcharts-gantt.src.js"]}); //# sourceMappingURL=highcharts-gantt.js.map