vendor: 4,308 bytes, line 1
1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6898],{78840:function(t){var e,i;e="u"<typeof window?this:window,i=()=>(()=>{"use strict";let t,e,i,s,o;var r,a,n,h,l,d,c,p,g,u,m,f,x,y,b,v,k,w,M,C,T,S,A,P,O={d:(t,e)=>{for(var i in e)O.o(e,i)&&!O.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},L={};O.d(L,{default:()=>Fo}),(r=g||(g={})).SVG_NS="http://www.w3.org/2000/svg",r.product="Highcharts",r.version="13.0.0",r.win="u">typeof window?window:{},r.doc=r.win.document,r.svg=!!r.doc?.createElementNS?.(r.SVG_NS,"svg")?.createSVGRect,r.pageLang=r.doc?.documentElement?.closest("[lang]")?.lang,r.userAgent=r.win.navigator?.userAgent||"",r.isChrome=r.win.chrome,r.isFirefox=-1!==r.userAgent.indexOf("Firefox"),r.isMS=/(edge|msie|trident)/i.test(r.userAgent)&&!r.win.opera,r.isSafari=!r.isChrome&&-1!==r.userAgent.indexOf("Safari"),r.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(r.userAgent),r.isWebKit=-1!==r.userAgent.indexOf("AppleWebKit"),r.deg2rad=2*Math.PI/360,r.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],r.noop=function(){},r.supportsPassiveEvents=function(){let t=!1;if(!r.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});r.win.addEventListener&&r.win.removeEventListener&&(r.win.addEventListener("testPassive",r.noop,e),r.win.removeEventListener("testPassive",r.noop,e))}return t}(),r.charts=[],r.composed=[],r.dateFormats={},r.seriesTypes={},r.symbolSizes={},r.chartCount=0;let E=g,I={dark:{backgroundColor:"#141414",neutralColor:"#ffffff",highlightColor:"#2caffe"},light:{backgroundColor:"#ffffff",neutralColor:"#000000",highlightColor:"#0022ff",positiveColor:"#06b535",negativeColor:"#f21313"}},{doc:D,win:B}=E;function z(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;E.Point&&t instanceof E.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let a=t.addEventListener;a&&a.call(t,e,i,!!E.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let n={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(n),r[e].sort(((t,e)=>t.order-e.order)),function(){wt(t,e,i)}}function N(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i}function R(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i}function W(t,e,i){let s,o=ht(e)&&!j(i),r=(e,i)=>{j(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return ht(e)?r(i,e):ut(e,r),s}function X(t,e,i){return t>e?t<i?t:i:e}function H(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function G(t,e,i,s,o){let r=D.createElement(t);return e&&_(r,e),o&&Y(r,{padding:"0",border:"none",margin:"0"}),i&&Y(r,i),s&&s.appendChild(r),r}function F(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o}function Y(t,e){_(t.style,e)}function j(t){return null!=t}function $(t,e,i){ut(t,(function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]}))}function V(t){t?.parentElement?.removeChild(t)}function U(t,e,i,s){let o={};return function t(e,o,r,a){let n=i?o:e;ut(e,(function(i,h){if(!a&&s&&s.indexOf(h)>-1&&o[h]){i=Mt(i),r[h]=[];for(let e=0;e<Math.max(i.length,o[h].length);e++)o[h][e]&&(void 0===i[e]?r[h][e]=o[h][e]:(r[h][e]={},t(i[e],o[h][e],r[h][e],a+1)))}else ct(i,!0)&&!i.nodeType?(r[h]=lt(i)?[]:{},t(i,o[h]||{},r[h],a+1),0===Object.keys(r[h]).length&&("colorAxis"!==h||0!==a)&&delete r[h]):(e[h]!==o[h]||h in e&&!(h in o))&&"__proto__"!==h&&"constructor"!==h&&(r[h]=n[h])}))}(t,e,o,0),o}function Z(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function _(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function K(t,e){let i=function(){};return _(i.prototype=new t,e),i}function q(t,e,i,s){if(i=i||{},D?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==E)){let s=D.createEvent("Events");s.initEvent(e,!0,!0),i=_(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||_(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o
1);r&&s.sort(((t,e)=>t.order-e.order)),s.forEach((e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()}))}s&&!i.defaultPrevented&&s.call(t,i)}let J=(t="")=>({center:.5,right:1,middle:.5,bottom:1}[t]||0);function Q(t,e){let i,s,o,r,a=!e;return t.forEach((t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!a?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)})),i}function tt(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function et(t,e){let i=t.split(".");for(;i.length&&j(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return ct(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!j(s)||"function"==typeof s||"number"==typeof s.nodeType||s===B)return;e=s}return e}function it(t,e,i){let s;if("width"===e){let e=Math.min(t.offsetWidth,t.scrollWidth),i=t.getBoundingClientRect?.().width;return i<e&&i>=e-1&&(e=Math.floor(i)),Math.max(0,e-(it(t,"padding-left",!0)||0)-(it(t,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(it(t,"padding-top",!0)||0)-(it(t,"padding-bottom",!0)||0));let o=B.getComputedStyle(t,void 0);return o&&(s=o.getPropertyValue(e),xt(i,"opacity"!==e)&&(s=yt(s))),s}let st=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function ot(t){j(t)&&clearTimeout(t)}function rt(t){return ct(t)&&"number"==typeof t.nodeType}function at(t){let e=t?.constructor;return!(!ct(t,!0)||rt(t)||!e?.name||"Object"===e.name)}function nt(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function ht(t){return"string"==typeof t}function lt(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function dt(t){return"function"==typeof t}function ct(t,e){return!!t&&"object"==typeof t&&(!e||!lt(t))}function pt(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),ut(e,(function(i,s){"__proto__"!==s&&"constructor"!==s&&(!ct(i,!0)||at(i)||rt(i)?t[s]=e[s]:t[s]=r(t[s]||{},i))})),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let a=s.length;for(i=0;i<a;i++)o=r(o,s[i]);return o}function gt(t,e,i,s,o){let r,a=t,n=t/(i=xt(i,tt(t)));for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter((function(t){return t%1==0})):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(a=e[r],(!o||!(a*i>=t))&&(o||!(n<=(e[r]+(e[r+1]||e[r]))/2)));r++);return H(a*i,-Math.round(Math.log(.001)/Math.LN10))}function ut(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function mt(t){let e=D.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(B.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(B.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}}function ft(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t}function xt(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function yt(t,e){return parseInt(t,e||10)}function bt(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function vt(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)}function kt(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t}function wt(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,ut(o,(function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)})))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter((function(t){return i!==t.fn})),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function Mt(t){return lt(t)?t:[t]}function Ct(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort((function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i})),s=0;s<o;s++)delete t[s].safeI}function Tt(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)}function St(t){return ht(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)}let{charts:At,win:Pt}=E;function Ot(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=nt(t),a=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(a+="?"),ut(s,(function(e,i){t+=`\n - ${i}: ${e}`,r&&(a+=encodeURI(i)+"="+encodeURI(e))})),a+=t}q(E,"displayError",{chart:i,code:t,message:a,params:s},(function(){if(e)throw Error(a);Pt.console&&-1===Ot.messages.indexOf(a)&&console.warn(a)})),Ot.messages.push(a)}
1function Lt(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||nt(s)&&s<xt(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i}(Ot||(Ot={})).messages=[];let Et={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let It=(i=Math.random().toString(36).substring(2,9)+"-",s=0,function(){return"highcharts-"+(t?"":i)+s++});Pt.jQuery&&(Pt.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new(E[ht(t[0])?t.shift():"Chart"])(this[0],t[0],t[1]),this):At[W(this[0],"data-highcharts-chart")]});let{pageLang:Dt,win:Bt}=E,zt=E.isSafari&&Bt.Intl&&!Bt.Intl.DateTimeFormat.prototype.formatRange,Nt=class extends class{constructor(t,e){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=Bt.Date,this.update(t),this.lang=e}update(t={}){this.dTLCache={},this.options=t=pt(!0,this.options,t);let{timezoneOffset:e,useUTC:i,locale:s}=t;this.Date=t.Date||Bt.Date||Date;let o=t.timezone;j(i)&&(o=i?"UTC":void 0),e&&e%60==0&&(o="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==o&&0!==o?.indexOf("Etc/GMT"),this.timezone=o,this.lang&&s&&(this.lang.locale=s),["months","shortMonths","weekdays","shortWeekdays"].forEach((t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map((t=>this.dateFormat(s,24*(e?31:1)*36e5*t)))}))}toParts(t){let[e,i,s,o,r,a,n]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, | |\/|:)/g);return[+o,s-1,+i,+r,+a,+n,Math.floor(Number(t)||0)%1e3,"DLMXJVS".indexOf(e)]}dateTimeFormat(t,e,i=this.options.locale||Dt){let s=JSON.stringify(t)+i;ht(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(Ot(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):Ot(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={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"}};
vendor: 4,253 bytes, line 1
1return Object.keys(i).forEach((s=>{-1!==t.indexOf(s)&&_(e,i[s])})),e}makeTime(t,e,i=1,s=0,o,r,a){let n=this.Date.UTC(t,e,i,s,o||0,r||0,a||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(n);if(n+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(n);t!==e?n+=e-t:t-36e5!==this.getTimezoneOffset(n-36e5)||zt||(n-=36e5)}}return n}parse(t){if(!ht(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(t);e||i||(t+="Z");let s=Date.parse(t);return nt(s)?s+(!e||i?this.getTimezoneOffset(s):0):void 0}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),a=-60*(s+r/60)*6e4;if(nt(a))return a}return 0}dateFormat(t,e,i){let s=this.lang;if(!j(e)||isNaN(e))return s?.invalidDate||"";if(ht(t=t??"%Y-%m-%d %H:%M:%S")){let i,o=/%\[([a-zA-Z]+)\]/g;for(;i=o.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e,s?.locale))}if(ht(t)&&-1!==t.indexOf("%")){let i=this,[o,r,a,n,h,l,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,g=s?.shortWeekdays||this.shortWeekdays,u=s?.months||this.months,m=s?.shortMonths||this.shortMonths;ut(_({a:g?g[c]:p[c].substr(0,3),A:p[c],d:ft(a),e:ft(a,2," "),w:c,v:s?.weekFrom??"",b:m[r],B:u[r],m:ft(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:ft(n),k:n,I:ft(n%12||12),l:n%12||12,M:ft(h),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:ft(l),L:ft(d,3)},E.dateFormats),(function(s,o){if(ht(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e,i):s)}))}else if(ct(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(_({timeZone:s},t),e)+r}return i?St(t):t}resolveDTLFormat(t){return ct(t,!0)?ct(t,!0)&&void 0===t.main?{main:t}:t:{main:(t=Mt(t))[0],from:t[1],to:t[2]}}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in Et){if(t&&t===Et.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){n="week";break}if(t&&Et[n]>t){n=h;break}if(a[n]&&o.substr(a[n])!==r.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}{getBoundaryTicks(t,e,i,s){let o={};if(e===Et.year)return o;let r=j(i)&&j(s),a=e<Et.hour,n=e<Et.day,h=e<Et.month,l=e>=Et.hour?9e5:e>=Et.minute?6e4:e>=Et.second&&1e3;if(t.length<1e4){let d=!0;for(let c=0;c<t.length;c++){let p=t[c];if(r){if(p<i)continue;if(p>s)break}if(d){if(e===Et.month){o[p]="year",d=!1;continue}if(e===Et.hour){o[p]="day",d=!1;continue}}if(l&&p%l!=0){d=!1;continue}let[,g,u,m,f,x,y]=this.toParts(p),b=!m&&!f&&!x&&!y;a&&0===f&&(o[p]="hour"),n&&b&&(o[p]="day"),h&&1===u&&b&&(o[p]="month"),0===g&&1===u&&b&&(o[p]="year"),d=!1}}return o}getTimeTicks(t,e,i,s){let o,r=[],{count:a=1,unitRange:n}=t,h=e,[l,d,c,p,g,u]=this.toParts(e),m=(e||0)%1e3;if(s??(s=1),j(e)){if(m=n>=Et.second?0:a*Math.floor(m/a),n>=Et.second&&(u=n>=Et.minute?0:a*Math.floor(u/a)),n>=Et.minute&&(g=n>=Et.hour?0:a*Math.floor(g/a)),n>=Et.hour&&(p=n>=Et.day?0:a*Math.floor(p/a)),n>=Et.day&&(c=n>=Et.month?1:Math.max(1,a*Math.floor(c/a))),n>=Et.month&&(d=n>=Et.year?0:a*Math.floor(d/a)),n>=Et.year&&(l-=l%a),n===Et.week){a&&(e=this.makeTime(l,d,c,p,g,u,m));let t=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"),i="DLMXJVS".indexOf(t);c+=-i+s+(i<s?-7:0)}e=this.makeTime(l,d,c,p,g,u,m),this.variableTimezone&&j(i)&&(o=i-e>4*Et.month||this.getTimezoneOffset(e)!==this.getTimezoneOffset(i));let t=e,h=1;for(;t<i;)r.push(t),n===Et.year?t=this.makeTime(l+h*a,0):n===Et.month?t=this.makeTime(l,d+h*a):!o||n!==Et.day&&n!==Et.week?o&&n===Et.hour&&a>1?t=this.makeTime(l,d,c,p+h*a):t+=n*a:t=this.makeTime(l,d,c+h*a*(n===Et.day?1:7)),h++;r.push(t)}return r.info=_(t,{boundaryTicks:this.getBoundaryTicks(r,n,h,i),totalRange:n*a}),r}},{isTouchDevice:Rt}=E,Wt={palette:I,colors:Array(10).fill(1).map(((t,e)=>`var(--highcharts-color-${e})`)),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}
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:"var(--highcharts-neutral-color-3)",padding:8,r:2,stroke:"var(--highcharts-neutral-color-20)","stroke-width":1,style:{color:"var(--highcharts-neutral-color-80)",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"var(--highcharts-neutral-color-10)"},select:{fill:"var(--highcharts-highlight-color-10)",style:{color:"var(--highcharts-neutral-color-100)",fontWeight:"bold"}},disabled:{style:{color:"var(--highcharts-neutral-color-20)"}}}}},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,selectionMarkerFill:"color-mix(var(--highcharts-highlight-color-80) 25%, transparent)",type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"var(--highcharts-highlight-color-80)",backgroundColor:"var(--highcharts-background-color)",plotBorderColor:"var(--highcharts-neutral-color-20)"},title:{style:{color:"var(--highcharts-neutral-color-80)",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"var(--highcharts-neutral-color-60)",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"var(--highcharts-neutral-color-60)",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:"var(--highcharts-neutral-color-40)",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"var(--highcharts-highlight-color-100)",inactiveColor:"var(--highcharts-neutral-color-20)"},itemStyle:{color:"var(--highcharts-neutral-color-80)",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"var(--highcharts-neutral-color-100)"},itemHiddenStyle:{color:"var(--highcharts-neutral-color-60)",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:"var(--highcharts-neutral-color-80)",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"var(--highcharts-background-color)",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderColor:"light-dark(var(--highcharts-neutral-color-5), var(--highcharts-neutral-color-20))",borderRadius:5,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%[Y]"},footerFormat:"",header:{distance:5,shape:"callout",style:{fontSize:"1em"}},hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:Rt?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"var(--highcharts-background-color)",borderWidth:void 0,stickOnContact:!1,style:{color:"var(--highcharts-neutral-color-80)",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",verticalAlign:"bottom",x:-10,y:-5},style:{cursor:"pointer",color:"var(--highcharts-neutral-color-40)",fontSize:"0.6em"},text:"Highcharts.com"}},Xt=new Nt(Wt.time,Wt.lang),Ht={defaultOptions:Wt,defaultTime:Xt,getOptions:function(){return Wt},setOptions:function(t){return q(E,"setOptions",{options:t}),pt(!0,Wt,t),t.time&&Xt.update(Wt.time),t.lang&&"locale"in t.lang&&Xt.update({locale:t.lang.locale}),t.lang?.chartTitle&&(Wt.title={...Wt.title,text:t.lang.chartTitle}),Wt}},{win:Gt}=E,Ft=(t,e,i)=>0===i?t:1===i?e:`color-mix(in srgb,${t},${e} ${100*i}%)`,Yt=t=>
1ht(t)&&!!t&&"none"!==t;class jt{static parse(t){return t?new jt(t):jt.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;const r=E.Color;if(r&&r!==jt)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map((t=>new jt(t[1])));else if("string"==typeof t)for(this.input=t=jt.names[t.toLowerCase()]||t,s=jt.parsers.length;s--&&!i;)(e=(o=jt.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if("object"==typeof e&&void 0!==this.stops){let i=pt(e);return i.stops=[].slice.call(i.stops),this.stops.forEach(((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]})),i}return i&&nt(i[0])?"rgb"===t||!t&&1===i[3]?"rgb("+i[0]+","+i[1]+","+i[2]+")":"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach((function(e){e.brighten(t)}));else if(nt(t)&&0!==t)if(nt(e[0]))for(let i=0;i<3;i++)e[i]+=yt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else jt.useColorMix&&Yt(this.input)&&(this.output=Ft(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return nt(this.rgba[0])?this.rgba[3]=t:jt.useColorMix&&Yt(this.input)&&(this.output=Ft(this.input,"#0000",1-t)),this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!nt(i[0])||!nt(s[0]))return jt.useColorMix&&Yt(this.input)&&Yt(t.input)&&e<.99?Ft(this.input,t.input,e):t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),a=s.slice(0,3).map(r).map(Math.round);return o&&a.push(r(s[3],3)),(o?"rgba(":"rgb(")+a.join(",")+")"}}jt.names={white:"#ffffff",black:"#000000"},jt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[yt(t[1]),yt(t[2]),yt(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[yt(t[1]),yt(t[2]),yt(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[yt(t[1]+t[1],16),yt(t[2]+t[2],16),yt(t[3]+t[3],16),j(t[4])?yt(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[yt(t[1],16),yt(t[2],16),yt(t[3],16),j(t[4])?yt(t[4],16)/255:1]}}],jt.useColorMix=Gt.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),jt.None=new jt("");let{parse:$t}=jt,{win:Vt}=E;class Ut{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let r=0;r<i.length;r++){let t=e[r],a=i[r],n=[];for(let e=0;e<a.length;e++){let i=t[e],o=a[e];nt(i)&&nt(o)&&("A"!==a[0]||4!==e&&5!==e)?n[e]=i+s*(o-i):n[e]=o}o.push(n)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(t){return!r.stopped&&s.step(t)},a=Vt.requestAnimationFrame||function(t){setTimeout(t,13)},n=function(){for(let t=0;t<Ut.timers.length;t++)Ut.timers[t]()||Ut.timers.splice(t--,1);Ut.timers.length&&a(n)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===Ut.timers.push(r)&&a(n)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,a=o.complete,n=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,ut(h,(function(t){!0!==t&&(i=!1)})),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s,o,r,a,n=t.startX,h=t.endX,l=i.slice(),d=t.isArea,c=d?2:1,p=e&&i.length>e.length&&i.hasStackedCliffs,g=e?.slice();if(!g||p)return[l,l];function u(t,e){for(;t.length<o;){let i=t[0],s=e[o-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),d){let e=t.pop();t.push(t[t.length-1],e)}}}function m(t){for(;t.length<o;){let e=t[Math.floor(t.length/c)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),d){let i=t[Math.floor(t.length/c)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(n&&h&&h.length){for(r=0;r<n.length;r++){if(n[r]===h[0]){s=r;break}if(n[0]===h[h.length-n.length+r]){s=r,a=!0;break}if(n[n.length-1]===h[h.length-n.length+r]){s=n.length-r;break}}void 0===s&&(g=[])}return g.length&&nt(s)&&(o=l.length+s*c,a?(u(g,l),m(l)):(u(l,g),m(g))),[g,l]}fillSetter(){Ut.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,$t(this.start).tweenTo($t(this.end),this.pos),void 0,!0)}}function Zt(t){return ct(t)?pt({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function _t(t,e){let i=Ut.timers.length;for(;i--;)Ut.timers[i].elem!==t||e&&e!==Ut.timers[i].prop||(Ut.timers[i].stopped=!0)}Ut.timers=[];
1let Kt={animate:function(t,e,i){let s,o,r,a,n="";ct(i)||(a=arguments,i={duration:a[2],easing:a[3],complete:a[4]}),nt(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=pt(e),ut(e,(function(a,h){_t(t,h),r=new Ut(t,i,h),o=void 0,"d"===h&<(e.d)?(r.paths=r.initPath(t,t.pathArray,e.d),r.toD=e.d,s=0,o=1):t.attr?s=t.attr(h):(s=parseFloat(it(t,h))||0,"opacity"!==h&&(n="px")),o||(o=a),"string"==typeof o&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(s,o,n)}))},animObject:Zt,getDeferredAnimation:function(t,e,i){let s=Zt(e),o=i?[i]:t.series,r=0,a=0;return o.forEach((t=>{let i=Zt(t.options.animation);r=ct(e)&&j(e.defer)?s.defer:Math.max(r,i.duration+i.defer),a=Math.min(s.duration,i.duration)})),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-a),duration:Math.min(r,a)}},setAnimation:function(t,e){e.renderer.globalAnimation=xt(t,e.options.chart.animation,!0)},stop:_t},{SVG_NS:qt,win:Jt}=E,{trustedTypes:Qt}=Jt,te=Qt&&dt(Qt.createPolicy)&&Qt.createPolicy("highcharts",{createHTML:t=>t}),ee=te?te.createHTML(""):"";class ie{static filterUserAttributes(t){return ut(t,((e,i)=>{let s=!0;-1===ie.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=ht(e)&&ie.allowedReferences.some((t=>0===e.indexOf(t)))),s||(Ot(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),ht(e)&&t[i]&&(t[i]=e.replace(/</g,"<"))})),t}static parseStyle(t){return t.split(";").reduce(((t,e)=>{let i=e.split(":").map((t=>t.trim())),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]=i.join(":")),t}),{})}static setElementHTML(t,e){t.innerHTML=ie.emptyHTML,e&&new ie(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return Mt(e).forEach((function(e){let o,r=e.tagName,a=e.textContent?E.doc.createTextNode(e.textContent):void 0,n=ie.bypassHTMLFiltering;if(r)if("#text"===r)o=a;else if(-1!==ie.allowedTags.indexOf(r)||n){let s="svg"===r?qt:i.namespaceURI||qt,h=E.doc.createElementNS(s,r),l=e.attributes||{};ut(e,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(l[e]=t)})),W(h,n?l:ie.filterUserAttributes(l)),e.style&&Y(h,e.style),a&&h.appendChild(a),t(e.children||[],h),o=h}else Ot(33,!1,void 0,{"Invalid tagName in config":r});o&&i.appendChild(o),s=o})),s}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=(new DOMParser).parseFromString(te?te.createHTML(t):t,"text/html")}catch{}if(!e){let i=G("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,(e=>{"data-style"===e.name?o.style=ie.parseStyle(e.value):t[e.name]=e.value})),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,(t=>{s(t,e)})),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,(t=>s(t,i))),i}}ie.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","aria-sort","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","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"],ie.allowedReferences=["https://","http://","mailto:","/","../","./","#"],ie.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"],ie.emptyHTML=ee,ie.bypassHTMLFiltering=!1;let{defaultOptions:se,defaultTime:oe}=Ht,{pageLang:re}=E,ae={add:(t,e)=>
vendor: 6,329 bytes, line 1
1t+e,divide:(t,e)=>0!==e?H(t/e):"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!lt(t)&&t.map(((i,s)=>he(e.body,_(ct(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1})))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>H(t*e,15),ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:St,unless:t=>!t},ne={};function he(t="",e,i){let s,o,r,a=/\{([^{}]+)\}/g,n=/\(([^()]+)\)/g,h=[],l=/f$/,d=/\.(\d)/,c=i?.options?.lang||se.lang,p=i?.time||oe,g=i?.numberFormatter||le.bind(i),u=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:/^["'].+["']$/.test(t)?t.slice(1,-1):et(t,e))},m=0;for(;null!==(s=a.exec(t));){let i=s,a=n.exec(s[1]);a&&(s=a,r=!0),o?.isBlock||(o={ctx:e,expression:s[1],find:s[0],isBlock:"#"===s[1].charAt(0),start:s.index,startInner:s.index+s[0].length,length:s[0].length});let l=(o.isBlock?i:s)[1].split(" ")[0].replace("#","");ae[l]&&(o.isBlock&&l===o.fn&&m++,o.fn||(o.fn=l));let d="else"===s[1];if(o.isBlock&&o.fn&&(s[1]===`/${o.fn}`||d))if(m)!d&&m--;else{let e=o.startInner,i=t.substr(e,s.index-e);void 0===o.body?(o.body=i,o.startInner=s.index+s[0].length):o.elseBody=i,o.find+=i+s[0],d||(h.push(o),o=void 0)}else o.isBlock||h.push(o);if(a&&!o?.isBlock)break}return h.forEach((s=>{let o,r,{body:a,elseBody:h,expression:m,fn:f}=s;if(f){let t,n=[s],l=[],d=m.length,c=0;for(r=0;r<=d;r++){let e=m.charAt(r);t||'"'!==e&&"'"!==e?t===e&&(t=""):t=e,t||" "!==e&&r!==d||(l.push(m.substr(c,r-c)),c=r+1)}for(r=ae[f].length;r--;)n.unshift(u(l[r+1]));o=ae[f].apply(e,n),s.isBlock&&"boolean"==typeof o&&(o=he(o?a:h,e,i))}else{let t=/^["'].+["']$/.test(m)?[m]:m.split(":");if(o=u(t.shift()||""),t.length&&"number"==typeof o){let e=t.join(":");if(l.test(e)){let t=parseInt((e.match(d)||["","-1"])[1],10);null!==o&&(o=g(o,t,c.decimalPoint,e.indexOf(",")>-1?c.thousandsSep:""))}else o=p.dateFormat(e,o)}n.lastIndex=0,n.test(s.find)&&ht(o)&&(o=`"${o}"`)}t=t.replace(s.find,xt(o,""))})),r?he(t,e,i):t}function le(t,e,i,s){e*=1;let o,r,[a,n]=(t=+t||0).toString().split("e").map(Number),h=this?.options?.lang||se.lang,l=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=h.decimalPoint),s??(s=h.thousandsSep),-1===e?e=Math.min(l,20):nt(e)?e&&n<0&&((r=e+n)>=0?(a=+a.toExponential(r).split("e")[0],e=r):(a=Math.floor(a),t=e<20?+(a*Math.pow(10,n)).toFixed(e):0,n=0)):e=2,n&&(e??(e=2),t=a),nt(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,g=p?"en":this?.locale||h.locale||re,u=JSON.stringify(c)+g;return o=(ne[u]??(ne[u]=new Intl.NumberFormat(g,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(n<0)||d)||(o="0"),n&&0!=+o&&(o+="e"+(n<0?"":"+")+n),o}let de={dateFormat:function(t,e,i){return oe.dateFormat(t,e,i)},format:he,helpers:ae,numberFormat:le};(u||(u={})).distribute=function t(e,i,s){let o,r,a,n=e,h=n.reducedLen||i,l=(t,e)=>t.target-e.target,d=[],c=e.length,p=[],g=d.push,u=!0,m=0;for(o=c;o--;)m+=e[o].size;if(m>h){if(Ct(e,((t,e)=>(e.rank||0)-(t.rank||0))),e[0].rank===e[e.length-1].rank){let t=[[0,c-1]];for(;t.length&&m>h;){let i=t.shift();if(!i)break;r=e[o=Math.floor((i[0]+i[1])/2)],bt(p,o)&&(m-=r.size),i[0]<o&&t.push([i[0],o-1]),o<i[1]&&t.push([o+1,i[1]])}}else for(o=c-1;m>h&&o>=0;)r=e[o],bt(p,o)&&(m-=r.size),o--;p.sort(((t,e)=>e-t)).forEach((t=>g.apply(d,e.splice(t,1))))}for(Ct(e,l),e=e.map((t=>({size:t.size,targets:[t.target],align:xt(t.align,.5)})));u;){for(o=e.length;o--;)r=e[o],a=(Math.min.apply(0,r.targets)+Math.max.apply(0,r.targets))/2,r.pos=X(a-r.size*r.align,0,i-r.size);for(o=e.length,u=!1;o--;)o>0&&e[o-1].pos+e[o-1].size>e[o].pos&&(e[o-1].size+=e[o].size,e[o-1].targets=e[o-1].targets.concat(e[o].targets),e[o-1].align=.5,e[o-1].pos+e[o-1].size>i&&(e[o-1].pos=i-e[o-1].size),e.splice(o,1),u=!0)}return g.apply(n,d),o=0,e.some((e=>{let r=0;return(e.targets||[]).some((()=>(n[o].pos=e.pos+r,void 0!==s&&Math.abs(n[o].pos-n[o].target)>s?(n.slice(0,o+1).forEach((t=>delete t.pos)),n.reducedLen=(n.reducedLen||i)-.1*i,n.reducedLen>.1*i&&t(n,i,s),!0):(r+=n[o].size,o++,!1))))})),Ct(n,l),n};let ce=u,{animate:pe,animObject:ge,stop:ue}=Kt,{deg2rad:me,doc:fe,svg:xe,SVG_NS:ye,win:be,isFirefox:ve}=E;class ke{_defaultGetter(t){let e=xt(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce((function(t,e){return-1===i.indexOf(e)&&t.push(e),t}),i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,a=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let n=!i||ht(i)?i||"renderer":void 0;n&&(a&&bt(r,this),i=void 0);let h=xt(i,o[n],o),l=(h.x||0)+(t.x||0)+((h.width||0)-(t.width||0))*J(t.align),d=(h.y||0)+(t.y||0)+((h.height||0)-(t.height||0))*J(t.verticalAlign),c={};return t.align&&(c["text-align"]=t.align),c[e?"translateX":"x"]=Math.round(l),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ge(xt(e,this.renderer.globalAnimation,!0)),o=s.defer;return fe.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),Tt((()=>{this.element&&pe(this,t,s)}),o)):(this.attr(t,void 0,i||s.complete),ut(t,(function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})}),this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&"none"!==o&&E.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,(function(t,e,
1i){return 2*Number(e)+i})),this.removeTextOutline();let t=fe.createElementNS(ye,"tspan");W(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,(e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach((t=>i.removeAttribute(t))),t.appendChild(i)}));let r=0;[].forEach.call(i.querySelectorAll("text tspan"),(t=>{r+=Number(t.getAttribute("dy"))}));let a=fe.createElementNS(ye,"tspan");a.textContent="\u200b",W(a,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let o,r,a,{element:n}=this,h=ke.symbolCustomAttribs,l=this;return"string"==typeof t&&void 0!==e&&(o=t,(t={})[o]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,n):(ut(t,(function(e,i){a=!1,s||ue(this,i),this.symbolName&&-1!==h.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,n)}),this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=It()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);_(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,a=F(i,e),n=F(s,e);return _(t,{x:a,y:n,width:F(o,e)-a,height:F(r,e)-n}),j(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s,o,r,a,n,h,l,d,c,p,g=this.renderer,u=[];q(this.renderer,"complexColor",{args:arguments},(()=>{if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(r=t[o],n=g.gradients,h=t.stops,d=i.radialReference,lt(r)&&(t[o]=r={x1:r[0],y1:r[1],x2:r[2],y2:r[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&d&&!j(r.gradientUnits)&&(a=r,r=pt(r,g.getRadialAttr(d,a),{gradientUnits:"userSpaceOnUse"})),ut(r,(function(t,e){"id"!==e&&u.push(e,t)})),ut(h,(function(t){u.push(t)})),n[u=u.join(",")])c=n[u].attr("id");else{r.id=c=It();let t=n[u]=g.createElement(o).attr(r).add(g.defs);t.radAttr=a,t.stops=[],h.forEach((([e,i])=>{0===i.indexOf("rgba")?(i=(s=jt.parse(i)).get("rgb"),l=s.get("a")):l=1;let o=g.createElement("stop").attr({offset:e,"stop-color":i,"stop-opacity":l}).add(t);t.stops.push(o)}))}p="url("+g.url+"#"+c+")",i.setAttribute(e,p),i.gradient=u,t.toString=function(){return p}}}))}css(t){let e,i=this.styles,s={},o=this.element,r=this.renderer,a=!i;if(i&&ut(t,(function(t,e){i&&i[e]!==t&&(s[e]=t,a=!0)})),a){i&&(t=_(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===o.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=yt(t.width)),_(this.styles,t),e&&!xe&&r.forExport&&delete t.width;let a=ve&&t.fontSize||null;a&&(nt(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let n=pt(t);o.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach((t=>n&&delete n[t])),n.color&&(n.fill=n.color,delete n.color)),Y(o,n)}return this.added&&("text"===this.element.nodeName&&r.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t){let s=(t=t.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(e=s.length;e--;)s[e]=""+yt(s[e])*xt(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,o=e.ownerSVGElement;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ue(t),t.clipPath&&o){let e=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")})),t.clipPath=e.destroy()}
vendor: 4,164 bytes, line 1
1if(s){for(let t of s)t.destroy();s.length=0}t.safeRemoveChild(e),t.alignOptions&&Z(i.alignedObjects,t),ut(t,((e,i)=>{(t[i]?.parentGroup===t||-1!==["connector","foreignObject"].indexOf(i))&&t[i]?.destroy?.(),delete t[i]}))}dSetter(t,e,i){lt(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce(((t,e,i)=>e?.join?(i?t+" ":"")+e.join(" "):(e||"").toString()),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,{element:r,renderer:a,styles:n,textStr:h}=this,{cache:l,cacheKeys:d}=a,c=r.namespaceURI===this.SVG_NS,p=xt(e,this.rotation,0),g=a.styledMode?r&&ke.prototype.getStyle.call(r,"font-size"):n.fontSize,u=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,n.fontWeight,n.lineClamp,n.textOverflow,g,p]);if(u&&!t&&(i=l[u]),!i||i.polygon){if(c||a.forExport){try{o=this.fakeTS&&function(t){let e=r.querySelector(".highcharts-text-outline");e&&Y(e,{display:t})},dt(o)&&o("none"),i=r.getBBox?_({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},dt(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,c&&(i.height=s={"11px,17":14,"13px,20":16}[`${g||""},${Math.round(s)}`]||s),p&&(i=this.getRotatedBox(i,p));let t={bBox:i};q(this,"afterGetBBox",t),i=t.bBox}if(u&&(""===h||i.height>0)){for(;d.length>250;)delete l[d.shift()];l[u]||d.push(u),l[u]=i}return i}getBBoxCacheKey(t){if(j(this.textStr)){let e=""+this.textStr;return-1===e.indexOf("<")&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:a,translateY:n,rotationOriginX:h=0,rotationOriginY:l=0}=this,d=J(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),p=e*me,g=(e-90)*me,u=Math.cos(p),m=Math.sin(p),f=o*u,x=o*m,y=Math.cos(g),b=Math.sin(g),[[v,k],[w,M]]=[h,l].map((t=>[t-t*u,t*m])),C=i+d*(o-f)+v+M+c*y,T=C+f,S=T-r*y,A=S-f,P=s+c-d*x-k+w+c*b,O=P+x,L=O-r*b,E=L-x,I=Math.min(C,T,S,A),D=Math.min(P,O,L,E);return{x:I,y:D,width:Math.max(C,T,S,A)-I,height:Math.max(P,O,L,E)-D,polygon:[[C,P],[T,O],[S,L],[A,E]]}}getStyle(t){return be.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ye,this.element="div"===e||"body"===e?G(e):fe.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},q(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=z(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(ht(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=pt(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},ct(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=yt(e):""!==e&&(W(t=fe.createElementNS(ye,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;
vendor: 5,751 bytes, line 1
1ke.symbolCustomAttribs.forEach((function(i){e[i]=xt(t[i],e[i])})),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||fe.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=kt(xt(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,rotation:o=0,rotationOriginX:r,rotationOriginY:a,scaleX:n,scaleY:h,text:l,translateX:d=0,translateY:c=0}=this,p=[`translate(${d},${c})`];j(s)&&p.push("matrix("+s.join(",")+")"),o&&p.push("rotate("+o+" "+(r??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),(j(n)||j(h))&&p.push(`scale(${n??1} ${h??1})`),p.length&&!(l||this).textPath&&(i?.element||e).setAttribute(t,p.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i,s,o,r,a,{element:n,parentGroup:h,renderer:l}=this,d=h?.element||l.box,c=d===l.box,p=!1,g=this.added;if(j(t)?(n.setAttribute("data-z-index",t),t*=1,this[e]===t&&(g=!1)):j(this[e])&&n.removeAttribute("data-z-index"),this[e]=t,g){for((t=this.zIndex)&&h&&(h.handleZ=!0),a=(i=d.childNodes).length-1;a>=0&&!p;a--)r=!j(o=(s=i[a]).getAttribute("data-z-index")),s!==n&&(j(t)&&t<0&&r&&!c&&!a?(d.insertBefore(n,i[a]),p=!0):(j(t)&&parseFloat(o||"")<=t||r&&(!j(t)||t>=0))&&(d.insertBefore(n,i[a+1]),p=!0));p||(d.insertBefore(n,i[3*!!c]),p=!0)}return p}}ke.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],ke.prototype.strokeSetter=ke.prototype.fillSetter,ke.prototype.yGetter=ke.prototype.xGetter,ke.prototype.matrixSetter=ke.prototype.rotationOriginXSetter=ke.prototype.rotationOriginYSetter=ke.prototype.rotationSetter=ke.prototype.scaleXSetter=ke.prototype.scaleYSetter=ke.prototype.translateXSetter=ke.prototype.translateYSetter=ke.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let we=ke,{charts:Me}=E,Ce=["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],Te=[null,"#00e272","#efdf00"];class Se{constructor(t,e){this.defaultOptions=I,this.options=pt(I),this.cssVars={light:{},dark:{}},this.renderer=t,this.update(e)}injectCSS(t){let e,i,s,{cssVars:o,renderer:r}=this,a=Object.keys(U(t,this.defaultOptions)).length>0,n=Math.max(t.colors?.length||0,Ce.length),h="light",l=(t,e)=>{ht(t)&&(e=e.replace(/([0-9]+)/g,"-$1").replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`)),o[h][`--highcharts-${e}`]=t)};for(let g of["light","dark"]){let e=t[g]||{},i={},s=new jt(e?.neutralColor||""),r=new jt(e?.backgroundColor||""),a=new jt(e?.highlightColor||"");h=g,[3,5,10,20,40,60,80,100].forEach((t=>{i[`neutralColor${t}`]=r.tweenTo(s,t/100),i[`highlightColor${t}`]=r.tweenTo(a,t/100)}));for(let o=0;o<n;o++)l(e?.colors?.[o]||t.colors?.[o]||("dark"===g?Te:[])?.[o]||Ce[o]||"#888a",`color${o}`);ut(e,l),ut(i,l),"light"===g&&_(o.dark,o.light)}let d=r.defs.element,c=a?`*[data-highcharts-chart="${r.chartIndex}"]`:"",p=d.querySelector("style.highcharts-palette")||r.box.ownerDocument.createElement("style");p.parentNode||(p.nonce="highcharts",p.className="highcharts-palette",d.appendChild(p)),i=(e=t=>{let e="";return ut(o.light,((i,s)=>{e+=t&&i!==o.dark[s]?` ${s}: light-dark(${i}, ${o.dark[s]});\n`:` ${s}: ${i};\n`})),e})(),s=e(!0),p.textContent=`${c||":root"} {\n${i}\n}\n@supports (color: light-dark(#fff, #000)) {\n ${c||":root"} {\n${s}\n }\n}\n.highcharts-container {\n color-scheme: light dark;\n}\n.highcharts-light .highcharts-container {\n color-scheme: light;\n}\n.highcharts-dark .highcharts-container {\n color-scheme: dark;\n}`}update(t){let e=this.renderer.box.parentElement,i=Me?.[this.renderer.chartIndex];t=pt(!0,this.options,t),i&&(i.options.palette=t),!1!==t.injectCSS&&this.injectCSS(t),e&&(ht(t.colorScheme)&&["light","dark","inherit"].includes(t.colorScheme)?e.style.colorScheme=t.colorScheme:e.style.removeProperty("color-scheme"))}}class Ae extends we{constructor(t,e,i,s,o,r,a,n,h,l){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=h,this.className=l,this.addClass("button"===l?"highcharts-no-tooltip":"highcharts-label"),l&&this.addClass("highcharts-"+l),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=Ae.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=J(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&nt(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=pt(t),Ae.textProps.forEach((i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])})),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize(),"color"in e&&this.updateBackgroun
vendor: 1,546 bytes, line 1
1d()}return we.prototype.css.call(this,t)}destroy(){wt(this.element,"mouseenter"),wt(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),we.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&0===this.bBox.width&&0===this.bBox.height||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=xt(this.paddingLeft,i),h=e??(this.rotation||0),l={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return h&&(l=this.getRotatedBox(l,h)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1),this.updateBackground()}onAdd(){this.text.add(this),this.attr({text:xt(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&j(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){nt(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}
vendor: 4,091 bytes, line 1
1updateBackground(){"contrast"===this.fill&&this.box?.attr({fill:this.renderer.getContrast(this.text.styles.color||"#000"),"fill-opacity":.65})}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=nt(this.widthSetting)&&nt(this.heightSetting)&&!this.textAlign||!j(e.textStr)?Ae.emptyBBox:e.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(_(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+J(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=nt(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=xt(this.paddingLeft,t),i=xt(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}function Pe(t,e,i,s,o){let r=[];if(o){let a=o.start||0,n=o.end||0,h=xt(o.r,i),l=xt(o.r,s||i),d=1e-4>Math.abs(n-a-2*Math.PI);d&&(a=Math.PI/2,n=2.5*Math.PI-1e-4);let c=o.innerR,p=xt(o.open,d),g=d?0:Math.cos(a),u=d?1:Math.sin(a),m=d?0:Math.cos(n),f=d?1:Math.sin(n),x=xt(o.longArc,n-a-Math.PI<1e-4?0:1),y=["A",h,l,0,x,xt(o.clockwise,1),t+(d?.001:h*m),e+l*f];y.params={start:a,end:n,cx:t,cy:e},r.push(["M",t+h*g,e+l*u],y),j(c)&&((y=["A",c,c,0,x,j(o.clockwise)?1-o.clockwise:0,t+(d?-.001:c*g),e+c*u]).params={start:n,end:a,cx:t,cy:e},r.push(p?["M",t+c*m,e+c*f]:["L",t+c*m,e+c*f],y)),p||r.push(["Z"])}return r}function Oe(t,e,i,s,o){return o?.r?Le(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function Le(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}Ae.emptyBBox={width:0,height:0,x:0,y:0},Ae.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let Ee={arc:Pe,callout:function(t,e,i,s,o){let r=Math.min(o?.r||0,i,s),a=r+6,n=o?.anchorX,h=o?.anchorY||0,l=Le(t,e,i,s,{r:r});if(!nt(n)||n<i&&n>0&&h<s&&h>0)return l;if(t+n>i-a)if(h>e+a&&h<e+s-a)l.splice(3,1,["L",t+i,h-6],["L",t+i+6,h],["L",t+i,h+6],["L",t+i,e+s-r]);else if(n<i){let o=h<e+a,d=o?e:e+s;l.splice(o?2:5,0,["L",n,h],["L",t+i-r,d])}else l.splice(3,1,["L",t+i,s/2],["L",n,h],["L",t+i,s/2],["L",t+i,e+s-r]);else if(t+n<a)if(h>e+a&&h<e+s-a)l.splice(7,1,["L",t,h+6],["L",t-6,h],["L",t,h-6],["L",t,e+r]);else if(n>0){let i=h<e+a,o=i?e:e+s;l.splice(i?1:6,0,["L",n,h],["L",t+r,o])}else l.splice(7,1,["L",t,s/2],["L",n,h],["L",t,s/2],["L",t,e+r]);else h>s&&n<i-a?l.splice(5,1,["L",n+6,e+s],["L",n,e+s+6],["L",n-6,e+s],["L",t+r,e+s]):h<0&&n>a&&l.splice(1,1,["L",n-6,e],["L",n,e-6],["L",n+6,e],["L",i-r,e]);return l},circle:function(t,e,i,s){return Pe(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]}
vendor: 18,358 bytes, line 1
1,rect:Oe,roundedRect:Le,square:Oe,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:Ie,SVG_NS:De,win:Be}=E,ze=(t,e)=>t.substring(0,e)+"\u2026",{defaultOptions:Ne}=Ht,{charts:Re,deg2rad:We,doc:Xe,isFirefox:He,isMS:Ge,isWebKit:Fe,noop:Ye,SVG_NS:je,symbolSizes:$e,win:Ve}=E;class Ue{constructor(t,e,i,s,o,r,a,n,h){let l,d;this.x=0,this.y=0;const c=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),p=c.element;t.appendChild(p),W(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&W(p,"xmlns",this.SVG_NS),this.box=p,this.boxWrapper=c,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(Xe.createTextNode("Created with Highcharts 13.0.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.chartIndex=h||0,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=c.getStyle("font-size"),this.setSize(e,i,!1),a||(c.css(this.getStyle(s||{})),this.palette=new Se(this,n||Ne.palette)),He&&t.getBoundingClientRect&&((l=function(){Y(t,{left:0,top:0}),d=t.getBoundingClientRect(),Y(t,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})})(),this.unSubPixelFix=z(Ve,"resize",l))}definition(t){return new ie([t]).addToDOM(this.defs.element)}getReferenceURL(){if((He||Fe)&&Xe.getElementsByTagName("base").length){if(!j(e)){let t=It(),i=new ie([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(Xe.body);Y(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=Xe.elementFromPoint(6,6);e="hitme"===s?.id,Xe.body.removeChild(i)}if(e)return kt(Ve.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=_({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),$(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects.length=0,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map((e=>`${e}-${t[e]}`))].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=pt({color:"#000000",offsetX:0,offsetY:2,opacity:.05,width:6},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new class{constructor(t){const e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e?.lineHeight,this.textOutline=e?.textOutline,this.ellipsis="ellipsis"===e?.textOverflow,this.lineClamp=e?.lineClamp,this.noWrap="nowrap"===e?.whiteSpace}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=xt(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,a=!t.added&&i.box,n=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(n!==t.textCache){t.textCache=n,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){a&&a.appendChild(e);let i=new ie(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),a&&a.removeChild(e)}}else e.appendChild(Ie.createTextNode(this.unescapeEntities(s)));ht(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=W(e.element,"x");for(e.firstLineMetrics=void 0;(t=e.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),((t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),W(t,{dy:this.getLineHeight(t.nextSibling),x:i}))}));let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",a=r.replace(/([^\^])-/g,"$1- ").split(" "),n=!this.noWrap&&(a.length>1||e.element.childNodes.length>1),h=this.getLineHeight(o),l=Math.max(0,s-.8*h),d=0,c=e.actualWidth;if(n){let r=[],n=[];for(;o.firstChild&&o.firstChild!==t;)n.push(o.firstChild),o.removeChild(o.firstChild);for(;a.length;)if(a.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=a.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,a,0===d&&c||0,s,l,((t,e)=>a.slice(0,e).join(" ").replace(/- /g,"-"))),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){a.length&&(this.truncate(t,t.textContent||"",void 0,0,s,l,ze),t.textContent=t.textContent?.replace("\u2026","")+"\u2026");break}n.forEach((e=>{o.insertBefore(e,t)})),r.forEach((e=>{o.insertBefore(Ie.createTextNode(e),t);let s=Ie.createElementNS(De,"tspan");s.textContent="\u200b",W(s,{dy:h,x:i}),o.insertBefore(s,t)}))}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,l,ze)},r=t=>{[].slice.call(t.childNodes).forEach((i=>{i.nodeType===Be.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))}))};r(e.element)}getLineHeight(t){let e=t.nodeType===Be.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:a={},tagName:n}=i,h=this.renderer.styledMode;if("b"===n||"strong"===n?h?o.class="highcharts-strong":a.fontWeight="bold":("i"===n||"em"===n)&&(h?o.class="highcharts-emphasized":a.fontStyle="italic"),a?.color&&(a.fill=a.color),"br"===n){o.class="highcharts-br",i.textContent="\u200b";let e=t[s+1];e?.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===n&&r&&r.some((t=>"#text"===t.tagName))&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==n&&"a"!==n&&(i.tagName="tspan"),_(i,{attributes:o,style:a}),r&&r.filter((t=>"#text"!==t.tagName)).forEach(e)};t.forEach(e),q(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,a){let n,h,l=this.svgElement,{rotation:d}=l,c=[],p=i&&!s?1:0,g=(e||i||"").length,u=g;i||(o=r);let m=function(e,o){let r=o||e,a=t.parentNode;if(a&&void 0===c[r]&&a.getSubStringLength)try{c[r]=s+a.getSubStringLength(0,i?r+1:r)}catch{}return c[r]};if(l.rotation=0,s+(h=m(t.textContent.length))>o){for(;p<=g;)u=Math.ceil((p+g)/2),i&&(n=a(i,u)),h=m(u,n&&n.length-1),p===g?p=g+1:h>o?g=u-1:p=u;0===g?t.textContent="":e&&g===e.length-1||(t.textContent=n||a(e||i,u)),this.ellipsis&&h>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,ze)}i&&i.splice(0,u),l.actualWidth=h,l.rotation=d}unescapeEntities(t,e){return ut(this.renderer.escapes,(function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))})),t}}(t).buildSVG()}getContrast(t){if("transparent"===t)return"#000000";let e=jt.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(nt(e[0])||!jt.useColorMix){let t=e.map((t=>{let e=t/255;return e<=.04?e/12.92:Math.pow((e+.055)/1.055,2.4)})),i=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,a,n,h,l){let d=this.label(t,e,i,h,void 0,void 0,l,void 0,"button"),c=this.styledMode,p=arguments,g=0;o=pt(Ne.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let u=o.states||{},m=o.style||{};delete o.states,delete o.style;let f=[ie.filterUserAttributes(o)],x=[m];return c||["hover","select","disabled"].forEach(((t,e)=>{f.push(pt(f[0],ie.filterUserAttributes(p[e+5]||u[t]||{}))),x.push(f[e+1].style),delete f[e+1].style})),z(d.element,Ge?"mouseover":"mouseenter",(function(){3!==g&&d.setState(1)})),z(d.element,Ge?"mouseout":"mouseleave",(function(){3!==g&&d.setState(g)})),d.setState=(t=0)=>{if(1!==t&&(d.state=g=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(f[t]);let e=x[t];ct(e)&&d.css(e)}},d.attr(f[0]),!c&&(d.css(_({cursor:"default"},m)),l&&d.text.css({pointerEvents:"none"})),d.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==g&&s?.call(d,t)}))}crispLine(t,e){let[i,s]=t;return j(i[1])&&i[1]===s[1]&&(i[1]=s[1]=F(i[1],e)),j(i[2])&&i[2]===s[2]&&(i[2]=s[2]=F(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return lt(t)?e.d=t:ct(t)&&_(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=ct(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let a;ct(t)?(e=(a=t).y,i=a.r,s=a.innerR,o=a.start,r=a.end,t=a.x):a={innerR:s,start:o,end:r};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,o,r){let a=ct(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==r&&(a["stroke-width"]=r,_(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,W(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:xt(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let a={preserveAspectRatio:"none"};nt(e)&&(a.x=e),nt(i)&&(a.y=i),nt(s)&&(a.width=s),nt(o)&&(a.height=o);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),r.call(n,e)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new Ve.Image;z(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,h,l,d=this,c=/^url\((.*?)\)$/,p=c.test(t),g=!p&&(this.symbols[t]?t:"circle"),u=g&&this.symbols[g];if(u)"number"==typeof e&&(n=u.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),_(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&_(a,r);else if(p){h=t.match(c)[1];let s=a=this.image(h);s.imgwidth=xt(r?.width,$e[h]?.width),s.imgheight=xt(r?.height,$e[h]?.height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach((t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;r&&"within"===r.backgroundSize&&o&&a&&n&&h?(d=Math.min(o/n,a/h),W(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((o||0)-n*d)/2,((a||0)-h*d)/2)}})),j(e)&&s.attr({x:e,y:i}),s.isImg=!0,j(s.imgwidth)&&j(s.imgheight)?l(s):(s.attr({width:0,height:0}),G("img",{onload:function(){let t=Re[d.chartIndex];0===this.width&&(Y(this,{position:"absolute",top:"-999em"}),Xe.body.appendChild(this)),$e[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),d.asyncCounter--,d.asyncCounter||!t||t.hasLoaded||t.onload()},src:h}),this.asyncCounter++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),j(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let r,a=0;a<s.length;a++)(r=s[a]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=nt(t)?t:yt(we.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e);return{h:i,b:Math.round(.8*i),f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*We),4)),{x:-t/3*Math.sin(e*We),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)ht(i[0])&&nt(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,a,n,h){return new Ae(this,t,e,i,s,o,r,a,n,h)}alignElements(){this.alignedObjects.forEach((t=>t.align()))}}_(Ue.prototype,{Element:we,SVG_NS:je,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:Ee,draw:Ye}),E.Renderer=Ue;let{composed:Ze,isFirefox:_e}=E;class Ke extends we{static compose(t){bt(Ze,"HTMLElement")&&(t.prototype.html=function(t,e,i){return new Ke(this,"div").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s=t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=yt(o)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp?(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"):0===t?.lineClamp&&(t.display="inline-block"),nt(Number(t?.fontSize))&&(t.fontSize+="px"),_(this.styles,t),Y(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){let t;if(!this.added)return void(this.alignOnAdd=!0);let{element:e,foreignObject:i,oldTextWidth:s,renderer:o,rotation:r,scaleX:a,styles:{display:n="inline-block",whiteSpace:h},textAlign:l="left",textWidth:d,x:c=0,y:p=0}=this,g=()=>this.textPxLength?this.textPxLength:(Y(e,{width:"",whiteSpace:h||"nowrap"}),e.offsetWidth),u=[r,l,e.innerHTML,d,this.textAlign].join(",");if(Y(e,{display:"inline-block",verticalAlign:"top"}),d!==s){let t=g(),i=d||0,l=!o.styledMode&&""===e.style.textOverflow&&e.style.webkitLineClamp;(i>s||t>i||l)&&(/[\-\s\u00AD]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)&&(Y(e,{width:(r||a||t>i)&&nt(d)?d+"px":l?Math.min(t+1,i)+"px":"auto",display:n,whiteSpace:h||"normal"}),this.oldTextWidth=d)}i.attr({width:o.width,height:o.height}),u!==this.cTT&&(t=o.fontMetrics(e).b,this.getSpanCorrection(!j(r)&&!this.textWidth&&this.textPxLength||e.offsetWidth,t,J(l))),super.updateTransform(),nt(c)&&nt(p)?(i.attr({x:c+(this.xCorr||0),y:p+(this.yCorr||0),width:e.offsetWidth+4,height:e.offsetHeight+1,"transform-origin":e.getAttribute("transform-origin")||"0 0"}),Y(e,{display:n,textAlign:l})):_e&&i.attr({width:0,height:0}),this.cTT=u}add(t){let{foreignObject:e,renderer:i}=this;return e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e)),this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.oldTextWidth,ie.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let qe=Ke.prototype;qe.ySetter=qe.xSetter,(a=m||(m={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",boundary:void 0,range:!1},day:{main:"%[eb]",boundary:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]",boundary:void 0},year:{main:"%[Y]",boundary:void 0}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"var(--highcharts-neutral-color-80)",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"var(--highcharts-neutral-color-60)",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"var(--highcharts-neutral-color-5)",minorGridLineWidth:1,minorTickColor:"var(--highcharts-neutral-color-40)",lineColor:"var(--highcharts-neutral-color-80)",lineWidth:1,gridLineColor:"var(--highcharts-neutral-color-10)",gridLineWidth:void 0,tickColor:"var(--highcharts-neutral-color-80)"},a.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let Je=m;(f||(f={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},ut(e.events,(function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(wt(t,i,t.eventOptions[i]),delete t.eventOptions[i]),dt(e)&&(t.eventOptions[i]=e,z(t,i,e,{order:0})))}
1))};let Qe=f,{deg2rad:ti}=E,ei=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,q(this,"init"),i||s||this.addLabel()}addLabel(){let t,e,i,s=this,o=s.axis,r=o.options,a=o.chart,n=o.categories,h=o.logarithmic,l=o.names,d=s.pos,c=xt(s.options?.labels,r.labels),p=o.tickPositions,g=d===p[0],u=d===p[p.length-1],m=p.info,f=m?.boundaryTicks[d],x=r.dateTimeLabelFormats,y=s.label,b=this.parameters.category||(n?xt(n[d],l[d],d):d);if(h&&nt(b)&&(b=H(h.lin2log(b))),o.dateTime&&x)if(m){let i=m.unitName,s={millisecond:"hour",second:"hour",minute:"hour",hour:"day",day:"month",week:"month",month:"year",year:"year"}[i],o=!r.grid?.enabled&&f&&s&&x[s]?.boundary||x[i];t=(e=a.time.resolveDTLFormat(o)).main}else nt(b)&&(t=o.dateTime.getXDateFormat(b,x||{}));s.isFirst=g,s.isLast=u,s.boundary=f;let v={axis:o,chart:a,dateTimeLabelFormat:t,boundary:f,isFirst:g,isLast:u,pos:d,tick:s,tickPositionInfo:m,value:b};q(this,"labelFormat",v);let k=t=>c.formatter?c.formatter.call(t,t):c.format?(t.text=o.defaultLabelFormatter.call(t),de.format(c.format,t,a)):o.defaultLabelFormatter.call(t),w=k.call(v,v),M=e?.list;s.shortenLabel=M?function(){for(i=0;i<M.length;i++)if(_(v,{dateTimeLabelFormat:M[i]}),y.attr({text:k.call(v,v)}),y.getBBox().width<o.getSlotWidth(s)-2*(c.padding||0))return;y.attr({text:""})}:void 0,y?y.textStr!==w&&(!y.textWidth||c.style.width||y.styles.width||y.css({width:void 0}),y.attr({text:w}),y.textPxLength=y.getBBox().width):(s.label=y=s.createLabel(w,c),s.rotation=0)}createLabel(t,e,i){let s=this.axis,{renderer:o,styledMode:r}=s.chart,a=e.style.whiteSpace,n=j(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return n&&(r||n.css(pt(e.style)),n.textPxLength=n.getBBox().width,!r&&a&&n.css({whiteSpace:a})),n}destroy(){$(this,this.axis)}getPosition(t,e,i,s){let o=this.axis,r=o.chart,a=s&&r.oldChartHeight||r.chartHeight,n={x:t?H(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&r.oldChartWidth||r.chartWidth)-o.right-o.left:0),y:t?a-o.bottom+o.offset-(o.opposite?o.height:0):H(a-o.translate(e+i,void 0,void 0,s)-o.transB)};return n.y=X(n.y,-1e9,1e9),q(this,"afterGetPosition",{pos:n}),n}getLabelPosition(t,e,i,s,o,r,a,n){let h,l,d=this.axis,c=d.transA,p=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,g=d.staggerLines,u=d.tickRotCorr||{x:0,y:0},m=s||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),f=o.distance,x={};return h=0===d.side?i.rotation?-f:-i.getBBox().height:2===d.side?u.y+f:Math.cos(i.rotation*ti)*(u.y-i.getBBox(!1,0).height/2),j(o.y)&&(h=0===d.side&&d.horiz?o.y+h:o.y),t=t+xt(o.x,[0,1,0,-1][d.side]*f)+m+u.x-(r&&s?r*c*(p?-1:1):0),e=e+h-(r&&!s?r*c*(p?1:-1):0),g&&(l=a/(n||1)%g,d.opposite&&(l=g-l-1),e+=l*(d.labelOffset/g)),x.x=t,x.y=Math.round(e),q(this,"afterGetLabelPosition",{pos:x,tickmarkOffset:r,index:a}),x}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e,i=this.axis,s=i.options.labels,o=t.x,r=i.chart.chartWidth,a=i.chart.spacing,n=xt(i.labelLeft,Math.min(i.pos,a[3])),h=xt(i.labelRight,Math.max(i.isRadial?0:i.pos+i.len,r-a[1])),l=this.label,d=this.rotation,c=J(i.labelAlign||l.attr("align")),p=l.getBBox().width,g=i.getSlotWidth(this),u=g,m=1;d||"justify"!==s.overflow?d<0&&o-c*p<n?e=Math.round(o/Math.cos(d*ti)-n):d>0&&o+c*p>h&&(e=Math.round((r-o)/Math.cos(d*ti))):(o-c*p<n?u=t.x+u*(1-c)-n:o+(1-c)*p>h&&(u=h-t.x+u*c,m=-1),(u=Math.min(g,u))<g&&"center"===i.labelAlign&&(t.x+=m*(g-u-c*(g-Math.min(p,u)))),(p>u||i.autoRotation&&l?.styles?.width)&&(e=u)),e&&l&&(this.shortenLabel?this.shortenLabel():l.css(_({},{width:Math.floor(e)+"px",lineClamp:+!i.isRadial})))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,a=xt(this.tickmarkOffset,s.tickmarkOffset),n=this.getPosition(o,r,a,e),h=n.x,l=n.y,d=s.pos,c=d+s.len,p=o?h:l,g=xt(i,this.label?.newOpacity,1);!s.chart.polar&&(H(p)<d||p>c)&&(i=0),i??(i=1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(n,i),this.renderLabel(n,e,g,t),this.isNew=!1,q(this,"afterRe
1nder")}renderGridLine(t,e){let i,s=this.axis,o=s.options,r={},a=this.pos,n=this.type,h=xt(this.tickmarkOffset,s.tickmarkOffset),l=s.chart.renderer,d=this.gridLine,c=o.gridLineWidth,p=o.gridLineColor,g=o.gridLineDashStyle;"minor"===this.type&&(c=o.minorGridLineWidth,p=o.minorGridLineColor,g=o.minorGridLineDashStyle),d||(s.chart.styledMode||(r.stroke=p,r["stroke-width"]=c||0,r.dashstyle=g),n||(r.zIndex=1),t&&(e=0),this.gridLine=d=l.path().attr(r).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(s.gridGroup)),d&&(i=s.getPlotLinePath({value:a+h,lineWidth:d.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:i,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,a=i.tickSize(r?r+"Tick":"tick"),n=t.x,h=t.y,l=xt(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;a&&(i.opposite&&(a[0]=-a[0]),!c&&(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":l})),c[p?"attr":"animate"]({d:this.getMarkPath(n,h,a[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,a=o.options,n=this.label,h=a.labels,l=h.step,d=xt(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,g=!0;n&&nt(c)&&(n.xy=t=this.getLabelPosition(c,p,n,r,h,d,s,l),this.isFirst&&!this.isLast&&!a.showFirstLabel||this.isLast&&!this.isFirst&&!a.showLastLabel?g=!1:r&&!e&&0!==i&&this.handleOverflow(t),l&&s%l&&(g=!1),g&&nt(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}},{animObject:ii}=Kt,{xAxis:si,yAxis:oi}=Je,{parse:ri}=jt,{defaultOptions:ai}=Ht,{registerEventOptions:ni}=Qe,{deg2rad:hi}=E,li=(t,e)=>gt(e,void 0,void 0,xt(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);_(ai,{xAxis:si,yAxis:pt(si,oi)});class di{constructor(t,e,i){this.clippable=!0,this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,q(this,"init",{userOptions:e}),this.opposite=xt(e.opposite,this.opposite),this.side=xt(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,a=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),q(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=xt(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=lt(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[]),this.namesMap||(this.namesMap={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=j(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.max=void 0,this.min=void 0;let n=xt(r.crosshair,Mt(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===n?{}:n,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),Lt(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!j(this.reversed)&&(this.reversed=!0),this.labelRotation=nt(a.rotation)?a.rotation:void 0,ni(this,r),q(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=pt(e,"yAxis"===this.coll?{title:{text:this.chart.options.lang.yAxisTitle}}:{},ai[this.coll],t),q(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,s=this.chart,{numberFormatter:o}=s,r=nt(this.value)?this.value:NaN,a=i.chart.time,n=i.categories,h=this.dateTimeLabelFormat,l=ai.lang,d=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,p=i.logarithmic?Math.abs(r):i.tickInterval,g=d?.length;if(n)e=`${this.value}`;else if(h)e=a.dateFormat(h,r,!0);else if(g&&d&&p>=1e3)for(;g--&&void 0===e;)p>=(t=Math.pow(c,g+1))&&10*r%t==0&&null!==d[g]&&0!==r&&(e=o(r/t,-1,void 0,void 0,s)+d[g]);return e??(e=o(r,-1,void 0,1e4>Math.abs(r)?"":void 0,s)),e}getSeriesExtremes(){let t,e=this;q(this,"getSeriesExtremes",null,(function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEac
1h((i=>{if(i.reserveSpace()){let s,o,r,a=i.options,n=a.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(n||0)&&(n=void 0),e.isXAxis)(s=i.getColumn("x")).length&&(s=e.logarithmic?s.filter((t=>t>0)):s,o=(t=i.getXExtremes(s)).min,r=t.max,nt(o)||o instanceof Date||(s=s.filter(nt),o=(t=i.getXExtremes(s)).min,r=t.max),s.length&&(e.dataMin=Math.min(xt(e.dataMin,o),o),e.dataMax=Math.max(xt(e.dataMax,r),r)));else{let t=i.applyExtremes();nt(t.dataMin)&&(o=t.dataMin,e.dataMin=Math.min(xt(e.dataMin,o),o)),nt(t.dataMax)&&(r=t.dataMax,e.dataMax=Math.max(xt(e.dataMax,r),r)),j(n)&&(e.threshold=n),(!a.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),q(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!nt(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&!!a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,g=0;return p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e?(g=(t=t*d+c-h)/p+n,l&&(g=a.lin2val(g))):(l&&(t=a.val2lin(t)),g=d*(t-n)*p+c+d*h+(nt(r)?p*r:0),a.isRadial||(g=H(g))),g}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e,i,s,o,r,a=this,n=a.chart,h=a.left,l=a.top,d=t.old,c=t.value,p=t.lineWidth,g=d&&n.oldChartHeight||n.chartHeight,u=d&&n.oldChartWidth||n.chartWidth,m=a.transB,f=t.translatedValue,x=t.force;function y(t,e,i){return"pass"!==x&&(t<e||t>i)&&(x?t=X(t,e,i):r=!0),t}let b={value:c,lineWidth:p,old:d,force:x,acrossPanes:t.acrossPanes,translatedValue:f};return q(this,"getPlotLinePath",b,(function(t){e=s=(f=X(f=xt(f,a.translate(c,void 0,void 0,d)),-1e9,1e9))+m,i=o=g-f-m,nt(f)?a.horiz?(i=l,o=g-a.bottom+(a.options.isInternal?0:n.scrollablePixelsY||0),e=s=y(e,h,h+a.width)):(e=h,s=u-a.right+(n.scrollablePixelsX||0),i=o=y(i,l,l+a.height)):(r=!0,x=!1),t.path=r&&!x?void 0:n.renderer.crispLine([["M",e,i],["L",s,o]],p||1)})),b.path}getLinearTickPositions(t,e,i){let s,o,r,a=H(Math.floor(e/t)*t),n=H(Math.ceil(i/t)*t),h=[];if(H(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=H(s+t,r))!==o);)o=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?xt(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,o=this.pointRangePadding||0,r=(this.min||0)-o,a=(this.max||0)+o,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:a-r,h=[];if(n&&n/s<this.len/3){let o=this.logarithmic;if(o)this.paddedTicks.forEach((function(t,e,i){e&&h.push.apply(h,o.getLogTickPositions(s,i[e-1],i[e],!0))}));else if(this.dateTime&&"auto"===this.getMinorTickInterval())h=h.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(s),r,a,e.startOfWeek));else for(t=r+(i[0]-r)%s;t<=a&&t!==h[0];t+=s)h.push(t)}return 0!==h.length&&this.trimTicks(h),h}adjustForMinRange(){let t,e,i,s,o=this.options,r=this.logarithmic,a=this.chart.time,{max:n,min:h,minRange:l}=this;this.isXAxis&&void 0===l&&!r&&(l=j(o.min)||j(o.max)||j(o.floor)||j(o.ceiling)?null:Math.min(5*(Q(this.series.map((t=>{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e})))||0),this.dataMax-this.dataMin)),nt(n)&&nt(h)&&nt(l)&&n-h<l&&(e=this.dataMax-this.dataMin>=l,t=(l-n+h)/2,i=[h-t,a.parse(o.min)??h-t],e&&(i[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(h=R(i))+l,a.parse(o.max)??h+l],e&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(n=N(s))-h<l&&(i[0]=n-l,i[1]=a.parse(o.min)??n-l,h=R(i))),this.minRange=l,this.min=h,this.max=n}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach((function(t){let s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&j(s)&&t.reserveSpace()&&(e=j(e)?Math.min(e,s):s)})),i.length&&(i.sort(((t,e)=>t-e)),t=Q([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t,e){let i,s=lt(this.options.categories),{name:o,series:r}=t,a=s?this.categories:this.names,n=this.namesMap;return r.requireSorting=!1,j(e)||(e=this.uniqueNames&&a?s?a.indexOf(o):n[o]??-1:r.autoIncrement()),-1===e?!s&&a&&(i=a.length):nt(e)&&(i=e),void 0!==i?(this.names[i]=t.name,n[t.name]=i):i=nt(t.x)?t.x:r.autoIncrement(),i}updateNames(){let t=this,{names:e,namesMap:i}=this;e.length>
10&&(Object.keys(i).forEach((function(t){delete i[t]})),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach((e=>{if(e.xIncrement=null,delete e.xColumn,!e.points||e.isDirtyData)t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints();else{let t=e.getColumn("x");e.points?.forEach((e=>{e.x=t[e.index]}))}})))}setAxisTranslation(){let t,e,i=this,s=i.max-i.min,o=i.linkedParent,r=!!i.categories,a=i.isXAxis,n=i.axisPointRange||0,h=0,l=0,d=i.transA;(a||r||n)&&(t=i.getClosest(),o?(h=o.minPointOffset,l=o.pointRangePadding):i.series.forEach((function(e){let s=r?1:a?xt(e.options.pointRange,t,0):i.axisPointRange||0,o=e.options.pointPlacement;if(n=Math.max(n,s),!i.single||r){let t=e.is("xrange")?!a:a;h=Math.max(h,t&&ht(o)?0:s/2),l=Math.max(l,t&&"on"===o?0:s)}})),e=i.ordinal?.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=h*=e,i.pointRangePadding=l*=e,i.pointRange=Math.min(n,i.single&&r?1:s),a&&(i.closestPointRange=t)),i.translationSlope=i.transA=d=i.staticScale||i.len/(s+l||1),i.transB=i.horiz?i.left
vendor: 4,974 bytes, line 1
1:i.bottom,i.minPixelPadding=d*h,q(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return nt(t)&&nt(e)&&t-e||void 0}setTickInterval(t){let e,i,s,o,r,{categories:a,chart:n,dataMax:h,dataMin:l,dateTime:d,isXAxis:c,logarithmic:p,options:g,softThreshold:u}=this,m=n.time,f=nt(this.threshold)?this.threshold:void 0,x=this.minRange||0,{ceiling:y,floor:b,linkedTo:v,softMax:k,softMin:w}=g,M=nt(v)&&n[this.coll]?.[v],C=g.tickPixelInterval,T=g.maxPadding,S=g.minPadding,A=0,P=nt(g.tickInterval)&&g.tickInterval>=0?g.tickInterval:void 0;if(d||a||M||this.getTickAmount(),o=xt(this.userMin,m.parse(g.min)),r=xt(this.userMax,m.parse(g.max)),M?(this.linkedParent=M,e=M.getExtremes(),this.min=xt(e.min,e.dataMin),this.max=xt(e.max,e.dataMax),this.type!==M.type&&Ot(11,!0,n)):(u&&j(f)&&nt(h)&&nt(l)&&(l>=f?(i=f,S=0):h<=f&&(s=f,T=0)),this.min=xt(o,i,l),this.max=xt(r,s,h)),nt(this.max)&&nt(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,xt(l,this.min))&&Ot(10,!0,n),this.min=H(p.log2lin(this.min),16),this.max=H(p.log2lin(this.max),16)),this.range&&nt(l)&&(this.userMin=this.min=o=Math.max(l,this.minFromRange()||0),this.userMax=r=this.max,this.range=void 0)),q(this,"foundExtremes"),this.adjustForMinRange(),nt(this.min)&&nt(this.max)){if(!nt(this.userMin)&&nt(w)&&w<this.min&&(this.min=o=w),!nt(this.userMax)&&nt(k)&&k>this.max&&(this.max=r=k),a||this.axisPointRange||this.stacking?.usePercentage||M||(A=this.max-this.min)&&(!j(o)&&S&&(this.min-=A*S),!j(r)&&T&&(this.max+=A*T)),!nt(this.userMin)&&nt(b)&&(this.min=Math.max(this.min,b)),!nt(this.userMax)&&nt(y)&&(this.max=Math.min(this.max,y)),u&&nt(l)&&nt(h)){let t=f||0;!j(o)&&this.min<t&&l>=t?this.min=g.minRange?Math.min(t,this.max-x):t:!j(r)&&this.max>t&&h<=t&&(this.max=g.minRange?Math.max(t,this.min+x):t)}!n.polar&&this.min>this.max&&(j(g.min)?this.max=this.min:j(g.max)&&(this.min=this.max)),A=this.max-this.min}if(this.min!==this.max&&nt(this.min)&&nt(this.max)?M&&!P&&C===M.options.tickPixelInterval?this.tickInterval=P=M.tickInterval:this.tickInterval=xt(P,this.tickAmount?A/Math.max(this.tickAmount-1,1):void 0,a?1:A*C/Math.max(this.len,C)):this.tickInterval=1,c&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach((function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)})),q(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),q(this,"initialAxisTranslation"),this.pointRange&&!P&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=xt(g.minTickInterval,d&&!this.series.some((t=>!t.sorted))?this.closestPointRange:0);!P&&O&&this.tickInterval<O&&(this.tickInterval=O),d||p||P||(this.tickInterval=li(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t,e=this.options,i=e.tickPositions,s=e.tickPositioner,o=this.getMinorTickInterval(),r=!this.isPanning,a=r&&e.startOnTick,n=r&&e.endOnTick,h=[];if(this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&j(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),i)h=i.slice();else if(nt(this.min)&&nt(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))h=[this.min,this.max],Ot(19,!1,this.chart);else if(this.dateTime)h=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)h=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(h=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&h.length>this.tickAmount);)this.tickInterval=li(this,e*=1.1)}h.length>this.len&&(h=[h[0],h[h.length-1]])[0]===h[1]&&(h.length=1),s&&(this.tickPositions=h,(t=s.apply(this,[this.min,this.max,this]))&&(h=t))}this.isDirty||h.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=h,this.minorTickInterval="auto"===o&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:o,this.paddedTicks=h.slice(0),this.trimTicks(h,a,n),!this.isLinked&&nt(this.min)&&nt(this.max)&&(this.single&&h.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),q(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(q(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&nt(s))this.min=s;else if(t.length)for(;this.min-r>t[0];)t.shift();if(i&&nt(o))this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&j(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,a="yAxis"===this.coll&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||a)&&
1!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach((function(i){let{series:a}=i;a.length&&a.some((t=>t.visible))&&i!==e&&o(i)===r&&(t=!0,s.push(i))}))}if(t&&a){s.forEach((t=>{let i=t.getThresholdAlignment(e);nt(i)&&n.push(i)}));let t=n.length>1?n.reduce(((t,e)=>t+e),0)/n.length:void 0;s.forEach((e=>{e.thresholdAlignment=t}))}return t}getThresholdAlignment(t){if((!nt(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData||t.xAxis?.isDirty)))&&this.getSeriesExtremes(),nt(this.threshold)){let t=X((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;j(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t,e,i,s=this,{finalTickAmt:o,max:r,min:a,options:n,tickPositions:h,tickAmount:l,thresholdAlignment:d}=s,c=h?.length,p=xt(s.threshold,s.softThreshold?0:null),g=s.tickInterval,u=()=>h.push(H(h[h.length-1]+g)),m=()=>h.unshift(H(h[0]-g));if(nt(d)&&(i=0===d?0:1===d?l-1:Math.round(X(d*(l-1),1,l-2)),n.reversed&&(i=l-1-i)),s.hasData()&&nt(a)&&nt(r)){let d=()=>{s.transA*=(c-1)/(l-1),s.min=n.startOnTick?h[0]:Math.min(a,h[0]),s.max=n.endOnTick?h[h.length-1]:Math.max(r,h[h.length-1])};if(nt(i)&&nt(s.threshold)){for(;h[i]!==p||h.length!==l||h[0]>a||h[h.length-1]<r;){for(h.length=0,h.push(s.threshold);h.length<l;)void 0===h[i]||h[i]>s.threshold?m():u();if(g>8*s.tickInterval)break;g*=2}d()}else if(c<l){for(;h.length<l;)h.length%2||a===p?u():m();d()}if(j(o)){for(e=t=h.length;e--;)(3===o&&e%2==1||o<=2&&e>0&&e<t-1)&&h.splice(e,1);s.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach((t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis?.isDirty||!1})),this.setAxisSize();let o=this.len!==this.old?.len;o||i||s||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,q(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach((t=>{delete t.kdTree})),q(this,"setExtremes",o=_(o,{min:t=r.time.parse(t),max:e=r.time.parse(e)}),(t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)}))}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(vt(xt(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(vt(xt(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(vt(xt(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(vt(xt(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-a,this.right=t.chartWidth-o-n,this.len=Math.max(s?o:r,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?H(t.lin2log(this.min)):this.min,max:t?H(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return q(this,"autoLabelAlign",i,(function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,s=xt(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),o=i["tick"===t?"tickLength":"minorTickLength"];s&&o&&("inside"===i[t+"Position"]&&(o=-o),e=[o,s]);let r={tickSize:e,prefix:t};return q(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||t.box)}unsquish(){let t,e,i=this.options.labels,s=i.padding||0,o=this.horiz,r=this.tickInterval,a=this.len/((+!!this.categories+this.max-this.min)/r),n=i.rotation,h=H(.8*this.labelMetrics().h),l=Math.max(this.max-this.min,0),d=function(t){let e=(t+2*s)/(a||1);return(e=e>1?Math.ceil(e):1)*r>l&&t!==1/0&&a!==1/0&&l&&(e=Math.ceil(l/r)),H(e*r)},c=r,p=Number.MAX_VALUE;if(o){if(!i.staggerLines&&(nt(n)?e=[n]:a<i.autoRotationLimit&&(e=i.autoRotation)),e){let i,s;for(let o of e)(o===n||o&&o>
1=-90&&o<=90)&&(s=(i=d(Math.abs(h/Math.sin(hi*o))))+Math.abs(o/360))<p&&(p=s,t=o,c=i)}}else c=d(.75*h);return this.autoRotation=e,this.labelRotation=xt(t,nt(n)?n:0),i.step?r:c}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&nt(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(!this.opposite&&r)return r-e.spacing[3]}return.33*e.chartWidth}renderUnsquish(){let t,e=this.chart,i=e.renderer,s=this.tickPositions,o=this.ticks,r=this.options.labels,a=r.style,n=this.horiz,h=this.getSlotWidth(),l=Math.max(1,Math.round(h-(n?2*(r.padding||0):r.distance||0))),d={},c=this.labelMetrics(),p=a.lineClamp,g=p??(Math.floor(this.len/(s.length*c.h))||1),u=0;ht(r.rotation)||(d.rotation=r.rotation||0),s.forEach((function(t){u=Math.max(u,o[t].label?.textPxLength||0)})),this.maxLabelLength=u,this.autoRotation?u>l&&u>c.h?d.rotation=this.labelRotation:this.labelRotation=0:h&&(t=l),d.rotation&&(t=u>.5*e.chartHeight?.33*e.chartHeight:u,p||(g=1)),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(d.align=this.labelAlign),s.forEach((function(e){let i=o[e],s=i?.label,r=a.width,n={};s&&(s.attr(d),i.shortenLabel?i.shortenLabel():t&&!r&&"nowrap"!==a.whiteSpace&&(t<(s.textPxLength||0)||"DIV"===s.element.tagName)?s.css(_(n,{width:`${t}px`,lineClamp:g})):(s.styles.width||s.textWidth||s.styles.lineClamp)&&!n.width&&!r&&s.css({width:"auto",lineClamp:0}),i.rotation=d.rotation)}),this),this.tickRotCorr=i.rotCorr(c.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some((function(t){return t.hasData()}))||this.options.showEmpty&&j(this.min)&&j(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,a=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),a||this.axisTitle.css(pt(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),a||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new ei(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,a)=>o.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex).clip(this.clippable?e.plotClipInner:void 0),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}shuffleTicks(){let t=this.ticks,e=this.old?.names;if("category"===this.type&&e){e.forEach(((i,s)=>{let o=this.namesMap[i];j(o)&&s!==o&&(t[s]&&(t[s].pos=o,this.isDirty=!0),t[o]&&-1===this.names.indexOf(e[o])&&(t[o].pos=NaN))}));let i=Object.values(t);Object.keys(t).forEach((e=>{delete t[e]})),i.forEach((e=>
1{isNaN(e.pos)?e.destroy():t[e.pos]=e}))}}getOffset(){let t,e,i,s,o,{chart:r,horiz:a,options:n,side:h,ticks:l,tickPositions:d,coll:c}=this,p=this.hasData(),g=n.title,u=n.labels,m=nt(n.crossing),f=r.axisOffset,x=r.clipOffset,y=[-1,1,1,-1][h],b=this.tickRotCorr||{x:0,y:0},v=0,k=0,w=0,M=0;if(this.showAxis=t=p||n.showEmpty,this.staggerLines=this.horiz&&u.staggerLines||void 0,this.createGroups(),p||this.isLinked?(this.shuffleTicks(),d.forEach(this.generateTick.bind(this)),this.renderUnsquish(),v=Math.abs((b=this.tickRotCorr).x),o=this.reserveSpaceDefault=0===h||2===h||{1:"left",3:"right"}[h]===this.labelAlign,(u.reserveSpace??(!m&&null)??("center"===this.labelAlign||null)??o)&&d.forEach((function(t){M=Math.max(l[t].getLabelSize(),M)})),this.staggerLines&&(M*=this.staggerLines),!a&&nt(this.labelRotation)&&o&&(M-=v),this.labelOffset=M*(this.opposite?-1:1)):ut(l,(function(t,e){t.destroy(),delete l[e]})),g?.text&&!1!==g.enabled&&(this.addTitle(t),t&&!m&&!1!==g.reserveSpace&&(this.titleOffset=k=this.axisTitle.getBBox()[a?"height":"width"],w=j(e=g.offset)?0:xt(g.margin,a?5:10))),this.renderLine(),this.offset=y*(nt(n.offset)?n.offset:f[h]?f[h]+(n.margin||0):0),s=0===h?-this.labelMetrics().h:2===h?b.y:0,i=Math.abs(M)+w,M&&(i-=s,i+=y*(a?u.y??b.y+y*u.distance:u.x??(o?y*(u.distance-v):b.x+y*u.distance)),!a&&!o&&"center"===this.labelAlign&&nt(this.labelRotation)&&(i+=v)),this.axisTitleMargin=e??i,this.maxLabelDimensions=this.getMaxLabelDimensions?.(l,d),"colorAxis"!==c&&x){let t=this.tickSize("tick");f[h]=Math.max(f[h],(this.axisTitleMargin||0)+k+y*this.offset,i,d?.length&&t?t[0]+y*this.offset:0);let e=!this.axisLine||n.offset?0:this.axisLine.strokeWidth()/2;x[h]=Math.max(x[h],e)}q(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?a:this.top],["L",o?e.chartWidth-this.right:r,o?a:e.chartHeight-this.bottom]],t)}renderLine(){let{chart:t,offset:e=0,options:i}=this;this.axisLine||(this.axisLine=t.renderer.path().addClass("highcharts-axis-line").attr(t.styledMode?{}:{stroke:i.lineColor,"stroke-width":i.lineWidth,zIndex:7}).clip(this.clippable&&e<=0?t.plotClipOuter:void 0).add(this.axisGroup))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,g={low:a+(e?0:o),middle:a+o/2,high:a+(e?o:0)}[r.align],u=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],m={x:e?g+l:u+(n?this.width:0)+h+l,y:e?u+d-(n?this.height:0)+h:g+d};return q(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new ei(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid?.isColumn)&&(o[t]||(o[t]=new ei(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,a=i.options,n=i.isLinked,h=i.tickPositions,l=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,g=a.stackLabels,u=a.alternateGridColor,m=a.crossing,f=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=ii(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach((function(t){ut(t,(function(t){t.isActive=!1}))})),nt(m)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(m,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||n){let r=i.chart.hasRendered&&i.old&&nt(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,r)})),h.length&&(h.forEach((function(t,e){i.renderTick(t,e,r)})),f&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new ei(i,-1,null,!0)),d[-1].render(-1))),u&&h.forEach((function(r,a){e=void 0!==h[a+1]?h[a+1]+f:i.max-f,a%2==0&&r<i.max&&e<=i.max+(s.polar?-f:f)&&(p[r]||(p[r]=new E.PlotLineOrBand(i,{})),t=r+f,p[r].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:u,className:"highcharts-alternate-grid"},p[r].render(),p[r].isActive=!0)})),i._addedPlotLB||(i._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEac
1h((function(t){i.addPlotBandOrLine(t)})))}[d,c,p].forEach((function(t){let e=[],i=b.duration;ut(t,(function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))})),Tt((function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])}),t!==p&&s.hasRendered&&i?i:0)})),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),l&&y&&(l[l.isNew?"attr":"animate"](i.getTitlePosition(l)),l.isNew=!1),g?.enabled&&i.stacking&&i.stacking.renderStackTotals(),this.old||this.saveOld(),i.isDirty=!1,q(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach((function(t){t.render()}))),this.series.forEach((function(t){t.isDirty=!0}))}saveOld(){this.old=nt(this.min)?{len:this.len,max:this.max,min:this.min,names:this.names.slice(),transA:this.transA,userMax:this.userMax,userMin:this.userMin}:void 0}getKeepProps(){return this.keepProps||di.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(q(this,"destroy",{keepEvents:t}),t||wt(e),[e.ticks,e.minorTicks,e.alternateBands].forEach((function(t){$(t)})),i){let t=i.length;for(;t--;)i[t].destroy()}for(let o in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach((function(t){e[t]&&(e[t]=e[t].destroy())})),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[o]=e.plotLinesAndBandsGroups[o].destroy();ut(e,(function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]})),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,a=this.crosshair,n=a?.snap??!0,h=this.chart,l=this.cross;if(q(this,"drawCrosshair",{e:t,point:e}
1),t||(t=this.cross?.e),a&&!1!==(j(e)||!n)){if(clearTimeout(this.crossShowTimer),n?j(e)&&(s=xt("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),j(s)&&(r={value:e&&(this.isXAxis?e.x:xt(e.stackY,e.y)),translatedValue:s},h.polar&&_(r,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),i=this.getPlotLinePath(r)||null),!j(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=Tt((()=>{let e=this.cross;e||(this.cross=e=h.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(a.className||"")).attr({zIndex:xt(a.zIndex,2)}).clip(!1===a.clip?void 0:h.plotClipInner).add(),!h.styledMode&&(e.attr({stroke:a.color||(o?ri("var(--highcharts-highlight-color-20)").setOpacity(.25).get():"var(--highcharts-neutral-color-20)"),"stroke-width":xt(a.width,1)}).css({"pointer-events":"none"}),a.dashStyle&&e.attr({dashstyle:a.dashStyle}))),e.show().animate({d:i},ii(a?.animation)),o&&!a.width&&e.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)}),(!l||"hidden"===l.attr("visibility"))&&a.showDelay||0)}else this.hideCrosshair();q(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),q(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=pt(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,xt(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);Z(e.axes,this),Z(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,xt(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}di.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){"datetime"===this.type?this.dateTime||(this.dateTime=new s(this)):this.dateTime=void 0}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,z(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i,s,o=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],r=o[o.length-1],a=Et[r[0]],n=r[1];for(i=0;i<o.length;i++)if(a=Et[(r=o[i])[0]],n=r[1],o[i+1]){let e=(a*n[n.length-1]+Et[o[i+1][0]])/2;if(t<=e){s=e/t;break}}return a===Et.year&&t<5*a&&(n=[1,2,5]),{unitRange:a,count:gt(t/a,n,"year"===r[0]?Math.max(tt(t/a),1):1),unitName:r[0],match:s}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=s}(x||(x={}));let ci=x;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),z(t,"afterSetType",e),z(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){let o=this.axis,r=o.len,a=o.options,n=[];if(s||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),n=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,a,h,l,d,c,p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;r<i+1&&!c;r++)for(a=0,h=o.length;a<h&&!c;a++)(l=this.log2lin(this.lin2log(r)*o[a]))>e&&(!s||d<=i)&&void 0!==d&&n.push(d),d>i&&(c=!0),d=l}else{let h=this.lin2log(e),l=this.lin2log(i),d=s?o.getMinorTickInterval():a.tickInterval,c=a.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=gt(t=xt("auto"===d?null:d,this.minorAutoInterval,(l-h)*c/(p||1))),n=o.getLinearTickPositions(t,h,l).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),n}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(y||(y={}));let pi=y;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEac
1h((t=>{this.addPlotBandOrLine(t)}))),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s,o,r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],n=this.horiz,h=!nt(this.min)||!nt(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,l=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(l&&r)for(h&&(o=l.toString()===r.toString(),d=0),s=0;s<l.length;s+=2){let t=l[s],e=l[s+1],i=r[s],h=r[s+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===h[0]||"L"===h[0])&&(n&&i[1]===t[1]?(i[1]+=d,h[1]+=d):n||i[2]!==t[2]||(i[2]+=d,h[2]+=d),a.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",h[1],h[2]],["L",i[1],i[2]],["Z"])),a.isFlat=o}return a}function a(t){this.removePlotBandOrLine(t)}function n(t){let e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach((function(e){for(o=e.length;o--;)e[o]?.id===t&&Z(e,e[o])}))}}function h(t){this.removePlotBandOrLine(t)}t.compose=function(t,l){let d=l.prototype;return d.addPlotBand||(e=t,_(d,{addPlotBand:i,addPlotLine:o,addPlotBandOrLine:s,getPlotBandPath:r,removePlotBand:a,removePlotLine:h,removePlotBandOrLine:n})),l}}(b||(b={}));let gi=b;class ui{static compose(t,e){return z(t,"afterInit",(function(){this.labelCollectors.push((()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t}))})),gi.compose(ui,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){q(this,"render");let t,{axis:e,options:i}=this,{chart:s,horiz:o,logarithmic:r}=e,{color:a,events:n,zIndex:h=0}=i,{renderer:l,time:d}=e.chart,c={},p=d.parse(i.to),g=d.parse(i.from),u=d.parse(i.value),m=i.borderWidth,f=i.label,{label:x,svgElem:y}=this,b=[],v=j(g)&&j(p),k=j(u),w=!y,M={class:"highcharts-plot-"+(v?"band ":"line ")+(i.className||"")},C=v?"bands":"lines";if(!s.styledMode&&(k?(M.stroke=a||"var(--highcharts-neutral-color-40)",M["stroke-width"]=xt(i.width,1),i.dashStyle&&(M.dashstyle=i.dashStyle)):v&&(M.fill=a||"var(--highcharts-highlight-color-10)",m&&(M.stroke=i.borderColor,M["stroke-width"]=m))),c.zIndex=h,C+="-"+h,(t=e.plotLinesAndBandsGroups[C])||(e.plotLinesAndBandsGroups[C]=t=l.g("plot-"+C).clip(s.plotClipOuter).attr(c).add()),y||(this.svgElem=y=l.path().attr(M).add(t)),j(u))b=e.getPlotLinePath({value:r?.log2lin(u)??u,lineWidth:y.strokeWidth(),acrossPanes:i.acrossPanes});else{if(!j(g)||!j(p))return;b=e.getPlotBandPath(r?.log2lin(g)??g,r?.log2lin(p)??p,i)}return!this.eventsAdded&&n&&(ut(n,((t,e)=>{y?.on(e,(t=>{n[e].apply(this,[t,this])}
1))})),this.eventsAdded=!0),!w&&y.d||!b?.length?y&&(b?(y.show(),y.animate({d:b})):y.d&&(y.hide(),x&&(this.label=x=x.destroy()))):y.attr({d:b}),f&&(j(f.text)||j(f.formatter))&&b?.length&&e.width>0&&e.height>0&&!b.isFlat?(f=pt({align:o&&v?"center":void 0,x:o?!v&&4:10,verticalAlign:!o&&v?"middle":void 0,y:o?v?16:10:v?6:-4,rotation:o&&!v?90:0,...v?{inside:!0}:{}},f),this.renderLabel(f,b,v,h)):x&&x.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,a=t.inside,n=this.label;n||(this.label=n=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||n.css(pt({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let h=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],l=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=N(h),c=N(l),p=R(h)-d;n.align(t,!1,{x:d,y:c,width:p,height:R(l)-c}),n.alignAttr.y-=r.fontMetrics(n).b,(!n.alignValue||"left"===n.alignValue||j(a))&&n.css({width:(t.style?.width||(i&&a?p:90===n.rotation?o.height-(n.alignAttr.y-o.top):(t.clip?o.width+o.left:o.chart.chartWidth)-n.alignAttr.x))+"px"}),n.show(!0)}getLabelText(t){return j(t.formatter)?t.formatter.call(this,this):t.text}destroy(){Z(this.axis.plotLinesAndBands,this),delete this.axis,$(this)}}let{animObject:mi}=Kt,{format:fi}=de,{composed:xi,dateFormats:yi,doc:bi,isSafari:vi}=E,{distribute:ki}=ce,wi=t=>{clearTimeout(t.hideTimer),clearTimeout(t.showTimer)};class Mi{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map((t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"",t)}))}cleanSplit(t){this.chart.series.forEach((function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)}))}defaultFormatter(t){let e,i=this.points||Mt(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),V(this.container)),ot(this.hideTimer),wi(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=Mt(t))[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach((function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])})),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-n,o-a]}let h={point:t[0],ret:i};return q(this,"getAnchor",h),h.ret.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+xt(t.colorIndex,o.colorIndex),r?.className].filter(ht).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style;this.container=a=E.doc.createElement("div"),a.className="highcharts-container highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),a.dataset.highchartsChart=t.index.toString(),Y(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(o.style.zIndex||0,(e?.zIndex||0)+3)}),this.renderer=n=new Ue(a,0,0,e,void 0,void 0,n.styledMode)}if(r?this.label=n.g("tooltip"):(this.label=n.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth??+!o.fixed}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;
vendor: 6,315 bytes, line 1
1[t.xSetter,t.ySetter].forEach(((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,a&&(a.style[s?"top":"left"]=`${o}px`)}}))}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return a&&!a.parentElement&&E.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=bi,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let s,{distance:o,chart:r,outside:a,pointer:n}=this,{inverted:h,plotLeft:l,plotTop:d,polar:c}=r,{plotX:p=0,plotY:g=0}=i,u={},m=h&&i.h||0,{height:f,width:x}=this.getPlayingField(),y=n.getChartPosition(),b=i=>{let s="x"===i;return[i,s?x:f,s?t:e].concat(a?[s?t*y.scaleX:e*y.scaleY,s?y.left-o+(p+l)*y.scaleX:y.top-o+(g+d)*y.scaleY,0,s?x:f]:[s?t:e,s?p+l:g+d,s?l:d,s?l+r.plotWidth:d+r.plotHeight])},v=b("y"),k=b("x"),w=!!i.negative;!c&&r.hoverSeries?.yAxis?.reversed&&(w=!w);let M=!this.followPointer&&xt(i.ttBelow,!c&&!h===w),C=function(t,e,i,s,r,n,h){let l=a?"y"===t?o*y.scaleY:o*y.scaleX:o,d=(i-s)/2,c=s<r-o,p=r+o+s<e,g=r-l-i+d,f=r+l-d;if(M&&p)u[t]=f;else if(!M&&c)u[t]=g;else if(c)u[t]=Math.min(h-s,g-m<0?g:g-m);else{if(!p)return u[t]=0,!1;u[t]=Math.max(n,f+m+i>e?f:f+m)}},T=function(t,e,i,s,r){if(r<o||r>e-o)return!1;u[t]=r<i/2?1:r>e-s/2?e-s-2:r-i/2},S=function(t){[v,k]=[k,v],s=t},A=()=>{!1!==C.apply(0,v)?!1!==T.apply(0,k)||s||(S(!0),A()):s?u.x=u.y=0:(S(!0),A())};return(h&&!c||this.len>1)&&S(),A(),a&&(u.x-=y.left,u.y-=y.top),u}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:a}=this,n=r.position,h=n.relativeTo,l=r.shared||s?.yAxis?.isRadial&&("pane"===h||!h)?"plotBox":h,d="chart"===l?o.renderer:o[l]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*J(n.align)+n.x,y:d.y+(d.height-e)*J(n.verticalAlign)+(!a&&n.y||0)}}hide(t){let e=this;wi(this),t=xt(t,this.options.hideDelay),this.isHidden||(this.hideTimer=Tt((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0}),t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=xt(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let{followPointer:o,options:r}=this,a=mi(!o&&!this.isHidden&&!r.fixed&&r.animation),n={x:t,y:e};o||(this.len||0)>1?n.anchorX=n.anchorY=NaN:(n.anchorX=i,n.anchorY=s),a.step=()=>this.drawTracker(),this.getLabel().animate(n,a)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:a}=this,n=Mt(t),h=n[0],l=o.format,d=o.formatter||i.defaultFormatter,c=s.styledMode,p=i.allowShared;if(!o.enabled||!h.series)return;wi(this),i.allowShared=!(!lt(t)&&t.series&&t.series.noSharedTooltip),p=p&&!i.allowShared,i.followPointer=!i.split&&h.series.tooltipOptions.followPointer;let g=i.getAnchor(t,e),u=g[0],m=g[1];a&&i.allowShared&&(r.applyInactiveState(n),n.forEach((t=>t.setState("hover"))),h.points=n),this.len=n.length;let f=ht(l)?fi(l,h,s):d.call(h,i,h);h.points=void 0;let x=h.series;this.distance=xt(x.tooltipOptions.distance,16),!1===f?this.hide():this.showTimer=Tt((()=>{if(i.split&&i.allowShared)i.renderSplit(f,n);else{let t=u,a=m;if(e&&r.isDirectTouch&&(t=e.chartX-s.plotLeft,a=e.chartY-s.plotTop),!s.polar&&!1!==x.options.clip&&!n.some((e=>r.isDirectTouch||e.series.shouldShowTooltip(t,a))))return void i.hide();{let t=i.getLabel(p&&i.tt||{});(!o.style.width||c)&&t.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),t.attr({class:i.getClassName(h),text:lt(f)?f.join(""):f}),this.outside&&t.attr({x:X(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),c||t.attr({stroke:o.borderColor||h.color||x.color||"var(--highcharts-neutral-color-60)"}),i.updatePosition({plotX:u,plotY:m,negative:h.negative,ttBelow:h.ttBelow,series:x,h:g[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1}),i.isHidden&&o.showDelay||0),q(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:h,scrollablePixelsY:l=0,scrollablePixelsX:d,styledMode:c},distance:p,options:g,options:{fixed:u,position:m,positioner:f},pointer:x}=i,{scrollLeft:y=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&"number"!=typeof d?bi.documentElement.getBoundingClientRect():{left:y,right:y+o,top:b,bottom:b+r},k=i.getLabel(),w=this.renderer||s.renderer,M=!!s.xAxis[0]?.opposite,{left:C,top:T}=x.getChartPosition(),S=f||u,A=h+b,P=0,O=a-l,L=function(t,e,s,o,r=[0,0],a=!0){let n,h;if(s.isHeader)h=M?0:O,n=X(r[0]-t/2,v.left,v.right-t-(i.outside?C:0));else if(u&&s){let o=i.getFixedPosition(t,e,s);n=o.x,h=o.y-A}else h=r[1]-A,n=X(n=a?r[0]-t-p:r[0]+p,a?n:v.left,v.right);return{x:n,y:h}};ht(t)&&(t=[!1,t]);let E=t.slice(0,e.length+1).reduce((function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},l=r.isHeader,d=l?i:r.series,m=d.tt=function(t,e,s){let o=t,{isHeader:r,series:a}=e,n=a.tooltipOptions||g,h=r?pt(n,n.header):n;if(!o){let t={padding:n.padding,r:n.borderRadius};c||(t.fill=h.backgroundColor,t["stroke-width"]=h.borderWidth??+!n.fixed),o=w.label("",0,0,h.shape||(u&&!r?"rect":"callout"),void 0,void 0,n.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(k)}return o.isActive=!0,c||o.css(h.style),o.attr({text:s}),c||o.attr({stroke:h.borderColor||e.color||a.color||"var(--highcharts-neutral-color-80)"}),o}(d.tt,r,s.toString()),x=m.getBBox(),y=x.width+m.strokeWidth();l&&(P=x.height+g.header.distance,O+=P,M&&(A-=P));let{anchorX:b,anchorY:C}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:l}=t;if(s)e=Math.max(n+o,n),i=h+a/2;else{let{xAxis:t,yAxis:s}=l;e=t.pos+X(o,-p,t.len+p),l.shouldShowTooltip(0,s.pos-h+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=X(e,v.left-p,v.right+p),anchorY:i}}(r);if("number"==typeof C){let e=x.height+1,s=(f||L).call(i,y,e,r,i,[b,C]);t.push({align:S?0:void 0,anchorX:b,anchorY:C,boxWidth:y,point:r,rank:xt(s.rank,+!!l),size:e,target:s.y,tt:m,x:s.x})}
1else m.isActive=!1}return t}),[]);!S&&E.some((t=>{let{outside:e}=i,s=(e?C:0)+t.anchorX;return s<v.left&&s+t.boxWidth<v.right||s<C-v.left+t.boxWidth&&v.right-s>s}))&&(E=E.map((t=>{let{x:e,y:i}=L.call(this,t.boxWidth,t.size,t.point,void 0,[t.anchorX,t.anchorY],!1);return _(t,{target:i,x:e})}))),i.cleanSplit(),ki(E,O);let I={left:C,right:C};E.forEach((function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&C+e<I.left&&(I.left=C+e),i.outside&&I.left+s>I.right&&(I.right=C+e))})),E.forEach((function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:a}}=t,n={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+A+(u&&m.y||0),anchorX:s,anchorY:o};if(i.outside&&e<s){let t=C-I.left;t>0&&(n.x=a?(I.right-I.left)/2:e+t,n.anchorX=s+t)}t.tt.attr(n)}));let{container:D,outside:B,renderer:z}=i;if(B&&D&&z){let{width:t,height:e,x:i,y:s}=k.getBBox();z.setSize(t+i,e+s,!1),D.style.left=I.left+"px",D.style.top=T+"px"}vi&&k.attr({opacity:1===k.opacity?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact())return void(t.tracker&&(t.tracker=t.tracker.destroy()));let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let o={x:0,y:0,width:0,height:0},r=this.getAnchor(s),a=i.getBBox();r[0]+=e.plotLeft-(i.translateX||0),r[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,r[0]),o.y=Math.min(0,r[1]),o.width=r[0]<0?Math.max(Math.abs(r[0]),a.width-r[0]):Math.max(Math.abs(r[0]),a.width),o.height=r[1]<0?Math.max(Math.abs(r[1]),a.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),a.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),z(t.tracker.element,"mouseenter",(()=>wi(t))),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis?.dateTime,r={isFooter:e,point:t},a=s.xDateFormat||"",n=s[e?"footerFormat":"headerFormat"];return q(this,"headerFormatter",r,(function(e){if(o&&!a&&nt(t.key)&&(a=o.getXDateFormat(t.key,s.dateTimeLabelFormats)),o&&a){if(ct(a)){let t=a;yi[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}
vendor: 4,811 bytes, line 1
1(t.tooltipDateKeys||["key"]).forEach((t=>{n=n.replace(RegExp("point\\."+t+"([ \\)}])"),`(point.${t}:${a})$1`)}))}i.chart.styledMode&&(n=this.styledModeFormat(n)),e.text=fi(n,t,this.chart)})),r.text||""}update(t){this.destroy(),this.init(this.chart,pt(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:o,options:r,pointer:a,renderer:n}=this,{height:h=0,width:l=0}=this.getLabel(),{fixed:d,positioner:c}=r,{left:p,top:g,scaleX:u,scaleY:m}=a.getChartPosition(),f=(c||d&&this.getFixedPosition||this.getPosition).call(this,l,h,t,this),x=E.doc,y=(t.plotX||0)+i.plotLeft,b=(t.plotY||0)+i.plotTop;if(n&&s){if(f.x+=p,f.y+=g,c||d){let{scrollLeft:t=0,scrollTop:e=0}=i.scrollablePlotArea?.scrollingContainer||{};f.x+=t,f.y+=e}e=(r.borderWidth??+!d)+2*o+2,n.setSize(X(l+e,0,x.documentElement.clientWidth)-1,h+e,!1),(1!==u||1!==m)&&(Y(s,{transform:`scale(${u}, ${m})`}),y*=u,b*=m),y+=p-f.x,b+=g-f.y}this.move(Math.round(f.x),Math.round(f.y||0),y,b)}}(n=Mi||(Mi={})).compose=function(t){bt(xi,"Core.Tooltip")&&z(t,"afterInit",(function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new n(t,t.options.tooltip,this))}))};let Ci=Mi,{animObject:Ti}=Kt,{defaultOptions:Si}=Ht,{format:Ai}=de;class Pi{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=It()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=t.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,q(this,"afterInit")}applyOptions(t,e,i){let s=this.series,o=s.options.pointValKey||s.pointValKey;return _(this,t=Pi.prototype.optionsToObject.call(this,t)),this.options?this.options=s.chart.options.chart.allowMutatingData?_(this.options,t):pt(this.options,t):this.options=t,o&&(this.y=Pi.prototype.getNestedProperty.call(this,o)),nt(e)&&(this.x=e),i||(this.selected&&(this.state="select"),t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point"),this}getOrigin({x:t=0,y:e=0},i={}){let{graphic:s,series:o}=this;if(o.chart.inverted&&s?.parentGroup&&!s?.parentGroup?.rotation){let i=this.pos(!1,t,e);i&&(t=i[0],e=i[1])}t-=(i.width||0)/2,e-=(i.height||0)/2;let r={x:t};return o.is("column")||this.plotHigh||(r.y=e),r}destroy(){if(!this.condemned){let t=this,e=t.series,i=e.chart,s=i.hoverPoints,{duration:o}=Ti(t.series.chart.renderer.globalAnimation),r=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(wt(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),s&&(t.setState(),Z(s,t),s.length||(i.hoverPoints=void 0)),t===i.hoverPoint&&t.onMouseOut(),o&&e.condemnedPoints?(e.condemnedPoints.push(this),this.graphic?.addClass("highcharts-point-condemned"),setTimeout(r,o)):r(),i.pointCount--}this.condemned=!0}destroyElements(t={graphic:1,dataLabel:1}){let e,i,s=this,o=[];for(t.graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&(s[e]=s[e].destroy());["graphic","dataLabel"].forEach((e=>{let i=`${e}s`;t[e]&&s[i]&&(s[i].forEach((t=>{t?.element&&t.destroy()})),delete s[i])}))}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.condemned&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),q(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&!1!==this.series.options.negativeColor?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getNestedProperty(t){if(t)return 0===t.indexOf("custom.")?et(t,this.options):this[t]}getZone(){let t,e=this.series,i=e.zones,s=e.zoneAxis||"y",o=0;for(t=i[0];this[s]>=t.value;)t=i[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),t?.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(nt(this.x)||this.x instanceof Date)&&nt(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,o=s||i.pointArrayMap||["y"],r=o.length,a={},n=0,h=0;if(nt(t)||null===t)a[o[0]]=t;else if(lt(t))for(!s&&t.length>r&&("string"==(e=typeof t[0])?i.xAxis?.dateTime?a.x=i.chart.time.parse(t[0]):a[i.tupleKey||"name"]=t[0]:"number"===e&&(a.x=t[0]),n++);h<r;)s&&void 0===t[n]||(a[o[h]]=t[n]),n++,h++;else"object"==typeof t&&(a=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));
1return(s||!i.options.data)&&Object.keys(a).forEach((t=>{t.indexOf(".")>0&&(Pi.prototype.setNestedProperty(a,a[t],t),delete a[t])})),a}pos(t,e=this.plotX,i=this.plotY){let{series:s}=this,{chart:o,xAxis:r,yAxis:a}=s||{},n=0,h=0;if(o&&nt(e)&&nt(i))return t&&(n=r?r.pos:o.plotLeft,h=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-i+h,r.len-e+n]:[e+n,i+h]}resolveColor(){let t,e,{options:i,series:s}=this,o=s.chart,r=o.options.chart,a=o.styledMode,n=r.colorCount;if(delete this.nonZonedColor,s.options.colorByPoint){if(!a){let e=s.options.colors||o.options.colors;t=e?.[s.colorCounter],n=e?.length}e=s.colorCounter,s.colorCounter++,s.colorCounter===n&&(s.colorCounter=0)}else a||(t=s.color),e=s.colorIndex;this.colorIndex=i.colorIndex??e,this.color=i.color??t}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:ct(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:a=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach((e=>{e="{point."+e,(r||a)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+a)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")})),Ai(t,this,e)}update(t,e=!0,i,s){let o=this,r=o.series,a=o.graphic,n=r.chart,h=r.options,l=h.data;function d(){o.applyOptions(t);let s=a&&o.hasMockGraphic,d=o.index,c=null===o.y?!s:s;a&&c&&(o.graphic=a.destroy(),delete o.hasMockGraphic),ct(t,!0)&&(a?.element&&t?.marker&&void 0!==t.marker.symbol&&(o.graphic=a.destroy()),t?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy()));let p=o.optionsToObject(t);!r.hasProcessedDataTable&&(r.dataTable.setRow(p,d),l&&(l[d]=ct(l[d],!0)||ct(t,!0)?o.options:t??l[d])),r.isDirty=r.isDirtyData=!0,"x"in p&&(ht(p.x)&&(r.xColumnIsNumbers=void 0),o.x=r.getX(p.x),o.isNull=o.isValid&&!o.isValid(),r.xColumn&&(r.xColumn[d]=o.x)),!r.fixedBox&&r.hasCartesianSeries&&(n.isDirtyBox=!0),"point"===h.legendType&&(n.isDirtyLegend=!0),e&&n.redraw(i)}!1===s?d():o.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=xt(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},(function(){i.selected=i.options.selected=t,s.options.data&&(s.options.data[s.data.indexOf(i)]=i.options),i.setState(t&&"select"),e||o.getSelectedPoints().forEac
1h((function(t){let e=t.series,s=e.options;t.selected&&t!==i&&(t.selected=t.options.selected=!1,s.data&&(s.data[e.data.indexOf(t)]=t.options),t.setState(o.hoverPoints&&s.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))}))})),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){if(!this.series)return;let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach((function(t){t.setState()})),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=pt(this.series.options.point,this.options).events?.[t];!dt(e)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map((t=>t.fn)).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(wt(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=z(this,t,e),this.hcEvents&&(this.hcEvents[t].userEvent=!0))}setState(t,e){let i,s,o,r,a=this.series,n=this.state,h=a.options.states[t||"normal"]||{},l=Si.plotOptions[a.type].marker&&a.options.marker,d=l&&!1===l.enabled,c=l?.states?.[t||"normal"]||{},p=!1===c.enabled,g=this.marker||{},u=a.chart,m=l&&a.markerAttribs,f=a.halo,x=a.stateMarkerGraphic;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===h.enabled||t&&(p||d&&!1===c.enabled)||t&&g.states&&g.states[t]&&!1===g.states[t].enabled)return;if(this.state=t,m&&(i=a.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(n&&this.graphic.removeClass("highcharts-point-"+n),t&&this.graphic.addClass("highcharts-point-"+t),!u.styledMode){s=a.pointAttribs(this,t),o=xt(u.options.chart.animation,h.animation);let e=s.opacity;a.options.inactiveOtherPoints&&nt(e)&&(this.dataLabels||[]).forEach((function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},o),t.connector&&t.connector.animate({opacity:e},o))})),this.graphic.animate(s,o)}i&&this.graphic.animate(i,xt(u.options.chart.animation,c.animation,l.animation)),x&&x.hide()}else t&&c&&(r=g.symbol||a.symbol,x&&x.currentSymbol!==r&&(x=x.destroy()),i&&(x?x[e?"animate":"attr"]({x:i.x,y:i.y}):r&&(a.stateMarkerGraphic=x=u.renderer.symbol(r,i.x,i.y,i.width,i.height,pt(l,c)).add(a.markerGroup),x.currentSymbol=r)),!u.styledMode&&x&&"inactive"!==this.state&&x.attr(a.pointAttribs(this,t))),x&&(x[t&&this.isInside?"show":"hide"](),x.element.point=this,x.addClass(this.getClassName(),!0));let y=h.halo,b=this.graphic||x,v=b?.visibility||"inherit";y?.size&&b&&"hidden"!==v&&!this.isCluster?(f||(a.halo=f=u.renderer.path().add(b.parentGroup)),f.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),f.attr({class:"highcharts-halo highcharts-color-"+xt(this.colorIndex,a.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),f.point=this,u.styledMode||f.attr(_({fill:this.color||a.color,"fill-opacity":y.opacity},ie.filterUserAttributes(y.attributes||{})))):f?.point?.haloPath&&!f.point.destroyed&&f.animate({d:f.point.haloPath(0)},null,f.hide),q(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(F(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let Oi=Pi,{charts:Li,composed:Ei,isTouchDevice:Ii}=E,Di=(t,e)=>!j(e)||t[`${e}Key`];class Bi{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach((t=>{let i=t.series;e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&e.push.apply(e,i.linkedSeries),i.navigatorSeries&&e.push(i.navigatorSeries),i.boosted&&i.markerGroup&&e.push.apply(e,this.chart.series.filter((t=>t.markerGroup===i.markerGroup)))})),this.chart.series)){let t=i.options;!1!==t.states?.inactive?.enabled&&(-1===e.indexOf(i)?i.setState("inactive",!0):t.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach((t=>t())),this.eventsToUnbind=[],!E.chartCount&&(Bi.unbindDocumentMouseUp.forEach((t=>t.unbind())),Bi.unbindDocumentMouseUp.length=0,Bi.unbindDocumentTouchEnd&&(Bi.unbindDocumentTouchEnd=Bi.unbindDocumentTouchEnd())),ut(t,(function(e,i){t[i]=void 0}))}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return q(this,"getSelectionMarkerAttrs",i,(i=>{let s,{chart:o,zoomHor:r,zoomVert:a}
vendor: 4,220 bytes, line 1
1=this,{mouseDownX:n=0,mouseDownY:h=0}=o,l=i.attrs;l.x=o.plotLeft,l.y=o.plotTop,l.width=r?1:o.plotWidth,l.height=a?1:o.plotHeight,r&&(l.width=Math.max(1,Math.abs(s=t-n)),l.x=(s>0?0:s)+n),a&&(l.height=Math.max(1,Math.abs(s=e-h)),l.y=(s>0?0:s)+h)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:o=0}=i,{panning:r,panKey:a,selectionMarkerFill:n}=i.options.chart,h=i.plotLeft,l=i.plotTop,d=i.plotWidth,c=i.plotHeight,p=ct(r)?r.enabled:r,g=a&&t[`${a}Key`],u=t.chartX,m=t.chartY,f=this.selectionMarker;if((!f||!f.touch)&&(u<h?u=h:u>h+d&&(u=h+d),m<l?m=l:m>l+c&&(m=l+c),this.hasDragged=Math.sqrt(Math.pow(s-u,2)+Math.pow(o-m,2)),this.hasDragged>10)){e=i.isInsidePlot(s-h,o-l,{visiblePlotOnly:!0});let{shapeType:d,attrs:c}=this.getSelectionMarkerAttrs(u,m);this.hasZoom&&e&&!g&&!f&&(this.selectionMarker=f=i.renderer[d](),f.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||f.attr({fill:n})),f&&f.attr(c),e&&!f&&p&&Di(t,a)&&i.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return q(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let o of i.axes)o.isPanning&&(o.isPanning=!1,(o.options.startOnTick||o.options.endOnTick||o.series.some((t=>t.boosted)))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY))),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}nt(i.index)&&(this.selectionMarker=s.destroy())}i&&nt(i.index)&&(Y(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach((function(t){var o;let r,a,n,h=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),l=t.searchPoint(i,h);ct(l,!0)&&l.series&&(!ct(s,!0)||(r=(o=s).distX-l.distX,a=o.dist-l.dist,n=l.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==a?a:0!==n?n:o.series.index>l.series.index?-1:1)>0))&&(s=l)})),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&o&&nt(o.x)&&nt(o.y)&&(r=o.x,a=o.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:a+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=mt(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let a,n=[],h=function(t){return t.visible&&!(!o&&t.directTouch)&&xt(t.options.enableMouseTracking,!0)},l=e,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};q(this,"beforeGetHoverData",d),a=l&&!l.stickyTracking?[l]:i.filter((t=>t.stickyTracking&&(d.filter||h)(t)));let c=s&&t||!r?t:this.findNearestKDPoint(a,o,r);return l=c?.series,c&&(o&&!l.noSharedTooltip?(a=i.filter((function(t){return d.filter?d.filter(t):h(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=t.options?.nullInteraction,i=st(t.points,(function(t){return t.x===c.x&&(!t.isNull||!!e)}));ct(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),n.push(i))})):n.push(c)),q(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i,s=t;for(;s;){if(i=W(s,"class")){if(-1!==i.indexOf(e))return!0;
vendor: 4,548 bytes, line 1
1if(-1!==i.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),q(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):xt(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return _(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(q(i.series,"click",_(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(_(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&q(e,"click",s)))}onContainerMouseDown(t){let e=1==(1&(t.buttons||t.button));t=this.normalize(t),E.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=Li[xt(Bi.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.exporting?.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),Li[xt(Bi.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],(t=>e.normalize(t))),a=r.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=1===a&&(i.tooltip?.options.followTouchMove??!0);a>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(q(i,"touchpan",{originalEvent:t,touches:r},(()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter((t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz))),to:e(r),from:e(o),trigger:t.type})})),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,a=i.tooltip,n=a?.shared?r:o;t&&n&&Mt(n).forEach((function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)})),t?a&&n&&Mt(n).length&&(a.refresh(n),a.shared&&r?r.forEach((function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))})):o&&(o.setState(o.state,!0),i.axes.forEach((function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)})))):(o&&o.onMouseOut(),r&&r.forEach((function(t){t.setState()})),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach((function(t){t.hideCrosshair()})),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip?.options.enabled?s.tooltip:void 0,a=!!r&&r.shared,n=e||s.hoverPoint,h=n?.series||s.hoverSeries,l=(!t||"touchmove"!==t.type)&&(!!e||h?.directTouch&&this.isDirectTouch),d=this.getHoverData(n,h,o,l,a,t);n=d.hoverPoint,h=d.hoverSeries;let c=d.hoverPoints,p=h?.tooltipOptions.followPointer&&!h.tooltipOptions.split,g=a&&h&&!h.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEac
1h((function(t){-1===c.indexOf(t)&&t.setState()})),s.hoverSeries!==h&&h.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach((function(t){t.setState("hover")})),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=c,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,(()=>{r&&n&&r.refresh(g?c:n,t)}))}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=z(s.container.ownerDocument,"mousemove",(t=>Li[Bi.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t))),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(e){let i,o=e.crosshair?.snap??!0;o&&((i=s.hoverPoint)&&i.series[e.coll]===e||(i=st(c,(t=>t.series?.[e.coll]===e)))),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()}))}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=t=>t.parentElement||t.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(z(t,"mouseenter",this.onContainerMouseEnter.bind(this)),z(t,"mouseleave",this.onContainerMouseLeave.bind(this))),Bi.unbindDocumentMouseUp.some((t=>t.doc===e))||Bi.unbindDocumentMouseUp.push({doc:e,unbind:z(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&"BODY"!==s.tagName;)this.eventsToUnbind.push(z(s,"scroll",(()=>{delete this.chartPosition}))),s=i(s);this.eventsToUnbind.push(z(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),z(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),Bi.unbindDocumentTouchEnd||(Bi.unbindDocumentTouchEnd=z(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),z(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!Ii)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=(e.options.tooltip?.followTouchMove??!0)&&e.series.some((t=>t.options.findNearestPointBy.indexOf("y")>-1));!this.hasPointerCapture&&s?(t.push(z(i,"pointerdown",(t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)})),z(i,"pointermove",(t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)}))),this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach((t=>t())),t.length=0,this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=E.charts[xt(Bi.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(Bi.hoverChartIndex=e.index)}touch(t,e){let i,s,{chart:o,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?((s=o.isInsidePlot(t.chartX-o.plotLeft,t.chartY-o.plotTop,{visiblePlotOnly:!0}))&&!o.exporting?.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(this.hasPinchMoved=i=!!r[0]&&Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)>=16),xt(i,!0)&&this.pinch(t)):e&&this.reset(),(o.tooltip?.options.followTouchMove??1)&&s&&t.preventDefault()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e,i,s=this.chart,o=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=xt(s.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!o||i&&o,this.zoomVert=i&&!o||e&&o,this.hasZoom=(e||i)&&Di(t,s.zooming.key)}}Bi.unbindDocumentMouseUp=[],(h=Bi||(Bi={})).compose=function(t){bt(Ei,"Core.Pointer")&&z(t,"beforeRender",(function(){this.pointer=new h(this,this.options)}))};let zi=Bi,{setLength:Ni,splice:Ri}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};let r=Object.getPrototypeOf(t).constructor,a=t[s?"subarray":"slice"](e,e+i),n=new r(t.length-i+o.length);return n.set(t.subarray(0,e),0),n.set(o,e),n.set(t.subarray(e+i),e+o.length),{removed:a,array:n}}},Wi=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||It(),this.rowCount=0,this.versionTag=It();let e=0;ut(t.columns||{},((t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)})),this.applyRowCount(e)}
1applyRowCount(t){this.rowCount=t,ut(this.columns,((e,i)=>{e.length!==t&&(this.columns[i]=Ni(e,t))}))}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;ut(this.columns,((s,o)=>{this.columns[o]=Ri(s,t,e).array,i=s.length})),this.rowCount=i}q(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=It()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce(((t,e)=>(t[e]=this.columns[e],t)),{})}getRowObject(t,e){let i={},s=this.columns;for(let o of(e??(e=Object.keys(this.columns)),e))i[o]=s[o]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ut(t,((t,e)=>{this.columns[e]=t.slice(),s=t.length})),this.applyRowCount(s),i?.silent||(q(this,"afterSetColumns"),this.versionTag=It())}setRow(t,e=this.rowCount,i,s){var o;let{columns:r}=this,a=i?this.rowCount+1:e+1,n=Object.keys(t);if(!1!==s?.addColumns)for(let h=0,l=n.length;h<l;h++)r[o=n[h]]||(r[o]=Array(this.rowCount));ut(r,((s,o)=>{s&&(i?s=Ri(s,e,0,!0,[t[o]]).array:s[e]=o in t?t[o]:s[e],r[o]=s)})),this.applyRowCount(Math.max(a,this.rowCount)),s?.silent||(q(this,"afterSetRows",{rowIndex:e}),this.versionTag=It())}getModified(){return this.modified||this}};var Xi=v||(v={});function Hi(t,e,i){let s,o=this.legendItem=this.legendItem||{},{chart:r,options:a}=this,{baseline:n=0,symbolWidth:h,symbolHeight:l}=t,d=this.symbol||"circle",c=l/2,p=r.renderer,g=o.group,u=n-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),m={},f=a.marker,x=0;if(r.styledMode||(m["stroke-width"]=Math.min(a.lineWidth||0,24),a.dashStyle?m.dashstyle=a.dashStyle:"square"!==a.linecap&&(m["stroke-linecap"]="round")),o.line=p.path().addClass("highcharts-graph").attr(m).add(g),i&&(o.area=p.path().addClass("highcharts-area").add(g)),m["stroke-linecap"]&&(x=Math.min(o.line.strokeWidth(),h)/2),h){let t=[["M",x,u],["L",h-x,u]];o.line.attr({d:t}),o.area?.attr({d:[...t,["L",h-x,n],["L",x,n]]})}if(f&&!1!==f.enabled&&h){let t=Math.min(xt(f.radius,c),c);0===d.indexOf("url")&&(f=pt(f,{width:l,height:l}),t=0),o.symbol=s=p.symbol(d,h/2-t,u-t,2*t,2*t,_({context:"legend"},f)).addClass("highcharts-point").add(g),s.isMarker=!0}}Xi.areaMarker=function(t,e){Hi.call(this,t,e,!0)},Xi.lineMarker=Hi;let Gi=v,{defaultOptions:Fi}=Ht;var Yi=k||(k={});function ji(t,e){let i=Fi.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=Oi),!Yi.seriesTypes[t]&&(s&&(i[t]=s),Yi.seriesTypes[t]=e,!0)}Yi.seriesTypes=E.seriesTypes,Yi.registerSeriesType=ji,Yi.seriesType=function(t,e,i,s,o){let r=Fi.plotOptions||{};if(e=e||"",r[t]=pt(r[e],i),delete Yi.seriesTypes[t],ji(t,K(Yi.seriesTypes[e]||E.Series,s)),Yi.seriesTypes[t].prototype.type=t,o){class e extends Oi{}_(e.prototype,o),Yi.seriesTypes[t].prototype.pointClass=e}return Yi.seriesTypes[t]};let $i=k,{animObject:Vi,setAnimation:Ui}=Kt,{defaultOptions:Zi}=Ht,{registerEventOptions:_i}=Qe,{svg:Ki,win:qi}=E,{seriesTypes:Ji}=$i,{format:Qi}=de;class ts{constructor(){this.zoneAxis="y"}init(t,e){let i;q(this,"init",{options:e});let s=t.series;this.eventsToUnbind=[],this.condemnedPoints||(this.condemnedPoints=[]),this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.dataTable??(this.dataTable=o.dataTable?.isDataTable?o.dataTable:new Wi(o.dataTable)),this.linkedSeries=[],this.bindAxes(),_(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),_i(this,o),(o.events?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=xt(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",Lt(this,s)),this.points||this.data||this.setData(o.data,!1),q(this,"afterInit")}is(t){return Ji[t]&&this instanceof Ji[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;q(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(o){(s[o]||[]).forEach((function(s){t=s.options,
vendor: 4,139 bytes, line 1
1(xt(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(Lt(e,s.series),e[o]=s,s.isDirty=!0)})),e[o]||e.optionalAxis===o||Ot(18,!0,s)}))})),q(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,a=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=xt(this.pointInterval,i.pointInterval,1),o&&nt(t)&&(e*=t),s){let t=r.toParts(a);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-a}return o&&nt(t)?a+e:(this.xIncrement=a+e,a)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=pt(t),a=i.styledMode,n={plotOptions:s,userOptions:r};q(this,"setOptions",n);let h=n.plotOptions[this.type],l=o.plotOptions||{},d=l.series||{},c=Zi.plotOptions[this.type]||{},p=l[this.type]||{};h.dataLabels=this.mergeArrays(c.dataLabels,h.dataLabels),this.userOptions=n.userOptions;let g=pt(h,s.series,p,r),{negativeColor:u,negativeFillColor:m,zoneAxis:f="y",zones:x}=g,y=(x||[]).map((t=>({...t})));return this.tooltipOptions=pt(Zi.tooltip,Zi.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=xt(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zones||(this.zones=y),this.zoneAxis=f,(u||m)&&!x&&(e={value:g[f+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||("boolean"!=typeof u&&(e.color=u),e.fillColor=m),y.push(e)),y.length&&j(y[y.length-1].value)&&y.push(a?{}:{color:this.color,fillColor:this.fillColor}),q(this,"afterSetOptions",{options:g}),g}getName(){let{chart:t,options:e}=this,{dataMapping:i,name:s}=e,o=i?.y||i?.value,r=ht(o)?o:o?.column;return s??(ht(r)?r:Qi(t.options.lang.seriesName,this,t))}getCyclic(t,e,i){let s,o,r=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||r.options.chart.colorCount;!e&&(j(o=xt("color"===t?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%h,r[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){let t=this.chart;t.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="var(--highcharts-neutral-color-20)":this.getCyclic("color",this.options.color||Zi.plotOptions[this.type]?.color,t.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e,i){let s=e?this.dataTable.getModified():this.dataTable,o=s.rowCount,r=this.dataTable!==s,a=s.getColumn(t,!0);if("x"===t&&!r){if(this.xColumn)return this.xColumn;let t=s.getColumn("name",!0),e=this.options,i=t=>{if(void 0!==this.xColumnIsNumbers)return this.xColumnIsNumbers;for(let e of t)if("number"!=typeof e)return this.xColumnIsNumbers=!1;return this.xColumnIsNumbers=!0};if(this.xIncrement=null,!a||this.xAxis?.hasNames||e.relativeXValue||a.length<(e.turboThreshold||1/0)&&!this.boosted&&!i(a)){let e=[];for(let i=0;i<o;i++){let s=a?.[i];j(s)||(this.xIncrement??(this.xIncrement=e[e.length-1]??null)),e.push(this.getX(s,t?.[i]))}return this.xColumn=e}}return a||Array(i?o:0)}getX(t,e){return this.xAxis?.hasNames&&this.dataTable.getColumn("name",!0)&&j(e)?this.xAxis.nameToX({name:e,series:this},t):void 0===t||nt(t)&&this.options.relativeXValue?this.autoIncrement(t):("string"==typeof t&&nt(t=this.chart.time.parse(t)),t)}matchPoints(t,e,i,s){let o,r,a,{dataTable:n,options:h,requireSorting:l}=this,d=h.dataSorting,c=this.data,p=[],g=[],u=n.rowCount===c.length,m=0,f=!0;this.xIncrement=null,delete this.xColumn;let x=n.getColumn("x"),y=n.getColumn("id"),b=d?.matchByName?n.getColumn("name"):void 0,v=n.getColumn("index");for(r=0;r<n.rowCount;r++){let a=x?.[r],h=y?.[r],f=b?.[r],k=v?.[r],[w,M]=h&&e?[h,e]:f&&i?[f,i]:j(k)&&s?[k,s]:j(a)&&t?[a,t]:[],C=-1;
1if(M){if(-1===(C=M.indexOf(w,m))){let e=x?.[r],i=t?.length??n.rowCount;for(;i&&t&&"number"==typeof e&&t[i-1]>e;)i--;p.push({newIndex:i,oldIndex:r})}else c[C]&&(g.push({newIndex:C,oldIndex:r}),c[C].touched=!0,l&&(m=C+1));(!u||r!==C||d?.enabled||this.hasDerivedData)&&(o=!0)}else p.push({newIndex:r,oldIndex:r})}if(o){for(g.forEach((t=>{c[t.newIndex].applyOptions(n.getRowObject(t.oldIndex))})),p.sort(((t,e)=>e.newIndex-t.newIndex)),p.forEach((t=>{c.splice(t.newIndex,0,void 0)})),r=c.length;r--;)(a=c[r])&&!a.touched&&(a.destroy(),c.splice(r,1));this.isDirtyData=this.isDirty=!0}else if(u&&!d?.enabled){for(r=0;r<n.rowCount;r++)if(!c[r].destroyed&&!c[r].condemned){let t=n.getRowObject(r);t&&(Object.keys(t).forEach((e=>{j(t[e])||delete t[e]})),Object.keys(t).length&&c[r].update(t,!1,void 0,!1))}}else f=!1;if(c.forEach((t=>{t&&(t.touched=!1)})),!f)return!1;let k=this.getColumn("x");return null===this.xIncrement&&k.length&&(this.xIncrement=R(k),this.autoIncrement()),!0}getDataColumnKeys(){return this.dataColumnKeys||["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o,r,a,n=this.dataTable,h=this.options,l=this.points,d=l?.length||0,c=n.getColumn("x"),p=n.getColumn("id"),g=h.dataSorting?.matchByName&&l?.map((t=>t.name))||n.getColumn("name"),u=n.getColumn("index"),m=this.chart,f=this.xAxis;if(m.options.chart.allowMutatingData||(h.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,a=pt(!0,t)),t=a||t,this.xIncrement=null,delete this.xColumn,delete this.xColumnIsNumbers,n!==h.dataTable&&delete n.columns.x,this.colorCounter=0,lt(t)?this.setDataFromArray(t):this.setDataFromTable(t),!1===s||!d||this.cropped||this.hasGroupedData||!this.visible||this.boosted||(o=this.matchPoints(c,p,g,u)),!o){for(ht(this.getColumn("y")[0])&&Ot(14,!0,m),this.data=[],r=d;r--;)l[r]?.destroy();f&&(f.minRange=f.userMinRange),this.isDirty=m.isDirtyBox=!0,this.isDirtyData=!!l,i=!1}lt(t)&&(this.options.data=this.userOptions.data=t),"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&m.redraw(i)}setDataFromArray(t){let e=t.length,{keys:i,turboThreshold:s}=this.options,{pointValKey:o="y",pointArrayMap:r=[]}=this,a=r.length,n=this.dataTable,h=this.getDataColumnKeys(),l=s&&e>s,d=0,c=1;if(l){let s=this.getFirstValidPoint(t),p=this.getFirstValidPoint(t,e-1,-1),g=t=>!(!lt(t)||!i&&!nt(t[0]));if(nt(s)&&nt(p))n.setColumn(o,t);else if(g(s)&&g(p))if(a){let e=s.length===a,i=Array(s.length).fill(0).map((()=>[]));for(let s of t)for(let t=0;t<=a;t++)i[t]?.push(s[t]);n.setColumns((e?r:h).reduce(((t,e,s)=>(t[e]=i[s],t)),{}))}
vendor: 6,591 bytes, line 1
1else{i&&(d=i.indexOf("x"),c=i.indexOf("y"),d=d>=0?d:0,c=c>=0?c:1),1===s.length&&(c=0);let e=[],r=[];if(d===c){for(let e of t)r.push(e[c]);n.setColumn(o,r)}else{for(let i of t)e.push(i[d]),r.push(i[c]);n.setColumns({x:e,[o]:r})}}else l=!1}if(!l){let i={};for(let s=0;s<e;s++){let o=this.pointClass.prototype.optionsToObject.call({series:this},t[s]);for(let t of Object.keys(o))i[t]||(i[t]=Array(e)),i[t][s]=o[t]}e?n.setColumns(i):n.deleteRows(0,n.rowCount)}}setDataFromTable(t){let{chart:e,options:i,dataTable:s}=this,o=e.getDataTable(i),r=t?[t]:o.length?o:e.dataTable,a=this.getDataColumnKeys(),n=i.dataMapping,h=a.slice();n&&(Object.keys(n).forEach((t=>{bt(h,t)})),this.dataColumnKeys=h),r.forEach(((t,e)=>{let i=h.reduce(((i,s)=>{let o=n?.[s],r=t.columns||{},a=t.id,h=ht(o)?0===e&&r[o]:((o?.dataTable||0)===e||a&&o?.dataTable===a)&&(nt(o?.column)?Object.values(r)[o.column]:r[o?.column||s]);return h&&(i[s]=h),i}),{});(n||t)&&s.setColumns(i),t.isDataTable&&this.bindDataTableEvents(t,i)}))}bindDataTableEvents(t,e){if(this.hasBoundDataTableEvents)return;let{chart:i,eventsToUnbind:s}=this,o=()=>{clearTimeout(i.redrawTimeout),i.redrawTimeout=setTimeout((()=>i.renderer&&i.redraw()),0)};s.push(z(t,"afterSetRows",(t=>{let i=t.rowIndex;if(nt(i)){let t=Wi.prototype.getRowObject.call({columns:e},i),s=this.data[i];t&&(this.currentDataGrouping?this.setData():(s?s.update(t,!1):this.addPoint(t,!1),o()))}}))),s.push(z(t,"afterDeleteRows",(t=>{let{rowCount:e,rowIndex:i}=t;if(nt(i)){for(let t=i+e-1;t>=i;t--)this.removePoint(t,!1);o()}}))),s.push(z(t,"afterSetColumns",(t=>{this.setData(t.target)}))),this.hasBoundDataTableEvents=!0}getProcessedData(t){let e,i,s,o,r,a=this,{dataTable:n,isCartesian:h,options:l,xAxis:d}=a,c=l.cropThreshold,p=t||a.getExtremesFromAll,g=d?.logarithmic,u=n.rowCount,m=0,f=a.getColumn("x"),x=n,y=!1;return d&&(o=(s=d.getExtremes()).min,r=s.max,y=!(!d.categories||d.names.length),h&&a.sorted&&!p&&(!c||u>c||a.forceCrop)&&(f[u-1]<o||f[0]>r?x=new Wi:a.getColumn(a.pointValKey||"y").length&&(f[0]<o||f[u-1]>r)&&(x=(e=this.cropData(n,o,r)).modified,m=e.start,i=!0))),f=this.getColumn("x",!0),{modified:x,cropped:i,cropStart:m,closestPointRange:Q([g?f.map(g.log2lin):f],(()=>a.requireSorting&&!y&&Ot(15,!1,a.chart)))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,q(this,"afterProcessData")}cropData(t,e,i){let s,o,r=t===this.dataTable?this.getColumn("x"):t.getColumn("x",!0),a=r.length,n=0,h=a;for(s=0;s<a;s++)if(r[s]>=e){n=Math.max(0,s-1);break}for(o=s;o<a;o++)if(r[o]>i){h=o+1;break}let l=Object.keys(t.columns).reduce(((e,i)=>(e[i]=(t.getColumn(i,!0)||[]).slice(n,h),e)),{});return l.x=r.slice(n,h),{modified:new Wi({columns:l}),start:n,end:h}}generatePoints(){let t,e,i,s,o,r=this.options,a=this.hasProcessedDataTable?void 0:r.data,n=this.dataTable.getModified(),h=this.getColumn("x",!0),l=this.pointClass,d=n.rowCount,c=this.cropStart||0,p=this.hasGroupedData,g=r.keys,u=[],m=r.dataGrouping?.groupAll?c:0,f=this.getDataColumnKeys(),x=this.data;if(!x&&!p){let t=[];t.length=a?.length||0,x=this.data=t}for(g&&p&&(this.options.keys=!1),s=0;s<d;s++)e=c+s,p?((i=new l(this,n.getRowObject(s,f))).dataGroup=this.groupMap?.[m+s],i.dataGroup?.options&&(i.options=i.dataGroup.options,_(i,i.dataGroup.options),delete i.dataLabels,i.key=i.name??i.category)):(i=x[e],o=a?a[e]:n.getRowObject(s),i||void 0===o?i&&(i.category=this.xAxis?.categories?.[i.x]??i.x,i.key=i.name??i.category):x[e]=i=new l(this,o,h[s])),i&&(i.index=p?m+s:e,u[s]=i);if(this.options.keys=g,x&&(d!==(t=x.length)||p))for(s=0;s<t;s++)s!==c||p||(s+=d),x[s]&&(x[s].destroyElements(),x[s].plotX=void 0);this.data=x,this.points=u,q(this,"afterGeneratePoints")}getXExtremes(t){return{min:N(t),max:R(t)}}getExtremes(t,e){let i,s,o,{xAxis:r,yAxis:a}=this,n=e||this.getExtremesFromAll||this.options.getExtremesFromAll,h=n&&this.cropped?this.dataTable:this.dataTable.getModified(),l=h.rowCount,d=t||this.stackedYData,c=d?[d]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map((t=>h.getColumn(t,!0)||[]))||[],p=this.getColumn("x",!0),g=[],u=this.requireSorting&&!this.is("column")?1:0,m=!!a&&a.positiveValuesOnly,f=n||this.cropped||!r,x=0,y=0;for(r&&(x=(i=r.getExtremes()).min,y=i.max),o=0;o<l;o++)if(s=p[o],f||(p[o+u]||s)>=x&&(p[o-u]||s)<=y)for(let t of c){let e=t[o];nt(e)&&(e>0||!m)&&g.push(e)}let b={activeYData:g,dataMin:N(g),dataMax:R(g)};return q(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(j(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t,e,i,s,{options:o,xAxis:r,yAxis:a}=this,{stacking:n,threshold:h}=o,{hasRendered:l,polar:d}=this.chart,c=this.points.concat(this.condemnedPoints),p=c.length,g=this.pointPlacementToXValue(),u=!!g,m=o.startFromThreshold?h:0,f=o?.nullInteraction&&a.len,x=Number.MAX_VALUE;function y(t){return X(t,-1e9,1e9)}let b=(t,e)=>{let i=r.translate(t,!1,!1,e,!0,g);return nt(i)?H(y(i)):void 0},v=(t,e,i)=>{if(nt(t)&&void 0!==e.plotX){let e=a.translate(t,!1,!0,i,!0);return nt(e)?y(e):void 0}if(!nt(t)&&f)return f};for(t=0;t<p;t++){let o,p,f=c[t],k=f.x,w=f.y,M=f.low,C=n&&a.stacking?.stacks[(this.negStacks&&w<(m?0:h)?"-":"")+this.stackKey];f.plotX=e=b(k),n&&this.visible&&C&&C[k]&&(s=this.getStackIndicator(s,k,this.index),!f.isNull&&s.key&&(p=(o=C[k]).points[s.key]),o&<(p)&&(M=p[0],w=p[1],M===m&&s.key===C[k].base&&(M=xt(nt(h)?h:a.min)),a.positiveValuesOnly&&j(M)&&M<=0&&(M=void 0),f.total=f.stackTotal=xt(o.total),f.percentage=j(f.y)&&o.total?f.y/o.total*100:void 0,f.stackY=w,this.irregularWidths||o.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),f.yBottom=j(M)?y(a.translate(M,!1,!0,!1,!0)):void 0,this.dataModify&&(w=this.dataModify.modifyValue(w,t)),f.plotY=v(w,f),f.origin=!l||f.graphic||d?void 0:{x:b(k,!0),y:v(w,f,!0)},f.isInside=this.isPointInside(f),f.clientX=u?H(r.translate(k,!1,!1,!1,!0,g)):e,f.negative=(f.y||0)<(h||0),!f.isNull&&!1!==f.visible&&nt(e)&&(nt(i)&&(x=Math.min(x,Math.abs(e-i))),i=e),f.zone=this.zones.length?f.getZone():void 0}this.closestPointRangePx=x,q(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter((function(t){let{plotX:o,plotY:r}=t;return(!!i||!t.isNull&&!!nt(r))&&(!e||!!s.isInsidePlot(o,r,{inverted:s.inverted}))&&!1!==t.visible}))}
1getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i,options:s,plotClipGroup:o}=this,r=t.sharedClips,a=t.renderer,n=t.getClipBox(this),h=s.clip??!0,l=this.getSharedClipKey(),d=r[l];d?d.animate(n):r[l]=d=a.clipRect(n),e?.clip(h?d:void 0),i?.clip(),o?.clip(h&&this.yAxis.clippable?t.plotClipInner:void 0)}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=Vi(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],h=e.sharedClips[a+"m"];if(t&&i){let t=e.getClipBox(this);if(n)n.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),n=e.renderer.clipRect(t),e.sharedClips[a]=n;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};h=e.renderer.clipRect(i),e.sharedClips[a+"m"]=h}i.clip(n),s?.clip(h)}else if(n&&!n.hasClass("highcharts-animating")){let t=e.getClipBox(this),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(o?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),ut(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,q(this,"afterAnimate")}drawPoints(t){let e,i,s,o,r,a,n;t||(t=this.points.concat(this.condemnedPoints));let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,g=c.nullInteraction,u=this[this.specialGroup||"markerGroup"],m=this.xAxis,f=xt(p.enabled,!m||!!m.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker;let c=i.isNull;if(!(f&&!j(r.enabled)||r.enabled)||c&&!g||!1===i.visible)s&&(i.graphic=s.destroy());else{let t=xt(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select");let e=!1!==i.isInside;if(!s&&e&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?r:p).add(u),i.origin)){let t=i.getOrigin(i.origin,n);l||(t.opacity=0),s.attr(t),o="animate"}if(s){"animate"===o&&s?.animate(n);let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[o](t),s.addClass(i.getClassName(),!0)}}}}markerAttribs(t,e){let i,s,o=this.options,r=o.marker,a=t.marker||{},n=a.symbol||r.symbol,h={},l=xt(a.radius,r?.radius);e&&(i=r?.states?.[e],s=a.states?.[e],l=xt(s?.radius,i?.radius,l&&l+(i?.radiusPlus||0))),t.hasImage=n&&0===n.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return nt(l)&&d&&(o.crisp&&(d[0]=F(d[0],t.hasImage?0:"rect"===n?r?.lineWidth||0:1)),h.x=d[0]-l,h.y=d[1]-l),l&&(h.width=h.height=2*l),h}pointAttribs(t,e){let i,s,o,r,a=this.options,n=a.marker,h=t?.options,l=h?.marker||{},d=h?.color,c=t?.color,p=t?.zone?.color,g=this.color,u=xt(l.lineWidth,n.lineWidth),m=t?.isNull&&a.nullInteraction?0:1;return g=d||p||c||g,o=l.fillColor||n.fillColor||g,r=l.lineColor||n.lineColor||g,e=e||"normal",i=n.states[e]||{},u=xt((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,u+xt(s.lineWidthPlus,i.lineWidthPlus,0)),o=s.fillColor||i.fillColor||o,r=s.lineColor||i.lineColor||r,m=xt(s.opacity,i.opacity,m),{stroke:r,"stroke-width":u,fill:o,opacity:t?.condemned||!1===t?.isInside?0:m}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(qi.navigator.userAgent),a=s.data||[];for(q(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach((function(t){i=s[t],i?.series&&(Z(i.series,s),i.isDirty=i.forceRedraw=!0)})),s.legendItem&&s.chart.legend.destroyItem(s),e=a.length;e--;)a[e]?.destroy?.();for(let n of s.zones||[])$(n,void 0,!0);ot(s.animationTimeout),ut(s,(function(t,e){t instanceof we&&!t.survive&&t[r&&"group"===e?"hide":"destroy"]()})),o.hoverSeries===s&&(o.hoverSeries=void 0),Z(o.series,s),o.orderItems("series"),ut(s,(function(e,i){t&&"hcEvents"===i||delete s[i]}))}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0,minPointOffset:g=0}=d||{},u=(i?.strokeWidth()||0)/2+1,m=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:o,value:r}=t,a=i-s;o?.push(["L",e,Math.abs(a)<u?i-u*(a<0||0===a&&j(r)?-1:1):s])};if(s.length&&(i||t)&&d&&nt(d.min)){let e=d.getExtremes().max+g,u=t=>{t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=X(d.toPixels(xt(t.value,e),!0)||0,0,p)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&m(o,e,i),r&&m(r,e,i)}let f=[],x=d.toPixels(d.getExtremes().min-g,!0);
vendor: 4,810 bytes, line 1
1s.forEach((e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,m=r.len,y=a.len;c?(p=o,m=x):(g=o,y=x);let b=[["M",p,g],["L",m,g],["L",m,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),x=o,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)}))}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],a=!r,n={visibility:i,zIndex:s||.1};return j(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(j(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;s.inverted&&(e=i,i=this.xAxis);let r={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};q(this,"getPlotBox",r);let{scale:a,translateX:n,translateY:h}=r;return{translateX:n,translateY:h,rotation:90*!!o,rotationOriginX:o?a*(e.len-i.len)/2:0,rotationOriginY:o?a*(e.len+i.len)/2:0,scaleX:o?-a:a,scaleY:a}}removeEvents(t){let{eventsToUnbind:e}=this;t||wt(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=Vi(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:o.duration;q(this,"render"),e.plotClipInner&&(t.plotClipGroup||(t.plotClipGroup=e.renderer.g().add(n))),t.plotGroup("group","series",r,a,t.plotClipGroup||n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&o.defer&&(h+=o.defer),t.animationTimeout=Tt((()=>{t.afterAnimate()}),h||0)),t.isDirty=!1,t.hasRendered=!0,q(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree,this.condemnedPoints.length=0}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,Tt((function(){e.kdTree=function t(i,s,o){let r,a,n=i?.length;if(n)return r=e.kdAxisArray[s%o],i.sort(((t,e)=>(t[r]||0)-(e[r]||0))),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,o),right:t(i.slice(a+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1}),i.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,h=e?"distX":"dist",l=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>{let s=t[i]||0,o=e[i]||0;return[s===o&&t.index>e.index||s<o?t:e,!1]}),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let l,g,u,m,f,x,y,b=i.point,v=r.kdAxisArray[s%o],k=b,w=!1;l=e[a],g=b[a],u=j(l)&&j(g)?l-g:null,m=e[n],f=b[n],x=j(m)&&j(f)?m-f:0,y=d&&b.marker?.radius||0,b.dist=Math.sqrt((u&&u*u||0)+x*x)-y,b.distX=j(u)?Math.abs(u)-y:Number.MAX_VALUE;let M=(e[v]||0)-(b[v]||0)+(d&&b.marker?.radius||0),C=M<0?"left":"right",T=M<0?"right":"left";return i[C]&&([k,w]=c(b,t(e,i[C],s+1,o),h)),i[T]&&p(Math.sqrt(M*M),k[h],w)&&(k=c(k,t(e,i[T],s+1,o),h)[0]),k}(t,this.kdTree,l,l)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),nt(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,a=o.renderer,n=o.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(Ki?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
vendor: 4,272 bytes, line 1
1),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",(t=>{r?.onTrackerMouseOut(t)})),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))}))),q(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,{chart:h,data:l,dataTable:d,xAxis:c}=this,p=c?.hasNames&&c.names,g=n.data,u=this.getColumn("x");e=xt(e,!0);let{applyOptions:m,optionsToObject:f}=this.pointClass.prototype,x={series:this},y=f.call(x,t);m.call(x,y,void 0,!1);let b=x.x;if(a=u.length,this.requireSorting&&b<u[a-1])for(r=!0;a&&u[a-1]>b;)a--;d.setRow(y,a,!0),this.xColumn?.splice(a,0,this.getX(b)),p&&x.name&&(p[b]=x.name),g?.splice(a,0,t),(r||this.hasProcessedDataTable)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):([l,g,this.xColumn].filter(j).forEach((t=>{t.shift()})),d.deleteRows(0))),!1!==o&&q(this,"addPoint",{point:x}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,h=r[t],l=function(){[a?.length===r.length?a:void 0,r,s.options.data,s.xColumn].filter(j).forEach((e=>{e.splice(t,1)})),n.deleteRows(t),n.modified=n,h?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};Ui(i,o),e=xt(e,!0),h?h.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),xt(t,!0)&&r.redraw(e)}!1!==i?q(o,"remove",null,a):a()}update(t,e){q(this,"update",{options:t=U(t,this.userOptions)});let i,s,o=this,r=o.chart,a=o.userOptions,n=o.initialType||o.type,h=r.options.plotOptions,l=Ji[n].prototype,d=o.finishedAnimating&&{animation:!1},c={},p=t.data||t.dataTable,g=ts.keepProps.slice(),u=t.type||a.type||r.options.chart.type,m=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some((t=>o.hasOptionChanged(t))));u=u||n,m?(g.push.apply(g,ts.keepPropsForPoints),!1!==t.visible&&(g.push("area","graph"),"zones"in t||g.push("zones")),o.parallelArrays.forEach((function(t){g.push(t+"Data")})),p&&(t.dataSorting&&_(o.options.dataSorting,t.dataSorting),this.setData(p,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&a.dataLabels&&(t.dataLabels=this.mergeArrays(a.dataLabels,t.dataLabels)),t=pt(a,{index:void 0===a.index?o.index:a.index,pointStart:h?.series?.pointStart??a.pointStart},!m&&{data:o.options.data},t,d),m&&t.data&&(t.data=o.options.data),(g=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","plotClipGroup","transformGroup"].concat(g)).forEach((function(t){g[t]=o[t],delete o[t]}));let f=!1;if(Ji[u]){if(f=u!==o.type,o.remove(!1,!1,!1,!0),f)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(o,Ji[u].prototype);else{let t=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents;for(s in l)o[s]=void 0;_(o,Ji[u].prototype),t?o.hcEvents=t:delete o.hcEvents}}else Ot(17,!0,r,{missingModuleFor:u});if(g.forEach((function(t){o[t]=g[t]})),o.init(r,t),m&&this.points)for(let x of(!1===(i=o.options).visible?(c.graphic=1,c.dataLabel=1):(this.hasMarkerChanged(i,a)&&(c.graphic=1),o.hasDataLabels?.()||(c.dataLabel=1)),this.points))x?.series&&(x.resolveColor(),Object.keys(c).length&&x.destroyElements(c),!1===i.showInLegend&&x.legendItem&&r.legend.destroyItem(x));o.initialType=n,r.linkSeries(),f&&o.linkedSeries.length&&(o.isDirtyData=!0),q(this,"afterUpdate"),xt(e,!0)&&r.redraw(!!m&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=xt(s?.[this.type]?.[t],s?.series?.[t]);return o&&!j(r)?i!==o:i!==xt(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),q(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.chart,e=t.tooltip,i=t.hoverPoint;t.hoverSeries=null,i&&i.onMouseOut(),q(this,"mouseOut"),e&&!this.stickyTracking&&(!e.shared||this.noSharedTooltip)&&e.hide(),t.series.forEac
1h((function(t){t.setState("",!0)}))}setState(t,e){let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:a}=o,n=xt(a?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:h,opacity:l}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach((function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))})),i.state=t,!i.chart.styledMode)){if(!1===a[t]?.enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=xt(a[t].opacity,l)),s&&!s.dashstyle&&nt(h))for(let t of[s,...this.zones.map((t=>t.graph))])t?.animate({"stroke-width":h},n);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach((function(t){t?.animate({opacity:l},n)}))}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach((function(e){e.setState&&e.setState(t)}))}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let a=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach((t=>{i[t]?.[a]()})),i.dataLabelsGroups?.forEach((t=>{t?.[a]()})),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach((t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)})),i.linkedSeries.forEach((e=>{e.setVisible(t,!1)})),o&&(s.isDirtyBox=!0),q(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),q(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){let i=this.chart.renderer,s=this.options.legendSymbol||"rectangle",o=e.legendItem||{},{options:r,symbolHeight:a,symbolWidth:n}=t,h=r.squareSymbol,l=h?a:n,d=h?(n-a)/2:0,c=(t.baseline||0)-a+1,p=r.symbolRadius??a,g="rectangle"===s?i.rect(d,c,l,a,p):i.symbols[s]&&i.symbol(s,d,c,l,a,{r:p});g?o.symbol=g.addClass("highcharts-point").attr({zIndex:3}).add(o.group):Gi[s]?.call(this,t,e)}}ts.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"var(--highcharts-background-color)",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"var(--highcharts-neutral-color-20)",lineColor:"var(--highcharts-neutral-color-100)",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,distance:4,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:[1,3],style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},ts.types=$i.seriesTypes,ts.registerType=$i.registerSeriesType,ts.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ts.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","condemnedPoints","dataTable","hasProcessedDataTable","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],_(ts.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Oi,requireSorting:!0,sorted:!0}),$i.series=ts;let es=ts,{animObject:is,setAnimation:ss}=Kt,{registerEventOptions:os}=Qe,{composed:rs,marginNames:as}=E,{distribute:ns}=ce,{format:hs}=de;class ls{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWi
vendor: 4,280 bytes, line 1
1dth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),os(this,e),z(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),z(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let e=xt(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=pt(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=xt(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(pt(!0,this.options,t)),"events"in this.options&&os(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,xt(e,!0)&&i.redraw(),q(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:a,symbol:n}=t.legendItem||{};if((t instanceof es||t instanceof Oi)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:h,lineColor:l}=t.options,d=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(pt(e?this.itemStyle:i)),a?.attr(d({stroke:l||t.color})),n?.attr(d(t.series?t.series.pointAttribs?.(t):t.pointAttribs?.()||{fill:t.color})),s?.attr(d({fill:h||t.color,"fill-opacity":h?1:t.options.fillOpacity??.75}))}t.color=i,q(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,a=!o.rtl,n=t.checkbox;if(e?.element){let o={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},n=()=>{q(this,"afterPositionItem",{item:t})};e[j(e.translateY)?"animate":"attr"](o,void 0,n)}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.legendItem||{};for(let i of["group","label","line","symbol"])e[i]&&(e[i]=e[i].destroy());t.checkbox=V(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach((function(o){let r,a=o.checkbox;a&&(r=t+s+a.y+(this.scrollOffset||0)+3,Y(a,{left:e.translateX+o.checkboxOffset+a.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))}),this))}renderTitle(){let t,e=this.options,i=this.padding,s=e.title,o=0;s.text&&(this.title||(this.title=this.chart.renderer.label(s.text,i-3,i-4,void 0,void 0,void 0,e.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(s.style),this.title.add(this.group)),s.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?hs(e.labelFormat,t,this.chart):e.labelFormatter.call(t,t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,a=this.symbolWidth,n=o.symbolPadding||0,h=this.itemStyle,l=this.itemHiddenStyle,d=r?xt(o.itemDistance,20):0,c=!o.rtl,p=!t.series,g=!p&&t.series.drawLegendSymbol?t.series:t,u=g.options,m=!!this.createCheckboxForItem&&u&&u.showCheckbox,f=o.useHTML,x=t.options.className,y=e.label,b=a+n+d+20*!!m;!y&&(e.group=s.g("legend-item").addClass("highcharts-"+g.type+"-series highcharts-color-"+t.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=y=s.text("",c?a+n:-n,this.baseline||0,f),i.styledMode||y.css(pt(t.visible?h:l)),y.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,y.attr("y",this.baseline),this.symbolHeight=xt(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,959 bytes, line 1
1dth=xt(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+n+d+20*!!m,c&&y.attr("x",this.symbolWidth+n))),g.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,y,f)),m&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!h.width)&&y.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?vt(o.maxWidth,i.chartWidth):1/0)-b+"px"}),this.setText(t);let v=y.getBBox(),k=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?xt(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach((function(e){let i=e?.options;e&&xt(i.showInLegend,!j(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||("point"===i.legendType?e.data:e)))})),q(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 5,790 bytes, line 1
1h(((r,a)=>{r.test(o)&&!j(t[a])&&(i[as[a]]=Math.max(i[as[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+(s.margin??12)+e[a]+(i.titleOffset[a]||0)))}))}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach((function(t){let o,r,a,n,h=s;t.yAxis&&(t.xAxis.options.reversed&&(h=!h),t.points&&(o=st(h?t.points:t.points.slice(0).reverse(),(function(t){return nt(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,n=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(n-.3*r):n+t.yAxis.height,i.push({target:a,size:r,item:t}))}),this),ns(i,e.plotHeight)))t=o.item.legendItem||{},nt(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t,e,i,s,o=this.chart,r=o.spacingBox.width,a=o.renderer,n=this.options,h=this.padding,l=this.getAllItems(),d=this.group,c=this.box;this.itemX=h,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=vt(n.width,r-h),s=r-2*h-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,d||(this.group=d=a.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=a.g().attr({zIndex:1}).add(d),this.scrollGroup=a.g().add(this.contentGroup)),this.renderTitle(),Ct(l,((t,e)=>(t.options?.legendIndex||0)-(e.options?.legendIndex||0))),n.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(n.maxWidth?Math.min(this.widthOption||this.offsetWidth,s,vt(n.maxWidth,o.chartWidth)||1/0):this.widthOption||this.offsetWidth)+h,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+h,c||(this.box=c=a.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(d)),o.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),d[t?"show":"hide"](),o.styledMode&&"none"===d.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),q(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=pt(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(pt(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e,i,s,o,r=this,a=this.chart,n=a.renderer,h=this.options,l=h.y,d="top"===h.verticalAlign,c=this.padding,p=h.maxHeight,g=h.navigation,u=xt(g.animation,!0),m=g.arrowSize||12,f=this.pages,x=this.allItems,y=function(t){"number"==typeof t?w.attr({height:t}):w&&(r.clipRect=w.destroy(),r.contentGroup.clip()),r.contentGroup.div&&(r.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},b=function(t){return r[t]=n.circle(0,0,1.3*m).translate(m/2,m/2).add(k),a.styledMode||r[t].attr("fill","rgba(0,0,0,0.0001)"),r[t]},v=a.spacingBox.height+(d?-l:l)-c,k=this.nav,w=this.clipRect;return"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(v/=2),p&&(v=Math.min(v,p)),f.length=0,t&&v>0&&t>v&&!1!==g.enabled?(this.clipHeight=e=Math.max(v-20-this.titleHeight-c,0),this.currentPage=xt(this.currentPage,1),this.fullHeight=t,x.forEach(((t,r)=>{let a=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),h=f.length;(!h||a-f[h-1]>e&&(i||a)!==f[h-1])&&(f.push(i||a),h++),s.pageIx=h-1,i&&o&&(o.pageIx=h-1),r===x.length-1&&a+n-f[h-1]>e&&a>f[h-1]&&(f.push(a),s.pageIx=h),a!==i&&(i=a),o=s})),w||(w=r.clipRect=n.clipRect(0,c-2,9999,0),r.contentGroup.clip(w)),y(e),k||(this.nav=k=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,m,m).add(k),b("upTracker").on("click",(function(){r.scroll(-1,u)})),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!a.styledMode&&g.style&&this.pager.css(g.style),this.pager.add(k),this.down=n.symbol("triangle-down",0,0,m,m).add(k),b("downTracker").on("click",(function(){r.scroll(1,u)}))),r.scroll(0),t=v):k&&(y(),this.nav=k.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,a=this.options.navigation,n=this.pager,h=this.padding,l=this.currentPage+t;l>o&&(l=o),l>0&&(void 0!==e&&ss(e,i),this.nav.attr({translateX:h,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),n.attr({text:l+"/"+o}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:l===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===l?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===l?"default":"pointer"}),this.down.attr({fill:l===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:l===o?"default":"pointer"})),this.scrollOffset=-s[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),Tt((()=>{q(this,"afterScroll",{currentPage:l})}),is(xt(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof Oi,n=t instanceof es,h="highcharts-legend-"+(a?"point":"series")+"-active",l=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>
1{s.allItems.forEach((i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach((t=>{t.setState(e,!a)}))}))};for(let p of d)p&&p.on("mouseover",(function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(h),l||e.css(s.options.itemHoverStyle)})).on("mouseout",(function(){s.chart.styledMode||e.css(pt(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(h),t.setState()})).on("click",(function(e){r.removeClass(h),q(s,"itemClick",{browserEvent:e,legendItem:t,context:s},(function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")})),a?t.firePointEvent("legendItemClick",{browserEvent:e}):n&&q(t,"legendItemClick",{browserEvent:e})}))}createCheckboxForItem(t){t.checkbox=G("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),z(t.checkbox,"click",(function(e){let i=e.target;q(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}(l=ls||(ls={})).compose=function(t){bt(rs,"Core.Legend")&&z(t,"beforeMargins",(function(){this.legend=new l(this,this.options.legend)}))};let ds=ls,{animate:cs,animObject:ps,setAnimation:gs}=Kt,{defaultOptions:us}=Ht,{numberFormat:ms}=de,{registerEventOptions:fs}=Qe,{charts:xs,doc:ys,marginNames:bs,win:vs}=E,{seriesTypes:ks}=$i;class ws{static chart(t,e,i){let s=new ws(t,e,i);return s.promise||s}constructor(t,e,i){if(this.sharedClips={},!ys)return void Ot(36,!1,this);const s=[...arguments];(ht(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:xt(t.zoomType,e.type),key:xt(t.zoomKey,e.key),pinchType:xt(t.pinchType,e.pinchType),singleTouch:xt(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:pt(e.resetButton,t.resetZoomButton)}}init(t,e){q(this,"init",{args:arguments},(function(){let i=pt(us,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=_({},t),(this.renderTo=ht(o)?ys.getElementById(o):o)||Ot(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],!0===e?this.promise=new Promise((t=>{this.callback=t})):this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new Nt(_(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ms).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=xs.length,this.dataTable=this.getDataTable(i),xs.push(this),E.chartCount++,fs(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),q(this,"afterInit"),this.firstRender()}))}getDataTable(t){return(t.dataTable?Mt(t.dataTable):[]).map((t=>t.isDataTable?t:new Wi(t)))}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=ks[i];s||Ot(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}orderItems(t,e=0){let i=this[t],s=this.options[t]=Mt(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?Mt(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let r=e,a=i.length;r<a;++r){let t=i[r];t&&(t.index=r,t instanceof es&&(t.name=t.getName()),t.options.isInternal||(s[r]=t.options,o[r]=t.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:a,width:n,height:h}=pt(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&!s.isRadial&&(n=s.len),o&&o.len!==this.plotSizeY&&!o.isRadial&&(h=o.len),i&&!t.invertible&&([n,h]=[h,n])),e&&(r+=(i?o:s)?.pos??this.plotLeft,a+=(i?s:o)?.pos??this.plotTop),{x:r,y:a,width:n,height:h}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:h=0,scrollTop:l=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&n||o,p=i.inverted?e:t,g=i.inverted?t:e,u={x:p,y:g,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(h+r,t.pos)&&e<=Math.min(h+r+c.width,t.pos+t.len)||(u.isInsidePlot=!1)}if(!i.ignoreY&&u.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+g:a+g;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(u.isInsidePlot=!1)}return q(this,"afterIsInsidePlot",u),u.isInsidePlot}redraw(t){q(this,"beforeRedraw");let e,i,s,o,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],a=this.series,n=this.pointer,h=this.legend,l=this.userOptions.legend,d=this.renderer,c=d.isHidden(),p=[],g=this.isDirtyBox,u=this.isDirtyLegend;for(d.rootFontSize=d.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),gs(!!this.hasRendered&&t,this),c&&this.temporaryDisplay(),this.layOutTitles(!1),s=a.length;s--;)if(((o=a[s]).options.stacking||o.options.centerInCategory)&&(i=!0,o.isDirty)){e=!0;break}if(e)for(s=a.length;s--;)(o=a[s]).options.stacking&&(o.isDirty=!0);
vendor: 4,941 bytes, line 1
1a.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):l&&(l.labelFormatter||l.labelFormat)&&(u=!0)),t.isDirtyData&&q(t,"updatedData")})),u&&h&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(g=!0)})),r.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,p.push((function(){q(t,"afterSetExtremes",_(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(g||i)&&t.redraw()})),g&&this.drawChartBox(),q(this,"predraw"),a.forEach((function(t){(g||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),n&&n.reset(!0),d.draw(),r.forEach((t=>{t.saveOld()})),q(this,"redraw"),q(this,"render"),c&&this.temporaryDisplay(!0),p.forEach((function(t){t.call()}))}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=st(this.axes,i)||st(this.series,i);for(let o=0;!s&&o<e.length;o++)s=st(e[o].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(q(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=Mt(t[e]||{}))new di(this,i,e);q(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce(((t,e)=>(e.getPointsCollection().forEach((e=>{xt(e.selectedStaging,e.selected)&&t.push(e)})),t)),[])}getSelectedSeries(){return this.series.filter((t=>t.selected))}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=pt(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(_("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach((t=>{let i=this[t],r=this.options[t],a=pt(o),n=i?.textPxLength||0;if(i&&r){q(this,"layOutTitle",{alignTo:a,key:t,textPxLength:n});let o=s.fontMetrics(i),h=o.b,l=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,g="title"===t?c?-3:0:c?e[0]+2:0,u=Math.min(a.width/n,1),m=Math.max(p,u),f=pt({y:"bottom"===d?h:g+h},r),x=(r.width||(u>p?this.chartWidth:a.width)/m)+"px";f.align??(f.align="title"===t?u<p?"left":"center":this.title?.alignValue),i.alignValue!==f.align&&(i.placed=!1);let y=Math.round(i.css({width:x}).getBBox(r.useHTML).height);if(f.height=y,i.align(f,!1,a).attr({align:f.align,scaleX:m,scaleY:m,"transform-origin":`${a.x+n*m*J(f.align)} ${l}`}),!r.floating){let t=y*(y<1.2*l?1:m);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}}),this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&"bottom"===i.caption?.verticalAlign&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,q(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,(t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}})),e={width:it(this.renderTo,"width",!0)||0,height:it(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach((([t,e])=>{t.style.display=e})),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,vt(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i?.style;)i.hcOrigStyle&&(Y(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(ys.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i?.style&&(ys.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,ys.body.appendChild(i)),("none"===it(i,"display",!1)||i.hcOrigDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),Y(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==ys.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=It(),r=this.renderTo,a=yt(W(r,s));nt(a)&&xs[a]&&xs[a].hasRendered&&xs[a].destroy(),W(r,s,this.index),r.innerHTML=ie.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
vendor: 4,055 bytes, line 1
1let n=this.chartHeight,h=this.chartWidth;this.styledMode||Y(r,{overflow:"hidden"}),this.styledMode||(t=_({position:"relative",overflow:"hidden",width:h+"px",height:n+"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"},i.style||{}));let l=G("div",{id:o},t,r);if(this.container=l,this.getChartSize(),h!==this.chartWidth&&(h=this.chartWidth,this.styledMode||Y(l,{width:xt(i.style?.width,h+"px")})),this._cursor=l.style.cursor,this.renderer=new Ue(l,h,n,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode,e.palette,this.index),this.containerBox=this.getContainerBox(),gs(void 0,this),this.setClassName(i.className),this.styledMode)for(let d in e.defs)this.renderer.definition(e.defs[d]);else this.renderer.setStyle(i.style),this.palette=this.renderer.palette;q(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!j(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!j(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),q(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=t=>{t.forEach((t=>{t.visible&&t.getOffset()}))};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),bs.forEach(((i,o)=>{j(s[o])||(t[i]+=e[o])})),t.setChartSize()}getOptions(){return U(this.userOptions,us)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(ot(e.reflowTimeout),e.reflowTimeout=Tt((function(){if(e.container){e.setSize(void 0,void 0,!1);let t=e.containerBox;t&&(t.height=e.chartHeight)}}),100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=z(vs,"resize",e);z(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,gs(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?cs:Y)(s.container,{width:`${a+h}px`,height:`${n+l}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,q(s,"resize"),setTimeout((()=>{s&&q(s,"endResize")}),ps(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:a,clipOffset:n,inverted:h,spacing:l,renderer:d}=this,c=Math[h?"floor":"round"];if(this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(a-e-(this.marginRight??0))),this.plotHeight=o=Math.max(0,Math.round(r-i-(this.marginBottom??0))),this.plotSizeX=h?o:s,this.plotSizeY=h?s:o,this.spacingBox=d.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=d.plotBox={x:e,y:i,width:s,height:o},n&&(this.clipBox={x:c(n[h?2:3]),y:c(n[+!!h]),width:c(this.plotSizeX-n[+!h]-n[h?2:3]),height:c(this.plotSizeY-n[+!!h]-n[h?3:2])}),!t){for(let t of this.axes)t.setAxisSize(),t.setAxisTranslation();d.alignElements()}q(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){q(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach((i=>{let s=e[i],o=ct(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(((s,r)=>{t[i][r]=e[`${i}${s}`]??o[r]}))})),bs.forEach(((e,i)=>{t[e]=t.margin[i]??t.spacing[i]})),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t,e,i,s=this,o=s.options.chart,{backgroundColor:r,plotBackgroun
vendor: 4,502 bytes, line 1
1dColor:a,plotBackgroundImage:n,plotBorderRadius:h=0,shadow:l}=o,{chartWidth:d,chartHeight:c,clipBox:p,clipOffset:g,clipRect:u,plotBGImage:m,plotBox:f,plotLeft:x,plotTop:y,plotWidth:b,plotHeight:v,renderer:k,styledMode:w}=s,M=s.chartBackground,C=s.plotBackground,T=s.plotBorder,S="animate";M||(s.chartBackground=M=k.rect().addClass("highcharts-background").add(),S="attr"),w?t=e=M.strokeWidth():(e=(t=o.borderWidth||0)+8*!!l,i={fill:r||"none"},(t||M["stroke-width"])&&(i.stroke=o.borderColor,i["stroke-width"]=t),M.attr(i).shadow(l)),M[S]({x:e/2,y:e/2,width:d-e-t%2,height:c-e-t%2,r:o.borderRadius}),S="animate",C||(S="attr",s.plotBackground=C=k.rect().addClass("highcharts-plot-background").add()),C[S]({...f,r:h}),!w&&(C.attr({fill:a||"none"}).shadow(o.plotShadow),n&&(m?(n!==m.attr("href")&&m.attr("href",n),m.animate(f)):s.plotBGImage=k.image(n,x,y,b,v).add())),u?u.animate({width:p.width,height:p.height}):s.clipRect=k.clipRect(p),S="animate",T||(S="attr",s.plotBorder=T=k.rect().addClass("highcharts-plot-border").attr({zIndex:1.5}).add()),T.attr(w?void 0:{stroke:o.plotBorderColor,"stroke-width":o.plotBorderWidth||0,fill:"none"})[S]({r:h});let A=T.strokeWidth(),P=pt(T.crisp(f,-A));if(g&&!w){let t=g[0]-A/2,e=g[3]-A/2;P.x-=e,P.y-=t,P.width+=e+g[1]-A/2,P.height+=t+g[2]-A/2}T[S](P),["plotClipOuter","plotClipInner"].forEach(((t,e)=>{let i=s[t],o=e?-A:A;i?.[h?S:"attr"]({x:P.x-o/2,y:P.y-o/2,width:P.width+o,height:P.height+o,r:h?h+o/2:0}),i?.parentGroup?.attr({display:h?"":"none"})})),s.isDirtyBox=!1,q(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach((function(a){for(e=ks[o.type],i=o[a]||e&&e.prototype[a],t=r?.length;!i&&t--;)(e=ks[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i}))}linkSeries(t){let e=this,i=e.series;i.forEach((function(t){t.linkedSeries.length=0})),i.forEach((function(t){let{linkedTo:s}=t.options,o=ht(s)&&(":previous"===s?i[t.index-1]:e.get(s));o&&o.linkedParent!==t&&(o.linkedSeries.push(t),t.linkedParent=o,t.visible=t.options.visible??o.options.visible??t.visible)})),q(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,{axisLayoutRuns:o=2,plotBorderRadius:r}=this.options.chart,a=t=>{t.forEach((t=>{t.visible&&t.render()}))},n=0,h=!0,l=0;for(let d of(r&&(this.plotClipOuter||(this.plotClipOuter=s.clipRect()),this.plotClipInner||(this.plotClipInner=s.clipRect())),this.setTitle(),q(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:t}=d,{labels:e,offset:i}=t;if(this.hasCartesianSeries&&d.horiz&&d.visible&&e.enabled&&d.series.length&&"colorAxis"!==d.coll&&!d.isRadial){n=t.tickLength,d.createGroups();let s=new ei(d,0,"",!0),o=s.createLabel("x",e);if(s.destroy(),o&&xt(e.reserveSpace,!nt(t.crossing))&&(n=o.getBBox().height+e.distance+Math.max(nt(i)?i:0,0)),n){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(h||t||o>1)&&l<o;){let i=this.plotWidth,s=this.plotHeight,o=[1.05,1.1];for(let r of e){let e=+(r.horiz||0);if(0===l){r.setScale();let t=r.tickPositions?.info?.match;t&&(o[e]=Math.min(t,o[e]))}else(e&&h||!e&&t)&&r.setTickInterval(!0)}0===l?this.getAxisMargins():this.getMargins(),h=i/this.plotWidth>(l?1:o[1]),t=s/this.plotHeight>(l?1:o[0]),l++}this.drawChartBox(),this.hasCartesianSeries?a(e):i?.length&&a(i),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=pt(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0,i.useHTML).addClass("highcharts-credits").on("click",(function(t){q(e,"creditsClick",t,(()=>{i.href&&(vs.location.href=i.href)}))})).attr({align:i.position.align,zIndex:8}),i.events?.click&&z(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(q(e,"destroy"),e.renderer.forExport?Z(xs,e):xs[e.index]=void 0,E.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),wt(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();
1["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach((t=>{e[t]=e[t]?.destroy?.()})),o&&(o.innerHTML=ie.emptyHTML,wt(o),r&&V(o)),ut(e,(function(t,i){delete e[i]}))}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=lt(e.series)?e.series:[];e.series=[],i.forEach((function(e){t.initSeries(e)})),t.linkSeries(),q(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.asyncCounter||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach((function(t){t&&void 0!==this.index&&t.apply(this,[this])}),this),q(this,"load"),q(this,"render"),j(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"<")}),t.accessibility&&!1===t.accessibility.enabled||Ot('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&"0"!==vs.getComputedStyle(this.container).zIndex&&Ot(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=xt(e,!0),q(o,"addSeries",{options:t},(function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),q(o,"afterAddSeries",{series:s}),e&&o.redraw(i)}))),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new di(this,e.axis,t);return xt(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=s?.style??{},r=function(){a&&Y(a,{left:o.left??e.plotLeft+"px",top:o.top??e.plotTop+"px",width:o.width??e.plotWidth+"px",height:o.height??e.plotHeight+"px"})},a=e.loadingDiv,n=e.loadingSpan;a||(e.loadingDiv=a=G("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=G("span",{className:"highcharts-loading-inner"},null,a),z(e,"redraw",r)),a.className="highcharts-loading",ie.setElementHTML(n,xt(t,i.lang.loading,"")),!e.styledMode&&(Y(a,_(o,{zIndex:10})),Y(n,s?.labelStyle??{}),e.loadingShown||(Y(a,{opacity:0,display:""}),cs(a,{opacity:o.opacity??.5},{duration:s?.showDuration??0}))),e.loadingShown=!0,r()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||cs(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){Y(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a,n=this,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},l=t.isResponsiveOptions,d=[];q(n,"update",{options:t}),l||n.setResponsive(!1,!0),t=U(t,n.options),n.userOptions=pt(n.userOptions,t);let c=t.chart;c&&(pt(!0,n.options.chart,c),this.setZoomOptions(),"className"in c&&n.setClassName(c.className),("inverted"in c||"polar"in c||"type"in c)&&(n.propFromSeries(),o=!0),"alignTicks"in c&&(o=!0),"events"in c&&fs(this,c),ut(c,(function(t,e){-1!==n.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==n.propsRequireDirtyBox.indexOf(e)&&(n.isDirtyBox=!0),-1!==n.propsRequireReflow.indexOf(e)&&(n.isDirtyBox=!0,l||(a=!0))})),!n.styledMode&&c.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),ut(t,(function(e,i){n[i]&&"function"==typeof n[i].update?n[i].update(e,!1):"function"==typeof n[h[i]]?n[h[i]](e):"colors"!==i&&-1===n.collectionsWithUpdate.indexOf(i)&&pt(!0,n.options[i],t[i]),"chart"!==i&&-1!==n.propsRequireUpdateSeries.indexOf(i)&&(r=!0)})),this.collectionsWithUpdate.forEach((e=>
1{t[e]&&(Mt(t[e]).forEach(((t,s)=>{let o;if(!t)return;let r=j(t.id);r&&(o=n.get(t.id)),!o&&n[e]&&(o=n[e][xt(t.index,s)])&&(r&&j(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&n.collectionsWithInit[e]&&(n.collectionsWithInit[e][0].apply(n,[t].concat(n.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)})),i&&n[e].forEach((t=>{t.touched||t.options.isInternal?delete t.touched:d.push(t)})))})),d.forEach((t=>{t.chart&&t.remove&&t.remove(!1)})),o&&n.axes.forEach((function(t){t.update({},!1)})),r&&n.series.forEach((t=>{t.chart&&t.update({},!1)}));let p=c?.width,g=c&&(ht(c.height)?vt(c.height,p||n.chartWidth):c.height);a||nt(p)&&p!==n.chartWidth||nt(g)&&g!==n.chartHeight?n.setSize(p,g,s):xt(e,!0)&&n.redraw(s),q(n,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=t.options.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}q(this,"beforeShowResetZoom",null,(function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)})),q(this,"afterShowResetZoom")}zoomOut(){q(this,"selection",{resetSelection:!0}
1,(()=>this.transform({reset:!0,trigger:"zoom"})))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),a=i.options.chart;a?.panning&&(a.panning=s),q(this,"pan",{originalEvent:t},(()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),Y(i.container,{cursor:"move"})}))}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n,allowResetButton:h=!0}=t,{inverted:l,time:d}=this;this.hoverPoints?.forEach((t=>t.setState())),q(this,"transform",t);let c,p,g=t.hasZoomed||!1;for(let u of e){let{horiz:t,len:e,minPointOffset:m=0,options:f,reversed:x}=u,y=t?"width":"height",b=t?"x":"y",v=xt(a[y],u.len),k=xt(s[y],u.len),w=10>Math.abs(v)?1:v/k,M=(s[b]||0)+k/2-u.pos,C=M-((a[b]??u.pos)+v/2-u.pos)/w,T=x&&!l||!x&&l?-1:1;if(!o&&(M<0||M>u.len))continue;let S=u.chart.polar||u.isOrdinal&&w<=1?0:m*T||0,A=u.toValue(C,!0),P=u.toValue(C+e/w,!0),O=A+S,L=P-S,E=u.allExtremes;if(r&&r[u.coll].push({axis:u,min:Math.min(A,P),max:Math.max(A,P)}),O>L&&([O,L]=[L,O]),1===w&&!o&&"yAxis"===u.coll&&!E){for(let t of u.series){let e=t.getExtremes(t.getProcessedData(!0).modified.getColumn(t.pointValKey||"y")||[],!0);E??(E={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),nt(e.dataMin)&&nt(e.dataMax)&&(E.dataMin=Math.min(e.dataMin,E.dataMin),E.dataMax=Math.max(e.dataMax,E.dataMax))}u.allExtremes=E}let{dataMin:I,dataMax:D,min:B,max:z}=_(u.getExtremes(),E||{}),N=d.parse(f.min),R=d.parse(f.max),W=I??N,X=D??R,H=L-O,G=u.categories?0:Math.min(H,X-W),F=W-G*(j(N)?0:f.minPadding),Y=X+G*(j(R)?0:f.maxPadding),$=u.allowZoomOutside||1===w||"zoom"!==n&&w>1,V=Math.min(N??F,F,$?B:F),U=Math.max(R??Y,Y,$?z:Y);(!u.isOrdinal||1!==w||o)&&(O<V&&(O=V,w>=1&&(L=O+H)),L>U&&(L=U,w>=1&&(O=L-H)),(o||u.series.length&&(O!==B||L!==z)&&O>=V&&L<=U)&&(r?r[u.coll].push({axis:u,min:O,max:L}):(u.isPanning="zoom"!==n,u.isPanning&&"mousewheel"!==n&&(p=!0),u.setExtremes(o?void 0:O,o?void 0:L,!1,!1,{move:C,trigger:n,scale:w}),!o&&(O>V||L<U)&&(c=h)),g=!0),this.hasCartesianSeries||o||(c=h),i&&(this[t?"mouseDownX":"mouseDownY"]=i[t?"chartX":"chartY"]))}return g&&(r?q(this,"selection",r,(()=>{delete t.selection,t.trigger="zoom",this.transform(t)})):(!c||p||this.resetZoomButton?!c&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),g}}_(ws.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ws.prototype.addAxis,[!0]],yAxis:[ws.prototype.addAxis,[!1]],series:[ws.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
1dColor","plotBackgroundImage","plotBorderColor","plotBorderRadius","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:Ms}=Kt,{composed:Cs}=E;function Ts(){(this.scrollablePixelsX||this.scrollablePixelsY)&&!this.scrollablePlotArea&&(this.scrollablePlotArea=new As(this)),this.scrollablePlotArea?.applyFixed()}function Ss(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class As{static compose(t,e,i){bt(Cs,"ScrollablePlotArea")&&(z(t,"afterInit",Ss),z(e,"afterSetChartSize",(t=>this.afterSetSize(t.target,t))),z(e,"render",Ts),z(i,"show",Ss))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:l,renderer:d}=t;if(!d.forExport)if(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=pt(t.plotBox),h.width=t.plotWidth+=i,n[l?"height":"width"]+=i,o=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),j(s)&&(t.scrollablePlotBox=pt(t.plotBox),h.height=t.plotHeight+=s,n[l?"width":"height"]+=s,o=!1)),j(o)){if(!e.skipAxes)for(let c of t.axes)(c.horiz===o||t.hasParallelCoordinates&&"yAxis"===c.coll)&&(c.setAxisSize(),c.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){let e;const i=t.options.chart,s=i.scrollablePlotArea||{},o=this.moveFixedElements.bind(this),r={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(r.overflowX="auto"),t.scrollablePixelsY&&(r.overflowY="auto"),this.chart=t;const a=this.parentDiv=G("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),n=this.scrollingContainer=G("div",{className:"highcharts-scrolling"},r,a),h=this.innerContainer=G("div",{className:"highcharts-inner-container"},void 0,n),l=this.fixedDiv=G("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),d=this.fixedRenderer=new Ue(l,t.chartWidth,t.chartHeight,i.style);this.mask=d.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":s.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),n.parentNode.insertBefore(l,n),Y(t.renderTo,{overflow:"visible"}),z(t,"afterShowResetZoom",o),z(t,"afterApplyDrilldown",o),z(t,"afterLayOutTitles",o),z(n,"scroll",(()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))})),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:a,container:n,plotHeight:h,plotLeft:l,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:g=0}=t,{scrollPositionX:u=0,scrollPositionY:m=0}=t.options.chart.scrollablePlotArea||{},f=r+p,x=a+g;e.setSize(r,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),Ms(t.container),Y(n,{width:`${f}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:f,height:x,viewBox:["0 0",f,x].join(" ")}),t.chartBackground?.attr({width:f,height:x}),Y(s,{width:`${r}px`,height:`${a}px`}),j(i)||(s.scrollLeft=p*u,s.scrollTop=g*m);let y=d-o[0]-1,b=l-o[3]-1,v=d+h+o[2]+1,k=l+c+o[1]+1,w=l+c-p,M=d+h-g,C=[["M",0,0]];p?C=[["M",0,y],["L",l-1,y],["L",l-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:g&&(C=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,a],["L",k,a],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:C})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,a=As.fixedSelectors.slice();if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),!t||this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t)for(let n of[".highcharts-xaxis",".highcharts-yaxis"])for(let t of[`${n}:not(.highcharts-radial-axis)`,`${n}-labels:not(.highcharts-radial-axis-labels)`])Z(a,t);else for(let n of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])bt(a,n);for(let n of a)[].forEach.call(e.querySelectorAll(n),(t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"}))}}As.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:Ps}=de,{series:Os}=$i,Ls=class{constructor(t,e,i,s,o){const r=t.chart.inverted,a=t.reversed;this.axis=t;const n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?n?"right":"left":"center")}destroy(){$(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=(s?Ps(s,this,e):i.formatter?.call(this,this))||"";if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:xt(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}
1this.label.labelrank=e.plotSizeY,q(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:a,axis:n,label:h,options:l,textAlign:d}=this,c=n.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:g}=a;if(h&&p){let t,e=h.getBBox(void 0,0),i=h.padding,s="justify"===xt(l.overflow,"justify");a.x=l.x||0,a.y=l.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:e,verticalAlign:g,textAlign:d});p.x-=o,p.y-=r,h.align(a,!1,p),(t=c.isInsidePlot(h.alignAttr.x+a.x+o,h.alignAttr.y+a.y+r))||(s=!1),s&&Os.prototype.justifyDataLabel.call(n,h,a,h.alignAttr,e,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:l.rotation,rotationOriginX:e.width*J(l.textAlign||"center"),rotationOriginY:e.height/2}),xt(!s&&l.crop,!0)&&(t=nt(h.x)&&nt(h.y)&&c.isInsidePlot(h.x-i+(h.width||0),h.y)&&c.isInsidePlot(h.x+i,h.y)),h[t?"show":"hide"]()}q(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*J(i)-1),y:t.height/2*2*(1-J(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:a,boxBottom:n}=t,h=e.stacking.usePercentage?100:xt(s,this.total,0),l=e.toPixels(h),d=t.xAxis||i.xAxis[0],c=xt(o,d.translate(this.x))+r,p=Math.abs(l-e.toPixels(n||nt(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),g=i.inverted,u=this.isNegative;return g?{x:(u?l:l-p)-i.plotLeft,y:d.height-c-a+d.top-i.plotTop,width:p,height:a}:{x:c+d.transB-i.plotLeft,y:(u?l-p:l)-i.plotTop,width:a,height:p}}},{getDeferredAnimation:Es}=Kt,{series:{prototype:Is}}=$i;function Ds(){let t=this.inverted;this.axes.forEach((t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)})),this.series.forEach((e=>{let i=e.xAxis?.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,xt(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))}))}function Bs(){let t=this.stacking;if(t){let e=t.stacks;ut(e,((t,i)=>{$(t),delete e[i]})),t.stackTotalGroup?.destroy()}}function zs(){this.stacking||(this.stacking=new Gs(this))}function Ns(t,e,i,s){return!j(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function Rs(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach((i=>{let s,a,h,l=r.length;for(;l--;)s=r[l],t=e.getStackIndicator(t,s,e.index,i),a=o[i]?.[s],(h=a?.points[t.key||""])&&n.call(e,h,a,l)}))}function Ws(t,e,i){let s=e.total?100/e.total:0;t[0]=H(t[0]*s),t[1]=H(t[1]*s),this.stackedYData[i]=t[1]}function Xs(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?Is.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function Hs(t,e){let i,s,o,r,a,n,h,l=e||this.options.stacking;if(!l||!this.reserveSpace()||({group:"xAxis"}[l]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],g=c.length,u=this.options,m=u.threshold||0,f=u.startFromThreshold?m:0,x=u.stack,y=e?`${this.type},${l}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,h=0;h<g;h++){let e=d[h]||0,g=c[h],u=nt(g)&&g||0;n=(i=this.getStackIndicator(i,e,this.index)).key||"",w[a=(s=v&&u<(f?0:m))?b:y]||(w[a]={}),w[a][e]||(M[a]?.[e]?(w[a][e]=M[a][e],w[a][e].total=null):w[a][e]=new Ls(t,t.options.stackLabels,!!s,e,x)),o=w[a][e],null!==g?(o.points[n]=o.points[this.index]=[xt(o.cumulative,f)],j(o.cumulative)||(o.base=n),o.touched=k.stacksTouched,i.index>0&&!1===this.singleStacks&&(o.points[n][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[n],delete o.points[this.index]);let C=o.total||0;"percent"===l?(r=s?y:b,C=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,C)+Math.abs(u):H(C+Math.abs(u))):"group"===l?nt(g)&&C++:C=H(C+u),o.cumulative="group"===l?(C||1)-1:H(xt(o.cumulative,f)+u),o.total=C,null!==g&&(o.points[n].push(o.cumulative),p[h]=o.cumulative,o.hasValidPoints=!0)}"percent"===l&&(k.usePercentage=!0),"group"!==l&&(this.stackedYData=p),k.oldStacks={}}class Gs{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[r?e:a-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<a;e++)s[e].modifyStacks();q(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,ut(this.stacks,(t=>{ut(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){ut(this.stacks,(t=>{ut(t,((e,i)=>{nt(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)}))}))}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=Es(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}
vendor: 4,445 bytes, line 1
1).add();r.translate(e.plotLeft,e.plotTop),ut(s,(t=>{ut(t,(t=>{t.render(r)}))})),r.animate({opacity:1},o)}}(w||(w={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(z(t,"init",zs),z(t,"destroy",Bs),s.getStacks=Ds,o.getStackIndicator=Ns,o.modifyStacks=Rs,o.percentStacker=Ws,o.setGroupedPoints=Xs,o.setStackedPoints=Hs)};let Fs=w;class Ys extends es{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach(((s,o)=>{let r,a=s.graph,n=a?"animate":"attr",h=s.dashStyle||t.dashStyle;if(a?(a.endX=this.preventGraphAnimation?null:e.xMap,a.animate({d:e})):e.length&&(s.graph=a=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),a&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"var(--highcharts-neutral-color-20)","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?r.dashstyle=h:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r),t.shadow)){let e=this.chart.inverted,i={filterUnits:"userSpaceOnUse"},s=ct(t.shadow)?pt(e?{}:i,t.shadow):!!e||i;a.shadow(s)}a&&(a.startX=e.xMap,a.isArea=e.isArea)}))}getGraphPath(t,e,i){let s,o=this,r=o.options,a=[],n=[],h=r.step,l=(t=t||o.points).reversed;return l&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&l&&(h=4-h),(t=this.getValidPoints(t,!1,r.nullInteraction||!(r.connectNulls&&!e&&!i))).forEach((function(l,d){let c,p=l.plotX,g=l.plotY,u=t[d-1],m=l.isNull||"number"!=typeof g;(l.leftCliff||u?.rightCliff)&&!i&&(s=!0),m&&!j(e)&&d>0?s=!r.connectNulls:m&&!e?s=!0:(0===d||s?c=[["M",l.plotX,l.plotY]]:o.getPointSpline?c=[o.getPointSpline(t,l,d)]:h?(c=1===h?[["L",u.plotX,g]]:2===h?[["L",(u.plotX+p)/2,u.plotY],["L",(u.plotX+p)/2,g]]:[["L",p,u.plotY]]).push(["L",p,g]):c=[["L",p,g]],n.push(l.x),h&&(n.push(l.x),2===h&&n.push(l.x)),a.push.apply(a,c),s=!1)})),a.xMap=n,o.graphPath=a,a}}Ys.defaultOptions=pt(es.defaultOptions,{legendSymbol:"lineMarker"}),$i.registerSeriesType("line",Ys);let{seriesTypes:{line:js}}=$i;class $s extends js{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach(((i,s)=>{let o={},r=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(o.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](o),a.startX=t.xMap,a.shiftUnit=e.step?2:1}))}getGraphPath(t){let e,i,s,o=js.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,h=[],l=[],d=this.index,c=n.stacking.stacks[this.stackKey],p=r.threshold,g=Math.round(n.getThreshold(r.threshold)),u=xt(r.connectNulls,"percent"===a),m=function(i,s,o){let r,u,m=t[i],f=t[s],x=a&&c[m.x].points[d],y=m[o+"Null"]||0,b=m[o+"Cliff"]||0,v=!0;x&&(b||y)?(r=(y?x[0]:x[1])+b,u=x[0]+b,v=!!y):!a&&f&&(f.isNull||!j(f.plotY))&&(r=u=p),void 0!==r&&(l.push({plotX:e,plotY:null===r?g:n.getThreshold(r),isNull:v,isCliff:!0}),h.push({plotX:e,plotY:null===u?g:n.getThreshold(u),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let k=0,w=t.length;k<w;++k)a||(t[k].leftCliff=t[k].rightCliff=t[k].leftNull=t[k].rightNull=void 0),i=t[k].isNull||!j(t[k].plotY),e=xt(t[k].rectPlotX,t[k].plotX),s=a?xt(t[k].yBottom,g):g,(!i||u)&&(u||m(k,k-1,"left"),i&&!a&&u||(l.push(t[k]),h.push({x:k,plotX:e,plotY:s})),u||m(k,k+1,"right"));let f=o.call(this,l,!0,!0);h.reversed=!0;let x=o.call(this,h,!0,!0),y=x[0];y&&"M"===y[0]&&(x[0]=["L",y[1],y[2]]);let b=f.concat(x);b.length&&b.push(["Z"]);let v=o.call(this,l,!1,u);return this.chart.series.length>1&&a&&l.some((t=>t.isCliff))&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=f.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},h=r.series,l=h.length,d=r.options.reversedStacks?1:-1,c=h.indexOf(e),p=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,n[t[e].x]=t[e];ut(a,(function(t,e){null!==t.total&&s.push(e)})),s.sort((function(t,e){return t-e}));let g=h.map((t=>t.visible));
1s.forEach((function(t,u){let m,f,x=0;if(n[t]&&!n[t].isNull)i.push(n[t]),[-1,1].forEach((function(i){let o=1===i?"rightNull":"leftNull",r=a[s[u+i]],p=0;if(r){let i=c;for(;i>=0&&i<l;){let s=h[i].index;!(m=r.points[s])&&(s===e.index?n[t][o]=!0:g[i]&&(f=a[t].points[s])&&(p-=f[1]-f[0])),i+=d}}n[t][1===i?"rightCliff":"leftCliff"]=p}));else{let e=c;for(;e>=0&&e<l;){let i=h[e].index;if(m=a[t].points[i]){x=m[1];break}e+=d}x||(x=0);let s=r.positiveValuesOnly&&x<=0?p:r.translate(x,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(t,!1,!1,!1,!0),x:t,plotY:s,yBottom:s})}}))}return i}}$s.defaultOptions=pt(js.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),_($s.prototype,{singleStacks:!1}),$i.registerSeriesType("area",$s);let{line:Vs}=$i.seriesTypes;class Us extends Vs{getPointSpline(t,e,i){let s,o,r,a,n=e.plotX||0,h=e.plotY||0,l=t[i-1],d=t[i+1];function c(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(c(l)&&c(d)){let t=l.plotX||0,i=l.plotY||0,c=d.plotX||0,p=d.plotY||0,g=0;s=(1.5*n+t)/2.5,o=(1.5*h+i)/2.5,r=(1.5*n+c)/2.5,a=(1.5*h+p)/2.5,r!==s&&(g=(a-o)*(r-n)/(r-s)+h-a),o+=g,a+=g,o>i&&o>h?(o=Math.max(i,h),a=2*h-o):o<i&&o<h&&(o=Math.min(i,h),a=2*h-o),a>p&&a>h?(a=Math.max(p,h),o=2*h-a):a<p&&a<h&&(a=Math.min(p,h),o=2*h-a),e.rightContX=r,e.rightContY=a,e.controlPoints={low:[s,o],high:[r,a]}}let p=["C",xt(l.rightContX,l.plotX,0),xt(l.rightContY,l.plotY,0),xt(s,n,0),xt(o,h,0),n,h];return l.rightContX=l.rightContY=void 0,p}}Us.defaultOptions=pt(Vs.defaultOptions),$i.registerSeriesType("spline",Us);let Zs=Us,{area:_s,area:{prototype:Ks}}=$i.seriesTypes;class qs extends Zs{}qs.defaultOptions=pt(Zs.defaultOptions,_s.defaultOptions),_(qs.prototype,{getGraphPath:Ks.getGraphPath,getStackPoints:Ks.getStackPoints,drawGraph:Ks.drawGraph}),$i.registerSeriesType("areaspline",qs);let{animObject:Js}=Kt,{parse:Qs}=jt,{noop:to}=E;class eo extends es{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,a=o.reversed,n=s.options,{clipOffset:h,inverted:l}=this.chart,d={},c=l?"translateX":"translateY";t&&h?(d.scaleY=.001,i=X(o.toPixels(n.threshold||0),r,r+o.len),l?d.translateX=(i+=a?-Math.floor(h[+!!l]):Math.ceil(h[l?3:2]))-o.len:d.translateY=i+=a?Math.ceil(h[+!!l]):-Math.floor(h[l?3:2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(c)),s.group.animate({scaleY:1},_(Js(s.options.animation),{step:function(t,i){s.group&&(d[c]=e+i.pos*(r-e),s.group.attr(d))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach((function(t){t.type===i.type&&(t.isDirty=!0)}))}getColumnMetrics(){let t,e=this,i=e.options,s=e.xAxis,o=e.yAxis,r=s.options.reversedStacks,a=s.reversed&&!r||!s.reversed&&r,n={},h=0;!1===i.grouping?h=1:e.chart.series.forEach((function(i){let s,r=i.yAxis,a=i.options;i.type===e.type&&i.reserveSpace()&&o.len===r.len&&o.pos===r.pos&&(a.stacking&&"group"!==a.stacking?(void 0===n[t=i.stackKey]&&(n[t]=h++),s=n[t]):!1!==a.grouping&&(s=h++),i.columnIndex=s)}));let l=Math.min(Math.abs(s.transA)*(!s.brokenAxis?.hasBreaks&&s.ordinal?.slope||i.pointRange||s.closestPointRange||s.tickInterval||1),s.len),d=l*i.groupPadding,c=(l-2*d)/(h||1),p=Math.min(i.maxPointWidth||s.len,xt(i.pointWidth,c*(1-2*i.pointPadding))),g=(e.columnIndex||0)+ +!!a;return e.columnMetrics={width:p,offset:(c-p)/2+(d+g*c-l/2)*(a?-1:1),paddedWidth:c,columnCount:h},e.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=F(e+s,o,r)-(e=F(e,o,r)),this.options.crisp&&(i=F(t+i,o)-(t=F(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),r=0,a=0;ut(this.xAxis.stacking?.stacks,(t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],n={};if(e&<(s)){let t=this.index,i=Object.keys(e).filter((t=>!t.match(",")&&e[t]&&e[t].length>1)).map(parseFloat).filter((t=>-1!==o.indexOf(t))).filter((e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(j(s)){if(nt(n[s]))return t===e&&(t=n[s]),!1;n[s]=e}return!0})).sort(((t,e)=>e-t));r=i.indexOf(t),a=i.length}})),r=this.xAxis.reversed?a-1-r:r;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=i.borderWidth??+!s,r=t.xAxis,a=t.yAxis,n=i.threshold,h=i.minPointLength??5,l=t.getColumnMetrics(),d=l.width,c=t.pointXOffset=l.offset,p=t.dataMin,g=t.dataMax,u=t.translatedThreshold=a.getThreshold(n),m=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(m=Math.ceil(m)),es.prototype.translate.apply(t),t.points.concat(t.condemnedPoints).forEac
vendor: 6,737 bytes, line 1
1h((function(s){let o,f=s.yBottom??u,x=999+Math.abs(f),y=s.plotX||0,b=X(s.plotY,-x,a.len+x),v=Math.min(b,f),k=Math.max(b,f)-v,w=d,M=y+c,C=m;h&&Math.abs(k)<h&&(k=h,o=!a.reversed&&!s.negative||a.reversed&&s.negative,nt(n)&&nt(g)&&s.y===n&&g<=n&&(a.min||0)<n&&(p!==g||(a.max||0)<=n)&&(o=!o,s.negative=!s.negative),v=Math.abs(v-u)>h?f-(o?h:0):u-(o?h:0)),j(s.options.pointWidth)&&(M-=Math.round(((w=C=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,l)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[X(a.len+a.pos-e.plotLeft-b,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-C/2,k]:[r.left-e.plotLeft+M+C/2,X(b+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,v,C,s.isNull?0:k)})),q(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,o,r=this.options,a=this.pointAttrToOptions||{},n=a.stroke||"borderColor",h=a["stroke-width"]||"borderWidth",l=t&&t.color||this.color,d=t&&t[n]||r[n]||l,c=t&&t.options.dashStyle||r.dashStyle,p=t?.[h]??r[h]??this[h]??1,g=t?.isNull&&r.nullInteraction?0:t?.opacity??r.opacity??1;t&&this.zones.length&&(s=t.getZone(),l=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,c=s.dashStyle||c,p=s.borderWidth||p)),e&&t&&(o=(i=pt(r.states[e],t.options.states?.[e]||{})).brightness,l=i.color||void 0!==o&&Qs(l).brighten(i.brightness).get()||l,d=i[n]||d,p=i[h]||p,c=i.dashStyle||c,g=xt(i.opacity,g));let u={fill:l,stroke:d,"stroke-width":p,opacity:t?.condemned?0:g};return c&&(u.dashstyle=c),u}drawPoints(t){let e;t||(t=this.points.concat(this.condemnedPoints));let i=this,s=this.chart,o=i.options,r=o.nullInteraction,{styledMode:a,renderer:n}=s,h=o.animationLimit||250;t.forEach((function(t){let l=t.plotY,d=t.graphic,c=!!d,p=d&&s.pointCount<h?"animate":"attr";if(nt(l)&&(null!==t.y||r)){if(e=t.shapeArgs,d&&t.hasNewShapeType()&&(d=d.destroy()),!d){let o=e;t.origin&&s.pointCount<h&&(o=pt(e,t.getOrigin(t.origin,e)),a||(o.opacity=0),c=!0,p="animate"),t.graphic=d=n[t.shapeType](o).add(t.group||i.group)}c&&d[p](pt(e)),a||d[p](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),d.addClass(t.getClassName(),!0).attr({visibility:t.visible?"inherit":"hidden"})}else d&&(t.graphic=d.destroy())}))}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){o?.normalize(t);let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&o?.inClass(t.target,"highcharts-point")||o?.inClass(t.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach((function(t){e=lt(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach((function(e){(e.div||e.element).point=t}))})),i._hasTracking||(i.trackerGroups?.reduce(((t,e)=>("dataLabelsGroup"===e?t.push(...i.dataLabelsGroups||[]):t.push(i[e]),t)),[]).forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",(function(t){o?.onTrackerMouseOut(t)})).on("touchstart",r),!s.styledMode&&i.options.cursor&&t.css({cursor:i.options.cursor}))})),i._hasTracking=!0),q(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach((function(e){e.type===t.type&&(e.isDirty=!0)})),es.prototype.remove.apply(t,arguments)}}eo.defaultOptions=pt(es.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.2},select:{color:"var(--highcharts-neutral-color-20)",borderColor:"var(--highcharts-neutral-color-100)"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"var(--highcharts-background-color)"}),_(eo.prototype,{directTouch:!0,getSymbol:to,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),$i.registerSeriesType("column",eo);let io=eo,{getDeferredAnimation:so}=Kt,{format:oo}=de;!function(t){function e(){return h(this).some((t=>t?.enabled))}function i(t,e,i,s,o){let{chart:r}=this,a=this.isCartesian&&r.inverted,{condemned:n,origin:h,plotX:l,plotY:d}=t,{crop:c=!0,distance:p,overflow:g="justify",rotation:u=0}=i,m=J(i.align),f=J(i.verticalAlign),x=t.pos(),y=j(l)&&j(d)&&r.isInsidePlot(l,Math.round(d),{inverted:a,paneCoordinates:!0,series:this}),b=this.visible&&t.visible&&j(l)&&(this.forceDL||n||y||xt(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this}));if(x){let l=e.getBBox(),d=e.getBBox(void 0,0);s=_({x:x[0],y:Math.round(x[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),_(i,{width:l.width,height:l.height});let y=0,v=0;nt(p)&&!i.inside&&(y=p*(1-2*m),v=p*(1-2*f)),e.align(pt(i,{x:(i.x||0)+y,y:(i.y||0)+v,width:d.width,height:d.height}),!1,s,!1),e.distX=y,e.distY=v,e.alignAttr.x+=m*(d.width-l.width),e.alignAttr.y+=f*(d.height-l.height);let k=e.alignAttr.x+(l.width-d.width)/2,w=e.alignAttr.y+(l.height-d.height)/2;if(h){let i=t.pos(!1,h.x,h.y);if(i){let s=[i[0]-x[0],i[1]-x[1]];(this.is("column")||t.plotHigh)&&(s[+!a]=0),e.attr({x:k+s[0],y:w+s[1],opacity:.01}),e.placed=!0,o=!1}}let M={"text-align":e.alignAttr["text-align"]||"center",x:k,y:w,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2};if((n||!b)&&(M.opacity=0),e[e.placed?"animate":"attr"](M),0===u&&!n&&"justify"===g&&b&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(c&&!n){let{x:t,y:i}=e.alignAttr;b=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!u&&e[o?"attr":"animate"]({anchorX:x[0],anchorY:x[1]})}e[o?"attr":"animate"]({visibility:b?"inherit":"hidden"}),e.placed=b}function s(t,e){q(this,"initDataLabelsGroup",{index:t,zIndex:e?.zIndex}),this.dataLabelsGroup=this.dataLabelsGroups?.[t];let i=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",e?.zIndex??6,this.dataLabelsParentGroups?.[t]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[t]=i,this.dataLabelsGroup=this.dataLabelsGroups[0],i}function o(t,e,i){let s=!!this.hasRendered,o=this.initDataLabelsGroup(t,i).attr({opacity:+s});return!s&&o&&(this.visible&&o.show(),this.options.animation?o.animate({opacity:1},e):o.attr({opacity:1})),o}function r(t){t=t||this.points;let e=this,i=e.chart,s=e.options,o=i.renderer,{backgroundColor:r,plotBackgroun
vendor: 4,896 bytes, line 1
1dColor:a}=i.options.chart,l=o.getContrast(ht(a)&&a||ht(r)&&r||"var(--highcharts-background-color)"),d=[],c=h(e),{animation:p,defer:g}=c[0],u=g?so(i,p,e):{defer:0,duration:0};q(this,"drawDataLabels"),e.hasDataLabels?.()&&t.concat(e.condemnedPoints).forEach((t=>{let r=t.dataLabels||[],a=t.color||e.color;Mt(n(c,t.dlOptions||t.options?.dataLabels)).forEach(((n,h)=>{let c,p,g,m,f=n.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o||!1}return!0}(t,n),{backgroundColor:x,borderColor:y,distance:b,style:v={}}=n,k=Mt(n.padding||0),w={},M=r[h],C=!M;if(f&&(p=j(c=xt(n[t.formatPrefix+"Format"],n.format))?oo(c,t,i):(n[t.formatPrefix+"Formatter"]||n.formatter).call(t,n,t),g=n.rotation,!i.styledMode&&(v.color=xt(n.color,v.color,ht(e.color)?e.color:void 0,"var(--highcharts-neutral-color-100)"),"contrast"===v.color?("none"!==x&&(m=x),t.contrastColor=o.getContrast("auto"!==m&&"contrast"!==m&&ht(m)&&m||(ht(a)?a:"")),v.color=m&&"contrast"!==m||n.inside||0>yt(b||0)||s.stacking?t.contrastColor:l):delete t.contrastColor,s.cursor&&(v.cursor=s.cursor)),w={r:n.borderRadius??3,rotation:g,padding:k[0],paddingLeft:k[3%k.length],paddingRight:k[1%k.length],zIndex:1},i.styledMode||(w.fill="auto"===x?t.color:x,w.stroke="auto"===y?t.color:y,w["stroke-width"]=n.borderWidth),ut(w,((t,e)=>{void 0===t&&delete w[e]}))),!M||f&&j(p)&&!(!M.div&&!M.text?.foreignObject)==!!n.useHTML&&(M.rotation&&n.rotation||M.rotation===n.rotation)||(M=void 0,C=!0),f&&j(p)&&""!==p&&(M?w.text=p:(M=o.label(p,0,0,n.shape,void 0,void 0,n.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(n.className||"")+(n.useHTML?" highcharts-tracker":"")),M)){M.options=n,M.attr(w),i.styledMode?v.width&&M.css({width:v.width,textOverflow:v.textOverflow,whiteSpace:v.whiteSpace}):M.css(v).shadow(n.shadow),q(M,"beforeAddingDataLabel",{labelOptions:n,point:t});let s=d[h]=d[h]||this.initDataLabels(h,u,n);M.added||M.add(s),e.alignDataLabel(t,M,n,void 0,C),M.isActive=!0,r[h]&&r[h]!==M&&r[h].destroy(),r[h]=M}}));let h=r.length;for(;h--;)r[h]?.isActive?r[h].isActive=!1:(r[h]?.destroy(),r.splice(h,1));t.dataLabel=r[0],t.dataLabels=r})),q(this,"afterDrawDataLabels")}function a(t,e,i,s,o,r){let a,n,h,l=this.chart,{align:d,verticalAlign:c}=e,{distX:p=0,distY:g=0}=t,u=t.box?0:t.padding||0,m=l.inverted?this.yAxis:this.xAxis,f=m?m.left-l.plotLeft:0,x=l.inverted?this.xAxis:this.yAxis,y=x?x.top-l.plotTop:0,{x:b=0,y:v=0}=e;return(a=(i.x||0)-p+u+f)<0&&("right"===d&&b>=0?(e.align="left",e.inside=!0,b-=p):b-=a,n=!0),(a=(i.x||0)+s.width-p-u+f)>l.plotWidth&&("left"===d&&b<=0?(e.align="right",e.inside=!0,b-=p):b+=l.plotWidth-a,n=!0),(a=(i.y||0)-g+u+y)<0&&("bottom"===c&&v>=0?(e.verticalAlign="top",e.inside=!0,v-=g):v-=a,h=!0),(a=(i.y||0)+s.height-g-u+y)>l.plotHeight&&("top"===c&&v<=0?(e.verticalAlign="bottom",e.inside=!0,v-=g):v+=l.plotHeight-a,h=!0),(n||h)&&(e.x=n?b:b+p,e.y=h?v:v+g,t.placed=!r,t.align(e,void 0,o)),n||h}function n(t,e){let i,s=[];if(lt(t)&&!lt(e))s=t.map((function(t){return pt(t,e)}));else if(lt(e)&&!lt(t))s=e.map((function(e){return pt(t,e)}));else if(lt(t)||lt(e)){if(lt(t)&<(e))for(i=Math.max(t.length,e.length);i--;)s[i]=pt(t[i],e[i])}else s=pt(t,e);return s}function h(t){let e=t.chart.options.plotOptions;return Mt(n(n(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}t.compose=function(t){let h=t.prototype;h.initDataLabels||(h.initDataLabels=o,h.initDataLabelsGroup=s,h.alignDataLabel=i,h.drawDataLabels=r,h.justifyDataLabel=a,h.mergeArrays=n,h.hasDataLabels=e)}}(M||(M={}));let ro=M,{composed:ao}=E,{series:no}=$i;function ho(t,e,i,s,o){let{chart:r,options:a}=this,n=r.inverted,h=this.xAxis?.len||r.plotSizeX||0,l=this.yAxis?.len||r.plotSizeY||0,d=t.dlBox||t.shapeArgs,c=t.below??(t.plotY||0)>(this.translatedThreshold??l),p=i.inside??!!a.stacking;if(d){if(s=pt(d),"allow"!==i.overflow||!1!==i.crop||!1!==a.clip){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-l;t>0&&t<s.height-1&&(s.height-=t)}n&&(s={x:l-s.y-s.height,y:h-s.x-s.width,width:s.height,height:s.width}),p||(n?(s.x+=c?0:s.width,s.width=0):(s.y+=c?s.height:0,s.height=0))}i.align??(i.align=!n||p?"center":c?"right":"left"),i.verticalAlign??(i.verticalAlign=n||p?"middle":c?"top":"bottom"),no.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}(C||(C={})).compose=function(t){ro.compose(no),bt(ao,"ColumnDataLabel")&&(t.prototype.alignDataLabel=ho)};let lo=C;class co extends io{}co.defaultOptions=pt(io.defaultOptions,{}),_(co.prototype,{inverted:!0}),$i.registerSeriesType("bar",co);let{column:po,line:go}=$i.seriesTypes;class uo extends go{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;
1e&&this.points.forEach((function(s,o){["x","y"].forEach((function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,h=t[`${r}Axis`],l=e[r]*h.transA;if(h&&!h.logarithmic){let t,e=Math.max(0,(s[n]||0)-l),d=Math.min(h.len,(s[n]||0)+l);s[n]=e+(d-e)*((t=1e4*Math.sin(o+a*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}uo.defaultOptions=pt(go.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),_(uo.prototype,{allowOutsidePlotInteraction:!0,drawTracker:po.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),z(uo,"afterTranslate",(function(){this.applyJitter()})),$i.registerSeriesType("scatter",uo);let{deg2rad:mo}=E;(d=T||(T={})).getCenter=function(){let t,e,i,s=this.options,o=this.chart,r=2*(s.slicedOffset||0),a=o.plotWidth-2*r,n=o.plotHeight-2*r,h=s.center,l=Math.min(a,n),d=s.thickness,c=s.size,p=s.innerSize||0;"string"==typeof c&&(c=parseFloat(c)),"string"==typeof p&&(p=parseFloat(p));let g=[xt(h?.[0],"50%"),xt(h?.[1],"50%"),xt(c&&c<0?void 0:s.size,"100%"),xt(p&&p<0?void 0:s.innerSize||0,"0%")];for(e=0;e<4;++e)i=g[e],t=e<2||2===e&&/%$/.test(i),g[e]=vt(i,[a,n,l,g[2]][e])+(t?r:0);return g[3]>g[2]&&(g[3]=g[2]),nt(d)&&2*d<g[2]&&d>0&&(g[3]=g[2]-2*d),q(this,"afterGetCenter",{positions:g}),g},d.getStartAndEndRadians=function(t,e){let i=nt(t)?t:0,s=nt(e)&&e>i&&e-i<360?e:i+360;return{start:mo*(i+-90),end:mo*(s+-90)}};let fo=T,{setAnimation:xo}=Kt;class yo extends Oi{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);const s=t=>{this.slice("select"===t.type)};z(this,"select",s),z(this,"unselect",s)}isValid(){return nt(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;xo(i,s.chart),e=xt(e,!0),this.sliced=this.options.sliced=t??!this.sliced,s.options.data&&(s.options.data[s.data.indexOf(this)]=this.options),this.graphic?.animate(this.getTranslate())}}_(yo.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:a}=this,[n,h,l]=a.center,d=l/2,{plotLeft:c,plotWidth:p}=a.chart,g="left"===t.alignment,{x:u,y:m}=t,f=o.x;if(i.crookDistance){let t=vt(i.crookDistance,1);f=g?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else f=n+(h-m)*Math.tan(s-Math.PI/2);let x=[["M",u,m]];return(g?f<=u&&f>=o.x:f>=u&&f<=o.x)&&x.push(["L",f,m]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:bo}=fo,{noop:vo}=E;class ko extends es{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach((function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:xt(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))}))}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:Ee.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"var(--highcharts-neutral-color-20)"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;
vendor: 4,065 bytes, line 1
1this.points.forEach((function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)}))}generatePoints(){super.generatePoints(),this.updateTotals()}getXPos(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition?.distance||0,n=Math.asin(X((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(n)*(r+a)*(e?-1:1)+(a>0?e?-5:5:0)}hasData(){return this.points.some((t=>t.visible))}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach((function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),r.styledMode||(i=o.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||pt(!0,n,i),pt(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())}))}sortByAngle(t,e){t.sort((function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e}))}translate(t){q(this,"translate"),this.generatePoints();let e,i,s,o,r,a,n,h=this.options,l=h.slicedOffset,d=bo(h.startAngle,h.endAngle),c=this.startAngleRad=d.start,p=(this.endAngleRad=d.end)-c,g=this.points,u=h.ignoreHiddenPoint,m=g.length,f=0;for(t||(this.center=t=this.getCenter()),a=0;a<m;a++){n=g[a],e=c+f*p,n.isValid()&&(!u||n.visible)&&(f+=n.percentage/100),i=c+f*p;let h={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:e,end:i};n.shapeType="arc",n.shapeArgs=h,(s=(i+e)/2)>1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),n.slicedTranslation={translateX:Math.round(Math.cos(s)*l),translateY:Math.round(Math.sin(s)*l)},o=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,n.tooltipPos=[t[0]+.7*o,t[1]+.7*r],n.half=+(s<-Math.PI/2||s>Math.PI/2),n.angle=s}q(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,o=this.options.ignoreHiddenPoint,r=0;for(t=0;t<s;t++)(e=i[t]).isValid()&&(!o||e.visible)&&(r+=e.y);for(t=0,this.total=r;t<s;t++)(e=i[t]).percentage=r>0&&(e.visible||!o)?e.y/r*100:0,e.total=r}}ko.defaultOptions=pt(es.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:"var(--highcharts-background-color)",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),_(ko.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:io.prototype.drawTracker,getCenter:fo.getCenter,getSymbol:vo,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:io.prototype.pointAttribs,pointClass:yo,requireSorting:!1,searchPoint:vo,trackerGroups:["group","dataLabelsGroup"]}),$i.registerSeriesType("pie",ko);let{composed:wo,noop:Mo}=E,{distribute:Co}=ce,{series:To}=$i;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getXPos(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o,r=0;return t.forEach((function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)})),e?r+s:i-r-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&s<i&&o>i&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:a,options:n}=this,h=a[2]/2,l=Math.cos(r),d=Math.sin(r),c=a[0]+l*h,p=a[1]+d*h,g=Math.min((n.slicedOffset||0)+(n.borderWidth||0),e/5);
1return{natural:{x:c+l*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+l*g,y:p+d*g},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t,e,i,s=this,o=s.points,r=s.chart,a=r.plotWidth,n=r.plotHeight,h=r.plotLeft,l=Math.round(r.chartWidth/3),d=s.center,c=d[2]/2,p=d[1],g=[[],[]],u=[0,0,0,0],m=s.dataLabelPositioners,f=0;s.visible&&s.hasDataLabels?.()&&(o.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),To.prototype.drawDataLabels.apply(s),o.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{let s=d[2]/2,o=e.options,r=vt(o?.distance||0,s);0===i&&g[t.half].push(t),!j(o?.style?.width)&&e.getBBox().width>l&&(e.css({width:Math.round(.7*l)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),f=Math.max(f,r)}))})),g.forEach(((t,o)=>{let l,g,x,y=t.length,b=[],v=0;y&&(s.sortByAngle(t,o-.5),f>0&&(l=Math.max(0,p-c-f),g=Math.min(p+c+f,r.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{let i=e.dataLabelPosition;i&&i.distance>0&&(i.top=Math.max(0,p-c-i.distance),i.bottom=Math.min(p+c+i.distance,r.plotHeight),v=e.getBBox().height||21,e.lineHeight=r.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-i.top+e.lineHeight/2,size:v,rank:t.y},b.push(t.distributeBox))}))})),Co(b,x=g+v-l,x/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((l=>{let p=l.options||{},g=r.distributeBox,f=l.dataLabelPosition,x=f?.natural.y||0,y=p.connectorPadding||0,v=l.lineHeight||21,k=(v-l.getBBox().height)/2,w=0,M=x,C="inherit";if(f){if(b&&j(g)&&f.distance>0&&(void 0===g.pos?C="hidden":(i=g.size,M=m.radialDistributionY(r,l))),p.justify)w=m.justify(r,l,c,d);else switch(p.alignTo){case"connectors":w=m.alignToConnectors(t,o,a,h);break;case"plotEdges":w=m.alignToPlotEdges(l,o,a,h);break;default:w=m.radialDistributionX(s,r,M-k,x,l)}if(f.attribs={visibility:C,align:f.alignment},f.posAttribs={x:w+(p.x||0)+({left:y,right:-y}[f.alignment]||0),y:M+(p.y||0)-v/2},f.computed.x=w,f.computed.y=M-k,xt(p.crop,!0)){let t;w-(e=l.getBBox().width)<y&&1===o?(t=Math.round(e-w+y),u[3]=Math.max(t,u[3])):w+e>a-y&&0===o&&(t=Math.round(w+e-a+y),u[1]=Math.max(t,u[1])),M-i/2<0?u[0]=Math.max(Math.round(i/2-M),u[0]):M+i/2>n&&(u[2]=Math.max(Math.round(M+i/2-n),u[2])),f.sideOverflow=t}}}))})))})),(0===R(u)||this.verifyDataLabelOverflow(u))&&(this.placeDataLabels(),this.points.forEach((e=>{e.dataLabels?.forEach(((i,o)=>{let{connectorColor:a,connectorWidth:n=1}=i.options||{},h=i.dataLabelPosition;if(nt(n)){let l;t=i.connector,h&&h.distance>0?(l=!t,t||(i.connector=t=r.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(s.dataLabelsGroups?.[o])),r.styledMode||t.attr({"stroke-width":n,stroke:a||e.color||"var(--highcharts-neutral-color-60)"}),t[l?"attr":"animate"]({d:e.getConnectorPath(i)}),t.attr({visibility:h.attribs?.visibility})):t&&(i.connector=t.destroy())}}))}))))}function o(){this.points.forEach((t=>{(t.dataLabels||[]).forEach((t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:t.options?.style?.textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})})),delete t.distributeBox}),this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,a=null!==i.size;return!a&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=X(r,o,e[2]-Math.max(t[0],t[2])):(r=X(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,vt(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):a=!0),a}t.compose=function(t){if(ro.compose(To),bt(wo,"PieDataLabel")){let a=t.prototype;a.dataLabelPositioners=e,a.alignDataLabel=Mo,a.drawDataLabels=s,a.getDataLabelPosition=i,a.placeDataLabels=o,a.verifyDataLabelOverflow=r}}}(S||(S={}));let So=S;(c=A||(A={})).getCenterOfPoints=function(t){let e=t.reduce(((t,e)=>(t.x+=e.x,t.y+=e.y,t)),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},c.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}
vendor: 3,915 bytes, line 1
1,c.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},c.pointInPolygon=function({x:t,y:e},i){let s,o,r=i.length,a=!1;for(s=0,o=r-1;s<r;o=s++){let[r,n]=i[s],[h,l]=i[o];n>e!=l>e&&t<(h-r)*(e-n)/(l-n)+r&&(a=!a)}return a};let{pointInPolygon:Ao}=A;function Po(t,e){let i,s=!1;return t&&(i=t.newOpacity,t.oldOpacity!==i&&(t.hasClass("highcharts-data-label")?(t[i?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=!0,t[t.isOld||t.placed?"animate":"attr"]({opacity:i},void 0,(function(){e.styledMode||t.css({pointerEvents:i?"auto":"none"})})),q(e,"afterHideOverlappingLabel")):t.attr({opacity:i})),t.isOld=!0),s}let{defaultOptions:Oo}=Ht,{noop:Lo}=E,Eo={radius:0,scope:"stack",where:void 0},Io=Lo,Do=Lo;function Bo(t,e,i,s,o={}){let r=Io(t,e,i,s,o),{brStart:a=!0,brEnd:n=!0,innerR:h=0,r:l=i,start:d=0,end:c=0}=o;if(o.open||!o.borderRadius)return r;let p=c-d,g=Math.sin(p/2),u=Math.max(Math.min(vt(o.borderRadius||0,l-h),(l-h)/2,l*g/(1+g)),0),m=Math.min(u,p/Math.PI*2*h),f=r.length-1;for(;f--;)(a||0!==f&&3!==f)&&(n||1!==f&&2!==f)&&function(t,e,i){let s,o,r,a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),"M"!==a[0]&&"L"!==a[0]||"A"!==n[0]?"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,o=a):(s=a,o=n,r=!0),s&&o&&o.params){let a=o[1],n=o[5],h=o.params,{start:l,end:d,cx:c,cy:p}=h,g=n?a-i:a+i,u=g?Math.asin(i/g):0,m=n?u:-u,f=Math.cos(u)*g;r?(h.start=l+m,s[1]=c+f*Math.cos(l),s[2]=p+f*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-m,o[6]=c+a*Math.cos(h.end),o[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+f*Math.cos(d),p+f*Math.sin(d)])),o[4]=Math.abs(h.end-h.start)<Math.PI?0:1}}(r,f,f>1?m:u);return r}function zo(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=Oo.plotOptions?.[this.type]?.borderRadius,o=No(t.borderRadius,ct(s)?s:{}),r=e.options.reversed;for(let a of this.points){let{shapeArgs:s}=a;if("roundedRect"===a.shapeType&&s){let{width:n=0,height:h=0,y:l=0}=s,d=l,c=h;if("stack"===o.scope&&a.stackTotal){let s=e.translate(i?100:a.stackTotal,!1,!0,!1,!0),o=e.translate(t.threshold||0,!1,!0,!1,!0),r=this.crispCol(0,Math.min(s,o),0,Math.abs(s-o));d=r.y,c=r.height}let p=(a.negative?-1:1)*(r?-1:1)==-1,g=o.where;!g&&this.is("waterfall")&&Math.abs((a.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let u=Math.min(vt(o.radius,n),n/2,"all"===g?c/2:1/0)||0;"end"===g&&(p&&(d-=u),c+=u),_(s,{brBoxHeight:c,brBoxY:d,r:u})}}}}function No(t,e){return ct(t)||(t={radius:t||0}),pt(Eo,e,t)}function Ro(){let t=No(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=vt(t.radius,(i.r||0)-(i.innerR||0)))}}function Wo(t,e,i,s,o={}){let r=Do(t,e,i,s,o),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=o,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,p=d-a>-.1?0:a,g=Math.max(c&&l,0),u=Math.max(p&&d,0),m=[t+c,e],f=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);m[0]-=t,f[0]+=t,x[1]=w[1]=e+c-g}if(s<c-g){let o=M(c,c-g-s);x[0]=y[0]=t+i-c+o,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=t+c-o,x[1]=w[1]=e+s}if(u){let t=M(p,p-u);b[0]+=t,v[0]-=t,y[1]=k[1]=e+s-p+u}if(s<p-u){let o=M(p,p-u-s);x[0]=y[0]=t+i-p+o,f[0]=Math.min(x[0],f[0]),m[0]=Math.max(y[0],m[0]),k[0]=w[0]=t+p-o,y[1]=k[1]=e}return r.length=0,r.push(["M",...m],["L",...f],["A",c,c,0,0,1,...x],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...k],["L",...w],["A",c,c,0,0,1,...m],["Z"]),r}function Xo(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=xt(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=xt(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=xt(i.minWidth,0)&&this.chartHeight>=xt(i.minHeight,0)}).call(this,this)&&e.push(t._id)}function Ho(t,e){let i,s=this.options.responsive,o=this.currentResponsive,r=[];
1!e&&s&&s.rules&&s.rules.forEach((t=>{void 0===t._id&&(t._id=It()),this.matchResponsiveRule(t,r)}),this);let a=pt(...r.map((t=>st(s?.rules||[],(e=>e._id===t)))).map((t=>t?.chartOptions)));a.isResponsiveOptions=!0,r=r.toString()||void 0;let n=o?.ruleIds;r!==n&&(o&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(o.undoOptions,t,!0),this.updatingResponsive=!1),r?((i=U(a,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:a,undoOptions:i},this.updatingResponsive||this.update(a,t,!0)):this.currentResponsive=void 0)}(P||(P={})).compose=function(t){let e=t.prototype;return e.matchResponsiveRule||_(e,{matchResponsiveRule:Xo,setResponsive:Ho}),t};let Go=P;E.AST=ie,E.Axis=di,E.Chart=ws,E.Color=jt,E.DataLabel=ro,E.DataTable=Wi,E.DataTableCore=Wi,E.Fx=Ut,E.HTMLElement=Ke,E.Legend=ds,E.LegendSymbol=Gi,E.PlotLineOrBand=ui,E.Point=Oi,E.Pointer=zi,E.Series=es,E.SeriesRegistry=$i,E.StackItem=Ls,E.SVGElement=we,E.SVGRenderer=Ue,E.Templating=de,E.Tick=ei,E.Time=Nt,E.Tooltip=Ci,E.addEvent=z,E.animObject=Kt.animObject,E.animate=Kt.animate,E.arrayMax=R,E.arrayMin=N,E.attr=W,E.chart=ws.chart,E.clamp=X,E.color=jt.parse,E.correctFloat=H,E.createElement=G,E.css=Y,E.crisp=F,E.dateFormat=de.dateFormat,E.defaultOptions=Ht.defaultOptions,E.defined=j,E.destroyObjectProperties=$,E.diffObjects=U,E.discardElement=V,E.distribute=ce.distribute,E.erase=Z,E.error=Ot,E.extend=_,E.extendClass=K,E.find=st,E.fireEvent=q,E.format=de.format,E.getAlignFactor=J,E.getClosestDistance=Q,E.getDeferredAnimation=Kt.getDeferredAnimation,E.getMagnitude=tt,E.getNestedProperty=et,E.getOptions=Ht.getOptions,E.getStyle=it,E.insertItem=Lt,E.isArray=lt,E.isClass=at,E.isDOMElement=rt,E.isFunction=dt,E.isNumber=nt,E.isObject=ct,E.isString=ht,E.internalClearTimeout=ot,E.merge=pt,E.normalizeTickInterval=gt,E.numberFormat=de.numberFormat,E.objectEach=ut,E.offset=mt,E.pad=ft,E.pick=xt,E.pushUnique=bt,E.pInt=yt,E.relativeLength=vt,E.removeEvent=wt,E.replaceNested=kt,E.seriesType=$i.seriesType,E.setAnimation=Kt.setAnimation,E.setOptions=Ht.setOptions,E.splat=Mt,E.stableSort=Ct,E.stop=Kt.stop,E.syncTimeout=Tt,E.time=Ht.defaultTime,E.ucfirst=St,E.timers=Ut.timers,E.timeUnits=Et,E.uniqueKey=It,E.useSerialIds=function(e){return t=xt(e,t)},E.wrap=function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}},function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;z(t,"afterColumnTranslate",zo,{order:9}),z(s,"afterTranslate",Ro),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),Io=o.arc,Do=o.roundedRect,o.arc=Bo,o.roundedRect=Wo}}(E.Series,E.SVGElement,E.SVGRenderer),lo.compose(E.Series.types.column),ro.compose(E.Series),ci.compose(E.Axis),Ke.compose(E.SVGRenderer),ds.compose(E.Chart),pi.compose(E.Axis),(o=(p=E.Chart).prototype).hideOverlappingLabels||(o.hideOverlappingLabels=function(t){let e,i,s,o,r,a=t.length,n=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),h=(t,e)=>{for(let i of t)if(Ao({x:i[0],y:i[1]},e))return!0;return!1},l=!1;for(let d=0;d<a;d++)(e=t[d])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.dataLabelPosition?.posAttribs||t.alignAttr||{x:t.attr("x"),y:t.attr("y")},{height:s,polygon:o,width:r}=t.getBBox(),a=J(t.alignValue)*r;return t.width=r,t.height=s,{x:i.x+(t.parentGroup?.translateX||0)+e-a,y:i.y+(t.parentGroup?.translateY||0)+e,width:r-2*e,height:s-2*e,polygon:o}}}(e));t.sort(((t,e)=>(e?.labelrank||0)-(t?.labelrank||0)));for(let d=0;d<a;++d){o=(i=t[d])&&i.absoluteBox;let e=o?.polygon;for(let l=d+1;l<a;++l){r=(s=t[l])&&s.absoluteBox;let a=!1;if(o&&r&&i!==s&&0!==i?.newOpacity&&0!==s?.newOpacity&&"hidden"!==i?.visibility&&"hidden"!==s?.visibility){let t=r.polygon;if(e&&t&&e!==t?h(e,t)&&(a=!0):n(o,r)&&(a=!0),a){let t=i?.labelrank<s?.labelrank?i:s,e=t?.text;t&&(t.newOpacity=0),e?.element.querySelector("textPath")&&e.hide()}}}}for(let d of t)d&&Po(d,this)&&(l=!0);l&&q(this,"afterHideAllOverlappingLabels")},z(p,"render",(function(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&ut(i.stacking.stacks,(t=>{ut(t,(t=>{t.label&&e.push(t.label)}))}));for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=s=>
1{for(let o of s)o.visible&&(o.dataLabels||[]).forEach((s=>{let r=s.options||{};s.labelrank=xt(r.labelrank,o.labelrank,o.shapeArgs?.height),r.allowOverlap??(i.is("pie")&&Number(r.distance)>0)?(s.oldOpacity=s.opacity,s.newOpacity=1,Po(s,t)):e.push(s)}))};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}))),So.compose(E.Series.types.pie),ui.compose(E.Chart,E.Axis),zi.compose(E.Chart),Go.compose(E.Chart),As.compose(E.Axis,E.Chart,E.Series),Fs.compose(E.Axis,E.Chart,E.Series),Ci.compose(E.Pointer);let Fo=E;return L.default})(),e._Highcharts=i(),t.exports=e._Highcharts}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.