Files
clash-for-linux/dashboard/public/_nuxt/Dt7oRBho.js
2026-01-15 00:14:24 +08:00

2 lines
271 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{At as e}from"./CwRUcIL4.js";var t=e(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?(n._Highcharts=r(),t.exports=n._Highcharts):typeof define==`function`&&define.amd?define(`highcharts/highcharts`,[],r):typeof e==`object`?(n._Highcharts=r(),e.highcharts=n._Highcharts):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=r())})(typeof window>`u`?e:window,()=>(()=>{let e,t;var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b={};b.d=(e,t)=>{for(var n in t)b.o(t,n)&&!b.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var x={};b.d(x,{default:()=>md}),function(e){e.SVG_NS=`http://www.w3.org/2000/svg`,e.product=`Highcharts`,e.version=`12.4.0`,e.win=typeof window<`u`?window:{},e.doc=e.win.document,e.svg=!!e.doc?.createElementNS?.(e.SVG_NS,`svg`)?.createSVGRect,e.pageLang=e.doc?.documentElement?.closest(`[lang]`)?.lang,e.userAgent=e.win.navigator?.userAgent||``,e.isChrome=e.win.chrome,e.isFirefox=e.userAgent.indexOf(`Firefox`)!==-1,e.isMS=/(edge|msie|trident)/i.test(e.userAgent)&&!e.win.opera,e.isSafari=!e.isChrome&&e.userAgent.indexOf(`Safari`)!==-1,e.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(e.userAgent),e.isWebKit=e.userAgent.indexOf(`AppleWebKit`)!==-1,e.deg2rad=2*Math.PI/360,e.marginNames=[`plotTop`,`marginRight`,`marginBottom`,`plotLeft`],e.noop=function(){},e.supportsPassiveEvents=function(){let t=!1;if(!e.isMS){let n=Object.defineProperty({},`passive`,{get:function(){t=!0}});e.win.addEventListener&&e.win.removeEventListener&&(e.win.addEventListener(`testPassive`,e.noop,n),e.win.removeEventListener(`testPassive`,e.noop,n))}return t}(),e.charts=[],e.composed=[],e.dateFormats={},e.seriesTypes={},e.symbolSizes={},e.chartCount=0}(n||={});let S=n,{charts:C,doc:w,win:T}=S;function E(e,t,n,r){let i=t?`Highcharts error`:`Highcharts warning`;e===32&&(e=`${i}: Deprecated member`);let a=te(e),o=a?`${i} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(r!==void 0){let e=``;a&&(o+=`?`),de(r,function(t,n){e+=`
- ${n}: ${t}`,a&&(o+=encodeURI(n)+`=`+encodeURI(t))}),o+=e}pe(S,`displayError`,{chart:n,code:e,message:o,params:r},function(){if(t)throw Error(o);T.console&&E.messages.indexOf(o)===-1&&console.warn(o)}),E.messages.push(o)}function D(e,t){return parseInt(e,t||10)}function O(e){return typeof e==`string`}function k(e){let t=Object.prototype.toString.call(e);return t===`[object Array]`||t===`[object Array Iterator]`}function A(e,t){return!!e&&typeof e==`object`&&(!t||!k(e))}function ee(e){return A(e)&&typeof e.nodeType==`number`}function j(e){let t=e?.constructor;return!!(A(e,!0)&&!ee(e)&&t?.name&&t.name!==`Object`)}function te(e){return typeof e==`number`&&!isNaN(e)&&e<1/0&&e>-1/0}function ne(e){return e!=null}function re(e,t,n){let r,i=O(t)&&!ne(n),a=(t,n)=>{ne(t)?e.setAttribute(n,t):i?(r=e.getAttribute(n))||n!==`class`||(r=e.getAttribute(n+`Name`)):e.removeAttribute(n)};return O(t)?a(n,t):de(t,a),r}function ie(e){return k(e)?e:[e]}function ae(e,t){let n;for(n in e||={},t)e[n]=t[n];return e}function oe(){let e=arguments,t=e.length;for(let n=0;n<t;n++){let t=e[n];if(t!=null)return t}}function se(e,t){ae(e.style,t)}function ce(e){return 10**Math.floor(Math.log(e)/Math.LN10)}function le(e,t){return e>0x5af3107a4000?e:parseFloat(e.toPrecision(t||14))}(E||={}).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let ue=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let n,r=e.length;for(n=0;n<r;n++)if(t(e[n],n))return e[n]};function de(e,t,n){for(let r in e)Object.hasOwnProperty.call(e,r)&&t.call(n||e[r],e[r],r,e)}function fe(e,t,n){function r(t,n){let r=e.removeEventListener;r&&r.call(e,t,n,!1)}function i(n){let i,a;e.nodeName&&(t?(i={})[t]=!0:i=n,de(i,function(e,t){if(n[t])for(a=n[t].length;a--;)r(t,n[t][a].fn)}))}let a=typeof e==`function`&&e.prototype||e;if(Object.hasOwnProperty.call(a,`hcEvents`)){let e=a.hcEvents;if(t){let a=e[t]||[];n?(e[t]=a.filter(function(e){return n!==e.fn}),r(t,n)):(i(e),e[t]=[])}else i(e),delete a.hcEvents}}function pe(e,t,n,r){if(n||={},w?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==S)){let r=w.createEvent(`Events`);r.initEvent(t,!0,!0),n=ae(r,n),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent(t,n)}else if(e.hcEvents){n.target||ae(n,{preventDefault:function(){n.defaultPrevented=!0},target:e,type:t});let r=[],i=e,a=!1;for(;i.hcEvents;)Object.hasOwnProperty.call(i,`hcEvents`)&&i.hcEvents[t]&&(r.length&&(a=!0),r.unshift.apply(r,i.hcEvents[t])),i=Object.getPrototypeOf(i);a&&r.sort((e,t)=>e.order-t.order),r.forEach(t=>{!1===t.fn.call(e,n)&&n.preventDefault()})}r&&!n.defaultPrevented&&r.call(e,n)}let me=function(){let t=Math.random().toString(36).substring(2,9)+`-`,n=0;return function(){return`highcharts-`+(e?``:t)+ n++}}();T.jQuery&&(T.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new S[O(e[0])?e.shift():`Chart`](this[0],e[0],e[1]),this):C[re(this[0],`data-highcharts-chart`)]});let M={addEvent:function(e,t,n,r={}){let i=typeof e==`function`&&e.prototype||e;Object.hasOwnProperty.call(i,`hcEvents`)||(i.hcEvents={});let a=i.hcEvents;S.Point&&e instanceof S.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let o=e.addEventListener;o&&o.call(e,t,n,!!S.supportsPassiveEvents&&{passive:r.passive===void 0?t.indexOf(`touch`)!==-1:r.passive,capture:!1}),a[t]||(a[t]=[]);let s={fn:n,order:typeof r.order==`number`?r.order:1/0};return a[t].push(s),a[t].sort((e,t)=>e.order-t.order),function(){fe(e,t,n)}},arrayMax:function(e){let t=e.length,n=e[0];for(;t--;)e[t]>n&&(n=e[t]);return n},arrayMin:function(e){let t=e.length,n=e[0];for(;t--;)e[t]<n&&(n=e[t]);return n},attr:re,clamp:function(e,t,n){return e>t?e<n?e:n:t},clearTimeout:function(e){ne(e)&&clearTimeout(e)},correctFloat:le,createElement:function(e,t,n,r,i){let a=w.createElement(e);return t&&ae(a,t),i&&se(a,{padding:`0`,border:`none`,margin:`0`}),n&&se(a,n),r&&r.appendChild(a),a},crisp:function(e,t=0,n){let r=t%2/2,i=n?-1:1;return(Math.round(e*i-r)+r)*i},css:se,defined:ne,destroyObjectProperties:function(e,t,n){de(e,function(r,i){r!==t&&r?.destroy&&r.destroy(),(r?.destroy||!n)&&delete e[i]})},diffObjects:function(e,t,n,r){let i={};return function e(t,i,a,o){let s=n?i:t;de(t,function(n,c){if(!o&&r&&r.indexOf(c)>-1&&i[c]){n=ie(n),a[c]=[];for(let t=0;t<Math.max(n.length,i[c].length);t++)i[c][t]&&(n[t]===void 0?a[c][t]=i[c][t]:(a[c][t]={},e(n[t],i[c][t],a[c][t],o+1)))}else A(n,!0)&&!n.nodeType?(a[c]=k(n)?[]:{},e(n,i[c]||{},a[c],o+1),Object.keys(a[c]).length===0&&(c!==`colorAxis`||o!==0)&&delete a[c]):(t[c]!==i[c]||c in t&&!(c in i))&&c!==`__proto__`&&c!==`constructor`&&(a[c]=s[c])})}(e,t,i,0),i},discardElement:function(e){e?.parentElement?.removeChild(e)},erase:function(e,t){let n=e.length;for(;n--;)if(e[n]===t){e.splice(n,1);break}},error:E,extend:ae,extendClass:function(e,t){let n=function(){};return n.prototype=new e,ae(n.prototype,t),n},find:ue,fireEvent:pe,getAlignFactor:(e=``)=>({center:.5,right:1,middle:.5,bottom:1})[e]||0,getClosestDistance:function(e,t){let n,r,i,a=!t;return e.forEach(e=>{if(e.length>1)for(i=e.length-1;i>0;i--)(r=e[i]-e[i-1])<0&&!a?(t?.(),t=void 0):r&&(n===void 0||r<n)&&(n=r)}),n},getMagnitude:ce,getNestedProperty:function(e,t){let n=e.split(`.`);for(;n.length&&ne(t);){let e=n.shift();if(e===void 0||e===`__proto__`)return;if(e===`this`){let e;return A(t)&&(e=t[`@this`]),e??t}let r=t[e.replace(/[\\'"]/g,``)];if(!ne(r)||typeof r==`function`||typeof r.nodeType==`number`||r===T)return;t=r}return t},getStyle:function e(t,n,r){let i;if(n===`width`){let n=Math.min(t.offsetWidth,t.scrollWidth),r=t.getBoundingClientRect?.().width;return r<n&&r>=n-1&&(n=Math.floor(r)),Math.max(0,n-(e(t,`padding-left`,!0)||0)-(e(t,`padding-right`,!0)||0))}if(n===`height`)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,`padding-top`,!0)||0)-(e(t,`padding-bottom`,!0)||0));let a=T.getComputedStyle(t,void 0);return a&&(i=a.getPropertyValue(n),oe(r,n!==`opacity`)&&(i=D(i))),i},insertItem:function(e,t){let n,r=e.options.index,i=t.length;for(n=e.options.isInternal?i:0;n<i+1;n++)if(!t[n]||te(r)&&r<oe(t[n].options.index,t[n]._i)||t[n].options.isInternal){t.splice(n,0,e);break}return n},isArray:k,isClass:j,isDOMElement:ee,isFunction:function(e){return typeof e==`function`},isNumber:te,isObject:A,isString:O,merge:function(e,...t){let n,r=[e,...t],i={},a=function(e,t){return typeof e!=`object`&&(e={}),de(t,function(n,r){r!==`__proto__`&&r!==`constructor`&&(!A(n,!0)||j(n)||ee(n)?e[r]=t[r]:e[r]=a(e[r]||{},n))}),e};!0===e&&(i=r[1],r=Array.prototype.slice.call(r,2));let o=r.length;for(n=0;n<o;n++)i=a(i,r[n]);return i},normalizeTickInterval:function(e,t,n,r,i){let a,o=e;n=oe(n,ce(e));let s=e/n;for(!t&&(t=i?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(n===1?t=t.filter(function(e){return e%1==0}):n<=.1&&(t=[1/n]))),a=0;a<t.length&&(o=t[a],(!i||!(o*n>=e))&&(i||!(s<=(t[a]+(t[a+1]||t[a]))/2)));a++);return le(o*n,-Math.round(Math.log(.001)/Math.LN10))},objectEach:de,offset:function(e){let t=w.documentElement,n=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:n.top+(T.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(T.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:n.width,height:n.height}},pad:function(e,t,n){return Array((t||2)+1-String(e).replace(`-`,``).length).join(n||`0`)+e},pick:oe,pInt:D,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,n){return/%$/.test(e)?t*parseFloat(e)/100+(n||0):parseFloat(e)},removeEvent:fe,replaceNested:function(e,...t){let n,r;do for(r of(n=e,t))e=e.replace(r[0],r[1]);while(e!==n);return e},splat:ie,stableSort:function(e,t){let n,r,i=e.length;for(r=0;r<i;r++)e[r].safeI=r;for(e.sort(function(e,r){return(n=t(e,r))===0?e.safeI-r.safeI:n}),r=0;r<i;r++)delete e[r].safeI},syncTimeout:function(e,t,n){return t>0?setTimeout(e,t,n):(e.call(0,n),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(e){return O(e)?e.substring(0,1).toUpperCase()+e.substring(1):String(e)},uniqueKey:me,useSerialIds:function(t){return e=oe(t,e)},wrap:function(e,t,n){let r=e[t];e[t]=function(){let e=arguments,t=this;return n.apply(this,[function(){return r.apply(t,arguments.length?arguments:e)}].concat([].slice.call(arguments)))}}},{pageLang:he,win:ge}=S,{defined:_e,error:ve,extend:ye,isNumber:be,isObject:xe,isString:Se,merge:Ce,objectEach:we,pad:Te,splat:Ee,timeUnits:De,ucfirst:Oe}=M,ke=S.isSafari&&ge.Intl&&!ge.Intl.DateTimeFormat.prototype.formatRange,Ae=e=>e.main===void 0,je=class{constructor(e,t){this.options={timezone:`UTC`},this.variableTimezone=!1,this.Date=ge.Date,this.update(e),this.lang=t}update(e={}){this.dTLCache={},this.options=e=Ce(!0,this.options,e);let{timezoneOffset:t,useUTC:n,locale:r}=e;this.Date=e.Date||ge.Date||Date;let i=e.timezone;_e(n)&&(i=n?`UTC`:void 0),t&&t%60==0&&(i=`Etc/GMT`+(t>0?`+`:``)+t/60),this.variableTimezone=i!==`UTC`&&i?.indexOf(`Etc/GMT`)!==0,this.timezone=i,this.lang&&r&&(this.lang.locale=r),[`months`,`shortMonths`,`weekdays`,`shortWeekdays`].forEach(e=>{let t=/months/i.test(e),n=/short/.test(e),r={timeZone:`UTC`};r[t?`month`:`weekday`]=n?`short`:`long`,this[e]=(t?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(e=>this.dateFormat(r,(t?31:1)*24*36e5*e))})}toParts(e){let[t,n,r,i,a,o,s]=this.dateTimeFormat({weekday:`narrow`,day:`numeric`,month:`numeric`,year:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`},e,`es`).split(/(?:, | |\/|:)/g);return[i,r-1,n,a,o,s,Math.floor(Number(e)||0)%1e3,`DLMXJVS`.indexOf(t)].map(Number)}dateTimeFormat(e,t,n=this.options.locale||he){let r=JSON.stringify(e)+n;Se(e)&&(e=this.str2dtf(e));let i=this.dTLCache[r];if(!i){e.timeZone??=this.timezone;try{i=new Intl.DateTimeFormat(n,e)}catch(t){/Invalid time zone/i.test(t.message)?(ve(34),e.timeZone=`UTC`,i=new Intl.DateTimeFormat(n,e)):ve(t.message,!1)}}return this.dTLCache[r]=i,i?.format(t)||``}str2dtf(e,t={}){let n={L:{fractionalSecondDigits:3},S:{second:`2-digit`},M:{minute:`numeric`},H:{hour:`2-digit`},k:{hour:`numeric`},E:{weekday:`narrow`},a:{weekday:`short`},A:{weekday:`long`},d:{day:`2-digit`},e:{day:`numeric`},b:{month:`short`},B:{month:`long`},m:{month:`2-digit`},o:{month:`numeric`},y:{year:`2-digit`},Y:{year:`numeric`}};return Object.keys(n).forEach(r=>{e.indexOf(r)!==-1&&ye(t,n[r])}),t}makeTime(e,t,n=1,r=0,i,a,o){let s=this.Date.UTC(e,t,n,r,i||0,a||0,o||0);if(this.timezone!==`UTC`){let e=this.getTimezoneOffset(s);if(s+=e,[2,3,8,9,10,11].indexOf(t)!==-1&&(r<5||r>20)){let t=this.getTimezoneOffset(s);e===t?e-36e5!==this.getTimezoneOffset(s-36e5)||ke||(s-=36e5):s+=t-e}}return s}parse(e){if(!Se(e))return e??void 0;let t=(e=e.replace(/\//g,`-`).replace(/(GMT|UTC)/,``)).indexOf(`Z`)>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(e),n=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(e);t||n||(e+=`Z`);let r=Date.parse(e);if(be(r))return r+(!t||n?this.getTimezoneOffset(r):0)}getTimezoneOffset(e){if(this.timezone!==`UTC`){let[t,n,r,i,a=0]=this.dateTimeFormat({timeZoneName:`shortOffset`},e,`en`).split(/(GMT|:)/).map(Number),o=-(60*(r+a/60)*6e4);if(be(o))return o}return 0}dateFormat(e,t,n){let r=this.lang;if(!_e(t)||isNaN(t))return r?.invalidDate||``;if(Se(e??=`%Y-%m-%d %H:%M:%S`)){let n,i=/%\[([a-zA-Z]+)\]/g;for(;n=i.exec(e);)e=e.replace(n[0],this.dateTimeFormat(n[1],t,r?.locale))}if(Se(e)&&e.indexOf(`%`)!==-1){let n=this,[i,a,o,s,c,l,u,d]=this.toParts(t),f=r?.weekdays||this.weekdays,p=r?.shortWeekdays||this.shortWeekdays,m=r?.months||this.months,h=r?.shortMonths||this.shortMonths;we(ye({a:p?p[d]:f[d].substr(0,3),A:f[d],d:Te(o),e:Te(o,2,` `),w:d,v:r?.weekFrom??``,b:h[a],B:m[a],m:Te(a+1),o:a+1,y:i.toString().substr(2,2),Y:i,H:Te(s),k:s,I:Te(s%12||12),l:s%12||12,M:Te(c),p:s<12?`AM`:`PM`,P:s<12?`am`:`pm`,S:Te(l),L:Te(u,3)},S.dateFormats),function(r,i){if(Se(e))for(;e.indexOf(`%`+i)!==-1;)e=e.replace(`%`+i,typeof r==`function`?r.call(n,t):r)})}else if(xe(e)){let n=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||`Etc/GMT`+(n>=0?`+`:``)+n,{prefix:i=``,suffix:a=``}=e;e=i+this.dateTimeFormat(ye({timeZone:r},e),t)+a}return n?Oe(e):e}resolveDTLFormat(e){return xe(e,!0)?xe(e,!0)&&Ae(e)?{main:e}:e:{main:(e=Ee(e))[0],from:e[1],to:e[2]}}getDateFormat(e,t,n,r){let i=this.dateFormat(`%m-%d %H:%M:%S.%L`,t),a=`01-01 00:00:00.000`,o={millisecond:15,second:12,minute:9,hour:6,day:3},s=`millisecond`,c=s;for(s in De){if(e&&e===De.week&&+this.dateFormat(`%w`,t)===n&&i.substr(6)===a.substr(6)){s=`week`;break}if(e&&De[s]>e){s=c;break}if(o[s]&&i.substr(o[s])!==a.substr(o[s]))break;s!==`week`&&(c=s)}return this.resolveDTLFormat(r[s]).main}},{defined:Me,extend:Ne,timeUnits:N}=M,Pe=class extends je{getTimeTicks(e,t,n,r){let i=this,a=[],o={},{count:s=1,unitRange:c}=e,[l,u,d,f,p,m]=i.toParts(t),h=(t||0)%1e3,g;if(r??=1,Me(t)){if(h=c>=N.second?0:s*Math.floor(h/s),c>=N.second&&(m=c>=N.minute?0:s*Math.floor(m/s)),c>=N.minute&&(p=c>=N.hour?0:s*Math.floor(p/s)),c>=N.hour&&(f=c>=N.day?0:s*Math.floor(f/s)),c>=N.day&&(d=c>=N.month?1:Math.max(1,s*Math.floor(d/s))),c>=N.month&&(u=c>=N.year?0:s*Math.floor(u/s)),c>=N.year&&(l-=l%s),c===N.week){s&&(t=i.makeTime(l,u,d,f,p,m,h));let e=this.dateTimeFormat({timeZone:this.timezone,weekday:`narrow`},t,`es`),n=`DLMXJVS`.indexOf(e);d+=-n+r+(n<r?-7:0)}t=i.makeTime(l,u,d,f,p,m,h),i.variableTimezone&&Me(n)&&(g=n-t>4*N.month||i.getTimezoneOffset(t)!==i.getTimezoneOffset(n));let e=t,_=1;for(;e<n;)a.push(e),c===N.year?e=i.makeTime(l+_*s,0):c===N.month?e=i.makeTime(l,u+_*s):g&&(c===N.day||c===N.week)?e=i.makeTime(l,u,d+_*s*(c===N.day?1:7)):g&&c===N.hour&&s>1?e=i.makeTime(l,u,d,f+_*s):e+=c*s,_++;a.push(e),c<=N.hour&&a.length<1e4&&a.forEach(e=>{e%18e5==0&&i.dateFormat(`%H%M%S%L`,e)===`000000000`&&(o[e]=`day`)})}return a.info=Ne(e,{higherRanks:o,totalRange:c*s}),a}},{isTouchDevice:Fe}=S,{fireEvent:Ie,merge:Le}=M,Re={colors:[`#2caffe`,`#544fc5`,`#00e272`,`#fe6a35`,`#6b8abc`,`#d568fb`,`#2ee0ca`,`#fa4b42`,`#feb56a`,`#91e8e1`],symbols:[`circle`,`diamond`,`square`,`triangle`,`triangle-down`],lang:{weekFrom:`week from`,chartTitle:`Chart title`,locale:void 0,loading:`Loading...`,months:void 0,seriesName:`Series {add index 1}`,shortMonths:void 0,weekdays:void 0,numericSymbols:[`k`,`M`,`G`,`T`,`P`,`E`],pieSliceName:`Slice`,resetZoom:`Reset zoom`,yAxisTitle:`Values`,resetZoomTitle:`Reset zoom level 1:1`},global:{buttonTheme:{fill:`#f7f7f7`,padding:8,r:2,stroke:`#cccccc`,"stroke-width":1,style:{color:`#333333`,cursor:`pointer`,fontSize:`0.8em`,fontWeight:`normal`},states:{hover:{fill:`#e6e6e6`},select:{fill:`#e6e9ff`,style:{color:`#000000`,fontWeight:`bold`}},disabled:{style:{color:`#cccccc`}}}}},time:{Date:void 0,timezone:`UTC`,timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:`x`},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:`line`,zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:`right`,x:-10,y:10}}},width:null,height:null,borderColor:`#334eff`,backgroundColor:`#ffffff`,plotBorderColor:`#cccccc`},title:{style:{color:`#333333`,fontWeight:`bold`},text:`Chart title`,margin:15,minScale:.67},subtitle:{style:{color:`#666666`,fontSize:`0.8em`},text:``},caption:{margin:15,style:{color:`#666666`,fontSize:`0.8em`},text:``,align:`left`,verticalAlign:`bottom`},plotOptions:{},legend:{enabled:!0,align:`center`,alignColumns:!0,className:`highcharts-no-tooltip`,events:{},layout:`horizontal`,itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:`#999999`,borderRadius:0,navigation:{style:{fontSize:`0.8em`},activeColor:`#0022ff`,inactiveColor:`#cccccc`},itemStyle:{color:`#333333`,cursor:`pointer`,fontSize:`0.8em`,textDecoration:`none`,textOverflow:`ellipsis`},itemHoverStyle:{color:`#000000`},itemHiddenStyle:{color:`#666666`,textDecoration:`line-through`},shadow:!1,itemCheckboxStyle:{position:`absolute`,width:`13px`,height:`13px`},squareSymbol:!0,symbolPadding:5,verticalAlign:`bottom`,x:0,y:0,title:{style:{color:`#333333`,fontSize:`0.8em`,fontWeight:`bold`}}},loading:{labelStyle:{fontWeight:`bold`,position:`relative`,top:`45%`},style:{position:`absolute`,backgroundColor:`#ffffff`,opacity:.5,textAlign:`center`}},tooltip:{enabled:!0,animation:{duration:300,easing:e=>Math.sqrt(1-(e-1)**2)},borderRadius:3,dateTimeLabelFormats:{millisecond:`%[AebHMSL]`,second:`%[AebHMS]`,minute:`%[AebHM]`,hour:`%[AebHM]`,day:`%[AebY]`,week:`%v %[AebY]`,month:`%[BY]`,year:`%Y`},footerFormat:``,headerShape:`callout`,hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:Fe?25:10,headerFormat:`<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>`,pointFormat:`<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>`,backgroundColor:`#ffffff`,borderWidth:void 0,stickOnContact:!1,style:{color:`#333333`,cursor:`default`,fontSize:`0.8em`},useHTML:!1},credits:{enabled:!0,href:`https://www.highcharts.com?credits`,position:{align:`right`,x:-10,verticalAlign:`bottom`,y:-5},style:{cursor:`pointer`,color:`#999999`,fontSize:`0.6em`},text:`Highcharts.com`}},ze=new Pe(Re.time,Re.lang),Be={defaultOptions:Re,defaultTime:ze,getOptions:function(){return Re},setOptions:function(e){return Ie(S,`setOptions`,{options:e}),Le(!0,Re,e),e.time&&ze.update(Re.time),e.lang&&`locale`in e.lang&&ze.update({locale:e.lang.locale}),e.lang?.chartTitle&&(Re.title={...Re.title,text:e.lang.chartTitle}),Re}},{win:Ve}=S,{isNumber:He,isString:Ue,merge:We,pInt:P,defined:Ge}=M,Ke=(e,t,n)=>`color-mix(in srgb,${e},${t} ${100*n}%)`,qe=e=>Ue(e)&&!!e&&e!==`none`;class F{static parse(e){return e?new F(e):F.None}constructor(e){let t,n,r,i;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=S.Color;if(a&&a!==F)return new a(e);if(typeof e==`object`&&e.stops!==void 0)this.stops=e.stops.map(e=>new F(e[1]));else if(typeof e==`string`)for(this.input=e=F.names[e.toLowerCase()]||e,r=F.parsers.length;r--&&!n;)(t=(i=F.parsers[r]).regex.exec(e))&&(n=i.parse(t));n&&(this.rgba=n)}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=We(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&&He(n[0])?e!==`rgb`&&(e||n[3]!==1)?e===`a`?`${n[3]}`:`rgba(`+n.join(`,`)+`)`:`rgb(`+n[0]+`,`+n[1]+`,`+n[2]+`)`:t}brighten(e){let t=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(He(e)&&e!==0)if(He(t[0]))for(let n=0;n<3;n++)t[n]+=P(255*e),t[n]<0&&(t[n]=0),t[n]>255&&(t[n]=255);else F.useColorMix&&qe(this.input)&&(this.output=Ke(this.input,e>0?`white`:`black`,Math.abs(e)));return this}setOpacity(e){return this.rgba[3]=e,this}tweenTo(e,t){let n=this.rgba,r=e.rgba;if(!He(n[0])||!He(r[0]))return F.useColorMix&&qe(this.input)&&qe(e.input)&&t<.99?Ke(this.input,e.input,t):e.input||`none`;let i=r[3]!==1||n[3]!==1,a=(e,r)=>e+(n[r]-e)*(1-t),o=r.slice(0,3).map(a).map(Math.round);return i&&o.push(a(r[3],3)),(i?`rgba(`:`rgb(`)+o.join(`,`)+`)`}}F.names={white:`#ffffff`,black:`#000000`},F.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[P(e[1]),P(e[2]),P(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[P(e[1]),P(e[2]),P(e[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(e){return[P(e[1]+e[1],16),P(e[2]+e[2],16),P(e[3]+e[3],16),Ge(e[4])?P(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[P(e[1],16),P(e[2],16),P(e[3],16),Ge(e[4])?P(e[4],16)/255:1]}}],F.useColorMix=Ve.CSS?.supports(`color`,`color-mix(in srgb,red,blue 9%)`),F.None=new F(``);let{parse:Je}=F,{win:Ye}=S,{isNumber:Xe,objectEach:Ze}=M;class I{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)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];Xe(t)&&Xe(n)&&(o[0]!==`A`||e!==4&&e!==5)?s[e]=t+r*(n-t):s[e]=n}i.push(s)}else i=n;else i=this.toD||[];this.elem.attr(`d`,i,void 0,!0)}update(){let e=this.elem,t=this.prop,n=this.now,r=this.options.step;this[t+`Setter`]?this[t+`Setter`]():e.attr?e.element&&e.attr(t,n,null,!0):e.style[t]=n+this.unit,r&&r.call(e,n,this)}run(e,t,n){let r=this,i=r.options,a=function(e){return!a.stopped&&r.step(e)},o=Ye.requestAnimationFrame||function(e){setTimeout(e,13)},s=function(){for(let e=0;e<I.timers.length;e++)I.timers[e]()||I.timers.splice(e--,1);I.timers.length&&o(s)};e!==t||this.elem[`forceAnimate:`+this.prop]?(this.startTime=+new Date,this.start=e,this.end=t,this.unit=n,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&I.timers.push(a)===1&&o(s)):(delete i.curAnim[this.prop],i.complete&&Object.keys(i.curAnim).length===0&&i.complete.call(this.elem))}step(e){let t,n,r=+new Date,i=this.options,a=this.elem,o=i.complete,s=i.duration,c=i.curAnim;return a.attr&&!a.element?t=!1:e||r>=s+this.startTime?(this.now=this.end,this.pos=1,this.update(),c[this.prop]=!0,n=!0,Ze(c,function(e){!0!==e&&(n=!1)}),n&&o&&o.call(a),t=!1):(this.pos=i.easing((r-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0),t}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`&&(r[0]===`C`?e[0]=[`C`,n[1],n[2],n[1],n[2],n[1],n[2]]:e[0]=[`L`,n[1],n[2]]),e.unshift(n),o){let t=e.pop();e.push(e[e.length-1],t)}}}function h(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){let n=e[Math.floor(e.length/s)].slice();e.splice(e.length/2,0,t,n)}else e.push(t)}}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&&Xe(l)&&(u=a.length+l*s,f?(m(p,a),h(a)):(m(a,p),h(p))),[p,a]}fillSetter(){I.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,Je(this.start).tweenTo(Je(this.end),this.pos),void 0,!0)}}I.timers=[];let{defined:Qe,getStyle:$e,isArray:et,isNumber:tt,isObject:nt,merge:rt,objectEach:it,pick:at}=M;function ot(e){return nt(e)?rt({duration:500,defer:0},e):{duration:500*!!e,defer:0}}function st(e,t){let n=I.timers.length;for(;n--;)I.timers[n].elem!==e||t&&t!==I.timers[n].prop||(I.timers[n].stopped=!0)}let L={animate:function(e,t,n){let r,i=``,a,o,s;nt(n)||(s=arguments,n={duration:s[2],easing:s[3],complete:s[4]}),tt(n.duration)||(n.duration=400),n.easing=typeof n.easing==`function`?n.easing:Math[n.easing]||Math.easeInOutSine,n.curAnim=rt(t),it(t,function(s,c){st(e,c),o=new I(e,n,c),a=void 0,c===`d`&&et(t.d)?(o.paths=o.initPath(e,e.pathArray,t.d),o.toD=t.d,r=0,a=1):e.attr?r=e.attr(c):(r=parseFloat($e(e,c))||0,c!==`opacity`&&(i=`px`)),a||=s,typeof a==`string`&&a.match(`px`)&&(a=a.replace(/px/g,``)),o.run(r,a,i)})},animObject:ot,getDeferredAnimation:function(e,t,n){let r=ot(t),i=n?[n]:e.series,a=0,o=0;return i.forEach(e=>{let n=ot(e.options.animation);a=nt(t)&&Qe(t.defer)?r.defer:Math.max(a,n.duration+n.defer),o=Math.min(r.duration,n.duration)}),e.renderer.forExport&&(a=0),{defer:Math.max(0,a-o),duration:Math.min(a,o)}},setAnimation:function(e,t){t.renderer.globalAnimation=at(e,t.options.chart.animation,!0)},stop:st},{SVG_NS:ct,win:lt}=S,{attr:ut,createElement:dt,css:ft,error:pt,isFunction:mt,isString:ht,objectEach:gt,splat:_t}=M,{trustedTypes:vt}=lt,yt=vt&&mt(vt.createPolicy)&&vt.createPolicy(`highcharts`,{createHTML:e=>e}),bt=yt?yt.createHTML(``):``;class R{static filterUserAttributes(e){return gt(e,(t,n)=>{let r=!0;R.allowedAttributes.indexOf(n)===-1&&(r=!1),[`background`,`dynsrc`,`href`,`lowsrc`,`src`].indexOf(n)!==-1&&(r=ht(t)&&R.allowedReferences.some(e=>t.indexOf(e)===0)),r||(pt(33,!1,void 0,{"Invalid attribute in config":`${n}`}),delete e[n]),ht(t)&&e[n]&&(e[n]=t.replace(/</g,`&lt;`))}),e}static parseStyle(e){return e.split(`;`).reduce((e,t)=>{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(e,t){e.innerHTML=R.emptyHTML,t&&new R(t).addToDOM(e)}constructor(e){this.nodes=typeof e==`string`?this.parseMarkup(e):e}addToDOM(e){return function e(t,n){let r;return _t(t).forEach(function(t){let i,a=t.tagName,o=t.textContent?S.doc.createTextNode(t.textContent):void 0,s=R.bypassHTMLFiltering;if(a)if(a===`#text`)i=o;else if(R.allowedTags.indexOf(a)!==-1||s){let r=a===`svg`?ct:n.namespaceURI||ct,c=S.doc.createElementNS(r,a),l=t.attributes||{};gt(t,function(e,t){t!==`tagName`&&t!==`attributes`&&t!==`children`&&t!==`style`&&t!==`textContent`&&(l[t]=e)}),ut(c,s?l:R.filterUserAttributes(l)),t.style&&ft(c,t.style),o&&c.appendChild(o),e(t.children||[],c),i=c}else pt(33,!1,void 0,{"Invalid tagName in config":a});i&&n.appendChild(i),r=i}),r}(this.nodes,e)}parseMarkup(e){let t,n=[];e=e.trim().replace(/ style=(["'])/g,` data-style=$1`);try{t=new DOMParser().parseFromString(yt?yt.createHTML(e):e,`text/html`)}catch{}if(!t){let n=dt(`div`);n.innerHTML=e,t={body:n}}let r=(e,t)=>{let n=e.nodeName.toLowerCase(),i={tagName:n};n===`#text`&&(i.textContent=e.textContent||``);let a=e.attributes;if(a){let e={};[].forEach.call(a,t=>{t.name===`data-style`?i.style=R.parseStyle(t.value):e[t.name]=t.value}),i.attributes=e}if(e.childNodes.length){let t=[];[].forEach.call(e.childNodes,e=>{r(e,t)}),t.length&&(i.children=t)}t.push(i)};return[].forEach.call(t.body.childNodes,e=>r(e,n)),n}}R.allowedAttributes=`alt.aria-controls.aria-describedby.aria-expanded.aria-haspopup.aria-hidden.aria-label.aria-labelledby.aria-live.aria-pressed.aria-readonly.aria-roledescription.aria-selected.class.clip-path.color.colspan.cx.cy.d.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.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(`.`),R.allowedReferences=[`https://`,`http://`,`mailto:`,`/`,`../`,`./`,`#`],R.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.style.sub.sup.svg.table.tbody.td.text.textPath.th.thead.title.tr.tspan.u.ul`.split(`.`),R.emptyHTML=bt,R.bypassHTMLFiltering=!1;let{defaultOptions:xt,defaultTime:St}=Be,{pageLang:Ct}=S,{extend:wt,getNestedProperty:Tt,isArray:Et,isNumber:Dt,isObject:Ot,isString:kt,pick:At,ucfirst:jt}=M,Mt={add:(e,t)=>e+t,divide:(e,t)=>t===0?``:e/t,eq:(e,t)=>e==t,each:function(e){let t=arguments[arguments.length-1];return!!Et(e)&&e.map((n,r)=>Ft(t.body,wt(Ot(n)?n:{"@this":n},{"@index":r,"@first":r===0,"@last":r===e.length-1}))).join(``)},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)=>e*t,ne:(e,t)=>e!=t,subtract:(e,t)=>e-t,ucfirst:jt,unless:e=>!e},Nt={},Pt=e=>/^["'].+["']$/.test(e);function Ft(e=``,t,n){let r=/\{([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'= #\(\)]+)\}/g,i=/\(([a-zA-Z\u00C0-\u017F\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/g,a=[],o=/f$/,s=/\.(\d)/,c=n?.options?.lang||xt.lang,l=n?.time||St,u=n?.numberFormatter||It.bind(n),d=(e=``)=>{let n;return e===`true`||e!==`false`&&((n=Number(e)).toString()===e?n:Pt(e)?e.slice(1,-1):Tt(e,t))},f,p,m=0,h;for(;(f=r.exec(e))!==null;){let n=f,r=i.exec(f[1]);r&&(f=r,h=!0),p?.isBlock||(p={ctx:t,expression:f[1],find:f[0],isBlock:f[1].charAt(0)===`#`,start:f.index,startInner:f.index+f[0].length,length:f[0].length});let o=(p.isBlock?n:f)[1].split(` `)[0].replace(`#`,``);Mt[o]&&(p.isBlock&&o===p.fn&&m++,p.fn||=o);let s=f[1]===`else`;if(p.isBlock&&p.fn&&(f[1]===`/${p.fn}`||s))if(m)!s&&m--;else{let t=p.startInner,n=e.substr(t,f.index-t);p.body===void 0?(p.body=n,p.startInner=f.index+f[0].length):p.elseBody=n,p.find+=n+f[0],s||(a.push(p),p=void 0)}else p.isBlock||a.push(p);if(r&&!p?.isBlock)break}return a.forEach(r=>{let a,f,{body:p,elseBody:m,expression:h,fn:g}=r;if(g){let e=[r],i=[],o=h.length,s=0,c;for(f=0;f<=o;f++){let e=h.charAt(f);c||e!==`"`&&e!==`'`?c===e&&(c=``):c=e,c||e!==` `&&f!==o||(i.push(h.substr(s,f-s)),s=f+1)}for(f=Mt[g].length;f--;)e.unshift(d(i[f+1]));a=Mt[g].apply(t,e),r.isBlock&&typeof a==`boolean`&&(a=Ft(a?p:m,t,n))}else{let e=Pt(h)?[h]:h.split(`:`),t=(a=d(e.shift()||``))%1!=0;if(typeof a==`number`&&(e.length||t)){let n=e.join(`:`);if(o.test(n)||t){let e=parseInt((n.match(s)||[``,`-1`])[1],10);a!==null&&(a=u(a,e,c.decimalPoint,n.indexOf(`,`)>-1?c.thousandsSep:``))}else a=l.dateFormat(n,a)}i.lastIndex=0,i.test(r.find)&&kt(a)&&(a=`"${a}"`)}e=e.replace(r.find,At(a,``))}),h?Ft(e,t,n):e}function It(e,t,n,r){t*=1;let i,a,[o,s]=(e=+e||0).toString().split(`e`).map(Number),c=this?.options?.lang||xt.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):Dt(t)?t&&s<0&&((a=t+s)>=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),Dt(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),r===``&&(d.useGrouping=!1);let f=r||n,p=f?`en`:this?.locale||c.locale||Ct,m=JSON.stringify(d)+p;return i=(Nt[m]??(Nt[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}let Lt={dateFormat:function(e,t,n){return St.dateFormat(e,t,n)},format:Ft,helpers:Mt,numberFormat:It};(function(e){let t;e.rendererTypes={},e.getRendererType=function(n=t){return e.rendererTypes[n]||e.rendererTypes[t]},e.registerRendererType=function(n,r,i){e.rendererTypes[n]=r,(!t||i)&&(t=n,S.Renderer=r)}})(r||={});let Rt=r,{clamp:zt,pick:Bt,pushUnique:Vt,stableSort:Ht}=M;(i||={}).distribute=function e(t,n,r){let i=t,a=i.reducedLen||n,o=(e,t)=>e.target-t.target,s=[],c=t.length,l=[],u=s.push,d,f,p,m=!0,h,g,_=0,v;for(d=c;d--;)_+=t[d].size;if(_>a){for(Ht(t,(e,t)=>(t.rank||0)-(e.rank||0)),p=(v=t[0].rank===t[t.length-1].rank)?c/2:-1,f=v?p:c-1;p&&_>a;)h=t[d=Math.floor(f)],Vt(l,d)&&(_-=h.size),f+=p,v&&f>=t.length&&(p/=2,f=p);l.sort((e,t)=>t-e).forEach(e=>u.apply(s,t.splice(e,1)))}for(Ht(t,o),t=t.map(e=>({size:e.size,targets:[e.target],align:Bt(e.align,.5)}));m;){for(d=t.length;d--;)h=t[d],g=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=zt(g-h.size*h.align,0,n-h.size);for(d=t.length,m=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>n&&(t[d-1].pos=n-t[d-1].size),t.splice(d,1),m=!0)}return u.apply(i,s),d=0,t.some(t=>{let a=0;return(t.targets||[]).some(()=>(i[d].pos=t.pos+a,r!==void 0&&Math.abs(i[d].pos-i[d].target)>r?(i.slice(0,d+1).forEach(e=>delete e.pos),i.reducedLen=(i.reducedLen||n)-.1*n,i.reducedLen>.1*n&&e(i,n,r),!0):(a+=i[d].size,d++,!1)))}),Ht(i,o),i};let Ut=i,{animate:Wt,animObject:Gt,stop:Kt}=L,{deg2rad:qt,doc:Jt,svg:Yt,SVG_NS:Xt,win:Zt,isFirefox:Qt}=S,{addEvent:$t,attr:en,createElement:tn,crisp:nn,css:rn,defined:an,erase:on,extend:sn,fireEvent:cn,getAlignFactor:ln,isArray:un,isFunction:dn,isNumber:fn,isObject:pn,isString:mn,merge:hn,objectEach:gn,pick:_n,pInt:vn,pushUnique:yn,replaceNested:bn,syncTimeout:xn,uniqueKey:Sn}=M;class z{_defaultGetter(e){let t=_n(this[e+`Value`],this[e],this.element?this.element.getAttribute(e):null,0);return/^-?[\d\.]+$/.test(t)&&(t=parseFloat(t)),t}_defaultSetter(e,t,n){n.setAttribute(t,e)}add(e){let t,n=this.renderer,r=this.element;return e&&(this.parentGroup=e),this.textStr!==void 0&&this.element.nodeName===`text`&&n.buildText(this),this.added=!0,(!e||e.handleZ||this.zIndex)&&(t=this.zIndexSetter()),t||(e?e.element:n.box).appendChild(r),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(` `))!==n&&this.attr(`class`,e),this}afterSetters(){this.doTransform&&=(this.updateTransform(),!1)}align(e,t,n,r=!0){let i=this.renderer,a=i.alignedObjects,o=!!e;e?(this.alignOptions=e,this.alignByTranslate=t,this.alignTo=n):(e=this.alignOptions||{},t=this.alignByTranslate,n=this.alignTo);let s=!n||mn(n)?n||`renderer`:void 0;s&&(o&&yn(a,this),n=void 0);let c=_n(n,i[s],i),l=(c.x||0)+(e.x||0)+((c.width||0)-(e.width||0))*ln(e.align),u=(c.y||0)+(e.y||0)+((c.height||0)-(e.height||0))*ln(e.verticalAlign),d={"text-align":e?.align};return d[t?`translateX`:`x`]=Math.round(l),d[t?`translateY`:`y`]=Math.round(u),r&&(this[this.placed?`animate`:`attr`](d),this.placed=!0),this.alignAttr=d,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=Gt(_n(t,this.renderer.globalAnimation,!0)),i=r.defer;return Jt.hidden&&(r.duration=0),r.duration===0?(this.attr(e,void 0,n||r.complete),gn(e,function(e,t){r.step&&r.step.call(this,e,{prop:t,pos:1,elem:this})},this)):(n&&(r.complete=n),xn(()=>{this.element&&Wt(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`&&S.svg){this.fakeTS=!0,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(e,t,n){return 2*Number(t)+n}),this.removeTextOutline();let e=Jt.createElementNS(Xt,`tspan`);en(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=Jt.createElementNS(Xt,`tspan`);o.textContent=``,en(o,{x:Number(t.getAttribute(`x`)),dy:-a}),e.appendChild(o),n.insertBefore(e,n.firstChild)}}attr(e,t,n,r){let{element:i}=this,a=z.symbolCustomAttribs,o,s,c=this,l;return typeof e==`string`&&t!==void 0&&(o=e,(e={})[o]=t),typeof e==`string`?c=(this[e+`Getter`]||this._defaultGetter).call(this,e,i):(gn(e,function(t,n){l=!1,r||Kt(this,n),this.symbolName&&a.indexOf(n)!==-1&&(s||=(this.symbolAttr(e),!0),l=!0),this.rotation&&(n===`x`||n===`y`)&&(this.doTransform=!0),l||(this[n+`Setter`]||this._defaultSetter).call(this,t,n,i)},this),this.afterSetters()),n&&n.call(this),c}clip(e){if(e&&!e.clipPath){let t=Sn()+`-`,n=this.renderer.createElement(`clipPath`).attr({id:t}).add(this.renderer.defs);sn(e,{clipPath:n,id:t,count:0}),e.add(n)}return this.attr(`clip-path`,e?`url(${this.renderer.url}#${e.id})`:`none`)}crisp(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=nn(n,t),s=nn(r,t);return sn(e,{x:o,y:s,width:nn(i,t)-o,height:nn(a,t)-s}),an(e.strokeWidth)&&(e.strokeWidth=t),e}complexColor(e,t,n){let r=this.renderer,i,a,o,s,c,l,u,d,f,p,m=[],h;cn(this.renderer,`complexColor`,{args:arguments},function(){if(e.radialGradient?a=`radialGradient`:e.linearGradient&&(a=`linearGradient`),a){if(o=e[a],c=r.gradients,l=e.stops,f=n.radialReference,un(o)&&(e[a]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:`userSpaceOnUse`}),a===`radialGradient`&&f&&!an(o.gradientUnits)&&(s=o,o=hn(o,r.getRadialAttr(f,s),{gradientUnits:`userSpaceOnUse`})),gn(o,function(e,t){t!==`id`&&m.push(t,e)}),gn(l,function(e){m.push(e)}),c[m=m.join(`,`)])p=c[m].attr(`id`);else{o.id=p=Sn();let e=c[m]=r.createElement(a).attr(o).add(r.defs);e.radAttr=s,e.stops=[],l.forEach(function(t){t[1].indexOf(`rgba`)===0?(u=(i=F.parse(t[1])).get(`rgb`),d=i.get(`a`)):(u=t[1],d=1);let n=r.createElement(`stop`).attr({offset:t[0],"stop-color":u,"stop-opacity":d}).add(e);e.stops.push(n)})}h=`url(`+r.url+`#`+p+`)`,n.setAttribute(t,h),n.gradient=m,e.toString=function(){return h}}})}css(e){let t=this.styles,n={},r=this.element,i,a=!t;if(t&&gn(e,function(e,r){t&&t[r]!==e&&(n[r]=e,a=!0)}),a){t&&(e=sn(t,n)),e.width===null||e.width===`auto`?delete this.textWidth:r.nodeName.toLowerCase()===`text`&&e.width&&(i=this.textWidth=vn(e.width)),sn(this.styles,e),i&&!Yt&&this.renderer.forExport&&delete e.width;let a=Qt&&e.fontSize||null;a&&(fn(a)||/^\d+$/.test(a))&&(e.fontSize+=`px`);let o=hn(e);r.namespaceURI===this.SVG_NS&&([`textOutline`,`textOverflow`,`whiteSpace`,`width`].forEach(e=>o&&delete o[e]),o.color&&(o.fill=o.color,delete o.color)),rn(r,o)}return this.added&&(this.element.nodeName===`text`&&this.renderer.buildText(this),e.textOutline&&this.applyTextOutline(e.textOutline)),this}dashstyleSetter(e){let t,n=this[`stroke-width`];if(n===`inherit`&&(n=1),e){let r=(e=e.toLowerCase()).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]=``+vn(r[t])*_n(n,NaN);e=r.join(`,`).replace(/NaN/g,`none`),this.element.setAttribute(`stroke-dasharray`,e)}}destroy(){let e=this,t=e.element||{},n=e.renderer,r=t.ownerSVGElement,i=t.nodeName===`SPAN`&&e.parentGroup||void 0,a,o;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,Kt(e),e.clipPath&&r){let t=e.clipPath;[].forEach.call(r.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(e.stops){for(o=0;o<e.stops.length;o++)e.stops[o].destroy();e.stops.length=0,e.stops=void 0}for(e.safeRemoveChild(t);i?.div&&i.div.childNodes.length===0;)a=i.parentGroup,e.safeRemoveChild(i.div),delete i.div,i=a;e.alignOptions&&on(n.alignedObjects,e),gn(e,(t,n)=>{(e[n]?.parentGroup===e||[`connector`,`foreignObject`].indexOf(n)!==-1)&&e[n]?.destroy?.(),delete e[n]})}dSetter(e,t,n){un(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(e,t){let n,r,i,a,{alignValue:o,element:s,renderer:c,styles:l,textStr:u}=this,{cache:d,cacheKeys:f}=c,p=s.namespaceURI===this.SVG_NS,m=_n(t,this.rotation,0),h=c.styledMode?s&&z.prototype.getStyle.call(s,`font-size`):l.fontSize;if(an(u)&&((a=u.toString()).indexOf(`<`)===-1&&(a=a.replace(/\d/g,`0`)),a+=[``,c.rootFontSize,h,m,this.textWidth,o,l.lineClamp,l.textOverflow,l.fontWeight].join(`,`)),a&&!e&&(n=d[a]),!n||n.polygon){if(p||c.forExport){try{i=this.fakeTS&&function(e){let t=s.querySelector(`.highcharts-text-outline`);t&&rn(t,{display:e})},dn(i)&&i(`none`),n=s.getBBox?sn({},s.getBBox()):{width:s.offsetWidth,height:s.offsetHeight,x:0,y:0},dn(i)&&i(``)}catch{}(!n||n.width<0)&&(n={x:0,y:0,width:0,height:0})}else n=this.htmlGetBBox();r=n.height,p&&(n.height=r={"11px,17":14,"13px,20":16}[`${h||``},${Math.round(r)}`]||r),m&&(n=this.getRotatedBox(n,m));let e={bBox:n};cn(this,`afterGetBBox`,e),n=e.bBox}if(a&&(u===``||n.height>0)){for(;f.length>250;)delete d[f.shift()];d[a]||f.push(a),d[a]=n}return n}getRotatedBox(e,t){let{x:n,y:r,width:i,height:a}=e,{alignValue:o,translateY:s,rotationOriginX:c=0,rotationOriginY:l=0}=this,u=ln(o),d=Number(this.element.getAttribute(`y`)||0)-(s?0:r),f=t*qt,p=(t-90)*qt,m=Math.cos(f),h=Math.sin(f),g=i*m,_=i*h,v=Math.cos(p),y=Math.sin(p),[[b,x],[S,C]]=[c,l].map(e=>[e-e*m,e*h]),w=n+u*(i-g)+b+C+d*v,T=w+g,E=T-a*v,D=E-g,O=r+d-u*_-x+S+d*y,k=O+_,A=k-a*y,ee=A-_,j=Math.min(w,T,E,D),te=Math.min(O,k,A,ee);return{x:j,y:te,width:Math.max(w,T,E,D)-j,height:Math.max(O,k,A,ee)-te,polygon:[[w,O],[T,k],[E,A],[D,ee]]}}getStyle(e){return Zt.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=Xt,this.element=t===`span`||t===`body`?tn(t):Jt.createElementNS(this.SVG_NS,t),this.renderer=e,this.styles={},cn(this,`afterInit`)}on(e,t){let{onEvents:n}=this;return n[e]&&n[e](),n[e]=$t(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(mn(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=hn(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},pn(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=vn(e):e!==``&&(en(n=Jt.createElementNS(Xt,`rect`),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(n),t=n.getBBox().width,n.parentNode.removeChild(n)),t}symbolAttr(e){let t=this;z.symbolCustomAttribs.forEach(function(n){t[n]=_n(e[n],t[n])}),t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})}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]||Jt.createElementNS(this.SVG_NS,`title`);t.insertBefore?t.insertBefore(n,t.firstChild):t.appendChild(n),n.textContent=bn(_n(e,``),[/<[^>]*>/g,``]).replace(/&lt;/g,`<`).replace(/&gt;/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,padding:i,rotation:a=0,rotationOriginX:o,rotationOriginY:s,scaleX:c,scaleY:l,text:u,translateX:d=0,translateY:f=0}=this,p=[`translate(`+d+`,`+f+`)`];an(r)&&p.push(`matrix(`+r.join(`,`)+`)`),a&&(p.push(`rotate(`+a+` `+(o??t.getAttribute(`x`)??this.x??0)+` `+(s??t.getAttribute(`y`)??this.y??0)+`)`),u?.element.tagName!==`SPAN`||u?.foreignObject||u.attr({rotation:a,rotationOriginX:(o||0)-i,rotationOriginY:(s||0)-i})),(an(c)||an(l))&&p.push(`scale(`+_n(c,1)+` `+_n(l,1)+`)`),p.length&&!(u||this).textPath&&(n?.element||t).setAttribute(e,p.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 n=this.renderer,r=this.parentGroup,i=(r||n).element||n.box,a=this.element,o=i===n.box,s,c,l,u=!1,d,f=this.added,p;if(an(e)?(a.setAttribute(`data-z-index`,e),e*=1,this[t]===e&&(f=!1)):an(this[t])&&a.removeAttribute(`data-z-index`),this[t]=e,f){for((e=this.zIndex)&&r&&(r.handleZ=!0),p=(s=i.childNodes).length-1;p>=0&&!u;p--)d=!an(l=(c=s[p]).getAttribute(`data-z-index`)),c!==a&&(e<0&&d&&!o&&!p?(i.insertBefore(a,s[p]),u=!0):(vn(l)<=e||d&&(!an(e)||e>=0))&&(i.insertBefore(a,s[p+1]),u=!0));u||=(i.insertBefore(a,s[3*!!o]),!0)}return u}}z.symbolCustomAttribs=[`anchorX`,`anchorY`,`clockwise`,`end`,`height`,`innerR`,`r`,`start`,`width`,`x`,`y`],z.prototype.strokeSetter=z.prototype.fillSetter,z.prototype.yGetter=z.prototype.xGetter,z.prototype.matrixSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.rotationSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.verticalAlignSetter=function(e,t){this[t]=e,this.doTransform=!0};let Cn=z,{defined:wn,extend:Tn,getAlignFactor:En,isNumber:Dn,merge:On,pick:kn,removeEvent:An}=M;class jn extends Cn{constructor(e,t,n,r,i,a,o,s,c,l){let u;super(e,`g`),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=t,this.x=n,this.y=r,this.anchorX=a,this.anchorY=o,this.baseline=c,this.className=l,this.addClass(l===`button`?`highcharts-no-tooltip`:`highcharts-label`),l&&this.addClass(`highcharts-`+l),this.text=e.text(void 0,0,0,s).attr({zIndex:1}),typeof i==`string`&&((u=/^url\((.*?)\)$/.test(i))||this.renderer.symbols[i])&&(this.symbolKey=i),this.bBox=jn.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=e.styledMode||u,this.deferredAttr={},this.alignFactor=0}alignSetter(e){let t=En(e);this.textAlign=e,t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&Dn(this.xSetting)&&this.attr({x:this.xSetting}))}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(e){if(e){let t={};e=On(e),jn.textProps.forEach(n=>{e[n]!==void 0&&(t[n]=e[n],delete e[n])}),this.text.css(t),`fontSize`in t||`fontWeight`in t?this.updateTextPadding():(`width`in t||`textOverflow`in t)&&this.updateBoxSize()}return Cn.prototype.css.call(this,e)}destroy(){An(this.element,`mouseenter`),An(this.element,`mouseleave`),this.text&&this.text.destroy(),this.box&&=this.box.destroy(),Cn.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.updateBoxSize();let{padding:n,height:r=0,translateX:i=0,translateY:a=0,width:o=0}=this,s=kn(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)}onAdd(){this.text.add(this),this.attr({text:kn(this.textStr,``),x:this.x||0,y:this.y||0}),this.box&&wn(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(e,t){Dn(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()}updateBoxSize(){let e,t=this.text,n={},r=this.padding,i=this.bBox=(!Dn(this.widthSetting)||!Dn(this.heightSetting)||this.textAlign)&&wn(t.textStr)?t.getBBox(void 0,0):jn.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||i.height||0)+2*r;let a=this.renderer.fontMetrics(t);if(this.baselineOffset=r+Math.min((this.text.firstLineMetrics||a).b,i.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.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)}n.x=e=this.getCrispAdjust(),n.y=(this.baseline?-this.baselineOffset:0)+e,n.width=Math.round(this.width),n.height=Math.round(this.height),this.box.attr(Tn(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)+En(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=Dn(e)?e:void 0,this.doUpdate=!0}getPaddedWidth(){let e=this.padding,t=kn(this.paddingLeft,e),n=kn(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)}}jn.emptyBBox={width:0,height:0,x:0,y:0},jn.textProps=[`color`,`direction`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`lineClamp`,`lineHeight`,`textAlign`,`textDecoration`,`textOutline`,`textOverflow`,`whiteSpace`,`width`];let{defined:Mn,isNumber:Nn,pick:Pn}=M;function Fn(e,t,n,r,i){let a=[];if(i){let o=i.start||0,s=i.end||0,c=Pn(i.r,n),l=Pn(i.r,r||n),u=2e-4/(i.borderRadius?1:Math.max(c,1)),d=Math.abs(s-o-2*Math.PI)<u;d&&(o=Math.PI/2,s=2.5*Math.PI-u);let f=i.innerR,p=Pn(i.open,d),m=Math.cos(o),h=Math.sin(o),g=Math.cos(s),_=Math.sin(s),v=Pn(i.longArc,s-o-Math.PI<u?0:1),y=[`A`,c,l,0,v,Pn(i.clockwise,1),e+c*g,t+l*_];y.params={start:o,end:s,cx:e,cy:t},a.push([`M`,e+c*m,t+l*h],y),Mn(f)&&((y=[`A`,f,f,0,v,Mn(i.clockwise)?1-i.clockwise:0,e+f*m,t+f*h]).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 In(e,t,n,r,i){return i?.r?Ln(e,t,n,r,i):[[`M`,e,t],[`L`,e+n,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]}function Ln(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`]]}let Rn={arc:Fn,callout:function(e,t,n,r,i){let a=Math.min(i?.r||0,n,r),o=a+6,s=i?.anchorX,c=i?.anchorY||0,l=Ln(e,t,n,r,{r:a});if(!Nn(s)||s<n&&s>0&&c<r&&c>0)return l;if(e+s>n-o)if(c>t+o&&c<t+r-o)l.splice(3,1,[`L`,e+n,c-6],[`L`,e+n+6,c],[`L`,e+n,c+6],[`L`,e+n,t+r-a]);else if(s<n){let i=c<t+o,u=i?t:t+r;l.splice(i?2:5,0,[`L`,s,c],[`L`,e+n-a,u])}else l.splice(3,1,[`L`,e+n,r/2],[`L`,s,c],[`L`,e+n,r/2],[`L`,e+n,t+r-a]);else if(e+s<o)if(c>t+o&&c<t+r-o)l.splice(7,1,[`L`,e,c+6],[`L`,e-6,c],[`L`,e,c-6],[`L`,e,t+a]);else if(s>0){let n=c<t+o,i=n?t:t+r;l.splice(n?1:6,0,[`L`,s,c],[`L`,e+a,i])}else l.splice(7,1,[`L`,e,r/2],[`L`,s,c],[`L`,e,r/2],[`L`,e,t+a]);else c>r&&s<n-o?l.splice(5,1,[`L`,s+6,t+r],[`L`,s,t+r+6],[`L`,s-6,t+r],[`L`,e+a,t+r]):c<0&&s>o&&l.splice(1,1,[`L`,s-6,t],[`L`,s,t-6],[`L`,s+6,t],[`L`,n-a,t]);return l},circle:function(e,t,n,r){return Fn(e+n/2,t+r/2,n/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(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`]]},rect:In,roundedRect:Ln,square:In,triangle:function(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]},"triangle-down":function(e,t,n,r){return[[`M`,e,t],[`L`,e+n,t],[`L`,e+n/2,t+r],[`Z`]]}},{doc:zn,SVG_NS:Bn,win:Vn}=S,{attr:Hn,extend:Un,fireEvent:Wn,isString:Gn,objectEach:Kn,pick:qn}=M,Jn=(e,t)=>e.substring(0,t)+``,Yn=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=qn(e.textStr,``).toString(),i=r.indexOf(`<`)!==-1,a=t.childNodes,o=!e.added&&n.box,s=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle(`font-size`),e.styles.lineClamp,this.width].join(`,`);if(s!==e.textCache){e.textCache=s,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||/<br.*?>/g.test(r))){if(r!==``){o&&o.appendChild(t);let n=new R(r);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||``).indexOf(``)!==-1&&e.attr(`title`,this.unescapeEntities(e.textStr||``,[`&lt;`,`&gt;`])),o&&o.removeChild(t)}}else t.appendChild(zn.createTextNode(this.unescapeEntities(r)));Gn(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let e,t=this.svgElement,n=Hn(t.element,`x`);for(t.firstLineMetrics=void 0;(e=t.element.firstChild)&&/^[\s\u200B]*$/.test(e.textContent||` `);)t.element.removeChild(e);[].forEach.call(t.element.querySelectorAll(`tspan.highcharts-br`),(e,r)=>{e.nextSibling&&e.previousSibling&&(r===0&&e.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(e.previousSibling)),Hn(e,{dy:this.getLineHeight(e.nextSibling),x:n}))});let r=this.width||0;if(!r)return;let i=(e,i)=>{let a=e.textContent||``,o=a.replace(/([^\^])-/g,`$1- `).split(` `),s=!this.noWrap&&(o.length>1||t.element.childNodes.length>1),c=this.getLineHeight(i),l=Math.max(0,r-.8*c),u=0,d=t.actualWidth;if(s){let a=[],s=[];for(;i.firstChild&&i.firstChild!==e;)s.push(i.firstChild),i.removeChild(i.firstChild);for(;o.length;)if(o.length&&!this.noWrap&&u>0&&(a.push(e.textContent||``),e.textContent=o.join(` `).replace(/- /g,`-`)),this.truncate(e,void 0,o,u===0&&d||0,r,l,(e,t)=>o.slice(0,t).join(` `).replace(/- /g,`-`)),d=t.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){o.length&&(this.truncate(e,e.textContent||``,void 0,0,r,l,Jn),e.textContent=e.textContent?.replace(``,``)+``);break}s.forEach(t=>{i.insertBefore(t,e)}),a.forEach(t=>{i.insertBefore(zn.createTextNode(t),e);let r=zn.createElementNS(Bn,`tspan`);r.textContent=``,Hn(r,{dy:c,x:n}),i.insertBefore(r,e)})}else this.ellipsis&&a&&this.truncate(e,a,void 0,0,r,l,Jn)},a=e=>{[].slice.call(e.childNodes).forEach(n=>{n.nodeType===Vn.Node.TEXT_NODE?i(n,e):(n.className.baseVal.indexOf(`highcharts-br`)!==-1&&(t.actualWidth=0),a(n))})};a(t.element)}getLineHeight(e){let t=e.nodeType===Vn.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`),Un(n,{attributes:i,style:o}),a&&a.filter(e=>e.tagName!==`#text`).forEach(t)};e.forEach(t),Wn(this.svgElement,`afterModifyTree`,{nodes:e})}truncate(e,t,n,r,i,a,o){let s,c,l=this.svgElement,{rotation:u}=l,d=[],f=n&&!r?1:0,p=(t||n||``).length,m=p;n||(i=a);let h=function(t,i){let a=i||t,o=e.parentNode;if(o&&d[a]===void 0&&o.getSubStringLength)try{d[a]=r+o.getSubStringLength(0,n?a+1:a)}catch{}return d[a]};if(l.rotation=0,r+(c=h(e.textContent.length))>i){for(;f<=p;)m=Math.ceil((f+p)/2),n&&(s=o(n,m)),c=h(m,s&&s.length-1),f===p?f=p+1:c>i?p=m-1:f=m;p===0?e.textContent=``:t&&p===t.length-1||(e.textContent=s||o(t||n,m)),this.ellipsis&&c>i&&this.truncate(e,e.textContent||``,void 0,0,i,a,Jn)}n&&n.splice(0,m),l.actualWidth=c,l.rotation=u}unescapeEntities(e,t){return Kn(this.renderer.escapes,function(n,r){t&&t.indexOf(n)!==-1||(e=e.toString().replace(RegExp(n,`g`),r))}),e}},{defaultOptions:Xn}=Be,{charts:Zn,deg2rad:Qn,doc:$n,isFirefox:er,isMS:tr,isWebKit:nr,noop:rr,SVG_NS:ir,symbolSizes:ar,win:or}=S,{addEvent:sr,attr:cr,createElement:lr,crisp:ur,css:dr,defined:fr,destroyObjectProperties:pr,extend:mr,isArray:hr,isNumber:gr,isObject:_r,isString:vr,merge:yr,pick:br,pInt:xr,replaceNested:Sr,uniqueKey:Cr}=M;class wr{constructor(e,t,n,r,i,a,o){let s,c;this.x=0,this.y=0;let l=this.createElement(`svg`).attr({version:`1.1`,class:`highcharts-root`}),u=l.element;o||l.css(this.getStyle(r||{})),e.appendChild(u),cr(e,`dir`,`ltr`),e.innerHTML.indexOf(`xmlns`)===-1&&cr(u,`xmlns`,this.SVG_NS),this.box=u,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement(`desc`).add().element.appendChild($n.createTextNode(`Created with Highcharts 12.4.0`)),this.defs=this.createElement(`defs`).add(),this.allowHTML=a,this.forExport=i,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle(`font-size`),this.setSize(t,n,!1),er&&e.getBoundingClientRect&&((s=function(){dr(e,{left:0,top:0}),c=e.getBoundingClientRect(),dr(e,{left:Math.ceil(c.left)-c.left+`px`,top:Math.ceil(c.top)-c.top+`px`})})(),this.unSubPixelFix=sr(or,`resize`,s))}definition(e){return new R([e]).addToDOM(this.defs.element)}getReferenceURL(){if((er||nr)&&$n.getElementsByTagName(`base`).length){if(!fr(t)){let e=Cr(),n=new R([{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($n.body);dr(n,{position:`fixed`,top:0,left:0,zIndex:9e5}),t=$n.elementFromPoint(6,6)?.id===`hitme`,$n.body.removeChild(n)}if(t)return Sr(or.location.href.split(`#`)[0],[/<[^>]*>/g,``],[/([\('\)])/g,`\\$1`],[/ /g,`%20`])}return``}getStyle(e){return this.style=mr({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.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),pr(this.gradients||{}),this.gradients=null,this.defs=e.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,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=yr({color:`#000000`,offsetX:1,offsetY:1,opacity:.15,width:5},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(5*e.opacity,1),stdDeviation:e.width/2}}]}buildText(e){new Yn(e).buildSVG()}getContrast(e){if(e===`transparent`)return`#000000`;let t=F.parse(e).rgba;if(gr(t[0])||!F.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={},a,o,s,c,l){let u=this.label(e,t,n,c,void 0,void 0,l,void 0,`button`),d=this.styledMode,f=arguments,p=0;i=yr(Xn.global.buttonTheme,i),d&&(delete i.fill,delete i.stroke,delete i[`stroke-width`]);let m=i.states||{},h=i.style||{};delete i.states,delete i.style;let g=[R.filterUserAttributes(i)],_=[h];return d||[`hover`,`select`,`disabled`].forEach((e,t)=>{g.push(yr(g[0],R.filterUserAttributes(f[t+5]||m[e]||{}))),_.push(g[t+1].style),delete g[t+1].style}),sr(u.element,tr?`mouseover`:`mouseenter`,function(){p!==3&&u.setState(1)}),sr(u.element,tr?`mouseout`:`mouseleave`,function(){p!==3&&u.setState(p)}),u.setState=(e=0)=>{if(e!==1&&(u.state=p=e),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(`highcharts-button-`+[`normal`,`hover`,`pressed`,`disabled`][e]),!d){u.attr(g[e]);let t=_[e];_r(t)&&u.css(t)}},u.attr(g[0]),!d&&(u.css(mr({cursor:`default`},h)),l&&u.text.css({pointerEvents:`none`})),u.on(`touchstart`,e=>e.stopPropagation()).on(`click`,function(e){p!==3&&r?.call(u,e)})}crispLine(e,t){let[n,r]=e;return fr(n[1])&&n[1]===r[1]&&(n[1]=r[1]=ur(n[1],t)),fr(n[2])&&n[2]===r[2]&&(n[2]=r[2]=ur(n[2],t)),e}path(e){let t=this.styledMode?{}:{fill:`none`};return hr(e)?t.d=e:_r(e)&&mr(t,e),this.createElement(`path`).attr(t)}circle(e,t,n){let r=_r(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,a){let o;_r(e)?(t=(o=e).y,n=o.r,r=o.innerR,i=o.start,a=o.end,e=o.x):o={innerR:r,start:i,end:a};let s=this.symbol(`arc`,e,t,n,n,o);return s.r=n,s}rect(e,t,n,r,i,a){let o=_r(e)?e:e===void 0?{}:{x:e,y:t,r:i,width:Math.max(n||0,0),height:Math.max(r||0,0)},s=this.createElement(`rect`);return this.styledMode||(a!==void 0&&(o[`stroke-width`]=a,mr(o,s.crisp(o))),o.fill=`none`),s.rSetter=function(e,t,n){s.r=e,cr(n,{rx:e,ry:e})},s.rGetter=function(){return s.r||0},s.attr(o)}roundedRect(e){return this.symbol(`roundedRect`).attr(e)}setSize(e,t,n){this.width=e,this.height=t,this.boxWrapper.animate({width:e,height:t},{step:function(){this.attr({viewBox:`0 0 `+this.attr(`width`)+` `+this.attr(`height`)})},duration:br(n,!0)?void 0:0}),this.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`};gr(t)&&(o.x=t),gr(n)&&(o.y=n),gr(r)&&(o.width=r),gr(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 or.Image;sr(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,s,c,l,u=this,d=/^url\((.*?)\)$/,f=d.test(e),p=!f&&(this.symbols[e]?e:`circle`),m=p&&this.symbols[p];if(m)typeof t==`number`&&(s=m.call(this.symbols,t||0,n||0,r||0,i||0,a)),o=this.path(s),u.styledMode||o.attr(`fill`,`none`),mr(o,{symbolName:p||void 0,x:t,y:n,width:r,height:i}),a&&mr(o,a);else if(f){c=e.match(d)[1];let r=o=this.image(c);r.imgwidth=br(a?.width,ar[c]?.width),r.imgheight=br(a?.height,ar[c]?.height),l=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),cr(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)}}),fr(t)&&r.attr({x:t,y:n}),r.isImg=!0,r.symbolUrl=e,fr(r.imgwidth)&&fr(r.imgheight)?l(r):(r.attr({width:0,height:0}),lr(`img`,{onload:function(){let e=Zn[u.chartIndex];this.width===0&&(dr(this,{position:`absolute`,top:`-999em`}),$n.body.appendChild(this)),ar[c]={width:this.width,height:this.height},r.imgwidth=this.width,r.imgheight=this.height,r.element&&l(r),this.parentNode&&this.parentNode.removeChild(this),u.imgCount--,u.imgCount||!e||e.hasLoaded||e.onload()},src:c}),this.imgCount++)}return o}clipRect(e,t,n,r){return this.rect(e,t,n,r,0)}text(e,t,n,r){let i={};if(r&&(this.allowHTML||!this.forExport))return this.html(e,t,n);i.x=Math.round(t||0),n&&(i.y=Math.round(n)),fr(e)&&(i.text=e);let a=this.createElement(`text`).attr(i);return r&&(!this.forExport||this.allowHTML)||(a.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]).getAttribute(t)===i&&a.setAttribute(t,e);n.setAttribute(t,e)}),a}fontMetrics(e){let t=gr(e)?e:xr(Cn.prototype.getStyle.call(e,`font-size`)||0),n=t<24?t+3:Math.round(1.2*t);return{h:n,b:Math.round(.8*n),f:t}}rotCorr(e,t,n){let r=e;return t&&n&&(r=Math.max(r*Math.cos(t*Qn),4)),{x:-e/3*Math.sin(t*Qn),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++)vr(n[0])&&gr(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 jn(this,e,t,n,r,i,a,o,s,c)}alignElements(){this.alignedObjects.forEach(e=>e.align())}}mr(wr.prototype,{Element:Cn,SVG_NS:ir,escapes:{"&":`&amp;`,"<":`&lt;`,">":`&gt;`,"'":`&#39;`,'"':`&quot;`},symbols:Rn,draw:rr}),Rt.registerRendererType(`svg`,wr,!0);let{composed:Tr,isFirefox:Er}=S,{attr:Dr,css:Or,createElement:kr,defined:Ar,extend:jr,getAlignFactor:Mr,isNumber:Nr,pInt:Pr,pushUnique:Fr}=M;function Ir(e,t,n){let r=this.div?.style;Cn.prototype[`${t}Setter`].call(this,e,t,n),r&&(n.style[t]=r[t]=e)}let Lr=(e,t)=>{if(!e.div){let n=Dr(e.element,`class`),r=e.css,i=kr(`div`,n?{className:n}:void 0,{position:`absolute`,left:`${e.translateX||0}px`,top:`${e.translateY||0}px`,...e.styles,display:e.display,opacity:e.opacity,visibility:e.visibility},e.parentGroup?.div||t);e.classSetter=(e,t,n)=>{n.setAttribute(`class`,e),i.className=e},e.translateXSetter=e.translateYSetter=(t,n)=>{e[n]=t,i.style[n===`translateX`?`left`:`top`]=`${t}px`,e.doTransform=!0},e.scaleXSetter=e.scaleYSetter=(t,n)=>{e[n]=t,e.doTransform=!0},e.opacitySetter=e.visibilitySetter=Ir,e.css=t=>(r.call(e,t),t.cursor&&(i.style.cursor=t.cursor),t.pointerEvents&&(i.style.pointerEvents=t.pointerEvents),e),e.on=function(){return Cn.prototype.on.apply({element:i,onEvents:e.onEvents},arguments),e},e.div=i}return e.div};class Rr extends Cn{static compose(e){Fr(Tr,this.compose)&&(e.prototype.html=function(e,t,n){return new Rr(this,`span`).attr({text:e,x:Math.round(t),y:Math.round(n)})})}constructor(e,t){super(e,t),Rr.useForeignObject?this.foreignObject=e.createElement(`foreignObject`).attr({zIndex:2}):this.css({position:`absolute`,...e.styledMode?{}:{fontFamily:e.style.fontFamily,fontSize:e.style.fontSize}}),this.element.style.whiteSpace=`nowrap`}getSpanCorrection(e,t,n){this.xCorr=-e*n,this.yCorr=-t}css(e){let t,{element:n}=this,r=n.tagName===`SPAN`&&e&&`width`in e,i=r&&e.width;return r&&(delete e.width,this.textWidth=Pr(i)||void 0,t=!0),e?.textOverflow===`ellipsis`&&(e.overflow=`hidden`,e.whiteSpace=`nowrap`),e?.lineClamp&&(e.display=`-webkit-box`,e.WebkitLineClamp=e.lineClamp,e.WebkitBoxOrient=`vertical`,e.overflow=`hidden`),Nr(Number(e?.fontSize))&&(e.fontSize+=`px`),jr(this.styles,e),Or(n,e),t&&this.updateTransform(),this}htmlGetBBox(){let{element:e}=this;return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:e,foreignObject:t,oldTextWidth:n,renderer:r,rotation:i,rotationOriginX:a,rotationOriginY:o,scaleX:s,scaleY:c,styles:{display:l=`inline-block`,whiteSpace:u},textAlign:d=`left`,textWidth:f,translateX:p=0,translateY:m=0,x:h=0,y:g=0}=this;if(t||Or(e,{marginLeft:`${p}px`,marginTop:`${m}px`}),e.tagName===`SPAN`){let p,m=[i,d,e.innerHTML,f,this.textAlign].join(`,`),_=-(this.parentGroup?.padding*1)||0;if(f!==n){let t=this.textPxLength?this.textPxLength:(Or(e,{width:``,whiteSpace:u||`nowrap`}),e.offsetWidth),a=f||0,o=!r.styledMode&&e.style.textOverflow===``&&e.style.webkitLineClamp;(a>n||t>a||o)&&(/[\-\s\u00AD]/.test(e.textContent||e.innerText)||e.style.textOverflow===`ellipsis`)&&(Or(e,{width:(i||s||t>a||o)&&Nr(f)?f+`px`:`auto`,display:l,whiteSpace:u||`normal`}),this.oldTextWidth=f)}t&&(Or(e,{display:`inline-block`,verticalAlign:`top`}),t.attr({width:r.width,height:r.height})),m!==this.cTT&&(p=r.fontMetrics(e).b,Ar(i)&&!t&&(i!==(this.oldRotation||0)||d!==this.oldAlign)&&Or(e,{transform:`rotate(${i}deg)`,transformOrigin:`${_}% ${_}px`}),this.getSpanCorrection(!Ar(i)&&!this.textWidth&&this.textPxLength||e.offsetWidth,p,Mr(d)));let{xCorr:v=0,yCorr:y=0}=this,b={left:`${h+v}px`,top:`${g+y}px`,textAlign:d,transformOrigin:`${(a??h)-v-h-_}px ${(o??g)-y-g-_}px`};(s||c)&&(b.transform=`scale(${s??1},${c??1})`),t?(super.updateTransform(),Nr(h)&&Nr(g)?(t.attr({x:h+v,y:g+y,width:e.offsetWidth+3,height:e.offsetHeight,"transform-origin":e.getAttribute(`transform-origin`)||`0 0`}),Or(e,{display:l,textAlign:d})):Er&&t.attr({width:0,height:0})):Or(e,b),this.cTT=m,this.oldRotation=i,this.oldAlign=d}}add(e){let{foreignObject:t,renderer:n}=this,r=n.box.parentNode,i=[];if(t)t.add(e),super.add(n.createElement(`body`).attr({xmlns:`http://www.w3.org/1999/xhtml`}).css({background:`transparent`,margin:`0 3px 0 0`}).add(t));else{let t;if(this.parentGroup=e,e&&!(t=e.div)){let n=e;for(;n;)i.push(n),n=n.parentGroup;for(let e of i.reverse())t=Lr(e,r)}(t||r).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,R.setElementHTML(this.element,e??``),this.textStr=e,this.doTransform=!0)}alignSetter(e){this.alignValue=this.textAlign=e,this.doTransform=!0}xSetter(e,t){this[t]=e,this.doTransform=!0}}let zr=Rr.prototype;zr.visibilitySetter=zr.opacitySetter=Ir,zr.ySetter=zr.rotationSetter=zr.rotationOriginXSetter=zr.rotationOriginYSetter=zr.xSetter,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]`,range:!1},day:{main:`%[eb]`},week:{main:`%[eb]`},month:{main:`%[bY]`},year:{main:`%Y`}},endOnTick:!1,gridLineDashStyle:`Solid`,gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:`justify`,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:`#333333`,cursor:`default`,fontSize:`0.8em`,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,tickPixelInterval:100,tickmarkPlacement:`between`,tickPosition:`outside`,title:{align:`middle`,useHTML:!1,x:0,y:0,style:{color:`#666666`,fontSize:`0.8em`}},visible:!0,minorGridLineColor:`#f2f2f2`,minorGridLineWidth:1,minorTickColor:`#999999`,lineColor:`#333333`,lineWidth:1,gridLineColor:`#e6e6e6`,gridLineWidth:void 0,tickColor:`#333333`},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:`justify`,formatter:function(){let{numberFormatter:e}=this.axis.chart;return e(this.total||0,-1)},style:{color:`#000000`,fontSize:`0.7em`,fontWeight:`bold`,textOutline:`1px contrast`}},gridLineWidth:1,lineWidth:0}}(a||={});let Br=a,{addEvent:Vr,isFunction:Hr,objectEach:Ur,removeEvent:Wr}=M;(o||={}).registerEventOptions=function(e,t){e.eventOptions=e.eventOptions||{},Ur(t.events,function(t,n){e.eventOptions[n]!==t&&(e.eventOptions[n]&&(Wr(e,n,e.eventOptions[n]),delete e.eventOptions[n]),Hr(t)&&(e.eventOptions[n]=t,Vr(e,n,t,{order:0})))})};let Gr=o,{deg2rad:Kr}=S,{clamp:qr,correctFloat:Jr,defined:Yr,destroyObjectProperties:Xr,extend:Zr,fireEvent:Qr,getAlignFactor:$r,isNumber:ei,merge:ti,objectEach:ni,pick:ri}=M,ii=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,Qr(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=ri(e.options?.labels,n.labels),l=t.tickPositions,u=s===l[0],d=s===l[l.length-1],f=(!c.step||c.step===1)&&t.tickInterval===1,p=l.info,m=e.label,h,g,_,v=this.parameters.category||(i?ri(i[s],o[s],s):s);a&&ei(v)&&(v=Jr(a.lin2log(v))),t.dateTime&&(p?h=(g=r.time.resolveDTLFormat(n.dateTimeLabelFormats[!n.grid?.enabled&&p.higherRanks[s]||p.unitName])).main:ei(v)&&(h=t.dateTime.getXDateFormat(v,n.dateTimeLabelFormats||{}))),e.isFirst=u,e.isLast=d;let y={axis:t,chart:r,dateTimeLabelFormat:h,isFirst:u,isLast:d,pos:s,tick:e,tickPositionInfo:p,value:v};Qr(this,`labelFormat`,y);let b=e=>c.formatter?c.formatter.call(e,e):c.format?(e.text=t.defaultLabelFormatter.call(e),Lt.format(c.format,e,r)):t.defaultLabelFormatter.call(e),x=b.call(y,y),S=g?.list;S?e.shortenLabel=function(){for(_=0;_<S.length;_++)if(Zr(y,{dateTimeLabelFormat:S[_]}),m.attr({text:b.call(y,y)}),m.getBBox().width<t.getSlotWidth(e)-2*(c.padding||0))return;m.attr({text:``})}:e.shortenLabel=void 0,f&&t._addedPlotLB&&e.moveLabel(x,c),Yr(m)||e.movedLabel?m&&m.textStr!==x&&!f&&(!m.textWidth||c.style.width||m.styles.width||m.css({width:null}),m.attr({text:x}),m.textPxLength=m.getBBox().width):(e.label=m=e.createLabel(x,c),e.rotation=0)}createLabel(e,t,n){let r=this.axis,{renderer:i,styledMode:a}=r.chart,o=t.style.whiteSpace,s=Yr(e)&&t.enabled?i.text(e,n?.x,n?.y,t.useHTML).add(r.labelGroup):void 0;return s&&(a||s.css(ti(t.style)),s.textPxLength=s.getBBox().width,!a&&o&&s.css({whiteSpace:o})),s}destroy(){Xr(this,this.axis)}getPosition(e,t,n,r){let i=this.axis,a=i.chart,o=r&&a.oldChartHeight||a.chartHeight,s={x:e?Jr(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):Jr(o-i.translate(t+n,void 0,void 0,r)-i.transB)};return s.y=qr(s.y,-1e9,1e9),Qr(this,`afterGetPosition`,{pos:s}),s}getLabelPosition(e,t,n,r,i,a,o,s){let c,l,u=this.axis,d=u.transA,f=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,p=u.staggerLines,m=u.tickRotCorr||{x:0,y:0},h=r||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign===`center`?.5:1),g=i.distance,_={};return c=u.side===0?n.rotation?-g:-n.getBBox().height:u.side===2?m.y+g:Math.cos(n.rotation*Kr)*(m.y-n.getBBox(!1,0).height/2),Yr(i.y)&&(c=u.side===0&&u.horiz?i.y+c:i.y),e=e+ri(i.x,[0,1,0,-1][u.side]*g)+h+m.x-(a&&r?a*d*(f?-1:1):0),t=t+c-(a&&!r?a*d*(f?1:-1):0),p&&(l=o/(s||1)%p,u.opposite&&(l=p-l-1),t+=l*(u.labelOffset/p)),_.x=e,_.y=Math.round(t),Qr(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=t.options.labels,r=e.x,i=t.chart.chartWidth,a=t.chart.spacing,o=ri(t.labelLeft,Math.min(t.pos,a[3])),s=ri(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,i-a[1])),c=this.label,l=this.rotation,u=$r(t.labelAlign||c.attr(`align`)),d=c.getBBox().width,f=t.getSlotWidth(this),p=f,m=1,h;l||n.overflow!==`justify`?l<0&&r-u*d<o?h=Math.round(r/Math.cos(l*Kr)-o):l>0&&r+u*d>s&&(h=Math.round((i-r)/Math.cos(l*Kr))):(r-u*d<o?p=e.x+p*(1-u)-o:r+(1-u)*d>s&&(p=s-e.x+p*u,m=-1),(p=Math.min(f,p))<f&&t.labelAlign===`center`&&(e.x+=m*(f-p-u*(f-Math.min(d,p)))),(d>p||t.autoRotation&&c?.styles?.width)&&(h=p)),h&&c&&(this.shortenLabel?this.shortenLabel():c.css(Zr({},{width:Math.floor(h)+`px`,lineClamp:+!t.isRadial})))}moveLabel(e,t){let n=this,r=n.label,i=n.axis,a=!1,o;r&&r.textStr===e?(n.movedLabel=r,a=!0,delete n.label):ni(i.ticks,function(t){a||t.isNew||t===n||!t.label||t.label.textStr!==e||(n.movedLabel=t.label,a=!0,t.labelPos=n.movedLabel.xy,delete t.label)}),!a&&(n.labelPos||r)&&(o=n.labelPos||r.xy,n.movedLabel=n.createLabel(e,t,o),n.movedLabel&&n.movedLabel.attr({opacity:0}))}render(e,t,n){let r=this.axis,i=r.horiz,a=this.pos,o=ri(this.tickmarkOffset,r.tickmarkOffset),s=this.getPosition(i,a,o,t),c=s.x,l=s.y,u=r.pos,d=u+r.len,f=i?c:l,p=ri(n,this.label?.newOpacity,1);!r.chart.polar&&(Jr(f)<u||f>d)&&(n=0),n??=1,this.isActive=!0,this.renderGridLine(t,n),this.renderMark(s,n),this.renderLabel(s,t,p,e),this.isNew=!1,Qr(this,`afterRender`)}renderGridLine(e,t){let n=this.axis,r=n.options,i={},a=this.pos,o=this.type,s=ri(this.tickmarkOffset,n.tickmarkOffset),c=n.chart.renderer,l=this.gridLine,u,d=r.gridLineWidth,f=r.gridLineColor,p=r.gridLineDashStyle;this.type===`minor`&&(d=r.minorGridLineWidth,f=r.minorGridLineColor,p=r.minorGridLineDashStyle),l||(n.chart.styledMode||(i.stroke=f,i[`stroke-width`]=d||0,i.dashstyle=p),o||(i.zIndex=1),e&&(t=0),this.gridLine=l=c.path().attr(i).addClass(`highcharts-`+(o?o+`-`:``)+`grid-line`).add(n.gridGroup)),l&&(u=n.getPlotLinePath({value:a+s,lineWidth:l.strokeWidth(),force:`pass`,old:e,acrossPanes:!1}))&&l[e||this.isNew?`attr`:`animate`]({d:u,opacity:t})}renderMark(e,t){let n=this.axis,r=n.options,i=n.chart.renderer,a=this.type,o=n.tickSize(a?a+`Tick`:`tick`),s=e.x,c=e.y,l=ri(r[a===`minor`?`minorTickWidth`:`tickWidth`],!a&&n.isXAxis?1:0),u=r[a===`minor`?`minorTickColor`:`tickColor`],d=this.mark,f=!d;o&&(n.opposite&&(o[0]=-o[0]),!d&&(this.mark=d=i.path().addClass(`highcharts-`+(a?a+`-`:``)+`tick`).add(n.axisGroup),n.chart.styledMode||d.attr({stroke:u,"stroke-width":l})),d[f?`attr`:`animate`]({d:this.getMarkPath(s,c,o[0],d.strokeWidth(),n.horiz,i),opacity:t}))}renderLabel(e,t,n,r){let i=this.axis,a=i.horiz,o=i.options,s=this.label,c=o.labels,l=c.step,u=ri(this.tickmarkOffset,i.tickmarkOffset),d=e.x,f=e.y,p=!0;s&&ei(d)&&(s.xy=e=this.getLabelPosition(d,f,s,a,c,u,r,l),(!this.isFirst||this.isLast||o.showFirstLabel)&&(!this.isLast||this.isFirst||o.showLastLabel)?!a||c.step||c.rotation||t||n===0||this.handleOverflow(e):p=!1,l&&r%l&&(p=!1),p&&ei(e.y)?(e.opacity=n,s[this.isNewLabel?`attr`:`animate`](e).show(!0),this.isNewLabel=!1):(s.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let e=this.label,t=this.axis;e&&!this.isNew&&(e.animate({opacity:0},void 0,e.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:ai}=L,{xAxis:oi,yAxis:si}=Br,{defaultOptions:ci}=Be,{registerEventOptions:li}=Gr,{deg2rad:ui}=S,{arrayMax:di,arrayMin:fi,clamp:pi,correctFloat:B,defined:V,destroyObjectProperties:mi,erase:hi,error:gi,extend:_i,fireEvent:H,getClosestDistance:vi,insertItem:yi,isArray:bi,isNumber:U,isString:xi,merge:Si,normalizeTickInterval:Ci,objectEach:wi,pick:W,relativeLength:Ti,removeEvent:Ei,splat:Di,syncTimeout:Oi}=M,ki=(e,t)=>Ci(t,void 0,void 0,W(e.options.allowDecimals,t<.5||e.tickAmount!==void 0),!!e.tickAmount);_i(ci,{xAxis:oi,yAxis:Si(oi,si)});class Ai{constructor(e,t,n){this.init(e,t,n)}init(e,t,n=this.coll){let r=n===`xAxis`,i=this.isZAxis||(e.inverted?!r:r);this.chart=e,this.horiz=i,this.isXAxis=r,this.coll=n,H(this,`init`,{userOptions:t}),this.opposite=W(t.opposite,this.opposite),this.side=W(t.side,this.side,i?2*!this.opposite:this.opposite?1:3),this.setOptions(t);let a=this.options,o=a.labels;this.type??=a.type||`linear`,this.uniqueNames??=a.uniqueNames??!0,H(this,`afterSetType`),this.userOptions=t,this.minPixelPadding=0,this.reversed=W(a.reversed,this.reversed),this.visible=a.visible,this.zoomEnabled=a.zoomEnabled,this.hasNames=this.type===`category`||!0===a.categories,this.categories=bi(a.categories)&&a.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=V(a.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??=0,this.minRange=this.userMinRange=a.minRange||a.maxZoom,this.range=a.range,this.offset=a.offset||0,this.max=void 0,this.min=void 0;let s=W(a.crosshair,Di(e.options.tooltip.crosshairs)[+!r]);this.crosshair=!0===s?{}:s,e.axes.indexOf(this)===-1&&(r?e.axes.splice(e.xAxis.length,0,this):e.axes.push(this),yi(this,e[this.coll])),e.orderItems(this.coll),this.series=this.series||[],e.inverted&&!this.isZAxis&&r&&!V(this.reversed)&&(this.reversed=!0),this.labelRotation=U(o.rotation)?o.rotation:void 0,li(this,a),H(this,`afterInit`)}setOptions(e){this.options=Si(this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}},this.coll===`yAxis`?{title:{text:this.chart.options.lang.yAxisTitle}}:{},ci[this.coll],e),H(this,`afterSetOptions`,{userOptions:e})}defaultLabelFormatter(){let e=this.axis,{numberFormatter:t}=this.chart,n=U(this.value)?this.value:NaN,r=e.chart.time,i=e.categories,a=this.dateTimeLabelFormat,o=ci.lang,s=o.numericSymbols,c=o.numericSymbolMagnitude||1e3,l=e.logarithmic?Math.abs(n):e.tickInterval,u=s?.length,d,f;if(i)f=`${this.value}`;else if(a)f=r.dateFormat(a,n,!0);else if(u&&s&&l>=1e3)for(;u--&&f===void 0;)l>=(d=c**+(u+1))&&10*n%d==0&&s[u]!==null&&n!==0&&(f=t(n/d,-1)+s[u]);return f===void 0&&(f=Math.abs(n)>=1e4?t(n,-1):t(n,-1,void 0,``)),f}getSeriesExtremes(){let e,t=this;H(this,`getSeriesExtremes`,null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(n=>{if(n.reserveSpace()){let r=n.options,i,a=r.threshold,o,s;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&0>=(a||0)&&(a=void 0),t.isXAxis)(i=n.getColumn(`x`)).length&&(i=t.logarithmic?i.filter(e=>e>0):i,o=(e=n.getXExtremes(i)).min,s=e.max,U(o)||o instanceof Date||(i=i.filter(U),o=(e=n.getXExtremes(i)).min,s=e.max),i.length&&(t.dataMin=Math.min(W(t.dataMin,o),o),t.dataMax=Math.max(W(t.dataMax,s),s)));else{let e=n.applyExtremes();U(e.dataMin)&&(o=e.dataMin,t.dataMin=Math.min(W(t.dataMin,o),o)),U(e.dataMax)&&(s=e.dataMax,t.dataMax=Math.max(W(t.dataMax,s),s)),V(a)&&(t.threshold=a),(!r.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1)}}})}),H(this,`afterGetSeriesExtremes`)}translate(e,t,n,r,i,a){let o=this.linkedParent||this,s=r&&o.old?o.old.min:o.min;if(!U(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?(p=(e=e*u+d-c)/f+s,l&&(p=o.lin2val(p))):(l&&(e=o.val2lin(e)),p=u*(e-s)*f+d+u*c+(U(a)?f*a:0),o.isRadial||(p=B(p))),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,n=t.chart,r=t.left,i=t.top,a=e.old,o=e.value,s=e.lineWidth,c=a&&n.oldChartHeight||n.chartHeight,l=a&&n.oldChartWidth||n.chartWidth,u=t.transB,d=e.translatedValue,f=e.force,p,m,h,g,_;function v(e,t,n){return f!==`pass`&&(e<t||e>n)&&(f?e=pi(e,t,n):_=!0),e}let y={value:o,lineWidth:s,old:a,force:f,acrossPanes:e.acrossPanes,translatedValue:d};return H(this,`getPlotLinePath`,y,function(e){p=h=(d=pi(d=W(d,t.translate(o,void 0,void 0,a)),-1e9,1e9))+u,m=g=c-d-u,U(d)?t.horiz?(m=i,g=c-t.bottom+(t.options.isInternal?0:n.scrollablePixelsY||0),p=h=v(p,r,r+t.width)):(p=r,h=l-t.right+(n.scrollablePixelsX||0),m=g=v(m,i,i+t.height)):(_=!0,f=!1),e.path=_&&!f?void 0:n.renderer.crispLine([[`M`,p,m],[`L`,h,g]],s||1)}),y.path}getLinearTickPositions(e,t,n){let r,i,a,o=B(Math.floor(t/e)*e),s=B(Math.ceil(n/e)*e),c=[];if(B(o+e)===o&&(a=20),this.single)return[t];for(r=o;r<=s&&(c.push(r),(r=B(r+e,a))!==i);)i=r;return c}getMinorTickInterval(){let{minorTicks:e,minorTickInterval:t}=this.options;return!0===e?W(t,`auto`):!1===e?void 0:t}getMinorTickPositions(){let e=this.options,t=this.tickPositions,n=this.minorTickInterval,r=this.pointRangePadding||0,i=(this.min||0)-r,a=(this.max||0)+r,o=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:a-i,s=[],c;if(o&&o/n<this.len/3){let r=this.logarithmic;if(r)this.paddedTicks.forEach(function(e,t,i){t&&s.push.apply(s,r.getLogTickPositions(n,i[t-1],i[t],!0))});else if(this.dateTime&&this.getMinorTickInterval()===`auto`)s=s.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(n),i,a,e.startOfWeek));else for(c=i+(t[0]-i)%n;c<=a&&c!==s[0];c+=n)s.push(c)}return s.length!==0&&this.trimTicks(s),s}adjustForMinRange(){let e=this.options,t=this.logarithmic,n=this.chart.time,{max:r,min:i,minRange:a}=this,o,s,c,l;this.isXAxis&&a===void 0&&!t&&(a=V(e.min)||V(e.max)||V(e.floor)||V(e.ceiling)?null:Math.min(5*(vi(this.series.map(e=>{let t=e.getColumn(`x`);return e.xIncrement?t.slice(0,2):t}))||0),this.dataMax-this.dataMin)),U(r)&&U(i)&&U(a)&&r-i<a&&(s=this.dataMax-this.dataMin>=a,o=(a-r+i)/2,c=[i-o,n.parse(e.min)??i-o],s&&(c[2]=t?t.log2lin(this.dataMin):this.dataMin),l=[(i=di(c))+a,n.parse(e.max)??i+a],s&&(l[2]=t?t.log2lin(this.dataMax):this.dataMax),(r=fi(l))-i<a&&(c[0]=r-a,c[1]=n.parse(e.min)??r-a,i=di(c))),this.minRange=a,this.min=i,this.max=r}getClosest(){let e,t;if(this.categories)t=1;else{let n=[];this.series.forEach(function(e){let r=e.closestPointRange,i=e.getColumn(`x`);i.length===1?n.push(i[0]):e.sorted&&V(r)&&e.reserveSpace()&&(t=V(t)?Math.min(t,r):r)}),n.length&&(n.sort((e,t)=>e-t),e=vi([n]))}return e&&t?Math.min(e,t):e||t}nameToX(e){let t=bi(this.options.categories),n=t?this.categories:this.names,r=e.options.x,i;return e.series.requireSorting=!1,V(r)||(r=this.uniqueNames&&n?t?n.indexOf(e.name):W(n.keys[e.name],-1):e.series.autoIncrement()),r===-1?!t&&n&&(i=n.length):U(r)&&(i=r),i===void 0?e.x&&(i=e.x):(this.names[i]=e.name,this.names.keys[e.name]=i),i}updateNames(){let e=this,t=this.names;t.length>0&&(Object.keys(t.keys).forEach(function(e){delete t.keys[e]}),t.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(t=>{t.xIncrement=null,(!t.points||t.isDirtyData)&&(e.max=Math.max(e.max||0,t.dataTable.rowCount-1),t.processData(),t.generatePoints());let n=t.getColumn(`x`).slice();t.data.forEach((t,r)=>{let i=n[r];t?.options&&t.name!==void 0&&(i=e.nameToX(t))!==void 0&&i!==t.x&&(n[r]=t.x=i)}),t.dataTable.setColumn(`x`,n)}))}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,c=0,l,u=e.transA;(i||r||a)&&(o=e.getClosest(),n?(s=n.minPointOffset,c=n.pointRangePadding):e.series.forEach(function(t){let n=r?1:i?W(t.options.pointRange,o,0):e.axisPointRange||0,l=t.options.pointPlacement;if(a=Math.max(a,n),!e.single||r){let e=t.is(`xrange`)?!i:i;s=Math.max(s,e&&xi(l)?0:n/2),c=Math.max(c,e&&l===`on`?0:n)}}),l=e.ordinal?.slope&&o?e.ordinal.slope/o:1,e.minPointOffset=s*=l,e.pointRangePadding=c*=l,e.pointRange=Math.min(a,e.single&&r?1:t),i&&(e.closestPointRange=o)),e.translationSlope=e.transA=u=e.staticScale||e.len/(t+c||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=u*s,H(this,`afterSetAxisTranslation`)}minFromRange(){let{max:e,min:t}=this;return U(e)&&U(t)&&e-t||void 0}setTickInterval(e){let{categories:t,chart:n,dataMax:r,dataMin:i,dateTime:a,isXAxis:o,logarithmic:s,options:c,softThreshold:l}=this,u=n.time,d=U(this.threshold)?this.threshold:void 0,f=this.minRange||0,{ceiling:p,floor:m,linkedTo:h,softMax:g,softMin:_}=c,v=U(h)&&n[this.coll]?.[h],y=c.tickPixelInterval,b=c.maxPadding,x=c.minPadding,S=0,C,w=U(c.tickInterval)&&c.tickInterval>=0?c.tickInterval:void 0,T,E,D,O;if(a||t||v||this.getTickAmount(),D=W(this.userMin,u.parse(c.min)),O=W(this.userMax,u.parse(c.max)),v?(this.linkedParent=v,C=v.getExtremes(),this.min=W(C.min,C.dataMin),this.max=W(C.max,C.dataMax),this.type!==v.type&&gi(11,!0,n)):(l&&V(d)&&U(r)&&U(i)&&(i>=d?(T=d,x=0):r<=d&&(E=d,b=0)),this.min=W(D,T,i),this.max=W(O,E,r)),U(this.max)&&U(this.min)&&(s&&(this.positiveValuesOnly&&!e&&0>=Math.min(this.min,W(i,this.min))&&gi(10,!0,n),this.min=B(s.log2lin(this.min),16),this.max=B(s.log2lin(this.max),16)),this.range&&U(i)&&(this.userMin=this.min=D=Math.max(i,this.minFromRange()||0),this.userMax=O=this.max,this.range=void 0)),H(this,`foundExtremes`),this.adjustForMinRange(),U(this.min)&&U(this.max)){if(!U(this.userMin)&&U(_)&&_<this.min&&(this.min=D=_),!U(this.userMax)&&U(g)&&g>this.max&&(this.max=O=g),t||this.axisPointRange||this.stacking?.usePercentage||v||(S=this.max-this.min)&&(!V(D)&&x&&(this.min-=S*x),!V(O)&&b&&(this.max+=S*b)),!U(this.userMin)&&U(m)&&(this.min=Math.max(this.min,m)),!U(this.userMax)&&U(p)&&(this.max=Math.min(this.max,p)),l&&U(i)&&U(r)){let e=d||0;!V(D)&&this.min<e&&i>=e?this.min=c.minRange?Math.min(e,this.max-f):e:!V(O)&&this.max>e&&r<=e&&(this.max=c.minRange?Math.max(e,this.min+f):e)}!n.polar&&this.min>this.max&&(V(c.min)?this.max=this.min:V(c.max)&&(this.min=this.max)),S=this.max-this.min}if(this.min!==this.max&&U(this.min)&&U(this.max)?v&&!w&&y===v.options.tickPixelInterval?this.tickInterval=w=v.tickInterval:this.tickInterval=W(w,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,t?1:S*y/Math.max(this.len,y)):this.tickInterval=1,o&&!e){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),H(this,`postProcessData`,{hasExtremesChanged:e})}this.setAxisTranslation(),H(this,`initialAxisTranslation`),this.pointRange&&!w&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let k=W(c.minTickInterval,a&&!this.series.some(e=>!e.sorted)?this.closestPointRange:0);!w&&k&&this.tickInterval<k&&(this.tickInterval=k),a||s||w||(this.tickInterval=ki(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let e=this.options,t=e.tickPositions,n=e.tickPositioner,r=this.getMinorTickInterval(),i=!this.isPanning,a=i&&e.startOnTick,o=i&&e.endOnTick,s=[],c;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement===`between`&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&V(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),t)s=t.slice();else if(U(this.min)&&U(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))s=[this.min,this.max],gi(19,!1,this.chart);else if(this.dateTime)s=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)s=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let e=this.tickInterval,t=e;for(;t<=2*e&&(s=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&s.length>this.tickAmount);)this.tickInterval=ki(this,t*=1.1)}s.length>this.len&&(s=[s[0],s[s.length-1]])[0]===s[1]&&(s.length=1),n&&(this.tickPositions=s,(c=n.apply(this,[this.min,this.max]))&&(s=c))}this.tickPositions=s,this.minorTickInterval=r===`auto`&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:r,this.paddedTicks=s.slice(0),this.trimTicks(s,a,o),!this.isLinked&&U(this.min)&&U(this.max)&&(this.single&&s.length<2&&!this.categories&&!this.series.some(e=>e.is(`heatmap`)&&e.options.pointPlacement===`between`)&&(this.min-=.5,this.max+=.5),t||c||this.adjustTickAmount()),H(this,`afterSetTickPositions`)}trimTicks(e,t,n){let r=e[0],i=e[e.length-1],a=!this.isOrdinal&&this.minPointOffset||0;if(H(this,`trimTicks`),!this.isLinked||!this.grid){if(t&&r!==-1/0)this.min=r;else for(;this.min-a>e[0];)e.shift();if(n)this.max=i;else for(;this.max+a<e[e.length-1];)e.pop();e.length===0&&V(r)&&!this.options.tickPositions&&e.push((i+r)/2)}}alignToOthers(){let e,t=this,n=t.chart,r=[this],i=t.options,a=n.options.chart,o=this.coll===`yAxis`&&a.alignThresholds,s=[];if(t.thresholdAlignment=void 0,(!1!==a.alignTicks&&i.alignTicks||o)&&!1!==i.startOnTick&&!1!==i.endOnTick&&!t.logarithmic){let i=e=>{let{horiz:t,options:n}=e;return[t?n.left:n.top,n.width,n.height,n.pane].join(`,`)},a=i(this);n[this.coll].forEach(function(n){let{series:o}=n;o.length&&o.some(e=>e.visible)&&n!==t&&i(n)===a&&(e=!0,r.push(n))})}if(e&&o){r.forEach(e=>{let n=e.getThresholdAlignment(t);U(n)&&s.push(n)});let e=s.length>1?s.reduce((e,t)=>e+=t,0)/s.length:void 0;r.forEach(t=>{t.thresholdAlignment=e})}return e}getThresholdAlignment(e){if((!U(this.dataMin)||this!==e&&this.series.some(e=>e.isDirty||e.isDirtyData))&&this.getSeriesExtremes(),U(this.threshold)){let e=pi((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.options,t=e.tickPixelInterval,n=e.tickAmount;V(e.tickInterval)||n||!(this.len<t)||this.isRadial||this.logarithmic||!e.startOnTick||!e.endOnTick||(n=2),!n&&this.alignToOthers()&&(n=Math.ceil(this.len/t)+1),n<4&&(this.finalTickAmt=n,n=5),this.tickAmount=n}adjustTickAmount(){let e=this,{finalTickAmt:t,max:n,min:r,options:i,tickPositions:a,tickAmount:o,thresholdAlignment:s}=e,c=a?.length,l=W(e.threshold,e.softThreshold?0:null),u,d,f=e.tickInterval,p,m=()=>a.push(B(a[a.length-1]+f)),h=()=>a.unshift(B(a[0]-f));if(U(s)&&(p=s<.5?Math.ceil(s*(o-1)):Math.floor(s*(o-1)),i.reversed&&(p=o-1-p)),e.hasData()&&U(r)&&U(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(U(p)&&U(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?h():m();if(f>8*e.tickInterval)break;f*=2}s()}else if(c<o){for(;a.length<o;)a.length%2||r===l?m():h();s()}if(V(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{coll:e,stacking:t}=this,n=!1,r=!1;this.series.forEach(e=>{n=n||e.isDirtyData||e.isDirty,r=r||e.xAxis?.isDirty||!1}),this.setAxisSize();let i=this.len!==this.old?.len;i||n||r||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(t&&e===`yAxis`&&t.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),t&&e===`xAxis`&&t.buildStacks(),this.isDirty||=i||this.min!==this.old?.min||this.max!==this.old?.max):t&&t.cleanStacks(),n&&delete this.allExtremes,H(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),H(this,`setExtremes`,i=_i(i,{min:e,max:t}),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(Ti(W(t.width,e.plotWidth-n[3]+n[1]),e.plotWidth)),a=this.height=Math.round(Ti(W(t.height,e.plotHeight-n[0]+n[2]),e.plotHeight)),o=this.top=Math.round(Ti(W(t.top,e.plotTop+n[0]),e.plotHeight,e.plotTop)),s=this.left=Math.round(Ti(W(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.logarithmic;return{min:e?B(e.lin2log(this.min)):this.min,max:e?B(e.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(e){let t=this.logarithmic,n=t?t.lin2log(this.min):this.min,r=t?t.lin2log(this.max):this.max;return e===null||e===-1/0?e=n:e===1/0?e=r:n>e?e=n:r<e&&(e=r),this.translate(e,0,1,0,1)}autoLabelAlign(e){let t=(W(e,0)-90*this.side+720)%360,n={align:`center`};return H(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=W(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};return H(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||n.movedLabel||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=B(.8*this.labelMetrics().h),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)*r>s&&e!==1/0&&i!==1/0&&s&&(n=Math.ceil(s/r)),B(n*r)},l=r,u,d=Number.MAX_VALUE,f;if(n){if(!e.staggerLines&&(U(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)&&(t=(e=c(Math.abs(o/Math.sin(ui*n))))+Math.abs(n/360))<d&&(d=t,u=n,l=e)}}else l=c(.75*o);return this.autoRotation=f,this.labelRotation=W(u,U(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&&U(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 .33*t.chartWidth}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(),c=Math.max(1,Math.round(s-(o?2*(i.padding||0):i.distance||0))),l={},u=this.labelMetrics(),d=a.lineClamp,f,p=d??(Math.floor(this.len/(n.length*u.h))||1),m=0;xi(i.rotation)||(l.rotation=i.rotation||0),n.forEach(function(e){let t=r[e];t.movedLabel&&t.replaceMovedLabel();let n=t.label?.textPxLength||0;n>m&&(m=n)}),this.maxLabelLength=m,this.autoRotation?m>c&&m>u.h?l.rotation=this.labelRotation:this.labelRotation=0:s&&(f=c),l.rotation&&(f=m>.5*e.chartHeight?.33*e.chartHeight:m,d||(p=1)),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),n.forEach(function(e){let t=r[e],n=t?.label,i=a.width,o={};n&&(n.attr(l),t.shortenLabel?t.shortenLabel():f&&!i&&a.whiteSpace!==`nowrap`&&(f<(n.textPxLength||0)||n.element.tagName===`SPAN`)?n.css(_i(o,{width:`${f}px`,lineClamp:p})):!n.styles.width||o.width||i||n.css({width:`auto`}),t.rotation=l.rotation)},this),this.tickRotCorr=t.rotCorr(u.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(e){return e.hasData()})||this.options.showEmpty&&V(this.min)&&V(this.max)}addTitle(e){let t,n=this.chart.renderer,r=this.horiz,i=this.opposite,a=this.options.title,o=this.chart.styledMode;this.axisTitle||((t=a.textAlign)||(t=(r?{low:`left`,middle:`center`,high:`right`}:{low:i?`right`:`left`,middle:`center`,high:i?`left`:`right`})[a.align]),this.axisTitle=n.text(a.text||``,0,0,a.useHTML).attr({zIndex:7,rotation:a.rotation||0,align:t}).addClass(`highcharts-axis-title`),o||this.axisTitle.css(Si(a.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),o||a.style.width||this.isRadial||this.axisTitle.css({width:this.len+`px`}),this.axisTitle[e?`show`:`hide`](e)}generateTick(e){let t=this.ticks;t[e]?t[e].addLabel():t[e]=new ii(this,e)}createGroups(){let{axisParent:e,chart:t,coll:n,options:r}=this,i=t.renderer,a=(t,a,o)=>i.g(t).attr({zIndex:o}).addClass(`highcharts-${n.toLowerCase()}${a} `+(this.isRadial?`highcharts-radial-axis${a} `:``)+(r.className||``)).add(e);this.axisGroup||(this.gridGroup=a(`grid`,`-grid`,r.gridZIndex),this.axisGroup=a(`axis`,``,r.zIndex),this.labelGroup=a(`axis-labels`,`-labels`,r.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:n,options:r,side:i,ticks:a,tickPositions:o,coll:s}=e,c=t.inverted&&!e.isZAxis?[1,0,3,2][i]:i,l=e.hasData(),u=r.title,d=r.labels,f=U(r.crossing),p=t.axisOffset,m=t.clipOffset,h=[-1,1,1,-1][i],g,_=0,v,y=0,b=0,x,S;if(e.showAxis=g=l||r.showEmpty,e.staggerLines=e.horiz&&d.staggerLines||void 0,e.createGroups(),l||e.isLinked?(o.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=i===0||i===2||{1:`left`,3:`right`}[i]===e.labelAlign,W(d.reserveSpace,!f&&null,e.labelAlign===`center`||null,e.reserveSpaceDefault)&&o.forEach(function(e){b=Math.max(a[e].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):wi(a,function(e,t){e.destroy(),delete a[t]}),u?.text&&!1!==u.enabled&&(e.addTitle(g),g&&!f&&!1!==u.reserveSpace&&(e.titleOffset=_=e.axisTitle.getBBox()[n?`height`:`width`],y=V(v=u.offset)?0:W(u.margin,n?5:10))),e.renderLine(),e.offset=h*W(r.offset,p[i]?p[i]+(r.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},S=i===0?-e.labelMetrics().h:i===2?e.tickRotCorr.y:0,x=Math.abs(b)+y,b&&(x-=S,x+=h*(n?W(d.y,e.tickRotCorr.y+h*d.distance):W(d.x,h*d.distance))),e.axisTitleMargin=W(v,x),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(a,o)),s!==`colorAxis`&&m){let t=this.tickSize(`tick`);p[i]=Math.max(p[i],(e.axisTitleMargin||0)+_+h*e.offset,x,o?.length&&t?t[0]+h*e.offset:0);let n=!e.axisLine||r.offset?0:e.axisLine.strokeWidth()/2;m[c]=Math.max(m[c],n)}H(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(){!this.axisLine&&(this.axisLine=this.chart.renderer.path().addClass(`highcharts-axis-line`).add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(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 H(this,`afterGetTitlePosition`,{titlePosition:h}),h}renderMinorTick(e,t){let n=this.minorTicks;n[e]||(n[e]=new ii(this,e,`minor`)),t&&n[e].isNew&&n[e].render(null,!0),n[e].render(null,!1,1)}renderTick(e,t,n){let r=this.isLinked,i=this.ticks;(!r||e>=this.min&&e<=this.max||this.grid?.isColumn)&&(i[e]||(i[e]=new ii(this,e)),n&&i[e].isNew&&i[e].render(t,!0,-1),i[e].render(t))}render(){let e,t,n=this,r=n.chart,i=n.logarithmic,a=r.renderer,o=n.options,s=n.isLinked,c=n.tickPositions,l=n.axisTitle,u=n.ticks,d=n.minorTicks,f=n.alternateBands,p=o.stackLabels,m=o.alternateGridColor,h=o.crossing,g=n.tickmarkOffset,_=n.axisLine,v=n.showAxis,y=ai(a.globalAnimation);if(n.labelEdge.length=0,n.overlap=!1,[u,d,f].forEach(function(e){wi(e,function(e){e.isActive=!1})}),U(h)){let e=this.isXAxis?r.yAxis[0]:r.xAxis[0],t=[1,-1,-1,1][this.side];if(e){let r=e.toPixels(h,!0);n.horiz&&(r=e.len-r),n.offset=t*r}}if(n.hasData()||s){let a=n.chart.hasRendered&&n.old&&U(n.old.min);n.minorTickInterval&&!n.categories&&n.getMinorTickPositions().forEach(function(e){n.renderMinorTick(e,a)}),c.length&&(c.forEach(function(e,t){n.renderTick(e,t,a)}),g&&(n.min===0||n.single)&&(u[-1]||=new ii(n,-1,null,!0),u[-1].render(-1))),m&&c.forEach(function(a,o){t=c[o+1]===void 0?n.max-g:c[o+1]+g,o%2==0&&a<n.max&&t<=n.max+(r.polar?-g:g)&&(f[a]||(f[a]=new S.PlotLineOrBand(n,{})),e=a+g,f[a].options={from:i?i.lin2log(e):e,to:i?i.lin2log(t):t,color:m,className:`highcharts-alternate-grid`},f[a].render(),f[a].isActive=!0)}),n._addedPlotLB||(n._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach(function(e){n.addPlotBandOrLine(e)}))}[u,d,f].forEach(function(e){let t=[],n=y.duration;wi(e,function(e,n){e.isActive||(e.render(n,!1,0),e.isActive=!1,t.push(n))}),Oi(function(){let n=t.length;for(;n--;)e[t[n]]&&!e[t[n]].isActive&&(e[t[n]].destroy(),delete e[t[n]])},e!==f&&r.hasRendered&&n?n:0)}),_&&(_[_.isPlaced?`animate`:`attr`]({d:this.getLinePath(_.strokeWidth())}),_.isPlaced=!0,_[v?`show`:`hide`](v)),l&&v&&(l[l.isNew?`attr`:`animate`](n.getTitlePosition(l)),l.isNew=!1),p?.enabled&&n.stacking&&n.stacking.renderStackTotals(),n.old={len:n.len,max:n.max,min:n.min,transA:n.transA,userMax:n.userMax,userMin:n.userMin},n.isDirty=!1,H(this,`afterRender`)}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(e){e.render()})),this.series.forEach(function(e){e.isDirty=!0})}getKeepProps(){return this.keepProps||Ai.keepProps}destroy(e){let t=this,n=t.plotLinesAndBands,r=this.eventOptions;if(H(this,`destroy`,{keepEvents:e}),e||Ei(t),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(e){mi(e)}),n){let e=n.length;for(;e--;)n[e].destroy()}for(let e in[`axisLine`,`axisTitle`,`axisGroup`,`gridGroup`,`labelGroup`,`cross`,`scrollbar`].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[e]=t.plotLinesAndBandsGroups[e].destroy();wi(t,function(e,n){t.getKeepProps().indexOf(n)===-1&&delete t[n]}),this.eventOptions=r}drawCrosshair(e,t){let n=this.crosshair,r=n?.snap??!0,i=this.chart,a,o,s,c=this.cross,l;if(H(this,`drawCrosshair`,{e,point:t}),e||=this.cross?.e,n&&!1!==(V(t)||!r)){if(r?V(t)&&(o=W(this.coll===`colorAxis`?null:t.crosshairPos,this.isXAxis?t.plotX:this.len-t.plotY)):o=e&&(this.horiz?e.chartX-this.pos:this.len-e.chartY+this.pos),V(o)&&(l={value:t&&(this.isXAxis?t.x:W(t.stackY,t.y)),translatedValue:o},i.polar&&_i(l,{isCrosshair:!0,chartX:e?.chartX,chartY:e?.chartY,point:t}),a=this.getPlotLinePath(l)||null),!V(a))return void this.hideCrosshair();s=this.categories&&!this.isRadial,c||(this.cross=c=i.renderer.path().addClass(`highcharts-crosshair highcharts-crosshair-`+(s?`category `:`thin `)+(n.className||``)).attr({zIndex:W(n.zIndex,2)}).add(),!i.styledMode&&(c.attr({stroke:n.color||(s?F.parse(`#ccd3ff`).setOpacity(.25).get():`#cccccc`),"stroke-width":W(n.width,1)}).css({"pointer-events":`none`}),n.dashStyle&&c.attr({dashstyle:n.dashStyle}))),c.show().attr({d:a}),s&&!n.width&&c.attr({"stroke-width":this.transA}),this.cross.e=e}else this.hideCrosshair();H(this,`afterDrawCrosshair`,{e,point:t})}hideCrosshair(){this.cross&&this.cross.hide(),H(this,`afterHideCrosshair`)}update(e,t){let n=this.chart;e=Si(this.userOptions,e),this.destroy(!0),this.init(n,e),n.isDirtyBox=!0,W(t,!0)&&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);hi(t.axes,this),hi(t[n]||[],this),t.orderItems(n),this.destroy(),t.isDirtyBox=!0,W(e,!0)&&t.redraw()}setTitle(e,t){this.update({title:e},t)}setCategories(e,t){this.update({categories:e},t)}}Ai.keepProps=[`coll`,`extKey`,`hcEvents`,`len`,`names`,`series`,`userMax`,`userMin`];let{addEvent:ji,getMagnitude:Mi,normalizeTickInterval:Ni,timeUnits:Pi}=M;(function(e){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){if(this.type!==`datetime`){this.dateTime=void 0;return}this.dateTime||=new r(this)}e.compose=function(e){return e.keepProps.includes(`dateTime`)||(e.keepProps.push(`dateTime`),e.prototype.getTimeTicks=t,ji(e,`afterSetType`,n)),e};class r{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=Pi[r[0]],a=r[1],o;for(o=0;o<n.length&&(i=Pi[(r=n[o])[0]],a=r[1],!n[o+1]||!(e<=(i*a[a.length-1]+Pi[n[o+1][0]])/2));o++);i===Pi.year&&e<5*i&&(a=[1,2,5]);let s=Ni(e/i,a,r[0]===`year`?Math.max(Mi(e/i),1):1);return{unitRange:i,count:s,unitName:r[0]}}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=r})(s||={});let Fi=s,{addEvent:Ii,normalizeTickInterval:Li,pick:Ri}=M;(function(e){function t(){this.type===`logarithmic`?this.logarithmic??=new r(this):this.logarithmic=void 0}function n(){let e=this.logarithmic;e&&(this.lin2val=function(t){return e.lin2log(t)},this.val2lin=function(t){return e.log2lin(t)})}e.compose=function(e){return e.keepProps.includes(`logarithmic`)||(e.keepProps.push(`logarithmic`),Ii(e,`afterSetType`,t),Ii(e,`afterInit`,n)),e};class r{constructor(e){this.axis=e}getLogTickPositions(e,t,n,r){let i=this.axis,a=i.len,o=i.options,s=[];if(r||(this.minorAutoInterval=void 0),e>=.5)e=Math.round(e),s=i.getLinearTickPositions(e,t,n);else if(e>=.08){let i,a,o,c,l,u,d,f=Math.floor(t);for(i=e>.3?[1,2,4]:e>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],a=f;a<n+1&&!d;a++)for(o=0,c=i.length;o<c&&!d;o++)(l=this.log2lin(this.lin2log(a)*i[o]))>t&&(!r||u<=n)&&u!==void 0&&s.push(u),u>n&&(d=!0),u=l}else{let c=this.lin2log(t),l=this.lin2log(n),u=r?i.getMinorTickInterval():o.tickInterval,d=o.tickPixelInterval/(r?5:1),f=r?a/i.tickPositions.length:a;e=Li(e=Ri(u===`auto`?null:u,this.minorAutoInterval,(l-c)*d/(f||1))),s=i.getLinearTickPositions(e,c,l).map(this.log2lin),r||(this.minorAutoInterval=e/5)}return r||(i.tickInterval=e),s}lin2log(e){return 10**e}log2lin(e){return Math.log(e)/Math.LN10}}e.Additions=r})(c||={});let zi=c,{erase:Bi,extend:Vi,isNumber:Hi}=M;(function(e){let t;function n(e){return this.addPlotBandOrLine(e,`plotBands`)}function r(e,n){let r=this.userOptions,i=new t(this,e);if(this.visible&&(i=i.render()),i){if(this._addedPlotLB||(this._addedPlotLB=!0,(r.plotLines||[]).concat(r.plotBands||[]).forEach(e=>{this.addPlotBandOrLine(e)})),n){let t=r[n]||[];t.push(e),r[n]=t}this.plotLinesAndBands.push(i)}return i}function i(e){return this.addPlotBandOrLine(e,`plotLines`)}function a(e,t,n){n||=this.options;let r=this.getPlotLinePath({value:t,force:!0,acrossPanes:n.acrossPanes}),i=[],a=this.horiz,o=!Hi(this.min)||!Hi(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 o(e){this.removePlotBandOrLine(e)}function s(e){let t=this.plotLinesAndBands,n=this.options,r=this.userOptions;if(t){let i=t.length;for(;i--;)t[i].id===e&&t[i].destroy();[n.plotLines||[],r.plotLines||[],n.plotBands||[],r.plotBands||[]].forEach(function(t){for(i=t.length;i--;)t[i]?.id===e&&Bi(t,t[i])})}}function c(e){this.removePlotBandOrLine(e)}e.compose=function(e,l){let u=l.prototype;return u.addPlotBand||(t=e,Vi(u,{addPlotBand:n,addPlotLine:i,addPlotBandOrLine:r,getPlotBandPath:a,removePlotBand:o,removePlotLine:c,removePlotBandOrLine:s})),l}})(l||={});let Ui=l,{addEvent:Wi,arrayMax:Gi,arrayMin:Ki,defined:qi,destroyObjectProperties:Ji,erase:Yi,fireEvent:Xi,merge:Zi,objectEach:Qi,pick:$i}=M;class ea{static compose(e,t){return Wi(e,`afterInit`,function(){this.labelCollectors.push(()=>{let e=[];for(let t of this.axes)for(let{label:n,options:r}of t.plotLinesAndBands)n&&!r?.label?.allowOverlap&&e.push(n);return e})}),Ui.compose(ea,t)}constructor(e,t){this.axis=e,this.options=t,this.id=t.id}render(){Xi(this,`render`);let{axis:e,options:t}=this,{horiz:n,logarithmic:r}=e,{color:i,events:a,zIndex:o=0}=t,{renderer:s,time:c}=e.chart,l={},u=c.parse(t.to),d=c.parse(t.from),f=c.parse(t.value),p=t.borderWidth,m=t.label,{label:h,svgElem:g}=this,_=[],v,y=qi(d)&&qi(u),b=qi(f),x=!g,S={class:`highcharts-plot-`+(y?`band `:`line `)+(t.className||``)},C=y?`bands`:`lines`;if(!e.chart.styledMode&&(b?(S.stroke=i||`#999999`,S[`stroke-width`]=$i(t.width,1),t.dashStyle&&(S.dashstyle=t.dashStyle)):y&&(S.fill=i||`#e6e9ff`,p&&(S.stroke=t.borderColor,S[`stroke-width`]=p))),l.zIndex=o,C+=`-`+o,(v=e.plotLinesAndBandsGroups[C])||(e.plotLinesAndBandsGroups[C]=v=s.g(`plot-`+C).attr(l).add()),g||(this.svgElem=g=s.path().attr(S).add(v)),qi(f))_=e.getPlotLinePath({value:r?.log2lin(f)??f,lineWidth:g.strokeWidth(),acrossPanes:t.acrossPanes});else{if(!(qi(d)&&qi(u)))return;_=e.getPlotBandPath(r?.log2lin(d)??d,r?.log2lin(u)??u,t)}return!this.eventsAdded&&a&&(Qi(a,(e,t)=>{g?.on(t,e=>{a[t].apply(this,[e])})}),this.eventsAdded=!0),(x||!g.d)&&_?.length?g.attr({d:_}):g&&(_?(g.show(),g.animate({d:_})):g.d&&(g.hide(),h&&(this.label=h=h.destroy()))),m&&(qi(m.text)||qi(m.formatter))&&_?.length&&e.width>0&&e.height>0&&!_.isFlat?(m=Zi({align:n&&y?`center`:void 0,x:n?!y&&4:10,verticalAlign:!n&&y?`middle`:void 0,y:n?y?16:10:y?6:-4,rotation:n&&!y?90:0,...y?{inside:!0}:{}},m),this.renderLabel(m,_,y,o)):h&&h.hide(),this}renderLabel(e,t,n,r){let i=this.axis,a=i.chart.renderer,o=e.inside,s=this.label;s||(this.label=s=a.text(this.getLabelText(e),0,0,e.useHTML).attr({align:e.textAlign||e.align,rotation:e.rotation,class:`highcharts-plot-`+(n?`band`:`line`)+`-label `+(e.className||``),zIndex:r}),i.chart.styledMode||s.css(Zi({color:i.chart.options.title?.style?.color,fontSize:`0.8em`,textOverflow:n&&!o?``:`ellipsis`},e.style)),s.add());let c=t.xBounds||[t[0][1],t[1][1],n?t[2][1]:t[0][1]],l=t.yBounds||[t[0][2],t[1][2],n?t[2][2]:t[0][2]],u=Ki(c),d=Ki(l),f=Gi(c)-u;s.align(e,!1,{x:u,y:d,width:f,height:Gi(l)-d}),s.alignAttr.y-=a.fontMetrics(s).b,(!s.alignValue||s.alignValue===`left`||qi(o))&&s.css({width:(e.style?.width||(n&&o?f:s.rotation===90?i.height-(s.alignAttr.y-i.top):(e.clip?i.width:i.chart.chartWidth)-(s.alignAttr.x-i.left)))+`px`}),s.show(!0)}getLabelText(e){return qi(e.formatter)?e.formatter.call(this):e.text}destroy(){Yi(this.axis.plotLinesAndBands,this),delete this.axis,Ji(this)}}let{animObject:ta}=L,{format:na}=Lt,{composed:ra,dateFormats:ia,doc:aa,isSafari:oa}=S,{distribute:sa}=Ut,{addEvent:ca,clamp:la,css:ua,discardElement:da,extend:fa,fireEvent:pa,getAlignFactor:ma,isArray:ha,isNumber:ga,isObject:_a,isString:va,merge:ya,pick:ba,pushUnique:xa,splat:Sa,syncTimeout:Ca}=M;class wa{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`]||``)})}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,n=this.points||Sa(this);return(t=(t=[e.headerFooterFormatter(n[0])]).concat(e.bodyFormatter(n))).push(e.headerFooterFormatter(n[0],!0)),t}destroy(){this.label&&=this.label.destroy(),this.split&&(this.cleanSplit(!0),this.tt&&=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),da(this.container)),M.clearTimeout(this.hideTimer)}getAnchor(e,t){let n,{chart:r,pointer:i}=this,a=r.inverted,o=r.plotTop,s=r.plotLeft;if(e=Sa(e),e[0].series?.yAxis&&!e[0].series.yAxis.options.reversedStacks&&(e=e.slice().reverse()),this.followPointer&&t)t.chartX===void 0&&(t=i.normalize(t)),n=[t.chartX-s,t.chartY-o];else if(e[0].tooltipPos)n=e[0].tooltipPos;else{let r=0,i=0;e.forEach(function(e){let t=e.pos(!0);t&&(r+=t[0],i+=t[1])}),r/=e.length,i/=e.length,this.shared&&e.length>1&&t&&(a?r=t.chartX:i=t.chartY),n=[r-s,i-o]}let c={point:e[0],ret:n};return pa(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-`+ba(e.colorIndex,i.colorIndex),a?.className].filter(va).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,n=Rt.getRendererType();this.container=o=S.doc.createElement(`div`),o.className=`highcharts-tooltip-container `+(e.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||``),ua(o,{position:`absolute`,top:`1px`,pointerEvents:`none`,zIndex:Math.max(this.options.style.zIndex||0,(t?.zIndex||0)+3)}),this.renderer=s=new n(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||0}).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&&S.doc.body.appendChild(o),this.label}getPlayingField(){let{body:e,documentElement:t}=aa,{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.chartHeight}}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&&ba(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)return p[e]=0,!1;p[e]=Math.max(s,g+m+n>t?g:g+m)}},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=()=>{!1===E.apply(0,x)?C?p.x=p.y=0:(O(!0),k()):!1!==D.apply(0,S)||C||(O(!0),k())};return(s&&!u||this.len>1)&&O(),k(),p}getFixedPosition(e,t,n){let r=n.series,{chart:i,options:a,split:o}=this,s=a.position,c=s.relativeTo,l=a.shared||r?.yAxis?.isRadial&&(c===`pane`||!c)?`plotBox`:c,u=l===`chart`?i.renderer:i[l]||i.getClipBox(r,!0);return{x:u.x+(u.width-e)*ma(s.align)+s.x,y:u.y+(u.height-t)*ma(s.verticalAlign)+(!o&&s.y||0)}}hide(e){let t=this;M.clearTimeout(this.hideTimer),e=ba(e,this.options.hideDelay),this.isHidden||(this.hideTimer=Ca(function(){let n=t.getLabel();t.getLabel().animate({opacity:0},{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=ba(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=ta(!i&&!this.isHidden&&!a.fixed&&a.animation),s=i||(this.len||0)>1,c={x:e,y:t};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{chart:n,options:r,pointer:i,shared:a}=this,o=Sa(e),s=o[0],c=r.format,l=r.formatter||this.defaultFormatter,u=n.styledMode,d=this.allowShared;if(!r.enabled||!s.series)return;M.clearTimeout(this.hideTimer),this.allowShared=!(!ha(e)&&e.series&&e.series.noSharedTooltip),d&&=!this.allowShared,this.followPointer=!this.split&&s.series.tooltipOptions.followPointer;let f=this.getAnchor(e,t),p=f[0],m=f[1];a&&this.allowShared&&(i.applyInactiveState(o),o.forEach(e=>e.setState(`hover`)),s.points=o),this.len=o.length;let h=va(c)?na(c,s,n):l.call(s,this);s.points=void 0;let g=s.series;if(this.distance=ba(g.tooltipOptions.distance,16),!1===h)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(h,o);else{let e=p,a=m;if(t&&i.isDirectTouch&&(e=t.chartX-n.plotLeft,a=t.chartY-n.plotTop),!(n.polar||!1===g.options.clip||o.some(t=>i.isDirectTouch||t.series.shouldShowTooltip(e,a))))return void this.hide();{let e=this.getLabel(d&&this.tt||{});(!r.style.width||u)&&e.css({width:(this.outside?this.getPlayingField():n.spacingBox).width+`px`}),e.attr({class:this.getClassName(s),text:h&&h.join?h.join(``):h}),this.outside&&e.attr({x:la(e.x||0,0,this.getPlayingField().width-(e.width||0)-1)}),u||e.attr({stroke:r.borderColor||s.color||g.color||`#666666`}),this.updatePosition({plotX:p,plotY:m,negative:s.negative,ttBelow:s.ttBelow,series:g,h:f[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}pa(this,`refresh`)}renderSplit(e,t){let n=this,{chart:r,chart:{chartWidth:i,chartHeight:a,plotHeight:o,plotLeft:s,plotTop:c,scrollablePixelsY:l=0,scrollablePixelsX:u,styledMode:d},distance:f,options:p,options:{fixed:m,position:h,positioner:g},pointer:_}=n,{scrollLeft:v=0,scrollTop:y=0}=r.scrollablePlotArea?.scrollingContainer||{},b=n.outside&&typeof u!=`number`?aa.documentElement.getBoundingClientRect():{left:v,right:v+i,top:y,bottom:y+a},x=n.getLabel(),S=this.renderer||r.renderer,C=!!r.xAxis[0]?.opposite,{left:w,top:T}=_.getChartPosition(),E=g||m,D=c+y,O=0,k=o-l,A=function(e,t,r,i=[0,0],a=!0){let o,s;if(r.isHeader)s=C?0:k,o=la(i[0]-e/2,b.left,b.right-e-(n.outside?w:0));else if(m&&r){let i=n.getFixedPosition(e,t,r);o=i.x,s=i.y-D}else s=i[1]-D,o=la(o=a?i[0]-e-f:i[0]+f,a?o:b.left,b.right);return{x:o,y:s}};va(e)&&(e=[!1,e]);let ee=e.slice(0,t.length+1).reduce(function(e,r,i){if(!1!==r&&r!==``){let a=t[i-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},l=a.isHeader,u=l?n:a.series,h=u.tt=function(e,t,r){let i=e,{isHeader:a,series:o}=t,s=o.tooltipOptions||p;if(!i){let e={padding:s.padding,r:s.borderRadius};d||(e.fill=s.backgroundColor,e[`stroke-width`]=s.borderWidth??(m&&!a?0:1)),i=S.label(``,0,0,s[a?`headerShape`:`shape`]||(m&&!a?`rect`:`callout`),void 0,void 0,s.useHTML).addClass(n.getClassName(t,!0,a)).attr(e).add(x)}return i.isActive=!0,i.attr({text:r}),d||i.css(s.style).attr({stroke:s.borderColor||t.color||o.color||`#333333`}),i}(u.tt,a,r.toString()),_=h.getBBox(),v=_.width+h.strokeWidth();l&&(O=_.height,k+=O,C&&(D-=O));let{anchorX:y,anchorY:w}=function(e){let t,n,{isHeader:r,plotX:i=0,plotY:a=0,series:l}=e;if(r)t=Math.max(s+i,s),n=c+o/2;else{let{xAxis:e,yAxis:r}=l;t=e.pos+la(i,-f,e.len+f),l.shouldShowTooltip(0,r.pos-c+a,{ignoreX:!0})&&(n=r.pos+a)}return{anchorX:t=la(t,b.left-f,b.right+f),anchorY:n}}(a);if(typeof w==`number`){let t=_.height+1,r=(g||A).call(n,v,t,a,[y,w]);e.push({align:E?0:void 0,anchorX:y,anchorY:w,boxWidth:v,point:a,rank:ba(r.rank,+!!l),size:t,target:r.y,tt:h,x:r.x})}else h.isActive=!1}return e},[]);!E&&ee.some(e=>{let{outside:t}=n,r=(t?w:0)+e.anchorX;return r<b.left&&r+e.boxWidth<b.right||r<w-b.left+e.boxWidth&&b.right-r>r})&&(ee=ee.map(e=>{let{x:t,y:n}=A.call(this,e.boxWidth,e.size,e.point,[e.anchorX,e.anchorY],!1);return fa(e,{target:n,x:t})})),n.cleanSplit(),sa(ee,k);let j={left:w,right:w};ee.forEach(function(e){let{x:t,boxWidth:r,isHeader:i}=e;!i&&(n.outside&&w+t<j.left&&(j.left=w+t),!i&&n.outside&&j.left+r>j.right&&(j.right=w+t))}),ee.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)+D+(m&&h.y||0),anchorX:r,anchorY:i};if(n.outside&&t<r){let e=w-j.left;e>0&&(o||(s.x=t+e,s.anchorX=r+e),o&&(s.x=(j.right-j.left)/2,s.anchorX=r+e))}e.tt.attr(s)});let{container:te,outside:ne,renderer:re}=n;if(ne&&te&&re){let{width:e,height:t,x:n,y:r}=x.getBBox();re.setSize(e+n,t+r,!1),te.style.left=j.left+`px`,te.style.top=T+`px`}oa&&x.attr({opacity:x.opacity===1?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&=this.tracker.destroy();return}let e=this.chart,t=this.label,n=this.shared?e.hoverPoints:e.hoverPoint;if(!t||!n)return;let r={x:0,y:0,width:0,height:0},i=this.getAnchor(n),a=t.getBBox();i[0]+=e.plotLeft-(t.translateX||0),i[1]+=e.plotTop-(t.translateY||0),r.x=Math.min(0,i[0]),r.y=Math.min(0,i[1]),r.width=i[0]<0?Math.max(Math.abs(i[0]),a.width-i[0]):Math.max(Math.abs(i[0]),a.width),r.height=i[1]<0?Math.max(Math.abs(i[1]),a.height-Math.abs(i[1])):Math.max(Math.abs(i[1]),a.height),this.tracker?this.tracker.attr(r):(this.tracker=t.renderer.rect(r).addClass(`highcharts-tracker`).add(t),e.styledMode||this.tracker.attr({fill:`rgba(0,0,0,0)`}))}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,a={isFooter:t,point:e},o=r.xDateFormat||``,s=r[t?`footerFormat`:`headerFormat`];return pa(this,`headerFormatter`,a,function(t){if(i&&!o&&ga(e.key)&&(o=i.getXDateFormat(e.key,r.dateTimeLabelFormats)),i&&o){if(_a(o)){let e=o;ia[0]=t=>n.chart.time.dateFormat(e,t),o=`%0`}(e.tooltipDateKeys||[`key`]).forEach(e=>{s=s.replace(RegExp(`point\\.`+e+`([ \\)}])`),`(point.${e}:${o})$1`)})}n.chart.styledMode&&(s=this.styledModeFormat(s)),t.text=na(s,e,this.chart)}),a.text||``}update(e){this.destroy(),this.init(this.chart,ya(!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),g=S.doc,_=(e.plotX||0)+t.plotLeft,v=(e.plotY||0)+t.plotTop,y;if(o&&n){if(u||l){let{scrollLeft:e=0,scrollTop:n=0}=t.scrollablePlotArea?.scrollingContainer||{};h.x+=e+d-r,h.y+=n+f-r}y=(i.borderWidth||0)+2*r+2,o.setSize(la(c+y,0,g.documentElement.clientWidth)-1,s+y,!1),(p!==1||m!==1)&&(ua(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){e.compose=function(t){xa(ra,`Core.Tooltip`)&&ca(t,`afterInit`,function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new e(t,t.options.tooltip,this))})}})(wa||={});let Ta=wa,{animObject:Ea}=L,{defaultOptions:Da}=Be,{format:Oa}=Lt,{addEvent:ka,crisp:Aa,erase:ja,extend:Ma,fireEvent:Na,getNestedProperty:Pa,isArray:Fa,isFunction:Ia,isNumber:La,isObject:Ra,merge:za,pick:Ba,syncTimeout:Va,removeEvent:Ha,uniqueKey:Ua}=M;class Wa{animateBeforeDestroy(){let e=this,t={x:e.startXPos,opacity:0},n=e.getGraphicalProps();n.singular.forEach(function(n){e[n]=e[n].animate(n===`dataLabel`?{x:e[n].startXPos,y:e[n].startYPos,opacity:0}:t)}),n.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.animate(Ma({x:e.startXPos},t.startYPos?{x:t.startXPos,y:t.startYPos}:{}))})})}applyOptions(e,t){let n=this.series,r=n.options.pointValKey||n.pointValKey;return Ma(this,e=Wa.prototype.optionsToObject.call(this,e)),this.options=this.options?Ma(this.options,e):e,e.group&&delete this.group,e.dataLabels&&delete this.dataLabels,r&&(this.y=Wa.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state=`select`),`name`in this&&t===void 0&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),this.x===void 0&&n?this.x=t??n.autoIncrement():La(e.x)&&n.options.relativeXValue?this.x=n.autoIncrement(e.x):typeof this.x==`string`&&(t??=n.chart.time.parse(this.x),La(t)&&(this.x=t)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?`null`:`point`,this}destroy(){if(!this.destroyed){let e=this,t=e.series,n=t.chart,r=t.options.dataSorting,i=n.hoverPoints,a=Ea(e.series.chart.renderer.globalAnimation),o=()=>{for(let t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&(Ha(e),e.destroyElements()),e)delete e[t]};e.legendItem&&n.legend.destroyItem(e),i&&(e.setState(),ja(i,e),i.length||(n.hoverPoints=null)),e===n.hoverPoint&&e.onMouseOut(),r?.enabled?(this.animateBeforeDestroy(),Va(o,a.duration)):o(),n.pointCount--}this.destroyed=!0}destroyElements(e){let t=this,n=t.getGraphicalProps(e);n.singular.forEach(function(e){t[e]=t[e].destroy()}),n.plural.forEach(function(e){t[e].forEach(function(e){e?.element&&e.destroy()}),delete t[e]})}firePointEvent(e,t,n){let r=this,i=this.series.options;r.manageEvent(e),e===`click`&&i.allowPointSelect&&(n=function(e){!r.destroyed&&r.select&&r.select(null,e.ctrlKey||e.metaKey||e.shiftKey)}),Na(r,e,t,n)}getClassName(){return`highcharts-point`+(this.selected?` highcharts-point-select`:``)+(this.negative?` highcharts-negative`:``)+(this.isNull?` highcharts-null-point`:``)+(this.colorIndex===void 0?``:` highcharts-color-`+this.colorIndex)+(this.options.className?` `+this.options.className:``)+(this.zone?.className?` `+this.zone.className.replace(`highcharts-negative`,``):``)}getGraphicalProps(e){let t,n,r=this,i=[],a={singular:[],plural:[]};for((e||={graphic:1,dataLabel:1}).graphic&&i.push(`graphic`,`connector`),e.dataLabel&&i.push(`dataLabel`,`dataLabelPath`,`dataLabelUpper`),n=i.length;n--;)r[t=i[n]]&&a.singular.push(t);return[`graphic`,`dataLabel`].forEach(function(t){let n=t+`s`;e[t]&&r[n]&&a.plural.push(n)}),a}getNestedProperty(e){if(e)return e.indexOf(`custom.`)===0?Pa(e,this.options):this[e]}getZone(){let e=this.series,t=e.zones,n=e.zoneAxis||`y`,r,i=0;for(r=t[0];this[n]>=r.value;)r=t[++i];return this.nonZonedColor||=this.color,r?.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(e,t,n){this.formatPrefix=`point`,this.visible=!0,this.point=this,this.series=e,this.applyOptions(t,n),this.id??=Ua(),this.resolveColor(),this.dataLabelOnNull??=e.options.nullInteraction,e.chart.pointCount++,Na(this,`afterInit`)}isValid(){return(La(this.x)||this.x instanceof Date)&&La(this.y)}optionsToObject(e){let t=this.series,n=t.options.keys,r=n||t.pointArrayMap||[`y`],i=r.length,a={},o,s=0,c=0;if(La(e)||e===null)a[r[0]]=e;else if(Fa(e))for(!n&&e.length>i&&((o=typeof e[0])==`string`?t.xAxis?.dateTime?a.x=t.chart.time.parse(e[0]):a.name=e[0]:o===`number`&&(a.x=e[0]),s++);c<i;)n&&e[s]===void 0||(r[c].indexOf(`.`)>0?Wa.prototype.setNestedProperty(a,e[s],r[c]):a[r[c]]=e[s]),s++,c++;else typeof e==`object`&&(a=e,e.dataLabels&&(t.hasDataLabels=()=>!0),e.marker&&(t._hasPointMarkers=!0));return a}pos(e,t=this.plotY){if(!this.destroyed){let{plotX:n,series:r}=this,{chart:i,xAxis:a,yAxis:o}=r,s=0,c=0;if(La(n)&&La(t))return e&&(s=a?a.pos:i.plotLeft,c=o?o.pos:i.plotTop),i.inverted&&a&&o?[o.len-t+c,a.len-n+s]:[n+s,t+c]}}resolveColor(){let e=this.series,t=e.chart.options.chart,n=e.chart.styledMode,r,i,a=t.colorCount,o;delete this.nonZonedColor,e.options.colorByPoint?(n||(r=(i=e.options.colors||e.chart.options.colors)[e.colorCounter],a=i.length),o=e.colorCounter,e.colorCounter++,e.colorCounter===a&&(e.colorCounter=0)):(n||(r=e.color),o=e.colorIndex),this.colorIndex=Ba(this.options.colorIndex,o),this.color=Ba(this.options.color,r)}setNestedProperty(e,t,n){return n.split(`.`).reduce(function(e,n,r,i){return e[n]=i.length-1===r?t:Ra(e[n],!0)?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}`)}),Oa(e,this,t)}update(e,t,n,r){let i,a=this,o=a.series,s=a.graphic,c=o.chart,l=o.options;function u(){a.applyOptions(e);let r=s&&a.hasMockGraphic,u=a.y===null?!r:r;s&&u&&(a.graphic=s.destroy(),delete a.hasMockGraphic),Ra(e,!0)&&(s?.element&&e&&e.marker&&e.marker.symbol!==void 0&&(a.graphic=s.destroy()),e?.dataLabels&&a.dataLabel&&(a.dataLabel=a.dataLabel.destroy())),i=a.index;let d={};for(let e of o.dataColumnKeys())d[e]=a[e];o.dataTable.setRow(d,i),l.data[i]=Ra(l.data[i],!0)||Ra(e,!0)?a.options:Ba(e,l.data[i]),o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(c.isDirtyBox=!0),l.legendType===`point`&&(c.isDirtyLegend=!0),t&&c.redraw(n)}t=Ba(t,!0),!1===r?u():a.firePointEvent(`update`,{options:e},u)}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=Ba(e,!n.selected),this.selectedStaging=e,n.firePointEvent(e?`select`:`unselect`,{accumulate:t},function(){n.selected=n.options.selected=e,r.options.data[r.data.indexOf(n)]=n.options,n.setState(e&&`select`),t||i.getSelectedPoints().forEach(function(e){let t=e.series;e.selected&&e!==n&&(e.selected=e.options.selected=!1,t.options.data[t.data.indexOf(e)]=e.options,e.setState(i.hoverPoints&&t.options.inactiveOtherPoints?`inactive`:``),e.firePointEvent(`unselect`))})}),delete this.selectedStaging}onMouseOver(e){let{inverted:t,pointer:n}=this.series.chart;n&&(e=e?n.normalize(e):n.getChartCoordinatesFromPoint(this,t),n.runPointActions(e,this))}onMouseOut(){let e=this.series.chart;this.firePointEvent(`mouseOut`),this.series.options.inactiveOtherPoints||(e.hoverPoints||[]).forEach(function(e){e.setState()}),e.hoverPoints=e.hoverPoint=null}manageEvent(e){let t=za(this.series.options.point,this.options).events?.[e];Ia(t)&&(!this.hcEvents?.[e]||this.hcEvents?.[e]?.map(e=>e.fn).indexOf(t)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=ka(this,e,t),this.hcEvents&&(this.hcEvents[e].userEvent=!0)):this.importedUserEvent&&!t&&this.hcEvents?.[e]&&this.hcEvents?.[e].userEvent&&(Ha(this,e),delete this.hcEvents[e],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(e,t){let n=this.series,r=this.state,i=n.options.states[e||`normal`]||{},a=Da.plotOptions[n.type].marker&&n.options.marker,o=a&&!1===a.enabled,s=a?.states?.[e||`normal`]||{},c=!1===s.enabled,l=this.marker||{},u=n.chart,d=a&&n.markerAttribs,f=n.halo,p,m,h,g=n.stateMarkerGraphic,_;if((e||=``)===this.state&&!t||this.selected&&e!==`select`||!1===i.enabled||e&&(c||o&&!1===s.enabled)||e&&l.states&&l.states[e]&&!1===l.states[e].enabled)return;if(this.state=e,d&&(p=n.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass(`highcharts-point-`+r),e&&this.graphic.addClass(`highcharts-point-`+e),!u.styledMode){m=n.pointAttribs(this,e),h=Ba(u.options.chart.animation,i.animation);let t=m.opacity;n.options.inactiveOtherPoints&&La(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass(`highcharts-data-label-hidden`)&&(e.animate({opacity:t},h),e.connector&&e.connector.animate({opacity:t},h))}),this.graphic.animate(m,h)}p&&this.graphic.animate(p,Ba(u.options.chart.animation,s.animation,a.animation)),g&&g.hide()}else e&&s&&(_=l.symbol||n.symbol,g&&g.currentSymbol!==_&&(g=g.destroy()),p&&(g?g[t?`animate`:`attr`]({x:p.x,y:p.y}):_&&(n.stateMarkerGraphic=g=u.renderer.symbol(_,p.x,p.y,p.width,p.height,za(a,s)).add(n.markerGroup),g.currentSymbol=_)),!u.styledMode&&g&&this.state!==`inactive`&&g.attr(n.pointAttribs(this,e))),g&&(g[e&&this.isInside?`show`:`hide`](),g.element.point=this,g.addClass(this.getClassName(),!0));let v=i.halo,y=this.graphic||g,b=y?.visibility||`inherit`;v?.size&&y&&b!==`hidden`&&!this.isCluster?(f||(n.halo=f=u.renderer.path().add(y.parentGroup)),f.show()[t?`animate`:`attr`]({d:this.haloPath(v.size)}),f.attr({class:`highcharts-halo highcharts-color-`+Ba(this.colorIndex,n.colorIndex)+(this.className?` `+this.className:``),visibility:b,zIndex:-1}),f.point=this,u.styledMode||f.attr(Ma({fill:this.color||n.color,"fill-opacity":v.opacity},R.filterUserAttributes(v.attributes||{})))):f?.point?.haloPath&&!f.point.destroyed&&f.animate({d:f.point.haloPath(0)},null,f.hide),Na(this,`afterSetState`,{state:e})}haloPath(e){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(Aa(t[0],1)-e,t[1]-e,2*e,2*e):[]}}let Ga=Wa,{parse:Ka}=F,{charts:qa,composed:Ja,isTouchDevice:Ya}=S,{addEvent:Xa,attr:Za,css:Qa,extend:$a,find:eo,fireEvent:to,isNumber:no,isObject:ro,objectEach:io,offset:ao,pick:oo,pushUnique:so,splat:co}=M;class G{applyInactiveState(e=[]){let t=[];for(let n of(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))}),this.chart.series)){let e=n.options;e.states?.inactive?.enabled!==!1&&(t.indexOf(n)===-1?n.setState(`inactive`,!0):e.inactiveOtherPoints&&n.setAllPointsToState(`inactive`))}}destroy(){let e=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!S.chartCount&&(G.unbindDocumentMouseUp.forEach(e=>e.unbind()),G.unbindDocumentMouseUp.length=0,G.unbindDocumentTouchEnd&&=G.unbindDocumentTouchEnd()),clearInterval(e.tooltipTimeout),io(e,function(t,n){e[n]=void 0})}getSelectionMarkerAttrs(e,t){let n={args:{chartX:e,chartY:t},attrs:{},shapeType:`rect`};return to(this,`getSelectionMarkerAttrs`,n,n=>{let r,{chart:i,zoomHor:a,zoomVert:o}=this,{mouseDownX:s=0,mouseDownY:c=0}=i,l=n.attrs;l.x=i.plotLeft,l.y=i.plotTop,l.width=a?1:i.plotWidth,l.height=o?1:i.plotHeight,a&&(l.width=Math.max(1,Math.abs(r=e-s)),l.x=(r>0?0:r)+s),o&&(l.height=Math.max(1,Math.abs(r=t-c)),l.y=(r>0?0:r)+c)}),n}drag(e){let{chart:t}=this,{mouseDownX:n=0,mouseDownY:r=0}=t,{panning:i,panKey:a,selectionMarkerFill:o}=t.options.chart,s=t.plotLeft,c=t.plotTop,l=t.plotWidth,u=t.plotHeight,d=ro(i)?i.enabled:i,f=a&&e[`${a}Key`],p=e.chartX,m=e.chartY,h,g=this.selectionMarker;if((!g||!g.touch)&&(p<s?p=s:p>s+l&&(p=s+l),m<c?m=c:m>c+u&&(m=c+u),this.hasDragged=Math.sqrt((n-p)**2+(r-m)**2),this.hasDragged>10)){h=t.isInsidePlot(n-s,r-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:l}=this.getSelectionMarkerAttrs(p,m);this.hasZoom&&h&&!f&&!g&&(this.selectionMarker=g=t.renderer[a](),g.attr({class:`highcharts-selection-marker`,zIndex:7}).add(),t.styledMode||g.attr({fill:o||Ka(`#334eff`).setOpacity(.25).get()})),g&&g.attr(l),h&&!g&&d&&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 to(this,`getSelectionBox`,t),t.result}drop(e){let t,{chart:n,selectionMarker:r}=this;for(let e of n.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),t=!0));if(t&&n.redraw(),r&&e){if(this.hasDragged){let t=this.getSelectionBox(r);n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(e.coll===`xAxis`&&this.zoomX||e.coll===`yAxis`&&this.zoomY)),selection:{originalEvent:e,xAxis:[],yAxis:[],...t},from:t})}no(n.index)&&(this.selectionMarker=r.destroy())}n&&no(n.index)&&(Qa(n.container,{cursor:n._cursor}),n.cancelClick=this.hasDragged>10,n.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(e,t,n){let r;return e.forEach(function(e){let i=!(e.noSharedTooltip&&t)&&0>e.options.findNearestPointBy.indexOf(`y`),a=e.searchPoint(n,i);ro(a,!0)&&a.series&&(!ro(r,!0)||function(e,n){let r=e.distX-n.distX,i=e.dist-n.dist,a=n.series.group?.zIndex-e.series.group?.zIndex;return r!==0&&t?r:i===0?a===0?e.series.index>n.series.index?-1:1:a:i}(r,a)>0)&&(r=a)}),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&&no(i.x)&&no(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,t=ao(e);this.chartPosition={left:t.left,top:t.top,scaleX:1,scaleY:1};let{offsetHeight:n,offsetWidth:r}=e;return r>2&&n>2&&(this.chartPosition.scaleX=t.width/r,this.chartPosition.scaleY=t.height/n),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,a){let o=[],s=function(e){return e.visible&&!(!i&&e.directTouch)&&oo(e.options.enableMouseTracking,!0)},c=t,l,u={chartX:a?a.chartX:void 0,chartY:a?a.chartY:void 0,shared:i};to(this,`beforeGetHoverData`,u),l=c&&!c.stickyTracking?[c]:n.filter(e=>e.stickyTracking&&(u.filter||s)(e));let d=r&&e||!a?e:this.findNearestKDPoint(l,i,a);return c=d?.series,d&&(i&&!c.noSharedTooltip?(l=n.filter(function(e){return u.filter?u.filter(e):s(e)&&!e.noSharedTooltip})).forEach(function(e){let t=e.options?.nullInteraction,n=eo(e.points,function(e){return e.x===d.x&&(!e.isNull||!!t)});ro(n)&&(e.boosted&&e.boost&&(n=e.boost.getPoint(n)),o.push(n))}):o.push(d)),to(this,`afterGetHoverData`,u={hoverPoint:d}),{hoverPoint:u.hoverPoint,hoverSeries:c,hoverPoints:o}}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=Za(n,`class`)){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(),to(this,`afterInit`)}normalize(e,t){let n=e.touches,r=n?n.length?n.item(0):oo(n.changedTouches,e.changedTouches)[0]:e;t||=this.getChartPosition();let i=r.pageX-t.left,a=r.pageY-t.top;return $a(e,{chartX:Math.round(i/=t.scaleX),chartY:Math.round(a/=t.scaleY)})}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`)?(to(n.series,`click`,$a(r,{point:n})),t.hoverPoint&&n.firePointEvent(`click`,r)):($a(r,this.getCoordinates(r)),t.isInsidePlot(r.chartX-i,r.chartY-a,{visiblePlotOnly:!0})&&to(t,`click`,r)))}onContainerMouseDown(e){let t=(1&(e.buttons||e.button))==1;e=this.normalize(e),S.isFirefox&&e.button!==0&&this.onContainerMouseMove(e),(e.button===void 0||t)&&(this.zoomOption(e),t&&e.preventDefault?.(),this.dragStart(e))}onContainerMouseLeave(e){let{pointer:t}=qa[oo(G.hoverChartIndex,-1)]||{};e=this.normalize(e),this.onContainerMouseMove(e),t&&!this.inClass(e.relatedTarget,`highcharts-tooltip`)&&(t.reset(),t.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(e){e?.touches&&this.hasPinchMoved&&e?.preventDefault?.(),qa[oo(G.hoverChartIndex,-1)]?.pointer?.drop(e)}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=n.tooltip,l=o===1&&oo(c?.options.followTouchMove,!0);o>1?t.initiated=!0:l&&(t.initiated=!1),r&&t.initiated&&!s&&!1!==e.cancelable&&e.preventDefault(),e.type===`touchstart`?(t.pinchDown=a,t.res=!0,n.mouseDownX=e.chartX):l?this.runPointActions(t.normalize(e)):i&&(to(n,`touchpan`,{originalEvent:e,touches:a},()=>{let t=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:t(a),from:t(i),trigger:e.type})}),t.res&&(t.res=!1,this.reset(!1,0))),t.lastTouches=a}reset(e,t){let n=this.chart,r=n.hoverSeries,i=n.hoverPoint,a=n.hoverPoints,o=n.tooltip,s=o?.shared?a:i;e&&s&&co(s).forEach(function(t){t.series.isCartesian&&t.plotX===void 0&&(e=!1)}),e?o&&s&&co(s).length&&(o.refresh(s),o.shared&&a?a.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))}):i&&(i.setState(i.state,!0),n.axes.forEach(function(e){e.crosshair&&i.series[e.coll]===e&&e.drawCrosshair(null,i)}))):(i&&i.onMouseOut(),a&&a.forEach(function(e){e.setState()}),r&&r.onMouseOut(),o&&o.hide(t),this.unDocMouseMove&&=this.unDocMouseMove(),n.axes.forEach(function(e){e.hideCrosshair()}),n.hoverPoints=n.hoverPoint=void 0)}runPointActions(e,t,n){let r=this.chart,i=r.series,a=r.tooltip?.options.enabled?r.tooltip:void 0,o=!!a&&a.shared,s=t||r.hoverPoint,c=s?.series||r.hoverSeries,l=(!e||e.type!==`touchmove`)&&(!!t||c?.directTouch&&this.isDirectTouch),u=this.getHoverData(s,c,i,l,o,e);s=u.hoverPoint,c=u.hoverSeries;let d=u.hoverPoints,f=c?.tooltipOptions.followPointer&&!c.tooltipOptions.split,p=o&&c&&!c.noSharedTooltip;if(s&&(n||s!==r.hoverPoint||a?.isHidden)){if((r.hoverPoints||[]).forEach(function(e){d.indexOf(e)===-1&&e.setState()}),r.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach(function(e){e.setState(`hover`)}),r.hoverPoint&&r.hoverPoint.firePointEvent(`mouseOut`),!s.series)return;r.hoverPoints=d,r.hoverPoint=s,s.firePointEvent(`mouseOver`,void 0,()=>{a&&s&&a.refresh(p?d:s,e)})}else if(f&&a&&!a.isHidden){let t=a.getAnchor([{}],e);r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:t[0],plotY:t[1]})}this.unDocMouseMove||(this.unDocMouseMove=Xa(r.container.ownerDocument,`mousemove`,e=>qa[G.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(e)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(t){let n,i=t.crosshair?.snap??!0;i&&((n=r.hoverPoint)&&n.series[t.coll]===t||(n=eo(d,e=>e.series?.[t.coll]===t))),n||!i?t.drawCrosshair(e,n):t.hideCrosshair()})}setDOMEvents(){let e=this.chart.container,t=e.ownerDocument;e.onmousedown=this.onContainerMouseDown.bind(this),e.onmousemove=this.onContainerMouseMove.bind(this),e.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Xa(e,`mouseenter`,this.onContainerMouseEnter.bind(this)),Xa(e,`mouseleave`,this.onContainerMouseLeave.bind(this))),G.unbindDocumentMouseUp.some(e=>e.doc===t)||G.unbindDocumentMouseUp.push({doc:t,unbind:Xa(t,`mouseup`,this.onDocumentMouseUp.bind(this))});let n=this.chart.renderTo.parentElement;for(;n&&n.tagName!==`BODY`;)this.eventsToUnbind.push(Xa(n,`scroll`,()=>{delete this.chartPosition})),n=n.parentElement;this.eventsToUnbind.push(Xa(e,`touchstart`,this.onContainerTouchStart.bind(this),{passive:!1}),Xa(e,`touchmove`,this.onContainerTouchMove.bind(this),{passive:!1})),G.unbindDocumentTouchEnd||=Xa(t,`touchend`,this.onDocumentTouchEnd.bind(this),{passive:!1}),this.setPointerCapture(),Xa(this.chart,`redraw`,this.setPointerCapture.bind(this))}setPointerCapture(){if(!Ya)return;let e=this.pointerCaptureEventsToUnbind,t=this.chart,n=t.container,r=oo(t.options.tooltip?.followTouchMove,!0)&&t.series.some(e=>e.options.findNearestPointBy.indexOf(`y`)>-1);!this.hasPointerCapture&&r?(e.push(Xa(n,`pointerdown`,e=>{e.target?.hasPointerCapture(e.pointerId)&&e.target?.releasePointerCapture(e.pointerId)}),Xa(n,`pointermove`,e=>{t.pointer?.getPointFromEvent(e)?.onMouseOver(e)})),t.styledMode||Qa(n,{"touch-action":`none`}),n.className+=` highcharts-no-touch-action`,this.hasPointerCapture=!0):this.hasPointerCapture&&!r&&(e.forEach(e=>e()),e.length=0,t.styledMode||Qa(n,{"touch-action":oo(t.options.chart.style?.[`touch-action`],`manipulation`)}),n.className=n.className.replace(` highcharts-no-touch-action`,``),this.hasPointerCapture=!1)}setHoverChartIndex(e){let t=this.chart,n=S.charts[oo(G.hoverChartIndex,-1)];if(n&&n!==t){let r={relatedTarget:t.container};e&&!e?.relatedTarget&&Object.assign({},e,r),n.pointer?.onContainerMouseLeave(e||r)}n?.mouseIsDown||(G.hoverChartIndex=t.index)}touch(e,t){let n,{chart:r,pinchDown:i=[]}=this;this.setHoverChartIndex(),(e=this.normalize(e)).touches.length===1?r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop,{visiblePlotOnly:!0})&&!r.exporting?.openMenu?(t&&this.runPointActions(e),e.type===`touchmove`&&(this.hasPinchMoved=n=!!i[0]&&(i[0].chartX-e.chartX)**2+(i[0].chartY-e.chartY)**2>=16),oo(n,!0)&&this.pinch(e)):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=oo(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}}G.unbindDocumentMouseUp=[],function(e){e.compose=function(t){so(Ja,`Core.Pointer`)&&Xa(t,`beforeRender`,function(){this.pointer=new e(this,this.options)})}}(G||={});let lo=G;(function(e){e.setLength=function(e,t,n){return Array.isArray(e)?(e.length=t,e):e[n?`subarray`:`slice`](0,t)},e.splice=function(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}}})(u||={});let{setLength:uo,splice:fo}=u,{fireEvent:po,objectEach:mo,uniqueKey:ho}=M,go=class{constructor(e={}){this.autoId=!e.id,this.columns={},this.id=e.id||ho(),this.modified=this,this.rowCount=0,this.versionTag=ho();let t=0;mo(e.columns||{},(e,n)=>{this.columns[n]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,mo(this.columns,(t,n)=>{t.length!==e&&(this.columns[n]=uo(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let n=0;mo(this.columns,(r,i)=>{this.columns[i]=fo(r,e,t).array,n=r.length}),this.rowCount=n}po(this,`afterDeleteRows`,{rowIndex:e,rowCount:t}),this.versionTag=ho()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRow(e,t){return(t||Object.keys(this.columns)).map(t=>this.columns[t]?.[e])}setColumn(e,t=[],n=0,r){this.setColumns({[e]:t},n,r)}setColumns(e,t,n){let r=this.rowCount;mo(e,(e,t)=>{this.columns[t]=e.slice(),r=e.length}),this.applyRowCount(r),n?.silent||(po(this,`afterSetColumns`),this.versionTag=ho())}setRow(e,t=this.rowCount,n,r){let{columns:i}=this,a=n?this.rowCount+1:t+1;mo(e,(e,o)=>{let s=i[o]||r?.addColumns!==!1&&Array(a);s&&(n?s=fo(s,t,0,!0,[e]).array:s[t]=e,i[o]=s)}),a>this.rowCount&&this.applyRowCount(a),r?.silent||(po(this,`afterSetRows`),this.versionTag=ho())}},{extend:_o,merge:vo,pick:yo}=M;(function(e){function t(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,d=i.renderer,f=r.group,p=o-Math.round((e.fontMetrics?.b||c)*(n?.4:.3)),m={},h,g=a.marker,_=0;if(i.styledMode||(m[`stroke-width`]=Math.min(a.lineWidth||0,24),a.dashStyle?m.dashstyle=a.dashStyle:a.linecap!==`square`&&(m[`stroke-linecap`]=`round`)),r.line=d.path().addClass(`highcharts-graph`).attr(m).add(f),n&&(r.area=d.path().addClass(`highcharts-area`).add(f)),m[`stroke-linecap`]&&(_=Math.min(r.line.strokeWidth(),s)/2),s){let e=[[`M`,_,p],[`L`,s-_,p]];r.line.attr({d:e}),r.area?.attr({d:[...e,[`L`,s-_,o],[`L`,_,o]]})}if(g&&!1!==g.enabled&&s){let e=Math.min(yo(g.radius,u),u);l.indexOf(`url`)===0&&(g=vo(g,{width:c,height:c}),e=0),r.symbol=h=d.symbol(l,s/2-e,p-e,2*e,2*e,_o({context:`legend`},g)).addClass(`highcharts-point`).add(f),h.isMarker=!0}}e.areaMarker=function(e,n){t.call(this,e,n,!0)},e.lineMarker=t,e.rectangle=function(e,t){let n=t.legendItem||{},r=e.options,i=e.symbolHeight,a=r.squareSymbol,o=a?i:e.symbolWidth;n.symbol=this.chart.renderer.rect(a?(e.symbolWidth-i)/2:0,e.baseline-i+1,o,i,yo(e.options.symbolRadius,i/2)).addClass(`highcharts-point`).attr({zIndex:3}).add(n.group)}})(d||={});let bo=d,{defaultOptions:xo}=Be,{extend:So,extendClass:Co,merge:wo}=M;(function(e){function t(t,n){let r=xo.plotOptions||{},i=n.defaultOptions,a=n.prototype;return a.type=t,a.pointClass||=Ga,!e.seriesTypes[t]&&(i&&(r[t]=i),e.seriesTypes[t]=n,!0)}e.seriesTypes=S.seriesTypes,e.registerSeriesType=t,e.seriesType=function(n,r,i,a,o){let s=xo.plotOptions||{};if(r||=``,s[n]=wo(s[r],i),delete e.seriesTypes[n],t(n,Co(e.seriesTypes[r]||Z,a)),e.seriesTypes[n].prototype.type=n,o){class t extends Ga{}So(t.prototype,o),e.seriesTypes[n].prototype.pointClass=t}return e.seriesTypes[n]}})(f||={});let K=f,{animObject:To,setAnimation:Eo}=L,{defaultOptions:Do}=Be,{registerEventOptions:Oo}=Gr,{svg:ko,win:Ao}=S,{seriesTypes:jo}=K,{format:Mo}=Lt,{arrayMax:No,arrayMin:Po,clamp:Fo,correctFloat:Io,crisp:Lo,defined:q,destroyObjectProperties:Ro,diffObjects:zo,erase:Bo,error:Vo,extend:Ho,find:Uo,fireEvent:J,getClosestDistance:Wo,getNestedProperty:Go,insertItem:Ko,isArray:qo,isNumber:Y,isString:Jo,merge:Yo,objectEach:Xo,pick:X,removeEvent:Zo,syncTimeout:Qo}=M;class $o{constructor(){this.zoneAxis=`y`}init(e,t){let n;J(this,`init`,{options:t}),this.dataTable??=new go;let r=e.series;this.eventsToUnbind=[],this.chart=e,this.options=this.setOptions(t);let i=this.options,a=!1!==i.visible;this.linkedSeries=[],this.bindAxes(),Ho(this,{name:i.name,state:``,visible:a,selected:!0===i.selected}),Oo(this,i),(i.events?.click||i.point?.events?.click||i.allowPointSelect)&&(e.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(e.hasCartesianSeries=!0),r.length&&(n=r[r.length-1]),this._i=X(n?._i,-1)+1,this.opacity=this.options.opacity,e.orderItems(`series`,Ko(this,r)),i.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(i.data,!1),J(this,`afterInit`)}is(e){return jo[e]&&this instanceof jo[e]}bindAxes(){let e,t=this,n=t.options,r=t.chart;J(this,`bindAxes`,null,function(){(t.axisTypes||[]).forEach(function(i){(r[i]||[]).forEach(function(r){e=r.options,(X(n[i],0)===r.index||n[i]!==void 0&&n[i]===e.id)&&(Ko(t,r.series),t[i]=r,r.isDirty=!0)}),t[i]||t.optionalAxis===i||Vo(18,!0,r)})}),J(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.enabled&&!n.enabled||r.symbol!==n.symbol||r.height!==n.height||r.width!==n.width)}autoIncrement(e){let t,n=this.options,{pointIntervalUnit:r,relativeXValue:i}=this.options,a=this.chart.time,o=this.xIncrement??a.parse(n.pointStart)??0;if(this.pointInterval=t=X(this.pointInterval,n.pointInterval,1),i&&Y(e)&&(t*=e),r){let e=a.toParts(o);r===`day`?e[2]+=t:r===`month`?e[1]+=t:r===`year`&&(e[0]+=t),t=a.makeTime.apply(a,e)-o}return i&&Y(e)?o+t:(this.xIncrement=o+t,o)}setDataSortingOptions(){let e=this.options;Ho(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),q(e.pointRange)||(e.pointRange=1)}setOptions(e){let t,n=this.chart,r=n.options.plotOptions,i=n.userOptions||{},a=Yo(e),o=n.styledMode,s={plotOptions:r,userOptions:a};J(this,`setOptions`,s);let c=s.plotOptions[this.type],l=i.plotOptions||{},u=l.series||{},d=Do.plotOptions[this.type]||{},f=l[this.type]||{};c.dataLabels=this.mergeArrays(d.dataLabels,c.dataLabels),this.userOptions=s.userOptions;let p=Yo(c,r.series,f,a);this.tooltipOptions=Yo(Do.tooltip,Do.plotOptions.series?.tooltip,d?.tooltip,n.userOptions.tooltip,l.series?.tooltip,f.tooltip,a.tooltip),this.stickyTracking=X(a.stickyTracking,f.stickyTracking,u.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||p.stickyTracking),c.marker===null&&delete p.marker,this.zoneAxis=p.zoneAxis||`y`;let m=this.zones=(p.zones||[]).map(e=>({...e}));return(p.negativeColor||p.negativeFillColor)&&!p.zones&&(t={value:p[this.zoneAxis+`Threshold`]||p.threshold||0,className:`highcharts-negative`},o||(t.color=p.negativeColor,t.fillColor=p.negativeFillColor),m.push(t)),m.length&&q(m[m.length-1].value)&&m.push(o?{}:{color:this.color,fillColor:this.fillColor}),J(this,`afterSetOptions`,{options:p}),p}getName(){return this.options.name??Mo(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(e,t,n){let r,i,a=this.chart,o=`${e}Index`,s=`${e}Counter`,c=n?.length||a.options.chart.colorCount;!t&&(q(i=X(e===`color`?this.options.colorIndex:void 0,this[o]))?r=i:(a.series.length||(a[s]=0),r=a[s]%c,a[s]+=1),n&&(t=n[r])),r!==void 0&&(this[o]=r),this[e]=t}getColor(){this.chart.styledMode?this.getCyclic(`color`):this.options.colorByPoint?this.color=`#cccccc`:this.getCyclic(`color`,this.options.color||Do.plotOptions[this.type].color,this.chart.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){return(t?this.dataTable.modified:this.dataTable).getColumn(e,!0)||[]}findPointIndex(e,t){let n,r,i,{id:a,x:o}=e,s=this.points,c=this.options.dataSorting,l=this.cropStart||0;if(a){let e=this.chart.get(a);e instanceof Ga&&(n=e)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(c?.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(n=Uo(s,t)))return}return n&&(i=n?.index)!==void 0&&(r=!0),i===void 0&&Y(o)&&(i=this.getColumn(`x`).indexOf(o,t)),i!==-1&&i!==void 0&&this.cropped&&(i=i>=l?i-l:i),!r&&Y(i)&&s[i]?.touched&&(i=void 0),i}updateData(e,t){let{options:n,requireSorting:r}=this,i=n.dataSorting,a=this.points,o=[],s=e.length===a.length,c,l,u,d,f=!0;if(this.xIncrement=null,e.forEach((e,t)=>{let l,u=q(e)&&this.pointClass.prototype.optionsToObject.call({series:this},e)||{},{id:f,x:p}=u;f||Y(p)?((l=this.findPointIndex(u,d))===-1||l===void 0?o.push(e):a[l]&&e!==n.data?.[l]?(a[l].update(e,!1,void 0,!1),a[l].touched=!0,r&&(d=l+1)):a[l]&&(a[l].touched=!0),(!s||t!==l||i?.enabled||this.hasDerivedData)&&(c=!0)):o.push(e)},this),c)for(l=a.length;l--;)(u=a[l])&&!u.touched&&u.remove?.(!1,t);else s&&!i?.enabled?(e.forEach((e,t)=>{e===a[t].y||a[t].destroyed||a[t].update(e,!1,void 0,!1)}),o.length=0):f=!1;if(a.forEach(e=>{e&&(e.touched=!1)}),!f)return!1;o.forEach(e=>{this.addPoint(e,!1,void 0,void 0,!1)},this);let p=this.getColumn(`x`);return this.xIncrement===null&&p.length&&(this.xIncrement=No(p),this.autoIncrement()),!0}dataColumnKeys(){return[`x`,...this.pointArrayMap||[`y`]]}setData(e,t=!0,n,r){let i=this.points,a=i?.length||0,o=this.options,s=this.chart,c=o.dataSorting,l=this.xAxis,u=o.turboThreshold,d=this.dataTable,f=this.dataColumnKeys(),p=this.pointValKey||`y`,m=(this.pointArrayMap||[]).length,h=o.keys,g,_,v=0,y=1,b;s.options.chart.allowMutatingData||(o.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,b=Yo(!0,e));let x=(e=b||e||[]).length;if(c?.enabled&&(e=this.sortData(e)),s.options.chart.allowMutatingData&&!1!==r&&x&&a&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(_=this.updateData(e,n)),!_){this.xIncrement=null,this.colorCounter=0;let t=u&&!o.relativeXValue&&x>u;if(t){let n=this.getFirstValidPoint(e),r=this.getFirstValidPoint(e,x-1,-1),i=e=>!!(qo(e)&&(h||Y(e[0])));if(Y(n)&&Y(r)){let t=[],n=[];for(let r of e)t.push(this.autoIncrement()),n.push(r);d.setColumns({x:t,[p]:n})}else if(i(n)&&i(r))if(m){let t=+(n.length===m),r=Array(f.length).fill(0).map(()=>[]);for(let n of e){t&&r[0].push(this.autoIncrement());for(let e=t;e<=m;e++)r[e]?.push(n[e-t])}d.setColumns(f.reduce((e,t,n)=>(e[t]=r[n],e),{}))}else{h&&(v=h.indexOf(`x`),y=h.indexOf(`y`),v=v>=0?v:0,y=y>=0?y:1),n.length===1&&(y=0);let t=[],r=[];if(v===y)for(let n of e)t.push(this.autoIncrement()),r.push(n[y]);else for(let n of e)t.push(n[v]),r.push(n[y]);d.setColumns({x:t,[p]:r})}else t=!1}if(!t){let t=f.reduce((e,t)=>(e[t]=[],e),{});for(g=0;g<x;g++){let n=this.pointClass.prototype.applyOptions.apply({series:this},[e[g]]);for(let e of f)t[e][g]=n[e]}d.setColumns(t)}for(Jo(this.getColumn(`y`)[0])&&Vo(14,!0,s),this.data=[],this.options.data=this.userOptions.data=e,g=a;g--;)i[g]?.destroy();l&&(l.minRange=l.userMinRange),this.isDirty=s.isDirtyBox=!0,this.isDirtyData=!!i,n=!1}o.legendType===`point`&&(this.processData(),this.generatePoints()),t&&s.redraw(n)}sortData(e){let t=this,n=t.options.dataSorting.sortKey||`y`,r=function(e,t){return q(t)&&e.pointClass.prototype.optionsToObject.call({series:e},t)||{}};return e.forEach(function(n,i){e[i]=r(t,n),e[i].index=i},this),e.concat().sort((e,t)=>{let r=Go(n,e),i=Go(n,t);return i<r?-1:+(i>r)}).forEach(function(e,t){e.x=t},this),t.linkedSeries&&t.linkedSeries.forEach(function(t){let n=t.options,i=n.data;!n.dataSorting?.enabled&&i&&(i.forEach(function(n,a){i[a]=r(t,n),e[a]&&(i[a].x=e[a].x,i[a].index=a)}),t.setData(i,!1))}),e}getProcessedData(e){let t=this,{dataTable:n,isCartesian:r,options:i,xAxis:a}=t,o=i.cropThreshold,s=e||t.getExtremesFromAll,c=a?.logarithmic,l=n.rowCount,u,d,f=0,p,m,h,g=t.getColumn(`x`),_=n,v=!1;return a&&(m=(p=a.getExtremes()).min,h=p.max,v=!!(a.categories&&!a.names.length),r&&t.sorted&&!s&&(!o||l>o||t.forceCrop)&&(g[l-1]<m||g[0]>h?_=new go:t.getColumn(t.pointValKey||`y`).length&&(g[0]<m||g[l-1]>h)&&(_=(u=this.cropData(n,m,h)).modified,f=u.start,d=!0))),g=_.getColumn(`x`)||[],{modified:_,cropped:d,cropStart:f,closestPointRange:Wo([c?g.map(c.log2lin):g],()=>t.requireSorting&&!v&&Vo(15,!1,t.chart))}}processData(e){let t=this.xAxis,n=this.dataTable;if(this.isCartesian&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!e)return!1;let r=this.getProcessedData();n.modified=r.modified,this.cropped=r.cropped,this.cropStart=r.cropStart,this.closestPointRange=this.basePointRange=r.closestPointRange,J(this,`afterProcessData`)}cropData(e,t,n){let r=e.getColumn(`x`,!0)||[],i=r.length,a={},o,s,c=0,l=i;for(o=0;o<i;o++)if(r[o]>=t){c=Math.max(0,o-1);break}for(s=o;s<i;s++)if(r[s]>n){l=s+1;break}for(let t of this.dataColumnKeys()){let n=e.getColumn(t,!0);n&&(a[t]=n.slice(c,l))}return{modified:new go({columns:a}),start:c,end:l}}generatePoints(){let e=this.options,t=this.processedData||e.data,n=this.dataTable.modified,r=this.getColumn(`x`,!0),i=this.pointClass,a=n.rowCount,o=this.cropStart||0,s=this.hasGroupedData,c=e.keys,l=[],u=e.dataGrouping?.groupAll?o:0,d=this.xAxis?.categories,f=this.pointArrayMap||[`y`],p=this.dataColumnKeys(),m,h,g,_,v=this.data,y;if(!v&&!s){let e=[];e.length=t?.length||0,v=this.data=e}for(c&&s&&(this.options.keys=!1),_=0;_<a;_++)h=o+_,s?((g=new i(this,n.getRow(_,p)||[])).dataGroup=this.groupMap[u+_],g.dataGroup?.options&&(g.options=g.dataGroup.options,Ho(g,g.dataGroup.options),delete g.dataLabels)):(g=v[h],y=t?t[h]:n.getRow(_,f),g||y===void 0||(v[h]=g=new i(this,y,r[_]))),g&&(g.index=s?u+_:h,l[_]=g,g.category=d?.[g.x]??g.x,g.key=g.name??g.category);if(this.options.keys=c,v&&(a!==(m=v.length)||s))for(_=0;_<m;_++)_!==o||s||(_+=a),v[_]&&(v[_].destroyElements(),v[_].plotX=void 0);this.data=v,this.points=l,J(this,`afterGeneratePoints`)}getXExtremes(e){return{min:Po(e),max:No(e)}}getExtremes(e,t){let{xAxis:n,yAxis:r}=this,i=t||this.getExtremesFromAll||this.options.getExtremesFromAll,a=i&&this.cropped?this.dataTable:this.dataTable.modified,o=a.rowCount,s=e||this.stackedYData,c=s?[s]:(this.keysAffectYAxis||this.pointArrayMap||[`y`])?.map(e=>a.getColumn(e,!0)||[])||[],l=this.getColumn(`x`,!0),u=[],d=this.requireSorting&&!this.is(`column`)?1:0,f=!!r&&r.positiveValuesOnly,p=i||this.cropped||!n,m,h,g,_=0,v=0;for(n&&(_=(m=n.getExtremes()).min,v=m.max),g=0;g<o;g++)if(h=l[g],p||(l[g+d]||h)>=_&&(l[g-d]||h)<=v)for(let e of c){let t=e[g];Y(t)&&(t>0||!f)&&u.push(t)}let y={activeYData:u,dataMin:Po(u),dataMax:No(u)};return J(this,`afterGetExtremes`,{dataExtremes:y}),y}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(q(e[i]))return e[i];i+=n}}translate(){this.generatePoints();let e=this.options,t=e.stacking,n=this.xAxis,r=this.enabledDataSorting,i=this.yAxis,a=this.points,o=a.length,s=this.pointPlacementToXValue(),c=!!s,l=e.threshold,u=e.startFromThreshold?l:0,d=e?.nullInteraction&&i.len,f,p,m,h,g=Number.MAX_VALUE;function _(e){return Fo(e,-1e9,1e9)}for(f=0;f<o;f++){let e,o=a[f],v=o.x,y,b,x=o.y,S=o.low,C=t&&i.stacking?.stacks[(this.negStacks&&x<(u?0:l)?`-`:``)+this.stackKey];o.plotX=Y(p=n.translate(v,!1,!1,!1,!0,s))?Io(_(p)):void 0,t&&this.visible&&C&&C[v]&&(h=this.getStackIndicator(h,v,this.index),!o.isNull&&h.key&&(b=(y=C[v]).points[h.key]),y&&qo(b)&&(S=b[0],x=b[1],S===u&&h.key===C[v].base&&(S=X(Y(l)?l:i.min)),i.positiveValuesOnly&&q(S)&&S<=0&&(S=void 0),o.total=o.stackTotal=X(y.total),o.percentage=q(o.y)&&y.total?o.y/y.total*100:void 0,o.stackY=x,this.irregularWidths||y.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),o.yBottom=q(S)?_(i.translate(S,!1,!0,!1,!0)):void 0,this.dataModify&&(x=this.dataModify.modifyValue(x,f)),Y(x)&&o.plotX!==void 0?e=Y(e=i.translate(x,!1,!0,!1,!0))?_(e):void 0:!Y(x)&&d&&(e=d),o.plotY=e,o.isInside=this.isPointInside(o),o.clientX=c?Io(n.translate(v,!1,!1,!1,!0,s)):p,o.negative=(o.y||0)<(l||0),o.isNull||!1===o.visible||(m!==void 0&&(g=Math.min(g,Math.abs(p-m))),m=p),o.zone=this.zones.length?o.getZone():void 0,!o.graphic&&this.group&&r&&(o.isNew=!0)}this.closestPointRangePx=g,J(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&&!!Y(a))&&(!t||!!r.isInsidePlot(i,a,{inverted:r.inverted}))&&!1!==e.visible})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+`,`+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:e,group:t,markerGroup:n}=this,r=e.sharedClips,i=e.renderer,a=e.getClipBox(this),o=this.getSharedClipKey(),s=r[o];s?s.animate(a):r[o]=s=i.clipRect(a),t&&t.clip(!1===this.options.clip?void 0:s),n&&n.clip()}animate(e){let{chart:t,group:n,markerGroup:r}=this,i=t.inverted,a=To(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(),Xo(this.chart.sharedClips,(e,t,n)=>{e&&!this.chart.container.querySelector(`[clip-path="url(#${e.id})"]`)&&(e.destroy(),delete n[t])}),this.finishedAnimating=!0,J(this,`afterAnimate`)}drawPoints(e=this.points){let t,n,r,i,a,o,s,c=this.chart,l=c.styledMode,{colorAxis:u,options:d}=this,f=d.marker,p=d.nullInteraction,m=this[this.specialGroup||`markerGroup`],h=this.xAxis,g=X(f.enabled,!h||!!h.isRadial||null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(t=0;t<e.length;t++){i=(r=(n=e[t]).graphic)?`animate`:`attr`,a=n.marker||{},o=!!n.marker;let d=n.isNull;if((g&&!q(a.enabled)||a.enabled)&&(!d||p)&&!1!==n.visible){let e=X(a.symbol,this.symbol,`rect`);s=this.markerAttribs(n,n.selected&&`select`),this.enabledDataSorting&&(n.startXPos=h.reversed?-(s.width||0):h.width);let t=!1!==n.isInside;if(!r&&t&&((s.width||0)>0||n.hasImage)&&(n.graphic=r=c.renderer.symbol(e,s.x,s.y,s.width,s.height,o?a:f).add(m),this.enabledDataSorting&&c.hasRendered&&(r.attr({x:n.startXPos}),i=`animate`)),r&&i===`animate`&&r[t?`show`:`hide`](t).animate(s),r){let e=this.pointAttribs(n,l||!n.selected?void 0:`select`);l?u&&r.css({fill:e.fill}):r[i](e)}r&&r.addClass(n.getClassName(),!0)}else r&&(n.graphic=r.destroy())}}markerAttribs(e,t){let n=this.options,r=n.marker,i=e.marker||{},a=i.symbol||r.symbol,o={},s,c,l=X(i.radius,r?.radius);t&&(s=r.states[t],c=i.states&&i.states[t],l=X(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 Y(l)&&u&&(n.crisp&&(u[0]=Lo(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,u,d=this.color,f,p,m=X(a.lineWidth,r.lineWidth),h=e?.isNull&&n.nullInteraction?0:1;return d=o||c||s||d,f=a.fillColor||r.fillColor||d,p=a.lineColor||r.lineColor||d,t||=`normal`,l=r.states[t]||{},m=X((u=a.states&&a.states[t]||{}).lineWidth,l.lineWidth,m+X(u.lineWidthPlus,l.lineWidthPlus,0)),f=u.fillColor||l.fillColor||f,p=u.lineColor||l.lineColor||p,{stroke:p,"stroke-width":m,fill:f,opacity:h=X(u.opacity,l.opacity,h)}}destroy(e){let t,n,r=this,i=r.chart,a=/AppleWebKit\/533/.test(Ao.navigator.userAgent),o=r.data||[];for(J(r,`destroy`,{keepEventsForUpdate:e}),this.removeEvents(e),(r.axisTypes||[]).forEach(function(e){n=r[e],n?.series&&(Bo(n.series,r),n.isDirty=n.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),t=o.length;t--;)o[t]?.destroy?.();for(let e of r.zones)Ro(e,void 0,!0);M.clearTimeout(r.animationTimeout),Xo(r,function(e,t){e instanceof Cn&&!e.survive&&e[a&&t===`group`?`hide`:`destroy`]()}),i.hoverSeries===r&&(i.hoverSeries=void 0),Bo(i.series,r),i.orderItems(`series`),Xo(r,function(t,n){e&&n===`hcEvents`||delete r[n]})}applyZones(){let{area:e,chart:t,graph:n,zones:r,points:i,xAxis:a,yAxis:o,zoneAxis:s}=this,{inverted:c,renderer:l}=t,u=this[`${s}Axis`],{isXAxis:d,len:f=0,minPointOffset:p=0}=u||{},m=(n?.strokeWidth()||0)/2+1,h=(e,t=0,n=0)=>{c&&(n=f-n);let{translated:r=0,lineClip:i}=e,a=n-r;i?.push([`L`,t,Math.abs(a)<m?n-m*(a<=0?-1:1):r])};if(r.length&&(n||e)&&u&&Y(u.min)){let t=u.getExtremes().max+p,m=e=>{e.forEach((t,n)=>{(t[0]===`M`||t[0]===`L`)&&(e[n]=[t[0],d?f-t[1]:t[1],d?t[2]:f-t[2]])})};if(r.forEach(e=>{e.lineClip=[],e.translated=Fo(u.toPixels(X(e.value,t),!0)||0,0,f)}),n&&!this.showLine&&n.hide(),e&&e.hide(),s===`y`&&i.length<a.len)for(let e of i){let{plotX:t,plotY:n,zone:i}=e,a=i&&r[r.indexOf(i)-1];i&&h(i,t,n),a&&h(a,t,n)}let g=[],_=u.toPixels(u.getExtremes().min-p,!0);r.forEach(t=>{let r=t.lineClip||[],i=Math.round(t.translated||0);a.reversed&&r.reverse();let{clip:s,simpleClip:u}=t,f=0,p=0,h=a.len,v=o.len;d?(f=i,h=_):(p=i,v=_);let y=[[`M`,f,p],[`L`,h,p],[`L`,h,v],[`L`,f,v],[`Z`]],b=[y[0],...r,y[1],y[2],...g,y[3],y[4]];g=r.reverse(),_=i,c&&(m(b),e&&m(y)),s?(s.animate({d:b}),u?.animate({d:y})):(s=t.clip=l.path(b),e&&(u=t.simpleClip=l.path(y))),n&&t.graph?.clip(s),e&&t.area?.clip(u)})}else this.visible&&(n&&n.show(),e&&e.show())}plotGroup(e,t,n,r,i){let a=this[e],o=!a,s={visibility:n,zIndex:r||.1};return q(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 `+(q(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};J(this,`getPlotBox`,a);let{scale:o,translateX:s,translateY:c}=a;return{translateX:s,translateY:c,rotation:90*!!i,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||Zo(this),t.length&&=(t.forEach(e=>{e()}),0)}render(){let e=this,{chart:t,options:n,hasRendered:r}=e,i=To(n.animation),a=e.visible?`inherit`:`hidden`,o=n.zIndex,s=t.seriesGroup,c=e.finishedAnimating?0:i.duration;J(this,`render`),e.plotGroup(`group`,`series`,a,o,s),e.markerGroup=e.plotGroup(`markerGroup`,`markers`,a,o,s),!1!==n.clip&&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=Qo(()=>{e.afterAnimate()},c||0)),e.isDirty=!1,e.hasRendered=!0,J(e,`afterRender`)}redraw(){let e=this.isDirty||this.isDirtyData;this.translate(),this.render(),e&&delete this.kdTree}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;delete t.kdTree,Qo(function(){t.kdTree=function e(n,r,i){let a,o,s=n?.length;if(s)return a=t.kdAxisArray[r%i],n.sort((e,t)=>(e[a]||0)-(t[a]||0)),{point:n[o=Math.floor(s/2)],left:e(n.slice(0,o),r+1,i),right:e(n.slice(o+1),r+1,i)}}(t.getValidPoints(void 0,!t.directTouch,n?.nullInteraction),r,r),t.buildingKdTree=!1},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);if(this.kdTree||this.buildingKdTree||this.buildKDTree(n),this.kdTree)return function e(t,n,r,i){let l=n.point,p=a.kdAxisArray[r%i],m=l,h=!1;(function(e,t){let n=e[o],r=t[o],i=q(n)&&q(r)?n-r:null,a=e[s],c=t[s],l=q(a)&&q(c)?a-c:0,d=u&&t.marker?.radius||0;t.dist=Math.sqrt((i&&i*i||0)+l*l)-d,t.distX=q(i)?Math.abs(i)-d:Number.MAX_VALUE})(t,l);let g=(t[p]||0)-(l[p]||0)+(u&&l.marker?.radius||0),_=g<0?`left`:`right`,v=g<0?`right`:`left`;return n[_]&&([m,h]=d(l,e(t,n[_],r+1,i),c)),n[v]&&f(Math.sqrt(g*g),m[c],h)&&(m=d(m,e(t,n[v],r+1,i),c)[0]),m}(e,this.kdTree,l,l)}pointPlacementToXValue(){let{options:e,xAxis:t}=this,n=e.pointPlacement;return n===`between`&&(n=t.reversed?-.5:.5),Y(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,`+(ko?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)}),[e.tracker,e.markerGroup,e.dataLabelsGroup].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))})),J(this,`afterDrawTracker`)}addPoint(e,t,n,r,i){let a,o,s=this.options,{chart:c,data:l,dataTable:u,xAxis:d}=this,f=d?.hasNames&&d.names,p=s.data,m=this.getColumn(`x`);t=X(t,!0);let h={series:this};this.pointClass.prototype.applyOptions.apply(h,[e]);let g=h.x;if(o=m.length,this.requireSorting&&g<m[o-1])for(a=!0;o&&m[o-1]>g;)o--;u.setRow(h,o,!0,{addColumns:!1}),f&&h.name&&(f[g]=h.name),p?.splice(o,0,e),(a||this.processedData)&&(this.data.splice(o,0,null),this.processData()),s.legendType===`point`&&this.generatePoints(),n&&(l[0]&&l[0].remove?l[0].remove(!1):([l,p].filter(q).forEach(e=>{e.shift()}),u.deleteRows(0))),!1!==i&&J(this,`addPoint`,{point:h}),this.isDirty=!0,this.isDirtyData=!0,t&&c.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].filter(q).forEach(t=>{t.splice(e,1)}),s.deleteRows(e),c?.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&i.redraw()};Eo(n,i),t=X(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),X(e,!0)&&a.redraw(t)}!1===n?o():J(i,`remove`,null,o)}update(e,t){J(this,`update`,{options:e=zo(e,this.userOptions)});let n=this,r=n.chart,i=n.userOptions,a=n.initialType||n.type,o=r.options.plotOptions,s=jo[a].prototype,c=n.finishedAnimating&&{animation:!1},l={},u,d,f=$o.keepProps.slice(),p=e.type||i.type||r.options.chart.type,m=!(this.hasDerivedData||p&&p!==this.type||e.keys!==void 0||e.pointStart!==void 0||e.pointInterval!==void 0||e.relativeXValue!==void 0||e.joinBy||e.mapData||[`dataGrouping`,`pointStart`,`pointInterval`,`pointIntervalUnit`,`keys`].some(e=>n.hasOptionChanged(e)));p||=a,m?(f.push.apply(f,$o.keepPropsForPoints),!1!==e.visible&&f.push(`area`,`graph`),n.parallelArrays.forEach(function(e){f.push(e+`Data`)}),e.data&&(e.dataSorting&&Ho(n.options.dataSorting,e.dataSorting),this.setData(e.data,!1))):this.dataTable.modified=this.dataTable,e=Yo(i,{index:i.index===void 0?n.index:i.index,pointStart:o?.series?.pointStart??i.pointStart??n.getColumn(`x`)[0]},!m&&{data:n.options.data},e,c),m&&e.data&&(e.data=n.options.data),(f=[`group`,`markerGroup`,`dataLabelsGroup`,`transformGroup`].concat(f)).forEach(function(e){f[e]=n[e],delete n[e]});let h=!1;if(jo[p]){if(h=p!==n.type,n.remove(!1,!1,!1,!0),h)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(n,jo[p].prototype);else{let e=Object.hasOwnProperty.call(n,`hcEvents`)&&n.hcEvents;for(d in s)n[d]=void 0;Ho(n,jo[p].prototype),e?n.hcEvents=e:delete n.hcEvents}}else Vo(17,!0,r,{missingModuleFor:p});if(f.forEach(function(e){n[e]=f[e]}),n.init(r,e),m&&this.points)for(let e of(!1===(u=n.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(u,i)&&(l.graphic=1),n.hasDataLabels?.()||(l.dataLabel=1)),this.points))e?.series&&(e.resolveColor(),Object.keys(l).length&&e.destroyElements(l),!1===u.showInLegend&&e.legendItem&&r.legend.destroyItem(e));n.initialType=a,r.linkSeries(),r.setSortedData(),h&&n.linkedSeries.length&&(n.isDirtyData=!0),J(this,`afterUpdate`),X(t,!0)&&r.redraw(!!m&&void 0)}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=X(r?.[this.type]?.[e],r?.series?.[e]);return i&&!q(a)?n!==i:n!==X(a,n)}onMouseOver(){let e=this.chart,t=e.hoverSeries;e.pointer?.setHoverChartIndex(),t&&t!==this&&t.onMouseOut(),this.options.events.mouseOver&&J(this,`mouseOver`),this.setState(`hover`),e.hoverSeries=this}onMouseOut(){let e=this.options,t=this.chart,n=t.tooltip,r=t.hoverPoint;t.hoverSeries=null,r&&r.onMouseOut(),this&&e.events.mouseOut&&J(this,`mouseOut`),n&&!this.stickyTracking&&(!n.shared||this.noSharedTooltip)&&n.hide(),t.series.forEach(function(e){e.setState(``,!0)})}setState(e,t){let n=this,r=n.options,i=n.graph,a=r.inactiveOtherPoints,o=r.states,s=X(o[e||`normal`]&&o[e||`normal`].animation,n.chart.options.chart.animation),c=r.lineWidth,l=r.opacity;if(e||=``,n.state!==e&&([n.group,n.markerGroup,n.dataLabelsGroup].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]&&!1===o[e].enabled)return;if(e&&(c=o[e].lineWidth||c+(o[e].lineWidthPlus||0),l=X(o[e].opacity,l)),i&&!i.dashstyle&&Y(c))for(let e of[i,...this.zones.map(e=>e.graph)])e?.animate({"stroke-width":c},s);a||[n.group,n.markerGroup,n.dataLabelsGroup,n.labelBySeries].forEach(function(e){e&&e.animate({opacity:l},s)})}t&&a&&n.points&&n.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&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`,`dataLabelsGroup`,`markerGroup`,`tracker`,`tt`].forEach(e=>{n[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),J(n,o),!1!==t&&r.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(e){this.selected=e=this.options.selected=e===void 0?!this.selected:e,this.checkbox&&(this.checkbox.checked=e),J(this,e?`select`:`unselect`)}shouldShowTooltip(e,t,n={}){return n.series=this,n.visiblePlotOnly=!0,this.chart.isInsidePlot(e,t,n)}drawLegendSymbol(e,t){bo[this.options.legendSymbol||`rectangle`]?.call(this,e,t)}}$o.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:`#ffffff`,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:`#cccccc`,lineColor:`#000000`,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:`center`,borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:e}=this.series.chart;return typeof this.y==`number`?e(this.y,-1):``},padding:5,style:{fontSize:`0.7em`,fontWeight:`bold`,color:`contrast`,textOutline:`1px contrast`},verticalAlign:`bottom`,x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:`x`},$o.types=K.seriesTypes,$o.registerType=K.registerSeriesType,$o.keepProps=[`colorIndex`,`eventOptions`,`navigatorSeries`,`symbolIndex`,`baseSeries`],$o.keepPropsForPoints=[`data`,`isDirtyData`,`isDirtyCanvas`,`points`,`dataTable`,`processedData`,`xIncrement`,`cropped`,`_hasPointMarkers`,`hasDataLabels`,`nodes`,`layout`,`level`,`mapMap`,`mapData`,`minY`,`maxY`,`minX`,`maxX`,`transformGroups`],Ho($o.prototype,{axisTypes:[`xAxis`,`yAxis`],coll:`series`,colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:[`clientX`,`plotY`],parallelArrays:[`x`,`y`],pointClass:Ga,requireSorting:!0,sorted:!0}),K.series=$o;let Z=$o,{animObject:es,setAnimation:ts}=L,{registerEventOptions:ns}=Gr,{composed:rs,marginNames:is}=S,{distribute:as}=Ut,{format:os}=Lt,{addEvent:ss,createElement:cs,css:ls,defined:us,discardElement:ds,find:fs,fireEvent:ps,isNumber:ms,merge:hs,pick:gs,pushUnique:_s,relativeLength:vs,stableSort:ys,syncTimeout:bs}=M;class xs{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(),ns(this,t),ss(this.chart,`endResize`,function(){this.legend.positionCheckboxes()})),ss(this.chart,`render`,()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(e){let t=gs(e.padding,8);this.options=e,this.chart.styledMode||(this.itemStyle=e.itemStyle,this.itemHiddenStyle=hs(this.itemStyle,e.itemHiddenStyle)),this.itemMarginTop=e.itemMarginTop,this.itemMarginBottom=e.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=gs(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(hs(!0,this.options,e)),`events`in this.options&&ns(this,this.options),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,gs(t,!0)&&n.redraw(),ps(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 Ga)&&(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,fillOpacity:l,lineColor:u,marker:d}=e.options,f=e=>(!t&&(e.fill&&=i,e.stroke&&=i),e);a?.css(hs(t?this.itemStyle:n)),o?.attr(f({stroke:u||e.color})),s&&s.attr(f(d&&s.isMarker?e.pointAttribs():{fill:e.color})),r?.attr(f({fill:c||e.color,"fill-opacity":c?1:l??.75}))}e.color=n,ps(this,`afterColorizeItem`,{item:e,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(e){let{group:t,x:n=0,y:r=0}=e.legendItem||{},i=this.options,a=i.symbolPadding,o=!i.rtl,s=e.checkbox;if(t?.element){let i={translateX:o?n:this.legendWidth-n-2*a-4,translateY:r};t[us(t.translateY)?`animate`:`attr`](i,void 0,()=>{ps(this,`afterPositionItem`,{item:e})})}s&&(s.x=n,s.y=r)}destroyItem(e){let t=e.legendItem||{};for(let e of[`group`,`label`,`line`,`symbol`])t[e]&&(t[e]=t[e].destroy());e.checkbox=ds(e.checkbox),e.legendItem=void 0}destroy(){for(let e of this.getAllItems())this.destroyItem(e);for(let e of[`clipRect`,`up`,`down`,`pager`,`nav`,`box`,`title`,`group`])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let e,t=this.group?.alignAttr,n=this.clipHeight||this.legendHeight,r=this.titleHeight;t&&(e=t.translateY,this.allItems.forEach(function(i){let a,o=i.checkbox;o&&(a=e+r+o.y+(this.scrollOffset||0)+3,ls(o,{left:t.translateX+i.checkboxOffset+o.x-20+`px`,top:a+`px`,display:this.proximate||a>e-6&&a<e+n-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`}),i=(r=this.title.getBBox()).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?os(t.labelFormat,e,this.chart):t.labelFormatter.call(e)})}renderItem(e){let t=e.legendItem=e.legendItem||{},n=this.chart,r=n.renderer,i=this.options,a=i.layout===`horizontal`,o=this.symbolWidth,s=i.symbolPadding||0,c=this.itemStyle,l=this.itemHiddenStyle,u=a?gs(i.itemDistance,20):0,d=!i.rtl,f=!e.series,p=!f&&e.series.drawLegendSymbol?e.series:e,m=p.options,h=!!this.createCheckboxForItem&&m&&m.showCheckbox,g=i.useHTML,_=e.options.className,v=t.label,y=o+s+u+20*!!h;!v&&(t.group=r.g(`legend-item`).addClass(`highcharts-`+p.type+`-series highcharts-color-`+e.colorIndex+(_?` `+_:``)+(f?` highcharts-series-`+e.index:``)).attr({zIndex:1}).add(this.scrollGroup),t.label=v=r.text(``,d?o+s:-s,this.baseline||0,g),n.styledMode||v.css(hs(e.visible?c:l)),v.attr({align:d?`left`:`right`,zIndex:2}).add(t.group),!this.baseline&&(this.fontMetrics=r.fontMetrics(v),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,v.attr(`y`,this.baseline),this.symbolHeight=gs(i.symbolHeight,this.fontMetrics.f),i.squareSymbol&&(this.symbolWidth=gs(i.symbolWidth,Math.max(this.symbolHeight,16)),y=this.symbolWidth+s+u+20*!!h,d&&v.attr(`x`,this.symbolWidth+s))),p.drawLegendSymbol(this,e),this.setItemEvents&&this.setItemEvents(e,v,g)),h&&!e.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(e),this.colorizeItem(e,e.visible),(n.styledMode||!c.width)&&v.css({width:(i.itemWidth||this.widthOption||n.spacingBox.width)-y+`px`}),this.setText(e);let b=v.getBBox(),x=this.fontMetrics?.h||0;e.itemWidth=e.checkboxOffset=i.itemWidth||t.labelWidth||b.width+y,this.maxItemWidth=Math.max(this.maxItemWidth,e.itemWidth),this.totalItemWidth+=e.itemWidth,this.itemHeight=e.itemHeight=Math.round(t.labelHeight||(b.height>1.5*x?b.height:x))}layoutItem(e){let t=this.options,n=this.padding,r=t.layout===`horizontal`,i=e.itemHeight,a=this.itemMarginBottom,o=this.itemMarginTop,s=r?gs(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&&gs(n.showInLegend,!us(n.linkedTo)&&void 0,!0)&&(e=e.concat(t.legendItem?.labels||(n.legendType===`point`?t.data:t)))}),ps(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)/].forEach((a,o)=>{a.test(i)&&!us(e[o])&&(n[is[o]]=Math.max(n[is[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,t=this.chart,n=[],r=this.options.align===`left`;for(let i of(this.allItems.forEach(function(e){let i,a,o=r,s,c;e.yAxis&&(e.xAxis.options.reversed&&(o=!o),e.points&&(i=fs(o?e.points:e.points.slice(0).reverse(),function(e){return ms(e.plotY)})),a=this.itemMarginTop+e.legendItem.label.getBBox().height+this.itemMarginBottom,c=e.yAxis.top-t.plotTop,s=e.visible?(i?i.plotY:e.yAxis.height)+(c-.3*a):c+e.yAxis.height,n.push({target:s,size:a,item:e}))},this),as(n,t.plotHeight)))e=i.item.legendItem||{},ms(i.pos)&&(e.y=t.plotTop-t.spacing[0]+i.pos)}render(){let e=this.chart,t=e.renderer,n=this.options,r=this.padding,i=this.getAllItems(),a,o,s,c=this.group,l,u=this.box;this.itemX=r,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=vs(n.width,e.spacingBox.width-r),l=e.spacingBox.width-2*r-n.x,[`rm`,`lm`].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,c||(this.group=c=t.g(`legend`).addClass(n.className||``).attr({zIndex:7}).add(),this.contentGroup=t.g().attr({zIndex:1}).add(c),this.scrollGroup=t.g().add(this.contentGroup)),this.renderTitle(),ys(i,(e,t)=>(e.options?.legendIndex||0)-(t.options?.legendIndex||0)),n.reversed&&i.reverse(),this.allItems=i,this.display=a=!!i.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,i.forEach(this.renderItem,this),i.forEach(this.layoutItem,this),o=(this.widthOption||this.offsetWidth)+r,s=this.lastItemY+this.lastLineHeight+this.titleHeight,s=this.handleOverflow(s)+r,u||(this.box=u=t.rect().addClass(`highcharts-legend-box`).attr({r:n.borderRadius}).add(c)),e.styledMode||u.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||`none`}).shadow(n.shadow),o>0&&s>0&&u[u.placed?`animate`:`attr`](u.crisp.call({},{x:0,y:0,width:o,height:s},u.strokeWidth())),c[a?`show`:`hide`](),e.styledMode&&c.getStyle(`display`)===`none`&&(o=s=0),this.legendWidth=o,this.legendHeight=s,a&&this.align(),this.proximate||this.positionItems(),ps(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=hs(e,{y:r})),t.hasRendered||(this.group.placed=!1),this.group.align(hs(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=gs(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,1.3*d).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&&!1!==l.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-s,0),this.currentPage=gs(this.currentPage,1),this.fullHeight=e,p.forEach((e,t)=>{let n=(v=e.legendItem||{}).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,l=this.currentPage+e;l>i&&(l=i),l>0&&(t!==void 0&&ts(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:l===1?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})}),s.attr({text:l+`/`+i}),[this.down,this.downTracker].forEach(function(e){e.attr({x:18+this.pager.getBBox().width,class:l===i?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})},this),n.styledMode||(this.up.attr({fill:l===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:l===1?`default`:`pointer`}),this.down.attr({fill:l===i?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:l===i?`default`:`pointer`})),this.scrollOffset=-r[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),bs(()=>{ps(this,`afterScroll`,{currentPage:l})},es(gs(t,n.renderer.globalAnimation,!0)).duration))}setItemEvents(e,t,n){let r=this,i=e.legendItem||{},a=r.chart.renderer.boxWrapper,o=e instanceof Ga,s=e instanceof Z,c=`highcharts-legend-`+(o?`point`:`series`)+`-active`,l=r.chart.styledMode,u=n?[t,i.symbol]:[i.group],d=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&&d(`inactive`),e.setState(`hover`),e.visible&&a.addClass(c),l||t.css(r.options.itemHoverStyle)}).on(`mouseout`,function(){r.chart.styledMode||t.css(hs(e.visible?r.itemStyle:r.itemHiddenStyle)),d(``),a.removeClass(c),e.setState()}).on(`click`,function(t){a.removeClass(c),ps(r,`itemClick`,{browserEvent:t,legendItem:e},function(){e.setVisible&&e.setVisible(),d(e.visible?`inactive`:``)}),o?e.firePointEvent(`legendItemClick`,{browserEvent:t}):s&&ps(e,`legendItemClick`,{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=cs(`input`,{type:`checkbox`,className:`highcharts-legend-checkbox`,checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),ss(e.checkbox,`click`,function(t){let n=t.target;ps(e.series||e,`checkboxClick`,{checked:n.checked,item:e},function(){e.select()})})}}(function(e){e.compose=function(t){_s(rs,`Core.Legend`)&&ss(t,`beforeMargins`,function(){this.legend=new e(this,this.options.legend)})}})(xs||={});let Ss=xs,{animate:Cs,animObject:ws,setAnimation:Ts}=L,{defaultOptions:Es}=Be,{numberFormat:Ds}=Lt,{registerEventOptions:Os}=Gr,{charts:ks,doc:As,marginNames:js,svg:Ms,win:Ns}=S,{seriesTypes:Ps}=K,{addEvent:Fs,attr:Is,createElement:Ls,css:Rs,defined:zs,diffObjects:Bs,discardElement:Vs,erase:Hs,error:Us,extend:Ws,find:Gs,fireEvent:Q,getAlignFactor:Ks,getStyle:qs,isArray:Js,isNumber:Ys,isObject:Xs,isString:Zs,merge:Qs,objectEach:$s,pick:$,pInt:ec,relativeLength:tc,removeEvent:nc,splat:rc,syncTimeout:ic,uniqueKey:ac}=M;class oc{static chart(e,t,n){return new oc(e,t,n)}constructor(e,t,n){this.sharedClips={};let r=[...arguments];(Zs(e)||e.nodeName)&&(this.renderTo=r.shift()),this.init(r[0],r[1])}setZoomOptions(){let e=this.options.chart,t=e.zooming;this.zooming={...t,type:$(e.zoomType,t.type),key:$(e.zoomKey,t.key),pinchType:$(e.pinchType,t.pinchType),singleTouch:$(e.zoomBySingleTouch,t.singleTouch,!1),resetButton:Qs(t.resetButton,e.resetZoomButton)}}init(e,t){Q(this,`init`,{args:arguments},function(){let n=Qs(Es,e),r=n.chart,i=this.renderTo||r.renderTo;this.userOptions=Ws({},e),(this.renderTo=Zs(i)?As.getElementById(i):i)||Us(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],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 Pe(Ws(n.time||{},{locale:this.locale}),n.lang),n.time=this.time.options,this.numberFormatter=(r.numberFormatter||Ds).bind(this),this.styledMode=r.styledMode,this.hasCartesianSeries=r.showAxes,this.index=ks.length,ks.push(this),S.chartCount++,Os(this,r),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),Q(this,`afterInit`),this.firstRender()})}initSeries(e){let t=this.options.chart,n=e.type||t.type,r=Ps[n];r||Us(17,!0,this,{missingModuleFor:n});let i=new r;return typeof i.init==`function`&&i.init(this,e),i}setSortedData(){this.getSeriesOrderByLinks().forEach(function(e){e.points||e.data||!e.enabledDataSorting||e.setData(e.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(e,t){return e.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-e.linkedSeries.length:0})}orderItems(e,t=0){let n=this[e],r=this.options[e]=rc(this.options[e]).slice(),i=this.userOptions[e]=this.userOptions[e]?rc(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}=Qs(this.clipBox);return e&&(r&&r.len!==this.plotSizeX&&(s=r.len),i&&i.len!==this.plotSizeY&&(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 Q(this,`afterIsInsidePlot`,m),m.isInsidePlot}redraw(e){Q(this,`beforeRedraw`);let t=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,r=this.pointer,i=this.legend,a=this.userOptions.legend,o=this.renderer,s=o.isHidden(),c=[],l,u,d,f=this.isDirtyBox,p=this.isDirtyLegend,m;for(o.rootFontSize=o.boxWrapper.getStyle(`font-size`),this.setResponsive&&this.setResponsive(!1),Ts(!!this.hasRendered&&e,this),s&&this.temporaryDisplay(),this.layOutTitles(!1),d=n.length;d--;)if(((m=n[d]).options.stacking||m.options.centerInCategory)&&(u=!0,m.isDirty)){l=!0;break}if(l)for(d=n.length;d--;)(m=n[d]).options.stacking&&(m.isDirty=!0);n.forEach(function(e){e.isDirty&&(e.options.legendType===`point`?(typeof e.updateTotals==`function`&&e.updateTotals(),p=!0):a&&(a.labelFormatter||a.labelFormat)&&(p=!0)),e.isDirtyData&&Q(e,`updatedData`)}),p&&i&&i.options.enabled&&(i.render(),this.isDirtyLegend=!1),u&&this.getStacks(),t.forEach(function(e){e.updateNames(),e.setScale()}),this.getMargins(),t.forEach(function(e){e.isDirty&&(f=!0)}),t.forEach(function(e){let t=e.min+`,`+e.max;e.extKey!==t&&(e.extKey=t,c.push(function(){Q(e,`afterSetExtremes`,Ws(e.eventArgs,e.getExtremes())),delete e.eventArgs})),(f||u)&&e.redraw()}),f&&this.drawChartBox(),Q(this,`predraw`),n.forEach(function(e){(f||e.isDirty)&&e.visible&&e.redraw(),e.isDirtyData=!1}),r&&r.reset(!0),o.draw(),Q(this,`redraw`),Q(this,`render`),s&&this.temporaryDisplay(!0),c.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=Gs(this.axes,n)||Gs(this.series,n);for(let e=0;!r&&e<t.length;e++)r=Gs(t[e].points||[],n);return r}createAxes(){let e=this.userOptions;for(let t of(Q(this,`createAxes`),[`xAxis`,`yAxis`]))for(let n of e[t]=rc(e[t]||{}))new Ai(this,n,t);Q(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]=Qs(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:`highcharts-`+e,zIndex:r.zIndex||4}).css({textOverflow:`ellipsis`,whiteSpace:`nowrap`}).add()).update=function(t,r){n.applyDescription(e,t),n.layOutTitles(r)},this.styledMode||i.css(Ws(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:i}=this;[`title`,`subtitle`,`caption`].forEach(e=>{let n=this[e],a=this.options[e],o=Qs(i),s=n?.textPxLength||0;if(n&&a){Q(this,`layOutTitle`,{alignTo:o,key:e,textPxLength:s});let i=r.fontMetrics(n),c=i.b,l=i.h,u=a.verticalAlign||`top`,d=u===`top`,f=d&&a.minScale||1,p=e===`title`?d?-3:0:d?t[0]+2:0,m=Math.min(o.width/s,1),h=Math.max(f,m),g=Qs({y:u===`bottom`?c:p+c},{align:e===`title`?m<f?`left`:`center`:this.title?.alignValue},a),_=(a.width||(m>f?this.chartWidth:o.width)/h)+`px`;n.alignValue!==g.align&&(n.placed=!1);let v=Math.round(n.css({width:_}).getBBox(a.useHTML).height);if(g.height=v,n.align(g,!1,o).attr({align:g.align,scaleX:h,scaleY:h,"transform-origin":`${o.x+s*h*Ks(g.align)} ${l}`}),!a.floating){let e=v*(v<1.2*l?1:h);u===`top`?t[0]=Math.ceil(t[0]+e):u===`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 a=!this.titleOffset||this.titleOffset.join(`,`)!==t.join(`,`);this.titleOffset=t,Q(this,`afterLayOutTitles`),!this.isDirtyBox&&a&&(this.isDirtyBox=this.isDirtyLegend=a,this.hasRendered&&e&&this.isDirtyBox&&this.redraw())}getContainerBox(){let e=[].map.call(this.renderTo.children,e=>{if(e!==this.container){let t=e.style.display;return e.style.display=`none`,[e,t]}}),t={width:qs(this.renderTo,`width`,!0)||0,height:qs(this.renderTo,`height`,!0)||0};return e.filter(Boolean).forEach(([e,t])=>{e.style.display=t}),t}getChartSize(){let e=this.options.chart,t=e.width,n=e.height,r=this.getContainerBox(),i=r.height<=1||!this.renderTo.parentElement?.style.height&&this.renderTo.style.height===`100%`;this.chartWidth=Math.max(0,t||r.width||600),this.chartHeight=Math.max(0,tc(n,this.chartWidth)||(i?400:r.height)),this.containerBox=r}temporaryDisplay(e){let t=this.renderTo,n;if(e)for(;t?.style;)t.hcOrigStyle&&(Rs(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&=(As.body.removeChild(t),!1),t=t.parentNode;else for(;t?.style&&(As.body.contains(t)||t.parentNode||(t.hcOrigDetached=!0,As.body.appendChild(t)),(qs(t,`display`,!1)===`none`||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},n={display:`block`,overflow:`hidden`},t!==this.renderTo&&(n.height=0),Rs(t,n),t.offsetWidth||t.style.setProperty(`display`,`block`,`important`)),(t=t.parentNode)!==As.body););}setClassName(e){this.container.className=`highcharts-container `+(e||``)}getContainer(){let e,t=this.options,n=t.chart,r=`data-highcharts-chart`,i=ac(),a=this.renderTo,o=ec(Is(a,r));Ys(o)&&ks[o]&&ks[o].hasRendered&&ks[o].destroy(),Is(a,r,this.index),a.innerHTML=R.emptyHTML,n.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let s=this.chartHeight,c=this.chartWidth;Rs(a,{overflow:`hidden`}),this.styledMode||(e=Ws({position:`relative`,overflow:`hidden`,width:c+`px`,height:s+`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 l=Ls(`div`,{id:i},e,a);if(this.container=l,this.getChartSize(),c!==this.chartWidth&&(c=this.chartWidth,this.styledMode||Rs(l,{width:$(n.style?.width,c+`px`)})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor,this.renderer=new(n.renderer||!Ms?Rt.getRendererType(n.renderer):wr)(l,c,s,void 0,n.forExport,t.exporting?.allowHTML,this.styledMode),Ts(void 0,this),this.setClassName(n.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(n.style);this.renderer.chartIndex=this.index,Q(this,`afterGetContainer`)}getMargins(e){let{spacing:t,margin:n,titleOffset:r}=this;this.resetMargins(),r[0]&&!zs(n[0])&&(this.plotTop=Math.max(this.plotTop,r[0]+t[0])),r[2]&&!zs(n[2])&&(this.marginBottom=Math.max(this.marginBottom,r[2]+t[2])),this.legend?.display&&this.legend.adjustMargins(n,t),Q(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),js.forEach((n,i)=>{zs(r[i])||(e[n]+=t[i])}),e.setChartSize()}getOptions(){return Bs(this.userOptions,Es)}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)&&(M.clearTimeout(t.reflowTimeout),t.reflowTimeout=ic(function(){t.container&&t.setSize(void 0,void 0,!1)},100*!!e)),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=Fs(Ns,`resize`,t);Fs(this,`destroy`,e)}}setSize(e,t,n){let r=this,i=r.renderer;r.isResizing+=1,Ts(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?Cs:Rs)(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,Q(r,`resize`),setTimeout(()=>{r&&Q(r,`endResize`)},ws(a).duration)),--r.isResizing}setChartSize(e){let t,n,r,i,{chartHeight:a,chartWidth:o,inverted:s,spacing:c,renderer:l}=this,u=this.clipOffset,d=Math[s?`floor`:`round`];this.plotLeft=t=Math.round(this.plotLeft),this.plotTop=n=Math.round(this.plotTop),this.plotWidth=r=Math.max(0,Math.round(o-t-(this.marginRight??0))),this.plotHeight=i=Math.max(0,Math.round(a-n-(this.marginBottom??0))),this.plotSizeX=s?i:r,this.plotSizeY=s?r:i,this.spacingBox=l.spacingBox={x:c[3],y:c[0],width:o-c[3]-c[1],height:a-c[0]-c[2]},this.plotBox=l.plotBox={x:t,y:n,width:r,height:i},u&&(this.clipBox={x:d(u[3]),y:d(u[0]),width:d(this.plotSizeX-u[1]-u[3]),height:d(this.plotSizeY-u[0]-u[2])}),e||(this.axes.forEach(function(e){e.setAxisSize(),e.setAxisTranslation()}),l.alignElements()),Q(this,`afterSetChartSize`,{skipAxes:e})}resetMargins(){Q(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=Xs(r)?r:[r,r,r,r];[`Top`,`Right`,`Bottom`,`Left`].forEach((r,a)=>{e[n][a]=t[`${n}${r}`]??i[a]})}),js.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.options.chart,t=this.renderer,n=this.chartWidth,r=this.chartHeight,i=this.styledMode,a=this.plotBGImage,o=e.backgroundColor,s=e.plotBackgroundColor,c=e.plotBackgroundImage,l=this.plotLeft,u=this.plotTop,d=this.plotWidth,f=this.plotHeight,p=this.plotBox,m=this.clipRect,h=this.clipBox,g=this.chartBackground,_=this.plotBackground,v=this.plotBorder,y,b,x,S=`animate`;g||(this.chartBackground=g=t.rect().addClass(`highcharts-background`).add(),S=`attr`),i?y=b=g.strokeWidth():(b=(y=e.borderWidth||0)+8*!!e.shadow,x={fill:o||`none`},(y||g[`stroke-width`])&&(x.stroke=e.borderColor,x[`stroke-width`]=y),g.attr(x).shadow(e.shadow)),g[S]({x:b/2,y:b/2,width:n-b-y%2,height:r-b-y%2,r:e.borderRadius}),S=`animate`,_||(S=`attr`,this.plotBackground=_=t.rect().addClass(`highcharts-plot-background`).add()),_[S](p),!i&&(_.attr({fill:s||`none`}).shadow(e.plotShadow),c&&(a?(c!==a.attr(`href`)&&a.attr(`href`,c),a.animate(p)):this.plotBGImage=t.image(c,l,u,d,f).add())),m?m.animate({width:h.width,height:h.height}):this.clipRect=t.clipRect(h),S=`animate`,v||(S=`attr`,this.plotBorder=v=t.rect().addClass(`highcharts-plot-border`).attr({zIndex:1}).add()),i||v.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:`none`}),v[S](v.crisp(p,-v.strokeWidth())),this.isDirtyBox=!1,Q(this,`afterDrawChartBox`)}propFromSeries(){let e,t,n,r=this,i=r.options.chart,a=r.options.series;[`inverted`,`angular`,`polar`].forEach(function(o){for(t=Ps[i.type],n=i[o]||t&&t.prototype[o],e=a?.length;!n&&e--;)(t=Ps[a[e].type])&&t.prototype[o]&&(n=!0);r[o]=n})}linkSeries(e){let t=this,n=t.series;n.forEach(function(e){e.linkedSeries.length=0}),n.forEach(function(e){let{linkedTo:n}=e.options;if(Zs(n)){let r;(r=n===`:previous`?t.series[e.index-1]:t.get(n))&&r.linkedParent!==e&&(r.linkedSeries.push(e),e.linkedParent=r,r.enabledDataSorting&&e.setDataSortingOptions(),e.visible=$(e.options.visible,r.options.visible,e.visible))}}),Q(this,`afterLinkSeries`,{isUpdating:e})}renderSeries(){this.series.forEach(function(e){e.translate(),e.render()})}render(){let e=this.axes,t=this.colorAxis,n=this.renderer,r=this.options.chart.axisLayoutRuns||2,i=e=>{e.forEach(e=>{e.visible&&e.render()})},a=0,o=!0,s,c=0;for(let t of(this.setTitle(),Q(this,`beforeMargins`),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:n}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&n.enabled&&t.series.length&&t.coll!==`colorAxis`&&!this.polar){a=e.tickLength,t.createGroups();let r=new ii(t,0,``,!0),i=r.createLabel(`x`,n);if(r.destroy(),i&&$(n.reserveSpace,!Ys(e.crossing))&&(a=i.getBBox().height+n.distance+Math.max(e.offset||0,0)),a){i?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-a,0);(o||s||r>1)&&c<r;){let t=this.plotWidth,n=this.plotHeight;for(let t of e)c===0?t.setScale():(t.horiz&&o||!t.horiz&&s)&&t.setTickInterval(!0);c===0?this.getAxisMargins():this.getMargins(),o=t/this.plotWidth>(c?1:1.1),s=n/this.plotHeight>(c?1:1.05),c++}this.drawChartBox(),this.hasCartesianSeries?i(e):t?.length&&i(t),this.seriesGroup||=n.g(`series-group`).attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add(),this.dataLabelsGroup||=n.g(`datalabels-group`).attr({zIndex:6}).add(),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(e){let t=this,n=Qs(!0,this.options.credits,e);n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||``),0,0).addClass(`highcharts-credits`).on(`click`,function(){n.href&&(Ns.location.href=n.href)}).attr({align:n.position.align,zIndex:8}),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,t=this,n=t.axes,r=t.series,i=t.container,a=i?.parentNode;for(Q(t,`destroy`),t.renderer.forExport?Hs(ks,t):ks[t.index]=void 0,S.chartCount--,t.renderTo.removeAttribute(`data-highcharts-chart`),nc(t),e=n.length;e--;)n[e]=n[e].destroy();for(this.scroller?.destroy?.(),e=r.length;e--;)r[e]=r[e].destroy();[`title`,`subtitle`,`chartBackground`,`plotBackground`,`plotBGImage`,`plotBorder`,`seriesGroup`,`clipRect`,`credits`,`pointer`,`rangeSelector`,`legend`,`resetZoomButton`,`tooltip`,`renderer`].forEach(e=>{t[e]=t[e]?.destroy?.()}),i&&(i.innerHTML=R.emptyHTML,nc(i),a&&Vs(i)),$s(t,function(e,n){delete t[n]})}firstRender(){let e=this,t=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.createAxes();let n=Js(t.series)?t.series:[];t.series=[],n.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),Q(e,`beforeRender`),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||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),Q(this,`load`),Q(this,`render`),zs(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),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,`&lt;`)}),e.accessibility&&!1===e.accessibility.enabled||Us(`Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.`,!1,this))}addSeries(e,t,n){let r,i=this;return e&&(t=$(t,!0),Q(i,`addSeries`,{options:e},function(){r=i.initSeries(e),i.isDirtyLegend=!0,i.linkSeries(),r.enabledDataSorting&&r.setData(e.data,!1),Q(i,`afterAddSeries`,{series:r}),t&&i.redraw(n)})),r}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 Ai(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=function(){a&&Rs(a,{left:t.plotLeft+`px`,top:t.plotTop+`px`,width:t.plotWidth+`px`,height:t.plotHeight+`px`})},a=t.loadingDiv,o=t.loadingSpan;a||(t.loadingDiv=a=Ls(`div`,{className:`highcharts-loading highcharts-loading-hidden`},null,t.container)),o||(t.loadingSpan=o=Ls(`span`,{className:`highcharts-loading-inner`},null,a),Fs(t,`redraw`,i)),a.className=`highcharts-loading`,R.setElementHTML(o,$(e,n.lang.loading,``)),!t.styledMode&&(Rs(a,Ws(r.style,{zIndex:10})),Rs(o,r.labelStyle),t.loadingShown||(Rs(a,{opacity:0,display:``}),Cs(a,{opacity:r.style.opacity||.5},{duration:r.showDuration||0}))),t.loadingShown=!0,i()}hideLoading(){let e=this.options,t=this.loadingDiv;t&&(t.className=`highcharts-loading highcharts-loading-hidden`,this.styledMode||Cs(t,{opacity:0},{duration:e.loading.hideDuration||100,complete:function(){Rs(t,{display:`none`})}})),this.loadingShown=!1}update(e,t,n,r){let i,a,o,s=this,c={credits:`addCredits`,title:`setTitle`,subtitle:`setSubtitle`,caption:`setCaption`},l=e.isResponsiveOptions,u=[];Q(s,`update`,{options:e}),l||s.setResponsive(!1,!0),e=Bs(e,s.options),s.userOptions=Qs(s.userOptions,e);let d=e.chart;d&&(Qs(!0,s.options.chart,d),this.setZoomOptions(),`className`in d&&s.setClassName(d.className),(`inverted`in d||`polar`in d||`type`in d)&&(s.propFromSeries(),i=!0),`alignTicks`in d&&(i=!0),`events`in d&&Os(this,d),$s(d,function(e,t){s.propsRequireUpdateSeries.indexOf(`chart.`+t)!==-1&&(a=!0),s.propsRequireDirtyBox.indexOf(t)!==-1&&(s.isDirtyBox=!0),s.propsRequireReflow.indexOf(t)!==-1&&(s.isDirtyBox=!0,l||(o=!0))}),!s.styledMode&&d.style&&s.renderer.setStyle(s.options.chart.style||{})),!s.styledMode&&e.colors&&(this.options.colors=e.colors),$s(e,function(t,n){s[n]&&typeof s[n].update==`function`?s[n].update(t,!1):typeof s[c[n]]==`function`?s[c[n]](t):n!==`colors`&&s.collectionsWithUpdate.indexOf(n)===-1&&Qs(!0,s.options[n],e[n]),n!==`chart`&&s.propsRequireUpdateSeries.indexOf(n)!==-1&&(a=!0)}),this.collectionsWithUpdate.forEach(function(t){e[t]&&(rc(e[t]).forEach(function(e,r){let i,a=zs(e.id);a&&(i=s.get(e.id)),!i&&s[t]&&(i=s[t][$(e.index,r)])&&(a&&zs(i.options.id)||i.options.isInternal)&&(i=void 0),i&&i.coll===t&&(i.update(e,!1),n&&(i.touched=!0)),!i&&n&&s.collectionsWithInit[t]&&(s.collectionsWithInit[t][0].apply(s,[e].concat(s.collectionsWithInit[t][1]||[],[!1])).touched=!0)}),n&&s[t].forEach(function(e){e.touched||e.options.isInternal?delete e.touched:u.push(e)}))}),u.forEach(function(e){e.chart&&e.remove&&e.remove(!1)}),i&&s.axes.forEach(function(e){e.update({},!1)}),a&&s.getSeriesOrderByLinks().forEach(function(e){e.chart&&e.update({},!1)},this);let f=d?.width,p=d&&(Zs(d.height)?tc(d.height,f||s.chartWidth):d.height);o||Ys(f)&&f!==s.chartWidth||Ys(p)&&p!==s.chartHeight?s.setSize(f,p,r):$(t,!0)&&s.redraw(r),Q(s,`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=Es.lang,n=e.zooming.resetButton,r=n.theme,i=n.relativeTo===`chart`||n.relativeTo===`spacingBox`?null:`plotBox`;function a(){e.zoomOut()}Q(this,`beforeShowResetZoom`,null,function(){e.resetZoomButton=e.renderer.button(t.resetZoom,null,null,a,r).attr({align:n.position.align,title:t.resetZoomTitle}).addClass(`highcharts-reset-zoom`).add().align(n.position,!1,i)}),Q(this,`afterShowResetZoom`)}zoomOut(){Q(this,`selection`,{resetSelection:!0},()=>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),Q(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`}),Rs(n.container,{cursor:`move`})})}transform(e){let{axes:t=this.axes,event:n,from:r={},reset:i,selection:a,to:o={},trigger:s}=e,{inverted:c,time:l}=this;this.hoverPoints?.forEach(e=>e.setState()),Q(this,`transform`,e);let u=e.hasZoomed||!1,d,f;for(let e of t){let{horiz:t,len:p,minPointOffset:m=0,options:h,reversed:g}=e,_=t?`width`:`height`,v=t?`x`:`y`,y=$(o[_],e.len),b=$(r[_],e.len),x=10>Math.abs(y)?1:y/b,S=(r[v]||0)+b/2-e.pos,C=S-((o[v]??e.pos)+y/2-e.pos)/x,w=g&&!c||!g&&c?-1:1;if(!i&&(S<0||S>e.len))continue;let T=e.chart.polar||e.isOrdinal?0:m*w||0,E=e.toValue(C,!0),D=e.toValue(C+p/x,!0),O=E+T,k=D-T,A=e.allExtremes;if(a&&a[e.coll].push({axis:e,min:Math.min(E,D),max:Math.max(E,D)}),O>k&&([O,k]=[k,O]),x===1&&!i&&e.coll===`yAxis`&&!A){for(let t of e.series){let e=t.getExtremes(t.getProcessedData(!0).modified.getColumn(`y`)||[],!0);A??={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},Ys(e.dataMin)&&Ys(e.dataMax)&&(A.dataMin=Math.min(e.dataMin,A.dataMin),A.dataMax=Math.max(e.dataMax,A.dataMax))}e.allExtremes=A}let{dataMin:ee,dataMax:j,min:te,max:ne}=Ws(e.getExtremes(),A||{}),re=l.parse(h.min),ie=l.parse(h.max),ae=ee??re,oe=j??ie,se=k-O,ce=e.categories?0:Math.min(se,oe-ae),le=ae-ce*(zs(re)?0:h.minPadding),ue=oe+ce*(zs(ie)?0:h.maxPadding),de=e.allowZoomOutside||x===1||s!==`zoom`&&x>1,fe=Math.min(re??le,le,de?te:le),pe=Math.max(ie??ue,ue,de?ne:ue);(!e.isOrdinal||x!==1||i)&&(O<fe&&(O=fe,x>=1&&(k=O+se)),k>pe&&(k=pe,x>=1&&(O=k-se)),(i||e.series.length&&(O!==te||k!==ne)&&O>=fe&&k<=pe)&&(a?a[e.coll].push({axis:e,min:O,max:k}):(e.isPanning=s!==`zoom`,e.isPanning&&(f=!0),e.setExtremes(i?void 0:O,i?void 0:k,!1,!1,{move:C,trigger:s,scale:x}),!i&&(O>fe||k<pe)&&s!==`mousewheel`&&(d=!0)),u=!0),this.hasCartesianSeries||i||s===`mousewheel`||(d=!0),n&&(this[t?`mouseDownX`:`mouseDownY`]=n[t?`chartX`:`chartY`]))}return u&&(a?Q(this,`selection`,a,()=>{delete e.selection,e.trigger=`zoom`,this.transform(e)}):(!d||f||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(s===`zoom`&&(this.options.chart.animation??this.pointCount<100)))),u}}Ws(oc.prototype,{callbacks:[],collectionsWithInit:{xAxis:[oc.prototype.addAxis,[!0]],yAxis:[oc.prototype.addAxis,[!1]],series:[oc.prototype.addSeries]},collectionsWithUpdate:[`xAxis`,`yAxis`,`series`],propsRequireDirtyBox:[`backgroundColor`,`borderColor`,`borderWidth`,`borderRadius`,`plotBackgroundColor`,`plotBackgroundImage`,`plotBorderColor`,`plotBorderWidth`,`plotShadow`,`shadow`],propsRequireReflow:[`margin`,`marginTop`,`marginRight`,`marginBottom`,`marginLeft`,`spacing`,`spacingTop`,`spacingRight`,`spacingBottom`,`spacingLeft`],propsRequireUpdateSeries:[`chart.inverted`,`chart.polar`,`chart.ignoreHiddenSeries`,`chart.type`,`colors`,`plotOptions`,`time`,`tooltip`]});let{stop:sc}=L,{composed:cc}=S,{addEvent:lc,createElement:uc,css:dc,defined:fc,erase:pc,merge:mc,pushUnique:hc}=M;function gc(){let e=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!e&&(this.scrollablePlotArea=e=new vc(this)),e?.applyFixed()}function _c(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class vc{static compose(e,t,n){hc(cc,this.compose)&&(lc(e,`afterInit`,_c),lc(t,`afterSetChartSize`,e=>this.afterSetSize(e.target,e)),lc(t,`render`,gc),lc(n,`show`,_c))}static afterSetSize(e,t){let n,r,i,{minWidth:a,minHeight:o}=e.options.chart.scrollablePlotArea||{},{clipBox:s,plotBox:c,inverted:l,renderer:u}=e;if(!u.forExport)if(a?(e.scrollablePixelsX=n=Math.max(0,a-e.chartWidth),n&&(e.scrollablePlotBox=mc(e.plotBox),c.width=e.plotWidth+=n,s[l?`height`:`width`]+=n,i=!0)):o&&(e.scrollablePixelsY=r=Math.max(0,o-e.chartHeight),fc(r)&&(e.scrollablePlotBox=mc(e.plotBox),c.height=e.plotHeight+=r,s[l?`width`:`height`]+=r,i=!1)),fc(i)){if(!t.skipAxes)for(let t of e.axes)(t.horiz===i||e.hasParallelCoordinates&&t.coll===`yAxis`)&&(t.setAxisSize(),t.setAxisTranslation())}else delete e.scrollablePlotBox}constructor(e){let t,n=e.options.chart,r=Rt.getRendererType(),i=n.scrollablePlotArea||{},a=this.moveFixedElements.bind(this),o={WebkitOverflowScrolling:`touch`,overflowX:`hidden`,overflowY:`hidden`};e.scrollablePixelsX&&(o.overflowX=`auto`),e.scrollablePixelsY&&(o.overflowY=`auto`),this.chart=e;let s=this.scrollingContainer=uc(`div`,{className:`highcharts-scrolling`},o,this.parentDiv=uc(`div`,{className:`highcharts-scrolling-parent`},{position:`relative`},e.renderTo)),c=this.innerContainer=uc(`div`,{className:`highcharts-inner-container`},void 0,s),l=this.fixedDiv=uc(`div`,{className:`highcharts-fixed`},{position:`absolute`,overflow:`hidden`,pointerEvents:`none`,zIndex:(n.style?.zIndex||0)+2,top:0},void 0,!0);this.mask=(this.fixedRenderer=new r(l,e.chartWidth,e.chartHeight,n.style)).path().attr({fill:n.backgroundColor||`#fff`,"fill-opacity":i.opacity??.85,zIndex:-1}).addClass(`highcharts-scrollable-mask`).add(),s.parentNode.insertBefore(l,s),dc(e.renderTo,{overflow:`visible`}),lc(e,`afterShowResetZoom`,a),lc(e,`afterApplyDrilldown`,a),lc(e,`afterLayOutTitles`,a),lc(s,`scroll`,()=>{let{pointer:n,hoverPoint:r}=e;n&&(delete n.chartPosition,r&&(t=r),n.runPointActions(void 0,t,!0))}),c.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:t,isDirty:n,scrollingContainer:r}=this,{axisOffset:i,chartWidth:a,chartHeight:o,container:s,plotHeight:c,plotLeft:l,plotTop:u,plotWidth:d,scrollablePixelsX:f=0,scrollablePixelsY:p=0}=e,{scrollPositionX:m=0,scrollPositionY:h=0}=e.options.chart.scrollablePlotArea||{},g=a+f,_=o+p;t.setSize(a,o),(n??!0)&&(this.isDirty=!1,this.moveFixedElements()),sc(e.container),dc(s,{width:`${g}px`,height:`${_}px`}),e.renderer.boxWrapper.attr({width:g,height:_,viewBox:[0,0,g,_].join(` `)}),e.chartBackground?.attr({width:g,height:_}),dc(r,{width:`${a}px`,height:`${o}px`}),fc(n)||(r.scrollLeft=f*m,r.scrollTop=p*h);let v=u-i[0]-1,y=l-i[3]-1,b=u+c+i[2]+1,x=l+d+i[1]+1,S=l+d-f,C=u+c-p,w=[[`M`,0,0]];f?w=[[`M`,0,v],[`L`,l-1,v],[`L`,l-1,b],[`L`,0,b],[`Z`],[`M`,S,v],[`L`,a,v],[`L`,a,b],[`L`,S,b],[`Z`]]:p&&(w=[[`M`,y,0],[`L`,y,u-1],[`L`,x,u-1],[`L`,x,0],[`Z`],[`M`,y,C],[`L`,y,o],[`L`,x,o],[`L`,x,C],[`Z`]]),e.redrawTrigger!==`adjustHeight`&&this.mask.attr({d:w})}moveFixedElements(){let e,{container:t,inverted:n,scrollablePixelsX:r,scrollablePixelsY:i}=this.chart,a=this.fixedRenderer,o=vc.fixedSelectors;if(r&&!n?e=`.highcharts-yaxis`:r&&n||i&&!n?e=`.highcharts-xaxis`:i&&n&&(e=`.highcharts-yaxis`),e&&!(this.chart.hasParallelCoordinates&&e===`.highcharts-yaxis`))for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])hc(o,t);else for(let e of[`.highcharts-xaxis`,`.highcharts-yaxis`])for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])pc(o,t);for(let e of o)[].forEach.call(t.querySelectorAll(e),e=>{(e.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(e),e.style.pointerEvents=`auto`})}}vc.fixedSelectors=[`.highcharts-breadcrumbs-group`,`.highcharts-contextbutton`,`.highcharts-caption`,`.highcharts-credits`,`.highcharts-drillup-button`,`.highcharts-legend`,`.highcharts-legend-checkbox`,`.highcharts-navigator-series`,`.highcharts-navigator-xaxis`,`.highcharts-navigator-yaxis`,`.highcharts-navigator`,`.highcharts-range-selector-group`,`.highcharts-reset-zoom`,`.highcharts-scrollbar`,`.highcharts-subtitle`,`.highcharts-title`];let{format:yc}=Lt,{series:bc}=K,{destroyObjectProperties:xc,fireEvent:Sc,getAlignFactor:Cc,isNumber:wc,pick:Tc}=M,Ec=class{constructor(e,t,n,r,i){let a=e.chart.inverted,o=e.reversed;this.axis=e;let s=this.isNegative=!!n!=!!o;this.options=t||={},this.x=r,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=i,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(a?s?`left`:`right`:`center`),verticalAlign:t.verticalAlign||(a?`middle`:s?`bottom`:`top`),y:t.y,x:t.x},this.textAlign=t.textAlign||(a?s?`right`:`left`:`center`)}destroy(){xc(this,this.axis)}render(e){let t=this.axis.chart,n=this.options,r=n.format,i=r?yc(r,this,t):n.formatter.call(this);if(this.label)this.label.attr({text:i,visibility:`hidden`});else{this.label=t.renderer.label(i,null,void 0,n.shape,void 0,void 0,n.useHTML,!1,`stack-labels`);let r={r:n.borderRadius||0,text:i,padding:Tc(n.padding,5),visibility:`hidden`};t.styledMode||(r.fill=n.backgroundColor,r.stroke=n.borderColor,r[`stroke-width`]=n.borderWidth,this.label.css(n.style||{})),this.label.attr(r),this.label.added||this.label.add(e)}this.label.labelrank=t.plotSizeY,Sc(this,`afterRender`)}setOffset(e,t,n,r,i,a){let{alignOptions:o,axis:s,label:c,options:l,textAlign:u}=this,d=s.chart,f=this.getStackBox({xOffset:e,width:t,boxBottom:n,boxTop:r,defaultX:i,xAxis:a}),{verticalAlign:p}=o;if(c&&f){let e=c.getBBox(void 0,0),t=c.padding,n=Tc(l.overflow,`justify`)===`justify`,r;o.x=l.x||0,o.y=l.y||0;let{x:i,y:a}=this.adjustStackPosition({labelBox:e,verticalAlign:p,textAlign:u});f.x-=i,f.y-=a,c.align(o,!1,f),(r=d.isInsidePlot(c.alignAttr.x+o.x+i,c.alignAttr.y+o.y+a))||(n=!1),n&&bc.prototype.justifyDataLabel.call(s,c,o,c.alignAttr,e,f),c.attr({x:c.alignAttr.x,y:c.alignAttr.y,rotation:l.rotation,rotationOriginX:e.width*Cc(l.textAlign||`center`),rotationOriginY:e.height/2}),Tc(!n&&l.crop,!0)&&(r=wc(c.x)&&wc(c.y)&&d.isInsidePlot(c.x-t+(c.width||0),c.y)&&d.isInsidePlot(c.x+t,c.y)),c[r?`show`:`hide`]()}Sc(this,`afterSetOffset`,{xOffset:e,width:t})}adjustStackPosition({labelBox:e,verticalAlign:t,textAlign:n}){return{x:e.width/2+e.width/2*(2*Cc(n)-1),y:e.height/2*2*(1-Cc(t))}}getStackBox(e){let t=this.axis,n=t.chart,{boxTop:r,defaultX:i,xOffset:a,width:o,boxBottom:s}=e,c=t.stacking.usePercentage?100:Tc(r,this.total,0),l=t.toPixels(c),u=e.xAxis||n.xAxis[0],d=Tc(i,u.translate(this.x))+a,f=Math.abs(l-t.toPixels(s||wc(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),p=n.inverted,m=this.isNegative;return p?{x:(m?l:l-f)-n.plotLeft,y:u.height-d-o+u.top-n.plotTop,width:f,height:o}:{x:d+u.transB-n.plotLeft,y:(m?l-f:l)-n.plotTop,width:o,height:f}}},{getDeferredAnimation:Dc}=L,{series:{prototype:Oc}}=K,{addEvent:kc,correctFloat:Ac,defined:jc,destroyObjectProperties:Mc,fireEvent:Nc,isNumber:Pc,objectEach:Fc,pick:Ic}=M;function Lc(){let e=this.inverted;this.axes.forEach(e=>{e.stacking?.stacks&&e.hasVisibleSeries&&(e.stacking.oldStacks=e.stacking.stacks)}),this.series.forEach(t=>{let n=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,Ic(t.options.stack,``),e?n.top:n.left,e?n.height:n.width].join(`,`))})}function Rc(){let e=this.stacking;if(e){let t=e.stacks;Fc(t,(e,n)=>{Mc(e),delete t[n]}),e.stackTotalGroup?.destroy()}}function zc(){this.stacking||=new Gc(this)}function Bc(e,t,n,r){return!jc(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 Vc(){let e,t=this,n=t.yAxis,r=t.stackKey||``,i=n.stacking.stacks,a=t.getColumn(`x`,!0),o=t[t.options.stacking+`Stacker`];o&&[r,`-`+r].forEach(n=>{let r=a.length,s,c,l;for(;r--;)s=a[r],e=t.getStackIndicator(e,s,t.index,n),c=i[n]?.[s],(l=c?.points[e.key||``])&&o.call(t,l,c,r)})}function Hc(e,t,n){let r=t.total?100/t.total:0;e[0]=Ac(e[0]*r),e[1]=Ac(e[1]*r),this.stackedYData[n]=e[1]}function Uc(e){(this.is(`column`)||this.is(`columnrange`))&&(this.options.centerInCategory&&this.chart.series.length>1?Oc.setStackedPoints.call(this,e,`group`):e.stacking.resetStacks())}function Wc(e,t){let n,r,i,a,o,s,c,l=t||this.options.stacking;if(!l||!this.reserveSpace()||({group:`xAxis`}[l]||`yAxis`)!==e.coll)return;let u=this.getColumn(`x`,!0),d=this.getColumn(this.pointValKey||`y`,!0),f=[],p=d.length,m=this.options,h=m.threshold||0,g=m.startFromThreshold?h:0,_=m.stack,v=t?`${this.type},${l}`:this.stackKey||``,y=`-`+v,b=this.negStacks,x=e.stacking,S=x.stacks,C=x.oldStacks;for(x.stacksTouched+=1,c=0;c<p;c++){let t=u[c]||0,p=d[c],m=Pc(p)&&p||0;s=(n=this.getStackIndicator(n,t,this.index)).key||``,S[o=(r=b&&m<(g?0:h))?y:v]||(S[o]={}),S[o][t]||(C[o]?.[t]?(S[o][t]=C[o][t],S[o][t].total=null):S[o][t]=new Ec(e,e.options.stackLabels,!!r,t,_)),i=S[o][t],p===null?(delete i.points[s],delete i.points[this.index]):(i.points[s]=i.points[this.index]=[Ic(i.cumulative,g)],jc(i.cumulative)||(i.base=s),i.touched=x.stacksTouched,n.index>0&&!1===this.singleStacks&&(i.points[s][0]=i.points[this.index+`,`+t+`,0`][0]));let w=i.total||0;l===`percent`?(a=r?v:y,w=b&&S[a]?.[t]?(a=S[a][t]).total=Math.max(a.total||0,w)+Math.abs(m):Ac(w+Math.abs(m))):l===`group`?Pc(p)&&w++:w=Ac(w+m),l===`group`?i.cumulative=(w||1)-1:i.cumulative=Ac(Ic(i.cumulative,g)+m),i.total=w,p!==null&&(i.points[s].push(i.cumulative),f[c]=i.cumulative,i.hasValidPoints=!0)}l===`percent`&&(x.usePercentage=!0),l!==`group`&&(this.stackedYData=f),x.oldStacks={}}class Gc{constructor(e){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=e}buildStacks(){let e,t,n=this.axis,r=n.series,i=n.coll===`xAxis`,a=n.options.reversedStacks,o=r.length;for(this.resetStacks(),this.usePercentage=!1,t=o;t--;)e=r[a?t:o-t-1],i&&e.setGroupedPoints(n),e.setStackedPoints(n);if(!i)for(t=0;t<o;t++)r[t].modifyStacks();Nc(n,`afterBuildStacks`)}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,Fc(this.stacks,e=>{Fc(e,e=>{e.cumulative=e.total})}))}resetStacks(){Fc(this.stacks,e=>{Fc(e,(t,n)=>{Pc(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete e[n]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let e=this.axis,t=e.chart,n=t.renderer,r=this.stacks,i=Dc(t,e.options.stackLabels?.animation||!1),a=this.stackTotalGroup=this.stackTotalGroup||n.g(`stack-labels`).attr({zIndex:6,opacity:0}).add();a.translate(t.plotLeft,t.plotTop),Fc(r,e=>{Fc(e,e=>{e.render(a)})}),a.animate({opacity:1},i)}}(p||={}).compose=function(e,t,n){let r=t.prototype,i=n.prototype;r.getStacks||(kc(e,`init`,zc),kc(e,`destroy`,Rc),r.getStacks=Lc,i.getStackIndicator=Bc,i.modifyStacks=Vc,i.percentStacker=Hc,i.setGroupedPoints=Uc,i.setStackedPoints=Wc)};let Kc=p,{defined:qc,merge:Jc,isObject:Yc}=M;class Xc extends Z{drawGraph(){let e=this.options,t=(this.gappedPath||this.getGraphPath).call(this),n=this.chart.styledMode;[this,...this.zones].forEach((r,i)=>{let a,o=r.graph,s=o?`animate`:`attr`,c=r.dashStyle||e.dashStyle;o?(o.endX=this.preventGraphAnimation?null:t.xMap,o.animate({d:t})):t.length&&(r.graph=o=this.chart.renderer.path(t).addClass(`highcharts-graph`+(i?` highcharts-zone-graph-${i-1} `:` `)+(i&&r.className||``)).attr({zIndex:1}).add(this.group)),o&&!n&&(a={stroke:!i&&e.lineColor||r.color||this.color||`#cccccc`,"stroke-width":e.lineWidth||0,fill:this.fillGraph&&this.color||`none`},c?a.dashstyle=c:e.linecap!==`square`&&(a[`stroke-linecap`]=a[`stroke-linejoin`]=`round`),o[s](a).shadow(e.shadow&&Jc({filterUnits:`userSpaceOnUse`},Yc(e.shadow)?e.shadow:{}))),o&&(o.startX=t.xMap,o.isArea=t.isArea)})}getGraphPath(e,t,n){let r=this,i=r.options,a=[],o=[],s,c=i.step,l=(e||=r.points).reversed;return l&&e.reverse(),(c={right:1,center:2}[c]||c&&3)&&l&&(c=4-c),(e=this.getValidPoints(e,!1,i.nullInteraction||!(i.connectNulls&&!t&&!n))).forEach(function(l,u){let d,f=l.plotX,p=l.plotY,m=e[u-1],h=l.isNull||typeof p!=`number`;(l.leftCliff||m?.rightCliff)&&!n&&(s=!0),h&&!qc(t)&&u>0?s=!i.connectNulls:h&&!t?s=!0:(u===0||s?d=[[`M`,l.plotX,l.plotY]]:r.getPointSpline?d=[r.getPointSpline(e,l,u)]:c?(d=c===1?[[`L`,m.plotX,p]]:c===2?[[`L`,(m.plotX+f)/2,m.plotY],[`L`,(m.plotX+f)/2,p]]:[[`L`,f,m.plotY]]).push([`L`,f,p]):d=[[`L`,f,p]],o.push(l.x),c&&(o.push(l.x),c===2&&o.push(l.x)),a.push.apply(a,d),s=!1)}),a.xMap=o,r.graphPath=a,a}}Xc.defaultOptions=Jc(Z.defaultOptions,{legendSymbol:`lineMarker`}),K.registerSeriesType(`line`,Xc);let{seriesTypes:{line:Zc}}=K,{extend:Qc,merge:$c,objectEach:el,pick:tl}=M;class nl extends Zc{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)).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,n,r,i=Zc.prototype.getGraphPath,a=this.options,o=a.stacking,s=this.yAxis,c=[],l=[],u=this.index,d=s.stacking.stacks[this.stackKey],f=a.threshold,p=Math.round(s.getThreshold(a.threshold)),m=tl(a.connectNulls,o===`percent`),h=function(n,r,i){let a=e[n],m=o&&d[a.x].points[u],h=a[i+`Null`]||0,g=a[i+`Cliff`]||0,_,v,y=!0;g||h?(_=(h?m[0]:m[1])+g,v=m[0]+g,y=!!h):!o&&e[r]&&e[r].isNull&&(_=v=f),_!==void 0&&(l.push({plotX:t,plotY:_===null?p:s.getThreshold(_),isNull:y,isCliff:!0}),c.push({plotX:t,plotY:v===null?p:s.getThreshold(v),doCurve:!1}))};e||=this.points,o&&(e=this.getStackPoints(e));for(let i=0,a=e.length;i<a;++i)o||(e[i].leftCliff=e[i].rightCliff=e[i].leftNull=e[i].rightNull=void 0),n=e[i].isNull,t=tl(e[i].rectPlotX,e[i].plotX),r=o?tl(e[i].yBottom,p):p,(!n||m)&&(m||h(i,i-1,`left`),n&&!o&&m||(l.push(e[i]),c.push({x:i,plotX:t,plotY:r})),m||h(i,i+1,`right`));let g=i.call(this,l,!0,!0);c.reversed=!0;let _=i.call(this,c,!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=i.call(this,l,!1,m);return this.chart.series.length>1&&o&&l.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);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];el(o,function(e,t){e.total!==null&&r.push(t)}),r.sort(function(e,t){return e-t});let f=c.map(e=>e.visible);r.forEach(function(e,p){let m=0,h,g;if(s[e]&&!s[e].isNull)n.push(s[e]),[-1,1].forEach(function(n){let i=n===1?`rightNull`:`leftNull`,a=o[r[p+n]],m=0;if(a){let n=d;for(;n>=0&&n<l;){let r=c[n].index;!(h=a.points[r])&&(r===t.index?s[e][i]=!0:f[n]&&(g=o[e].points[r])&&(m-=g[1]-g[0])),n+=u}}s[e][n===1?`rightCliff`:`leftCliff`]=m});else{let t=d;for(;t>=0&&t<l;){let n=c[t].index;if(h=o[e].points[n]){m=h[1];break}t+=u}m=tl(m,0),m=a.translate(m,0,1,0,1),n.push({isNull:!0,plotX:i.translate(e,0,0,0,1),x:e,plotY:m,yBottom:m})}})}return n}}nl.defaultOptions=$c(Zc.defaultOptions,{threshold:0,legendSymbol:`areaMarker`}),Qc(nl.prototype,{singleStacks:!1}),K.registerSeriesType(`area`,nl);let{line:rl}=K.seriesTypes,{merge:il,pick:al}=M;class ol extends rl{getPointSpline(e,t,n){let r,i,a,o,s=t.plotX||0,c=t.plotY||0,l=e[n-1],u=e[n+1];function d(e){return e&&!e.isNull&&!1!==e.doCurve&&!t.isCliff}if(d(l)&&d(u)){let e=l.plotX||0,n=l.plotY||0,d=u.plotX||0,f=u.plotY||0,p=0;r=(1.5*s+e)/2.5,i=(1.5*c+n)/2.5,a=(1.5*s+d)/2.5,o=(1.5*c+f)/2.5,a!==r&&(p=(o-i)*(a-s)/(a-r)+c-o),i+=p,o+=p,i>n&&i>c?(i=Math.max(n,c),o=2*c-i):i<n&&i<c&&(i=Math.min(n,c),o=2*c-i),o>f&&o>c?(o=Math.max(f,c),i=2*c-o):o<f&&o<c&&(o=Math.min(f,c),i=2*c-o),t.rightContX=a,t.rightContY=o,t.controlPoints={low:[r,i],high:[a,o]}}let f=[`C`,al(l.rightContX,l.plotX,0),al(l.rightContY,l.plotY,0),al(r,s,0),al(i,c,0),s,c];return l.rightContX=l.rightContY=void 0,f}}ol.defaultOptions=il(rl.defaultOptions),K.registerSeriesType(`spline`,ol);let sl=ol,{area:cl,area:{prototype:ll}}=K.seriesTypes,{extend:ul,merge:dl}=M;class fl extends sl{}fl.defaultOptions=dl(sl.defaultOptions,cl.defaultOptions),ul(fl.prototype,{getGraphPath:ll.getGraphPath,getStackPoints:ll.getStackPoints,drawGraph:ll.drawGraph}),K.registerSeriesType(`areaspline`,fl);let{animObject:pl}=L,{parse:ml}=F,{noop:hl}=S,{clamp:gl,crisp:_l,defined:vl,extend:yl,fireEvent:bl,isArray:xl,isNumber:Sl,merge:Cl,pick:wl,objectEach:Tl}=M;class El extends Z{animate(e){let t,n,r=this,i=this.yAxis,a=i.pos,o=i.reversed,s=r.options,{clipOffset:c,inverted:l}=this.chart,u={},d=l?`translateX`:`translateY`;e&&c?(u.scaleY=.001,n=gl(i.toPixels(s.threshold||0),a,a+i.len),l?u.translateX=(n+=o?-Math.floor(c[0]):Math.ceil(c[2]))-i.len:u.translateY=n+=o?Math.ceil(c[0]):-Math.floor(c[2]),r.clipBox&&r.setClip(),r.group.attr(u)):(t=Number(r.group.attr(d)),r.group.animate({scaleY:1},yl(pl(r.options.animation),{step:function(e,n){r.group&&(u[d]=t+n.pos*(a-t),r.group.attr(u))}})))}init(e,t){super.init.apply(this,arguments);let n=this;(e=n.chart).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;!1===t.grouping?c=1:e.chart.series.forEach(function(t){let n,i=t.yAxis,a=t.options;t.type===e.type&&t.reserveSpace()&&r.len===i.len&&r.pos===i.pos&&(a.stacking&&a.stacking!==`group`?(o[s=t.stackKey]===void 0&&(o[s]=c++),n=o[s]):!1!==a.grouping&&(n=c++),t.columnIndex=n)});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,wl(t.pointWidth,d*(1-2*t.pointPadding))),p=(e.columnIndex||0)+ +!!a;return e.columnMetrics={width:f,offset:(d-f)/2+(u+p*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;return r=_l(t+r,i,a)-(t=_l(t,i,a)),this.options.crisp&&(n=_l(e+n,i)-(e=_l(e,i))),{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;Tl(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&&xl(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(vl(r)){if(Sl(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=wl(n.borderWidth,+!r),a=e.xAxis,o=e.yAxis,s=n.threshold,c=wl(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),h=e.barW=Math.max(u,1+2*i);n.pointPadding&&n.crisp&&(h=Math.ceil(h)),Z.prototype.translate.apply(e),e.points.forEach(function(r){let i=wl(r.yBottom,m),g=999+Math.abs(i),_=r.plotX||0,v=gl(r.plotY,-g,o.len+g),y,b=Math.min(v,i),x=Math.max(v,i)-b,S=u,C=_+d,w=h;c&&Math.abs(x)<c&&(x=c,y=!o.reversed&&!r.negative||o.reversed&&r.negative,Sl(s)&&Sl(p)&&r.y===s&&p<=s&&(o.min||0)<s&&(f!==p||(o.max||0)<=s)&&(y=!y,r.negative=!r.negative),b=Math.abs(b-m)>c?i-c:m-(y?c:0)),vl(r.options.pointWidth)&&(C-=Math.round(((S=w=Math.ceil(r.options.pointWidth))-u)/2)),n.centerInCategory&&(C=e.adjustForMissingColumns(C,S,r,l)),r.barX=C,r.pointWidth=S,r.tooltipPos=t.inverted?[gl(o.len+o.pos-t.plotLeft-v,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),a.len+a.pos-t.plotTop-C-w/2,x]:[a.left-t.plotLeft+C+w/2,gl(v+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),x],r.shapeType=e.pointClass.prototype.shapeType||`roundedRect`,r.shapeArgs=e.crispCol(C,b,w,r.isNull?0:x)}),bl(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&&e.color||this.color,u=e&&e[i]||n[i]||l,d=e&&e.options.dashStyle||n.dashStyle,f=e&&e[a]||n[a]||this[a]||0,p=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,d=s.dashStyle||d,f=s.borderWidth||f)),t&&e&&(c=(o=Cl(n.states[t],e.options.states&&e.options.states[t]||{})).brightness,l=o.color||c!==void 0&&ml(l).brighten(o.brightness).get()||l,u=o[i]||u,f=o[a]||f,d=o.dashStyle||d,p=wl(o.opacity,p));let m={fill:l,stroke:u,"stroke-width":f,opacity:p};return d&&(m.dashstyle=d),m}drawPoints(e=this.points){let t,n=this,r=this.chart,i=n.options,a=i.nullInteraction,o=r.renderer,s=i.animationLimit||250;e.forEach(function(e){let c=e.plotY,l=e.graphic,u=!!l,d=l&&r.pointCount<s?`animate`:`attr`;Sl(c)&&(e.y!==null||a)?(t=e.shapeArgs,l&&e.hasNewShapeType()&&(l=l.destroy()),n.enabledDataSorting&&(e.startXPos=n.xAxis.reversed?-(t&&t.width||0):n.xAxis.width),!l&&(e.graphic=l=o[e.shapeType](t).add(e.group||n.group),l&&n.enabledDataSorting&&r.hasRendered&&r.pointCount<s&&(l.attr({x:e.startXPos}),u=!0,d=`animate`)),l&&u&&l[d](Cl(t)),r.styledMode||l[d](n.pointAttribs(e,e.selected&&`select`)).shadow(!1!==e.allowShadow&&i.shadow),l&&(l.addClass(e.getClassName(),!0),l.attr({visibility:e.visible?`inherit`:`hidden`}))):l&&(e.graphic=l.destroy())})}drawTracker(e=this.points){let t,n=this,r=n.chart,i=r.pointer,a=function(e){i?.normalize(e);let t=i?.getPointFromEvent(e);i&&t&&n.options.enableMouseTracking&&(r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop,{visiblePlotOnly:!0})||i?.inClass(e.target,`highcharts-data-label`))&&(i.isDirectTouch=!0,t.onMouseOver(e))};e.forEach(function(e){t=xl(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){(t.div||t.element).point=e})}),n._hasTracking||=(n.trackerGroups.forEach(function(e){n[e]&&(n[e].addClass(`highcharts-tracker`).on(`mouseover`,a).on(`mouseout`,function(e){i?.onTrackerMouseOut(e)}).on(`touchstart`,a),!r.styledMode&&n.options.cursor&&n[e].css({cursor:n.options.cursor}))}),!0),bl(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)}}El.defaultOptions=Cl(Z.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:`#cccccc`,borderColor:`#000000`}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:`#ffffff`}),yl(El.prototype,{directTouch:!0,getSymbol:hl,negStacks:!0,trackerGroups:[`group`,`dataLabelsGroup`]}),K.registerSeriesType(`column`,El);let Dl=El,{getDeferredAnimation:Ol}=L,{format:kl}=Lt,{defined:Al,extend:jl,fireEvent:Ml,getAlignFactor:Nl,isArray:Pl,isString:Fl,merge:Il,objectEach:Ll,pick:Rl,pInt:zl,splat:Bl}=M;(function(e){function t(){return c(this).some(e=>e?.enabled)}function n(e,t,n,r,i){let{chart:a,enabledDataSorting:o}=this,s=this.isCartesian&&a.inverted,c=e.plotX,l=e.plotY,u=n.rotation||0,d=Al(c)&&Al(l)&&a.isInsidePlot(c,Math.round(l),{inverted:s,paneCoordinates:!0,series:this}),f=u===0&&Rl(n.overflow,o?`none`:`justify`)===`justify`,p=this.visible&&!1!==e.visible&&Al(c)&&(e.series.forceDL||o&&!f||d||Rl(n.inside,!!this.options.stacking)&&r&&a.isInsidePlot(c,s?r.x+1:r.y+r.height-1,{inverted:s,paneCoordinates:!0,series:this})),m=e.pos();if(p&&m){var h;let c=t.getBBox(),l=t.getBBox(void 0,0);if(r=jl({x:m[0],y:Math.round(m[1]),width:0,height:0},r||{}),n.alignTo===`plotEdges`&&this.isCartesian&&(r[s?`x`:`y`]=0,r[s?`width`:`height`]=this.yAxis?.len||0),jl(n,{width:c.width,height:c.height}),h=r,o&&this.xAxis&&!f&&this.setDataLabelStartPos(e,t,i,d,h),t.align(Il(n,{width:l.width,height:l.height}),!1,r,!1),t.alignAttr.x+=Nl(n.align)*(l.width-c.width),t.alignAttr.y+=Nl(n.verticalAlign)*(l.height-c.height),t[t.placed?`animate`:`attr`]({"text-align":t.alignAttr[`text-align`]||`center`,x:t.alignAttr.x+(c.width-l.width)/2,y:t.alignAttr.y+(c.height-l.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),f&&r.height>=0)this.justifyDataLabel(t,n,t.alignAttr,c,r,i);else if(Rl(n.crop,!0)){let{x:e,y:n}=t.alignAttr;p=a.isInsidePlot(e,n,{paneCoordinates:!0,series:this})&&a.isInsidePlot(e+c.width-1,n+c.height-1,{paneCoordinates:!0,series:this})}n.shape&&!u&&t[i?`attr`:`animate`]({anchorX:m[0],anchorY:m[1]})}i&&o&&(t.placed=!1),p||o&&!f?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function r(){return this.plotGroup(`dataLabelsGroup`,`data-labels`,this.hasRendered?`inherit`:`hidden`,this.options.dataLabels.zIndex||6,this.chart.dataLabelsGroup)}function i(e){let t=this.hasRendered||0,n=this.initDataLabelsGroup().attr({opacity:+t});return!t&&n&&(this.visible&&n.show(),this.options.animation?n.animate({opacity:1},e):n.attr({opacity:1})),n}function a(e){let t;e||=this.points;let n=this,r=n.chart,i=n.options,a=r.renderer,{backgroundColor:o,plotBackgroundColor:l}=r.options.chart,u=a.getContrast(Fl(l)&&l||Fl(o)&&o||`#000000`),d=c(n),{animation:f,defer:p}=d[0],m=p?Ol(r,f,n):{defer:0,duration:0};Ml(this,`drawDataLabels`),n.hasDataLabels?.()&&(t=this.initDataLabels(m),e.forEach(e=>{let o=e.dataLabels||[],c=e.color||n.color;Bl(s(d,e.dlOptions||e.options?.dataLabels)).forEach((s,l)=>{let d=s.enabled&&(e.visible||e.dataLabelOnHidden)&&(!e.isNull||e.dataLabelOnNull)&&function(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||!1}return!0}(e,s),{backgroundColor:f,borderColor:p,distance:m,style:h={}}=s,g,_,v,y={},b=o[l],x=!b,S;d&&(_=Al(g=Rl(s[e.formatPrefix+`Format`],s.format))?kl(g,e,r):(s[e.formatPrefix+`Formatter`]||s.formatter).call(e,s),v=s.rotation,!r.styledMode&&(h.color=Rl(s.color,h.color,Fl(n.color)?n.color:void 0,`#000000`),h.color===`contrast`?(f!==`none`&&(S=f),e.contrastColor=a.getContrast(S!==`auto`&&Fl(S)&&S||(Fl(c)?c:``)),h.color=S||!Al(m)&&s.inside||0>zl(m||0)||i.stacking?e.contrastColor:u):delete e.contrastColor,i.cursor&&(h.cursor=i.cursor)),y={r:s.borderRadius||0,rotation:v,padding:s.padding,zIndex:1},r.styledMode||(y.fill=f===`auto`?e.color:f,y.stroke=p===`auto`?e.color:p,y[`stroke-width`]=s.borderWidth),Ll(y,(e,t)=>{e===void 0&&delete y[t]})),!b||d&&Al(_)&&!!(b.div||b.text?.foreignObject)==!!s.useHTML&&(b.rotation&&s.rotation||b.rotation===s.rotation)||(b=void 0,x=!0),d&&Al(_)&&_!==``&&(b?y.text=_:(b=a.label(_,0,0,s.shape,void 0,void 0,s.useHTML,void 0,`data-label`)).addClass(` highcharts-data-label-color-`+e.colorIndex+` `+(s.className||``)+(s.useHTML?` highcharts-tracker`:``)),b&&(b.options=s,b.attr(y),r.styledMode?h.width&&b.css({width:h.width,textOverflow:h.textOverflow,whiteSpace:h.whiteSpace}):b.css(h).shadow(s.shadow),Ml(b,`beforeAddingDataLabel`,{labelOptions:s,point:e}),b.added||b.add(t),n.alignDataLabel(e,b,s,void 0,x),b.isActive=!0,o[l]&&o[l]!==b&&o[l].destroy(),o[l]=b))});let l=o.length;for(;l--;)o[l]?.isActive?o[l].isActive=!1:(o[l]?.destroy(),o.splice(l,1));e.dataLabel=o[0],e.dataLabels=o})),Ml(this,`afterDrawDataLabels`)}function o(e,t,n,r,i,a){let o=this.chart,s=t.align,c=t.verticalAlign,l=e.box?0:e.padding||0,u=o.inverted?this.yAxis:this.xAxis,d=u?u.left-o.plotLeft:0,f=o.inverted?this.xAxis:this.yAxis,p=f?f.top-o.plotTop:0,{x:m=0,y:h=0}=t,g,_;return(g=(n.x||0)+l+d)<0&&(s===`right`&&m>=0?(t.align=`left`,t.inside=!0):m-=g,_=!0),(g=(n.x||0)+r.width-l+d)>o.plotWidth&&(s===`left`&&m<=0?(t.align=`right`,t.inside=!0):m+=o.plotWidth-g,_=!0),(g=n.y+l+p)<0&&(c===`bottom`&&h>=0?(t.verticalAlign=`top`,t.inside=!0):h-=g,_=!0),(g=(n.y||0)+r.height-l+p)>o.plotHeight&&(c===`top`&&h<=0?(t.verticalAlign=`bottom`,t.inside=!0):h+=o.plotHeight-g,_=!0),_&&(t.x=m,t.y=h,e.placed=!a,e.align(t,void 0,i)),_}function s(e,t){let n=[],r;if(Pl(e)&&!Pl(t))n=e.map(function(e){return Il(e,t)});else if(Pl(t)&&!Pl(e))n=t.map(function(t){return Il(e,t)});else if(Pl(e)||Pl(t)){if(Pl(e)&&Pl(t))for(r=Math.max(e.length,t.length);r--;)n[r]=Il(e[r],t[r])}else n=Il(e,t);return n}function c(e){let t=e.chart.options.plotOptions;return Bl(s(s(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}function l(e,t,n,r,i){let a=this.chart,o=a.inverted,s=this.xAxis,c=s.reversed,l=((o?t.height:t.width)||0)/2,u=e.pointWidth,d=u?u/2:0;t.startXPos=o?i.x:c?-l-d:s.width-l+d,t.startYPos=o?c?this.yAxis.height-l+d:-l-d:i.y,r?t.visibility===`hidden`&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide),a.hasRendered&&(n&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}e.compose=function(e){let c=e.prototype;c.initDataLabels||(c.initDataLabels=i,c.initDataLabelsGroup=r,c.alignDataLabel=n,c.drawDataLabels=a,c.justifyDataLabel=o,c.mergeArrays=s,c.setDataLabelStartPos=l,c.hasDataLabels=t)}})(m||={});let Vl=m,{composed:Hl}=S,{series:Ul}=K,{merge:Wl,pushUnique:Gl}=M;(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,d=e.below??(e.plotY||0)>(this.translatedThreshold??l),f=n.inside??!!o.stacking;if(u){if(r=Wl(u),n.overflow!==`allow`||!1!==n.crop||!1!==o.clip){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}),f||(s?(r.x+=d?0:r.width,r.width=0):(r.y+=d?r.height:0,r.height=0))}n.align??=!s||f?`center`:d?`right`:`left`,n.verticalAlign??=s||f?`middle`:d?`top`:`bottom`,Ul.prototype.alignDataLabel.call(this,e,t,n,r,i),n.inside&&e.contrastColor&&t.css({color:e.contrastColor})}e.compose=function(e){Vl.compose(Ul),Gl(Hl,`ColumnDataLabel`)&&(e.prototype.alignDataLabel=t)}})(h||={});let Kl=h,{extend:ql,merge:Jl}=M;class Yl extends Dl{}Yl.defaultOptions=Jl(Dl.defaultOptions,{}),ql(Yl.prototype,{inverted:!0}),K.registerSeriesType(`bar`,Yl);let{column:Xl,line:Zl}=K.seriesTypes,{addEvent:Ql,extend:$l,merge:eu}=M;class tu extends Zl{applyJitter(){let e=this,t=this.options.jitter,n=this.points.length;t&&this.points.forEach(function(r,i){[`x`,`y`].forEach(function(a,o){if(t[a]&&!r.isNull){let s=`plot${a.toUpperCase()}`,c=e[`${a}Axis`],l=t[a]*c.transA;if(c&&!c.logarithmic){let e=Math.max(0,(r[s]||0)-l);r[s]=e+(Math.min(c.len,(r[s]||0)+l)-e)*function(e){let t=1e4*Math.sin(e);return t-Math.floor(t)}(i+o*n),a===`x`&&(r.clientX=r.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&=this.graph.destroy()}}tu.defaultOptions=eu(Zl.defaultOptions,{lineWidth:0,findNearestPointBy:`xy`,jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:`<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>`,pointFormat:`x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>`}}),$l(tu.prototype,{drawTracker:Xl.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:[`group`,`markerGroup`,`dataLabelsGroup`]}),Ql(tu,`afterTranslate`,function(){this.applyJitter()}),K.registerSeriesType(`scatter`,tu);let{deg2rad:nu}=S,{fireEvent:ru,isNumber:iu,pick:au,relativeLength:ou}=M;(function(e){e.getCenter=function(){let e=this.options,t=this.chart,n=2*(e.slicedOffset||0),r=t.plotWidth-2*n,i=t.plotHeight-2*n,a=e.center,o=Math.min(r,i),s=e.thickness,c,l=e.size,u=e.innerSize||0,d,f;typeof l==`string`&&(l=parseFloat(l)),typeof u==`string`&&(u=parseFloat(u));let p=[au(a?.[0],`50%`),au(a?.[1],`50%`),au(l&&l<0?void 0:e.size,`100%`),au(u&&u<0?void 0:e.innerSize||0,`0%`)];for(!t.angular||this instanceof Z||(p[3]=0),d=0;d<4;++d)f=p[d],c=d<2||d===2&&/%$/.test(f),p[d]=ou(f,[r,i,o,p[2]][d])+(c?n:0);return p[3]>p[2]&&(p[3]=p[2]),iu(s)&&2*s<p[2]&&s>0&&(p[3]=p[2]-2*s),ru(this,`afterGetCenter`,{positions:p}),p},e.getStartAndEndRadians=function(e,t){let n=iu(e)?e:0,r=iu(t)&&t>n&&t-n<360?t:n+360;return{start:nu*(n+-90),end:nu*(r+-90)}}})(g||={});let su=g,{setAnimation:cu}=L,{addEvent:lu,defined:uu,extend:du,isNumber:fu,pick:pu,relativeLength:mu}=M;class hu extends Ga{getConnectorPath(e){let t=e.dataLabelPosition,n=e.options||{},r=n.connectorShape,i=this.connectorShapes[r]||r;return t&&i.call(this,{...t.computed,alignment:t.alignment},t.connectorPosition,n)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(e){let t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+e,t.r+e,{innerR:t.r-1,start:t.start,end:t.end,borderRadius:t.borderRadius})}constructor(e,t,n){super(e,t,n),this.half=0,this.name??=e.chart.options.lang.pieSliceName;let r=e=>{this.slice(e.type===`select`)};lu(this,`select`,r),lu(this,`unselect`,r)}isValid(){return fu(this.y)&&this.y>=0}setVisible(e,t=!0){e!==this.visible&&this.update({visible:e??!this.visible},t,void 0,!1)}slice(e,t,n){let r=this.series;cu(n,r.chart),t=pu(t,!0),this.sliced=this.options.sliced=e=uu(e)?e:!this.sliced,r.options.data[r.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}du(hu.prototype,{connectorShapes:{fixedOffset:function(e,t,n){let r=t.breakAt,i=t.touchingSliceAt,a=n.softConnector?[`C`,e.x+(e.alignment===`left`?-5:5),e.y,2*r.x-i.x,2*r.y-i.y,r.x,r.y]:[`L`,r.x,r.y];return[[`M`,e.x,e.y],a,[`L`,i.x,i.y]]},straight:function(e,t){let n=t.touchingSliceAt;return[[`M`,e.x,e.y],[`L`,n.x,n.y]]},crookedLine:function(e,t,n){let{angle:r=this.angle||0,breakAt:i,touchingSliceAt:a}=t,{series:o}=this,[s,c,l]=o.center,u=l/2,{plotLeft:d,plotWidth:f}=o.chart,p=e.alignment===`left`,{x:m,y:h}=e,g=i.x;if(n.crookDistance){let e=mu(n.crookDistance,1);g=p?s+u+(f+d-s-u)*(1-e):d+(s-u)*e}else g=s+(c-h)*Math.tan(r-Math.PI/2);let _=[[`M`,m,h]];return(p?g<=m&&g>=i.x:g>=m&&g<=i.x)&&_.push([`L`,g,h]),_.push([`L`,i.x,i.y],[`L`,a.x,a.y]),_}}});let{getStartAndEndRadians:gu}=su,{noop:_u}=S,{clamp:vu,extend:yu,fireEvent:bu,merge:xu,pick:Su}=M;class Cu extends Z{animate(e){let t=this,n=t.points,r=t.startAngleRad;e||n.forEach(function(e){let n=e.graphic,i=e.shapeArgs;n&&i&&(n.attr({r:Su(e.startR,t.center&&t.center[3]/2),start:r,end:r}),n.animate({r:i.r,start:i.start,end:i.end},t.options.animation))})}drawEmpty(){let e,t,n=this.startAngleRad,r=this.endAngleRad,i=this.options;this.total===0&&this.center?(e=this.center[0],t=this.center[1],this.graph||=this.chart.renderer.arc(e,t,this.center[1]/2,0,n,r).addClass(`highcharts-empty-series`).add(this.group),this.graph.attr({d:Rn.arc(e,t,this.center[2]/2,0,{start:n,end:r,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||`none`,stroke:i.color||`#cccccc`})):this.graph&&=this.graph.destroy()}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(e,t,n,r){let i=this.center,a=this.radii?this.radii[n.index]||0:i[2]/2,o=r.dataLabelPosition?.distance||0,s=Math.asin(vu((e-i[1])/(a+o),-1,1));return i[0]+Math.cos(s)*(a+o)*(t?-1:1)+(o>0?(t?-1:1)*(r.padding||0):0)}hasData(){return this.points.some(e=>e.visible)}redrawPoints(){let e,t,n,r,i=this,a=i.chart;this.drawEmpty(),i.group&&!a.styledMode&&i.group.shadow(i.options.shadow),i.points.forEach(function(o){let s={};t=o.graphic,!o.isNull&&t?(r=o.shapeArgs,e=o.getTranslate(),a.styledMode||(n=i.pointAttribs(o,o.selected&&`select`)),o.delayedRendering?(t.setRadialReference(i.center).attr(r).attr(e),a.styledMode||t.attr(n).attr({"stroke-linejoin":`round`}),o.delayedRendering=!1):(t.setRadialReference(i.center),a.styledMode||xu(!0,s,n),xu(!0,s,r,e),t.animate(s)),t.attr({visibility:o.visible?`inherit`:`hidden`}),t.addClass(o.getClassName(),!0)):t&&(o.graphic=t.destroy())})}sortByAngle(e,t){e.sort(function(e,n){return e.angle!==void 0&&(n.angle-e.angle)*t})}translate(e){bu(this,`translate`),this.generatePoints();let t=this.options,n=t.slicedOffset,r=gu(t.startAngle,t.endAngle),i=this.startAngleRad=r.start,a=(this.endAngleRad=r.end)-i,o=this.points,s=t.ignoreHiddenPoint,c=o.length,l,u,d,f,p,m,h,g=0;for(e||(this.center=e=this.getCenter()),m=0;m<c;m++){h=o[m],l=i+g*a,h.isValid()&&(!s||h.visible)&&(g+=h.percentage/100),u=i+g*a;let t={x:e[0],y:e[1],r:e[2]/2,innerR:e[3]/2,start:Math.round(1e3*l)/1e3,end:Math.round(1e3*u)/1e3};h.shapeType=`arc`,h.shapeArgs=t,(d=(u+l)/2)>1.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI),h.slicedTranslation={translateX:Math.round(Math.cos(d)*n),translateY:Math.round(Math.sin(d)*n)},f=Math.cos(d)*e[2]/2,p=Math.sin(d)*e[2]/2,h.tooltipPos=[e[0]+.7*f,e[1]+.7*p],h.half=+(d<-Math.PI/2||d>Math.PI/2),h.angle=d}bu(this,`afterTranslate`)}updateTotals(){let e=this.points,t=e.length,n=this.options.ignoreHiddenPoint,r,i,a=0;for(r=0;r<t;r++)(i=e[r]).isValid()&&(!n||i.visible)&&(a+=i.y);for(r=0,this.total=a;r<t;r++)(i=e[r]).percentage=a>0&&(i.visible||!n)?i.y/a*100:0,i.total=a}}Cu.defaultOptions=xu(Z.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:`crookedLine`,crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:`point`,marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:`#ffffff`,borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),yu(Cu.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:Dl.prototype.drawTracker,getCenter:su.getCenter,getSymbol:_u,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Dl.prototype.pointAttribs,pointClass:hu,requireSorting:!1,searchPoint:_u,trackerGroups:[`group`,`dataLabelsGroup`]}),K.registerSeriesType(`pie`,Cu);let{composed:wu,noop:Tu}=S,{distribute:Eu}=Ut,{series:Du}=K,{arrayMax:Ou,clamp:ku,defined:Au,isNumber:ju,pick:Mu,pushUnique:Nu,relativeLength:Pu}=M;(function(e){let t={radialDistributionY:function(e,t){return(t.dataLabelPosition?.top||0)+e.distributeBox.pos},radialDistributionX:function(e,t,n,r,i){let a=i.dataLabelPosition;return e.getX(n<(a?.top||0)+2||n>(a?.bottom||0)-2?r:n,t.half,t,i)},justify:function(e,t,n,r){return r[0]+(e.half?-1:1)*(n+(t.dataLabelPosition?.distance||0))},alignToPlotEdges:function(e,t,n,r){let i=e.getBBox().width;return t?i+r:n-i-r},alignToConnectors:function(e,t,n,r){let i=0,a;return e.forEach(function(e){(a=e.dataLabel.getBBox().width)>i&&(i=a)}),t?i+r:n-i-r}};function n(e,t){let n=Math.PI/2,{start:r=0,end:i=0}=e.shapeArgs||{},a=e.angle||0;t>0&&r<n&&i>n&&a>n/2&&a<1.5*n&&(a=a<=n?Math.max(n/2,(r+n)/2):Math.min(1.5*n,(n+i)/2));let{center:o,options:s}=this,c=o[2]/2,l=Math.cos(a),u=Math.sin(a),d=o[0]+l*c,f=o[1]+u*c,p=Math.min((s.slicedOffset||0)+(s.borderWidth||0),t/5);return{natural:{x:d+l*t,y:f+u*t},computed:{},alignment:t<0?`center`:e.half?`right`:`left`,connectorPosition:{angle:a,breakAt:{x:d+l*p,y:f+u*p},touchingSliceAt:{x:d,y:f}},distance:t}}function r(){let e=this,t=e.points,n=e.chart,r=n.plotWidth,i=n.plotHeight,a=n.plotLeft,o=Math.round(n.chartWidth/3),s=e.center,c=s[2]/2,l=s[1],u=[[],[]],d=[0,0,0,0],f=e.dataLabelPositioners,p,m,h,g=0;e.visible&&e.hasDataLabels?.()&&(t.forEach(e=>{(e.dataLabels||[]).forEach(e=>{e.shortened&&=(e.attr({width:`auto`}).css({width:`auto`,textOverflow:`clip`}),!1)})}),Du.prototype.drawDataLabels.apply(e),t.forEach(e=>{(e.dataLabels||[]).forEach((t,n)=>{let r=s[2]/2,i=t.options,a=Pu(i?.distance||0,r);n===0&&u[e.half].push(e),!Au(i?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+`px`}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(e,a),g=Math.max(g,a)})}),u.forEach((t,o)=>{let u=t.length,p=[],_,v,y=0,b;u&&(e.sortByAngle(t,o-.5),g>0&&(_=Math.max(0,l-c-g),v=Math.min(l+c+g,n.plotHeight),t.forEach(e=>{(e.dataLabels||[]).forEach(t=>{let r=t.dataLabelPosition;r&&r.distance>0&&(r.top=Math.max(0,l-c-r.distance),r.bottom=Math.min(l+c+r.distance,n.plotHeight),y=t.getBBox().height||21,t.lineHeight=n.renderer.fontMetrics(t.text||t).h+2*t.padding,e.distributeBox={target:(t.dataLabelPosition?.natural.y||0)-r.top+t.lineHeight/2,size:y,rank:e.y},p.push(e.distributeBox))})}),Eu(p,b=v+y-_,b/5)),t.forEach(n=>{(n.dataLabels||[]).forEach(l=>{let u=l.options||{},g=n.distributeBox,_=l.dataLabelPosition,v=_?.natural.y||0,y=u.connectorPadding||0,b=l.lineHeight||21,x=(b-l.getBBox().height)/2,S=0,C=v,w=`inherit`;if(_){if(p&&Au(g)&&_.distance>0&&(g.pos===void 0?w=`hidden`:(h=g.size,C=f.radialDistributionY(n,l))),u.justify)S=f.justify(n,l,c,s);else switch(u.alignTo){case`connectors`:S=f.alignToConnectors(t,o,r,a);break;case`plotEdges`:S=f.alignToPlotEdges(l,o,r,a);break;default:S=f.radialDistributionX(e,n,C-x,v,l)}if(_.attribs={visibility:w,align:_.alignment},_.posAttribs={x:S+(u.x||0)+({left:y,right:-y}[_.alignment]||0),y:C+(u.y||0)-b/2},_.computed.x=S,_.computed.y=C-x,Mu(u.crop,!0)){let e;S-(m=l.getBBox().width)<y&&o===1?(e=Math.round(m-S+y),d[3]=Math.max(e,d[3])):S+m>r-y&&o===0&&(e=Math.round(S+m-r+y),d[1]=Math.max(e,d[1])),C-h/2<0?d[0]=Math.max(Math.round(-C+h/2),d[0]):C+h/2>i&&(d[2]=Math.max(Math.round(C+h/2-i),d[2])),_.sideOverflow=e}}})}))}),(Ou(d)===0||this.verifyDataLabelOverflow(d))&&(this.placeDataLabels(),this.points.forEach(t=>{(t.dataLabels||[]).forEach(r=>{let{connectorColor:i,connectorWidth:a=1}=r.options||{},o=r.dataLabelPosition;if(ju(a)){let s;p=r.connector,o&&o.distance>0?(s=!p,p||(r.connector=p=n.renderer.path().addClass(`highcharts-data-label-connector highcharts-color-`+t.colorIndex+(t.className?` `+t.className:``)).add(e.dataLabelsGroup)),n.styledMode||p.attr({"stroke-width":a,stroke:i||t.color||`#666666`}),p[s?`attr`:`animate`]({d:t.getConnectorPath(r)}),p.attr({visibility:o.attribs?.visibility})):p&&(r.connector=p.destroy())}})})))}function i(){this.points.forEach(e=>{(e.dataLabels||[]).forEach(e=>{let t=e.dataLabelPosition;t?(t.sideOverflow&&(e.css({width:Math.max(e.getBBox().width-t.sideOverflow,0)+`px`,textOverflow:e.options?.style?.textOverflow||`ellipsis`}),e.shortened=!0),e.attr(t.attribs),e[e.moved?`animate`:`attr`](t.posAttribs),e.moved=!0):e&&e.attr({y:-9999})}),delete e.distributeBox},this)}function a(e){let t=this.center,n=this.options,r=n.center,i=n.minSize||80,a=i,o=n.size!==null;return!o&&(r[0]===null?(a=Math.max(t[2]-e[1]-e[3],i),t[0]+=(e[3]-e[1])/2):a=Math.max(t[2]-Math.max(e[1],e[3]),i),r[1]===null?(a=ku(a,i,t[2]-e[0]-e[2]),t[1]+=(e[0]-e[2])/2):a=ku(a,i,t[2]-Math.max(e[0],e[2])),a<t[2]?(t[2]=a,t[3]=Math.min(n.thickness?Math.max(0,a-2*n.thickness):Math.max(0,Pu(n.innerSize||0,a)),a),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):o=!0),o}e.compose=function(e){if(Vl.compose(Du),Nu(wu,`PieDataLabel`)){let o=e.prototype;o.dataLabelPositioners=t,o.alignDataLabel=Tu,o.drawDataLabels=r,o.getDataLabelPosition=n,o.placeDataLabels=i,o.verifyDataLabelOverflow=a}}})(_||={});let Fu=_;(function(e){e.getCenterOfPoints=function(e){let t=e.reduce((e,t)=>(e.x+=t.x,e.y+=t.y,e),{x:0,y:0});return{x:t.x/e.length,y:t.y/e.length}},e.getDistanceBetweenPoints=function(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)},e.getAngleBetweenPoints=function(e,t){return Math.atan2(t.x-e.x,t.y-e.y)},e.pointInPolygon=function({x:e,y:t},n){let r=n.length,i,a,o=!1;for(i=0,a=r-1;i<r;a=i++){let[r,s]=n[i],[c,l]=n[a];s>t!=l>t&&e<(c-r)*(t-s)/(l-s)+r&&(o=!o)}return o}})(v||={});let{pointInPolygon:Iu}=v,{addEvent:Lu,getAlignFactor:Ru,fireEvent:zu,objectEach:Bu,pick:Vu}=M;function Hu(e){let t=e.length,n=(e,t)=>!(t.x>=e.x+e.width||t.x+t.width<=e.x||t.y>=e.y+e.height||t.y+t.height<=e.y),r=(e,t)=>{for(let n of e)if(Iu({x:n[0],y:n[1]},t))return!0;return!1},i,a,o,s,c,l=!1;for(let n=0;n<t;n++)(i=e[n])&&(i.oldOpacity=i.opacity,i.newOpacity=1,i.absoluteBox=function(e){if(e&&(!e.alignAttr||e.placed)){let t=e.box?0:e.padding||0,n=e.alignAttr||{x:e.attr(`x`),y:e.attr(`y`)},{height:r,polygon:i,width:a}=e.getBBox(),o=Ru(e.alignValue)*a;return e.width=a,e.height=r,{x:n.x+(e.parentGroup?.translateX||0)+t-o,y:n.y+(e.parentGroup?.translateY||0)+t,width:a-2*t,height:r-2*t,polygon:i}}}(i));e.sort((e,t)=>(t.labelrank||0)-(e.labelrank||0));for(let i=0;i<t;++i){s=(a=e[i])&&a.absoluteBox;let l=s?.polygon;for(let u=i+1;u<t;++u){c=(o=e[u])&&o.absoluteBox;let t=!1;if(s&&c&&a!==o&&a.newOpacity!==0&&o.newOpacity!==0&&a.visibility!==`hidden`&&o.visibility!==`hidden`){let e=c.polygon;if(l&&e&&l!==e?r(l,e)&&(t=!0):n(s,c)&&(t=!0),t){let e=a.labelrank<o.labelrank?a:o,t=e.text;e.newOpacity=0,t?.element.querySelector(`textPath`)&&t.hide()}}}}for(let t of e)Uu(t,this)&&(l=!0);l&&zu(this,`afterHideAllOverlappingLabels`)}function Uu(e,t){let n,r=!1;return e&&(n=e.newOpacity,e.oldOpacity!==n&&(e.hasClass(`highcharts-data-label`)?(e[n?`removeClass`:`addClass`](`highcharts-data-label-hidden`),r=!0,e[e.isOld?`animate`:`attr`]({opacity:n},void 0,function(){t.styledMode||e.css({pointerEvents:n?`auto`:`none`})}),zu(t,`afterHideOverlappingLabel`)):e.attr({opacity:n})),e.isOld=!0),r}function Wu(){let e=this,t=[];for(let n of e.labelCollectors||[])t=t.concat(n());for(let n of e.yAxis||[])n.stacking&&n.options.stackLabels&&!n.options.stackLabels.allowOverlap&&Bu(n.stacking.stacks,e=>{Bu(e,e=>{e.label&&t.push(e.label)})});for(let n of e.series||[])if(n.visible&&n.hasDataLabels?.()){let r=n=>{for(let r of n)r.visible&&(r.dataLabels||[]).forEach(n=>{let i=n.options||{};n.labelrank=Vu(i.labelrank,r.labelrank,r.shapeArgs?.height),i.allowOverlap??Number(i.distance)>0?(n.oldOpacity=n.opacity,n.newOpacity=1,Uu(n,e)):t.push(n)})};r(n.nodes||[]),r(n.points)}this.hideOverlappingLabels(t)}let Gu={compose:function(e){let t=e.prototype;t.hideOverlappingLabels||(t.hideOverlappingLabels=Hu,Lu(e,`render`,Wu))}},{defaultOptions:Ku}=Be,{noop:qu}=S,{addEvent:Ju,extend:Yu,isObject:Xu,merge:Zu,relativeLength:Qu}=M,$u={radius:0,scope:`stack`,where:void 0},ed=qu,td=qu;function nd(e,t,n,r,i={}){let a=ed(e,t,n,r,i),{brStart:o=!0,brEnd:s=!0,innerR:c=0,r:l=n,start:u=0,end:d=0}=i;if(i.open||!i.borderRadius)return a;let f=d-u,p=Math.sin(f/2),m=Math.max(Math.min(Qu(i.borderRadius||0,l-c),(l-c)/2,l*p/(1+p)),0),h=Math.min(m,f/Math.PI*2*c),g=a.length-1;for(;g--;)(o||g!==0&&g!==3)&&(s||g!==1&&g!==2)&&function(e,t,n){let r,i,a,o=e[t],s=e[t+1];if(s[0]===`Z`&&(s=e[0]),(o[0]===`M`||o[0]===`L`)&&s[0]===`A`?(r=o,i=s,a=!0):o[0]===`A`&&(s[0]===`M`||s[0]===`L`)&&(r=s,i=o),r&&i&&i.params){let o=i[1],s=i[5],c=i.params,{start:l,end:u,cx:d,cy:f}=c,p=s?o-n:o+n,m=p?Math.asin(n/p):0,h=s?m:-m,g=Math.cos(m)*p;a?(c.start=l+h,r[1]=d+g*Math.cos(l),r[2]=f+g*Math.sin(l),e.splice(t+1,0,[`A`,n,n,0,0,1,d+o*Math.cos(c.start),f+o*Math.sin(c.start)])):(c.end=u-h,i[6]=d+o*Math.cos(c.end),i[7]=f+o*Math.sin(c.end),e.splice(t+1,0,[`A`,n,n,0,0,1,d+g*Math.cos(u),f+g*Math.sin(u)])),i[4]=Math.abs(c.end-c.start)<Math.PI?0:1}}(a,g,g>1?h:m);return a}function rd(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:e,yAxis:t}=this,n=e.stacking===`percent`,r=Ku.plotOptions?.[this.type]?.borderRadius,i=id(e.borderRadius,Xu(r)?r:{}),a=t.options.reversed;for(let r of this.points){let{shapeArgs:o}=r;if(r.shapeType===`roundedRect`&&o){let{width:s=0,height:c=0,y:l=0}=o,u=l,d=c;if(i.scope===`stack`&&r.stackTotal){let i=t.translate(n?100:r.stackTotal,!1,!0,!1,!0),a=t.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(i,a),0,Math.abs(i-a));u=o.y,d=o.height}let f=(r.negative?-1:1)*(a?-1:1)==-1,p=i.where;!p&&this.is(`waterfall`)&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(p=`all`),p||=`end`;let m=Math.min(Qu(i.radius,s),s/2,p===`all`?c/2:1/0)||0;p===`end`&&(f&&(u-=m),d+=m),Yu(o,{brBoxHeight:d,brBoxY:u,r:m})}}}}function id(e,t){return Xu(e)||(e={radius:e||0}),Zu($u,t,e)}function ad(){let e=id(this.options.borderRadius);for(let t of this.points){let n=t.shapeArgs;n&&(n.borderRadius=Qu(e.radius,(n.r||0)-(n.innerR||0)))}}function od(e,t,n,r,i={}){let a=td(e,t,n,r,i),{r:o=0,brBoxHeight:s=r,brBoxY:c=t}=i,l=t-c,u=c+s-(t+r),d=l-o>-.1?0:o,f=u-o>-.1?0:o,p=Math.max(d&&l,0),m=Math.max(f&&u,0),h=[e+d,t],g=[e+n-d,t],_=[e+n,t+d],v=[e+n,t+r-f],y=[e+n-f,t+r],b=[e+f,t+r],x=[e,t+r-f],S=[e,t+d],C=(e,t)=>Math.sqrt(e**2-t**2);if(p){let e=C(d,d-p);h[0]-=e,g[0]+=e,_[1]=S[1]=t+d-p}if(r<d-p){let i=C(d,d-p-r);_[0]=v[0]=e+n-d+i,y[0]=Math.min(_[0],y[0]),b[0]=Math.max(v[0],b[0]),x[0]=S[0]=e+d-i,_[1]=S[1]=t+r}if(m){let e=C(f,f-m);y[0]+=e,b[0]-=e,v[1]=x[1]=t+r-f+m}if(r<f-m){let i=C(f,f-m-r);_[0]=v[0]=e+n-f+i,g[0]=Math.min(_[0],g[0]),h[0]=Math.max(v[0],h[0]),x[0]=S[0]=e+f-i,v[1]=x[1]=t}return a.length=0,a.push([`M`,...h],[`L`,...g],[`A`,d,d,0,0,1,..._],[`L`,...v],[`A`,f,f,0,0,1,...y],[`L`,...b],[`A`,f,f,0,0,1,...x],[`L`,...S],[`A`,d,d,0,0,1,...h],[`Z`]),a}let{diffObjects:sd,extend:cd,find:ld,merge:ud,pick:dd,uniqueKey:fd}=M;(function(e){function t(e,t){let n=e.condition;(n.callback||function(){return this.chartWidth<=dd(n.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=dd(n.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=dd(n.minWidth,0)&&this.chartHeight>=dd(n.minHeight,0)}).call(this)&&t.push(e._id)}function n(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=fd()),this.matchResponsiveRule(e,i)},this);let o=ud(...i.map(e=>ld(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=sd(o,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:o,undoOptions:a},this.updatingResponsive||this.update(o,e,!0)):this.currentResponsive=void 0)}e.compose=function(e){let r=e.prototype;return r.matchResponsiveRule||cd(r,{matchResponsiveRule:t,setResponsive:n}),e}})(y||={});let pd=y;S.AST=R,S.Axis=Ai,S.Chart=oc,S.Color=F,S.DataLabel=Vl,S.DataTableCore=go,S.Fx=I,S.HTMLElement=Rr,S.Legend=Ss,S.LegendSymbol=bo,S.OverlappingDataLabels=S.OverlappingDataLabels||Gu,S.PlotLineOrBand=ea,S.Point=Ga,S.Pointer=lo,S.RendererRegistry=Rt,S.Series=Z,S.SeriesRegistry=K,S.StackItem=Ec,S.SVGElement=Cn,S.SVGRenderer=wr,S.Templating=Lt,S.Tick=ii,S.Time=Pe,S.Tooltip=Ta,S.animate=L.animate,S.animObject=L.animObject,S.chart=oc.chart,S.color=F.parse,S.dateFormat=Lt.dateFormat,S.defaultOptions=Be.defaultOptions,S.distribute=Ut.distribute,S.format=Lt.format,S.getDeferredAnimation=L.getDeferredAnimation,S.getOptions=Be.getOptions,S.numberFormat=Lt.numberFormat,S.seriesType=K.seriesType,S.setAnimation=L.setAnimation,S.setOptions=Be.setOptions,S.stop=L.stop,S.time=Be.defaultTime,S.timers=I.timers,{compose:function(e,t,n){let r=e.types.pie;if(!t.symbolCustomAttribs.includes(`borderRadius`)){let i=n.prototype.symbols;Ju(e,`afterColumnTranslate`,rd,{order:9}),Ju(r,`afterTranslate`,ad),t.symbolCustomAttribs.push(`borderRadius`,`brBoxHeight`,`brBoxY`,`brEnd`,`brStart`),ed=i.arc,td=i.roundedRect,i.arc=nd,i.roundedRect=od}},optionsToObject:id}.compose(S.Series,S.SVGElement,S.SVGRenderer),Kl.compose(S.Series.types.column),Vl.compose(S.Series),Fi.compose(S.Axis),Rr.compose(S.SVGRenderer),Ss.compose(S.Chart),zi.compose(S.Axis),Gu.compose(S.Chart),Fu.compose(S.Series.types.pie),ea.compose(S.Chart,S.Axis),lo.compose(S.Chart),pd.compose(S.Chart),vc.compose(S.Axis,S.Chart,S.Series),Kc.compose(S.Axis,S.Chart,S.Series),Ta.compose(S.Pointer),M.extend(S,M);let md=S;return x.default})())}));export{t};