1import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,O as m,P as h,R as g,S as _,T as v,U as y,V as b,W as x,X as S,Y as C,Z as w,_ as T,a as E,b as D,c as O,d as k,f as A,g as j,h as M,i as N,j as P,k as ee,l as F,m as I,n as L,o as R,p as z,q as te,r as B,s as ne,t as V,u as re,v as ie,w as H,x as U,y as ae,z as W}from"./Defaults.D5D-oMrp.chunk.js";var{win:oe}=w,se=(e,t,n)=>n===0?e:n===1?t:`color-mix(in srgb,${e},${t} ${n*100}%)`,ce=e=>c(e)&&!!e&&e!==`none`,G=class e{static parse(t){return t?new e(t):e.None}constructor(t){this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let n=w.Color;if(n&&n!==e)return new n(t);let r,i,a,o;if(typeof t==`object`&&t.stops!==void 0)this.stops=t.stops.map(t=>new e(t[1]));else if(typeof t==`string`)for(this.input=t=e.names[t.toLowerCase()]||t,a=e.parsers.length;a--&&!i;)o=e.parsers[a],r=o.regex.exec(t),r&&(i=o.parse(r));i&&(this.rgba=i)}get(e){let t=this.input,n=this.rgba;if(this.output)return this.output;if(typeof t==`object`&&this.stops!==void 0){let n=d(t);return n.stops=[].slice.call(n.stops),this.stops.forEach((t,r)=>{n.stops[r]=[n.stops[r][0],t.get(e)]}),n}return n&&h(n[0])?e===`rgb`||!e&&n[3]===1?`rgb(`+n[0]+`,`+n[1]+`,`+n[2]+`)`:e===`a`?`${n[3]}`:`rgba(`+n.join(`,`)+`)`:t}brighten(t){let n=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(h(t)&&t!==0){if(h(n[0]))for(let e=0;e<3;e++)n[e]+=b(t*255),n[e]<0&&(n[e]=0),n[e]>255&&(n[e]=255);else e.useColorMix&&ce(this.input)&&(this.output=se(this.input,t>0?`white`:`black`,Math.abs(t)))}return this}setOpacity(t){return h(this.rgba[0])?this.rgba[3]=t:e.useColorMix&&ce(this.input)&&(this.output=se(this.input,`#0000`,1-t)),this}tweenTo(t,n){let r=this.rgba,i=t.rgba;if(!h(r[0])||!h(i[0]))return e.useColorMix&&ce(this.input)&&ce(t.input)&&n<.99?se(this.input,t.input,n):t.input||`none`;let a=i[3]!==1||r[3]!==1,o=(e,t)=>e+(r[t]-e)*(1-n),s=i.slice(0,3).map(o).map(Math.round);return a&&s.push(o(i[3],3)),(a?`rgba(`:`rgb(`)+s.join(`,`)+`)`}};G.names={white:`#ffffff`,black:`#000000`},G.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(e){return[b(e[1]),b(e[2]),b(e[3]),parseFloat(e[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(e){return[b(e[1]),b(e[2]),b(e[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(e){return[b(e[1]+e[1],16),b(e[2]+e[2],16),b(e[3]+e[3],16),T(e[4])?b(e[4]+e[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(e){return[b(e[1],16),b(e[2],16),b(e[3],16),T(e[4])?b(e[4],16)/255:1]}}],G.useColorMix=oe.CSS?.supports(`color`,`color-mix(in srgb,red,blue 9%)`),G.None=new G(``);var{parse:le}=G,{win:ue}=w,de=class e{constructor(e,t,n){this.pos=NaN,this.options=t,this.elem=e,this.prop=n}dSetter(){let e=this.paths,t=e?.[0],n=e?.[1],r=this.now||0,i=[];if(r===1||!t||!n)i=this.toD||[];else if(t.length===n.length&&r<1)for(let e=0;e<n.length;e++){let a=t[e],o=n[e],s=[];for(let e=0;e<o.length;e++){let t=a[e],n=o[e];h(t)&&h(n)&&(o[0]!==`A`||e!==4&&e!==5)?s[e]=t+r*(n-t):s[e]=n}i.push(s)}else i=n;this.elem.attr(`d`,i,void 0,!0)}update(){let e=this.elem,t=this.prop,n=this.now??1,r=this.options.step;this[t+`Setter`]?this[t+`Setter`]():e&&e.attr?e.element&&e.attr(t,n,void 0,!0):e&&(e.style[t]=n+(this.unit||``)),r?.call(e,n,this)}run(t,n,r){let{elem:i,options:a}=this,{complete:o,curAnim:s={}}=a,c=e=>!c.stopped&&this.step(e),l=ue.requestAnimationFrame||function(e){setTimeout(e,13)},u=()=>{for(let t=0;t<e.timers.length;t++)e.timers[t]()||e.timers.splice(t--,1);e.timers.length&&l(u)};t===n&&!i[`forceAnimate:`+this.prop]?(delete s[this.prop],o&&Object.keys(s).length===0&&o.call(i)):(this.startTime=+new Date,this.start=t,this.end=n,this.unit=r,this.now=this.start,this.pos=0,c.elem=i,c.prop=this.prop,c()&&e.timers.push(c)===1&&l(u))}step(e){let t=+new Date,n=this.options,r=this.elem,i=n.complete,a=n.duration,o=n.curAnim,s,c;return r?.attr&&!r.element?s=!1:e||t>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),o[this.prop]=!0,c=!0,W(o,function(e){e!==!0&&(c=!1)}),c&&i&&i.call(r),s=!1):(this.pos=n.easing((t-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),s=!0),s}initPath(e,t,n){let r=e.startX,i=e.endX,a=n.slice(),o=e.isArea,s=o?2:1,c=t&&n.length>t.length&&n.hasStackedCliffs,l,u,d,f,p=t?.slice();if(!p||c)return[a,a];function m(e,t){for(;e.length<u;){let n=e[0],r=t[u-e.length];if(r&&n[0]===`M`&&(e[0]=r[0]===`C`?[`C`,n[1],n[2],n[1],n[2],n[1],n[2]]:[`L`,n[1],n[2]]),e.unshift(n),o){let t=e.pop();e.push(e[e.length-1],t)}}}function g(e){for(;e.length<u;){let t=e[Math.floor(e.length/s)-1].slice();if(t[0]===`C`&&(t[1]=t[5],t[2]=t[6]),!o)e.push(t);else{let n=e[Math.floor(e.length/s)].slice();e.splice(e.length/2,0,t,n)}}}if(r&&i&&i.length){for(d=0;d<r.length;d++)if(r[d]===i[0]){l=d;break}else if(r[0]===i[i.length-r.length+d]){l=d,f=!0;break}else if(r[r.length-1]===i[i.length-r.length+d]){l=r.length-d;break}l===void 0&&(p=[])}return p.length&&h(l)&&(u=a.length+l*s,f?(m(p,a),g(a)):(m(a,p),g(p))),[p,a]}fillSetter(){e.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,le(this.start).tweenTo(le(this.end),this.pos),void 0,!0)}};de.timers=[];function fe(e,t){t.renderer.globalAnimation=e??t.options.chart.animation??!0}function K(e){return a(e)?d({duration:500,defer:0},e):{duration:e?500:0,defer:0}}function pe(e,t,n){let r=K(t),i=n?[n]:e.series,o=0,s=0;
1return i.forEach(e=>{let n=K(e.options.animation);o=a(t)&&T(t.defer)?r.defer:Math.max(o,n.duration+n.defer),s=Math.min(r.duration,n.duration)}),e.renderer.forExport&&(o=0),{defer:Math.max(0,o-s),duration:Math.min(o,s)}}function me(t,n={pos:1},r){a(r)||(r={duration:arguments[2],easing:arguments[3],complete:arguments[4]}),h(r.duration)||(r.duration=400),r.easing=typeof r.easing==`function`?r.easing:Math[r.easing]||Math.easeInOutSine,r.curAnim=d(n),W(n,(i,a)=>{t&&he(t,a);let o=new de(t,r,a),s=n.d,c=a===`dashstyle`,l=0,u,d=``;a===`d`&&f(s)?(o.paths=o.initPath(t,t.pathArray,s),o.toD=s,u=1):t?.attr?(l=t.attr(a),c&&t.attr(a,i)):t&&(l=+(e(t,a)||0),a!==`opacity`&&(d=`px`)),u||=i,typeof u==`string`&&u.match(`px`)&&(u=u.replace(/px/g,``)),T(u)&&!c&&o.run(l,u,d)})}var he=(e,t)=>de.timers.forEach(n=>{n.elem===e&&(!t||t===n.prop)&&(n.stopped=!0)}),{deg2rad:ge,doc:_e,svg:ve,SVG_NS:ye,win:be,isFirefox:xe}=w,q=class e{_defaultGetter(e){let t=this[e+`Value`]??this[e]??(this.element?this.element.getAttribute(e):null)??this.box?.[e]??0;return/^-?[\d\.]+$/.test(t)&&(t=parseFloat(t)),t}_defaultSetter(e,t,n){n.setAttribute(t,e)}add(e){let t=this.renderer,n=this.element,r;return e&&(this.parentGroup=e),this.textStr!==void 0&&this.element.nodeName===`text`&&t.buildText(this),this.added=!0,(!e||e.handleZ||this.zIndex)&&(r=this.zIndexSetter()),r||(e?e.element:t.box).appendChild(n),this.onAdd&&this.onAdd(),this}addClass(e,t){let n=t?``:this.attr(`class`)||``;return e=(e||``).split(/ /g).reduce(function(e,t){return n.indexOf(t)===-1&&e.push(t),e},n?[n]:[]).join(` `),e!==n&&this.attr(`class`,e),this}afterSetters(){this.doTransform&&=(this.updateTransform(),!1)}align(e,t,n,r=!0){let a=this.renderer,o=a.alignedObjects,l=!!e;e?(this.alignOptions=e,this.alignByTranslate=t,this.alignTo=n):(e=this.alignOptions||{},t=this.alignByTranslate,n=this.alignTo);let u=!n||c(n)?n||`renderer`:void 0;u&&(l&&s(o,this),n=void 0);let d=n??a[u]??a,f=(d.x||0)+(e.x||0)+((d.width||0)-(e.width||0))*i(e.align),p=(d.y||0)+(e.y||0)+((d.height||0)-(e.height||0))*i(e.verticalAlign),m={};return e.align&&(m[`text-align`]=e.align),m[t?`translateX`:`x`]=Math.round(f),m[t?`translateY`:`y`]=Math.round(p),r&&(this[this.placed?`animate`:`attr`](m),this.placed=!0),this.alignAttr=m,this}alignSetter(e){let t={left:`start`,center:`middle`,right:`end`};t[e]&&(this.alignValue=e,this.element.setAttribute(`text-anchor`,t[e]))}animate(e,t,n){let r=K(t??this.renderer.globalAnimation??!0),i=r.defer;return _e.hidden&&(r.duration=0),r.duration===0?(this.attr(e,void 0,n||r.complete),W(e,function(e,t){r.step&&r.step.call(this,e,{prop:t,pos:1,elem:this})},this)):(n&&(r.complete=n),l(()=>{this.element&&me(this,e,r)},i)),this}applyTextOutline(e){let t=this.element;e.indexOf(`contrast`)!==-1&&(e=e.replace(/contrast/g,this.renderer.getContrast(t.style.fill)));let n=e.indexOf(` `),r=e.substring(n+1),i=e.substring(0,n);if(i&&i!==`none`&&w.svg){this.fakeTS=!0,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(e,t,n){return 2*Number(t)+n}),this.removeTextOutline();let e=_e.createElementNS(ye,`tspan`);k(e,{class:`highcharts-text-outline`,fill:r,stroke:r,"stroke-width":i,"stroke-linejoin":`round`});let n=t.querySelector(`textPath`)||t;[].forEach.call(n.childNodes,t=>{let n=t.cloneNode(!0);n.removeAttribute&&[`fill`,`stroke`,`stroke-width`,`stroke`].forEach(e=>n.removeAttribute(e)),e.appendChild(n)});let a=0;[].forEach.call(n.querySelectorAll(`text tspan`),e=>{a+=Number(e.getAttribute(`dy`))});let o=_e.createElementNS(ye,`tspan`);o.textContent=`â`,k(o,{x:Number(t.getAttribute(`x`)),dy:-a}),e.appendChild(o),n.insertBefore(e,n.firstChild)}}attr(t,n,r,i){let{element:a}=this,o=e.symbolCustomAttribs,s,c,l=this,u,d;return typeof t==`string`&&n!==void 0&&(s=t,t={},t[s]=n),typeof t==`string`?l=(this[t+`Getter`]||this._defaultGetter).call(this,t,a):(W(t,function(e,n){u=!1,i||he(this,n),this.symbolName&&o.indexOf(n)!==-1&&(c||=(this.symbolAttr(t),!0),u=!0),this.rotation&&(n===`x`||n===`y`)&&(this.doTransform=!0),u||(d=this[n+`Setter`]||this._defaultSetter,d.call(this,e,n,a))},this),this.afterSetters()),r&&r.call(this),l}clip(e){if(e&&!e.clipPath){let t=R()+`-`,n=this.renderer.createElement(`clipPath`).attr({id:t}).add(this.renderer.defs);_(e,{clipPath:n,id:t,count:0}),e.add(n)}return this.attr(`clip-path`,e?`url(${this.renderer.url}#${e.id})`:`none`)}
1crisp(e,t){t=Math.round(t||e.strokeWidth||0);let n=e.x||this.x||0,r=e.y||this.y||0,i=(e.width||this.width||0)+n,a=(e.height||this.height||0)+r,o=M(n,t),s=M(r,t),c=M(i,t),l=M(a,t);return _(e,{x:o,y:s,width:c-o,height:l-s}),T(e.strokeWidth)&&(e.strokeWidth=t),e}complexColor(e,t,n){let r=this.renderer,i,a,o,s,c,l,u,p,m,h=[],g;v(this.renderer,`complexColor`,{args:arguments},()=>{if(e.radialGradient?a=`radialGradient`:e.linearGradient&&(a=`linearGradient`),a){if(o=e[a],c=r.gradients,l=e.stops,p=n.radialReference,f(o)&&(e[a]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:`userSpaceOnUse`}),a===`radialGradient`&&p&&!T(o.gradientUnits)&&(s=o,o=d(o,r.getRadialAttr(p,s),{gradientUnits:`userSpaceOnUse`})),W(o,function(e,t){t!==`id`&&h.push(t,e)}),W(l,function(e){h.push(e)}),h=h.join(`,`),c[h])m=c[h].attr(`id`);else{o.id=m=R();let e=c[h]=r.createElement(a).attr(o).add(r.defs);e.radAttr=s,e.stops=[],l.forEach(([t,n])=>{n.indexOf(`rgba`)===0?(i=G.parse(n),n=i.get(`rgb`),u=i.get(`a`)):u=1;let a=r.createElement(`stop`).attr({offset:t,"stop-color":n,"stop-opacity":u}).add(e);e.stops.push(a)})}g=`url(`+r.url+`#`+m+`)`,n.setAttribute(t,g),n.gradient=h,e.toString=function(){return g}}})}css(e){let t=this.styles,n={},r=this.element,i=this.renderer,a,o=!t;if(t&&W(e,function(e,r){t&&t[r]!==e&&(n[r]=e,o=!0)}),o){t&&(e=_(t,n)),e.width===null||e.width===`auto`?delete this.textWidth:r.nodeName.toLowerCase()===`text`&&e.width&&(a=this.textWidth=b(e.width)),_(this.styles,e),a&&!ve&&i.forExport&&delete e.width;let o=xe&&e.fontSize||null;o&&(h(o)||/^\d+$/.test(o))&&(e.fontSize+=`px`);let s=d(e);r.namespaceURI===this.SVG_NS&&([`textOutline`,`textOverflow`,`whiteSpace`,`width`].forEach(e=>s&&delete s[e]),s.color&&(s.fill=s.color,delete s.color)),j(r,s)}return this.added&&(this.element.nodeName===`text`&&i.buildText(this),e.textOutline&&this.applyTextOutline(e.textOutline)),this}dashstyleSetter(e){let t,n=this[`stroke-width`];if(n===`inherit`&&(n=1),e){e=e.toLowerCase();let r=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(t=r.length;t--;)r[t]=``+b(r[t])*(n??NaN);e=r.join(`,`).replace(/NaN/g,`none`),this.element.setAttribute(`stroke-dasharray`,e)}}destroy(){let e=this,{element:t={},renderer:n,stops:r}=e,i=t.ownerSVGElement;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,he(e),e.clipPath&&i){let t=e.clipPath;[].forEach.call(i.querySelectorAll(`[clip-path],[CLIP-PATH]`),function(e){e.getAttribute(`clip-path`).indexOf(t.element.id)>-1&&e.removeAttribute(`clip-path`)}),e.clipPath=t.destroy()}if(r){for(let e of r)e.destroy();r.length=0}e.safeRemoveChild(t),e.alignOptions&&U(n.alignedObjects,e),W(e,(t,n)=>{(e[n]?.parentGroup===e||[`connector`,`foreignObject`].indexOf(n)!==-1)&&e[n]?.destroy?.(),delete e[n]})}dSetter(e,t,n){f(e)&&(typeof e[0]==`string`&&(e=this.renderer.pathToSegments(e)),this.pathArray=e,e=e.reduce((e,t,n)=>t?.join?(n?e+` `:``)+t.join(` `):(t||``).toString(),``)),/(NaN| {2}|^$)/.test(e)&&(e=`M 0 0`),this[t]!==e&&(n.setAttribute(t,e),this[t]=e)}fillSetter(e,t,n){typeof e==`string`?n.setAttribute(t,e):e&&this.complexColor(e,t,n)}hrefSetter(e,t,n){n.setAttributeNS(`http://www.w3.org/1999/xlink`,t,e)}getBBox(t,n){let r=this,{element:i,renderer:a,styles:o,textStr:s}=r,{cache:c,cacheKeys:l}=a,u=i.namespaceURI===r.SVG_NS,d=n??r.rotation??0,f=a.styledMode?i&&e.prototype.getStyle.call(i,`font-size`):o.fontSize,m=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,o.fontWeight,o.lineClamp,o.textOverflow,f,d]),h,g,y;if(m&&!t&&(h=c[m]),!h||h.polygon){if(u||a.forExport){try{y=this.fakeTS&&function(e){let t=i.querySelector(`.highcharts-text-outline`);t&&j(t,{display:e})},p(y)&&y(`none`),h=i.getBBox?_({},i.getBBox()):{width:i.offsetWidth,height:i.offsetHeight,x:0,y:0},p(y)&&y(``)}catch{}(!h||h.width<0)&&(h={x:0,y:0,width:0,height:0})}else h=r.htmlGetBBox();g=h.height,u&&(h.height=g={"11px,17":14,"13px,20":16}[`${f||``},${Math.round(g)}`]||g),d&&(h=this.getRotatedBox(h,d));let e={bBox:h};v(this,`afterGetBBox`,e),h=e.bBox}if(m&&(s===``||h.height>0)){for(;l.length>250;)delete c[l.shift()];c[m]||l.push(m),c[m]=h}return h}getBBoxCacheKey(e){if(T(this.textStr)){let t=``+this.textStr;return t.indexOf(`<`)===-1&&(t=t.replace(/\d/g,`0`)),[t,...e].join(`,`)}}getRotatedBox(e,t){let{x:n,y:r,width:a,height:o}=e,{alignValue:s,translateY:c,rotationOriginX:l=0,rotationOriginY:u=0}=this,d=i(s),f=Number(this.element.getAttribute(`y`)||0)-(c?0:r),p=t*ge,m=(t-90)*ge,h=Math.cos(p),g=Math.sin(p),_=a*h,v=a*g,y=Math.cos(m),b=Math.sin(m),[[x,S],[C,w]]=[l,u].map(e=>[e-e*h,e*g]),T=n+d*(a-_)+x+w,E=r+f-d*v-S+C,D=T+f*y,O=D+_,k=O-o*y,A=k-_,j=E+f*b,M=j+v,N=M-o*b,P=N-v,ee=Math.min(D,O,k,A),F=Math.min(j,M,N,P);return{x:ee,y:F,width:Math.max(D,O,k,A)-ee,height:Math.max(j,M,N,P)-F,polygon:[[D,j],[O,M],[k,N],[A,P]]}}getStyle(e){return be.getComputedStyle(this.element||this,``).getPropertyValue(e)}hasClass(e){return(``+this.attr(`class`)).split(` `).indexOf(e)!==-1}hide(){return this.attr({visibility:`hidden`})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(e,t){this.onEvents={},this.opacity=1,this.SVG_NS=ye,this.element=t===`div`||t===`body`?I(t):_e.createElementNS(this.SVG_NS,t),this.renderer=e,this.styles={},v(this,`afterInit`)}on(e,t){let{onEvents:n}=this;
1return n[e]&&n[e](),n[e]=O(this.element,e,t),this}opacitySetter(e,t,n){let r=Number(Number(e).toFixed(3));this.opacity=r,n.setAttribute(t,r)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!==`left`&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(e){return this.attr(`class`,(``+this.attr(`class`)).replace(c(e)?RegExp(`(^| )${e}( |$)`):e,` `).replace(/ +/g,` `).trim())}removeTextOutline(){let e=this.element.querySelector(`tspan.highcharts-text-outline`);e&&this.safeRemoveChild(e)}safeRemoveChild(e){let t=e.parentNode;t&&t.removeChild(e)}setRadialReference(e){let t=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=e,t?.radAttr&&t.animate(this.renderer.getRadialAttr(e,t.radAttr)),this}shadow(e){let{renderer:t}=this,n=d(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},a(e)?e:{}),r=t.shadowDefinition(n);return this.attr({filter:e?`url(${t.url}#${r})`:`none`})}show(e=!0){return this.attr({visibility:e?`inherit`:`visible`})}"stroke-widthSetter"(e,t,n){this[t]=e,n.setAttribute(t,e)}strokeWidth(){if(!this.renderer.styledMode)return this[`stroke-width`]||0;let e=this.getStyle(`stroke-width`),t=0,n;return/px$/.test(e)?t=b(e):e!==``&&(n=_e.createElementNS(ye,`rect`),k(n,{width:e,"stroke-width":0}),this.element.parentNode.appendChild(n),t=n.getBBox().width,n.parentNode.removeChild(n)),t}symbolAttr(t){let n=this;e.symbolCustomAttribs.forEach(function(e){n[e]=t[e]??n[e]}),n.attr({d:n.renderer.symbols[n.symbolName](n.x,n.y,n.width,n.height,n)})}textSetter(e){e!==this.textStr&&(delete this.textPxLength,this.textStr=e,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(e){let t=this.element,n=t.getElementsByTagName(`title`)[0]||_e.createElementNS(this.SVG_NS,`title`);t.insertBefore?t.insertBefore(n,t.firstChild):t.appendChild(n),n.textContent=o(e??``,[/<[^>]*>/g,``]).replace(/</g,`<`).replace(/>/g,`>`)}toFront(){let e=this.element;return e.parentNode.appendChild(e),this}translate(e,t){return this.attr({translateX:e,translateY:t})}updateTransform(e=`transform`){let{element:t,foreignObject:n,matrix:r,rotation:i=0,rotationOriginX:a,rotationOriginY:o,scaleX:s,scaleY:c,text:l,translateX:u=0,translateY:d=0}=this,f=[`translate(${u},${d})`];T(r)&&f.push(`matrix(`+r.join(`,`)+`)`),i&&f.push(`rotate(`+i+` `+(a??t.getAttribute(`x`)??this.x??0)+` `+(o??t.getAttribute(`y`)??this.y??0)+`)`),(T(s)||T(c))&&f.push(`scale(${s??1} ${c??1})`),f.length&&!(l||this).textPath&&(n?.element||t).setAttribute(e,f.join(` `))}visibilitySetter(e,t,n){e===`inherit`?n.removeAttribute(t):this[t]!==e&&n.setAttribute(t,e),this[t]=e}xGetter(e){return this.element.nodeName===`circle`&&(e===`x`?e=`cx`:e===`y`&&(e=`cy`)),this._defaultGetter(e)}zIndexSetter(e,t){let{element:n,parentGroup:r,renderer:i}=this,a=r?.element||i.box,o=a===i.box,s,c,l,u=!1,d,f=this.added,p;if(T(e)?(n.setAttribute(`data-z-index`,e),e=+e,this[t]===e&&(f=!1)):T(this[t])&&n.removeAttribute(`data-z-index`),this[t]=e,f){for(e=this.zIndex,e&&r&&(r.handleZ=!0),s=a.childNodes,p=s.length-1;p>=0&&!u;p--)c=s[p],l=c.getAttribute(`data-z-index`),d=!T(l),c!==n&&(T(e)&&e<0&&d&&!o&&!p?(a.insertBefore(n,s[p]),u=!0):(T(e)&&parseFloat(l||``)<=e||d&&(!T(e)||e>=0))&&(a.insertBefore(n,s[p+1]),u=!0));u||=(a.insertBefore(n,s[o?3:0]),!0)}return u}};q.symbolCustomAttribs=[`anchorX`,`anchorY`,`clockwise`,`end`,`height`,`innerR`,`r`,`start`,`width`,`x`,`y`],q.prototype.strokeSetter=q.prototype.fillSetter,q.prototype.yGetter=q.prototype.xGetter,q.prototype.matrixSetter=q.prototype.rotationOriginXSetter=q.prototype.rotationOriginYSetter=q.prototype.rotationSetter=q.prototype.scaleXSetter=q.prototype.scaleYSetter=q.prototype.translateXSetter=q.prototype.translateYSetter=q.prototype.verticalAlignSetter=function(e,t){this[t]=e,this.doTransform=!0};var{SVG_NS:Se,win:Ce}=w,{trustedTypes:we}=Ce,Te=we&&p(we.createPolicy)&&we.createPolicy(`highcharts`,{createHTML:e=>e}),Ee=Te?Te.createHTML(``):``,J=class e{static filterUserAttributes(t){return W(t,(n,r)=>{let i=!0;e.allowedAttributes.indexOf(r)===-1&&(i=!1),[`background`,`dynsrc`,`href`,`lowsrc`,`src`,`xlink:href`].indexOf(r)!==-1&&(i=c(n)&&e.allowedReferences.some(e=>n.indexOf(e)===0)),i||(B(33,!1,void 0,{"Invalid attribute in config":`${r}`}),delete t[r]),c(n)&&t[r]&&(t[r]=n.replace(/</g,`<`))}),t}static parseStyle(e){return e.split(`;`).reduce((e,t)=>
1{let n=t.split(`:`).map(e=>e.trim()),r=n.shift();return r&&n.length&&(e[r.replace(/-([a-z])/g,e=>e[1].toUpperCase())]=n.join(`:`)),e},{})}static setElementHTML(t,n){t.innerHTML=e.emptyHTML,n&&new e(n).addToDOM(t)}constructor(e){this.nodes=typeof e==`string`?this.parseMarkup(e):e}addToDOM(t){function n(t,r){let i;return u(t).forEach(function(t){let a=t.tagName,o=t.textContent?w.doc.createTextNode(t.textContent):void 0,s=e.bypassHTMLFiltering,c;if(a){if(a===`#text`)c=o;else if(e.allowedTags.indexOf(a)!==-1||s){let i=a===`svg`?Se:r.namespaceURI||Se,l=w.doc.createElementNS(i,a),u=t.attributes||{};W(t,function(e,t){t!==`tagName`&&t!==`attributes`&&t!==`children`&&t!==`style`&&t!==`textContent`&&(u[t]=e)}),k(l,s?u:e.filterUserAttributes(u)),t.style&&j(l,t.style),o&&l.appendChild(o),n(t.children||[],l),c=l}else B(33,!1,void 0,{"Invalid tagName in config":a})}c&&r.appendChild(c),i=c}),i}return n(this.nodes,t)}parseMarkup(t){let n=[];t=t.trim().replace(/ style=(["'])/g,` data-style=$1`);let r;try{r=new DOMParser().parseFromString(Te?Te.createHTML(t):t,`text/html`)}catch{try{r=new DOMParser().parseFromString(t,`text/html`)}catch{}}r||(r=w.doc.implementation.createHTMLDocument(``),r.body.innerHTML=t);let i=(t,n)=>{let r=t.localName||t.nodeName.toLowerCase(),a={tagName:r};r===`#text`&&(a.textContent=t.textContent||``);let o=t.attributes;if(o){let t={};[].forEach.call(o,n=>{n.name===`data-style`?a.style=e.parseStyle(n.value):t[n.name]=n.value}),a.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{i(t,e)}),e.length&&(a.children=e)}n.push(a)};return[].forEach.call(r.body.childNodes,e=>i(e,n)),n}};J.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.aria-sort.class.clip-path.color.colspan.cx.cy.d.disabled.dx.dy.fill.filterUnits.flood-color.flood-opacity.height.href.id.in.in2.markerHeight.markerWidth.offset.opacity.operator.orient.padding.paddingLeft.paddingRight.patternUnits.r.radius.refX.refY.result.role.rowspan.scope.slope.src.startOffset.stdDeviation.stop-color.stop-opacity.stroke-linecap.stroke-width.stroke.style.summary.tabindex.tableValues.target.text-align.text-anchor.textAnchor.textLength.title.type.valign.width.x.x1.x2.xlink:href.y.y1.y2.zIndex`.split(`.`),J.allowedReferences=[`https://`,`http://`,`mailto:`,`/`,`../`,`./`,`#`],J.allowedTags=`#text.a.abbr.b.br.button.caption.circle.clipPath.code.dd.defs.div.dl.dt.em.feComponentTransfer.feComposite.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feMerge.feMergeNode.feMorphology.feOffset.filter.h1.h2.h3.h4.h5.h6.hr.i.img.li.linearGradient.marker.ol.p.path.pattern.pre.rect.small.span.stop.strong.sub.sup.svg.table.tbody.td.text.textPath.th.thead.title.tr.tspan.u.ul`.split(`.`),J.emptyHTML=Ee,J.bypassHTMLFiltering=!1;var{charts:De}=w,Oe=[`#2caffe`,`#544fc5`,`#00e272`,`#fe6a35`,`#6b8abc`,`#d568fb`,`#2ee0ca`,`#fa4b42`,`#feb56a`,`#91e8e1`],ke=[null,`#00e272`,`#efdf00`],Ae=(e,t)=>{let n=e=>{let n=``;return W(t.light,(r,i)=>{n+=e&&r!==t.dark[i]?` ${i}: light-dark(${r}, ${t.dark[i]});\n`:` ${i}: ${r};\n`}),n},r=n(),i=n(!0);return`${e||`:root`} { 2${r} 3} 4@supports (color: light-dark(#fff, #000)) { 5 ${e||`:root`} { 6${i} 7 } 8} 9.highcharts-container { 10 color-scheme: light dark; 11} 12.highcharts-light .highcharts-container { 13 color-scheme: light; 14} 15.highcharts-dark .highcharts-container { 16 color-scheme: dark; 17}`},je=class{constructor(e,t){this.defaultOptions=S,this.options=d(S),this.cssVars={light:{},dark:{}},this.renderer=e,this.update(t)}injectCSS(e){let{cssVars:t,renderer:n}=this,r=Object.keys(ae(e,this.defaultOptions)).length>0,i=Math.max(e.colors?.length||0,Oe.length),a=`light`,o=(e,n)=>{c(e)&&(n=n.replace(/([0-9]+)/g,`-$1`).replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),t[a][`--highcharts-${n}`]=e)};for(let n of[`light`,`dark`]){let r=e[n]||{},s={},c=new G(r?.neutralColor||``),l=new G(r?.backgroundColor||``),u=new G(r?.highlightColor||``);a=n,[3,5,10,20,40,60,80,100].forEach(e=>{s[`neutralColor${e}`]=l.tweenTo(c,e/100),s[`highlightColor${e}`]=l.tweenTo(u,e/100)});for(let t=0;t<i;t++)o(r?.colors?.[t]||e.colors?.[t]||(n===`dark`?ke:[])?.[t]||Oe[t]||`#888a`,`color${t}`);W(r,o),W(s,o),n===`light`&&_(t.dark,t.light)}let s=n.defs.element,l=r?`*[data-highcharts-chart="${n.chartIndex}"]`:``,u=s.querySelector(`style.highcharts-palette`)||n.box.ownerDocument.createElement(`style`);u.parentNode||(u.nonce=`highcharts`,u.className=`highcharts-palette`,s.appendChild(u)),u.textContent=Ae(l,t)}update(e){let t=this.renderer.box.parentElement,n=De?.[this.renderer.chartIndex];e=d(!0,this.options,e),n&&(n.options.palette=e),e.injectCSS!==!1&&this.injectCSS(e),t&&(c(e.colorScheme)&&[`light`,`dark`,`inherit`].includes(e.colorScheme)?t.style.colorScheme=e.colorScheme:t.style.removeProperty(`color-scheme`))}},Me=class e extends q{constructor(t,n,r,i,a,o,s,c,l,u){super(t,`g`),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=n,this.x=r,this.y=i,this.anchorX=o,this.anchorY=s,this.baseline=l,this.className=u,this.addClass(u===`button`?`highcharts-no-tooltip`:`highcharts-label`),u&&this.addClass(`highcharts-`+u),this.text=t.text(void 0,0,0,c).attr({zIndex:1});let d;typeof a==`string`&&(d=/^url\((.*?)\)$/.test(a),(d||this.renderer.symbols[a])&&(this.symbolKey=a)),this.bBox=e.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(e){let t=i(e);this.textAlign=e,t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&h(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(e,t){this.anchorX=e,this.boxAttr(t,Math.round(e)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(e,t){this.anchorY=e,this.boxAttr(t,e-this.ySetting)}boxAttr(e,t){this.box?this.box.attr(e,t):this.deferredAttr[e]=t}css(t){if(t){let n={};
17t=d(t),e.textProps.forEach(e=>{t[e]!==void 0&&(n[e]=t[e],delete t[e])}),this.text.css(n),`fontSize`in n||`fontWeight`in n||`width`in n?this.updateTextPadding():`textOverflow`in n&&this.updateBoxSize(),`color`in n&&this.updateBackground()}return q.prototype.css.call(this,t)}destroy(){x(this.element,`mouseenter`),x(this.element,`mouseleave`),this.text&&this.text.destroy(),this.box&&=this.box.destroy(),q.prototype.destroy.call(this)}fillSetter(e,t){e&&(this.needsBox=!0),this.fill=e,this.boxAttr(t,e)}getBBox(e,t){(this.textStr&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:n,height:r=0,translateX:i=0,translateY:a=0,width:o=0}=this,s=this.paddingLeft??n,c=t??(this.rotation||0),l={width:o,height:r,x:i+this.bBox.x-s,y:a+this.bBox.y-n+this.baselineOffset};return c&&(l=this.getRotatedBox(l,c)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this[`stroke-width`]?parseInt(this[`stroke-width`],10):0)%2/2}heightSetter(e){this.heightSetting=e,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&=(this.updateBoxSize(),!1),this.updateBackgroun
17d()}onAdd(){this.text.add(this),this.attr({text:this.textStr??``,x:this.x||0,y:this.y||0}),this.box&&T(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(e,t){h(e)?e!==this[t]&&(this[t]=e,this.updateTextPadding()):this[t]=void 0}rSetter(e,t){this.boxAttr(t,e)}strokeSetter(e,t){this.stroke=e,this.boxAttr(t,e)}"stroke-widthSetter"(e,t){e&&(this.needsBox=!0),this[`stroke-width`]=e,this.boxAttr(t,e)}"text-alignSetter"(e){this.textAlign=this[`text-align`]=e,this.updateTextPadding()}textSetter(e){e!==void 0&&this.text.attr({text:e}),this.updateTextPadding(),this.reAlign()}updateBackground(){this.fill===`contrast`&&this.box?.attr({fill:this.renderer.getContrast(this.text.styles.color||`#000`),"fill-opacity":.65})}updateBoxSize(){let t=this.text,n={},r=this.padding,i=this.bBox=(!h(this.widthSetting)||!h(this.heightSetting)||this.textAlign)&&T(t.textStr)?t.getBBox(void 0,0):e.emptyBBox,a;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||i.height||0)+2*r;let o=this.renderer.fontMetrics(t);if(this.baselineOffset=r+Math.min((this.text.firstLineMetrics||o).b,i.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!t.textPath){if(!this.box){let e=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();e.addClass((this.className===`button`?``:`highcharts-label-box`)+(this.className?` highcharts-`+this.className+`-box`:``)),e.add(this)}a=this.getCrispAdjust(),n.x=a,n.y=(this.baseline?-this.baselineOffset:0)+a,n.width=Math.round(this.width),n.height=Math.round(this.height),this.box.attr(_(n,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let e=this.text,t=e.styles.textAlign||this.textAlign;if(!e.textPath){this.updateBoxSize();let n=this.baseline?0:this.baselineOffset,r=(this.paddingLeft??this.padding)+i(t)*(this.widthSetting??this.bBox.width);(r!==e.x||n!==e.y)&&(e.attr({align:t,x:r}),n!==void 0&&e.attr(`y`,n)),e.x=r,e.y=n}}widthSetter(e){this.widthSetting=h(e)?e:void 0,this.doUpdate=!0}getPaddedWidth(){let e=this.padding,t=this.paddingLeft??e,n=this.paddingRight??e;return(this.widthSetting||this.bBox.width||0)+t+n}xSetter(e){this.x=e,this.alignFactor&&(e-=this.alignFactor*this.getPaddedWidth(),this[`forceAnimate:x`]=!0),this.anchorX&&(this[`forceAnimate:anchorX`]=!0),this.xSetting=Math.round(e),this.attr(`translateX`,this.xSetting)}ySetter(e){this.anchorY&&(this[`forceAnimate:anchorY`]=!0),this.ySetting=this.y=Math.round(e),this.attr(`translateY`,this.ySetting)}};Me.emptyBBox={width:0,height:0,x:0,y:0},Me.textProps=[`color`,`direction`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`lineClamp`,`lineHeight`,`textAlign`,`textDecoration`,`textOutline`,`textOverflow`,`whiteSpace`,`width`];function Ne(e,t,n,r,i){let a=[];if(i){let o=i.start||0,s=i.end||0,c=i.r??n,l=i.r??(r||n),u=1e-4,d=Math.abs(s-o-2*Math.PI)<u;d&&(o=Math.PI/2,s=Math.PI*2.5-u);let f=i.innerR,p=i.open??d,m=d?0:Math.cos(o),h=d?1:Math.sin(o),g=d?0:Math.cos(s),_=d?1:Math.sin(s),v=i.longArc??(s-o-Math.PI<u?0:1),y=[`A`,c,l,0,v,i.clockwise??1,e+(d?.001:c*g),t+l*_];y.params={start:o,end:s,cx:e,cy:t},a.push([`M`,e+c*m,t+l*h],y),T(f)&&(y=[`A`,f,f,0,v,T(i.clockwise)?1-i.clockwise:0,e+(d?-.001:f*m),t+f*h],y.params={start:s,end:o,cx:e,cy:t},a.push(p?[`M`,e+f*g,t+f*_]:[`L`,e+f*g,t+f*_],y)),p||a.push([`Z`])}return a}function Pe(e,t,n,r,i){let a=i?.arrowLength??6,o=Math.min(i?.r||0,n,r),s=o+6,c=i?.anchorX,l=i?.anchorY||0,u=Re(e,t,n,r,{r:o});if(!h(c)||c<n&&c>0&&l<r&&l>0)return u;if(e+c>n-s){if(l>t+s&&l<t+r-s)u.splice(3,1,[`L`,e+n,l-6],[`L`,e+n+a,l],[`L`,e+n,l+6],[`L`,e+n,t+r-o]);else if(c<n){let i=l<t+s,a=i?t:t+r,d=i?2:5;u.splice(d,0,[`L`,c,l],[`L`,e+n-o,a])}else u.splice(3,1,[`L`,e+n,r/2],[`L`,c,l],[`L`,e+n,r/2],[`L`,e+n,t+r-o])}else if(e+c<s){if(l>t+s&&l<t+r-s)u.splice(7,1,[`L`,e,l+6],[`L`,e-a,l],[`L`,e,l-6],[`L`,e,t+o]);else if(c>0){let n=l<t+s,i=n?t:t+r,a=n?1:6;u.splice(a,0,[`L`,c,l],[`L`,e+o,i])}else u.splice(7,1,[`L`,e,r/2],[`L`,c,l],[`L`,e,r/2],[`L`,e,t+o])}else l>r&&c<n-s?u.splice(5,1,[`L`,c+6,t+r],[`L`,c,t+r+a],[`L`,c-6,t+r],[`L`,e+o,t+r]):l<0&&c>s&&u.splice(1,1,[`L`,c-6,t],[`L`,c,t-a],[`L`,c+6,t],[`L`,n-o,t]);return u}function Fe(e,t,n,r){return Ne(e+n/2,t+r/2,n/2,r/2,{start:Math.PI*.5,end:Math.PI*2.5,open:!1})}function Ie(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r/2],[`L`,e+n/2,t+r],[`L`,e,t+r/2],[`Z`]]}function Le(e,t,n,r,i){return i?.r?Re(e,t,n,r,i):[[`M`,e,t],[`L`,e+n,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]}function Re(e,t,n,r,i){let a=i?.r||0;return[[`M`,e+a,t],[`L`,e+n-a,t],[`A`,a,a,0,0,1,e+n,t+a],[`L`,e+n,t+r-a],[`A`,a,a,0,0,1,e+n-a,t+r],[`L`,e+a,t+r],[`A`,a,a,0,0,1,e,t+r-a],[`L`,e,t+a],[`A`,a,a,0,0,1,e+a,t],[`Z`]]}function ze(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]}function Be(e,t,n,r){return[[`M`,e,t],[`L`,e+n,t],[`L`,e+n/2,t+r],[`Z`]]}var Ve={arc:Ne,callout:Pe,circle:Fe,diamond:Ie,rect:Le,roundedRect:Re,square:Le,triangle:ze,"triangle-down":Be},{doc:He,SVG_NS:Ue,win:We}=w,Ge=(e,t)=>
17e.substring(0,t)+`â¦`,Ke=class{constructor(e){let t=e.styles;this.renderer=e.renderer,this.svgElement=e,this.width=e.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow===`ellipsis`,this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace===`nowrap`}buildSVG(){let e=this.svgElement,t=e.element,n=e.renderer,r=(e.textStr??``).toString(),i=r.indexOf(`<`)!==-1,a=t.childNodes,o=!e.added&&n.box,s=/<br.*?>/g,l=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle(`font-size`),e.styles.lineClamp,this.width].join(`,`);if(l!==e.textCache){e.textCache=l,delete e.actualWidth;for(let e=a.length;e--;)t.removeChild(a[e]);if(!i&&!this.ellipsis&&!this.width&&!e.textPath&&(r.indexOf(` `)===-1||this.noWrap&&!s.test(r)))t.appendChild(He.createTextNode(this.unescapeEntities(r)));else if(r!==``){o&&o.appendChild(t);let n=new J(r);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||``).indexOf(`â¦`)!==-1&&e.attr(`title`,this.unescapeEntities(e.textStr||``,[`<`,`>`])),o&&o.removeChild(t)}c(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let e=this.svgElement,t=k(e.element,`x`);e.firstLineMetrics=void 0;let n;for(;(n=e.element.firstChild)&&/^[\s\u200B]*$/.test(n.textContent||` `);)e.element.removeChild(n);[].forEach.call(e.element.querySelectorAll(`tspan.highcharts-br`),(n,r)=>{n.nextSibling&&n.previousSibling&&(r===0&&n.previousSibling.nodeType===1&&(e.firstLineMetrics=e.renderer.fontMetrics(n.previousSibling)),k(n,{dy:this.getLineHeight(n.nextSibling),x:t}))});let r=this.width||0;if(!r)return;let i=(n,i)=>{let a=n.textContent||``,o=a.replace(/([^\^])-/g,`$1- `).split(` `),s=!this.noWrap&&(o.length>1||e.element.childNodes.length>1),c=this.getLineHeight(i),l=Math.max(0,r-.8*c),u=0,d=e.actualWidth;if(s){let a=[],s=[];for(;i.firstChild&&i.firstChild!==n;)s.push(i.firstChild),i.removeChild(i.firstChild);for(;o.length;)if(o.length&&!this.noWrap&&u>0&&(a.push(n.textContent||``),n.textContent=o.join(` `).replace(/- /g,`-`)),this.truncate(n,void 0,o,u===0&&d||0,r,l,(e,t)=>o.slice(0,t).join(` `).replace(/- /g,`-`)),d=e.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){o.length&&(this.truncate(n,n.textContent||``,void 0,0,r,l,Ge),n.textContent&&=n.textContent?.replace(`â¦`,``)+`â¦`);break}s.forEach(e=>{i.insertBefore(e,n)}),a.forEach(e=>{i.insertBefore(He.createTextNode(e),n);let r=He.createElementNS(Ue,`tspan`);r.textContent=`â`,k(r,{dy:c,x:t}),i.insertBefore(r,n)})}else this.ellipsis&&a&&this.truncate(n,a,void 0,0,r,l,Ge)},a=(t=>{[].slice.call(t.childNodes).forEach(n=>{n.nodeType===We.Node.TEXT_NODE?i(n,t):(n.className.baseVal.indexOf(`highcharts-br`)!==-1&&(e.actualWidth=0),a(n))})});a(e.element)}getLineHeight(e){let t=e.nodeType===We.Node.TEXT_NODE?e.parentElement:e;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(e){let t=(n,r)=>{let{attributes:i={},children:a,style:o={},tagName:s}=n,c=this.renderer.styledMode;if(s===`b`||s===`strong`?c?i.class=`highcharts-strong`:o.fontWeight=`bold`:(s===`i`||s===`em`)&&(c?i.class=`highcharts-emphasized`:o.fontStyle=`italic`),o?.color&&(o.fill=o.color),s===`br`){i.class=`highcharts-br`,n.textContent=`â`;let t=e[r+1];t?.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,``))}else s===`a`&&a&&a.some(e=>e.tagName===`#text`)&&(n.children=[{children:a,tagName:`tspan`}]);s!==`#text`&&s!==`a`&&(n.tagName=`tspan`),_(n,{attributes:i,style:o}),a&&a.filter(e=>e.tagName!==`#text`).forEach(t)};e.forEach(t),v(this.svgElement,`afterModifyTree`,{nodes:e})}truncate(e,t,n,r,i,a,o){let s=this.svgElement,{rotation:c}=s,l=[],u=n&&!r?1:0,d=(t||n||``).length,f=d,p,m;n||(i=a);let h=function(t,i){let a=i||t,o=e.parentNode;if(o&&l[a]===void 0&&o.getSubStringLength)try{l[a]=r+o.getSubStringLength(0,n?a+1:a)}catch{}return l[a]};if(s.rotation=0,m=h(e.textContent.length),r+m>i){for(;u<=d;)f=Math.ceil((u+d)/2),n&&(p=o(n,f)),m=h(f,p&&p.length-1),u===d?u=d+1:m>i?d=f-1:u=f;d===0?e.textContent=``:t&&d===t.length-1||(e.textContent=p||o(t||n,f)),this.ellipsis&&m>i&&this.truncate(e,e.textContent||``,void 0,0,i,a,Ge)}
17n&&n.splice(0,f),s.actualWidth=m,s.rotation=c}unescapeEntities(e,t){return W(this.renderer.escapes,function(n,r){(!t||t.indexOf(n)===-1)&&(e=e.toString().replace(new RegExp(n,`g`),r))}),e}},{defaultOptions:qe}=V,{charts:Je,deg2rad:Ye,doc:Xe,isFirefox:Ze,isMS:Qe,isWebKit:$e,noop:et,SVG_NS:tt,symbolSizes:nt,win:rt}=w,it,at=class{constructor(e,t,n,r,i,a,o,s,c){this.x=0,this.y=0;let l=this,u=l.createElement(`svg`).attr({version:`1.1`,class:`highcharts-root`}),d=u.element;e.appendChild(d),k(e,`dir`,`ltr`),e.innerHTML.indexOf(`xmlns`)===-1&&k(d,`xmlns`,this.SVG_NS),this.box=d,this.boxWrapper=u,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement(`desc`).add().element.appendChild(Xe.createTextNode(`Created with Highcharts 13.1.1`)),this.defs=this.createElement(`defs`).add(),this.allowHTML=a,this.forExport=i,this.styledMode=o,this.chartIndex=c||0,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=u.getStyle(`font-size`),l.setSize(t,n,!1),o||(u.css(this.getStyle(r||{})),this.palette=new je(this,s||qe.palette));let f,p;Ze&&e.getBoundingClientRect&&(f=function(){j(e,{left:0,top:0}),p=e.getBoundingClientRect(),j(e,{left:Math.ceil(p.left)-p.left+`px`,top:Math.ceil(p.top)-p.top+`px`})},f(),l.unSubPixelFix=O(rt,`resize`,f))}definition(e){return new J([e]).addToDOM(this.defs.element)}getReferenceURL(){if((Ze||$e)&&Xe.getElementsByTagName(`base`).length){if(!T(it)){let e=R(),t=new J([{tagName:`svg`,attributes:{width:8,height:8},children:[{tagName:`defs`,children:[{tagName:`clipPath`,attributes:{id:e},children:[{tagName:`rect`,attributes:{width:4,height:4}}]}]},{tagName:`rect`,attributes:{id:`hitme`,width:8,height:8,"clip-path":`url(#${e})`,fill:`rgba(0,0,0,0.001)`}}]}]).addToDOM(Xe.body);j(t,{position:`fixed`,top:0,left:0,zIndex:9e5}),it=Xe.elementFromPoint(6,6)?.id===`hitme`,Xe.body.removeChild(t)}if(it)return o(rt.location.href.split(`#`)[0],[/<[^>]*>/g,``],[/([\('\)])/g,`\\$1`],[/ /g,`%20`])}return``}getStyle(e){return this.style=_({fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif`,fontSize:`1rem`},e),this.style}setStyle(e){this.boxWrapper.css(this.getStyle(e))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let e=this,t=e.defs;return e.box=null,e.boxWrapper=e.boxWrapper.destroy(),ie(e.gradients||{}),e.gradients=null,e.defs=t.destroy(),e.unSubPixelFix&&e.unSubPixelFix(),e.alignedObjects.length=0,null}createElement(e){return new this.Element(this,e)}getRadialAttr(e,t){return{cx:e[0]-e[2]/2+(t.cx||0)*e[2],cy:e[1]-e[2]/2+(t.cy||0)*e[2],r:(t.r||0)*e[2]}}shadowDefinition(e){let t=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(e).map(t=>`${t}-${e[t]}`)].join(`-`).toLowerCase().replace(/[^a-z\d\-]/g,``),n=d({color:`#000000`,offsetX:0,offsetY:2,opacity:.05,width:6},e);return this.defs.element.querySelector(`#${t}`)||this.definition({tagName:`filter`,attributes:{id:t,filterUnits:n.filterUnits},children:this.getShadowFilterContent(n)}),t}getShadowFilterContent(e){return[{tagName:`feDropShadow`,attributes:{dx:e.offsetX,dy:e.offsetY,"flood-color":e.color,"flood-opacity":Math.min(e.opacity*5,1),stdDeviation:e.width/2}}]}buildText(e){new Ke(e).buildSVG()}getContrast(e){if(e===`transparent`)return`#000000`;let t=G.parse(e).rgba;if(h(t[0])||!G.useColorMix){let e=t.map(e=>{let t=e/255;return t<=.04?t/12.92:((t+.055)/1.055)**2.4}),n=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(n+.05)>(n+.05)/.05?`#FFFFFF`:`#000000`}return`color(from `+e+` srgb clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1))`}button(e,t,n,r,i={},o,s,c,l,u){let f=this.label(e,t,n,l,void 0,void 0,u,void 0,`button`),p=this.styledMode,m=arguments,h=0;i=d(qe.global.buttonTheme,i),p&&(delete i.fill,delete i.stroke,delete i[`stroke-width`]);let g=i.states||{},v=i.style||{};delete i.states,delete i.style;let y=[J.filterUserAttributes(i)],b=[v];return p||[`hover`,`select`,`disabled`].forEach((e,t)=>{y.push(d(y[0],J.filterUserAttributes(m[t+5]||g[e]||{}
17))),b.push(y[t+1].style),delete y[t+1].style}),O(f.element,Qe?`mouseover`:`mouseenter`,function(){h!==3&&f.setState(1)}),O(f.element,Qe?`mouseout`:`mouseleave`,function(){h!==3&&f.setState(h)}),f.setState=(e=0)=>{if(e!==1&&(f.state=h=e),f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(`highcharts-button-`+[`normal`,`hover`,`pressed`,`disabled`][e]),!p){f.attr(y[e]);let t=b[e];a(t)&&f.css(t)}},f.attr(y[0]),p||(f.css(_({cursor:`default`},v)),u&&f.text.css({pointerEvents:`none`})),f.on(`touchstart`,e=>e.stopPropagation()).on(`click`,function(e){h!==3&&r?.call(f,e)})}crispLine(e,t){let[n,r]=e;return T(n[1])&&n[1]===r[1]&&(n[1]=r[1]=M(n[1],t)),T(n[2])&&n[2]===r[2]&&(n[2]=r[2]=M(n[2],t)),e}path(e){let t=this.styledMode?{}:{fill:`none`};return f(e)?t.d=e:a(e)&&_(t,e),this.createElement(`path`).attr(t)}circle(e,t,n){let r=a(e)?e:e===void 0?{}:{x:e,y:t,r:n},i=this.createElement(`circle`);return i.xSetter=i.ySetter=function(e,t,n){n.setAttribute(`c`+t,e)},i.attr(r)}arc(e,t,n,r,i,o){let s;a(e)?(s=e,t=s.y,n=s.r,r=s.innerR,i=s.start,o=s.end,e=s.x):s={innerR:r,start:i,end:o};let c=this.symbol(`arc`,e,t,n,n,s);return c.r=n,c}rect(e,t,n,r,i,o){let s=a(e)?e:e===void 0?{}:{x:e,y:t,r:i,width:Math.max(n||0,0),height:Math.max(r||0,0)},c=this.createElement(`rect`);return this.styledMode||(o!==void 0&&(s[`stroke-width`]=o,_(s,c.crisp(s))),s.fill=`none`),c.rSetter=function(e,t,n){c.r=e,k(n,{rx:e,ry:e})},c.rGetter=function(){return c.r||0},c.attr(s)}roundedRect(e){return this.symbol(`roundedRect`).attr(e)}setSize(e,t,n){let r=this;r.width=e,r.height=t,r.boxWrapper.animate({width:e,height:t},{step:function(){this.attr({viewBox:`0 0 `+this.attr(`width`)+` `+this.attr(`height`)})},duration:n??!0?void 0:0}),r.alignElements()}g(e){let t=this.createElement(`g`);return e?t.attr({class:`highcharts-`+e}):t}image(e,t,n,r,i,a){let o={preserveAspectRatio:`none`};h(t)&&(o.x=t),h(n)&&(o.y=n),h(r)&&(o.width=r),h(i)&&(o.height=i);let s=this.createElement(`image`).attr(o),c=function(t){s.attr({href:e}),a.call(s,t)};if(a){s.attr({href:`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`});let t=new rt.Image;O(t,`load`,c),t.src=e,t.complete&&c({})}else s.attr({href:e});return s}symbol(e,t,n,r,i,a){let o=this,s=/^url\((.*?)\)$/,c=s.test(e),l=!c&&(this.symbols[e]?e:`circle`),u=l&&this.symbols[l],d,f,p,m;if(u)typeof t==`number`&&(f=u.call(this.symbols,t||0,n||0,r||0,i||0,a)),d=this.path(f),o.styledMode||d.attr(`fill`,`none`),_(d,{symbolName:l||void 0,x:t,y:n,width:r,height:i}),a&&_(d,a);else if(c){p=e.match(s)[1];let r=d=this.image(p);r.imgwidth=a?.width??nt[p]?.width,r.imgheight=a?.height??nt[p]?.height,m=e=>e.attr({width:e.width,height:e.height}),[`width`,`height`].forEach(e=>{r[`${e}Setter`]=function(e,t){this[t]=e;let{alignByTranslate:n,element:r,width:i,height:o,imgwidth:s,imgheight:c}=this,l=t===`width`?s:c,u=1;a&&a.backgroundSize===`within`&&i&&o&&s&&c?(u=Math.min(i/s,o/c),k(r,{width:Math.round(s*u),height:Math.round(c*u)})):r&&l&&r.setAttribute(t,l),!n&&s&&c&&this.translate(((i||0)-s*u)/2,((o||0)-c*u)/2)}}),T(t)&&r.attr({x:t,y:n}),r.isImg=!0,T(r.imgwidth)&&T(r.imgheight)?m(r):(r.attr({width:0,height:0}),I(`img`,{onload:function(){let e=Je[o.chartIndex];this.width===0&&(j(this,{position:`absolute`,top:`-999em`}),Xe.body.appendChild(this)),nt[p]={width:this.width,height:this.height},r.imgwidth=this.width,r.imgheight=this.height,r.element&&m(r),this.parentNode&&this.parentNode.removeChild(this),o.asyncCounter--,!o.asyncCounter&&e&&!e.hasLoaded&&e.onload()},src:p}),this.asyncCounter++)}return d}clipRect(e,t,n,r){return this.rect(e,t,n,r,0)}text(e,t,n,r){let i=this,a={};if(r&&(i.allowHTML||!i.forExport))return i.html(e,t,n);a.x=Math.round(t||0),n&&(a.y=Math.round(n)),T(e)&&(a.text=e);let o=i.createElement(`text`).attr(a);return(!r||i.forExport&&!i.allowHTML)&&(o.xSetter=function(e,t,n){let r=n.getElementsByTagName(`tspan`),i=n.getAttribute(t);for(let n=0,a;n<r.length;n++)a=r[n],a.getAttribute(t)===i&&a.setAttribute(t,e);n.setAttribute(t,e)}),o}fontMetrics(e){let t=h(e)?e:b(q.prototype.getStyle.call(e,`font-size`)||0),n=t<24?t+3:Math.round(t*1.2);return{h:n,b:Math.round(n*.8),f:t}}rotCorr(e,t,n){let r=e;return t&&n&&(r=Math.max(r*Math.cos(t*Ye),4)),{x:-e/3*Math.sin(t*Ye),y:r}}pathToSegments(e){let t=[],n=[],r={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let i=0;i<e.length;i++)c(n[0])&&h(e[i])&&n.length===r[n[0].toUpperCase()]&&e.splice(i,0,n[0].replace(`M`,`L`).replace(`m`,`l`)),typeof e[i]==`string`&&(n.length&&t.push(n.slice(0)),n.length=0),n.push(e[i]);return t.push(n.slice(0)),t}label(e,t,n,r,i,a,o,s,c){return new Me(this,e,t,n,r,i,a,o,s,c)}
17alignElements(){this.alignedObjects.forEach(e=>e.align())}};_(at.prototype,{Element:q,SVG_NS:tt,escapes:{"&":`&`,"<":`<`,">":`>`,"'":`'`,'"':`"`},symbols:Ve,draw:et}),w.Renderer=at;var ot;(function(e){e.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:`%[HMSL]`,range:!1},second:{main:`%[HMS]`,range:!1},minute:{main:`%[HM]`,range:!1},hour:{main:`%[HM]`,boundary:void 0,range:!1},day:{main:`%[eb]`,boundary:`%[eb]`},week:{main:`%[eb]`},month:{main:`%[bY]`,boundary:void 0},year:{main:`%[Y]`,boundary:void 0}},endOnTick:!1,gridLineDashStyle:`Solid`,gridZIndex:1,labels:{autoRotationLimit:80,enabled:!0,indentation:10,overflow:`justify`,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:`var(--highcharts-neutral-color-80)`,cursor:`default`,fontSize:`0.8em`,textOverflow:`ellipsis`}},maxPadding:.01,minorGridLineDashStyle:`Solid`,minorTickLength:2,minorTickPosition:`outside`,minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:`between`,tickPixelInterval:100,tickPosition:`outside`,title:{align:`middle`,useHTML:!1,x:0,y:0,style:{color:`var(--highcharts-neutral-color-60)`,fontSize:`0.8em`}},visible:!0,minorGridLineColor:`var(--highcharts-neutral-color-5)`,minorGridLineWidth:1,minorTickColor:`var(--highcharts-neutral-color-40)`,lineColor:`var(--highcharts-neutral-color-80)`,lineWidth:1,gridLineColor:`var(--highcharts-neutral-color-10)`,gridLineWidth:void 0,tickColor:`var(--highcharts-neutral-color-80)`},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:`justify`,formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:`var(--highcharts-neutral-color-100)`,fontSize:`0.7em`,fontWeight:`bold`,textOutline:`1px contrast`}},gridLineWidth:1,lineWidth:0}})(ot||={});var st=ot,ct;(function(e){function t(e,t){e.eventOptions=e.eventOptions||{},W(t.events,function(t,n){e.eventOptions[n]!==t&&(e.eventOptions[n]&&(x(e,n,e.eventOptions[n]),delete e.eventOptions[n]),p(t)&&(e.eventOptions[n]=t,O(e,n,t,{order:0})))})}e.registerEventOptions=t})(ct||={});var lt=ct,{defaultOptions:ut,defaultTime:dt}=V,{pageLang:ft}=w,pt={add:(e,t)=>e+t,divide:(e,t)=>t===0?``:z(e/t),eq:(e,t)=>e==t,each:function(e){let t=arguments[arguments.length-1];return f(e)?e.map((n,r)=>_t(t.body,_(a(n)?n:{"@this":n},{"@index":r,"@first":r===0,"@last":r===e.length-1}))).join(``):!1},ge:(e,t)=>e>=t,gt:(e,t)=>e>t,if:e=>!!e,le:(e,t)=>e<=t,lt:(e,t)=>e<t,multiply:(e,t)=>z(e*t,15),ne:(e,t)=>e!=t,subtract:(e,t)=>e-t,ucfirst:C,unless:e=>!e},mt={},ht=e=>/^["'].+["']$/.test(e);function gt(e,t,n){return dt.dateFormat(e,t,n)}function _t(e=``,t,n){let r=/\{([^{}]+)\}/g,i=/\(([^()]+)\)/g,a=[],o=/f$/,s=/\.(\d)/,l=n?.options?.lang||ut.lang,u=n?.time||dt,d=n?.numberFormatter||vt.bind(n),f=(e=``)=>{let n;return e===`true`?!0:e===`false`?!1:(n=Number(e)).toString()===e?n:ht(e)?e.slice(1,-1):ee(e,t)},p,m,h=0,g;for(;(p=r.exec(e))!==null;){let n=p,r=i.exec(p[1]);r&&(p=r,g=!0),m?.isBlock||(m={ctx:t,expression:p[1],find:p[0],isBlock:p[1].charAt(0)===`#`,start:p.index,startInner:p.index+p[0].length,length:p[0].length});let o=(m.isBlock?n:p)[1].split(` `)[0].replace(`#`,``);pt[o]&&(m.isBlock&&o===m.fn&&h++,m.fn||(m.fn=o));let s=p[1]===`else`;if(m.isBlock&&m.fn&&(p[1]===`/${m.fn}`||s)){if(h)s||h--;else{let t=m.startInner,n=e.substr(t,p.index-t);m.body===void 0?(m.body=n,m.startInner=p.index+p[0].length):m.elseBody=n,m.find+=n+p[0],s||(a.push(m),m=void 0)}}else m.isBlock||a.push(m);if(r&&!m?.isBlock)break}return a.forEach(r=>{let{body:a,elseBody:p,expression:m,fn:h}=r,g,_;if(h){let e=[r],i=[],o=m.length,s=0,c;for(_=0;_<=o;_++){let e=m.charAt(_);!c&&(e===`"`||e===`'`)?c=e:c===e&&(c=``),!c&&(e===` `||_===o)&&(i.push(m.substr(s,_-s)),s=_+1)}for(_=pt[h].length;_--;)e.unshift(f(i[_+1]));g=pt[h].apply(t,e),r.isBlock&&typeof g==`boolean`&&(g=_t(g?a:p,t,n))}
17else{let e=ht(m)?[m]:m.split(`:`);if(g=f(e.shift()||``),e.length&&typeof g==`number`){let t=e.join(`:`);if(o.test(t)){let e=parseInt((t.match(s)||[``,`-1`])[1],10);g!==null&&(g=d(g,e,l.decimalPoint,t.indexOf(`,`)>-1?l.thousandsSep:``))}else g=u.dateFormat(t,g)}i.lastIndex=0,i.test(r.find)&&c(g)&&(g=`"${g}"`)}e=e.replace(r.find,g??``)}),g?_t(e,t,n):e}function vt(e,t,n,r){e=+e||0,t=+t;let i,a,[o,s]=e.toString().split(`e`).map(Number),c=this?.options?.lang||ut.lang,l=(e.toString().split(`.`)[1]||``).split(`e`)[0].length,u=t,d={};n??=c.decimalPoint,r??=c.thousandsSep,t===-1?t=Math.min(l,20):h(t)?t&&s<0&&(a=t+s,a>=0?(o=+o.toExponential(a).split(`e`)[0],t=a):(o=Math.floor(o),e=t<20?+(o*10**s).toFixed(t):0,s=0)):t=2,s&&(t??=2,e=o),h(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),r===``&&(d.useGrouping=!1);let f=r||n,p=f?`en`:this?.locale||c.locale||ft,m=JSON.stringify(d)+p;return i=(mt[m]??(mt[m]=new Intl.NumberFormat(p,d))).format(e),f&&(i=i.replace(/([,\.])/g,`_$1`).replace(/_\,/g,r??`,`).replace(`_.`,n??`.`)),(!t&&+i==0||s<0&&!u)&&(i=`0`),s&&+i!=0&&(i+=`e`+(s<0?``:`+`)+s),i}var Y={dateFormat:gt,format:_t,helpers:pt,numberFormat:vt},{deg2rad:yt}=w,bt=class{constructor(e,t,n,r,i){this.isNew=!0,this.isNewLabel=!0,this.axis=e,this.pos=t,this.type=n||``,this.parameters=i||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,v(this,`init`),!n&&!r&&this.addLabel()}addLabel(){let e=this,t=e.axis,n=t.options,r=t.chart,i=t.categories,a=t.logarithmic,o=t.names,s=e.pos,c=e.options?.labels??n.labels,l=t.tickPositions,u=s===l[0],d=s===l[l.length-1],f=l.info,p=f?.boundaryTicks[s],m=n.dateTimeLabelFormats,g,y,b,x=this.parameters.category||(i?i[s]??o[s]??s:s);if(a&&h(x)&&(x=z(a.lin2log(x))),t.dateTime&&m){if(f){let e={millisecond:`hour`,second:`hour`,minute:`hour`,hour:`day`,day:`month`,week:`month`,month:`year`,year:`year`},t=f.unitName,i=e[t],a=!n.grid?.enabled&&p&&i&&m[i]?.boundary||m[t];y=r.time.resolveDTLFormat(a),g=y.main}else h(x)&&(g=t.dateTime.getXDateFormat(x,m||{}))}e.isFirst=u,e.isLast=d,e.boundary=p;let S={axis:t,chart:r,dateTimeLabelFormat:g,boundary:p,isFirst:u,isLast:d,pos:s,tick:e,tickPositionInfo:f,value:x};v(this,`labelFormat`,S);let C=e=>c.formatter?c.formatter.call(e,e):c.format?(e.text=t.defaultLabelFormatter.call(e),Y.format(c.format,e,r)):t.defaultLabelFormatter.call(e);e.label=e.createLabel(C.call(S,S),c);let w=y?.list,T=e.label;e.shortenLabel=w&&T?function(){for(b=0;b<w.length;b++)if(_(S,{dateTimeLabelFormat:w[b]}),T.attr({text:C.call(S,S)}),T.getBBox().width<t.getSlotWidth(e)-2*(c.padding||0))return;T.attr({text:``})}:void 0}createLabel(e,t,n){let r=this.axis,{renderer:i,styledMode:a}=r.chart,o=t.style,s=o.whiteSpace,c=this.label;return T(e)&&t.enabled?c||=i.text(e,n?.x,n?.y,t.useHTML).add(r.labelGroup):c&&(c=c.destroy(),this.isNewLabel=!0),c&&(c.labelStyle!==o||e!==c.textStr)&&(c.labelStyle=o,e!==c.textStr&&(c.attr({text:e}),delete c.textPxLength),a||c.css(d(o)),c.textPxLength??(c.textPxLength=c.getBBox().width),!a&&s&&c.css({whiteSpace:s})),c}destroy(){ie(this,this.axis)}getPosition(e,t,n,r){let i=this.axis,a=i.chart,o=r&&a.oldChartHeight||a.chartHeight,s={x:e?z(i.translate(t+n,void 0,void 0,r)+i.transB):i.left+i.offset+(i.opposite?(r&&a.oldChartWidth||a.chartWidth)-i.right-i.left:0),y:e?o-i.bottom+i.offset-(i.opposite?i.height:0):z(o-i.translate(t+n,void 0,void 0,r)-i.transB)};return s.y=A(s.y,-1e9,1e9),v(this,`afterGetPosition`,{pos:s}),s}getLabelPosition(e,t,n,r,i,a,o,s){let c=this.axis,{labelAlign:l,side:u,staggerLines:d,transA:f}=c,p=c.linkedParent?c.linkedParent.reversed:c.reversed,m=c.tickRotCorr||{x:0,y:0},h=!r&&!c.reserveSpaceDefault?-(c.labelOffset||0)*(c.labelAlign===`center`?.5:1):0,g=i.distance??(u===1&&l===`right`&&!i.reserveSpace||u===3&&l===`left`&&!i.reserveSpace?0:15),_={},y,b;return y=u===0?n.rotation?-g:-n.getBBox().height:u===2?m.y+g:Math.cos(n.rotation*yt)*(m.y-n.getBBox(!1,0).height/2),T(i.y)&&(y=u===0&&c.horiz?i.y+y:i.y),e=e+(i.x??[0,1,0,-1][u]*g)+h+m.x-(a&&r?a*f*(p?-1:1):0),t=t+y-(a&&!r?a*f*(p?1:-1):0),d&&(b=o/(s||1)%d,c.opposite&&(b=d-b-1),t+=b*(c.labelOffset/d)),_.x=e,_.y=Math.round(t),v(this,`afterGetLabelPosition`,{pos:_,tickmarkOffset:a,index:o}),_}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?`height`:`width`]:0}getMarkPath(e,t,n,r,i=!1,a){return a.crispLine([[`M`,e,t],[`L`,e+(i?0:-n),t+(i?n:0)]],r)}handleOverflow(e){let t=this,{axis:n,label:r}=this,a=n.options.labels,o=e.x,{chartWidth:s,spacing:c}=n.chart,l=n.labelLeft??Math.min(n.pos,c[3]),u=n.labelRight??Math.max(n.isRadial?
170:n.pos+n.len,s-c[1]),d=r?.rotation||0,f=i(n.labelAlign||r?.attr(`align`)),p=r?.getBBox().width||0,m=n.getSlotWidth(t),h=f,g=m,_=1,v,y,b;!d&&a.overflow===`justify`?(v=o-f*p,y=o+(1-f)*p,v<l?g=e.x+g*(1-f)-l:y>u&&(g=u-e.x+g*f,_=-1),g=Math.min(m,g),g<m&&n.labelAlign===`center`&&(e.x+=_*(m-g-h*(m-Math.min(p,g)))),(p>g||n.autoRotation&&r?.styles?.width)&&(b=g)):d<0&&o-f*p<l?b=Math.round(o/Math.cos(d*yt)-l):d>0&&o+f*p>u&&(b=Math.round((s-o)/Math.cos(d*yt))),b&&r&&(t.shortenLabel?t.shortenLabel():r.css({width:Math.floor(b)+`px`,lineClamp:+!n.isRadial}))}render(e,t,n){let r=this,i=r.axis,a=(t?i.old?.horiz:void 0)??i.horiz,o=r.pos,s=r.tickmarkOffset??i.tickmarkOffset,c=r.getPosition(a,o,s,t),l=c.x,u=c.y,d=i.pos,f=d+i.len,p=a?l:u;i.visible||(n=0);let m=n??1;!i.chart.polar&&(z(p)<d||p>f)&&(n=0),n??=1,this.isActive=!0,this.renderGridLine(t,n),this.renderMark(c,n),this.renderLabel(c,t,m,e),r.isNew=!1,v(this,`afterRender`)}renderGridLine(e,t){let n=this,r=n.axis,i=r.options,a={},o=n.pos,s=n.type,c=n.tickmarkOffset??r.tickmarkOffset,{renderer:l,styledMode:u}=r.chart,d=n.gridLine,f=i.gridLineWidth,p=i.gridLineColor,m=i.gridLineDashStyle;n.type===`minor`&&(f=i.minorGridLineWidth,p=i.minorGridLineColor,m=i.minorGridLineDashStyle),u||(a[`stroke-width`]=f||0),d||(s||(a.zIndex=1),n.gridLine=d=l.path().attr(a).addClass(`highcharts-`+(s?s+`-`:``)+`grid-line`).add(r.gridGroup));let h=r.getPlotLinePath({value:o+c,lineWidth:d.strokeWidth(),force:`pass`,old:e,acrossPanes:!1});h&&(a.d=h,a.opacity=e?0:t,u||(a.stroke=p,a.dashstyle=m),d[e||n.isNew?`attr`:`animate`](a))}renderMark(e,t){let n=this,r=n.axis,{chart:i,options:a}=r,o=i.renderer,s=n.type,c=r.tickSize(s?s+`Tick`:`tick`),l=e.x,u=e.y,d=a[s===`minor`?`minorTickWidth`:`tickWidth`]??(!s&&r.isXAxis?1:0),f=a[s===`minor`?`minorTickColor`:`tickColor`],p=n.mark,m=p?`animate`:`attr`;(c||p)&&(r.opposite&&c&&(c[0]=-c[0]),p||(n.mark=p=o.path().addClass(`highcharts-`+(s?s+`-`:``)+`tick`).add(r.axisGroup)),i.styledMode||p[m]({stroke:f,"stroke-width":d}),p[m]({d:n.getMarkPath(l,u,c?.[0]||0,p.strokeWidth(),r.horiz,o),opacity:c?t:0}))}renderLabel(e,t,n,r){let i=this,a=i.axis,o=a.horiz,s=a.options,c=i.label,l=s.labels,u=l.step,d=i.tickmarkOffset??a.tickmarkOffset,f=e.x,p=e.y,m=!0;c&&h(f)&&(c.xy=e=i.getLabelPosition(f,p,c,o,l,d,r,u),i.isFirst&&!i.isLast&&!s.showFirstLabel||i.isLast&&!i.isFirst&&!s.showLastLabel?m=!1:o&&!t&&n!==0&&i.handleOverflow(e),u&&r%u&&(m=!1),m&&h(e.y)?(e.opacity=n,c[i.isNewLabel?`attr`:`animate`](e).show(!0),i.isNewLabel=!1):(c.hide(),i.isNewLabel=!0))}},{xAxis:xt,yAxis:St}=st,{parse:Ct}=G,{defaultOptions:wt}=V,{registerEventOptions:Tt}=lt,{deg2rad:Et}=w,Dt=(e,t)=>g(t,void 0,void 0,e.options.allowDecimals??(t<.5||e.tickAmount!==void 0),!!e.tickAmount);_(wt,{xAxis:xt,yAxis:d(xt,St)});var Ot=class{constructor(e,t,n){this.clippable=!0,this.init(e,t,n)}init(e,t,n=this.coll){let r=n===`xAxis`,i=this,a=i.isZAxis||(e.inverted?!r:r);i.chart=e,i.horiz=a,i.isXAxis=r,i.coll=n,v(this,`init`,{userOptions:t}),i.opposite=t.opposite??i.opposite,i.side=t.side??(a?i.opposite?0:2:i.opposite?1:3),i.setOptions(t);let o=i.options,s=o.labels;i.type=o.type||`linear`,i.uniqueNames=o.uniqueNames??!0,v(i,`afterSetType`),i.userOptions=t,i.minPixelPadding=0,i.reversed=o.reversed,i.visible=o.visible,i.zoomEnabled=o.zoomEnabled,i.hasNames=this.type===`category`||o.categories===!0,i.categories=f(o.categories)&&o.categories||(i.hasNames?[]:void 0),i.names||=[],i.namesMap||={},i.plotLinesAndBandsGroups||={},i.positiveValuesOnly=!!i.logarithmic,i.ticks||={},i.labelEdge||=[],i.minorTicks||={},i.alternateBands||={},i.len??=0,i.minRange=i.userMinRange=o.minRange||o.maxZoom,i.range=o.range,i.max=void 0,i.min=void 0;let c=o.crosshair??u(e.options.tooltip?.crosshairs)[+!r];i.crosshair=c===!0?{}:c,e.axes.indexOf(i)===-1&&(r?e.axes.splice(e.xAxis.length,0,i):e.axes.push(i),N(this,e[this.coll])),e.orderItems(i.coll),i.series=i.series||[],e.inverted&&!i.isZAxis&&r&&!T(i.reversed)&&(i.reversed=!0),i.labelRotation=h(s.rotation)?s.rotation:void 0,Tt(i,o),v(this,`afterInit`)}setOptions(e){let t=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:this.side===1?90:-90}};this.options=d(t,this.coll===`yAxis`?{title:{text:this.chart.options.lang.yAxisTitle}}:{},wt[this.coll],e),v(this,`afterSetOptions`,{userOptions:e})}defaultLabelFormatter(){let e=this.axis,t=this.chart,{numberFormatter:n}=t,r=h(this.value)?this.value:NaN,i=e.chart.time,a=e.categories,o=this.dateTimeLabelFormat,s=wt.lang,c=s.numericSymbol
17s,l=s.numericSymbolMagnitude||1e3,u=e.logarithmic?Math.abs(r):e.tickInterval,d=c?.length,f,p;if(a)p=`${this.value}`;else if(o)p=i.dateFormat(o,r,!0);else if(d&&c&&u>=1e3)for(;d--&&p===void 0;)f=l**+(d+1),u>=f&&r*10%f==0&&c[d]!==null&&r!==0&&(p=n(r/f,-1,void 0,void 0,t)+c[d]);return p??=n(r,-1,void 0,Math.abs(r)<1e4?``:void 0,t),p}getSeriesExtremes(){let e=this,t;v(this,`getSeriesExtremes`,null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(n=>{if(n.reserveSpace()){let r=n.options,i,a=r.threshold,o,s;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&(a||0)<=0&&(a=void 0),e.isXAxis)i=n.getColumn(`x`),i.length&&(i=e.logarithmic?i.filter(e=>e>0):i,t=n.getXExtremes(i),o=t.min,s=t.max,!h(o)&&!(o instanceof Date)&&(i=i.filter(h),t=n.getXExtremes(i),o=t.min,s=t.max),i.length&&(e.dataMin=Math.min(e.dataMin??o,o),e.dataMax=Math.max(e.dataMax??s,s)));else{let t=n.applyExtremes();h(t.dataMin)&&(o=t.dataMin,e.dataMin=Math.min(e.dataMin??o,o)),h(t.dataMax)&&(s=t.dataMax,e.dataMax=Math.max(e.dataMax??s,s)),T(a)&&(e.threshold=a),(!r.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),v(this,`afterGetSeriesExtremes`)}translate(e,t,n,r,i,a){let o=this.linkedParent||this,s=r&&o.old?o.old.min:o.min;if(!h(s))return NaN;let c=o.minPixelPadding,l=(o.isOrdinal||o.brokenAxis?.hasBreaks||o.logarithmic&&i)&&!!o.lin2val,u=1,d=0,f=r&&o.old?o.old.transA:o.transA,p=0;return f||=o.transA,n&&(u*=-1,d=o.len),o.reversed&&(u*=-1,d-=u*(o.sector||o.len)),t?(e=e*u+d,e-=c,p=e/f+s,l&&(p=o.lin2val(p))):(l&&(e=o.val2lin(e)),p=u*(e-s)*f+d+u*c+(h(a)?f*a:0),o.isRadial||(p=z(p)),Math.abs(p)<1e-9&&(p=0)),p}toPixels(e,t){return this.translate(this.chart?.time.parse(e)??NaN,!1,!this.horiz,void 0,!0)+(t?0:this.pos)}toValue(e,t){return this.translate(e-(t?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(e){let t=this,{chart:n,left:r,top:i,transB:a}=t,{lineWidth:o,old:s,value:c}=e,l=(s?t.old?.horiz:void 0)??t.horiz,u=s&&n.oldChartHeight||n.chartHeight,d=s&&n.oldChartWidth||n.chartWidth,f=e.translatedValue,p=e.force,m,g,_,y,b;function x(e,t,n){return p!==`pass`&&(e<t||e>n)&&(p?e=A(e,t,n):b=!0),e}let S={value:c,lineWidth:o,old:s,force:p,acrossPanes:e.acrossPanes,translatedValue:f};return v(this,`getPlotLinePath`,S,function(e){f??=t.translate(c,void 0,void 0,s),f=A(f,-1e9,1e9),m=_=f+a,g=y=u-f-a,h(f)?l?(g=i,y=u-t.bottom+(t.options.isInternal?0:n.scrollablePixelsY||0),m=_=x(m,r,r+t.width)):(m=r,_=d-t.right+(n.scrollablePixelsX||0),g=y=x(g,i,i+t.height)):(b=!0,p=!1),e.path=b&&!p?void 0:n.renderer.crispLine([[`M`,m,g],[`L`,_,y]],o||1)}),S.path}getLinearTickPositions(e,t,n){let r=z(Math.floor(t/e)*e),i=z(Math.ceil(n/e)*e),a=[],o,s,c;if(z(r+e)===r&&(c=20),this.single)return[t];for(o=r;o<=i&&(a.push(o),o=z(o+e,c),o!==s);)s=o;return a}getMinorTickInterval(){let{minorTicks:e,minorTickInterval:t}=this.options;if(e===!0)return t??`auto`;if(e!==!1)return t}getMinorTickPositions(){let e=this,t=e.options,n=e.tickPositions,r=e.minorTickInterval,i=e.pointRangePadding||0,a=(e.min||0)-i,o=(e.max||0)+i,s=e.brokenAxis?.hasBreaks?e.brokenAxis.unitLength:o-a,c=[],l;if(s&&s/r<e.len/3){let i=e.logarithmic;if(i)this.paddedTicks.forEach(function(e,t,n){t&&c.push.apply(c,i.getLogTickPositions(r,n[t-1],n[t],!0))});else if(e.dateTime&&this.getMinorTickInterval()===`auto`)c=c.concat(e.getTimeTicks(e.dateTime.normalizeTimeTickInterval(r),a,o,t.startOfWeek));else for(l=a+(n[0]-a)%r;l<=o&&l!==c[0];l+=r)c.push(l)}return c.length!==0&&e.trimTicks(c),c}adjustForMinRange(){let e=this,t=e.options,n=e.logarithmic,i=e.chart.time,{max:a,min:o,minRange:s}=e,c,l,u,d,f;e.isXAxis&&s===void 0&&!n&&(T(t.min)||T(t.max)||T(t.floor)||T(t.ceiling)?s=null:(u=r(e.series.map(e=>{let t=e.getColumn(`x`);return e.xIncrement?t.slice(0,2):t}))||0,s=Math.min(u*5,e.dataMax-e.dataMin))),h(a)&&h(o)&&h(s)&&a-o<s&&(l=e.dataMax-e.dataMin>=s,c=(s-a+o)/2,d=[o-c,i.parse(t.min)??o-c],l&&(d[2]=n?n.log2lin(e.dataMin):e.dataMin),o=F(d),f=[o+s,i.parse(t.max)??o+s],l&&(f[2]=n?n.log2lin(e.dataMax):e.dataMax),a=re(f),a-o<s&&(d[0]=a-s,d[1]=i.parse(t.min)??a-s,o=F(d))),e.minRange=s,e.min=o,e.max=a}getClosest(){let e,t;if(this.categories)t=1;else{let n=[];
17this.series.forEach(function(e){let r=e.closestPointRange,i=e.getColumn(`x`);i.length===1?n.push(i[0]):e.sorted&&T(r)&&e.reserveSpace()&&(t=T(t)?Math.min(t,r):r)}),n.length&&(n.sort((e,t)=>e-t),e=r([n]))}return e&&t?Math.min(e,t):e||t}nameToX(e,t){let n=f(this.options.categories),{name:r,series:i}=e,a=n?this.categories:this.names,o=this.namesMap,s;return i.requireSorting=!1,T(t)||(t=this.uniqueNames&&a?n?a.indexOf(r):o[r]??-1:i.autoIncrement()),t===-1?!n&&a&&(s=a.length):h(t)&&(s=t),s===void 0?s=h(e.x)?e.x:i.autoIncrement():(this.names[s]=e.name,o[e.name]=s),s}updateNames(){let e=this,{names:t,namesMap:n}=this;t.length>0&&(Object.keys(n).forEach(function(e){delete n[e]}),t.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(t=>{if(t.xIncrement=null,delete t.xColumn,!t.points||t.isDirtyData)e.max=Math.max(e.max||0,t.dataTable.rowCount-1),t.processData(),t.generatePoints();else{let e=t.getColumn(`x`);t.points?.forEach(t=>{t.x=e[t.index]})}}))}setAxisTranslation(){let e=this,t=e.max-e.min,n=e.linkedParent,r=!!e.categories,i=e.isXAxis,a=e.axisPointRange||0,o,s=0,l=0,u,d=e.transA;(i||r||a)&&(o=e.getClosest(),n?(s=n.minPointOffset,l=n.pointRangePadding):e.series.forEach(function(t){let n=r?1:i?t.options.pointRange??o??0:e.axisPointRange||0,u=t.options.pointPlacement;if(a=Math.max(a,n),!e.single||r){let e=t.is(`xrange`)?!i:i;s=Math.max(s,e&&c(u)?0:n/2),l=Math.max(l,e&&u===`on`?0:n)}}),u=e.ordinal?.slope&&o?e.ordinal.slope/o:1,e.minPointOffset=s*=u,e.pointRangePadding=l*=u,e.pointRange=Math.min(a,e.single&&r?1:t),i&&(e.closestPointRange=o)),e.translationSlope=e.transA=d=e.staticScale||e.len/(t+l||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=d*s,v(this,`afterSetAxisTranslation`)}minFromRange(){let{max:e,min:t}=this;return h(e)&&h(t)&&e-t||void 0}setTickInterval(e){let t=this,{categories:n,chart:r,dataMax:i,dataMin:a,dateTime:o,isXAxis:s,logarithmic:c,options:l,softThreshold:u}=t,d=r.time,f=h(t.threshold)?t.threshold:void 0,p=t.minRange||0,{ceiling:m,floor:g,softMax:_,softMin:y}=l,b=t.linkedParent,x=l.tickPixelInterval,S=l.maxPadding,C=l.minPadding,w=0,E,D=h(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,O,k,A,j;if(!o&&!n&&!b&&this.getTickAmount(),A=t.userMin??d.parse(l.min),j=t.userMax??d.parse(l.max),b?(E=b.getExtremes(),t.min=E.min??E.dataMin,t.max=E.max??E.dataMax,this.type!==b.type&&B(11,!0,r)):(u&&T(f)&&h(i)&&h(a)&&(a>=f?(O=f,C=0):i<=f&&(k=f,S=0)),t.min=A??O??a,t.max=j??k??i),h(t.max)&&h(t.min)&&(c&&(t.positiveValuesOnly&&!e&&Math.min(t.min,a??t.min)<=0&&B(10,!0,r),t.min=z(c.log2lin(t.min),16),t.max=z(c.log2lin(t.max),16)),t.range&&h(a)&&(t.userMin=t.min=A=Math.max(a,t.minFromRange()||0),t.userMax=j=t.max,t.range=void 0)),v(t,`foundExtremes`),t.adjustForMinRange(),h(t.min)&&h(t.max)){if(!h(t.userMin)&&h(y)&&y<t.min&&(t.min=A=y),!h(t.userMax)&&h(_)&&_>t.max&&(t.max=j=_),!n&&!t.axisPointRange&&!t.stacking?.usePercentage&&!b&&(w=t.max-t.min,w&&(!T(A)&&C&&(t.min-=w*C),!T(j)&&S&&(t.max+=w*S))),!h(t.userMin)&&h(g)&&(t.min=Math.max(t.min,g)),!h(t.userMax)&&h(m)&&(t.max=Math.min(t.max,m)),u&&h(a)&&h(i)){let e=f||0;!T(A)&&t.min<e&&a>=e?t.min=l.minRange?Math.min(e,t.max-p):e:!T(j)&&t.max>e&&i<=e&&(t.max=l.minRange?Math.max(e,t.min+p):e)}!r.polar&&t.min>t.max&&(T(l.min)?t.max=t.min:T(l.max)&&(t.min=t.max)),w=t.max-t.min}if(t.tickInterval=t.min===t.max||!h(t.min)||!h(t.max)?1:b&&!D&&x===b.options.tickPixelInterval?D=b.tickInterval:D??(this.tickAmount?w/Math.max(this.tickAmount-1,1):n?1:w*x/Math.max(t.len,x)),s&&!e){let e=t.min!==t.old?.min||t.max!==t.old?.max;t.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),v(this,`postProcessData`,{hasExtremesChanged:e})}t.setAxisTranslation(),v(this,`initialAxisTranslation`),t.pointRange&&!D&&(t.tickInterval=Math.max(t.pointRange,t.tickInterval));let M=l.minTickInterval??(o&&!t.series.some(e=>!e.sorted)?t.closestPointRange:0);!D&&M&&t.tickInterval<M&&(t.tickInterval=M),!o&&!c&&!D&&(t.tickInterval=Dt(t,t.tickInterval)),this.tickAmount||(t.tickInterval=t.unsquish()),this.setTickPositions()}
17setTickPositions(){let e=this,t=this.options,n=t.tickPositions,r=t.tickPositioner,i=this.getMinorTickInterval(),a=!this.isPanning,o=a&&t.startOnTick,s=a&&t.endOnTick,c=[],l;if(this.tickmarkOffset=this.categories&&t.tickmarkPlacement===`between`&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&T(this.min)&&!this.tickAmount&&(this.min%1==0||t.allowDecimals!==!1),n)c=n.slice();else if(h(this.min)&&h(this.max)){if(!e.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))c=[this.min,this.max],B(19,!1,this.chart);else if(e.dateTime)c=e.getTimeTicks(e.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,e.ordinal?.positions,this.closestPointRange,!0);else if(e.logarithmic)c=e.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let e=this.tickInterval,t=e;for(;t<=e*2&&(c=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&c.length>this.tickAmount);)this.tickInterval=Dt(this,t*=1.1)}c.length>this.len&&(c=[c[0],c[c.length-1]],c[0]===c[1]&&(c.length=1)),r&&(this.tickPositions=c,l=r.apply(e,[this.min,this.max,e]),l&&(c=l))}!this.isDirty&&c.length!==this.tickPositions?.length&&(this.isDirty=!0),this.tickPositions=c,this.minorTickInterval=i===`auto`&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:i,this.paddedTicks=c.slice(0),this.trimTicks(c,o,s),!this.linkedParent&&h(this.min)&&h(this.max)&&(this.single&&c.length<2&&!this.categories&&!this.series.some(e=>e.is(`heatmap`)&&e.options.pointPlacement===`between`)&&(this.min-=.5,this.max+=.5),!n&&!l&&this.adjustTickAmount()),v(this,`afterSetTickPositions`)}trimTicks(e,t,n){let r=e[0],i=e[e.length-1],a=!this.isOrdinal&&this.minPointOffset||0;if(v(this,`trimTicks`),!this.linkedParent||!this.grid){if(t&&h(r))this.min=r;else if(e.length)for(;this.min-a>e[0];)e.shift();if(n&&h(i))this.max=i;else for(;this.max+a<e[e.length-1];)e.pop();e.length===0&&T(r)&&!this.options.tickPositions&&e.push((i+r)/2)}}alignToOthers(){let e=this,t=e.chart,n=[this],r=e.options,i=t.options.chart,a=this.coll===`yAxis`&&i.alignThresholds,o=[],s;if(e.thresholdAlignment=void 0,(i.alignTicks!==!1&&r.alignTicks||a)&&r.startOnTick!==!1&&r.endOnTick!==!1&&!e.logarithmic){let r=e=>{let{horiz:t,options:n}=e;return[t?n.left:n.top,n.width,n.height,n.pane].join(`,`)},i=r(this);t[this.coll].forEach(function(t){let{series:a}=t;a.length&&a.some(e=>e.visible)&&t!==e&&r(t)===i&&(s=!0,n.push(t))})}if(s&&a){n.forEach(t=>{let n=t.getThresholdAlignment(e);h(n)&&o.push(n)});let t=o.length>1?o.reduce((e,t)=>e+=t,0)/o.length:void 0;n.forEach(e=>{e.thresholdAlignment=t})}return s}getThresholdAlignment(e){if((!h(this.dataMin)||this!==e&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),h(this.threshold)){let e=A((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let e=this,t=this.options,n=t.tickPixelInterval,r=t.tickAmount;!T(t.tickInterval)&&!r&&this.len<n&&!this.isRadial&&!e.logarithmic&&t.startOnTick&&t.endOnTick&&(r=2),!r&&this.alignToOthers()&&(r=Math.ceil(this.len/n)+1),r<4&&(this.finalTickAmt=r,r=5),this.tickAmount=r}adjustTickAmount(){let e=this,{finalTickAmt:t,max:n,min:r,options:i,tickPositions:a,tickAmount:o,thresholdAlignment:s}=e,c=a?.length,l=e.threshold??(e.softThreshold?0:null),u,d,f=e.tickInterval,p,m=()=>a.push(z(a[a.length-1]+f)),g=()=>a.unshift(z(a[0]-f));if(h(s)&&(p=s===0?0:s===1?o-1:Math.round(A(s*(o-1),1,o-2)),i.reversed&&(p=o-1-p)),e.hasData()&&h(r)&&h(n)){let s=()=>{e.transA*=(c-1)/(o-1),e.min=i.startOnTick?a[0]:Math.min(r,a[0]),e.max=i.endOnTick?a[a.length-1]:Math.max(n,a[a.length-1])};if(h(p)&&h(e.threshold)){for(;a[p]!==l||a.length!==o||a[0]>r||a[a.length-1]<n;){for(a.length=0,a.push(e.threshold);a.length<o;)a[p]===void 0||a[p]>e.threshold?g():m();if(f>e.tickInterval*8)break;f*=2}s()}else if(c<o){for(;a.length<o;)a.length%2||r===l?m():g();s()}if(T(t)){for(d=u=a.length;d--;)(t===3&&d%2==1||t<=2&&d>0&&d<u-1)&&a.splice(d,1);e.finalTickAmt=void 0}}}setScale(){let e=this,{chart:t,coll:n,options:r,stacking:i}=e,{linkedTo:a}=r,o=t[n]||[],s=o.indexOf(e),l=c(a)?H(o,e=>e.options.id===a):h(a)?o[a]:void 0,u=e.linkedParent=l===e?void 0:l;u&&s>-1&&o.indexOf(u)>s&&u.setScale();let d=!1,f=!1;
17e.series.forEach(e=>{d=d||e.isDirtyData||e.isDirty,f=f||e.xAxis?.isDirty||!1}),e.setAxisSize();let p=e.len!==e.old?.len;p||d||f||e.linkedParent||e.forceRedraw||e.userMin!==e.old?.userMin||e.userMax!==e.old?.userMax||e.alignToOthers()?(i&&n===`yAxis`&&i.buildStacks(),e.forceRedraw=!1,e.userMinRange||(e.minRange=void 0),e.getSeriesExtremes(),e.setTickInterval(),i&&n===`xAxis`&&i.buildStacks(),e.isDirty||=p||e.min!==e.old?.min||e.max!==e.old?.max):i&&i.cleanStacks(),d&&delete e.allExtremes,v(this,`afterSetScale`)}setExtremes(e,t,n=!0,r,i){let a=this.chart;this.series.forEach(e=>{delete e.kdTree}),e=a.time.parse(e),t=a.time.parse(t),i=_(i,{min:e,max:t}),v(this,`setExtremes`,i,e=>{this.userMin=e.min,this.userMax=e.max,this.eventArgs=e,n&&a.redraw(r)})}setAxisSize(){let e=this.chart,t=this.options,n=t.offsets||[0,0,0,0],r=this.horiz,i=this.width=Math.round(y(t.width??e.plotWidth-n[3]+n[1],e.plotWidth)),a=this.height=Math.round(y(t.height??e.plotHeight-n[0]+n[2],e.plotHeight)),o=this.top=Math.round(y(t.top??e.plotTop+n[0],e.plotHeight,e.plotTop)),s=this.left=Math.round(y(t.left??e.plotLeft+n[3],e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-a-o,this.right=e.chartWidth-i-s,this.len=Math.max(r?i:a,0),this.pos=r?s:o}getExtremes(){let e=this,t=e.logarithmic;return{min:t?z(t.lin2log(e.min)):e.min,max:t?z(t.lin2log(e.max)):e.max,dataMin:e.dataMin,dataMax:e.dataMax,userMin:e.userMin,userMax:e.userMax}}getThreshold(e){let t=this,n=t.logarithmic,r=n?n.lin2log(t.min):t.min,i=n?n.lin2log(t.max):t.max;return e===null||e===-1/0?e=r:e===1/0?e=i:r>e?e=r:i<e&&(e=i),t.translate(e,0,1,0,1)}autoLabelAlign(e){let t=((e-this.side*90)%360+360)%360,n={align:`center`};return v(this,`autoLabelAlign`,n,function(e){t>15&&t<165?e.align=`right`:t>195&&t<345&&(e.align=`left`)}),n.align}tickSize(e){let t=this.options,n=t[e===`tick`?`tickWidth`:`minorTickWidth`]??(e===`tick`&&this.isXAxis&&!this.categories?1:0),r=t[e===`tick`?`tickLength`:`minorTickLength`],i;n&&r&&(t[e+`Position`]===`inside`&&(r=-r),i=[r,n]);let a={tickSize:i,prefix:e};return v(this,`afterTickSize`,a),a.tickSize}labelMetrics(){let e=this.chart.renderer,t=this.ticks,n=t[Object.keys(t)[0]]||{};return this.chart.renderer.fontMetrics(n.label||e.box)}unsquish(){let e=this.options.labels,t=e.padding||0,n=this.horiz,r=this.tickInterval,i=this.len/((+!!this.categories+this.max-this.min)/r),a=e.rotation,o=z(this.labelMetrics().h*.8),s=Math.max(this.max-this.min,0),c=function(e){let n=(e+2*t)/(i||1);return n=n>1?Math.ceil(n):1,n*r>s&&e!==1/0&&i!==1/0&&s&&(n=Math.ceil(s/r)),z(n*r)},l=r,u,d=Number.MAX_VALUE,f;if(n){if(e.staggerLines||(h(a)?f=[a]:i<e.autoRotationLimit&&(f=e.autoRotation)),f){let e,t;for(let n of f)(n===a||n&&n>=-90&&n<=90)&&(e=c(Math.abs(o/Math.sin(Et*n))),t=e+Math.abs(n/360),t<d&&(d=t,u=n,l=e))}}else l=c(o*.75);return this.autoRotation=f,this.labelRotation=u??(h(a)?a:0),e.step?r:l}getSlotWidth(e){let t=this.chart,n=this.horiz,r=this.options.labels,i=Math.max(this.tickPositions.length-+!this.categories,1),a=t.margin[3];if(e&&h(e.slotWidth))return e.slotWidth;if(n&&r.step<2&&!this.isRadial)return r.rotation?0:(this.staggerLines||1)*this.len/i;if(!n){let e=r.style.width;if(e!==void 0)return parseInt(String(e),10);if(!this.opposite&&a)return a-t.spacing[3]}return t.chartWidth*.33}renderUnsquish(){let e=this.chart,t=e.renderer,n=this.tickPositions,r=this.ticks,i=this.options.labels,a=i.style,o=this.horiz,s=this.getSlotWidth(),l=Math.max(1,Math.round(s-(o?2*(i.padding||0):i.distance??15))),u={},d=this.labelMetrics(),f=a.lineClamp,p,m=f??(Math.floor(this.len/(n.length*d.h))||1),h=0;c(i.rotation)||(u.rotation=i.rotation||0),n.forEach(function(e){h=Math.max(h,r[e].label?.textPxLength||0)}),this.maxLabelLength=h,this.autoRotation?h>l&&h>d.h?u.rotation=this.labelRotation:this.labelRotation=0:s&&(p=l),u.rotation&&(p=h>e.chartHeight*.5?e.chartHeight*.33:h,f||(m=1)),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(u.align=this.labelAlign),n.forEach(function(e){let t=r[e],n=t?.label,i=a.width,o={};n&&(n.attr(u),t.shortenLabel?t.shortenLabel():p&&!i&&a.whiteSpace!==`nowrap`&&(p<(n.textPxLength||0)||n.element.tagName===`DIV`)?n.css(_(o,{width:`${p}px`,lineClamp:m})):(n.styles.width||n.textWidth||n.styles.lineClamp)&&!o.width&&!i&&n.css({width:`auto`,lineClamp:0}))},this),this.tickRotCorr=t.rotCorr(d.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(e){return e.hasData()})||this.options.showEmpty&&T(this.min)&&T(this.max)}addTitle(e){let t=this,n=t.chart.renderer,r=t.horiz,i=t.opposite,a=t.options.title,o=t.chart.styledMode,s=a.textAlign||(r?{low:`left`,middle:`center`,high:`right`}:{low:i?`right`:`left`,middle:`center`,high:i?`left`:`right`})[a.align],c={text:a.text||``,zIndex:7,align:s},l={rotation:a.rotation||0},u=t.axisTitle;if(u?u.attr(c).animate(l):(u=n.text(``,0,0,a.useHTML).attr(_(c,l)).addClass(`highcharts-axis-title`),u.add(t.axisGroup),u.isNew=!0),!o){let e=d(a.style);!a.style.width&&!t.isRadial&&(e.width=t.len+`px`),u.css(e)}u[e?`show`:`hide`](e),t.axisTitle=u}
17generateTick(e){let t=this,n=t.ticks;n[e]?n[e].addLabel():n[e]=new bt(t,e)}createGroups(){let{axisParent:e,chart:t,coll:n,options:r}=this,i=t.renderer,a=(t,a)=>i.g(t).addClass(`highcharts-${n.toLowerCase()}${a} `+(this.isRadial?`highcharts-radial-axis${a} `:``)+(r.className||``)).add(e);(this.axisGroup||=a(`axis`,``)).attr({zIndex:r.zIndex}),(this.gridGroup||=a(`grid`,`-grid`)).clip(this.clippable?t.plotClipInner:void 0).attr({zIndex:r.gridZIndex}),(this.labelGroup||=a(`axis-labels`,`-labels`)).attr({zIndex:r.labels.zIndex})}shuffleTicks(){let e=this.ticks,t=this.old?.names,n=e=>new Set(e).size!==e.length;if(this.type===`category`&&t&&!n(t)&&!n(this.names)){t.forEach((n,r)=>{let i=this.namesMap[n];T(i)&&r!==i&&(e[r]&&(e[r].pos=i,this.isDirty=!0),e[i]&&this.names.indexOf(t[i])===-1&&(e[i].pos=NaN))});let n=Object.values(e);Object.keys(e).forEach(t=>{delete e[t]}),n.forEach(t=>{isNaN(t.pos)?t.destroy():e[t.pos]=t})}}getOffset(){let e=this,{chart:t,horiz:n,options:r,side:i,ticks:a,tickPositions:o,coll:s}=e,c=e.hasData(),l=r.title,u=r.labels,d=h(r.crossing),f=t.axisOffset,p=t.clipOffset,m=[-1,1,1,-1][i],g=u.distance??15,_=e.tickRotCorr||{x:0,y:0},y=0,b,x=0,S,C=0,w=0,E,D,O;if(e.showAxis=b=c||r.showEmpty,e.staggerLines=e.horiz&&u.staggerLines||void 0,e.createGroups(),c||e.linkedParent?(e.shuffleTicks(),o.forEach(e.generateTick.bind(e)),e.renderUnsquish(),_=e.tickRotCorr,y=Math.abs(_.x),O=e.reserveSpaceDefault=i===0||i===2||{1:`left`,3:`right`}[i]===e.labelAlign,(u.reserveSpace??(!d&&null)??(e.labelAlign===`center`||null)??O)&&o.forEach(function(e){w=Math.max(a[e].getLabelSize(),w)}),e.staggerLines&&(w*=e.staggerLines),!n&&h(e.labelRotation)&&O&&(w-=y),e.labelOffset=w*(e.opposite?-1:1)):W(a,function(e,t){e.destroy(),delete a[t]}),l?.text&&l.enabled!==!1?(e.addTitle(b),b&&!d&&l.reserveSpace!==!1&&(e.titleOffset=x=e.axisTitle.getBBox()[n?`height`:`width`],S=l.offset,C=T(S)?0:l.margin??(n?5:10))):e.axisTitle=e.axisTitle?.destroy(),e.renderLine(),e.offset=m*(h(r.offset)?r.offset:f[i]?f[i]+(r.margin||0):0),D=i===0?-e.labelMetrics().h:i===2?_.y:0,E=Math.abs(w)+C,w&&(E-=D,E+=m*(n?u.y??_.y+m*g:u.x??(O?m*(g-y):_.x+m*g)),!n&&!O&&e.labelAlign===`center`&&h(e.labelRotation)&&(E+=y)),e.axisTitleMargin=S??E,e.maxLabelDimensions=e.getMaxLabelDimensions?.(a,o),s!==`colorAxis`&&p){let t=this.tickSize(`tick`);f[i]=Math.max(f[i],Math.max((e.axisTitleMargin||0)+x,E)+m*e.offset,E,o?.length&&t?t[0]+m*e.offset:0);let n=!e.axisLine||r.offset?0:e.axisLine.strokeWidth()/2;p[i]=Math.max(p[i],n)}v(this,`afterGetOffset`)}getLinePath(e){let t=this.chart,n=this.opposite,r=this.offset,i=this.horiz,a=this.left+(n?this.width:0)+r,o=t.chartHeight-this.bottom-(n?this.height:0)+r;return n&&(e*=-1),t.renderer.crispLine([[`M`,i?this.left:a,i?o:this.top],[`L`,i?t.chartWidth-this.right:a,i?o:t.chartHeight-this.bottom]],e)}renderLine(){let{chart:e,offset:t=0,options:n}=this,r=this.axisLine?`animate`:`attr`;this.axisLine||=e.renderer.path().addClass(`highcharts-axis-line`).attr({zIndex:7}).clip(this.clippable&&t<=0?e.plotClipOuter:void 0).add(this.axisGroup),e.styledMode||this.axisLine[r]({stroke:n.lineColor,"stroke-width":n.lineWidth})}getTitlePosition(e){let t=this.horiz,n=this.left,r=this.top,i=this.len,a=this.options.title,o=t?n:r,s=this.opposite,c=this.offset,l=a.x,u=a.y,d=this.chart.renderer.fontMetrics(e),f=e?Math.max(e.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(t?0:i),middle:o+i/2,high:o+(t?i:0)}[a.align],m=(t?r+this.height:n)+(t?1:-1)*(s?-1:1)*(this.axisTitleMargin||0)+[-f,f,d.f,-f][this.side],h={x:t?p+l:m+(s?this.width:0)+c+l,y:t?m+u-(s?this.height:0)+c:p+u};return v(this,`afterGetTitlePosition`,{titlePosition:h}),h}renderMinorTick(e,t){let n=this,r=n.minorTicks;r[e]||(r[e]=new bt(n,e,`minor`)),t&&r[e].isNew&&r[e].render(null,!0),r[e].render(null,!1,1)}renderTick(e,t,n){let r=this,i=r.ticks;(!r.linkedParent||e>=r.min&&e<=r.max||r.grid?.isColumn)&&(i[e]||(i[e]=new bt(r,e)),n&&i[e].isNew&&i[e].render(t,!0,-1),i[e].render(t))}render(){let e=this,t=e.chart,n=e.logarithmic,r=t.renderer,i=e.options,a=e.tickPositions,o=e.axisTitle,s=e.ticks,c=e.minorTicks,u=e.alternateBands,d=i.alternateGridColor,f=i.crossing,p=e.tickmarkOffset,m=e.axisLine,g=e.showAxis,_=+e.visible,y=K(r.globalAnimation),b,x;if(e.labelEdge.length=0,e.overlap=!1,this.createGroups(),[s,c,u].forEach(function(e){W(e,function(e){e.isActive=!1})}),h(f)){let n=this.isXAxis?t.yAxis[0]:t.xAxis[0],r=[1,-1,-1,1][this.side];if(n){let t=n.toPixels(f,!0);e.horiz&&(t=n.len-t),e.offset=r*t}}if(e.hasData()||e.linkedParent){let r=e.chart.hasRendered&&e.old&&h(e.old.min);e.minorTickInterval&&!e.categories&&e.getMinorTickPositions().forEac
17h(function(t){e.renderMinorTick(t,r)}),a.length&&(a.forEach(function(t,n){e.renderTick(t,n,r)}),p&&(e.min===0||e.single)&&(s[-1]||=new bt(e,-1,null,!0),s[-1].render(-1))),d&&a.forEach(function(r,i){x=a[i+1]===void 0?e.max-p:a[i+1]+p,i%2==0&&r<e.max&&x<=e.max+(t.polar?-p:p)&&(u[r]||(u[r]=new w.PlotLineOrBand(e,{},`plotBands`)),b=r+p,u[r].options={from:n?n.lin2log(b):b,to:n?n.lin2log(x):x,color:d,className:`highcharts-alternate-grid`},u[r].render(),u[r].isActive=!0)})}for(let e of[`plotBands`,`plotLines`])for(let t of this[e])t.render();[s,c,u].forEach(function(e){let n=[],r=y.duration;W(e,function(e,t){e.isActive||(e.render(t,!1,0),e.isActive=!1,n.push(t))}),l(function(){let t=n.length;for(;t--;)e[n[t]]&&!e[n[t]].isActive&&(e[n[t]].destroy(),delete e[n[t]])},e===u||!t.hasRendered||!r?0:r)}),m&&(m[m.isPlaced?`animate`:`attr`]({d:this.getLinePath(m.strokeWidth()),opacity:_}),m.isPlaced=!0,m[g?`show`:`hide`](g)),o&&g&&(o[o.isNew?`attr`:`animate`]({opacity:_,...e.getTitlePosition(o)}),o.isNew=!1),e.stacking?.renderStackTotals(),this.old||this.saveOld(),e.isDirty=!1,v(this,`afterRender`)}redraw(){(this.visible||this.axisGroup)&&this.render(),this.series.forEach(function(e){e.isDirty=!0})}saveOld(){this.old=h(this.min)?{horiz:this.horiz,len:this.len,max:this.max,min:this.min,names:this.names.slice(),transA:this.transA,userMax:this.userMax,userMin:this.userMin}:void 0}destroy(){v(this,`destroy`),x(this),[this.ticks,this.minorTicks,this.alternateBands,this.plotBands,this.plotLines,this.plotLinesAndBandsGroups].forEach(ie),[`axisLine`,`axisTitle`,`axisGroup`,`gridGroup`,`labelGroup`,`cross`,`scrollbar`].forEach(e=>{this[e]=this[e]?.destroy()}),W(this,(e,t)=>{delete this[t]})}drawCrosshair(e,t){let n=this.crosshair,r=n?.snap??!0,i=this.chart,a=this.cross,o,s,c,u;if(v(this,`drawCrosshair`,{e,point:t}),e||=this.cross?.e,!n||(T(t)||!r)===!1)this.hideCrosshair();else{if(clearTimeout(this.crossShowTimer),r?T(t)&&(s=(this.coll===`colorAxis`?null:t.crosshairPos)??(this.isXAxis?t.plotX:this.len-t.plotY)):s=e&&(this.horiz?e.chartX-this.pos:this.len-e.chartY+this.pos),T(s)&&(u={value:t&&(this.isXAxis?t.x:t.stackY??t.y??void 0),translatedValue:s},i.polar&&_(u,{isCrosshair:!0,chartX:e?.chartX,chartY:e?.chartY,point:t}),o=this.getPlotLinePath(u)||null),!T(o)){this.hideCrosshair();return}c=this.categories&&!this.isRadial,this.crossShowTimer=l(()=>{let t=this.cross;t||(this.cross=t=i.renderer.path().addClass(`highcharts-crosshair highcharts-crosshair-`+(c?`category `:`thin `)+(n.className||``)).attr({zIndex:n.zIndex??2}).clip(n.clip===!1?void 0:i.plotClipInner).add()),i.styledMode||t.attr({stroke:n.color||(c?Ct(`var(--highcharts-highlight-color-20)`).setOpacity(.25).get():`var(--highcharts-neutral-color-20)`),"stroke-width":n.width??1,dashstyle:n.dashStyle||`Solid`}).css({"pointer-events":`none`}),t.show().animate({d:o},K(n?.animation)),c&&!n.width&&t.attr({"stroke-width":this.transA}),t.e=e},(!a||a.attr(`visibility`)===`hidden`)&&n.showDelay||0)}v(this,`afterDrawCrosshair`,{e,point:t})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),v(this,`afterHideCrosshair`)}update(e={},t=!0){let n=this.chart;v(this,`update`,{options:e}),e=d(this.userOptions,e),this.isDirty=this.forceRedraw=!0,this.init(n,e),n.isDirtyBox=!0,t&&n.redraw()}remove(e){let t=this.chart,n=this.coll,r=this.series,i=r.length;for(;i--;)r[i]&&r[i].remove(!1);U(t.axes,this),U(t[n]||[],this),t.orderItems(n),this.destroy(),t.isDirtyBox=!0,(e??!0)&&t.redraw()}setTitle(e,t){this.update({title:e},t)}setCategories(e,t){this.update({categories:e},t)}},{composed:kt}=w,At;(function(e){function t(e){if(s(kt,`Axis.DateTime`)){let t=e.prototype;t.getTimeTicks=n,O(e,`afterSetType`,r)}return e}e.compose=t;function n(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function r(){if(this.type!==`datetime`){this.dateTime=void 0;return}this.dateTime||=new i(this)}class i{constructor(e){this.axis=e}normalizeTimeTickInterval(e,t){let n=t||[[`millisecond`,[1,2,5,10,20,25,50,100,200,500]],[`second`,[1,2,5,10,15,30]],[`minute`,[1,2,5,10,15,30]],[`hour`,[1,2,3,4,6,8,12]],[`day`,[1,2]],[`week`,[1,2]],[`month`,[1,2,3,4,6]],[`year`,null]],r=n[n.length-1],i=E[r[0]],a=r[1],o,s;for(o=0;o<n.length;o++)if(r=n[o],i=E[r[0]],a=r[1],n[o+1]){let t=(i*a[a.length-1]+E[n[o+1][0]])/2;if(e<=t){s=t/e;break}}i===E.year&&e<5*i&&(a=[1,2,5]);let c=g(e/i,a,r[0]===`year`?Math.max(m(e/i),1):1);return{unitRange:i,count:c,unitName:r[0],match:s}}getXDateFormat(e,t){let{axis:n}=this,r=n.chart.time;return n.closestPointRange?r.getDateFormat(n.closestPointRange,e,n.options.startOfWeek,t)||r.resolveDTLFormat(t.year).main:r.resolveDTLFormat(t.day).main}}e.Additions=i})(At||={});var jt=At,Mt;(function(e){let t,n=e=>function(n){var r;let i=new t(this,n,e);return this.visible&&i.render(),(r=this.options)[e]||(r[e]=this.userOptions[e]=[]),this.options[e].push(n),this[e].push(i),i};function r(e,r){let o=r.prototype;return o.addPlotBand||(t=e,_(o,{addPlotBand:n(`plotBands`),addPlotLine:n(`plotLines`),getPlotBandPath:i,removePlotBand:a,removePlotLine:a}),O(r,`afterInit`,function(){if(!this.plotBands){this.plotLinesAndBandsGroups={};for(let e of[`plotBands`,`plotLines`]){this[e]=[];for(let n of u(this.options[e]||[]))this[e].push(new t(this,n,e))}}}),O(r,`update`,function({options:e}){for(let t of[`plotBands`,`plotLines`])if(e[t]){let n=this[t];
17u(e[t]).forEach((r={},i)=>{let a;r?.id&&(a=n.find(e=>e.id===r.id)),a||=n[i],a?(a.update(r,!1),e[t][i]=a.options):a=this[t===`plotBands`?`addPlotBand`:`addPlotLine`](r),a.isActive=!0});let r=n.length;for(;r--;)n[r].isActive?delete n[r].isActive:n[r].remove()}})),r}e.compose=r;function i(e,t,n){n||=this.options;let r=this.getPlotLinePath({value:t,force:!0,acrossPanes:n.acrossPanes}),i=[],a=this.horiz,o=!h(this.min)||!h(this.max)||e<this.min&&t<this.min||e>this.max&&t>this.max,s=this.getPlotLinePath({value:e,force:!0,acrossPanes:n.acrossPanes}),c,l=1,u;if(s&&r)for(o&&(u=s.toString()===r.toString(),l=0),c=0;c<s.length;c+=2){let e=s[c],t=s[c+1],n=r[c],o=r[c+1];(e[0]===`M`||e[0]===`L`)&&(t[0]===`M`||t[0]===`L`)&&(n[0]===`M`||n[0]===`L`)&&(o[0]===`M`||o[0]===`L`)&&(a&&n[1]===e[1]?(n[1]+=l,o[1]+=l):!a&&n[2]===e[2]&&(n[2]+=l,o[2]+=l),i.push([`M`,e[1],e[2]],[`L`,t[1],t[2]],[`L`,o[1],o[2]],[`L`,n[1],n[2]],[`Z`])),i.isFlat=u}return i}function a(e){[...this.plotBands||[],...this.plotLines||[]].find(t=>t.id===e)?.remove()}})(Mt||={});var Nt=Mt,Pt=class e{static compose(t,n){return O(t,`afterInit`,function(){this.labelCollectors.push(()=>{let e=[];for(let t of this.axes)for(let n of[`plotBands`,`plotLines`])for(let{label:r,options:i}of t[n])r&&!i?.label?.allowOverlap&&e.push(r);return e})}),Nt.compose(e,n)}constructor(e,t,n){this.axis=e,this.options=t,this.id=t.id,this.coll=n}render(){v(this,`render`);let{axis:e,options:t}=this,{chart:n,horiz:r,logarithmic:i}=e,{color:a,events:o,zIndex:s=0}=t,{renderer:c,styledMode:l,time:u}=e.chart,f=u.parse(t.to),p=u.parse(t.from),m=u.parse(t.value),h=t.borderWidth,g=t.label,{label:_,svgElem:y}=this,b,x=this.coll===`plotBands`,S=x?`band`:`line`,C=`${S}s-${s}`,w=!y,E={class:`highcharts-plot-${S} ${t.className||``}`},D=x?h||0:t.width??1;l||(E[`stroke-width`]=D),b=e.plotLinesAndBandsGroups[C],b||(e.plotLinesAndBandsGroups[C]=b=c.g(`plot-`+C).clip(n.plotClipOuter).attr({zIndex:s}).add()),b[w?`attr`:`animate`]({opacity:+e.visible}),y||(this.svgElem=y=c.path().attr(E)),y.parentGroup!==b&&y.add(b);let O;return!x&&T(m)?O=e.getPlotLinePath({value:i?.log2lin(m)??m,lineWidth:y.strokeWidth(),acrossPanes:t.acrossPanes}):x&&T(p)&&T(f)&&(O=e.getPlotBandPath(i?.log2lin(p)??p,i?.log2lin(f)??f,t)),O&&(E.d=O),l||(x?(E.fill=a||`var(--highcharts-highlight-color-10)`,h&&(E.stroke=t.borderColor)):(E.stroke=a||`var(--highcharts-neutral-color-40)`,t.dashStyle&&(E.dashstyle=t.dashStyle))),w&&o&&W(o,(e,t)=>{y?.on(t,e=>{o[t].apply(this,[e,this])})}),(w||!y.d)&&O?.length?y.attr(E):y&&(O?(y.show(),y.animate(E)):y.d&&(y.hide(),_&&(this.label=_=_.destroy()))),g&&(T(g.text)||T(g.formatter))&&O?.length&&e.width>0&&e.height>0&&!O.isFlat?(g=d({align:r&&x?`center`:void 0,x:r?!x&&4:10,verticalAlign:!r&&x?`middle`:void 0,y:r?x?16:10:x?6:-4,rotation:r&&!x?90:0,...x?{inside:!0}:{}},g),this.renderLabel(g,O,x,s)):_&&_.hide(),this}renderLabel(e,t,n,r){let i=this,a=i.axis,o=a.chart,s=o.renderer,c=e.inside,l=i.label;l||(i.label=l=s.text(``,0,0,e.useHTML).attr({zIndex:r})),l.attr({text:this.getLabelText(e),align:e.textAlign||e.align,class:`highcharts-plot-`+(n?`band`:`line`)+`-label `+(e.className||``)})[l.placed?`animate`:`attr`]({opacity:1,rotation:e.rotation}),o.styledMode||l.css(d({color:o.options.title?.style?.color,fontSize:`0.8em`,textOverflow:n&&!c?``:`ellipsis`},e.style)),l.added||l.add();let u=t.xBounds||[t[0][1],t[1][1],n?t[2][1]:t[0][1]],f=t.yBounds||[t[0][2],t[1][2],n?t[2][2]:t[0][2]],p=re(u),m=re(f),h=F(u)-p;l.align(e,!1,{x:p,y:m,width:h,height:F(f)-m}),l.alignAttr.y-=s.fontMetrics(l).b,!l.alignValue||l.alignValue===`left`||T(c)?l.css({width:(e.style?.width||(!n||!c?l.rotation===90?a.height-(l.alignAttr.y-a.top):(e.clip?a.width+a.left:o.chartWidth)-l.alignAttr.x:h))+`px`}):l.textWidth&&l.css({width:`auto`}),l.show(!0)}update(e,t=!0){d(!0,this.options,e),t&&this.render()}getLabelText(e){return T(e.formatter)?e.formatter.call(this,this):e.text}destroy(){ie(this,this.axis)}remove(){U(this.axis[this.coll],this),U(this.axis.options[this.coll]||[],this.options),this.destroy()}},Ft;(function(e){function t(e,n,r){let i=e,a=i.reducedLen||n,o=(e,t)=>(t.rank||0)-(e.rank||0),c=(e,t)=>e.target-t.target,l=[],u=e.length,d=[],f=l.push,p,m=!0,h,g,_=0,v;for(p=u;p--;)_+=e[p].size;if(_>a){if(te(e,o),v=e[0].rank===e[e.length-1].rank,v){let t=[[0,u-1]];for(;t.length&&_>a;){let n=t.shift();if(!n)break;p=Math.floor((n[0]+n[1])/2),h=e[p],s(d,p)&&(_-=h.size),n[0]<p&&t.pu
17sh([n[0],p-1]),p<n[1]&&t.push([p+1,n[1]])}}else for(p=u-1;_>a&&p>=0;)h=e[p],s(d,p)&&(_-=h.size),p--;d.sort((e,t)=>t-e).forEach(t=>f.apply(l,e.splice(t,1)))}for(te(e,c),e=e.map(e=>({size:e.size,targets:[e.target],align:e.align??.5}));m;){for(p=e.length;p--;)h=e[p],g=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=A(g-h.size*h.align,0,n-h.size);for(p=e.length,m=!1;p--;)p>0&&e[p-1].pos+e[p-1].size>e[p].pos&&(e[p-1].size+=e[p].size,e[p-1].targets=e[p-1].targets.concat(e[p].targets),e[p-1].align=.5,e[p-1].pos+e[p-1].size>n&&(e[p-1].pos=n-e[p-1].size),e.splice(p,1),m=!0)}return f.apply(i,l),p=0,e.some(e=>{let a=0;return(e.targets||[]).some(()=>(i[p].pos=e.pos+a,r!==void 0&&Math.abs(i[p].pos-i[p].target)>r?(i.slice(0,p+1).forEach(e=>delete e.pos),i.reducedLen=(i.reducedLen||n)-n*.1,i.reducedLen>n*.1&&t(i,n,r),!0):(a+=i[p].size,p++,!1)))}),te(i,c),i}e.distribute=t})(Ft||={});var It=Ft,{format:Lt}=Y,{composed:Rt,dateFormats:zt,doc:Bt,isSafari:Vt}=w,{distribute:Ht}=It,Ut=e=>{clearTimeout(e.hideTimer),clearTimeout(e.showTimer)},Wt=class{constructor(e,t,n){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=e,this.init(e,t),this.pointer=n}bodyFormatter(e){return e.map(e=>{let t=e.series.tooltipOptions,n=e.formatPrefix||`point`;return(t[n+`Formatter`]||e.tooltipFormatter).call(e,t[n+`Format`]||``,e)})}cleanSplit(e){this.chart.series.forEach(function(t){let n=t?.tt;n&&(!n.isActive||e?t.tt=n.destroy():n.isActive=!1)})}defaultFormatter(e){let t=this.points||u(this),n;return n=[e.headerFooterFormatter(t[0])],n=n.concat(e.bodyFormatter(t)),n.push(e.headerFooterFormatter(t[0],!0)),n}destroy(){this.tracker=this.tracker?.destroy(),this.label=this.label?.destroy(),this.split&&(this.cleanSplit(!0),this.tt=this.tt?.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),D(this.container)),P(this.hideTimer),Ut(this)}getAnchor(e,t){let{chart:n,pointer:r}=this,i=n.inverted,a=n.plotTop,o=n.plotLeft,s;if(e=u(e),e[0].series?.yAxis&&!e[0].series.yAxis.options.reversedStacks&&(e=e.slice().reverse()),this.followPointer&&t)t.chartX===void 0&&(t=r.normalize(t)),s=[t.chartX-o,t.chartY-a];else if(e[0].tooltipPos)s=e[0].tooltipPos;else{let n=0,r=0;e.forEach(function(e){let t=e.pos(!0);t&&(n+=t[0],r+=t[1])}),n/=e.length,r/=e.length,this.shared&&e.length>1&&t&&(i?n=t.chartX:r=t.chartY),s=[n-o,r-a]}let c={point:e[0],ret:s};return v(this,`getAnchor`,c),c.ret.map(Math.round)}getClassName(e,t,n){let r=this.options,i=e.series,a=i.options;return[r.className,`highcharts-label`,n&&`highcharts-tooltip-header`,t?`highcharts-tooltip-box`:`highcharts-tooltip`,!n&&`highcharts-color-`+(e.colorIndex??i.colorIndex),a?.className].filter(c).join(` `)}getLabel({anchorX:e,anchorY:t}={anchorX:0,anchorY:0}){let n=this,r=this.chart.styledMode,i=this.options,a=this.split&&this.allowShared,o=this.container,s=this.chart.renderer;if(this.label){let e=!this.label.hasClass(`highcharts-label`);(!a&&e||a&&!e)&&this.destroy()}if(!this.label){if(this.outside){let e=this.chart,t=e.options.chart.style;this.container=o=w.doc.createElement(`div`),o.className=`highcharts-container highcharts-tooltip-container `+(e.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||[].join(` `)),o.dataset.highchartsChart=e.index.toString(),j(o,{position:`absolute`,top:`1px`,pointerEvents:`none`,zIndex:Math.max(i.style.zIndex||0,(t?.zIndex||0)+3)}),this.renderer=s=new at(o,0,0,t,void 0,void 0,s.styledMode)}if(a?this.label=s.g(`tooltip`):(this.label=s.label(``,e,t,i.shape||`callout`,void 0,void 0,i.useHTML,void 0,`tooltip`).attr({padding:i.padding,r:i.borderRadius}),r||this.label.attr({fill:i.backgroundColor,"stroke-width":i.borderWidth??+!i.fixed}).css(i.style).css({pointerEvents:i.style.pointerEvents||(this.shouldStickOnContact()?`auto`:`none`)})),n.outside){let e=this.label;[e.xSetter,e.ySetter].forEach((t,r)=>{e[r?`ySetter`:`xSetter`]=i=>{t.call(e,n.distance),e[r?`y`:`x`]=i,o&&(o.style[r?`top`:`left`]=`${i}px`)}})}this.label.attr({zIndex:8}).shadow(i.shadow??!i.fixed).add()}return o&&!o.parentElement&&w.doc.body.appendChild(o),this.label}getPlayingField(){let{body:e,documentElement:t}=Bt,{chart:n,distance:r,outside:i}=this;return{width:i?Math.max(e.scrollWidth,t.scrollWidth,e.offsetWidth,t.offsetWidth,t.clientWidth)-2*r-2:n.chartWidth,height:i?Math.max(e.scrollHeight,t.scrollHeight,e.offsetHeight,t.offsetHeight,t.clientHeight):n.chartHe
17ight}}getPosition(e,t,n){let{distance:r,chart:i,outside:a,pointer:o}=this,{inverted:s,plotLeft:c,plotTop:l,polar:u}=i,{plotX:d=0,plotY:f=0}=n,p={},m=s&&n.h||0,{height:h,width:g}=this.getPlayingField(),_=o.getChartPosition(),v=e=>e*_.scaleX,y=e=>e*_.scaleY,b=n=>{let o=n===`x`;return[n,o?g:h,o?e:t].concat(a?[o?v(e):y(t),o?_.left-r+v(d+c):_.top-r+y(f+l),0,o?g:h]:[o?e:t,o?d+c:f+l,o?c:l,o?c+i.plotWidth:l+i.plotHeight])},x=b(`y`),S=b(`x`),C,w=!!n.negative;!u&&i.hoverSeries?.yAxis?.reversed&&(w=!w);let T=!this.followPointer&&(n.ttBelow??(!u&&!s===w)),E=function(e,t,n,i,o,s,c){let l=a?e===`y`?y(r):v(r):r,u=(n-i)/2,d=i<o-r,f=o+r+i<t,h=o-l-n+u,g=o+l-u;if(T&&f)p[e]=g;else if(!T&&d)p[e]=h;else if(d)p[e]=Math.min(c-i,h-m<0?h:h-m);else if(f)p[e]=Math.max(s,g+m+n>t?g:g+m);else return p[e]=0,!1},D=function(e,t,n,i,a){if(a<r||a>t-r)return!1;a<n/2?p[e]=1:a>t-i/2?p[e]=t-i-2:p[e]=a-n/2},O=function(e){[x,S]=[S,x],C=e},k=()=>{E.apply(0,x)===!1?C?p.x=p.y=0:(O(!0),k()):D.apply(0,S)===!1&&!C&&(O(!0),k())};return(s&&!u||this.len>1)&&O(),k(),a&&(p.x-=_.left,p.y-=_.top),p}getFixedPosition(e,t,n){let r=n.series,{chart:a,options:o,split:s}=this,c=o.position,l=c.relativeTo,u=o.shared||r?.yAxis?.isRadial&&(l===`pane`||!l)?`plotBox`:l,d=u===`chart`?a.renderer:a[u]||a.getClipBox(r,!0);return{x:d.x+(d.width-e)*i(c.align)+c.x,y:d.y+(d.height-t)*i(c.verticalAlign)+(!s&&c.y||0)}}hide(e){let t=this;Ut(this),e??=this.options.hideDelay,this.isHidden||(this.hideTimer=l(function(){let n=t.getLabel();t.getLabel().animate({opacity:0}
17,{duration:e&&150,complete:()=>{n.hide(),t.container&&t.container.remove()}}),t.isHidden=!0},e))}init(e,t){this.chart=e,this.options=t,this.crosshairs=[],this.isHidden=!0,this.split=t.split&&!e.inverted&&!e.polar,this.shared=t.shared||this.split,this.outside=t.outside??!!(e.scrollablePixelsX||e.scrollablePixelsY)}shouldStickOnContact(e){return!!(!this.followPointer&&this.options.stickOnContact&&(!e||this.pointer.inClass(e.target,`highcharts-tooltip`)))}move(e,t,n,r){let{followPointer:i,options:a}=this,o=K(!i&&!this.isHidden&&!a.fixed&&a.animation),s=i||(this.len||0)>1,c={x:e,y:t};this.anchorX=n,this.anchorY=r,s?c.anchorX=c.anchorY=NaN:(c.anchorX=n,c.anchorY=r),o.step=()=>this.drawTracker(),this.getLabel().animate(c,o)}refresh(e,t){let n=this,{chart:r,options:i,pointer:a,shared:o}=this,s=u(e),d=s[0],p=i.format,m=i.formatter||n.defaultFormatter,h=r.styledMode,g=n.allowShared;if(!i.enabled||!d.series)return;Ut(this),n.allowShared=!(!f(e)&&e.series&&e.series.noSharedTooltip),g&&=!n.allowShared,n.followPointer=!n.split&&d.series.tooltipOptions.followPointer;let _=n.getAnchor(e,t),y=_[0],b=_[1];o&&n.allowShared&&(a.applyInactiveState(s),s.forEach(e=>e.setState(`hover`)),d.points=s),this.len=s.length;let x=c(p)?Lt(p,d,r):m.call(d,n,d);d.points=void 0;let S=d.series;this.distance=S.tooltipOptions.distance??16,x===!1?this.hide():this.showTimer=l(()=>{if(n.split&&n.allowShared)n.renderSplit(x,s);else{let e=y,o=b;if(t&&a.isDirectTouch&&(e=t.chartX-r.plotLeft,o=t.chartY-r.plotTop),r.polar||S.options.clip===!1||s.some(t=>a.isDirectTouch||t.series.shouldShowTooltip(e,o))){let e=n.getLabel(g&&n.tt||{});(!i.style.width||h)&&e.css({width:(this.outside?this.getPlayingField():r.spacingBox).width-2*i.padding+`px`}),e.attr({class:n.getClassName(d),text:f(x)?x.join(``):x}),this.outside&&e.attr({x:A(e.x||0,0,this.getPlayingField().width-(e.width||0)-1)}),h||e.attr({stroke:i.borderColor||d.color||S.color||`var(--highcharts-neutral-color-60)`}),n.updatePosition({plotX:y,plotY:b,negative:d.negative,ttBelow:d.ttBelow,series:S,h:_[2]||0})}else{n.hide();return}}n.isHidden&&n.label&&n.label.attr({opacity:1}).show(),n.isHidden=!1},n.isHidden&&i.showDelay||0),v(this,`refresh`)}renderSplit(e,t){let n=this,{chart:r,chart:{chartWidth:i,chartHeight:a,plotHeight:o,plotLeft:s,plotTop:l,scrollablePixelsY:u=0,scrollablePixelsX:f,styledMode:p},distance:m,options:h,options:{fixed:g,position:v,positioner:y},pointer:b}=n,{scrollLeft:x=0,scrollTop:S=0}=r.scrollablePlotArea?.scrollingContainer||{},C=n.outside&&typeof f!=`number`?Bt.documentElement.getBoundingClientRect():{left:x,right:x+i,top:S,bottom:S+a},w=n.getLabel(),T=this.renderer||r.renderer,E=!!r.xAxis[0]?.opposite,{left:D,top:O}=b.getChartPosition(),k=y||g,j=l+S,M=0,N=o-u;function P(e){let{isHeader:t,plotX:n=0,plotY:r=0,series:i}=e,a,c;if(t)a=Math.max(s+n,s),c=l+o/2;else{let{xAxis:e,yAxis:t}=i;a=e.pos+A(n,-m,e.len+m),i.shouldShowTooltip(0,t.pos-l+r,{ignoreX:!0})&&(c=t.pos+r)}return a=A(a,C.left-m,C.right+m),{anchorX:a,anchorY:c}}let ee=function(e,t,r,i,a=[0,0],o=!0){let s,c;if(r.isHeader)c=E?0:N,s=A(a[0]-e/2,C.left,C.right-e-(n.outside?D:0));else if(g&&r){let i=n.getFixedPosition(e,t,r);s=i.x,c=i.y-j}else c=a[1]-j,s=o?a[0]-e-m:a[0]+m,s=A(s,o?s:C.left,C.right);return{x:s,y:c}};function F(e,t,r){let i=e,{isHeader:a,series:o}=t,s=o.tooltipOptions||h,c=a?d(s,s.header):s;if(!i){let e={padding:s.padding,r:s.borderRadius};p||(e.fill=c.backgroundColor,e[`stroke-width`]=c.borderWidth??+!s.fixed),i=T.label(``,0,0,c.shape||(g&&!a?`rect`:`callout`),void 0,void 0,s.useHTML).addClass(n.getClassName(t,!0,a)).attr(e).add(w)}return i.isActive=!0,p||i.css(c.style),i.attr({text:r}),p||i.attr({stroke:c.borderColor||t.color||o.color||`var(--highcharts-neutral-color-80)`}),i}c(e)&&(e=[!1,e]);let I=e.slice(0,t.length+1).reduce(function(e,r,i){if(r!==!1&&r!==``){let a=t[i-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},s=a.isHeader,c=s?n:a.series,l=c.tt=F(c.tt,a,r.toString()),u=l.getBBox(),d=u.width+l.strokeWidth();s&&(M=u.height+h.header.distance,N+=M,E&&(j-=M));let{anchorX:f,anchorY:p}=P(a);if(typeof p==`number`){let t=u.height+1,r=(y||ee).call(n,d,t,a,n,[f,p]);e.push({align:k?0:void 0,anchorX:f,anchorY:p,boxWidth:d,point:a,rank:r.rank??+!!s,size:t,target:r.y,tt:l,x:r.x})}else l.isActive=!1}return e},[]);!k&&I.some(e=>{let{outside:t}=n,r=(t?D:0)+e.anchorX;return r<C.left&&r+e.boxWidth<C.right||r<D-C.left+e.boxWidth&&C.right-r>r})&&(I=I.map(e=>{let{x:t,y:n}=ee.call(this,e.boxWidth,e.size,e.point,void 0,[e.anchorX,e.anchorY],!1);return _(e,{target:n,x:t})})),n.cleanSplit(),Ht(I,N);let L={left:D,right:D};I.forEach(function(e){let{x:t,boxWidth:r,isHeader:i}=e;
17i||(n.outside&&D+t<L.left&&(L.left=D+t),n.outside&&L.left+r>L.right&&(L.right=D+t))}),I.forEach(function(e){let{x:t,anchorX:r,anchorY:i,pos:a,point:{isHeader:o}}=e,s={visibility:a===void 0?`hidden`:`inherit`,x:t,y:(a||0)+j+(g&&v.y||0),anchorX:r,anchorY:i};if(n.outside&&t<r){let e=D-L.left;e>0&&(s.x=o?(L.right-L.left)/2:t+e,s.anchorX=r+e)}e.tt.attr(s)});let{container:R,outside:z,renderer:te}=n;if(z&&R&&te){let{width:e,height:t,x:n,y:r}=w.getBBox();te.setSize(e+n,t+r,!1),R.style.left=L.left+`px`,R.style.top=O+`px`}Vt&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){let e=this;if(!e.shouldStickOnContact()){e.tracker=e.tracker?.destroy();return}let{chart:t,label:n}=e,r=e.shared?t.hoverPoints:t.hoverPoint,i=n?.box;if(!i||!r)return;let{height:a,r:o,width:s,x:c,y:l}=i,{anchorX:u,anchorY:d}=i;h(u)||(u=(e.anchorX||0)-(n.translateX||0),d=(e.anchorY||0)-(n.translateY||0));let f=n.renderer.symbols.callout(c,l,s,a,{anchorX:u,anchorY:d,arrowLength:Math.max(u-s,-u,d-a,-d,0),r:o});e.tracker||(e.tracker=n.renderer.path().addClass(`highcharts-tracker`).add(n),O(e.tracker.element,`mouseenter`,()=>Ut(e)),t.styledMode||e.tracker.attr({fill:`rgba(0,0,0,0)`,stroke:`rgba(0,0,0,0)`,"stroke-linejoin":`round`,"stroke-width":10})),e.tracker.attr({d:f})}styledModeFormat(e){return e.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}"`)}headerFooterFormatter(e,t){let n=e.series,r=n.tooltipOptions,i=n.xAxis?.dateTime,o={isFooter:t,point:e},s=r.xDateFormat||``,c=r[t?`footerFormat`:`headerFormat`];return v(this,`headerFormatter`,o,function(t){if(i&&!s&&h(e.key)&&(s=i.getXDateFormat(e.key,r.dateTimeLabelFormats)),i&&s){if(a(s)){let e=s;zt[0]=t=>n.chart.time.dateFormat(e,t),s=`%0`}(e.tooltipDateKeys||[`key`]).forEach(e=>{c=c.replace(RegExp(`point\\.`+e+`([ \\)}])`),`(point.${e}:${s})$1`)})}n.chart.styledMode&&(c=this.styledModeFormat(c)),t.text=Lt(c,e,this.chart)}),o.text||``}update(e){this.destroy(),this.init(this.chart,d(!0,this.options,e))}updatePosition(e){let{chart:t,container:n,distance:r,options:i,pointer:a,renderer:o}=this,{height:s=0,width:c=0}=this.getLabel(),{fixed:l,positioner:u}=i,{left:d,top:f,scaleX:p,scaleY:m}=a.getChartPosition(),h=(u||l&&this.getFixedPosition||this.getPosition).call(this,c,s,e,this),g=w.doc,_=(e.plotX||0)+t.plotLeft,v=(e.plotY||0)+t.plotTop,y;if(o&&n){if(h.x+=d,h.y+=f,u||l){let{scrollLeft:e=0,scrollTop:n=0}=t.scrollablePlotArea?.scrollingContainer||{};h.x+=e,h.y+=n}y=(i.borderWidth??+!l)+2*r+2,o.setSize(A(c+y,0,g.documentElement.clientWidth)-1,s+y,!1),(p!==1||m!==1)&&(j(n,{transform:`scale(${p}, ${m})`}),_*=p,v*=m),_+=d-h.x,v+=f-h.y}this.move(Math.round(h.x),Math.round(h.y||0),_,v)}};(function(e){function t(t){s(Rt,`Core.Tooltip`)&&O(t,`afterInit`,function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new e(t,t.options.tooltip,this))})}e.compose=t})(Wt||={});var Gt=Wt,{charts:Kt,composed:qt,isTouchDevice:Jt}=w,Yt=(e,t)=>!T(t)||e[`${t}Key`],Xt=class e{applyInactiveState(e=[]){let t=[];e.forEach(e=>{let n=e.series;t.push(n),n.linkedParent&&t.push(n.linkedParent),n.linkedSeries&&t.push.apply(t,n.linkedSeries),n.navigatorSeries&&t.push(n.navigatorSeries),n.boosted&&n.markerGroup&&t.push.apply(t,this.chart.series.filter(e=>e.markerGroup===n.markerGroup))});for(let e of this.chart.series){let n=e.options;n.states?.inactive?.enabled!==!1&&(t.indexOf(e)===-1?e.setState(`inactive`,!0):n.inactiveOtherPoints&&e.setAllPointsToState(`inactive`))}}destroy(){let t=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],w.chartCount||(e.unbindDocumentMouseUp.forEach(e=>e.unbind()),e.unbindDocumentMouseUp.length=0,e.unbindDocumentTouchEnd&&=e.unbindDocumentTouchEnd()),W(t,function(e,n){t[n]=void 0})}getSelectionMarkerAttrs(e,t){let n={args:{chartX:e,chartY:t},attrs:{},shapeType:`rect`};return v(this,`getSelectionMarkerAttrs`,n,n=>{let{chart:r,zoomHor:i,zoomVert:a}=this,{mouseDownX:o=0,mouseDownY:s=0}=r,c=n.attrs,l;c.x=r.plotLeft,c.y=r.plotTop,c.width=i?1:r.plotWidth,c.height=a?1:r.plotHeight,i&&(l=e-o,c.width=Math.max(1,Math.abs(l)),c.x=(l>0?0:l)+o),a&&(l=t-s,c.height=Math.max(1,Math.abs(l)),c.y=(l>0?0:l)+s)}),n}drag(e){let{chart:t}
17=this,{mouseDownX:n=0,mouseDownY:r=0}=t,{panning:i,panKey:o,selectionMarkerFill:s}=t.options.chart,c=t.plotLeft,l=t.plotTop,u=t.plotWidth,d=t.plotHeight,f=a(i)?i.enabled:i,p=o&&e[`${o}Key`],m=e.chartX,h=e.chartY,g,_=this.selectionMarker;if(!(_&&_.touch)&&(m<c?m=c:m>c+u&&(m=c+u),h<l?h=l:h>l+d&&(h=l+d),this.hasDragged=Math.sqrt((n-m)**2+(r-h)**2),this.hasDragged>10)){g=t.isInsidePlot(n-c,r-l,{visiblePlotOnly:!0});let{shapeType:a,attrs:u}=this.getSelectionMarkerAttrs(m,h);this.hasZoom&&g&&!p&&(_||(this.selectionMarker=_=t.renderer[a](),_.attr({class:`highcharts-selection-marker`,zIndex:7}).add(),t.styledMode||_.attr({fill:s}))),_&&_.attr(u),g&&!_&&f&&Yt(e,o)&&t.pan(e,i)}}dragStart(e){let t=this.chart;t.mouseIsDown=e.type,t.cancelClick=!1,t.mouseDownX=e.chartX,t.mouseDownY=e.chartY}getSelectionBox(e){let t={args:{marker:e},result:e.getBBox()};return v(this,`getSelectionBox`,t),t.result}drop(e){let{chart:t,selectionMarker:n}=this,r;for(let e of t.axes)e.isPanning&&(e.isPanning=!1,(e.options.startOnTick||e.options.endOnTick||e.series.some(e=>e.boosted))&&(e.forceRedraw=!0,e.setExtremes(e.userMin,e.userMax,!1),r=!0));if(e?.type===`touchend`&&this.hasDragged&&t.transform({trigger:`drop`}),r&&t.redraw(),n&&e){if(this.hasDragged){let r=this.getSelectionBox(n);t.transform({axes:t.axes.filter(e=>e.zoomEnabled&&(e.coll===`xAxis`&&this.zoomX||e.coll===`yAxis`&&this.zoomY)),selection:{originalEvent:e,xAxis:[],yAxis:[],...r},from:r})}h(t.index)&&(this.selectionMarker=n.destroy())}t&&h(t.index)&&(j(t.container,{cursor:t._cursor}),t.cancelClick=this.hasDragged>10,t.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(e,t,n){let r;function i(e,n){let r=e.distX-n.distX,i=e.dist-n.dist,a=n.series.group?.zIndex-e.series.group?.zIndex,o;return o=r!==0&&t?r:i===0?a===0?e.series.index>n.series.index?-1:1:a:i,o}return e.forEach(function(e){let o=!(e.noSharedTooltip&&t)&&e.options.findNearestPointBy.indexOf(`y`)<0,s=e.searchPoint(n,o);a(s,!0)&&s.series&&(!a(r,!0)||i(r,s)>0)&&(r=s)}),r}getChartCoordinatesFromPoint(e,t){let{xAxis:n,yAxis:r}=e.series,i=e.shapeArgs;if(n&&r){let a=e.clientX??e.plotX??0,o=e.plotY||0;return e.isNode&&i&&h(i.x)&&h(i.y)&&(a=i.x,o=i.y),t?{chartX:r.len+r.pos-o,chartY:n.len+n.pos-a}:{chartX:a+n.pos,chartY:o+r.pos}}if(i?.x&&i.y)return{chartX:i.x,chartY:i.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:e}=this.chart,n=t(e);this.chartPosition={left:n.left,top:n.top,scaleX:1,scaleY:1};let{offsetHeight:r,offsetWidth:i}=e;return i>2&&r>2&&(this.chartPosition.scaleX=n.width/i,this.chartPosition.scaleY=n.height/r),this.chartPosition}getCoordinates(e){let t={xAxis:[],yAxis:[]};for(let n of this.chart.axes)t[n.isXAxis?`xAxis`:`yAxis`].push({axis:n,value:n.toValue(e[n.horiz?`chartX`:`chartY`])});return t}getHoverData(e,t,n,r,i,o){let s=[],c=!!(r&&e),l=function(e){return e.visible&&!(!i&&e.directTouch)&&(e.options.enableMouseTracking??!0)},u=t,d,f={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:i};v(this,`beforeGetHoverData`,f),d=u&&!u.stickyTracking?[u]:n.filter(e=>e.stickyTracking&&(f.filter||l)(e));let p=c||!o?e:this.findNearestKDPoint(d,i,o);return u=p?.series,p&&(i&&!u.noSharedTooltip?(d=n.filter(function(e){return f.filter?f.filter(e):l(e)&&!e.noSharedTooltip}),d.forEach(function(e){let t=e.options?.nullInteraction,n=H(e.points,function(e){return e.x===p.x&&(!e.isNull||!!t)});a(n)&&(e.boosted&&e.boost&&(n=e.boost.getPoint(n)),s.push(n))})):s.push(p)),f={hoverPoint:p},v(this,`afterGetHoverData`,f),{hoverPoint:f.hoverPoint,hoverSeries:u,hoverPoints:s}}getPointFromEvent(e){let t=e.target,n;for(;t&&!n;)n=t.point,t=t.parentNode;return n}onTrackerMouseOut(e){let t=this.chart,n=e.relatedTarget,r=t.hoverSeries;this.isDirectTouch=!1,r&&n&&!r.stickyTracking&&!this.inClass(n,`highcharts-tooltip`)&&(!this.inClass(n,`highcharts-series-`+r.index)||!this.inClass(n,`highcharts-tracker`))&&r.onMouseOut()}inClass(e,t){let n=e,r;for(;n;){if(r=k(n,`class`),r){if(r.indexOf(t)!==-1)return!0;if(r.indexOf(`highcharts-container`)!==-1)return!1}n=n.parentElement}}constructor(e,t){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=t,this.chart=e,this.runChartClick=!!t.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),v(this,`afterInit`)}normalize(e,t){let n=e.touches,r=n?n.length?n.item(0):(n.changedTouches??e.changedTouches)[0]:e;t||=this.getChartPosition();let i=r.pageX-t.left,a=r.pageY-t.top;return i/=t.scaleX,a/=t.scaleY,_(e,{chartX:Math.round(i),chartY:Math.round(a)})}onContainerClick(e){let t=this.chart,n=t.hoverPoint,r=this.normalize(e),i=t.plotLeft,a=t.plotTop;t.cancelClick||(n&&this.inClass(r.target,`highcharts-tracker`)?(v(n.series,`click`,_(r,{point:n})),t.hoverPoint&&n.firePointEvent(`click`,r)):(_(r,this.getCoordinates(r)),t.isInsidePlot(r.chartX-i,r.chartY-a,{visiblePlotOnly:!0})&&v(t,`click`,r)))}onContainerMouseDown(e){let t=((e.buttons||e.button)&1)==1;e=this.normalize(e),w.isFirefox&&e.button!==0&&this.onContainerMouseMove(e),(e.button===void 0||t)&&(this.zoomOption(e),t&&e.preventDefault?.(),this.dragStart(e))}onContainerMouseLeave(t){let{pointer:n}=Kt[e.hoverChartIndex??-1]||{};t=this.normalize(t),this.onContainerMouseMove(t),n&&!this.inClass(t.relatedTarget,`highcharts-tooltip`)&&(n.reset(),n.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(e){let t=this.chart,n=t.tooltip,r=this.normalize(e);this.setHoverChartIndex(e),(t.mouseIsDown===`mousedown`||this.touchSelect(r))&&this.drag(r),!t.exporting?.openMenu&&(this.inClass(r.target,`highcharts-tracker`)||t.isInsidePlot(r.chartX-t.plotLeft,r.chartY-t.plotTop,{visiblePlotOnly:!0}))&&!n?.shouldStickOnContact(r)&&(this.inClass(r.target,`highcharts-no-tooltip`)?this.reset(!1,0):this.runPointActions(r))}onDocumentTouchEnd(e){this.onDocumentMouseUp(e)}onContainerTouchMove(e){this.touchSelect(e)?this.onContainerMouseMove(e):this.touch(e)}onContainerTouchStart(e){this.touchSelect(e)?this.onContainerMouseDown(e):(this.zoomOption(e),this.touch(e,!0))}onDocumentMouseMove(e){let t=this.chart,n=t.tooltip,r=this.chartPosition,i=this.normalize(e,r);r&&!t.isInsidePlot(i.chartX-t.plotLeft,i.chartY-t.plotTop,{visiblePlotOnly:!0})&&!n?.shouldStickOnContact(i)&&(i.target===t.container.ownerDocument||!this.inClass(i.target,`highcharts-tracker`))&&this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),Kt[e.hoverChartIndex??-1]?.pointer?.drop(t)}pinch(e){let t=this,{chart:n,hasZoom:r,lastTouches:i}=t,a=[].map.call(e.touches||[],e=>t.normalize(e)),o=a.length,s=o===1&&(t.inClass(e.target,`highcharts-tracker`)&&n.runTrackerClick||t.runChartClick),c=o===1&&(n.tooltip?.options.followTouchMove??!0);o>1?t.initiated=!0:c&&(t.initiated=!1),r&&t.initiated&&!s&&e.cancelable!==!1&&e.preventDefault(),e.type===`touchstart`?(t.pinchDown=a,t.res=!0,n.mouseDownX=e.chartX):c?this.runPointActions(t.normalize(e)):i&&(v(n,`touchpan`,{originalEvent:e,touches:a},()=>{let r=e=>{let t=e[0],n=e[1]||t;return{x:t.chartX,y:t.chartY,width:n.chartX-t.chartX,height:n.chartY-t.chartY}};n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(this.zoomHor&&e.horiz||this.zoomVert&&!e.horiz)),to:r(a),from:r(i),trigger:e.type}),t.hasDragged=1}),t.res&&(t.res=!1,this.reset(!1,0))),t.lastTouches=a}reset(e,t){let n=this,r=n.chart,i=r.hoverSeries,a=r.hoverPoint,o=r.hoverPoints,s=r.tooltip,c=s?.shared?o:a;
17e&&c&&u(c).forEach(function(t){t.series.isCartesian&&t.plotX===void 0&&(e=!1)}),e?s&&c&&u(c).length&&(s.refresh(c),s.shared&&o?o.forEach(function(e){e.setState(e.state,!0),e.series.isCartesian&&(e.series.xAxis.crosshair&&e.series.xAxis.drawCrosshair(null,e),e.series.yAxis.crosshair&&e.series.yAxis.drawCrosshair(null,e))}):a&&(a.setState(a.state,!0),r.axes.forEach(function(e){e.crosshair&&a.series[e.coll]===e&&e.drawCrosshair(null,a)}))):(a&&a.onMouseOut(),o&&o.forEach(function(e){e.setState()}),i&&i.onMouseOut(),s&&s.hide(t),n.unDocMouseMove&&=n.unDocMouseMove(),r.axes.forEach(function(e){e.hideCrosshair()}),r.hoverPoints=r.hoverPoint=void 0)}runPointActions(t,n,r){let i=this,a=i.chart,o=a.series,s=a.tooltip?.options.enabled?a.tooltip:void 0,c=s?s.shared:!1,l=n||a.hoverPoint,u=l?.series||a.hoverSeries,d=(!t||t.type!==`touchmove`)&&(!!n||u?.directTouch&&i.isDirectTouch),f=this.getHoverData(l,u,o,d,c,t);l=f.hoverPoint,u=f.hoverSeries;let p=f.hoverPoints,m=u?.tooltipOptions.followPointer&&!u.tooltipOptions.split,h=c&&u&&!u.noSharedTooltip;if(l&&(r||l!==a.hoverPoint||s?.isHidden)){if((a.hoverPoints||[]).forEach(function(e){p.indexOf(e)===-1&&e.setState()}),a.hoverSeries!==u&&u.onMouseOver(),i.applyInactiveState(p),(p||[]).forEach(function(e){e.setState(`hover`)}),a.hoverPoint&&a.hoverPoint.firePointEvent(`mouseOut`),!l.series)return;a.hoverPoints=p,a.hoverPoint=l,l.firePointEvent(`mouseOver`,void 0,()=>{s&&l&&s.refresh(h?p:l,t)})}else if(m&&s&&!s.isHidden){let e=s.getAnchor([{}],t);a.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&s.updatePosition({plotX:e[0],plotY:e[1]})}i.unDocMouseMove||(i.unDocMouseMove=O(a.container.ownerDocument,`mousemove`,t=>Kt[e.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),i.eventsToUnbind.push(i.unDocMouseMove)),a.axes.forEach(function(e){let n=e.crosshair?.snap??!0,r;n&&(r=a.hoverPoint,(!r||r.series[e.coll]!==e)&&(r=H(p,t=>t.series?.[e.coll]===e))),r||!n?e.drawCrosshair(t,r):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,n=t.ownerDocument,r=e=>e.parentElement||e.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(O(t,`mouseenter`,this.onContainerMouseEnter.bind(this)),O(t,`mouseleave`,this.onContainerMouseLeave.bind(this))),e.unbindDocumentMouseUp.some(e=>e.doc===n)||e.unbindDocumentMouseUp.push({doc:n,unbind:O(n,`mouseup`,this.onDocumentMouseUp.bind(this))});let i=r(this.chart.renderTo);for(;i&&i.tagName!==`BODY`;)this.eventsToUnbind.push(O(i,`scroll`,()=>{delete this.chartPosition})),i=r(i);this.eventsToUnbind.push(O(t,`touchstart`,this.onContainerTouchStart.bind(this),{passive:!1}),O(t,`touchmove`,this.onContainerTouchMove.bind(this),{passive:!1})),e.unbindDocumentTouchEnd||=O(n,`touchend`,this.onDocumentTouchEnd.bind(this),{passive:!1}),this.setPointerCapture(),O(this.chart,`redraw`,this.setPointerCapture.bind(this))}setPointerCapture(){if(!Jt)return;let e=this,t=e.pointerCaptureEventsToUnbind,n=e.chart,r=n.container,i=(n.options.tooltip?.followTouchMove??!0)&&n.series.some(e=>e.options.findNearestPointBy.indexOf(`y`)>-1);!e.hasPointerCapture&&i?(t.push(O(r,`pointerdown`,e=>{e.target?.hasPointerCapture(e.pointerId)&&e.target?.releasePointerCapture(e.pointerId)}),O(r,`pointermove`,e=>{n.pointer?.getPointFromEvent(e)?.onMouseOver(e)})),e.hasPointerCapture=!0):e.hasPointerCapture&&!i&&(t.forEach(e=>e()),t.length=0,e.hasPointerCapture=!1)}setHoverChartIndex(t){let n=this.chart,r=w.charts[e.hoverChartIndex??-1];if(r&&r!==n){let e={relatedTarget:n.container};t&&!t?.relatedTarget&&Object.assign({},t,e),r.pointer?.onContainerMouseLeave(t||e)}r?.mouseIsDown||(e.hoverChartIndex=n.index)}touch(e,t){let{chart:n,pinchDown:r=[]}=this,i,a;this.setHoverChartIndex(),e=this.normalize(e),e.touches.length===1?(a=n.isInsidePlot(e.chartX-n.plotLeft,e.chartY-n.plotTop,{visiblePlotOnly:!0}),a&&!n.exporting?.openMenu?(t&&this.runPointActions(e),e.type===`touchmove`&&(this.hasPinchMoved=i=r[0]?(r[0].chartX-e.chartX)**2+(r[0].chartY-e.chartY)**2>=16:!1),(i??!0)&&this.pinch(e),this.hasPointerCapture&&e.type===`touchmove`&&!(n.scrollablePixelsX||n.scrollablePixelsY)&&e.preventDefault()):t&&this.reset()):e.touches.length===2&&this.pinch(e)}touchSelect(e){return!!(this.chart.zooming.singleTouch&&e.touches&&e.touches.length===1)}zoomOption(e){let t=this.chart,n=t.inverted,r=t.zooming.type||``,i,a;/touch/.test(e.type)&&(r=t.zooming.pinchType??r),this.zoomX=i=/x/.test(r),this.zoomY=a=/y/.test(r),this.zoomHor=i&&!n||a&&n,this.zoomVert=a&&!n||i&&n,this.hasZoom=(i||a)&&Yt(e,t.zooming.key)}};Xt.unbindDocumentMouseUp=[],(function(e){function t(t){s(qt,`Core.Pointer`)&&O(t,`beforeRender`,function(){this.pointer=new e(this,this.options)})}e.compose=t})(Xt||={});var Zt=Xt;function Qt(e,t,n){return Array.isArray(e)?(e.length=t,e):e[n?`subarray`:`slice`](0,t)}function $t(e,t,n,r,i=[]){if(Array.isArray(e))return Array.isArray(i)||(i=Array.from(i)),{removed:e.splice(t,n,...i),array:e};let a=Object.getPrototypeOf(e).constructor,o=e[r?`subarray`:`slice`](t,t+n),s=new a(e.length-n+i.length);return s.set(e.subarray(0,t),0),s.set(i,t),s.set(e.subarray(t+n),t+i.length),{removed:o,array:s}}function en(e,t){switch(typeof e){case`boolean`:return+!!e;case`number`:return isNaN(e)&&!t?null:e;default:return e=parseFloat(`${e??``}`),isNaN(e)&&!t?null:e}}var{setLength:tn,splice:nn}={convertToNumber:en,setLength:Qt,splice:$t},rn=class{constructor(e={}){this.isDataTable=!0;let t=this.isPollutingKey(e.id)?void 0:e.id;this.autoId=!t,this.columns={},this.id=t||R(),this.rowCount=0,this.versionTag=R();let n=0;W(e.columns||{},(e,t)=>{t!==`__proto__`&&t!==`constructor`&&(this.columns[t]=e.slice(),n=Math.max(n,e.length))}),this.applyRowCount(n)}isPollutingKey(e){return e===`__proto__`||e===`constructor`}applyRowCount(e){this.rowCount=e,W(this.columns,(t,n)=>{t.length!==e&&(this.columns[n]=tn(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let n=0;W(this.columns,(r,i)=>{this.columns[i]=nn(r,e,t).array,n=r.length}),this.rowCount=n}v(this,`afterDeleteRows`,{rowIndex:e,rowCount:t}),this.versionTag=R()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>
17(e[t]=this.columns[t],e),{})}getRowObject(e,t){let n={},r=this.columns;t??=Object.keys(this.columns);for(let i of t)n[i]=r[i]?.[e];return n}setColumn(e,t=[],n=0,r){this.setColumns({[e]:t},n,r)}setColumns(e,t,n){let r=this.rowCount;W(e,(e,t)=>{t!==`__proto__`&&t!==`constructor`&&(this.columns[t]=e.slice(),r=e.length)}),this.applyRowCount(r),n?.silent||(v(this,`afterSetColumns`),this.versionTag=R())}setRow(e,t=this.rowCount,n,r){let{columns:i}=this,a=n?this.rowCount+1:t+1,o=Object.keys(e);if(r?.addColumns!==!1)for(let e=0,t=o.length;e<t;e++){let t=o[e];!this.isPollutingKey(t)&&!Object.hasOwnProperty.call(i,t)&&(i[t]=Array(this.rowCount))}W(i,(r,a)=>{r&&(n?r=nn(r,t,0,!0,[e[a]]).array:r[t]=a in e?e[a]:r[t],i[a]=r)}),this.applyRowCount(Math.max(a,this.rowCount)),r?.silent||(v(this,`afterSetRows`,{rowIndex:t}),this.versionTag=R())}getModified(){return this.modified||this}},an;(function(e){function t(e,t){n.call(this,e,t,!0)}e.areaMarker=t;function n(e,t,n){let r=this.legendItem=this.legendItem||{},{chart:i,options:a}=this,{baseline:o=0,symbolWidth:s,symbolHeight:c}=e,l=this.symbol||`circle`,u=c/2,f=i.renderer,p=r.group,m=o-Math.round((e.fontMetrics?.b||c)*(n?.4:.3)),h={},g,v=a.marker,y=0;if(i.styledMode||(h[`stroke-width`]=Math.min(a.lineWidth||0,24),a.dashStyle?h.dashstyle=a.dashStyle:a.linecap!==`square`&&(h[`stroke-linecap`]=`round`)),r.line=f.path().addClass(`highcharts-graph`).attr(h).add(p),n&&(r.area=f.path().addClass(`highcharts-area`).add(p)),h[`stroke-linecap`]&&(y=Math.min(r.line.strokeWidth(),s)/2),s){let e=[[`M`,y,m],[`L`,s-y,m]];r.line.attr({d:e}),r.area?.attr({d:[...e,[`L`,s-y,o],[`L`,y,o]]})}if(v&&v.enabled!==!1&&s){let e=Math.min(v.radius??u,u);l.indexOf(`url`)===0&&(v=d(v,{width:c,height:c}),e=0),r.symbol=g=f.symbol(l,s/2-e,m-e,2*e,2*e,_({context:`legend`},v)).addClass(`highcharts-point`).add(p),g.isMarker=!0}}e.lineMarker=n})(an||={});var on=an,{defaultOptions:sn}=V,{format:cn}=Y,ln=class e{constructor(e,t,n){this.formatPrefix=`point`,this.visible=!0,this.point=this,this.series=e,this.applyOptions(t,n),this.id??=R(),this.resolveColor(),this.dataLabelOnNull??=e.options.nullInteraction,e.chart.pointCount++,this.category=e.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,v(this,`afterInit`)}applyOptions(t,n,r){let i=this,a=i.series,o=a.options.pointValKey||a.pointValKey;return t=e.prototype.optionsToObject.call(this,t),_(i,t),i.options=i.options?a.chart.options.chart.allowMutatingData?_(i.options,t):d(i.options,t):t,o&&(i.y=e.prototype.getNestedProperty.call(i,o)),h(n)&&(i.x=n),r||(i.selected&&(i.state=`select`),t.group&&delete i.group,t.dataLabels&&delete i.dataLabels,i.isNull=i.isValid&&!i.isValid(),i.formatPrefix=i.isNull?`null`:`point`),i}getOrigin({x:e=0,y:t=0},n={}){let{graphic:r,series:i}=this;if(i.chart.inverted&&r?.parentGroup&&!r?.parentGroup?.rotation){let n=this.pos(!1,e,t);n&&(e=n[0],t=n[1])}e-=(n.width||0)/2,t-=(n.height||0)/2;let a={x:e};return!i.is(`column`)&&!this.plotHigh&&(a.y=t),a}destroy(e){if(!this.destroyed&&!this.condemned){let t=this,n=t.series,r=n.chart,i=r.hoverPoints,a=t.series.chart.renderer.globalAnimation,{duration:o}=K(a),s=()=>{(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(x(t),t.destroyElements());for(let e in t)delete t[e];this.destroyed=!0};t.legendItem&&r.legend.destroyItem(t),i&&(t.setState(),U(i,t),i.length||(r.hoverPoints=void 0)),t===r.hoverPoint&&t.onMouseOut(),o&&!e&&n.condemnedPoints?(n.condemnedPoints.push(this),this.graphic?.addClass(`highcharts-point-condemned`),setTimeout(s,o)):s(),r.pointCount--}this.condemned=!0}destroyElements(e={graphic:1,dataLabel:1}){let t=this,n=[],r,i;for(e.graphic&&n.push(`graphic`,`connector`),e.dataLabel&&n.push(`dataLabel`,`dataLabelPath`,`dataLabelUpper`),i=n.length;i--;)r=n[i],t[r]&&(t[r]=t[r].destroy());[`graphic`,`dataLabel`].forEach(n=>{let r=`${n}s`;e[n]&&t[r]&&(t[r].forEach(e=>{e?.element&&e.destroy()}),delete t[r])})}firePointEvent(e,t,n){let r=this,i=this.series.options;r.manageEvent(e),e===`click`&&i.allowPointSelect&&(n=function(e){!r.condemned&&r.select&&r.select(null,e.ctrlKey||e.metaKey||e.shiftKey)}),v(r,e,t,n)}getClassName(){let e=this;return`highcharts-point`+(e.selected?` highcharts-point-select`:``)+(e.negative&&e.series.options.negativeColor!==!1?` highcharts-negative`:``)+(e.isNull?` highcharts-null-point`:``)+(e.colorIndex===void 0?``:` highcharts-color-`+e.colorIndex)+(e.options.className?` `+e.options.className:``)+(e.zone?.className?` `+e.zone.className.replace(`highcharts-negative`,``):``)}
17getNestedProperty(e){if(e)return e.indexOf(`custom.`)===0?ee(e,this.options):this[e]}getZone(){let e=this.series,t=e.zones,n=e.zoneAxis||`y`,r,i=0;for(r=t[i];i<t.length&&this[n]>=r.value;)r=t[++i];return this.nonZonedColor||=this.color,this.color=r?.color&&!this.options.color?r.color:this.nonZonedColor,r}hasNewShapeType(){let e=this;return(e.graphic&&(e.graphic.symbolName||e.graphic.element.nodeName))!==this.shapeType}isValid(){return(h(this.x)||this.x instanceof Date)&&h(this.y)}optionsToObject(t){let n=this.series,r=n.options.keys,i=r||n.pointArrayMap||[`y`],a=i.length,o={},s,c=0,l=0;if(h(t)||t===null)o[i[0]]=t;else if(f(t))for(!r&&t.length>a&&(s=typeof t[0],s===`string`?n.xAxis?.dateTime?o.x=n.chart.time.parse(t[0]):o[n.tupleKey||`name`]=t[0]:s===`number`&&(o.x=t[0]),c++);l<a;)(!r||t[c]!==void 0)&&(o[i[l]]=t[c]),c++,l++;else typeof t==`object`&&(o=t,t.dataLabels&&(n.hasDataLabels=()=>!0),t.marker&&(n._hasPointMarkers=!0));return(r||!n.options.data)&&Object.keys(o).forEach(t=>{t.indexOf(`.`)>0&&(e.prototype.setNestedProperty(o,o[t],t),delete o[t])}),o}pos(e,t=this.plotX,n=this.plotY){let{series:r}=this,{chart:i,xAxis:a,yAxis:o}=r||{},s=0,c=0;if(i&&h(t)&&h(n))return e&&(s=a?a.pos:i.plotLeft,c=o?o.pos:i.plotTop),i.inverted&&a&&o?[o.len-n+c,a.len-t+s]:[t+s,n+c]}resolveColor(){let{options:e,series:t}=this,n=t.chart,r=n.options.chart,i=n.styledMode,a,o=r.colorCount,s;if(delete this.nonZonedColor,t.options.colorByPoint){if(!i){let e=t.options.colors||n.options.colors;a=e?.[t.colorCounter],o=e?.length}s=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)}else i||(a=t.color),s=t.colorIndex;this.colorIndex=e.colorIndex??s,this.color=e.color??a}setNestedProperty(e,t,n){let r=n.split(`.`);return r.some(e=>e===`__proto__`||e===`constructor`)||r.reduce(function(e,n,r,i){return e[n]=i.length-1===r?t:a(e[n],!0)&&Object.hasOwnProperty.call(e,n)?e[n]:{},e[n]},e),e}shouldDraw(){return!this.isNull}tooltipFormatter(e){let{chart:t,pointArrayMap:n=[`y`],tooltipOptions:r}=this.series,{valueDecimals:i=``,valuePrefix:a=``,valueSuffix:o=``}=r;return t.styledMode&&(e=t.tooltip?.styledModeFormat(e)||e),n.forEach(t=>{t=`{point.`+t,(a||o)&&(e=e.replace(RegExp(t+`}`,`g`),a+t+`}`+o)),e=e.replace(RegExp(t+`}`,`g`),t+`:,.`+i+`f}`)}),cn(e,this,t)}update(e,t=!0,n,r){let i=this,o=i.series,s=i.graphic,l=o.chart,u=o.options,d=u.data;function f(){i.applyOptions(e),s&&i.y===null&&!i.hasMockGraphic&&(i.graphic=s.destroy()),a(e,!0)&&(s?.element&&e?.marker&&e.marker.symbol!==void 0&&(i.graphic=s.destroy()),e?.dataLabels&&i.dataLabel&&(i.dataLabel=i.dataLabel.destroy()));let r=i.index,f=i.optionsToObject(e);o.hasProcessedDataTable||(o.dataTable.setRow(f,r),d&&(d[r]=a(d[r],!0)||a(e,!0)?i.options:e??d[r])),o.isDirty=o.isDirtyData=!0,`x`in f&&(c(f.x)&&(o.xColumnIsNumbers=void 0),i.x=o.getX(f.x),i.isNull=i.isValid&&!i.isValid(),o.xColumn&&(o.xColumn[r]=i.x)),!o.fixedBox&&o.hasCartesianSeries&&(l.isDirtyBox=!0),u.legendType===`point`&&(l.isDirtyLegend=!0),t&&l.redraw(n)}r===!1?f():i.firePointEvent(`update`,{options:e},f)}remove(e,t){this.series.removePoint(this.series.data.indexOf(this),e,t)}select(e,t){let n=this,r=n.series,i=r.chart;e??=!n.selected,this.selectedStaging=e,n.firePointEvent(e?`select`:`unselect`,{accumulate:t},function(){n.selected=n.options.selected=e,r.options.data&&(r.options.data[r.data.indexOf(n)]=n.options),n.setState(e&&`select`),t||i.getSelectedPoints().forEac
17h(function(e){let t=e.series,r=t.options;e.selected&&e!==n&&(e.selected=e.options.selected=!1,r.data&&(r.data[t.data.indexOf(e)]=e.options),e.setState(i.hoverPoints&&r.inactiveOtherPoints?`inactive`:``),e.firePointEvent(`unselect`))})}),delete this.selectedStaging}onMouseOver(e){let t=this,{inverted:n,pointer:r}=t.series.chart;r&&(e=e?r.normalize(e):r.getChartCoordinatesFromPoint(t,n),r.runPointActions(e,t))}onMouseOut(){let e=this;if(!e.series)return;let t=e.series.chart;e.firePointEvent(`mouseOut`),e.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(e){let t=this,n=d(t.series.options.point,t.options).events?.[e];p(n)&&(!t.hcEvents?.[e]||t.hcEvents?.[e]?.map(e=>e.fn).indexOf(n)===-1)?(t.importedUserEvent?.(),t.importedUserEvent=O(t,e,n),t.hcEvents&&(t.hcEvents[e].userEvent=!0)):t.importedUserEvent&&!n&&t.hcEvents?.[e]&&t.hcEvents?.[e].userEvent&&(x(t,e),delete t.hcEvents[e],Object.keys(t.hcEvents)||delete t.importedUserEvent)}setState(e,t){let n=this,r=n.series,i=n.state,o=r.options.states?.[e||`normal`]||{},s=sn.plotOptions?.[r.type]?.marker&&r.options.marker,c=s?.enabled===!1,l=s?.states?.[e||`normal`]||{},u=l.enabled===!1,f=n.marker||{},p=r.chart,m=s&&r.markerAttribs,g=r.halo,y,b,x,S=r.stateMarkerGraphic,C;if(e||=``,e===n.state&&!t||n.selected&&e!==`select`||o.enabled===!1||e&&(u||c&&l.enabled===!1)||e&&f.states?.[e]?.enabled===!1)return;if(n.state=e,m&&(y=r.markerAttribs(n,e)),n.graphic&&!n.hasMockGraphic){if(i&&n.graphic.removeClass(`highcharts-point-`+i),e&&n.graphic.addClass(`highcharts-point-`+e),!p.styledMode){b=r.pointAttribs(n,e),x=p.options.chart.animation??o.animation;let t=b.opacity;r.options.inactiveOtherPoints&&h(t)&&(n.dataLabels||[]).forEach(function(e){e&&!e.hasClass(`highcharts-data-label-hidden`)&&(e.animate({opacity:t},x),e.connector&&e.connector.animate({opacity:t},x))}),n.graphic.animate(b,x)}y&&n.graphic.animate(y,p.options.chart.animation??l.animation??s.animation),S&&S.hide()}else e&&l&&(C=f.symbol||r.symbol,S&&S.currentSymbol!==C&&(S=S.destroy()),y&&(S?S[t?`animate`:`attr`]({x:y.x,y:y.y}):C&&(r.stateMarkerGraphic=S=p.renderer.symbol(C,y.x,y.y,y.width,y.height,d(s,l)).add(r.markerGroup),S.currentSymbol=C)),!p.styledMode&&S&&n.state!==`inactive`&&S.attr(r.pointAttribs(n,e))),S&&(S[e&&n.isInside?`show`:`hide`](),S.element.point=n,S.addClass(n.getClassName(),!0));let w=a(o.halo)?o.halo:{},T=n.graphic||S,E=T?.visibility||`inherit`;w.size&&T&&E!==`hidden`&&!n.isCluster?(g||(r.halo=g=p.renderer.path().add(T.parentGroup)),g.show()[t?`animate`:`attr`]({d:n.haloPath(w.size)}),g.attr({class:`highcharts-halo highcharts-color-`+(n.colorIndex??r.colorIndex)+(n.className?` `+n.className:``),visibility:E,zIndex:-1}),g.point=n,p.styledMode||g.attr(_({fill:n.color||r.color,"fill-opacity":w.opacity},J.filterUserAttributes(w.attributes||{})))):g?.point?.haloPath&&!g.point.destroyed&&g.animate({d:g.point.haloPath(0)},null,g.hide),v(n,`afterSetState`,{state:e})}haloPath(e){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(M(t[0],1)-e,t[1]-e,e*2,e*2):[]}},un={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:`var(--highcharts-background-color)`,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:`var(--highcharts-neutral-color-20)`,lineColor:`var(--highcharts-neutral-color-100)`,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:`center`,borderWidth:0,defer:!0,distance:4,formatter:function(){let{numberFormatter:e}=this.series.chart;return typeof this.y==`number`?e(this.y,-1):``},padding:[1,3],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`},{defaultOptions:dn}=V,fn;(function(e){e.seriesTypes=w.seriesTypes;function t(t,n){let r=dn.plotOptions||{},i=n.defaultOptions,a=n.prototype;return a.type=t,a.pointClass||=ln,!e.seriesTypes[t]&&(i&&(r[t]=i),e.seriesTypes[t]=n,
17!0)}e.registerSeriesType=t;function r(r,i,a,o,s){let c=dn.plotOptions||{};i||=``,c[r]=d(c[i],a),delete e.seriesTypes[r];let l=e.seriesTypes[i]||w.Series;if(t(r,n(l,o)),e.seriesTypes[r].prototype.type=r,s){class t extends ln{}_(t.prototype,s),e.seriesTypes[r].prototype.pointClass=t}return e.seriesTypes[r]}e.seriesType=r})(fn||={});var X=fn,{defaultOptions:pn}=V,{registerEventOptions:mn}=lt,{svg:hn,win:gn}=w,{seriesTypes:_n}=X,{format:vn}=Y,Z=class e{constructor(){this.zoneAxis=`y`}init(e,t){v(this,`init`,{options:t});let n=this,r=e.series;this.eventsToUnbind=[],this.condemnedPoints||=[],n.chart=e,n.options=n.setOptions(t);let i=n.options,a=i.visible!==!1;this.dataTable??=f(i.dataTable)?new rn:i.dataTable?.isDataTable?i.dataTable:new rn(i.dataTable),n.linkedSeries=[],n.bindAxes(),_(n,{name:i.name,state:``,visible:a,selected:i.selected===!0}),mn(this,i),(i.events?.click||i.point?.events?.click||i.allowPointSelect)&&(e.runTrackerClick=!0),n.getColor(),n.getSymbol(),n.isCartesian&&(e.hasCartesianSeries=!0);let o;r.length&&(o=r[r.length-1]),n._i=(o?._i??-1)+1,n.opacity=n.options.opacity,e.orderItems(`series`,N(this,r)),!n.points&&!n.data&&n.setData(i.data,!1),v(this,`afterInit`)}is(e){return _n[e]&&this instanceof _n[e]}bindAxes(){let e=this,t=e.options,n=e.chart,r;v(this,`bindAxes`,null,function(){(e.axisTypes||[]).forEach(function(i){(n[i]||[]).forEach(function(n){r=n.options,
17((t[i]??0)===n.index||t[i]!==void 0&&t[i]===r.id)&&(N(e,n.series),e[i]=n,n.isDirty=!0)}),!e[i]&&e.optionalAxis!==i&&B(18,!0,n)})}),v(this,`afterBindAxes`)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(e,t){let n=e.marker,r=t.marker;return n&&r&&(r.enabled&&!n.enabled||r.symbol!==n.symbol||r.height!==n.height||r.width!==n.width)}autoIncrement(e){let t=this.options,{pointIntervalUnit:n,relativeXValue:r}=this.options,i=this.chart.time,a=this.xIncrement??i.parse(t.pointStart)??0,o;if(this.pointInterval=o=this.pointInterval??t.pointInterval??1,r&&h(e)&&(o*=e),n){let e=i.toParts(a);n===`day`?e[2]+=o:n===`month`?e[1]+=o:n===`year`&&(e[0]+=o),o=i.makeTime.apply(i,e)-a}return r&&h(e)?a+o:(this.xIncrement=a+o,a)}setOptions(e){let t=this.chart,n=t.options.plotOptions,r=t.userOptions||{},i=d(e),a=t.styledMode,o={plotOptions:n,userOptions:i},s;v(this,`setOptions`,o);let c=o.plotOptions[this.type],l=r.plotOptions||{},u=l.series||{},f=pn.plotOptions[this.type]||{},p=l[this.type]||{};c.dataLabels=this.mergeArrays(f.dataLabels,c.dataLabels),this.userOptions=o.userOptions;let m=d(c,n.series,p,i),{negativeColor:h,negativeFillColor:g,zoneAxis:_=`y`,zones:y}=m,b=(y||[]).map(e=>({...e}));return this.tooltipOptions=d(pn.tooltip,pn.plotOptions.series?.tooltip,f?.tooltip,t.userOptions.tooltip,l.series?.tooltip,p.tooltip,i.tooltip),this.stickyTracking=i.stickyTracking??p.stickyTracking??u.stickyTracking??(this.tooltipOptions.shared&&!this.noSharedTooltip?!0:m.stickyTracking),c.marker===null&&delete m.marker,this.zones||=b,this.zoneAxis=_,(h||g)&&!y&&(s={value:m[_+`Threshold`]||m.threshold||0,className:`highcharts-negative`},a||(typeof h!=`boolean`&&(s.color=h),s.fillColor=g),b.push(s)),b.length&&T(b[b.length-1].value)&&b.push(a?{}:{color:this.color,fillColor:this.fillColor}),v(this,`afterSetOptions`,{options:m}),m}getName(){let{chart:e,options:t}=this,{dataMapping:n,name:r}=t,i=n?.y||n?.value,a=c(i)?i:i?.column;return r??(c(a)?a:vn(e.options.lang.seriesName,this,e))}getCyclic(e,t,n){let r=this.chart,i=`${e}Index`,a=`${e}Counter`,o=n?.length||r.options.chart.colorCount,s,c;t||(c=e===`color`?this.options.colorIndex??this[i]:this[i],T(c)?s=c:(r.series.length||(r[a]=0),s=r[a]%o,r[a]+=1),n&&(t=n[s])),s!==void 0&&(this[i]=s),this[e]=t}getColor(){let e=this.chart;e.styledMode?this.getCyclic(`color`):this.options.colorByPoint?this.color=`var(--highcharts-neutral-color-20)`:this.getCyclic(`color`,this.options.color||pn.plotOptions[this.type]?.color,e.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let e=this.options.marker;this.getCyclic(`symbol`,e?.symbol,this.chart.options.symbols)}getColumn(e,t,n){let r=t?this.dataTable.getModified():this.dataTable,i=r.rowCount,a=this.dataTable!==r,o=r.getColumn(e,!0);if(e===`x`&&!a){if(this.xColumn)return this.xColumn;let e=r.getColumn(`name`,!0),t=this.options,n=e=>{if(this.xColumnIsNumbers!==void 0)return this.xColumnIsNumbers;for(let t of e)if(typeof t!=`number`)return this.xColumnIsNumbers=!1;return this.xColumnIsNumbers=!0};if(this.xIncrement=null,!o||this.xAxis?.hasNames||t.relativeXValue||o.length<(t.turboThreshold||1/0)&&!this.boosted&&!n(o)){let t=[];for(let n=0;n<i;n++){let r=o?.[n];T(r)||(this.xIncrement??=t[t.length-1]??null),t.push(this.getX(r,e?.[n]))}return this.xColumn=t}}return o||Array(n?i:0)}getX(e,t){return this.xAxis?.hasNames&&this.dataTable.getColumn(`name`,!0)&&T(t)?this.xAxis.nameToX({name:t,series:this},e):e===void 0||h(e)&&this.options.relativeXValue?this.autoIncrement(e):(typeof e==`string`&&(e=this.chart.time.parse(e),h(e)),e)}matchPoints(e,t,n,r){let{dataTable:i,options:a,requireSorting:o}=this,s=a.dataSorting,c=this.data,l=[],u=[],d=i.rowCount===c.length,f,p,m,h=0,g=!0;this.xIncrement=null,delete this.xColumn;let _=i.getColumn(`x`),v=i.getColumn(`id`),y=s?.matchByName?i.getColumn(`name`):void 0,b=i.getColumn(`index`);for(p=0;p<i.rowCount;p++){let a=_?.[p],m=v?.[p],g=y?.[p],x=b?.[p],[S,C]=m&&t?[m,t]:g&&n?[g,n]:T(x)&&r?[x,r]:T(a)&&e?[a,e]:[],w=-1;if(C){if(w=C.indexOf(S,h),w===-1){let t=_?.[p],n=e?.length??i.rowCount;for(;n&&e&&typeof t==`number`&&e[n-1]>t;)n--;l.push({newIndex:n,oldIndex:p})}else c[w]&&(u.push({newIndex:w,oldIndex:p}),c[w].touched=!0,o&&(h=w+1));(!d||p!==w||s?.enabled||this.hasDerivedData)&&(f=!0)}else l.push({newIndex:p,oldIndex:p})}
17if(f){for(u.forEach(e=>{c[e.newIndex].applyOptions(i.getRowObject(e.oldIndex))}),l.sort((e,t)=>t.newIndex-e.newIndex),l.forEach(e=>{c.splice(e.newIndex,0,void 0)}),p=c.length;p--;)m=c[p],m&&!m.touched&&(m.destroy(),c.splice(p,1));this.isDirtyData=this.isDirty=!0}else if(d&&!s?.enabled){for(p=0;p<i.rowCount;p++)if(!c[p].destroyed&&!c[p].condemned){let e=i.getRowObject(p);e&&(Object.keys(e).forEach(t=>{e[t]===void 0&&delete e[t]}),Object.keys(e).length&&c[p].update(e,!1,void 0,!1))}}else g=!1;if(c.forEach(e=>{e&&(e.touched=!1)}),!g)return!1;let x=this.getColumn(`x`);return this.xIncrement===null&&x.length&&(this.xIncrement=F(x),this.autoIncrement()),!0}getDataColumnKeys(){return this.dataColumnKeys||[`x`,...this.pointArrayMap||[`y`]]}setData(e,t=!0,n,r){let i=this,a=this.dataTable,o=i.options,s=i.points,l=s?.length||0,u=a.getColumn(`x`),p=a.getColumn(`id`),m=o.dataSorting?.matchByName&&s?.map(e=>e.name)||a.getColumn(`name`),h=a.getColumn(`index`),g=i.chart,_=i.xAxis,v,y,b;if(g.options.chart.allowMutatingData||(o.data&&delete i.options.data,i.userOptions.data&&delete i.userOptions.data,b=d(!0,e)),e=b||e,i.xIncrement=null,delete i.xColumn,delete i.xColumnIsNumbers,a!==o.dataTable&&delete a.columns.x,i.colorCounter=0,f(e)?this.setDataFromArray(e):this.setDataFromTable(e),r!==!1&&l&&!i.cropped&&!i.hasGroupedData&&i.visible&&!i.boosted&&(v=this.matchPoints(u,p,m,h)),!v){for(c(this.getColumn(`y`)[0])&&B(14,!0,g),i.data=[],y=l;y--;)s[y]?.destroy();_&&(_.minRange=_.userMinRange),i.isDirty=g.isDirtyBox=!0,i.isDirtyData=!!s,n=!1}f(e)&&(i.options.data=i.userOptions.data=e),o.legendType===`point`&&(this.processData(),this.generatePoints()),t&&g.redraw(n)}setDataFromArray(e){let t=e.length,{keys:n,turboThreshold:r}=this.options,{pointValKey:i=`y`,pointArrayMap:a=[]}=this,o=a.length,s=this.dataTable,c=this.getDataColumnKeys(),l=r&&t>r,u=0,d=1;if(l){let r=this.getFirstValidPoint(e),p=this.getFirstValidPoint(e,t-1,-1),m=e=>!!(f(e)&&(n||h(e[0])));if(h(r)&&h(p))s.setColumn(i,e);else if(m(r)&&m(p)){if(o){let t=r.length===o,n=Array(r.length).fill(0).map(()=>[]);for(let t of e)for(let e=0;e<=o;e++)n[e]?.push(t[e]);s.setColumns((t?a:c).reduce((e,t,r)=>(e[t]=n[r],e),{}))}else{n&&(u=n.indexOf(`x`),d=n.indexOf(`y`),u=u>=0?u:0,d=d>=0?d:1),r.length===1&&(d=0);let t=[],a=[];if(u===d){for(let t of e)a.push(t[d]);s.setColumn(i,a)}else{for(let n of e)t.push(n[u]),a.push(n[d]);s.setColumns({x:t,[i]:a})}}}else l=!1}if(!l){let n={};for(let r=0;r<t;r++){let i=this.pointClass.prototype.optionsToObject.call({series:this},e[r]);for(let e of Object.keys(i))e!==`__proto__`&&e!==`constructor`&&(Object.hasOwnProperty.call(n,e)||(n[e]=Array(t)),n[e][r]=i[e])}t?s.setColumns(n):s.deleteRows(0,s.rowCount)}}setDataFromTable(e){let{chart:t,options:n,dataTable:r}=this,i=t.getDataTable(n),a=e?[e]:i.length?i:t.dataTable,o=this.getDataColumnKeys(),l=n.dataMapping,u=o.slice();l&&(Object.keys(l).forEach(e=>{s(u,e)}),this.dataColumnKeys=u),a.forEach((e,t)=>{let n=u.reduce((n,r)=>{let i=l?.[r],a=e.columns||{},o=e.id,s=c(i)?t===0&&a[i]:((i?.dataTable||0)===t||o&&i?.dataTable===o)&&(h(i?.column)?Object.values(a)[i.column]:a[i?.column||r]);return s&&(n[r]=s),n},{});(l||e)&&r.setColumns(n),e.isDataTable&&this.bindDataTableEvents(e,n)})}bindDataTableEvents(e,t){if(this.hasBoundDataTableEvents)return;let{chart:n,eventsToUnbind:r}=this,i=()=>{clearTimeout(n.redrawTimeout),n.redrawTimeout=setTimeout(()=>n.renderer&&n.redraw(),0)};r.push(O(e,`afterSetRows`,e=>{let n=e.rowIndex;if(h(n)){let e=rn.prototype.getRowObject.call({columns:t},n),r=this.data[n];e&&(this.currentDataGrouping?this.setData():(r?r.update(e,!1):this.addPoint(e,!1),i()))}})),r.push(O(e,`afterDeleteRows`,e=>{let{rowCount:t,rowIndex:n}=e;if(h(n)){for(let e=n+t-1;e>=n;e--)this.removePoint(e,!1);i()}})),r.push(O(e,`afterSetColumns`,e=>{this.setData(e.target)})),this.hasBoundDataTableEvents=!0}getProcessedData(e){let t=this,{dataTable:n,isCartesian:i,options:a,xAxis:o}=t,s=a.cropThreshold,c=e||t.getExtremesFromAll,l=o?.logarithmic,u=n.rowCount,d,f,p=0,m,h,g,_=t.getColumn(`x`),v=n,y=!1;o&&(m=o.getExtremes(),h=m.min,g=m.max,y=!!(o.categories&&!o.names.length),i&&t.sorted&&!c&&(!s||u>s||t.forceCrop)&&(_[u-1]<h||_[0]>g?v=new rn:t.getColumn(t.pointValKey||`y`).length&&(_[0]<h||_[u-1]>g)&&(d=this.cropData(n,h,g),v=d.modified,p=d.start,f=!0))),v!==n&&(_=v.getColumn(`x`,!0)||[]);let b=r([l?_.map(l.log2lin):_],()=>t.requireSorting&&!y&&B(15,!1,t.chart));return{modified:v,cropped:f,cropStart:p,closestPointRange:b}}processData(e){let t=this,n=t.xAxis,r=t.dataTable;if(t.isCartesian&&!t.isDirty&&!n.isDirty&&!t.yAxis.isDirty&&!e)return!1;let i=t.getProcessedData();r.modified=i.modified,t.cropped=i.cropped,t.cropStart=i.cropStart,t.closestPointRange=t.basePointRange=i.closestPointRange,v(t,`afterProcessData`)}cropData(e,t,n){let r=e===this.dataTable?this.getColumn(`x`):e.getColumn(`x`,!0),i=r.length,a,o,s=0,c=i;for(a=0;a<i;a++)if(r[a]>=t){s=Math.max(0,a-1);break}for(o=a;o<i;o++)if(r[o]>n){c=o+1;break}let l=Object.keys(e.columns).reduce((t,n)=>(t[n]=(e.getColumn(n,!0)||[]).slice(s,c),t),{});return l.x=r.slice(s,c),{modified:new rn({columns:l}),start:s,end:c}}generatePoints(){let e=this,t=e.options,n=e.hasProcessedDataTable?void 0:t.data,r=e.dataTable.getModified(),i=e.getColumn(`x`,!0),a=e.pointClass,o=r.rowCount,s=e.cropStart||0,c=e.hasGroupedData,l=t.keys,u=[],d=t.dataGrouping?.groupAll?s:0,f=this.getDataColumnKeys(),p,m,h,g,y=e.data,b;if(!y&&!c){let t=[];t.length=n?.length||0,y=e.data=t}for(l&&c&&(e.options.keys=!1),g=0;g<o;g++)m=s+g,c?(h=new a(e,r.getRowObject(g,f)),h.dataGroup=e.groupMap?.[d+g],h.dataGroup?.options&&(h.options=h.dataGroup.options,_(h,h.dataGroup.options),delete h.dataLabels,h.key=h.name??h.category)):(h=y[m],b=n?n[m]:r.getRowObject(g),!h&&b!==void 0?y[m]=h=new a(e,b,i[g]):h&&(h.category=e.xAxis?.categories?.[h.x]??h.x,h.key=h.name??h.category)),h&&(h.index=c?d+g:m,u[g]=h);
17if(e.options.keys=l,y&&(o!==(p=y.length)||c))for(g=0;g<p;g++)g===s&&!c&&(g+=o),y[g]&&(y[g].destroyElements(),y[g].plotX=void 0);e.data=y,e.points=u,v(this,`afterGeneratePoints`)}getXExtremes(e){return{min:re(e),max:F(e)}}getExtremes(e,t){let{options:n,xAxis:r,yAxis:i}=this,a=t||this.getExtremesFromAll||n.getExtremesFromAll,o=a&&this.cropped?this.dataTable:this.dataTable.getModified(),s=o.rowCount,c=e||this.stackedYData,l=c?[c]:(this.keysAffectYAxis||this.pointArrayMap||[`y`])?.map(e=>o.getColumn(e,!0)||[])||[],u=this.getColumn(`x`,!0),d=[],f=this.requireSorting&&!this.is(`column`)?1:0,p=n.cumulative&&n.cumulativeStart&&f&&!a,m=i?i.positiveValuesOnly:!1,g=a||this.cropped||!r,_,y,b,x=0,S=0;for(r&&(_=r.getExtremes(),x=_.min,S=_.max),b=0;b<s;b++)if(y=u[b],(g||(u[b+f]||y)>=x&&(u[b-f]||y)<=S)&&(!p||y>=x))for(let e of l){let t=e[b];h(t)&&(t>0||!m)&&d.push(t)}let C={activeYData:d,dataMin:re(d),dataMax:F(d)};return v(this,`afterGetExtremes`,{dataExtremes:C}),C}applyExtremes(){let e=this.getExtremes();return this.dataMin=e.dataMin,this.dataMax=e.dataMax,e}getFirstValidPoint(e,t=0,n=1){let r=e.length,i=t;for(;i>=0&&i<r;){if(T(e[i]))return e[i];i+=n}}translate(){this.generatePoints();let e=this,{hasRendered:t,options:n,xAxis:r,yAxis:i}=e,{stacking:a,threshold:o}=n,{polar:s}=e.chart,c=e.points.concat(e.condemnedPoints),l=c.length,u=e.pointPlacementToXValue(),d=!!u,p=n.startFromThreshold?o:0,m=n?.nullInteraction&&i.len,g,_,y,b,x=Number.MAX_VALUE;function S(e){return A(e,-1e9,1e9)}let C=(e,t)=>{let n=r.translate(e,!1,!1,t,!0,u);return h(n)?z(S(n)):void 0},w=(e,t,n)=>{if(h(e)&&t.plotX!==void 0){let t=i.translate(e,!1,!0,n,!0);return h(t)?S(t):void 0}if(!h(e)&&m)return m};for(g=0;g<l;g++){let n=c[g],l=n.x,m,v,E=n.y,D=n.low,O=a&&i.stacking?.stacks[(e.negStacks&&E<(p?0:o)?`-`:``)+e.stackKey];n.plotX=_=C(l),a&&e.visible&&O&&O[l]&&(b=e.getStackIndicator(b,l,e.index),!n.isNull&&b.key&&(m=O[l],v=m.points[b.key]),m&&f(v)&&(D=v[0],E=v[1],D===p&&b.key===O[l].base&&(D=h(o)?o:i.min),i.positiveValuesOnly&&T(D)&&D<=0&&(D=void 0),n.total=n.stackTotal=m.total??void 0,n.percentage=T(n.y)&&m.total?n.y/m.total*100:void 0,n.stackY=E,e.irregularWidths||m.setOffset(e.pointXOffset||0,e.barW||0,void 0,void 0,void 0,e.xAxis))),n.yBottom=T(D)?S(i.translate(D,!1,!0,!1,!0)):void 0,e.dataModify&&(E=e.dataModify.modifyValue(E,g)),n.plotY=w(E,n),n.origin=t&&!n.graphic&&!s?{x:C(l,!0),y:w(E,n,!0)}:void 0,n.isInside=this.isPointInside(n),n.clientX=d?z(r.translate(l,!1,!1,!1,!0,u)):_,n.negative=(n.y||0)<(o||0),!n.isNull&&n.visible!==!1&&h(_)&&(h(y)&&(x=Math.min(x,Math.abs(_-y))),y=_),n.zone=this.zones.length?n.getZone():void 0}e.closestPointRangePx=x,v(this,`afterTranslate`)}getValidPoints(e,t,n){let r=this.chart;return(e||this.points||[]).filter(function(e){let{plotX:i,plotY:a}=e;return!n&&(e.isNull||!h(a))||t&&!r.isInsidePlot(i,a,{inverted:r.inverted})?!1:e.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+`,`+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:e,group:t,markerGroup:n,options:r,plotClipGroup:i}
17=this,a=e.sharedClips,o=e.renderer,s=e.getClipBox(this),c=r.clip??!0,l=this.getSharedClipKey(),u=a[l];u?u.animate(s):a[l]=u=o.clipRect(s),t?.clip(c?u:void 0),n?.clip(),i?.clip(c&&this.yAxis?.clippable?e.plotClipInner:void 0)}animate(e){let{chart:t,group:n,markerGroup:r}=this,i=t.inverted,a=K(this.options.animation),o=[this.getSharedClipKey(),a.duration,a.easing,a.defer].join(`,`),s=t.sharedClips[o],c=t.sharedClips[o+`m`];if(e&&n){let e=t.getClipBox(this);if(s)s.attr(`height`,e.height);else{e.width=0,i&&(e.x=t.plotHeight),s=t.renderer.clipRect(e),t.sharedClips[o]=s;let n={x:-99,y:-99,width:i?t.plotWidth+199:99,height:i?99:t.plotHeight+199};c=t.renderer.clipRect(n),t.sharedClips[o+`m`]=c}n.clip(s),r?.clip(c)}else if(s&&!s.hasClass(`highcharts-animating`)){let e=t.getClipBox(this),n=a.step;(r?.element.childNodes.length||t.series.length>1)&&(a.step=function(e,t){n&&n.apply(t,arguments),t.prop===`width`&&c?.element&&c.attr(i?`height`:`width`,e+99)}),s.addClass(`highcharts-animating`).animate(e,a)}}afterAnimate(){this.setClip(),W(this.chart.sharedClips,(e,t,n)=>{e&&!this.chart.container.querySelector(`[clip-path="url(#${e.id})"]`)&&(e.destroy(),delete n[t])}),this.finishedAnimating=!0,v(this,`afterAnimate`)}drawPoints(e){e||=this.points.concat(this.condemnedPoints);let t=this,n=t.chart,r=n.styledMode,{colorAxis:i,options:a}=t,o=a.marker||{},s=a.nullInteraction,c=t[t.specialGroup||`markerGroup`],l=t.xAxis,u=o.enabled??(!l||l.isRadial?!0:null)??(t.closestPointRangePx??-1/0)>=(o.enabledThreshold??2)*o.radius,d,f,p,m,h,g,_;if(o.enabled!==!1||t._hasPointMarkers)for(d=0;d<e.length;d++){f=e[d],p=f.graphic,m=p?`animate`:`attr`,h=f.marker||{},g=!!f.marker;let a=f.isNull;if((u&&!T(h.enabled)||h.enabled)&&(!a||s)&&f.visible!==!1){let e=h.symbol??t.symbol??`rect`;_=t.markerAttribs(f,f.selected?`select`:``);let a=f.isInside!==!1;if(!p&&a&&((_.width||0)>0||f.hasImage)&&(f.graphic=p=n.renderer.symbol(e,_.x,_.y,_.width,_.height,g?h:o).add(c),f.origin)){let e=f.getOrigin(f.origin,_);r||(e.opacity=0),p.attr(e),m=`animate`}if(p){m===`animate`&&p?.animate(_);let e=t.pointAttribs(f,r||!f.selected?void 0:`select`);r?i&&p.css({fill:e.fill}):p[m](e),p.addClass(f.getClassName(),!0)}}else p&&(f.graphic=p.destroy())}}markerAttribs(e,t){let n=this.options,r=n.marker??{},i=e.marker||{},a=i.symbol||r.symbol,o={},s,c,l=i.radius??r.radius;t&&(s=r.states?.[t],c=i.states?.[t],l=c?.radius??s?.radius??(l&&l+(s?.radiusPlus||0))),e.hasImage=a&&a.indexOf(`url`)===0,e.hasImage&&(l=0);let u=e.pos();return h(l)&&u&&(n.crisp&&(u[0]=M(u[0],e.hasImage?0:a===`rect`?r.lineWidth||0:1)),o.x=u[0]-l,o.y=u[1]-l),l&&(o.width=o.height=2*l),o}pointAttribs(e,t){let n=this.options,r=n.marker??{},i=e?.options,a=i?.marker||{},o=i?.color,s=e?.color,c=e?.zone?.color,l=this.color,u,d,f=a.lineWidth??r.lineWidth,p=e?.isNull&&n.nullInteraction?0:1;l=o||c||s||l,u=a.fillColor||r.fillColor||l,d=a.lineColor||r.lineColor||l,t||=`normal`;let m=r.states?.[t]||{},h=a.states?.[t]||{};return f=h.lineWidth??m.lineWidth??(f||0)+(h.lineWidthPlus??m.lineWidthPlus??0),u=h.fillColor||m.fillColor||u,d=h.lineColor||m.lineColor||d,p=h.opacity??m.opacity??p,{stroke:d,"stroke-width":f,fill:u,opacity:e?.condemned||e?.isInside===!1?0:p}}destroy(e){let t=this,n=t.chart,r=/AppleWebKit\/533/.test(gn.navigator.userAgent),i,a;v(t,`destroy`,{keepEventsForUpdate:e}),this.removeEvents(e);for(let e of t.axisTypes||[])a=t[e],a?.series&&(U(a.series,t),a.isDirty=a.forceRedraw=!0);t.legendItem&&t.chart.legend.destroyItem(t);for(let e of t.points||[])e?.destroy?.(!0);for(let e of t.zones||[])ie(e,void 0,!0);P(t.animationTimeout),W(t,function(e,t){e instanceof q&&!e.survive&&(i=r&&t===`group`?`hide`:`destroy`,e[i]())}),n.hoverSeries===t&&(n.hoverSeries=void 0),U(n.series,t),n.orderItems(`series`),W(t,function(n,r){(!e||r!==`hcEvents`)&&delete t[r]})}applyZones(){let e=this,{area:t,chart:n,graph:r,zones:i,points:a,xAxis:o,yAxis:s,zoneAxis:c}=e,{inverted:l,renderer:u}=n,d=this[`${c}Axis`],{isXAxis:f,len:p=0,minPointOffset:m=0}=d||{},g=(r?.strokeWidth()||0)/2+1,_=(e,t=0,n=0)=>{l&&(n=p-n);let{translated:r=0,lineClip:i,value:a}=e,o=n-r;i?.push([`L`,t,Math.abs(o)<g?n-g*(o<0||o===0&&T(a)?-1:1):r])};if(i.length&&(r||t)&&d&&h(d.min)){let e=d.getExtremes().max+m,n=e=>{e.forEach((t,n)=>{(t[0]===`M`||t[0]===`L`)&&(e[n]=[t[0],f?p-t[1]:t[1],f?t[2]:p-t[2]])})};if(i.forEach(t=>{t.lineClip=[],t.translated=A(d.toPixels(t.value??e,!0)||0,0,p)}),r&&!this.showLine&&r.hide(),t&&t.hide(),c===`y`&&a.length<o.len)for(let e of a){let{plotX:t,plotY:n,zone:r}=e,a=r&&i[i.indexOf(r)-1];r&&_(r,t,n),a&&_(a,t,n)}let h=[],g=d.toPixels(d.getExtremes().min-m,!0);
17i.forEach(e=>{let i=e.lineClip||[],a=Math.round(e.translated||0);o.reversed&&i.reverse();let{clip:c,simpleClip:d}=e,p=0,m=0,_=o.len,v=s.len;f?(p=a,_=g):(m=a,v=g);let y=[[`M`,p,m],[`L`,_,m],[`L`,_,v],[`L`,p,v],[`Z`]],b=[y[0],...i,y[1],y[2],...h,y[3],y[4]];h=i.reverse(),g=a,l&&(n(b),t&&n(y)),c?(c.animate({d:b}),d?.animate({d:y})):(c=e.clip=u.path(b),t&&(d=e.simpleClip=u.path(y))),r&&e.graph?.clip(c),t&&e.area?.clip(d)})}else e.visible&&(r&&r.show(),t&&t.show())}plotGroup(e,t,n,r,i){let a=this[e],o=!a,s={visibility:n,zIndex:r||.1};return T(this.opacity)&&!this.chart.styledMode&&this.state!==`inactive`&&(s.opacity=this.opacity),a||(this[e]=a=this.chart.renderer.g().add(i)),a.addClass(`highcharts-`+t+` highcharts-series-`+this.index+` highcharts-`+this.type+`-series `+(T(this.colorIndex)?`highcharts-color-`+this.colorIndex+` `:``)+(this.options.className||``)+(a.hasClass(`highcharts-tracker`)?` highcharts-tracker`:``),!0),a.attr(s)[o?`attr`:`animate`](this.getPlotBox(t)),a}getPlotBox(e){let t=this.xAxis,n=this.yAxis,r=this.chart,i=r.inverted&&!r.polar&&t&&this.invertible&&e===`series`;r.inverted&&(t=n,n=this.xAxis);let a={scale:1,translateX:t?t.left:r.plotLeft,translateY:n?n.top:r.plotTop,name:e};v(this,`getPlotBox`,a);let{scale:o,translateX:s,translateY:c}=a;return{translateX:s,translateY:c,rotation:i?90:0,rotationOriginX:i?o*(t.len-n.len)/2:0,rotationOriginY:i?o*(t.len+n.len)/2:0,scaleX:i?-o:o,scaleY:o}}removeEvents(e){let{eventsToUnbind:t}=this;e||x(this),t.length&&=(t.forEach(e=>{e()}),0)}render(){let e=this,{chart:t,options:n,hasRendered:r}=e,i=K(n.animation),a=e.visible?`inherit`:`hidden`,o=n.zIndex,s=t.seriesGroup,c=e.finishedAnimating?0:i.duration;v(this,`render`),t.plotClipInner&&(e.plotClipGroup||=t.renderer.g().add(s)),e.plotGroup(`group`,`series`,a,o,e.plotClipGroup||s),e.markerGroup=e.plotGroup(`markerGroup`,`markers`,a,o,s),n.clip!==!1&&e.setClip(),c&&e.animate?.(!0),e.drawGraph&&(e.drawGraph(),e.applyZones()),e.visible&&e.drawPoints(),e.drawDataLabels?.(),e.redrawPoints?.(),n.enableMouseTracking&&e.drawTracker?.(),c&&e.animate?.(),r||(c&&i.defer&&(c+=i.defer),e.animationTimeout=l(()=>{e.afterAnimate()},c||0)),e.isDirty=!1,e.hasRendered=!0,v(e,`afterRender`)}redraw(){let e=this.isDirty||this.isDirtyData;this.translate(),this.render(),e&&delete this.kdTree,this.condemnedPoints.length=0}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(e,t){let{xAxis:n,yAxis:r}=this,i=this.chart.inverted;return this.searchKDTree({clientX:i?n.len-e.chartY+n.pos:e.chartX-n.pos,plotY:i?r.len-e.chartX+r.pos:e.chartY-r.pos},t,e)}buildKDTree(e){this.buildingKdTree=!0;let t=this,n=t.options,r=(n.findNearestPointBy??``).indexOf(`y`)>-1?2:1;function i(e,n,r){let a=e?.length,o,s;if(a)return o=t.kdAxisArray[n%r],e.sort((e,t)=>(e[o]||0)-(t[o]||0)),s=Math.floor(a/2),{point:e[s],left:i(e.slice(0,s),n+1,r),right:i(e.slice(s+1),n+1,r)}}function a(){t.kdTree=i(t.getValidPoints(void 0,!t.directTouch,n?.nullInteraction),r,r),t.buildingKdTree=!1}delete t.kdTree,l(a,n.kdNow||e?.type===`touchstart`?0:1)}searchKDTree(e,t,n,r,i){let a=this,[o,s]=this.kdAxisArray,c=t?`distX`:`dist`,l=(a.options.findNearestPointBy||``).indexOf(`y`)>-1?2:1,u=!!a.isBubble,d=r||((e,t,n)=>{let r=e[n]||0,i=t[n]||0;return[r===i&&e.index>t.index||r<i?e:t,!1]}),f=i||((e,t)=>e<t);function p(e,t){let n=e[o],r=t[o],i=T(n)&&T(r)?n-r:null,a=e[s],c=t[s],l=T(a)&&T(c)?a-c:0,d=u&&t.marker?.radius||0;t.dist=Math.sqrt((i&&i*i||0)+l*l)-d,t.distX=T(i)?Math.abs(i)-d:Number.MAX_VALUE}function m(e,t,n,r){let i=t.point,o=a.kdAxisArray[n%r],s=i,l=!1;p(e,i);let h=(e[o]||0)-(i[o]||0)+(u&&i.marker?.radius||0),g=h<0?`left`:`right`,_=h<0?`right`:`left`;if(t[g]&&([s,l]=d(i,m(e,t[g],n+1,r),c)),t[_]){let i=Math.sqrt(h*h),a=s[c];f(i,a,l)&&(s=d(s,m(e,t[_],n+1,r),c)[0])}return s}if(!this.kdTree&&!this.buildingKdTree&&this.buildKDTree(n),this.kdTree)return m(e,this.kdTree,l,l)}pointPlacementToXValue(){let{options:e,xAxis:t}=this,n=e.pointPlacement;return n===`between`&&(n=t.reversed?-.5:.5),h(n)?n*(e.pointRange||t.pointRange):0}isPointInside(e){let{chart:t,xAxis:n,yAxis:r}=this,{plotX:i=-1,plotY:a=-1}=e;return a>=0&&a<=(r?r.len:t.plotHeight)&&i>=0&&i<=(n?n.len:t.plotWidth)}drawTracker(){let e=this,t=e.options,n=t.trackByArea,r=[].concat((n?e.areaPath:e.graphPath)||[]),i=e.chart,a=i.pointer,o=i.renderer,s=i.options.tooltip?.snap||0,c=()=>{t.enableMouseTracking&&i.hoverSeries!==e&&e.onMouseOver()},l=`rgba(192,192,192,`+(hn?1e-4:.002)+`)`,u=e.tracker;u?u.attr({d:r}):e.graph&&(e.tracker=u=o.path(r).attr({visibility:e.visible?`inherit`:`hidden`,zIndex:2}).addClass(n?`highcharts-tracker-area`:`highcharts-tracker-line`).add(e.group),i.styledMode||u.attr({"stroke-linecap":`round`,"stroke-linejoin":`round`,stroke:l,fill:n?l:`none`,"stroke-width":e.graph.strokeWidth()+(n?0:2*s)}
17),[e.tracker,e.markerGroup,...e.dataLabelsGroups||[]].forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,c).on(`mouseout`,e=>{a?.onTrackerMouseOut(e)}),t.cursor&&!i.styledMode&&e.css({cursor:t.cursor}),e.on(`touchstart`,c))})),v(this,`afterDrawTracker`)}addPoint(e,t,n,r,i){let a=this,o=a.options,{chart:s,data:c,dataTable:l,xAxis:u}=a,d=u?.hasNames&&u.names,f=o.data,p=a.getColumn(`x`),m,h;t??=!0;let{applyOptions:g,optionsToObject:_}=a.pointClass.prototype,y={series:a},b=_.call(y,e);g.call(y,b,void 0,!1);let x=y.x;if(h=p.length,a.requireSorting&&x<p[h-1])for(m=!0;h&&p[h-1]>x;)h--;l.setRow(b,h,!0),this.xColumn?.splice(h,0,this.getX(x)),d&&y.name&&(d[x]=y.name),f?.splice(h,0,e),(m||a.hasProcessedDataTable)&&(a.data.splice(h,0,null),a.processData()),o.legendType===`point`&&a.generatePoints(),n&&(c[0]&&c[0].remove?c[0].remove(!1):([c,f,this.xColumn].filter(T).forEach(e=>{e.shift()}),l.deleteRows(0))),i!==!1&&v(a,`addPoint`,{point:y}),a.isDirty=!0,a.isDirtyData=!0,t&&s.redraw(r)}removePoint(e,t,n){let r=this,{chart:i,data:a,points:o,dataTable:s}=r,c=a[e],l=function(){[o?.length===a.length?o:void 0,a,r.options.data,r.xColumn].filter(T).forEach(t=>{t.splice(e,1)}),s.deleteRows(e),s.modified=s,c?.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&i.redraw()};fe(n,i),t??=!0,c?c.firePointEvent(`remove`,null,l):l()}remove(e,t,n,r){let i=this,a=i.chart;function o(){i.destroy(r),a.isDirtyLegend=a.isDirtyBox=!0,a.linkSeries(r),(e??!0)&&a.redraw(t)}n===!1?o():v(i,`remove`,null,o)}update(t,n){t=ae(t,this.userOptions),v(this,`update`,{options:t});let r=this,i=r.chart,a=r.userOptions,o=r.initialType||r.type,s=i.options.plotOptions,c=_n[o].prototype,l=[`dataLabelsGroup`,`dataLabelsGroups`,`dataLabelsParentGroups`,`group`,`markerGroup`,`plotClipGroup`,`transformGroup`],u=[`dataGrouping`,`pointStart`,`pointInterval`,`pointIntervalUnit`,`keys`],f=r.finishedAnimating&&{animation:!1},p={},m=t.data||t.dataTable,h,g,y=e.keepProps.slice(),b=t.type||a.type||i.options.chart.type,x=!(this.hasDerivedData||b&&b!==this.type||t.keys!==void 0||t.pointStart!==void 0||t.pointInterval!==void 0||t.relativeXValue!==void 0||t.joinBy||t.mapData||u.some(e=>r.hasOptionChanged(e)));b||=o,x?(y.push.apply(y,e.keepPropsForPoints),t.visible!==!1&&(y.push(`area`,`graph`),`zones`in t||y.push(`zones`)),r.parallelArrays.forEach(function(e){y.push(e+`Data`)}),m&&(t.dataSorting&&_(r.options.dataSorting,t.dataSorting),this.setData(m,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&a.dataLabels&&(t.dataLabels=this.mergeArrays(a.dataLabels,t.dataLabels)),t=d(a,{index:a.index===void 0?r.index:a.index,pointStart:s?.series?.pointStart??a.pointStart},!x&&{data:r.options.data},t,f),x&&t.data&&(t.data=r.options.data),y=l.concat(y),y.forEach(function(e){y[e]=r[e],delete r[e]});let S=!1;if(_n[b]){if(S=b!==r.type,r.remove(!1,!1,!1,!0),S){if(i.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(r,_n[b].prototype);else{let e=Object.hasOwnProperty.call(r,`hcEvents`)&&r.hcEvents;for(g in c)r[g]=void 0;_(r,_n[b].prototype),e?r.hcEvents=e:delete r.hcEvents}}}else B(17,!0,i,{missingModuleFor:b});if(y.forEach(function(e){r[e]=y[e]}),r.init(i,t),x&&this.points){h=r.options,h.visible===!1?(p.graphic=1,p.dataLabel=1):(this.hasMarkerChanged(h,a)&&(p.graphic=1),r.hasDataLabels?.()||(p.dataLabel=1));for(let e of this.points)e?.series&&(e.resolveColor(),Object.keys(p).length&&e.destroyElements(p),h.showInLegend===!1&&e.legendItem&&i.legend.destroyItem(e))}r.initialType=o,i.linkSeries(),S&&r.linkedSeries.length&&(r.isDirtyData=!0),v(this,`afterUpdate`),(n??!0)&&i.redraw(x?void 0:!1)}setName(e){this.name=this.options.name=this.userOptions.name=e,this.chart.isDirtyLegend=!0}hasOptionChanged(e){let t=this.chart,n=this.options[e],r=t.options.plotOptions,i=this.userOptions[e],a=r?.[this.type]?.[e]??r?.series?.[e];return i&&!T(a)?n!==i:n!==(a??n)}onMouseOver(){let e=this,t=e.chart,n=t.hoverSeries;t.pointer?.setHoverChartIndex(),n&&n!==e&&n.onMouseOut(),v(e,`mouseOver`),e.setState(`hover`),t.hoverSeries=e}onMouseOut(){let e=this,t=e.chart,n=t.tooltip,r=t.hoverPoint;t.hoverSeries=null,r&&r.onMouseOut(),v(e,`mouseOut`),n&&!e.stickyTracking&&(!n.shared||e.noSharedTooltip)&&n.hide(),t.series.forEac
17h(function(e){e.setState(``,!0)})}setState(e,t){let n=this,{graph:r,options:i}=n,{inactiveOtherPoints:a,states:o={}}=i,s=o[e||`normal`]?.animation??n.chart.options.chart.animation,{lineWidth:c,opacity:l}=i;if(e||=``,n.state!==e&&([n.group,n.markerGroup,...n.dataLabelsGroups||[]].forEach(function(t){t&&(n.state&&t.removeClass(`highcharts-series-`+n.state),e&&t.addClass(`highcharts-series-`+e))}),n.state=e,!n.chart.styledMode)){if(o[e]?.enabled===!1)return;if(e&&(c=o[e]?.lineWidth??(h(c)?c+(o?.[e]?.lineWidthPlus||0):void 0),l=o[e]?.opacity??l),r&&!r.dashstyle&&h(c))for(let e of[r,...this.zones.map(e=>e.graph)])e?.animate({"stroke-width":c},s);a||[n.group,n.markerGroup,...n.dataLabelsGroups||[],n.labelBySeries].forEach(function(e){e?.animate({opacity:l},s)})}t&&a&&n.points&&n.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(t=>t.setState?.(e))}setVisible(e,t){let n=this,r=n.chart,i=r.options.chart.ignoreHiddenSeries,a=n.visible;n.visible=e=n.options.visible=n.userOptions.visible=e===void 0?!a:e;let o=e?`show`:`hide`;[`group`,`markerGroup`,`tracker`,`tt`].forEach(e=>{n[e]?.[o]()}),n.dataLabelsGroups?.forEach(e=>{e?.[o]()}),(r.hoverSeries===n||r.hoverPoint?.series===n)&&n.onMouseOut(),n.legendItem&&r.legend.colorizeItem(n,e),n.isDirty=!0,n.options.stacking&&r.series.forEach(e=>{e.options.stacking&&e.visible&&(e.isDirty=!0)}),n.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),i&&(r.isDirtyBox=!0),v(n,o),t!==!1&&r.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(e){let t=this;t.selected=e=this.options.selected=e===void 0?!t.selected:e,t.checkbox&&(t.checkbox.checked=e),v(t,e?`select`:`unselect`)}shouldShowTooltip(e,t,n={}){return n.series=this,n.visiblePlotOnly=!0,this.chart.isInsidePlot(e,t,n)}drawLegendSymbol(e,t){let n=this.chart.renderer,r=this.options.legendSymbol||`rectangle`,i=t.legendItem||{},{options:a,symbolHeight:o,symbolWidth:s}=e,c=a.squareSymbol,l=c?o:s,u=c?(s-o)/2:0,d=(e.baseline||0)-o+1,f=l,p=o,m=a.symbolRadius??o,h=r===`rectangle`?n.rect(u,d,f,p,m):n.symbols[r]&&n.symbol(r,u,d,f,p,{r:m});h?i.symbol=h.addClass(`highcharts-point`).attr({zIndex:3}).add(i.group):on[r]?.call(this,e,t)}};Z.defaultOptions=un,Z.types=X.seriesTypes,Z.registerType=X.registerSeriesType,Z.keepProps=[`colorIndex`,`eventOptions`,`navigatorSeries`,`symbolIndex`,`baseSeries`],Z.keepPropsForPoints=[`data`,`isDirtyData`,`isDirtyCanvas`,`points`,`condemnedPoints`,`dataTable`,`hasProcessedDataTable`,`xIncrement`,`cropped`,`_hasPointMarkers`,`hasDataLabels`,`nodes`,`layout`,`level`,`mapMap`,`mapData`,`minY`,`maxY`,`minX`,`maxX`,`transformGroups`],_(Z.prototype,{axisTypes:[`xAxis`,`yAxis`],coll:`series`,colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:[`clientX`,`plotY`],parallelArrays:[`x`,`y`],pointClass:ln,requireSorting:!0,sorted:!0}),X.series=Z;var{registerEventOptions:yn}=lt,{composed:bn,marginNames:xn}=w,{distribute:Sn}=It,{format:Cn}=Y,wn=class{constructor(e,t){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=e,this.setOptions(t),t.enabled&&(this.render(),yn(this,t),O(this.chart,`endResize`,function(){this.legend.positionCheckboxes()})),O(this.chart,`render`,()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(e){let t=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=t,this.initialItemY=t-5,this.symbolWidth=e.symbolWidth??16,this.pages=[],this.proximate=e.layout===`proximate`&&!this.chart.inverted,this.baseline=void 0}update(e,t){let n=this.chart;this.setOptions(d(!0,this.options,e)),`events`in this.options&&yn(this,this.options),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,(t??!0)&&n.redraw(),v(this,`afterUpdate`,{redraw:t})}colorizeItem(e,t){let n=e.color,{area:r,group:i,label:a,line:o,symbol:s}=e.legendItem||{};if((e instanceof Z||e instanceof ln)&&(e.color=e.options?.legendSymbolColor||n),i?.[t?`removeClass`:`addClass`](`highcharts-legend-item-hidden`),!this.chart.styledMode){let{itemHiddenStyle:n={}}=this,i=n.color,{fillColor:c,lineColor:l}=e.options,u=e=>(t||(e.fill&&=i,e.stroke&&=i),e);a?.css(d(t?this.itemStyle:n)),o?.attr(u({stroke:l||e.color})),s?.attr(u(e.series?e.series.pointAttribs?.(e):e.pointAttribs?.()||{fill:e.color})),r?.attr(u({fill:c||e.color,"fill-opacity":c?1:e.options.fillOpacity??.75}))}e.color=n,v(this,`afterColorizeItem`,{item:e,visible:t})}
17positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(e){let t=this,{group:n,x:r=0,y:i=0}=e.legendItem||{},a=t.options,o=a.symbolPadding,s=!a.rtl,c=e.checkbox;if(n?.element){let a={translateX:s?r:t.legendWidth-r-2*o-4,translateY:i};n[T(n.translateY)?`animate`:`attr`](a,void 0,()=>{v(this,`afterPositionItem`,{item:e})})}c&&(c.x=r,c.y=i)}destroyItem(e){let t=e.legendItem||{};for(let e of[`group`,`label`,`line`,`symbol`])t[e]&&(t[e]=t[e].destroy());e.checkbox=D(e.checkbox),e.legendItem=void 0}destroy(){let e=this;for(let e of this.getAllItems())this.destroyItem(e);for(let t of[`clipRect`,`up`,`down`,`pager`,`nav`,`box`,`title`,`group`])e[t]&&(e[t]=e[t].destroy());this.display=null}positionCheckboxes(){let e=this.group?.alignAttr,t=this.clipHeight||this.legendHeight,n=this.titleHeight,r;e&&(r=e.translateY,this.allItems.forEach(function(i){let a=i.checkbox,o;a&&(o=r+n+a.y+(this.scrollOffset||0)+3,j(a,{left:e.translateX+i.checkboxOffset+a.x-20+`px`,top:o+`px`,display:this.proximate||o>r-6&&o<r+t-6?``:`none`}))},this))}renderTitle(){let e=this.options,t=this.padding,n=e.title,r,i=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,t-3,t-4,void 0,void 0,void 0,e.useHTML,void 0,`legend-title`).attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+`px`}),r=this.title.getBBox(),i=r.height,this.offsetWidth=r.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i}setText(e){let t=this.options;e.legendItem.label.attr({text:t.labelFormat?Cn(t.labelFormat,e,this.chart):t.labelFormatter.call(e,e)})}renderItem(e){let t=this,n=e.legendItem=e.legendItem||{},r=t.chart,i=r.renderer,a=t.options,o=a.layout===`horizontal`,s=t.symbolWidth,c=a.symbolPadding||0,l=t.itemStyle,u=t.itemHiddenStyle,f=o?a.itemDistance??20:0,p=!a.rtl,m=!e.series,h=!m&&e.series.drawLegendSymbol?e.series:e,g=h.options,_=!!t.createCheckboxForItem&&g&&g.showCheckbox,v=a.useHTML,b=e.options.className,x=n.label,S=s+c+f+(_?20:0);x||(n.group=i.g(`legend-item`).addClass(`highcharts-`+h.type+`-series highcharts-color-`+e.colorIndex+(b?` `+b:``)+(m?` highcharts-series-`+e.index:``)).attr({zIndex:1}).add(t.scrollGroup),n.label=x=i.text(``,p?s+c:-c,t.baseline||0,v),r.styledMode||x.css(d(e.visible?l:u)),x.attr({align:p?`left`:`right`,zIndex:2}).add(n.group),t.baseline||(t.fontMetrics=i.fontMetrics(x),t.baseline=t.fontMetrics.f+3+t.itemMarginTop,x.attr(`y`,t.baseline),t.symbolHeight=a.symbolHeight??t.fontMetrics.f,a.squareSymbol&&(t.symbolWidth=a.symbolWi
17dth??Math.max(t.symbolHeight,16),S=t.symbolWidth+c+f+(_?20:0),p&&x.attr(`x`,t.symbolWidth+c))),h.drawLegendSymbol(t,e),t.setItemEvents&&t.setItemEvents(e,x,v)),_&&!e.checkbox&&t.createCheckboxForItem&&t.createCheckboxForItem(e),t.colorizeItem(e,e.visible),(r.styledMode||!l.width)&&x.css({width:Math.min(a.itemWidth||t.widthOption||r.spacingBox.width,a.maxWidth?y(a.maxWidth,r.chartWidth):1/0)-S+`px`}),t.setText(e);let C=x.getBBox(),w=t.fontMetrics?.h||0;e.itemWidth=e.checkboxOffset=a.itemWidth||n.labelWidth||C.width+S,t.maxItemWidth=Math.max(t.maxItemWidth,e.itemWidth),t.totalItemWidth+=e.itemWidth,t.itemHeight=e.itemHeight=Math.round(n.labelHeight||(C.height>w*1.5?C.height:w))}layoutItem(e){let t=this.options,n=this.padding,r=t.layout===`horizontal`,i=e.itemHeight,a=this.itemMarginBottom,o=this.itemMarginTop,s=r?t.itemDistance??20:0,c=this.maxLegendWidth,l=t.alignColumns&&this.totalItemWidth>c?this.maxItemWidth:e.itemWidth,u=e.legendItem||{};r&&this.itemX-n+l>c&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+a),this.lastLineHeight=0),this.lastItemY=o+this.itemY+a,this.lastLineHeight=Math.max(i,this.lastLineHeight),u.x=this.itemX,u.y=this.itemY,r?this.itemX+=l:(this.itemY+=o+i+a,this.lastLineHeight=i),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(e.checkbox?0:s):l)+n,this.offsetWidth)}getAllItems(){let e=[];return this.chart.series.forEach(function(t){let n=t?.options;t&&(n.showInLegend??!T(n.linkedTo))&&(e=e.concat(t.legendItem?.labels||(n.legendType===`point`?t.data:t)))}),v(this,`afterGetAllItems`,{allItems:e}),e}getAlignment(){let 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,t){let n=this.chart,r=this.options,i=this.getAlignment();i&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
17h((a,o)=>{a.test(i)&&!T(e[o])&&(n[xn[o]]=Math.max(n[xn[o]],n.legend[(o+1)%2?`legendHeight`:`legendWidth`]+[1,-1,-1,1][o]*r[o%2?`x`:`y`]+(r.margin??12)+t[o]+(n.titleOffset[o]||0)))})}proximatePositions(){let e=this.chart,t=[],n=this.options.align===`left`;this.allItems.forEach(function(r){let i,a,o=n,s,c;r.yAxis&&(r.xAxis.options.reversed&&(o=!o),r.points&&(i=H(o?r.points:r.points.slice(0).reverse(),function(e){return h(e.plotY)})),a=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,c=r.yAxis.top-e.plotTop,r.visible?(s=i?i.plotY:r.yAxis.height,s+=c-.3*a):s=c+r.yAxis.height,t.push({target:s,size:a,item:r}))},this);let r;for(let n of Sn(t,e.plotHeight))r=n.item.legendItem||{},h(n.pos)&&(r.y=e.plotTop-e.spacing[0]+n.pos)}render(){let e=this,t=e.chart,n=t.spacingBox.width,r=t.renderer,i=e.options,a=e.padding,o=e.getAllItems(),s,c,l,u=e.group,d,f=e.box;e.itemX=a,e.itemY=e.initialItemY,e.offsetWidth=0,e.lastItemY=0,e.widthOption=y(i.width,n-a),d=n-2*a-i.x,[`rm`,`lm`].indexOf(e.getAlignment().substring(0,2))>-1&&(d/=2),e.maxLegendWidth=e.widthOption||d,u||(e.group=u=r.g(`legend`).addClass(i.className||``).attr({zIndex:7}).add(),e.contentGroup=r.g().attr({zIndex:1}).add(u),e.scrollGroup=r.g().add(e.contentGroup)),e.renderTitle(),te(o,(e,t)=>(e.options?.legendIndex||0)-(t.options?.legendIndex||0)),i.reversed&&o.reverse(),e.allItems=o,e.display=s=!!o.length,e.lastLineHeight=0,e.maxItemWidth=0,e.totalItemWidth=0,e.itemHeight=0,o.forEach(e.renderItem,e),o.forEach(e.layoutItem,e),c=(i.maxWidth?Math.min(e.widthOption||e.offsetWidth,d,y(i.maxWidth,t.chartWidth)||1/0):e.widthOption||e.offsetWidth)+a,l=e.lastItemY+e.lastLineHeight+e.titleHeight,l=e.handleOverflow(l),l+=a,f||(e.box=f=r.rect().addClass(`highcharts-legend-box`).attr({r:i.borderRadius}).add(u)),t.styledMode||f.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||`none`}).shadow(i.shadow),c>0&&l>0&&f[f.placed?`animate`:`attr`](f.crisp.call({},{x:0,y:0,width:c,height:l},f.strokeWidth())),u[s?`show`:`hide`](),t.styledMode&&u.getStyle(`display`)===`none`&&(c=l=0),e.legendWidth=c,e.legendHeight=l,s&&e.align(),this.proximate||this.positionItems(),v(this,`afterRender`)}align(e=this.chart.spacingBox){let t=this.chart,n=this.options,r=e.y;/(lth|ct|rth)/.test(this.getAlignment())&&t.titleOffset[0]>0?r+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&t.titleOffset[2]>0&&(r-=t.titleOffset[2]),r!==e.y&&(e=d(e,{y:r})),t.hasRendered||(this.group.placed=!1),this.group.align(d(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?`top`:n.verticalAlign}),!0,e)}handleOverflow(e){let t=this,n=this.chart,r=n.renderer,i=this.options,a=i.y,o=i.verticalAlign===`top`,s=this.padding,c=i.maxHeight,l=i.navigation,u=l.animation??!0,d=l.arrowSize||12,f=this.pages,p=this.allItems,m=function(e){typeof e==`number`?S.attr({height:e}):S&&(t.clipRect=S.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=e?`rect(`+s+`px,9999px,`+(s+e)+`px,0)`:`auto`)},h=function(e){return t[e]=r.circle(0,0,d*1.3).translate(d/2,d/2).add(x),n.styledMode||t[e].attr(`fill`,`rgba(0,0,0,0.0001)`),t[e]},g,_,v,y,b=n.spacingBox.height+(o?-a:a)-s,x=this.nav,S=this.clipRect;return i.layout===`horizontal`&&i.verticalAlign!==`middle`&&!i.floating&&(b/=2),c&&(b=Math.min(b,c)),f.length=0,e&&b>0&&e>b&&l.enabled!==!1?(this.clipHeight=g=Math.max(b-20-this.titleHeight-s,0),this.currentPage=this.currentPage??1,this.fullHeight=e,p.forEach((e,t)=>{v=e.legendItem||{};let n=v.y||0,r=Math.round(v.label.getBBox().height),i=f.length;(!i||n-f[i-1]>g&&(_||n)!==f[i-1])&&(f.push(_||n),i++),v.pageIx=i-1,_&&y&&(y.pageIx=i-1),t===p.length-1&&n+r-f[i-1]>g&&n>f[i-1]&&(f.push(n),v.pageIx=i),n!==_&&(_=n),y=v}),S||(S=t.clipRect=r.clipRect(0,s-2,9999,0),t.contentGroup.clip(S)),m(g),x||(this.nav=x=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol(`triangle`,0,0,d,d).add(x),h(`upTracker`).on(`click`,function(){t.scroll(-1,u)}),this.pager=r.text(``,15,10).addClass(`highcharts-legend-navigation`),!n.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(x),this.down=r.symbol(`triangle-down`,0,0,d,d).add(x),h(`downTracker`).on(`click`,function(){t.scroll(1,u)})),t.scroll(0),e=b):x&&(m(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),e}scroll(e,t){let n=this.chart,r=this.pages,i=r.length,a=this.clipHeight,o=this.options.navigation,s=this.pager,c=this.padding,u=this.currentPage+e;if(u>i&&(u=i),u>0){t!==void 0&&fe(t,n),this.nav.attr({translateX:c,translateY:a+this.padding+7+this.titleHeight,visibility:`inherit`}),[this.up,this.upTracker].forEach(function(e){e.attr({class:u===1?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})}),s.attr({text:u+`/`+i}),[this.down,this.downTracker].forEach(function(e){e.attr({x:18+this.pager.getBBox().width,class:u===i?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})},this),n.styledMode||(this.up.attr({fill:u===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:u===1?`default`:`pointer`}),this.down.attr({fill:u===i?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:u===i?`default`:`pointer`})),this.scrollOffset=-r[u-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=u,this.positionCheckboxes();let e=K(t??n.renderer.globalAnimation??!0);l(()=>
17{v(this,`afterScroll`,{currentPage:u})},e.duration)}}setItemEvents(e,t,n){let r=this,i=e.legendItem||{},a=r.chart.renderer.boxWrapper,o=e instanceof ln,s=e instanceof Z,c=`highcharts-legend-`+(o?`point`:`series`)+`-active`,l=r.chart.styledMode,u=n?[t,i.symbol]:[i.group],f=t=>{r.allItems.forEach(n=>{e!==n&&[n].concat(n.linkedSeries||[]).forEach(e=>{e.setState(t,!o)})})};for(let n of u)n&&n.on(`mouseover`,function(){e.visible&&f(`inactive`),e.setState(`hover`),e.visible&&a.addClass(c),l||t.css(r.options.itemHoverStyle)}).on(`mouseout`,function(){r.chart.styledMode||t.css(d(e.visible?r.itemStyle:r.itemHiddenStyle)),f(``),a.removeClass(c),e.setState()}).on(`click`,function(t){a.removeClass(c),v(r,`itemClick`,{browserEvent:t,legendItem:e,context:r},function(){e.setVisible&&e.setVisible(),f(e.visible?`inactive`:``)}),o?e.firePointEvent(`legendItemClick`,{browserEvent:t}):s&&v(e,`legendItemClick`,{browserEvent:t})})}createCheckboxForItem(e){let t=this;e.checkbox=I(`input`,{type:`checkbox`,className:`highcharts-legend-checkbox`,checked:e.selected,defaultChecked:e.selected},t.options.itemCheckboxStyle,t.chart.container),O(e.checkbox,`click`,function(t){let n=t.target;v(e.series||e,`checkboxClick`,{checked:n.checked,item:e},function(){e.select()})})}};(function(e){function t(t){s(bn,`Core.Legend`)&&O(t,`beforeMargins`,function(){this.legend=new e(this,this.options.legend)})}e.compose=t})(wn||={});var Tn=wn,{defaultOptions:En}=V,{numberFormat:Dn}=Y,{registerEventOptions:On}=lt,{charts:kn,doc:An,marginNames:jn,win:Mn}=w,{seriesTypes:Nn}=X,Pn=class t{static chart(e,n,r){let i=new t(e,n,r);return i.promise??i}constructor(e,t,n){if(this.sharedClips={},!An){B(36,!1,this);return}let r=[...arguments];(c(e)||e.nodeName)&&(this.renderTo=r.shift()),this.init(r[0],r[1])}setZoomOptions(){let e=this,t=e.options.chart,n=t.zooming;e.zooming={...n,type:t.zoomType??n.type,key:t.zoomKey??n.key,pinchType:t.pinchType??n.pinchType,singleTouch:t.zoomBySingleTouch??n.singleTouch??!1,resetButton:d(n.resetButton,t.resetZoomButton)}}init(e,t){v(this,`init`,{args:arguments},function(){let n=d(En,e),r=n.chart,i=this.renderTo||r.renderTo;this.userOptions=_({},e),(this.renderTo=c(i)?An.getElementById(i):i)||B(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],t===!0?this.promise=new Promise(e=>{this.callback=e}):this.callback=t,this.isResizing=0,this.options=n,this.axes=[],this.series=[],this.locale=n.lang.locale??this.renderTo.closest(`[lang]`)?.lang,this.time=new L(_(n.time||{},{locale:this.locale}),n.lang),n.time=this.time.options,this.numberFormatter=(r.numberFormatter||Dn).bind(this),this.styledMode=r.styledMode,this.hasCartesianSeries=r.showAxes;let a=this;a.index=kn.length,a.dataTable=a.getDataTable(n),kn.push(a),w.chartCount++,On(this,r),a.xAxis=[],a.yAxis=[],a.pointCount=a.colorCounter=a.symbolCounter=0,this.setZoomOptions(),v(a,`afterInit`),a.firstRender()})}getDataTable(e){return(e.dataTable?u(e.dataTable):[]).map(e=>e.isDataTable?e:new rn(e))}initSeries(e){let t=this,n=t.options.chart,r=e.type||n.type,i=Nn[r];i||B(17,!0,t,{missingModuleFor:r});let a=new i;return typeof a.init==`function`&&a.init(t,e),a}orderItems(e,t=0){let n=this[e],r=this.options[e]=u(this.options[e]).slice(),i=this.userOptions[e]=this.userOptions[e]?u(this.userOptions[e]).slice():[];if(this.hasRendered&&(r.splice(t),i.splice(t)),n)for(let e=t,a=n.length;e<a;++e){let t=n[e];t&&(t.index=e,t instanceof Z&&(t.name=t.getName()),t.options.isInternal||(r[e]=t.options,i[e]=t.userOptions))}}getClipBox(e,t){let n=this.inverted,{xAxis:r,yAxis:i}=e||{},{x:a,y:o,width:s,height:c}=d(this.clipBox);return e&&(r&&r.len!==this.plotSizeX&&!r.isRadial&&(s=r.len),i&&i.len!==this.plotSizeY&&!i.isRadial&&(c=i.len),n&&!e.invertible&&([s,c]=[c,s])),t&&(a+=(n?i:r)?.pos??this.plotLeft,o+=(n?r:i)?.pos??this.plotTop),{x:a,y:o,width:s,height:c}}isInsidePlot(e,t,n={}){let{inverted:r,plotBox:i,plotLeft:a,plotTop:o,scrollablePlotBox:s}=this,{scrollLeft:c=0,scrollTop:l=0}=n.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},u=n.series,d=n.visiblePlotOnly&&s||i,f=n.inverted?t:e,p=n.inverted?e:t,m={x:f,y:p,isInsidePlot:!0,options:n};if(!n.ignoreX){let e=u&&(r&&!this.polar?u.yAxis:u.xAxis)||{pos:a,len:1/0},t=n.paneCoordinates?e.pos+f:a+f;t>=Math.max(c+a,e.pos)&&t<=Math.min(c+a+d.width,e.pos+e.len)||(m.isInsidePlot=!1)}if(!n.ignoreY&&m.isInsidePlot){let e=!r&&n.axis&&!n.axis.isXAxis&&n.axis||u&&(r?u.xAxis:u.yAxis)||{pos:o,len:1/0},t=n.paneCoordinates?e.pos+p:o+p;t>=Math.max(l+o,e.pos)&&t<=Math.min(l+o+d.height,e.pos+e.len)||(m.isInsidePlot=!1)}return v(this,`afterIsInsidePlot`,m),m.isInsidePlot}redraw(e){v(this,`beforeRedraw`);let t=this,n=t.hasCartesianSeries?t.axes:t.colorAxis||[],r=t.series,i=t.pointer,a=t.legend,o=t.userOptions.legend,s=t.renderer,c=s.isHidden(),l=[],u,d,f,p=t.isDirtyLegend,m;for(s.rootFontSize=s.boxWrapper.getStyle(`font-size`),t.setResponsive&&t.setResponsive(!1),fe(t.hasRendered?e:!1,t),c&&t.temporaryDisplay(),t.layOutTitles(!1),f=r.length;f--;)if(m=r[f],(m.options.stacking||m.options.centerInCategory)&&(d=!0,m.isDirty)){u=!0;break}if(u)for(f=r.length;f--;)m=r[f],m.options.stacking&&(m.isDirty=!0);
17r.forEach(function(e){e.isDirty&&(e.options.legendType===`point`?(typeof e.updateTotals==`function`&&e.updateTotals(),p=!0):o&&(o.labelFormatter||o.labelFormat)&&(p=!0)),e.isDirtyData&&v(e,`updatedData`)}),p&&a&&a.options.enabled&&(a.render(),t.isDirtyLegend=!1),d&&t.getStacks(),n.forEach(function(e){e.updateNames(),e.setScale()}),t.getMargins();let h=t.isDirtyBox;n.forEach(function(e){e.isDirty&&(h=!0)}),n.forEach(function(e){let t=e.min+`,`+e.max;e.extKey!==t&&(e.extKey=t,l.push(function(){v(e,`afterSetExtremes`,_(e.eventArgs,e.getExtremes())),delete e.eventArgs})),(h||d)&&e.redraw()}),h&&t.drawChartBox(),v(t,`predraw`),r.forEach(function(e){(h||e.isDirty)&&e.visible&&e.redraw(),e.isDirtyData=!1}),i&&i.reset(!0),s.draw(),n.forEach(e=>{e.saveOld()}),v(t,`redraw`),v(t,`render`),c&&t.temporaryDisplay(!0),l.forEach(function(e){e.call()})}get(e){let t=this.series;function n(t){return t.id===e||t.options&&t.options.id===e}let r=H(this.axes,n)||H(this.series,n);for(let e=0;!r&&e<t.length;e++)r=H(t[e].points||[],n);return r}createAxes(){let e=this.userOptions;v(this,`createAxes`);for(let t of[`xAxis`,`yAxis`]){let n=e[t]=u(e[t]||{});for(let e of n)new Ot(this,e,t)}v(this,`afterCreateAxes`)}getSelectedPoints(){return this.series.reduce((e,t)=>(t.getPointsCollection().forEach(t=>{(t.selectedStaging??t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(e=>e.selected)}setTitle(e,t,n){this.applyDescription(`title`,e),this.applyDescription(`subtitle`,t),this.applyDescription(`caption`,void 0),this.layOutTitles(n)}applyDescription(e,t){let n=this,r=this.options[e]=d(this.options[e],t),i=this[e];i&&t&&(this[e]=i=i.destroy()),r&&!i&&(i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,class:[r.className,`highcharts-`+e].filter(c).join(` `),zIndex:r.zIndex||4}).css({textOverflow:`ellipsis`,whiteSpace:`nowrap`}).add(),i.update=function(t,r){n.applyDescription(e,t),n.layOutTitles(r)},this.styledMode||i.css(_(e===`title`?{fontSize:this.options.isStock?`1em`:`1.2em`}:{},r.style)),i.textPxLength=i.getBBox().width,i.css({whiteSpace:r.style?.whiteSpace}),this[e]=i)}layOutTitles(e=!0){let t=[0,0,0],{options:n,renderer:r,spacingBox:a}=this;[`title`,`subtitle`,`caption`].forEach(e=>{let n=this[e],o=this.options[e],s=d(a),c=n?.textPxLength||0;if(n&&o){v(this,`layOutTitle`,{alignTo:s,key:e,textPxLength:c});let a=r.fontMetrics(n),l=a.b,u=a.h,f=o.verticalAlign||`top`,p=f===`top`,m=p&&o.minScale||1,h=e===`title`?p?-3:0:p?t[0]+2:0,g=Math.min(s.width/c,1),_=Math.max(m,g),y=d({y:f===`bottom`?l:h+l},o),b=(o.width||(g>m?this.chartWidth:s.width)/_)+`px`;y.align??=e===`title`?g<m?`left`:`center`:this.title?.alignValue,n.alignValue!==y.align&&(n.placed=!1);let x=Math.round(n.css({width:b}).getBBox(o.useHTML).height);if(y.height=x,n.align(y,!1,s).attr({align:y.align,scaleX:_,scaleY:_,"transform-origin":`${s.x+c*_*i(y.align)} ${u}`}),!o.floating){let e=x*(x<u*1.2?1:_);f===`top`?t[0]=Math.ceil(t[0]+e):f===`bottom`&&(t[2]=Math.ceil(t[2]+e))}}},this),t[0]&&(n.title?.verticalAlign||`top`)===`top`&&(t[0]+=n.title?.margin||0),t[2]&&n.caption?.verticalAlign===`bottom`&&(t[2]+=n.caption?.margin||0);let o=!this.titleOffset||this.titleOffset.join(`,`)!==t.join(`,`);this.titleOffset=t,v(this,`afterLayOutTitles`),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&e&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,e=>{if(e!==this.container){let t=e.style.display;return e.style.display=`none`,[e,t]}}),n={width:e(this.renderTo,`width`,!0)||0,height:e(this.renderTo,`height`,!0)||0};return t.filter(Boolean).forEach(([e,t])=>{e.style.display=t}),n}getChartSize(){let e=this,t=e.options.chart,n=t.width,r=t.height,i=e.getContainerBox(),a=i.height<=1||!e.renderTo.parentElement?.style.height&&e.renderTo.style.height===`100%`;e.chartWidth=Math.max(0,n||i.width||600),e.chartHeight=Math.max(0,y(r,e.chartWidth)||(a?400:i.height)),e.containerBox=i}temporaryDisplay(t){let n=this.renderTo,r;if(t)for(;n?.style;)n.hcOrigStyle&&(j(n,n.hcOrigStyle),delete n.hcOrigStyle),n.hcOrigDetached&&(An.body.removeChild(n),n.hcOrigDetached=!1),n=n.parentNode;else for(;n?.style&&(!An.body.contains(n)&&!n.parentNode&&(n.hcOrigDetached=!0,An.body.appendChild(n)),(e(n,`display`,!1)===`none`||n.hcOrigDetached)&&(n.hcOrigStyle={display:n.style.display,height:n.style.height,overflow:n.style.overflow},r={display:`block`,overflow:`hidden`},n!==this.renderTo&&(r.height=0),j(n,r),n.offsetWidth||n.style.setProperty(`display`,`block`,`important`)),n=n.parentNode,n!==An.body););}setClassName(e){this.container.className=`highcharts-container `+(e||``)}getContainer(){let e=this,t=e.options,n=t.chart,r=`data-highcharts-chart`,i=R(),a=e.renderTo,o,s=b(k(a,r));h(s)&&kn[s]&&kn[s].hasRendered&&kn[s].destroy(),k(a,r,e.index),a.innerHTML=J.emptyHTML,!n.skipClone&&!a.offsetWidth&&e.temporaryDisplay(),e.getChartSize();let c=e.chartHeight,l=e.chartWidth;j(a,{overflow:`hidden`}),e.styledMode||(o=_({position:`relative`,overflow:`hidden`,width:l+`px`,he
17ight:c+`px`,textAlign:`left`,lineHeight:`normal`,zIndex:0,"-webkit-tap-highlight-color":`rgba(0,0,0,0)`,userSelect:`none`,"touch-action":`manipulation`,outline:`none`,padding:`0px`},n.style||{}));let u=I(`div`,{id:i},o,a);if(e.container=u,e.getChartSize(),l!==e.chartWidth&&(l=e.chartWidth,e.styledMode||j(u,{width:n.style?.width??l+`px`})),e._cursor=u.style.cursor,e.renderer=new at(u,l,c,void 0,n.forExport,t.exporting?.allowHTML,e.styledMode,t.palette,e.index),e.containerBox=e.getContainerBox(),fe(void 0,e),e.setClassName(n.className),!e.styledMode)e.renderer.setStyle(n.style),this.palette=e.renderer.palette;else for(let e in t.defs)this.renderer.definition(t.defs[e]);v(this,`afterGetContainer`)}getMargins(e){let{spacing:t,margin:n,titleOffset:r}=this;this.resetMargins(),r[0]&&!T(n[0])&&(this.plotTop=Math.max(this.plotTop,r[0]+t[0])),r[2]&&!T(n[2])&&(this.marginBottom=Math.max(this.marginBottom,r[2]+t[2])),this.legend?.display&&this.legend.adjustMargins(n,t),v(this,`getMargins`),e||this.getAxisMargins()}getAxisMargins(){let e=this,t=e.axisOffset=[0,0,0,0],n=e.colorAxis,r=e.margin,i=e=>{e.forEach(e=>{e.visible&&e.getOffset()})};e.hasCartesianSeries?i(e.axes):n?.length&&i(n),jn.forEach((n,i)=>{T(r[i])||(e[n]+=t[i])}),e.setChartSize()}getOptions(){return ae(this.userOptions,En)}reflow(e){let t=this,n=t.containerBox,r=t.getContainerBox();delete t.pointer?.chartPosition,!t.exporting?.isPrinting&&!t.isResizing&&n&&r.width&&((r.width!==n.width||r.height!==n.height)&&(P(t.reflowTimeout),t.reflowTimeout=l(function(){if(t.container){t.setSize(void 0,void 0,!1);let e=t.containerBox;e&&(e.height=t.chartHeight)}},e?100:0)),t.containerBox=r)}setReflow(){let e=this,t=t=>{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};if(typeof ResizeObserver==`function`)new ResizeObserver(t).observe(e.renderTo);else{let e=O(Mn,`resize`,t);O(this,`destroy`,e)}}setSize(e,t,n){let r=this,i=r.renderer;r.isResizing+=1,fe(n,r);let a=i.globalAnimation;r.oldChartHeight=r.chartHeight,r.oldChartWidth=r.chartWidth,e!==void 0&&(r.options.chart.width=e),t!==void 0&&(r.options.chart.height=t),r.getChartSize();let{chartWidth:o,chartHeight:s,scrollablePixelsX:c=0,scrollablePixelsY:l=0}=r;(r.isDirtyBox||o!==r.oldChartWidth||s!==r.oldChartHeight)&&(r.styledMode||(a?me:j)(r.container,{width:`${o+c}px`,height:`${s+l}px`},a),r.setChartSize(!0),i.setSize(o,s,a),r.axes.forEach(function(e){e.isDirty=!0,e.setScale()}),r.isDirtyLegend=!0,r.isDirtyBox=!0,r.layOutTitles(),r.getMargins(),r.redraw(a),r.oldChartHeight=void 0,v(r,`resize`),setTimeout(()=>{r&&v(r,`endResize`)},K(a).duration)),--r.isResizing}setChartSize(e){let t=this,{chartHeight:n,chartWidth:r,clipOffset:i,inverted:a,spacing:o,renderer:s}=t,c=Math[a?`floor`:`round`],l,u,d,f;if(t.plotLeft=l=Math.round(t.plotLeft),t.plotTop=u=Math.round(t.plotTop),t.plotWidth=d=Math.max(0,Math.round(r-l-(t.marginRight??0))),t.plotHeight=f=Math.max(0,Math.round(n-u-(t.marginBottom??0))),t.plotSizeX=a?f:d,t.plotSizeY=a?d:f,t.spacingBox=s.spacingBox={x:o[3],y:o[0],width:r-o[3]-o[1],height:n-o[0]-o[2]},t.plotBox=s.plotBox={x:l,y:u,width:d,height:f},i&&(t.clipBox={x:c(i[a?2:3]),y:c(i[+!!a]),width:c(t.plotSizeX-i[+!a]-i[a?2:3]),height:c(t.plotSizeY-i[+!!a]-i[a?3:2])}),!e){for(let e of t.axes)e.setAxisSize(),e.setAxisTranslation();s.alignElements()}v(t,`afterSetChartSize`,{skipAxes:e})}resetMargins(){v(this,`resetMargins`);let e=this,t=e.options.chart,n=t.plotBorderWidth||0,r=Math.round(n)/2;[`margin`,`spacing`].forEach(n=>{let r=t[n],i=a(r)?r:[r,r,r,r];[`Top`,`Right`,`Bottom`,`Left`].forEach((r,a)=>{e[n][a]=t[`${n}${r}`]??i[a]})}),jn.forEach((t,n)=>{e[t]=e.margin[n]??e.spacing[n]}),e.axisOffset=[0,0,0,0],e.clipOffset=[r,r,r,r],e.plotBorderWidth=n}drawChartBox(){let e=this,t=e.options.chart,{backgroundColor:n,plotBackgroun
17dColor:r,plotBackgroundImage:i,plotBorderRadius:a=0,shadow:o}=t,{chartWidth:s,chartHeight:c,clipBox:l,clipOffset:u,clipRect:f,plotBGImage:p,plotBox:m,plotLeft:h,plotTop:g,plotWidth:_,plotHeight:y,renderer:b,styledMode:x}=e,S=e.chartBackground,C=e.plotBackground,w=e.plotBorder,T,E,D,O=`animate`;S||(e.chartBackground=S=b.rect().addClass(`highcharts-background`).add(),O=`attr`),x?T=E=S.strokeWidth():(T=t.borderWidth||0,E=T+(o?8:0),D={fill:n||`none`},(T||S[`stroke-width`])&&(D.stroke=t.borderColor,D[`stroke-width`]=T),S.attr(D).shadow(o)),S[O]({x:E/2,y:E/2,width:s-E-T%2,height:c-E-T%2,r:t.borderRadius}),O=`animate`,C||(O=`attr`,e.plotBackground=C=b.rect().addClass(`highcharts-plot-background`).add()),C[O]({...m,r:a}),x||(C.attr({fill:r||`none`}).shadow(t.plotShadow),i&&(p?(i!==p.attr(`href`)&&p.attr(`href`,i),p.animate(m)):e.plotBGImage=b.image(i,h,g,_,y).add())),f?f.animate({width:l.width,height:l.height}):e.clipRect=b.clipRect(l),O=`animate`,w||(O=`attr`,e.plotBorder=w=b.rect().addClass(`highcharts-plot-border`).attr({zIndex:1.5}).add()),w.attr(x?void 0:{stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:`none`})[O]({r:a});let k=w.strokeWidth(),A=d(w.crisp(m,-k));if(u&&!x){let e=u[0]-k/2,t=u[3]-k/2;A.x-=t,A.y-=e,A.width+=t+u[1]-k/2,A.height+=e+u[2]-k/2}w[O](A),[`plotClipOuter`,`plotClipInner`].forEach((t,n)=>{let r=e[t],i=n?-k:k;r?.[a?O:`attr`]({x:A.x-i/2,y:A.y-i/2,width:A.width+i,height:A.height+i,r:a?a+i/2:0}),r?.parentGroup?.attr({display:a?``:`none`})}),e.isDirtyBox=!1,v(this,`afterDrawChartBox`)}propFromSeries(){let e=this,t=e.options.chart,n=e.options.series,r,i,a;[`inverted`,`angular`,`polar`].forEach(function(o){for(i=Nn[t.type],a=t[o]||i&&i.prototype[o],r=n?.length;!a&&r--;)i=Nn[n[r].type],i&&i.prototype[o]&&(a=!0);e[o]=a})}linkSeries(e){let t=this,n=t.series;n.forEach(function(e){e.linkedSeries.length=0}),n.forEach(function(e){let{linkedTo:r}=e.options,i=c(r)&&(r===`:previous`?n[e.index-1]:t.get(r));i&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,e.visible=e.options.visible??i.options.visible??e.visible)}),v(this,`afterLinkSeries`,{isUpdating:e})}renderSeries(){this.series.forEach(function(e){e.translate(),e.render()})}render(){let e=this,t=e.axes,n=e.colorAxis,r=e.renderer,{axisLayoutRuns:i=2,plotBorderRadius:a}=e.options.chart,o=e=>{e.forEach(e=>{e.visible&&e.render()})},s=0,c=!0,l,u=0;a&&(e.plotClipOuter||=r.clipRect(),e.plotClipInner||=r.clipRect()),e.setTitle(),v(e,`beforeMargins`),e.getStacks?.(),e.getMargins(!0),e.setChartSize();for(let n of t){let{options:t}=n,{labels:r,offset:i}=t;if(e.hasCartesianSeries&&n.horiz&&n.visible&&r.enabled&&n.series.length&&n.coll!==`colorAxis`&&!n.isRadial){s=t.tickLength,n.createGroups();let e=new bt(n,0,``,!0),a=e.createLabel(`x`,r);if(e.destroy(),a&&(r.reserveSpace??!h(t.crossing))&&(s=a.getBBox().height+(r.distance??15)+Math.max(h(i)?i:0,0)),s){a?.destroy();break}}}for(e.plotHeight=Math.max(e.plotHeight-s,0);(c||l||i>1)&&u<i;){let n=e.plotWidth,r=e.plotHeight,i=[1.05,1.1];for(let e of t){let t=+(e.horiz||0);if(u===0){e.setScale();let n=e.tickPositions?.info?.match;n&&(i[t]=Math.min(n,i[t]))}else(t&&c||!t&&l)&&e.setTickInterval(!0)}u===0?e.getAxisMargins():e.getMargins(),c=n/e.plotWidth>(u?1:i[1]),l=r/e.plotHeight>(u?1:i[0]),u++}e.drawChartBox(),e.hasCartesianSeries?o(t):n?.length&&o(n),e.seriesGroup||=r.g(`series-group`).attr({zIndex:3}).shadow(e.options.chart.seriesGroupShadow).add(),e.renderSeries(),e.addCredits(),e.setResponsive&&e.setResponsive(),e.hasRendered=!0}addCredits(e){let t=this,n=d(!0,this.options.credits,e);if(n.enabled&&!this.credits){let e=n.href?J.filterUserAttributes({href:n.href}).href:void 0;this.credits=this.renderer.text(n.text+(this.mapCredits||``),0,0,n.useHTML).addClass(`highcharts-credits`).on(`click`,function(n){v(t,`creditsClick`,n,()=>{e&&(Mn.location.href=e)})}).attr({align:n.position.align,zIndex:8}),n.events?.click&&O(t,`creditsClick`,n.events.click),t.styledMode||this.credits.css(n.style),this.credits.add().align(n.position),this.credits.update=function(e){t.credits=t.credits.destroy(),t.addCredits(e)}}}destroy(){let e=this,t=e.axes,n=e.series,r=e.container,i=r?.parentNode,a;for(v(e,`destroy`),e.renderer.forExport?U(kn,e):kn[e.index]=void 0,w.chartCount--,e.renderTo.removeAttribute(`data-highcharts-chart`),x(e),a=t.length;a--;
17)t[a]=t[a].destroy();for(this.scroller?.destroy?.(),a=n.length;a--;)n[a]=n[a].destroy();[`title`,`subtitle`,`chartBackground`,`plotBackground`,`plotBGImage`,`plotBorder`,`seriesGroup`,`clipRect`,`credits`,`pointer`,`rangeSelector`,`legend`,`resetZoomButton`,`tooltip`,`renderer`].forEach(t=>{e[t]=e[t]?.destroy?.()}),r&&(r.innerHTML=J.emptyHTML,x(r),i&&D(r)),W(e,function(t,n){delete e[n]})}firstRender(){let e=this,t=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.createAxes();let n=f(t.series)?t.series:[];t.series=[],n.forEach(function(t){e.initSeries(t)}),e.linkSeries(),v(e,`beforeRender`),e.render(),e.pointer?.getChartPosition(),!e.renderer.asyncCounter&&!e.hasLoaded&&e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(e){e&&this.index!==void 0&&e.apply(this,[this])},this),v(this,`load`),v(this,`render`),T(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:e,title:t}=this;e&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:`img`,"aria-label":(t?.element.textContent||``).replace(/</g,`<`)}),e.accessibility&&e.accessibility.enabled===!1||B(`Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.`,!1,this))}warnIfCSSNotLoaded(){this.styledMode&&Mn.getComputedStyle(this.container).zIndex!==`0`&&B(35,!1,this)}addSeries(e,t,n){let r=this,i;return e&&(t??=!0,v(r,`addSeries`,{options:e},function(){i=r.initSeries(e),r.isDirtyLegend=!0,r.linkSeries(),v(r,`afterAddSeries`,{series:i}),t&&r.redraw(n)})),i}addAxis(e,t,n,r){return this.createAxis(t?`xAxis`:`yAxis`,{axis:e,redraw:n,animation:r})}addColorAxis(e,t,n){return this.createAxis(`colorAxis`,{axis:e,redraw:t,animation:n})}createAxis(e,t){let n=new Ot(this,t.axis,e);return(t.redraw??!0)&&this.redraw(t.animation),n}showLoading(e){let t=this,n=t.options,r=n.loading,i=r?.style??{},a=function(){o&&j(o,{left:i.left??t.plotLeft+`px`,top:i.top??t.plotTop+`px`,width:i.width??t.plotWidth+`px`,height:i.height??t.plotHeight+`px`})},o=t.loadingDiv,s=t.loadingSpan;o||(t.loadingDiv=o=I(`div`,{className:`highcharts-loading highcharts-loading-hidden`},null,t.container)),s||(t.loadingSpan=s=I(`span`,{className:`highcharts-loading-inner`},null,o),O(t,`redraw`,a)),o.className=`highcharts-loading`,J.setElementHTML(s,e??n.lang.loading??``),t.styledMode||(j(o,_(i,{zIndex:10})),j(s,r?.labelStyle??{}),t.loadingShown||(j(o,{opacity:0,display:``}),me(o,{opacity:i.opacity??.5},{duration:r?.showDuration??0}))),t.loadingShown=!0,a()}hideLoading(){let e=this.options,t=this.loadingDiv;t&&(t.className=`highcharts-loading highcharts-loading-hidden`,this.styledMode||me(t,{opacity:0},{duration:e.loading?.hideDuration??100,complete:function(){j(t,{display:`none`})}})),this.loadingShown=!1}update(e,t,n,r){let i=this,a={credits:`addCredits`,title:`setTitle`,subtitle:`setSubtitle`,caption:`setCaption`},o=e.isResponsiveOptions,s=[],l,f,p;e=ae(e,i.options);let m={options:e,hasChanged:!!Object.keys(e).length};if(v(i,`update`,m),!m.hasChanged)return;o||i.setResponsive(!1,!0),i.userOptions=d(i.userOptions,e);let g=e.chart;g&&(d(!0,i.options.chart,g),this.setZoomOptions(),`className`in g&&i.setClassName(g.className),(`inverted`in g||`polar`in g||`type`in g)&&(i.propFromSeries(),l=!0),`alignTicks`in g&&(l=!0),`events`in g&&On(this,g),W(g,function(e,t){i.propsRequireUpdateSeries.indexOf(`chart.`+t)!==-1&&(f=!0),i.propsRequireDirtyBox.indexOf(t)!==-1&&(i.isDirtyBox=!0),i.propsRequireReflow.indexOf(t)!==-1&&(i.isDirtyBox=!0,o||(p=!0))}),!i.styledMode&&g.style&&i.renderer.setStyle(i.options.chart.style||{})),!i.styledMode&&e.colors&&(this.options.colors=e.colors),W(e,function(t,n){i[n]&&typeof i[n].update==`function`?i[n].update(t,!1):typeof i[a[n]]==`function`?i[a[n]](t):n!==`colors`&&i.collectionsWithUpdate.indexOf(n)===-1&&d(!0,i.options[n],e[n]),n!==`chart`&&i.propsRequireUpdateSeries.indexOf(n)!==-1&&(f=!0)}),this.collectionsWithUpdate.forEach(t=>
17{e[t]&&(u(e[t]).forEach((e,r)=>{if(!e)return;let a=T(e.id),o;a&&(o=i.get(e.id)),!o&&i[t]&&(o=i[t][e.index??r],o&&(a&&T(o.options.id)||o.options.isInternal)&&(o=void 0)),o&&o.coll===t&&(o.update(e,!1),n&&(o.touched=!0)),!o&&n&&i.collectionsWithInit[t]&&(i.collectionsWithInit[t][0].apply(i,[e].concat(i.collectionsWithInit[t][1]||[],[!1])).touched=!0)}),n&&i[t].forEach(e=>{!e.touched&&!e.options.isInternal?s.push(e):delete e.touched}))}),s.forEach(e=>{e.chart&&e.remove&&e.remove(!1)}),l&&i.axes.forEach(function(e){e.update({},!1)}),f&&i.series.forEach(e=>{e.chart&&e.update({},!1)});let _=g?.width,b=g&&(c(g.height)?y(g.height,_||i.chartWidth):g.height);p||h(_)&&_!==i.chartWidth||h(b)&&b!==i.chartHeight?i.setSize(_,b,r):(t??!0)&&i.redraw(r),v(i,`afterUpdate`,{options:e,redraw:t,animation:r})}setSubtitle(e,t){this.applyDescription(`subtitle`,e),this.layOutTitles(t)}setCaption(e,t){this.applyDescription(`caption`,e),this.layOutTitles(t)}showResetZoom(){let e=this,t=e.options.lang,n=e.zooming.resetButton,r=n.theme,i=n.relativeTo===`chart`||n.relativeTo===`spacingBox`?void 0:`plotBox`;v(this,`beforeShowResetZoom`,void 0,()=>{e.resetZoomButton=e.renderer.button(t.resetZoom,0,0,()=>e.zoomOut(),r).attr({align:n.position.align,title:t.resetZoomTitle}).addClass(`highcharts-reset-zoom`).add().align(n.position,!1,i)}),v(this,`afterShowResetZoom`)}zoomOut(){v(this,`selection`,{resetSelection:!0}
17,()=>this.transform({reset:!0,trigger:`zoom`}))}pan(e,t){let n=this,r=typeof t==`object`?t:{enabled:t,type:`x`},i=r.type,a=i&&n[{x:`xAxis`,xy:`axes`,y:`yAxis`}[i]].filter(e=>e.options.panningEnabled&&!e.options.isInternal),o=n.options.chart;o?.panning&&(o.panning=r),v(this,`pan`,{originalEvent:e},()=>{n.transform({axes:a,event:e,to:{x:e.chartX-(n.mouseDownX||0),y:e.chartY-(n.mouseDownY||0)},trigger:`pan`}),j(n.container,{cursor:`move`})})}transform(e){let{axes:t=this.axes,event:n,from:r={},reset:i,selection:a,to:o={},trigger:s,allowResetButton:c=!0}=e,{time:l}=this;this.hoverPoints?.forEach(e=>e.setState()),v(this,`transform`,e);let u=e.hasZoomed||!1,d,f;for(let e of t){let{horiz:t,len:p,minPointOffset:m=0,options:g,reversed:v}=e,y=t?`width`:`height`,b=t?`x`:`y`,x=o[y]??e.len,S=r[y]??e.len,C=Math.abs(x)<10?1:x/S,w=(r[b]||0)+S/2-e.pos,E=w-((o[b]??e.pos)+x/2-e.pos)/C,D=t&&!v||!t&&v?1:-1,O=E;if(!i&&(w<0||w>e.len))continue;let k=a||e.chart.polar||e.isOrdinal&&C<=1?0:m*D||0,A=e.toValue(O,!0),j=e.toValue(O+p/C,!0),M=A+k,N=j-k,P=e.allExtremes;if(M>N&&([M,N]=[N,M]),C===1&&!i&&e.coll===`yAxis`&&!P){for(let t of e.series){let e=t.getExtremes(t.getProcessedData(!0).modified.getColumn(t.pointValKey||`y`)||[],!0);P??={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},h(e.dataMin)&&h(e.dataMax)&&(P.dataMin=Math.min(e.dataMin,P.dataMin),P.dataMax=Math.max(e.dataMax,P.dataMax))}e.allExtremes=P}let{dataMin:ee,dataMax:F,min:I,max:L}=_(e.getExtremes(),P||{}),R=l.parse(g.min),z=l.parse(g.max),te=ee??R,B=F??z,ne=N-M,V=e.categories?0:Math.min(ne,B-te),re=te-V*(T(R)?0:g.minPadding),ie=B+V*(T(z)?0:g.maxPadding),H=e.allowZoomOutside||C===1||s!==`zoom`&&C>1,U=Math.min(R??re,re,H?I:re),ae=Math.max(z??ie,ie,H?L:ie);(!e.isOrdinal||C!==1||i)&&(M<U&&(M=U,C>=1&&(N=M+ne)),N>ae&&(N=ae,C>=1&&(M=N-ne)),(i||e.series.length&&(a||(M!==I||N!==L)&&M>=U&&N<=ae))&&(a?a[e.coll].push({axis:e,min:Math.min(A,j),max:Math.max(A,j)}):(e.isPanning=s!==`zoom`&&s!==`drop`,e.isPanning&&s!==`mousewheel`&&(f=!0),s!==`drop`&&e.setExtremes(i?void 0:M,i?void 0:N,!1,!1,{move:E,trigger:s,scale:C}),!i&&(M>U||N<ae)&&(d=c)),u=!0),!this.hasCartesianSeries&&!i&&(d=c),n&&(this[t?`mouseDownX`:`mouseDownY`]=n[t?`chartX`:`chartY`]))}return u&&(a?v(this,`selection`,a,()=>{delete e.selection,e.trigger=`zoom`,this.transform(e)}):(d&&!f&&!this.resetZoomButton?this.showResetZoom():!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw(s===`zoom`&&(this.options.chart.animation??this.pointCount<100)))),u}};_(Pn.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Pn.prototype.addAxis,[!0]],yAxis:[Pn.prototype.addAxis,[!1]],series:[Pn.prototype.addSeries]},collectionsWithUpdate:[`xAxis`,`yAxis`,`series`],propsRequireDirtyBox:[`backgroundColor`,`borderColor`,`borderWidth`,`borderRadius`,`plotBackgroun
17dColor`,`plotBackgroundImage`,`plotBorderColor`,`plotBorderRadius`,`plotBorderWidth`,`plotShadow`,`shadow`],propsRequireReflow:[`margin`,`marginTop`,`marginRight`,`marginBottom`,`marginLeft`,`spacing`,`spacingTop`,`spacingRight`,`spacingBottom`,`spacingLeft`],propsRequireUpdateSeries:[`chart.inverted`,`chart.polar`,`chart.ignoreHiddenSeries`,`chart.type`,`colors`,`plotOptions`,`time`,`tooltip`]});var{format:Fn}=Y,{series:In}=X,Ln=class{constructor(e,t,n,r){this.axis=e,this.negativeValue=t,this.x=n,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0}destroy(){ie(this,this.axis)}render(e){let t=this.axis,n=t.chart,r=t.options.stackLabels||{},i=r.format,a=(i?Fn(i,this,n):r.formatter?.call(this,this))||``,o=this.label?`animate`:`attr`;this.label||=n.renderer.label(a,0,void 0,r.shape,void 0,void 0,r.useHTML,!1,`stack-labels`);let s=this.label,c={r:r.borderRadius||0,padding:r.padding??5};n.styledMode||(c.fill=r.backgroundColor,c.stroke=r.borderColor,c[`stroke-width`]=r.borderWidth,s.css(r.style||{})),s.attr({text:a,visibility:`hidden`})[o](c),s.added||s.add(e),s.labelrank=n.plotSizeY,v(this,`afterRender`)}setOffset(e,t,n,r,a,o){let{axis:s,label:c}=this,l=s.chart,u=s.options.stackLabels||{},d=l.inverted,f=this.negativeValue!==!!s.reversed,p=this.getStackBox({boxBottom:n,boxTop:r,defaultX:a,isNegative:f,width:t,xAxis:o,xOffset:e}),{align:m=d?f?`left`:`right`:`center`,verticalAlign:g=d?`middle`:f?`bottom`:`top`,textAlign:_=d?f?`right`:`left`:`center`,x:y=0,y:b=0}=u,x={align:m,verticalAlign:g,x:y,y:b};if(c&&p){let e=c.getBBox(void 0,0),t=c.padding,n=(u.overflow??`justify`)===`justify`,r,{x:a,y:o}=this.adjustStackPosition({labelBox:e,verticalAlign:g,textAlign:_});p.x-=a,p.y-=o,c.align(x,!1,p),r=l.isInsidePlot(c.alignAttr.x+y+a,c.alignAttr.y+b+o),r||(n=!1),n&&In.prototype.justifyDataLabel.call(s,c,x,c.alignAttr,e,p),c.attr({rotation:u.rotation,rotationOriginX:e.width*i(u.textAlign||`center`),rotationOriginY:e.height/2}),((!n&&u.crop)??!0)&&(r=h(c.x)&&h(c.y)&&l.isInsidePlot(c.x-t+(c.width||0),c.y)&&l.isInsidePlot(c.x+t,c.y)),c[r?`show`:`hide`]()}v(this,`afterSetOffset`,{xOffset:e,width:t})}adjustStackPosition({labelBox:e,verticalAlign:t,textAlign:n}){return{x:e.width/2+e.width/2*(2*i(n)-1),y:e.height/2*2*(1-i(t))}}getStackBox(e){let t=this.axis,n=t.chart,{boxBottom:r,boxTop:i,defaultX:a,isNegative:o,width:s,xOffset:c}
17=e,l=t.stacking.usePercentage?100:i??this.total??0,u=t.toPixels(l),d=e.xAxis||n.xAxis[0],f=(a??d.translate(this.x))+c,p=t.toPixels(r||h(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0),m=Math.abs(u-p);return n.inverted?{x:(o?u:u-m)-n.plotLeft,y:d.height-f-s+d.top-n.plotTop,width:m,height:s}:{x:f+d.transB-n.plotLeft,y:(o?u-m:u)-n.plotTop,width:s,height:m}}},{series:{prototype:Rn}}=X;function zn(){let e=this,t=e.inverted;e.axes.forEach(e=>{e.stacking?.stacks&&e.hasVisibleSeries&&(e.stacking.oldStacks=e.stacking.stacks)}),e.series.forEach(e=>{let n=e.xAxis?.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,e.options.stack??``,t?n.top:n.left,t?n.height:n.width].join(`,`))})}function Bn(){let e=this.stacking;if(e){let t=e.stacks;W(t,(e,n)=>{ie(e),delete t[n]}),e.stackTotalGroup?.destroy()}}function Vn(){this.stacking||=new qn(this)}function Hn(e,t,n,r){return!T(e)||e.x!==t||r&&e.stackKey!==r?e={x:t,index:0,key:r,stackKey:r}:e.index++,e.key=[n,t,e.index].join(`,`),e}function Un(){let e=this,t=e.yAxis,n=e.stackKey||``,r=t.stacking.stacks,i=e.getColumn(`x`,!0),a=e[e.options.stacking+`Stacker`],o;a&&[n,`-`+n].forEach(t=>{let n=i.length,s,c,l;for(;n--;)s=i[n],o=e.getStackIndicator(o,s,e.index,t),c=r[t]?.[s],l=c?.points[o.key||``],l&&a.call(e,l,c,n)})}function Wn(e,t,n){let r=t.total?100/t.total:0;e[0]=z(e[0]*r),e[1]=z(e[1]*r),this.stackedYData[n]=e[1]}function Gn(e){(this.is(`column`)||this.is(`columnrange`))&&(this.options.centerInCategory&&this.chart.series.length>1?Rn.setStackedPoints.call(this,e,`group`):e.stacking.resetStacks())}function Kn(e,t){let n=t||this.options.stacking;if(!n||!this.reserveSpace()||({group:`xAxis`}[n]||`yAxis`)!==e.coll)return;let r=this,i=r.getColumn(`x`,!0),a=r.getColumn(r.pointValKey||`y`,!0),o=[],s=a.length,c=r.options,l=c.threshold||0,u=c.startFromThreshold?l:0,d=c.stack,f=t?`${r.type},${n}`:r.stackKey||``,p=`-`+f,m=r.negStacks,g=e.stacking,_=g.stacks,v=g.oldStacks,y,b,x,S,C,w,E;for(g.stacksTouched+=1,E=0;E<s;E++){let t=i[E]||0,s=a[E],c=h(s)&&s||0;y=r.getStackIndicator(y,t,r.index),w=y.key||``,b=m&&c<(u?0:l),C=b?p:f,_[C]||(_[C]={}),_[C][t]||(v[C]?.[t]?(_[C][t]=v[C][t],_[C][t].total=null):_[C][t]=new Ln(e,!!b,t,d)),x=_[C][t],s===null?(delete x.points[w],delete x.points[r.index]):(x.points[w]=x.points[r.index]=[x.cumulative??u],T(x.cumulative)||(x.base=w),x.touched=g.stacksTouched,y.index>0&&r.singleStacks===!1&&(x.points[w][0]=x.points[r.index+`,`+t+`,0`][0]));let D=x.total||0;n===`percent`?(S=b?f:p,m&&_[S]?.[t]?(S=_[S][t],D=S.total=Math.max(S.total||0,D)+Math.abs(c)):D=z(D+Math.abs(c))):n===`group`?h(s)&&D++:D=z(D+c),n===`group`?x.cumulative=(D||1)-1:x.cumulative=z((x.cumulative??u)+c),x.total=D,s!==null&&(x.points[w].push(x.cumulative),o[E]=x.cumulative,x.hasValidPoints=!0)}n===`percent`&&(g.usePercentage=!0),n!==`group`&&(this.stackedYData=o),g.oldStacks={}}var qn=class{constructor(e){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=e}buildStacks(){let e=this,t=e.axis,n=t.series,r=t.coll===`xAxis`,i=t.options.reversedStacks,a=n.length,o,s;for(this.resetStacks(),e.usePercentage=!1,s=a;s--;)o=n[i?s:a-s-1],r&&o.setGroupedPoints(t),o.setStackedPoints(t);if(!r)for(s=0;s<a;s++)n[s].modifyStacks();v(t,`afterBuildStacks`)}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,W(this.stacks,e=>{W(e,e=>{e.cumulative=e.total})}))}resetStacks(){W(this.stacks,e=>{W(e,(t,n)=>{h(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete e[n]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let e=this,t=e.axis,n=t.chart,r=n.renderer,i=e.stacks,{animation:a,enabled:o}=t.options.stackLabels||{},s=pe(n,a||!1),c=e.stackTotalGroup=e.stackTotalGroup||(o?r.g(`stack-labels`).attr({zIndex:6,opacity:0}).add():void 0);c&&(c.translate(n.plotLeft,n.plotTop),W(i,e=>{W(e,e=>{o?e.render(c):e.label=e.label?.destroy()})}),c.animate({opacity:1},s))}},Jn;(function(e){function t(e,t,n){let r=t.prototype,i=n.prototype;r.getStacks||(O(e,`init`,Vn),O(e,`destroy`,Bn),r.getStacks=zn,i.getStackIndicator=Hn,i.modifyStacks=Un,i.percentStacker=Wn,i.setGroupedPoints=Gn,i.setStackedPoints=Kn)}e.compose=t})(Jn||={});var Yn=Jn,Xn=class extends Z{drawGraph(){let e=this.options,t=(this.gappedPath||this.getGraphPath).call(this),n=this.chart.styledMode;
17[this,...this.zones].forEach((r,i)=>{let o,s=r.graph,c=s?`animate`:`attr`,l=r.dashStyle||e.dashStyle;if(s?(s.endX=this.preventGraphAnimation?null:t.xMap,s.animate({d:t})):t.length&&(r.graph=s=this.chart.renderer.path(t).addClass(`highcharts-graph`+(i?` highcharts-zone-graph-${i-1} `:` `)+(i&&r.className||``)).attr({zIndex:1}).add(this.group)),s&&!n&&(o={stroke:!i&&e.lineColor||r.color||this.color||`var(--highcharts-neutral-color-20)`,"stroke-width":e.lineWidth||0,fill:this.fillGraph&&this.color||`none`},l?o.dashstyle=l:e.linecap!==`square`&&(o[`stroke-linecap`]=o[`stroke-linejoin`]=`round`),s[c](o),e.shadow)){let t=this.chart.inverted,n={filterUnits:`userSpaceOnUse`},r=a(e.shadow)?d(t?{}:n,e.shadow):t?!0:n;s.shadow(r)}s&&(s.startX=t.xMap,s.isArea=t.isArea)})}getGraphPath(e,t,n){let r=this,i=r.options,a=[],o=[],s,c=i.step;e||=r.points;let l=e.reversed;return l&&e.reverse(),c={right:1,center:2}[c]||c&&3,c&&l&&(c=4-c),e=this.getValidPoints(e,!1,i.nullInteraction||!(i.connectNulls&&!t&&!n)),e.forEach(function(l,u){let d=l.plotX,f=l.plotY,p=e[u-1],m=l.isNull||typeof f!=`number`,h;(l.leftCliff||p?.rightCliff)&&!n&&(s=!0),m&&!T(t)&&u>0?s=!i.connectNulls:m&&!t?s=!0:(u===0||s?h=[[`M`,l.plotX,l.plotY]]:r.getPointSpline?h=[r.getPointSpline(e,l,u)]:c?(h=c===1?[[`L`,p.plotX,f]]:c===2?[[`L`,(p.plotX+d)/2,p.plotY],[`L`,(p.plotX+d)/2,f]]:[[`L`,d,p.plotY]],h.push([`L`,d,f])):h=[[`L`,d,f]],o.push(l.x),c&&(o.push(l.x),c===2&&o.push(l.x)),a.push.apply(a,h),s=!1)}),a.xMap=o,r.graphPath=a,a}};Xn.defaultOptions=d(Z.defaultOptions,{legendSymbol:`lineMarker`}),X.registerSeriesType(`line`,Xn);var Zn={threshold:0,legendSymbol:`areaMarker`},{seriesTypes:{line:Qn}}=X,$n=class extends Qn{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:e,options:t}=this;[this,...this.zones].forEach((n,r)=>{let i={},a=n.fillColor||t.fillColor,o=n.area,s=o?`animate`:`attr`;o?(o.endX=this.preventGraphAnimation?null:e.xMap,o.animate({d:e})):(i.zIndex=0,o=n.area=this.chart.renderer.path(e).addClass(`highcharts-area`+(r?` highcharts-zone-area-${r-1} `:` `)+(r&&n.className||``)).add(this.group),o.isArea=!0),this.chart.styledMode||(i.fill=a||n.color||this.color,i[`fill-opacity`]=a?1:t.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?`none`:`auto`})),o[s](i),o.startX=e.xMap,o.shiftUnit=t.step?2:1})}getGraphPath(e){let t=Qn.prototype.getGraphPath,n=this.options,r=n.stacking,i=this.yAxis,a=[],o=[],s=this.index,c=i.stacking.stacks[this.stackKey],l=n.threshold,u=Math.round(i.getThreshold(n.threshold)),d=n.connectNulls??r===`percent`,f=function(t,n,d){let f=e[t],m=e[n],h=r&&c[f.x].points[s],g=f[d+`Null`]||0,_=f[d+`Cliff`]||0,v,y,b=!0;h&&(_||g)?(v=(g?h[0]:h[1])+_,y=h[0]+_,b=!!g):!r&&m&&(m.isNull||!T(m.plotY))&&(v=y=l),v!==void 0&&(o.push({plotX:p,plotY:v===null?u:i.getThreshold(v),isNull:b,isCliff:!0}),a.push({plotX:p,plotY:y===null?u:i.getThreshold(y),doCurve:!1}))},p,m,h;e||=this.points,r&&(e=this.getStackPoints(e));for(let t=0,n=e.length;t<n;++t)r||(e[t].leftCliff=e[t].rightCliff=e[t].leftNull=e[t].rightNull=void 0),m=e[t].isNull||!T(e[t].plotY),p=e[t].rectPlotX??e[t].plotX,h=r?e[t].yBottom??u:u,(!m||d)&&(d||f(t,t-1,`left`),m&&!r&&d||(o.push(e[t]),a.push({x:t,plotX:p,plotY:h})),d||f(t,t+1,`right`));let g=t.call(this,o,!0,!0);a.reversed=!0;let _=t.call(this,a,!0,!0),v=_[0];v&&v[0]===`M`&&(_[0]=[`L`,v[1],v[2]]);let y=g.concat(_);y.length&&y.push([`Z`]);let b=t.call(this,o,!1,d);return this.chart.series.length>1&&r&&o.some(e=>e.isCliff)&&(y.hasStackedCliffs=b.hasStackedCliffs=!0),y.xMap=g.xMap,this.areaPath=y,b}getStackPoints(e){let t=this,n=[],r=[],i=this.xAxis,a=this.yAxis,o=a.stacking.stacks[this.stackKey],s={},c=a.series,l=c.length,u=a.options.reversedStacks?1:-1,d=c.indexOf(t),f=a.getThreshold(t.options.threshold||0);if(e||=this.points,this.options.stacking){for(let t=0;t<e.length;t++)e[t].leftNull=e[t].rightNull=void 0,s[e[t].x]=e[t];W(o,function(e,t){e.total!==null&&r.push(t)}),r.sort(function(e,t){return e-t});let p=c.map(e=>e.visible);r.forEach(function(e,m){let h=0,g,_;if(s[e]&&!s[e].isNull)n.push(s[e]),[-1,1].forEach(function(n){let i=n===1?`rightNull`:`leftNull`,a=n===1?`right
17Cliff`:`leftCliff`,f=o[r[m+n]],h=0;if(f){let n=d;for(;n>=0&&n<l;){let r=c[n].index;g=f.points[r],g||(r===t.index?s[e][i]=!0:p[n]&&(_=o[e].points[r],_&&(h-=_[1]-_[0]))),n+=u}}s[e][a]=h});else{let t=d;for(;t>=0&&t<l;){let n=c[t].index;if(g=o[e].points[n],g){h=g[1];break}t+=u}h||=0;let r=a.positiveValuesOnly&&h<=0?f:a.translate(h,!1,!0,!1,!0);n.push({isNull:!0,plotX:i.translate(e,!1,!1,!1,!0),x:e,plotY:r,yBottom:r})}})}return n}};$n.defaultOptions=d(Qn.defaultOptions,Zn),_($n.prototype,{singleStacks:!1}),X.registerSeriesType(`area`,$n);var er={borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.2},select:{color:`var(--highcharts-neutral-color-20)`,borderColor:`var(--highcharts-neutral-color-100)`}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:`var(--highcharts-background-color)`},{parse:tr}=G,{noop:nr}=w,rr=class extends Z{animate(e){let t=this,n=this.yAxis,r=n.pos,i=n.reversed,a=t.options,{clipOffset:o,inverted:s}=this.chart,c={},l=s?`translateX`:`translateY`,u,d;e&&o?(c.scaleY=.001,d=A(n.toPixels(a.threshold||0),r,r+n.len),s?(d+=i?-Math.floor(o[+!!s]):Math.ceil(o[s?3:2]),c.translateX=d-n.len):(d+=i?Math.ceil(o[+!!s]):-Math.floor(o[s?3:2]),c.translateY=d),t.clipBox&&t.setClip(),t.group.attr(c)):(u=Number(t.group.attr(l)),t.group.animate({scaleY:1},_(K(t.options.animation),{step:function(e,n){t.group&&(c[l]=u+n.pos*(r-u),t.group.attr(c))}})))}init(e,t){super.init.apply(this,arguments);let n=this;e=n.chart,e.hasRendered&&e.series.forEach(function(e){e.type===n.type&&(e.isDirty=!0)})}getColumnMetrics(){let e=this,t=e.options,n=e.xAxis,r=e.yAxis,i=n.options.reversedStacks,a=n.reversed&&!i||!n.reversed&&i,o={},s,c=0;t.grouping===!1?c=1:e.chart.series.forEach(function(t){let n=t.yAxis,i=t.options,a;t.type===e.type&&t.reserveSpace()&&r.len===n.len&&r.pos===n.pos&&(i.stacking&&i.stacking!==`group`?(s=t.stackKey,o[s]===void 0&&(o[s]=c++),a=o[s]):i.grouping!==!1&&(a=c++),t.columnIndex=a)});let l=Math.min(Math.abs(n.transA)*(!n.brokenAxis?.hasBreaks&&n.ordinal?.slope||t.pointRange||n.closestPointRange||n.tickInterval||1),n.len),u=l*t.groupPadding,d=(l-2*u)/(c||1),f=Math.min(t.maxPointWidth||n.len,t.pointWidth??d*(1-2*t.pointPadding));return e.columnMetrics={width:f,offset:(d-f)/2+(u+((e.columnIndex||0)+ +!!a)*d-l/2)*(a?-1:1),paddedWidth:d,columnCount:c},e.columnMetrics}crispCol(e,t,n,r){let i=this.borderWidth,a=this.chart.inverted,o=M(t+r,i,a);if(t=M(t,i,a),r=o-t,this.options.crisp){let t=M(e+n,i);e=M(e,i),n=t-e}return{x:e,y:t,width:n,height:r}}adjustForMissingColumns(e,t,n,r){if(!n.isNull&&r.columnCount>1){let i=this.xAxis.series.filter(e=>e.visible).map(e=>e.index),a=0,o=0;W(this.xAxis.stacking?.stacks,e=>{let t=typeof n.x==`number`?e[n.x.toString()]?.points:void 0,r=t?.[this.index],s={};if(t&&f(r)){let e=this.index,n=Object.keys(t).filter(e=>!e.match(`,`)&&t[e]&&t[e].length>1).map(parseFloat).filter(e=>i.indexOf(e)!==-1).filter(t=>{let n=this.chart.series[t].options,r=n.stacking&&n.stack;if(T(r)){if(h(s[r]))return e===t&&(e=s[r]),!1;s[r]=t}return!0}).sort((e,t)=>t-e);a=n.indexOf(e),o=n.length}}),a=this.xAxis.reversed?o-1-a:a;let s=(o-1)*r.paddedWidth+t;e=(n.plotX||0)+s/2-t-a*r.paddedWidth}return e}translate(){let e=this,t=e.chart,n=e.options,r=e.dense=e.closestPointRange*e.xAxis.transA<2,i=e.borderWidth=n.borderWidth??+!r,a=e.xAxis,o=e.yAxis,s=n.threshold,c=n.minPointLength??5,l=e.getColumnMetrics(),u=l.width,d=e.pointXOffset=l.offset,f=e.dataMin,p=e.dataMax,m=e.translatedThreshold=o.getThreshold(s),g=e.barW=Math.max(u,1+2*i);n.pointPadding&&n.crisp&&(g=Math.ceil(g)),Z.prototype.translate.apply(e),e.points.concat(e.condemnedPoints).forEach(function(r){let i=r.yBottom??m,_=999+Math.abs(i),v=r.plotX||0,y=A(r.plotY,-_,o.len+_),b,x=Math.min(y,i),S=Math.max(y,i)-x,C=u,w=v+d,E=g;c&&Math.abs(S)<c&&(S=c,b=!o.reversed&&!r.negative||o.reversed&&r.negative,h(s)&&h(p)&&r.y===s&&p<=s&&(o.min||0)<s&&(f!==p||(o.max||0)<=s)&&(b=!b,r.negative=!r.negative),x=Math.abs(x-m)>c?i-(b?c:0):m-(b?c:0)),T(r.options.pointWidth)&&(C=E=Math.ceil(r.o
17ptions.pointWidth),w-=Math.round((C-u)/2)),n.centerInCategory&&(w=e.adjustForMissingColumns(w,C,r,l)),r.barX=w,r.pointWidth=C,r.tooltipPos=t.inverted?[A(o.len+o.pos-t.plotLeft-y,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),a.len+a.pos-t.plotTop-w-E/2,S]:[a.left-t.plotLeft+w+E/2,A(y+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),S],r.shapeType=e.pointClass.prototype.shapeType||`roundedRect`,r.shapeArgs=e.crispCol(w,x,E,r.isNull?0:S)}),v(this,`afterColumnTranslate`)}drawGraph(){this.group[this.dense?`addClass`:`removeClass`](`highcharts-dense-data`)}pointAttribs(e,t){let n=this.options,r=this.pointAttrToOptions||{},i=r.stroke||`borderColor`,a=r[`stroke-width`]||`borderWidth`,o,s,c,l=e?.color||this.color,u=e?.[i]||n[i]||l,f=e?.options.dashStyle||n.dashStyle,p=e?.[a]??n[a]??this[a]??1,m=e?.isNull&&n.nullInteraction?0:e?.opacity??n.opacity??1;e&&this.zones.length&&(s=e.getZone(),l=e.options.color||s&&(s.color||e.nonZonedColor)||this.color,s&&(u=s.borderColor||u,f=s.dashStyle||f,p=s.borderWidth||p)),t&&e&&(o=d(n.states?.[t],e.options.states?.[t]||{}),c=o.brightness,l=o.color||c!==void 0&&tr(l).brighten(o.brightness).get()||l,u=o[i]||u,p=o[a]||p,f=o.dashStyle||f,m=o.opacity??m);let h={fill:l,stroke:u,"stroke-width":p,opacity:e?.condemned?0:m};return f&&(h.dashstyle=f),h}drawPoints(e){e||=this.points.concat(this.condemnedPoints);let t=this,n=this.chart,r=t.options,i=r.nullInteraction,{styledMode:a,renderer:o}=n,s=r.animationLimit||250,c;e.forEach(function(e){let l=e.plotY,u=e.graphic,f=!!u,p=u&&n.pointCount<s?`animate`:`attr`;if(h(l)&&(e.y!==null||i)){if(c=e.shapeArgs,u&&e.hasNewShapeType()&&(u=u.destroy()),!u){let r=c;e.origin&&n.pointCount<s&&(r=d(c,e.getOrigin(e.origin,c)),a||(r.opacity=0,r[`stroke-width`]=0),f=!0,p=`animate`),e.graphic=u=o[e.shapeType](r).add(e.group||t.group)}f&&u[p](d(c)),a||u[p](t.pointAttribs(e,e.selected?`select`:``)).shadow(e.allowShadow!==!1&&r.shadow),u.addClass(e.getClassName(),!0).attr({visibility:e.visible?`inherit`:`hidden`})}else u&&(e.graphic=u.destroy())})}drawTracker(e=this.points){let t=this,n=t.chart,r=n.pointer,i=function(e){r?.normalize(e);let i=r?.getPointFromEvent(e);r&&i&&t.options.enableMouseTracking&&(n.isInsidePlot(e.chartX-n.plotLeft,e.chartY-n.plotTop,{visiblePlotOnly:!0})||t.allowOutsidePlotInteraction&&r?.inClass(e.target,`highcharts-point`)||r?.inClass(e.target,`highcharts-data-label`))&&(r.isDirectTouch=!0,i.onMouseOver(e))},a;e.forEach(function(e){a=f(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),a.forEach(function(t){(t.div||t.element).point=e})}),t._hasTracking||=(t.trackerGroups?.reduce((e,n)=>(n===`dataLabelsGroup`?e.push(...t.dataLabelsGroups||[]):e.push(t[n]),e),[]).forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,i).on(`mouseout`,function(e){r?.onTrackerMouseOut(e)}).on(`touchstart`,i),!n.styledMode&&t.options.cursor&&e.css({cursor:t.options.cursor}))}),!0),v(this,`afterDrawTracker`)}remove(){let e=this,t=e.chart;t.hasRendered&&t.series.forEach(function(t){t.type===e.type&&(t.isDirty=!0)}),Z.prototype.remove.apply(e,arguments)}};rr.defaultOptions=d(Z.defaultOptions,er),_(rr.prototype,{directTouch:!0,getSymbol:nr,negStacks:!0,trackerGroups:[`group`,`dataLabelsGroup`]}),X.registerSeriesType(`column`,rr);var{format:ir}=Y,ar;(function(e){function t(){return g(this).some(e=>e?.enabled)}function n(e,t,n,r,a){let o=this,{chart:s}=this,c=this.isCartesian&&s.inverted,{condemned:l,origin:u,plotX:f,plotY:p}=e,{crop:m=!0,distance:g,overflow:v=`justify`,rotation:y=0}=n,b=i(n.align),x=i(n.verticalAlign),S=y===0&&!l&&v===`justify`,C=e.pos(),w=T(f)&&T(p)&&s.isInsidePlot(f,Math.round(p),{inverted:c,paneCoordinates:!0,series:o}),E=this.visible&&e.visible&&T(f)&&(o.forceDL||l||w||(n.inside??!!this.options.stacking)&&r&&s.isInsidePlot(f,c?r.x+1:r.y+r.height-1,{inverted:c,paneCoordinates:!0,series:o}));if(C){let i=t.getBBox(),f=t.getBBox(void 0,0);r=_({x:C[0],y:Math.round(C[1]),width:0,height:0},r||{}),n.alignTo===`plotEdges`&&o.isCartesian&&(r[c?`x`:`y`]=0,r[c?`width`:`height`]=this.yAxis?.len||0),_(n,{width:i.width,height:i.height});let p=0,v=0;h(g)&&!n.inside&&(p=g*(1-2*b),v=g*(1-2*x)),t.align(d(n,{x:(n.x||0)+p,y:(n.y||0)+v,width:f.width,height:f.height}),!1,r,!1),t.distX=p,t.distY=v,t.alignAttr.x+=b*(f.width-i.width),t.alignAttr.y+=x*(f.height-i.height);let w=t.alignAttr.x+(i.width-f.width)/2,T=t.alignAttr.y+(i.height-f.height)/2;if(u){let n=e.pos(!1,u.x,u.y);if(n){let r=[n[0]-C[0],n[1]-C[1]];(o.is(`column`)||e.plotHigh)&&(r[+!c]=0),t.attr({x:w+r[0],y:T+r[1],opacity:.01}),t.placed=!0,a=!1}}let D={"text-align":t.alignAttr[`text-align`]||`center`,x:w,y:T,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2};if((l||!E)&&(D.opacity=0),t[t.placed?`animate`:`attr`](D),S&&E&&r.he
17ight>=0)this.justifyDataLabel(t,n,t.alignAttr,i,r,a);else if(m&&!l){let{x:e,y:n}=t.alignAttr;E=s.isInsidePlot(e,n,{paneCoordinates:!0,series:o})&&s.isInsidePlot(e+i.width-1,n+i.height-1,{paneCoordinates:!0,series:o})}n.shape&&!y&&t[a?`attr`:`animate`]({anchorX:C[0],anchorY:C[1]})}t[a?`attr`:`animate`]({visibility:E?`inherit`:`hidden`}),t.placed=E}function r(e,t){let n=t.filter;if(n){let t=n.operator,r=e[n.property],i=n.value;return t===`>`&&r>i||t===`<`&&r<i||t===`>=`&&r>=i||t===`<=`&&r<=i||t===`==`&&r==i||t===`===`&&r===i||t===`!=`&&r!=i||t===`!==`&&r!==i}return!0}function a(e){let r=e.prototype;r.initDataLabels||(r.initDataLabels=s,r.initDataLabelsGroup=o,r.alignDataLabel=n,r.drawDataLabels=l,r.justifyDataLabel=p,r.mergeArrays=m,r.hasDataLabels=t)}e.compose=a;function o(e,t){v(this,`initDataLabelsGroup`,{index:e,zIndex:t?.zIndex}),this.dataLabelsGroup=this.dataLabelsGroups?.[e];let n=this.plotGroup(`dataLabelsGroup`,`data-labels`,this.hasRendered?`inherit`:`hidden`,t?.zIndex??6,this.dataLabelsParentGroups?.[e]);return this.dataLabelsGroups||=[],this.dataLabelsGroups[e]=n,this.dataLabelsGroup=this.dataLabelsGroups[0],n}function s(e,t,n){let r=this,i=!!r.hasRendered,a=this.initDataLabelsGroup(e,n).attr({opacity:+i});return!i&&a&&(r.visible&&a.show(),r.options.animation?a.animate({opacity:1},t):a.attr({opacity:1})),a}function l(e){e||=this.points;let t=this,n=t.chart,i=t.options,a=n.renderer,{backgroundColor:o,plotBackgroun
17dColor:s}=n.options.chart,l=a.getContrast(c(s)&&s||c(o)&&o||`var(--highcharts-background-color)`),d=[],f=g(t),{animation:p,defer:h}=f[0],_=h?pe(n,p,t):{defer:0,duration:0};v(this,`drawDataLabels`),t.hasDataLabels?.()&&e.concat(t.condemnedPoints).forEach(e=>{let o=e.dataLabels||[],s=e.color||t.color;u(m(f,e.dlOptions||e.options?.dataLabels)).forEach((f,p)=>{let m=f.enabled&&(e.visible||e.dataLabelOnHidden)&&(!e.isNull||e.dataLabelOnNull)&&r(e,f),{backgroundColor:h,borderColor:g,distance:y,style:x={}}=f,S=u(f.padding||0),C,w,E,D={},O=o[p],k=!O,A;if(m&&(C=f[e.formatPrefix+`Format`]??f.format,w=T(C)?ir(C,e,n):(f[e.formatPrefix+`Formatter`]||f.formatter).call(e,f,e),E=f.rotation,n.styledMode||(x.color=(c(f.color)?f.color:void 0)??x.color??(c(t.color)?t.color:void 0)??`var(--highcharts-neutral-color-100)`,x.color===`contrast`?(h!==`none`&&(A=h),e.contrastColor=a.getContrast(A!==`auto`&&A!==`contrast`&&c(A)&&A||(c(s)?s:``)),x.color=A&&A!==`contrast`||f.inside||b(y||0)<0||i.stacking?e.contrastColor:l):delete e.contrastColor,i.cursor&&(x.cursor=i.cursor)),D={r:f.borderRadius??3,rotation:E,padding:S[0],paddingLeft:S[3%S.length],paddingRight:S[1%S.length],zIndex:1},n.styledMode||(D.fill=h===`auto`?e.color:h,D.stroke=g===`auto`?e.color:g,D[`stroke-width`]=f.borderWidth),W(D,(e,t)=>{e===void 0&&delete D[t]})),O&&(!m||!T(w)||!!(O.div||O.text?.foreignObject)!=!!f.useHTML||(!O.rotation||!f.rotation)&&O.rotation!==f.rotation)&&(O=void 0,k=!0),m&&T(w)&&w!==``&&(O?D.text=w:(O=a.label(w,0,0,f.shape,void 0,void 0,f.useHTML,void 0,`data-label`),O.addClass(` highcharts-data-label-color-`+e.colorIndex+` `+(f.className||``)+(f.useHTML?` highcharts-tracker`:``))),O)){O.options=f,O.attr(D),n.styledMode?x.width&&O.css({width:x.width,textOverflow:x.textOverflow,whiteSpace:x.whiteSpace}):O.css(x).shadow(f.shadow),v(O,`beforeAddingDataLabel`,{labelOptions:f,point:e});let r=d[p]=d[p]||this.initDataLabels(p,_,f);O.added||O.add(r),t.alignDataLabel(e,O,f,void 0,k),O.isActive=!0,o[p]&&o[p]!==O&&o[p].destroy(),o[p]=O}});let p=o.length;for(;p--;)o[p]?.isActive?o[p].isActive=!1:(o[p]?.destroy(),o.splice(p,1));e.dataLabel=o[0],e.dataLabels=o}),v(this,`afterDrawDataLabels`)}function p(e,t,n,r,i,a){let o=this.chart,{align:s,verticalAlign:c}=t,{distX:l=0,distY:u=0}=e,d=e.box?0:e.padding||0,f=o.inverted?this.yAxis:this.xAxis,p=f?f.left-o.plotLeft:0,m=o.inverted?this.xAxis:this.yAxis,h=m?m.top-o.plotTop:0,{x:g=0,y:_=0}=t,v,y,b;return v=(n.x||0)-l+d+p,v<0&&(s===`right`&&g>=0?(t.align=`left`,t.inside=!0,g-=l):g-=v,y=!0),v=(n.x||0)+r.width-l-d+p,v>o.plotWidth&&(s===`left`&&g<=0?(t.align=`right`,t.inside=!0,g-=l):g+=o.plotWidth-v,y=!0),v=(n.y||0)-u+d+h,v<0&&(c===`bottom`&&_>=0?(t.verticalAlign=`top`,t.inside=!0,_-=u):_-=v,b=!0),v=(n.y||0)+r.height-u-d+h,v>o.plotHeight&&(c===`top`&&_<=0?(t.verticalAlign=`bottom`,t.inside=!0,_-=u):_+=o.plotHeight-v,b=!0),(y||b)&&(t.x=y?g:g+l,t.y=b?_:_+u,e.placed=!a,e.align(t,void 0,i)),y||b}function m(e,t){let n=[],r;if(f(e)&&!f(t))n=e.map(function(e){return d(e,t)});else if(f(t)&&!f(e))n=t.map(function(t){return d(e,t)});else if(!f(e)&&!f(t))n=d(e,t);else if(f(e)&&f(t))for(r=Math.max(e.length,t.length);r--;)n[r]=d(e[r],t[r]);return n}function g(e){let t=e.chart.options.plotOptions;return u(m(m(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}})(ar||={});var or=ar,{composed:sr}=w,{series:cr}=X,lr;(function(e){function t(e,t,n,r,i){let{chart:a,options:o}=this,s=a.inverted,c=this.xAxis?.len||a.plotSizeX||0,l=this.yAxis?.len||a.plotSizeY||0,u=e.dlBox||e.shapeArgs,f=e.below??(e.plotY||0)>(this.translatedThreshold??l),p=n.inside??!!o.stacking;if(u){if(r=d(u),n.overflow!==`allow`||n.crop!==!1||o.clip!==!1){r.y<0&&(r.height+=r.y,r.y=0);let e=r.y+r.height-l;e>0&&e<r.height-1&&(r.height-=e)}s&&(r={x:l-r.y-r.height,y:c-r.x-r.width,width:r.height,height:r.width}),p||(s?(r.x+=f?0:r.width,r.width=0):(r.y+=f?r.height:0,r.height=0))}n.align??=!s||p?`center`:f?`right`:`left`,n.verticalAlign??=s||p?`middle`:f?`top`:`bottom`,cr.prototype.alignDataLabel.call(this,e,t,n,r,i),n.inside&&e.contrastColor&&t.css({color:e.contrastColor})}function n(e){or.compose(cr),s(sr,`ColumnDataLabel`)&&(e.prototype.alignDataLabel=t)}e.compose=n}
17)(lr||={});var ur=lr,dr;(function(e){function t(e){let t=e.prototype;return t.matchResponsiveRule||_(t,{matchResponsiveRule:n,setResponsive:r}),e}e.compose=t;function n(e,t){let n=e.condition;(n.callback||function(){return this.chartWidth<=(n.maxWidth??Number.MAX_VALUE)&&this.chartHeight<=(n.maxHeight??Number.MAX_VALUE)&&this.chartWidth>=(n.minWidth??0)&&this.chartHeight>=(n.minHeight??0)}).call(this,this)&&t.push(e._id)}function r(e,t){let n=this.options.responsive,r=this.currentResponsive,i=[],a;!t&&n&&n.rules&&n.rules.forEach(e=>{e._id===void 0&&(e._id=R()),this.matchResponsiveRule(e,i)},this);let o=d(...i.map(e=>H(n?.rules||[],t=>t._id===e)).map(e=>e?.chartOptions));o.isResponsiveOptions=!0,i=i.toString()||void 0;let s=r?.ruleIds;i!==s&&(r&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(r.undoOptions,e,!0),this.updatingResponsive=!1),i?(a=ae(o,this.options,!0,this.collectionsWithUpdate),a.isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:o,undoOptions:a},this.updatingResponsive||this.update(o,e,!0)):this.currentResponsive=void 0)}})(dr||={});var fr=dr,Q={};function pr(e){let t=e.length,n=Sr(e);return h(n)&&t&&(n=z(n/t)),n}function mr(){let e=[];return[].forEach.call(arguments,function(t){e.push(pr(t))}),e[0]===void 0?void 0:e}function hr(e){return e.length?e[e.length-1]:e.hasNulls?null:void 0}function gr(e){return e.length?F(e):e.hasNulls?null:void 0}function _r(e,t,n){if(e=Q.high(e),t=Q.low(t),n=Q.close(n),h(e)||h(t)||h(n))return[e,t,n]}function vr(e){return e.length?re(e):e.hasNulls?null:void 0}function yr(e,t,n,r){if(e=Q.open(e),t=Q.high(t),n=Q.low(n),r=Q.close(r),h(e)||h(t)||h(n)||h(r))return[e,t,n,r]}function br(e){return e.length?e[0]:e.hasNulls?null:void 0}function xr(e,t){if(e=Q.low(e),t=Q.high(t),h(e)||h(t))return[e,t];if(e===null&&t===null)return null}function Sr(e){let t=e.length,n;if(!t&&e.hasNulls)n=null;else if(t)for(n=0;t--;)n+=e[t];return n}var Cr={average:pr,averages:mr,close:hr,high:gr,hlc:_r,low:vr,ohlc:yr,open:br,range:xr,sum:Sr};_(Q,Cr);var wr={common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:[`%[AebHMSL]`,`%[AebHMSL]`,`-%[HMSL]`],second:[`%[AebHMS]`,`%[AebHMS]`,`-%[HMS]`],minute:[`%[AebHM]`,`%[AebHM]`,`-%[HM]`],hour:[`%[AebHM]`,`%[AebHM]`,`-%[HM]`],day:[`%[AebY]`,`%[Aeb]`,`-%[AebY]`],week:[`%v %[AebY]`,`%[Aeb]`,`-%[AebY]`],month:[`%[BY]`,`%[B]`,`-%[BY]`],year:[`%[Y]`,`%[Y]`,`-%[Y]`]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},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]],[`week`,[1]],[`month`,[1,3,6]],[`year`,null]]},Tr;function Er(e){let t=this,n=t.series;n.forEach(function(e){e.groupPixelWidth=void 0}),n.forEach(function(n){n.groupPixelWidth=t.getGroupPixelWidth&&t.getGroupPixelWidth(),n.groupPixelWidth&&(n.hasProcessed=!0),n.applyGrouping(!!e.hasExtremesChanged)})}function Dr(e){Tr=e;let t=e.prototype;t.applyGrouping||(O(e,`afterSetScale`,kr),O(e,`postProcessData`,Er),_(t,{applyGrouping:Er,getGroupPixelWidth:Or,setDataGrouping:Ar}))}function Or(){let e=this.series,t=e.length,n=0,r=!1,i,a;for(;t--;)a=e[t].options.dataGrouping,a&&(n=Math.max(n,a.groupPixelWidth??wr.common.groupPixelWidth),i=(e[t].dataTable.getModified()||e[t].dataTable).rowCount,(e[t].groupPixelWidth||i>this.chart.plotSizeX/n||i&&a.forced)&&(r=!0));return r?n:0}function kr(){this.series.forEach(function(e){e.hasProcessed=!1})}function Ar(e,t){let n=this,r;if(t??=!0,e||={forced:!1,units:null},this instanceof Tr)for(r=this.series.length;r--;)this.series[r].update({dataGrouping:e},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping=typeof e==`boolean`?e:d(e,t.dataGrouping)});n.ordinal&&(n.ordinal.slope=void 0),t&&this.chart.redraw()}var jr={compose:Dr},{series:{prototype:Mr}}=X,Nr=Mr.generatePoints;function Pr(e,t){T(t[0])&&h(e.min)&&h(e.dataMin)&&t[0]<e.min&&((!T(e.options.min)&&e.min<=e.dataMin||e.min===e.dataMin)&&(e.min=Math.min(t[0],e.min)),e.dataMin=Math.min(t[0],e.dataMin)),T(t[t.length-1])&&h(e.max)&&h(e.dataMax)&&t[t.length-1]>e.max&&((!T(e.options.max)&&h(e.dataMax)&&e.max>=e.dataMax||e.max===e.dataMax)&&(e.max=Math.max(t[t.length-1],e.max)),e.dataMax=Math.max(t[t.length-1],e.dataMax))}function Fr(e,t,n){let r=e.options.dataGrouping,i=e.currentDataGrouping&&e.currentDataGrouping.gapSize,a=e.getColumn(`x`);if(!(r&&a.length&&i&&e.groupMap))return;let o=t.length-1,s=r.anchor,c=r.firstAnchor,l=r.lastAnchor,u=t.length-1,d=0;if(c&&a[0]>=t[0]){d++;let n=e.groupMap[0].start,r=e.groupMap[0].length,o;h(n)&&h(r)&&(o=n+(r-1)),t[0]={start:t[0],middle:t[0]+.5*i,end:t[0]+i,firstPoint:a[0],lastPoint:o&&a[o]}[c]}if(o>0&&l&&i&&t[o]>=n-i){u--;let n=e.groupMap[e.groupMap.length-1].start;t[o]={start:t[o],middle:t[o]+.5*i,end:t[o]+i,firstPoint:n&&a[n],lastPoint:a[a.length-1]}[l]}if(s&&s!==`start`){let e=i*{middle:.5,end:1}[s];for(;u>=d;)t[u]+=e,u--}}function Ir(e){let t=this,n=t.chart,r=t.options.dataGrouping,i=t.allowDG!==!1&&r&&(r.enabled??n.options.isStock),a=t.reserveSpace(),o=this.currentDataGrouping,s,c,l=!1;i&&!t.requireSorting&&(t.requireSorting=l=!0);let u=Ur(t,e)===!1||!i;if(l&&(t.requireSorting=!1),u)return;t.destroyGroupedData();let d=r.groupAll?t.dataTable:t.dataTable.getModified()||t.dataTable,f=t.getColumn(`x`,!r.groupAll),p=f,m=n.plotSizeX,g=t.xAxis,_=g.getExtremes(),v=g.options.ordinal,y=t.groupPixelWidth,b,x;if(y&&p&&d.rowCount&&m&&h(_.min)){x=!0,t.isDirty=!0,t.points=null;let e=_.min,i=_.max,o=v&&g.ordinal&&g.ordinal.getGroupIntervalFactor(e,i,t)||1,l=y*(i-e)/m*o,u=g.getTimeTicks(jt.Additions.prototype.normalizeTimeTickInterval(l,r.units||wr.units),Math.min(e,p[0]),Math.max(i,p[p.length-1]),g.options.startOfWeek,f,t.closestPointRange),h=Mr.groupData.apply(t,[d,u,r.approximation]),S=h.modified,C=S.getColumn(`x`,!0),w=0;for(r?.smoothed&&S.rowCount&&(r.firstAnchor=`firstPoint`,r.anchor=`middle`,r.lastAnchor=`lastPoint`,B(32,!1,n,{"dataGrouping.smoothed":`use dataGrouping.anchor`})),b=1;b<u.length;b++)(!u.info.segmentStarts||u.info.segmentStarts.indexOf(b)===-1)&&(w=Math.max(u[b]-u[b-1],w));s=u.info,s.gapSize=w,t.closestPointRange=u.info.totalRange,t.groupMap=h.groupMap,t.currentDataGrouping=s,Fr(t,C||[],i),a&&C&&Pr(g,C),r.groupAll&&(t.allGroupedTable=S,c=t.cropData(S,g.min||0,g.max||0),S=c.modified,C=S.getColumn(`x`),t.cropStart=c.start),t.dataTable.modified=S}else t.groupMap=void 0,t.currentDataGrouping=void 0;t.hasGroupedData=x,t.preventGraphAnimation=(o&&o.totalRange)!==(s&&s.totalRange)}function Lr(e){let t=e.prototype;if(!t.applyGrouping){let n=e.prototype.pointClass;O(n,`update`,function(){if(this.dataGroup)return B(24,!1,this.series.chart),!1}),O(e,`afterSetOptions`,Hr),O(e,`destroy`,Rr),_(t,{applyGrouping:Ir,destroyGroupedData:Rr,generatePoints:zr,getDGApproximation:Br,groupData:Vr})}}function Rr(){this.groupedData&&(this.groupedData.forEach(function(e,t){e&&(this.groupedData[t]=e.destroy?e.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function zr(){Nr.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function Br(){return this.is(`arearange`)?`range`:this.is(`ohlc`)?`ohlc`:this.is(`hlc`)?`hlc`:this.is(`column`)||this.options.cumulative?`sum`:`average`}function Vr(e,t,n){let r=e===this.dataTable?this.getColumn(`x`):e.getColumn(`x`,!0),i=e.getColumn(`y`,!0),a=this,o=a.dataTable,s=a.cropStart||0,c=a.data,l=a.options?.data,f=[],p=new rn,m=[],g=e.rowCount,_=!!i,v=[],y=a.pointArrayMap,b=y&&y.length,x=[`x`].concat(y||[`y`]),S=(y||[`y`]).map(()=>[]),C=this.options.dataGrouping?.groupAll,w,E,D,O=0,k=0,A=typeof n==`function`?n:n&&Q[n]?Q[n]:Q[a.getDGApproximation&&a.getDGApproximation()||`average`];if(b){let e=y.length;for(;e--;)v.push([])}else v.push([]);let j=b||1;for(let e=0;e<=g;e++)if(!(r[e]<t[0])){for(;t[O+1]!==void 0&&r[e]>=t[O+1]||e===g;){if(w=t[O],a.dataGroupInfo={start:C?k:a.cropStart+k,length:v[0].length,groupStart:w},D=A.apply(a,v),a.pointClass&&!T(a.dataGroupInfo.options)&&l&&(a.dataGroupInfo.options=d(a.pointClass.prototype.optionsToObject.call({series:a},o.getRowObject(s+k))),x.forEach(function(e){delete a.dataGroupInfo.options[e]})),D!==void 0){f.push(w);let e=u(D);for(let t=0;t<e.length;t++)S[t].push(e[t]);m.push(a.dataGroupInfo)}k=e;for(let e=0;e<j;e++)v[e].length=0,v[e].hasNulls=!1;if(O+=1,e===g)break}if(e===g)break;
17if(y){let t=C?e:a.cropStart+e,n=c&&c[t]||a.pointClass.prototype.applyOptions.apply({series:a},[o.getRowObject(t)]),r;for(let e=0;e<b;e++)r=n[y[e]],h(r)?v[e].push(r):r===null&&(v[e].hasNulls=!0)}else E=_?i[e]:null,h(E)?v[0].push(E):E===null&&(v[0].hasNulls=!0)}let M={x:f};return(y||[`y`]).forEach((e,t)=>{M[e]=S[t]}),p.setColumns(M),{groupMap:m,modified:p}}function Hr(e){let t=e.options,n=this.type,r=this.chart.options.plotOptions,i=this.useCommonDataGrouping&&wr.common,a=wr.seriesSpecific,o=V.defaultOptions.plotOptions[n].dataGrouping;if(r&&(a[n]||i)){let e=this.chart.rangeSelector;o||=d(wr.common,a[n]),t.dataGrouping=d(i,o,r.series&&r.series.dataGrouping,r[n].dataGrouping,this.userOptions.dataGrouping,!t.isInternal&&e&&h(e.selected)&&e.buttonOptions[e.selected].dataGrouping)}}function Ur(e,t){return!(e.isCartesian&&!e.isDirty&&!e.xAxis.isDirty&&!e.yAxis.isDirty&&!t)}var Wr={compose:Lr,groupData:Vr},{format:Gr}=Y,{composed:Kr}=w;function qr(e,t,n){jr.compose(e),Wr.compose(t),n&&s(Kr,`DataGrouping`)&&O(n,`headerFormatter`,Jr)}function Jr(e){let t=this.chart,n=t.time,r=e.point,i=r.series,a=i.options,o=i.tooltipOptions,s=a.dataGrouping,c=i.xAxis,l=o.xDateFormat||``,u,d,f,p,m,g=o[e.isFooter?`footerFormat`:`headerFormat`];if(c&&c.options.type===`datetime`&&s&&h(r.key)){d=i.currentDataGrouping,f=s.dateTimeLabelFormats||wr.common.dateTimeLabelFormats,d?(p=f[d.unitName],d.count===1?l=p[0]:(l=p[1],u=p[2])):!l&&f&&c.dateTime&&(l=c.dateTime.getXDateFormat(r.x,o.dateTimeLabelFormats));let a=i.groupMap?.[r.index].groupStart??r.key,h=a+(d?.totalRange||0)-1;m=n.dateFormat(l,a),u&&(m+=n.dateFormat(u,h)),i.chart.styledMode&&(g=this.styledModeFormat(g)),e.text=Gr(g,{point:_(r,{key:m}),series:i},t),e.preventDefault()}}var Yr={compose:qr,groupData:Wr.groupData},{seriesTypes:Xr}=X,Zr={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:[`navigator-handle`,`navigator-handle`],enabled:!0,lineWidth:1,backgroundColor:`var(--highcharts-neutral-color-5)`,borderColor:`var(--highcharts-neutral-color-40)`},maskFill:`color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)`,outlineColor:`var(--highcharts-neutral-color-40)`,outlineWidth:1,series:{type:Xr.areaspline===void 0?`line`:`areaspline`,fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:`average`,enabled:!0,groupPixelWidth:2,firstAnchor:`firstPoint`,anchor:`middle`,lastAnchor:`lastPoint`,units:[[`millisecond`,[1,2,5,10,20,25,50,100,200,500]],[`second`,[1,2,5,10,15,30]],[`minute`,[1,2,5,10,15,30]],[`hour`,[1,2,3,4,6,8,12]],[`day`,[1,2,3,4]],[`week`,[1,2,3]],[`month`,[1,3,6]],[`year`,null]]},dataLabels:{enabled:!1,zIndex:2},id:`highcharts-navigator-series`,className:`highcharts-navigator-series`,lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:`highcharts-navigator-xaxis`,tickLength:0,lineWidth:0,gridLineColor:`var(--highcharts-neutral-color-10)`,id:`navigator-x-axis`,gridLineWidth:1,tickPixelInterval:200,labels:{align:`left`,style:{color:`var(--highcharts-neutral-color-100)`,fontSize:`0.7em`,opacity:.6,textOutline:`2px contrast`},x:3,y:-4},crosshair:!1},yAxis:{className:`highcharts-navigator-yaxis`,gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:`navigator-y-axis`,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},Qr={lang:{rangeSelectorZoom:`Zoom`,rangeSelectorFrom:``,rangeSelectorTo:`â`,rangeSelector:{allText:`All`,allTitle:`View all`,monthText:`{count}m`,monthTitle:`View {count} {#eq count 1}month{else}months{/eq}`,yearText:`{count}y`,yearTitle:`View {count} {#eq count 1}year{else}years{/eq}`,ytdText:`YTD`,ytdTitle:`View year to date`}},rangeSelector:{allButtonsEnabled:!1,buttons:[{type:`month`,count:1},{type:`month`,count:3},{type:`month`,count:6},{type:`ytd`},{type:`year`,count:1},{type:`all`}],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:`%[ebY]`,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}
17,inputStyle:{color:`var(--highcharts-highlight-color-80)`,cursor:`pointer`,fontSize:`0.8em`},labelStyle:{color:`var(--highcharts-neutral-color-60)`,fontSize:`0.8em`}}},$r={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:`var(--highcharts-neutral-color-20)`,barBorderWidth:0,barBorderColor:`var(--highcharts-neutral-color-20)`,buttonArrowColor:`var(--highcharts-neutral-color-80)`,buttonBackgroundColor:`var(--highcharts-neutral-color-10)`,buttonBorderColor:`var(--highcharts-neutral-color-20)`,buttonBorderWidth:1,rifleColor:`none`,trackBackgroundColor:`rgba(255, 255, 255, 0.001)`,trackBorderColor:`var(--highcharts-neutral-color-20)`,trackBorderRadius:5,trackBorderWidth:1};function ei(e){let t=this.xAxis[0];this.fixedRange=T(t.dataMax)&&T(t.dataMin)&&e?Math.min(e,t.dataMax-t.dataMin):e}var ti={setFixedRange:ei},{format:ni}=Y,{getOptions:ri}=V,{setFixedRange:ii}=ti;function ai(e,t,n){return e===`xAxis`?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:e===`yAxis`?{labels:{y:-2},opposite:n.opposite??t.opposite??!0,showLastLabel:!!(t.categories||t.type===`category`),title:{text:void 0}}:{}}function oi(e,t){if(e===`xAxis`){let e=t.navigator?.enabled??Zr.enabled??!0,n={type:`datetime`,categories:void 0};return e&&(n.startOnTick=!1,n.endOnTick=!1),n}return{}}var si=class extends Pn{init(e,t){let n=ri(),r=e.xAxis,i=e.yAxis,a=e.navigator?.enabled??Zr.enabled??!0;e.xAxis=e.yAxis=void 0;let o=d({chart:{panning:{enabled:!0,type:`x`},zooming:{pinchType:`x`,mouseWheel:{type:`x`}}},navigator:{enabled:a},scrollbar:{enabled:$r.enabled??!0},rangeSelector:{enabled:Qr.rangeSelector.enabled??!0},title:{text:null},tooltip:{split:n.tooltip?.split??!0,crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0});e.xAxis=r,e.yAxis=i,o.xAxis=u(e.xAxis||{}).map(t=>d(ai(`xAxis`,t,n.xAxis),t,oi(`xAxis`,e))),o.yAxis=u(e.yAxis||{}).map(e=>d(ai(`yAxis`,e,n.yAxis),e)),super.init(o,t)}createAxis(e,t){return t.axis=d(ai(e,t.axis,ri()[e]),t.axis,oi(e,this.userOptions)),super.createAxis(e,t)}};O(Pn,`update`,function(e){let t=this,n=e.options;`scrollbar`in n&&t.navigator&&(d(!0,t.options.scrollbar,n.scrollbar),t.navigator.update({enabled:!!t.navigator.navigatorEnabled}),delete n.scrollbar)}),(function(e){function t(e,t,c,l){let d=c.prototype;d.forceCropping||(O(t,`afterDrawCrosshair`,n),O(t,`afterHideCrosshair`,r),O(t,`autoLabelAlign`,i),O(t,`getPlotLinePath`,a),e.prototype.setFixedRange=ii,d.forceCropping=s,O(c,`setOptions`,o),l.prototype.crispPolyLine=u)}e.compose=t;function n(e){let t=this;if(!(t.crosshair?.label?.enabled&&t.cross&&h(t.min)&&h(t.max)))return;let n=t.chart,r=t.logarithmic,i=t.crosshair.label,a=t.horiz,o=t.opposite,s=t.left,c=t.top,l=t.width,u=t.options.tickPosition===`inside`,d=t.crosshair.snap!==!1,f=e.e||t.cross?.e,p=e.point,m=t.crossLabel,g,v,y=i.format,b=``,x,S=0,C=t.min,w=t.max;r&&(C=r.lin2log(t.min),w=r.lin2log(t.max));let T=a?`center`:o?t.labelAlign===`right`?`right`:`left`:t.labelAlign===`left`?`left`:`center`;m||(m=t.crossLabel=n.renderer.label(``,0,void 0,i.shape||`callout`).addClass(`highcharts-crosshair-label highcharts-color-`+(p?.series?p.series.colorIndex:t.series[0]&&this.series[0].colorIndex)).attr({align:i.align||T,padding:i.padding??8,r:i.borderRadius??3,zIndex:2}).add(t.labelGroup),n.styledMode||m.attr({fill:i.backgroundColor||p?.series?.color||`var(--highcharts-neutral-color-60)`,stroke:i.borderColor||``,"stroke-width":i.borderWidth||0}).css(_({color:`var(--highcharts-background-color)`,fontWeight:`normal`,fontSize:`0.7em`,textAlign:`center`},i.style||{}))),a?(g=d?(p.plotX||0)+s:f.chartX,v=c+(o?0:t.height)):(g=s+t.offset+(o?l:0),v=d?(p.plotY||0)+c:f.chartY),!y&&!i.formatter&&(t.dateTime&&(b=`%b %d, %Y`),y=`{value`+(b?`:`+b:``)+`}`);let E=d?t.isXAxis?p.x:p.y:t.toValue(a?f.chartX:f.chartY),D=p?.series?p.series.isPointInside(p):h(E)&&E>C&&E<w,O=``;y?O=ni(y,{value:E},n):i.formatter&&h(E)&&(O=i.formatter.call(t,E,t)),m.attr({text:O,x:g,y:v,visibility:D?`inherit`:`hidden`});let k=m.getBBox();
17h(m.x)&&!a&&!o&&(g=m.x-k.width/2),h(m.y)&&(a?(u&&!o||!u&&o)&&(v=m.y-k.height):v=m.y-k.height/2),x=a?{left:s,right:s+t.width}:{left:t.labelAlign===`left`?s:0,right:t.labelAlign===`right`?s+t.width:n.chartWidth};let A=m.translateX||0;A<x.left&&(S=x.left-A),A+k.width>=x.right&&(S=-(A+k.width-x.right)),m.attr({x:Math.max(0,g+S),y:Math.max(0,v),anchorX:a?g:t.opposite?0:n.chartWidth,anchorY:a?t.opposite?n.chartHeight:0:v+k.height/2})}function r(){let e=this;e.crossLabel&&=e.crossLabel.hide()}function i(e){let t=this,n=t.chart,r=t.options,i=r.labels;n.options.isStock&&t.coll===`yAxis`&&(()=>{let e=!1;for(let i of n.yAxis){if(i===t&&!e)return!0;i!==t&&i.options.top===r.top&&i.options.height===r.height&&(e=!0)}return!1})()&&i.enabled&&(e.align=`right`,e.preventDefault())}function a(e){let t=this,n=t.options,r=!t.series&&t.linkedParent?t.linkedParent.series:t.series,{chart:i,horiz:a}=t,o=i.renderer,s=[],{acrossPanes:l=!0,force:u,translatedValue:d,value:f}=e,p=(t.isXAxis?i.yAxis:i.xAxis)||[],m=a?`top`:`left`,g=a?`height`:`width`,_=T(n[m])||T(n[g]),v=e=>{let t=e===`xAxis`?`yAxis`:`xAxis`,a=n[t];return l&&!n.isInternal?p.filter(e=>!e.options.isInternal):h(a)?[i[t][a]]:c(a)?[i.get(a)]:r.map(e=>e[t])};function y(e,t,n){s.push([`M`,a?e:t,a?t:e],[`L`,a?e:n,a?n:e])}let b=[],x,S;if((i.options.isStock||_)&&(t.coll===`xAxis`||t.coll===`yAxis`)){e.preventDefault(),b=v(t.coll);for(let e of p)if(!e.options.isInternal){let n=e.isXAxis?`yAxis`:`xAxis`;t===(T(e.options[n])&&i[n][e.options[n]])&&b.push(e)}x=b.length?[]:[t.isXAxis?i.yAxis[0]:i.xAxis[0]];for(let e of b)x.indexOf(e)===-1&&!H(x,t=>t.pos===e.pos&&t.len===e.len)&&x.push(e);if(S=d??t.translate(f||0,void 0,void 0,e.old),h(S)){let e,n=a?S+t.pos:t.pos+t.len-S;if(u!==`pass`&&(n<t.pos||n>t.pos+t.len)&&(u?n=A(n,t.pos,t.pos+t.len):e=!0),!e){if(_&&t[g]>0&&!l)y(n,t[m],t[m]+t[g]);else for(let e of x)y(n,e.pos,e.pos+e.len)}}e.path=s.length>0?o.crispPolyLine(s,e.lineWidth||1):void 0}}function o(e){let t=this;if(t.chart.options.isStock){let n;t.is(`column`)||t.is(`columnrange`)?n={borderWidth:0,shadow:!1}:!t.is(`scatter`)&&!t.is(`sma`)&&(n={marker:{enabled:!1,radius:2}}),n&&(e.plotOptions[t.type]=d(e.plotOptions[t.type],n))}}function s(){let e=this,t=e.chart,n=e.options.dataGrouping;return e.allowDG!==!1&&n&&(n.enabled??t.options.isStock)}function l(t,n,r){let i=new e(t,n,r);return i.promise??i}e.stockChart=l;function u(e,t){for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];T(r[1])&&r[1]===i[1]&&(r[1]=i[1]=M(r[1],t)),T(r[2])&&r[2]===i[2]&&(r[2]=i[2]=M(r[2],t))}return e}})(si||={});var ci=si,$=w;$.Axis=Ot,$.Chart=Pn,$.DataLabel=or,$.Legend=Tn,$.PlotLineOrBand=Pt,$.Pointer=Zt,$.Series=Z,$.SeriesRegistry=X,$.StackItem=Ln,$.SVGElement=q,$.SVGRenderer=at,$.Time=L,$.Tooltip=Gt,$.chart=Pn.chart,$.defaultOptions=V.defaultOptions,$.getOptions=V.getOptions,$.seriesType=X.seriesType,$.setOptions=V.setOptions,$.time=V.defaultTime,ur.compose($.Series.types.column),or.compose($.Series),jt.compose($.Axis),Tn.compose($.Chart),Pt.compose($.Chart,$.Axis),Zt.compose($.Chart),fr.compose($.Chart),Yn.compose($.Axis,$.Chart,$.Series),Gt.compose($.Pointer),_($,ne),$.dataGrouping={approximationDefaults:Cr,approximations:Q},Yr.compose($.Axis,$.Series,$.Tooltip),$.StockChart=$.stockChart=ci,$.StockChart.compose($.Chart,$.Axis,$.Series,$.SVGRenderer);export{$ as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.