PageSourceSearch

https://digital.fidelity.com/ctgw/digital/prelogin/chunk-JGVN64TA.js

js fidelity.com collected 2026-09-24 08:59:57 UTC 376,631 bytes, 2 lines download raw bytes

vendor: 4,499 bytes, line 1
1import{a as Wt,b as te,d as Ph}from"./chunk-6MDQTQU3.js";var Oh=Ph((Oe,ys)=>{(function(Nt,Jt){typeof Oe=="object"&&typeof ys=="object"?(Nt._Highcharts=Jt(),ys.exports=Nt._Highcharts):typeof define=="function"&&define.amd?define("highcharts/highcharts",[],Jt):typeof Oe=="object"?(Nt._Highcharts=Jt(),Oe.highcharts=Nt._Highcharts):(Nt.Highcharts&&Nt.Highcharts.error(16,!0),Nt.Highcharts=Jt())})("u"<typeof window?Oe:window,()=>(()=>{"use strict";let Nt,Jt,ei,ii,bs,si,vs,ks,Le,Ms;var q,he,ws,Ss,As,Ts,Cs,Ee,Ps,oi,ri,ai,ni,hi,li,di,ci,pi,ui,gi,fi,mi,xi,yi,bi,vi,ki,Mi,wi,Si,Ai,Ti,ke={};ke.d=(h,t)=>{for(var e in t)ke.o(t,e)&&!ke.o(h,e)&&Object.defineProperty(h,e,{enumerable:!0,get:t[e]})},ke.o=(h,t)=>Object.prototype.hasOwnProperty.call(h,t);var Os={};ke.d(Os,{default:()=>Ch}),(q=oi||(oi={})).SVG_NS="http://www.w3.org/2000/svg",q.product="Highcharts",q.version="12.6.0",q.win="u">typeof window?window:{},q.doc=q.win.document,q.svg=!!q.doc?.createElementNS?.(q.SVG_NS,"svg")?.createSVGRect,q.pageLang=q.doc?.documentElement?.closest("[lang]")?.lang,q.userAgent=q.win.navigator?.userAgent||"",q.isChrome=q.win.chrome,q.isFirefox=q.userAgent.indexOf("Firefox")!==-1,q.isMS=/(edge|msie|trident)/i.test(q.userAgent)&&!q.win.opera,q.isSafari=!q.isChrome&&q.userAgent.indexOf("Safari")!==-1,q.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(q.userAgent),q.isWebKit=q.userAgent.indexOf("AppleWebKit")!==-1,q.deg2rad=2*Math.PI/360,q.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],q.noop=function(){},q.supportsPassiveEvents=(function(){let h=!1;if(!q.isMS){let t=Object.defineProperty({},"passive",{get:function(){h=!0}});q.win.addEventListener&&q.win.removeEventListener&&(q.win.addEventListener("testPassive",q.noop,t),q.win.removeEventListener("testPassive",q.noop,t))}return h})(),q.charts=[],q.composed=[],q.dateFormats={},q.seriesTypes={},q.symbolSizes={},q.chartCount=0;let C=oi,{doc:Be,win:De}=C;function R(h,t,e,i={}){let s=typeof h=="function"&&h.prototype||h;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let o=s.hcEvents;C.Point&&h instanceof C.Point&&h.series&&h.series.chart&&(h.series.chart.runTrackerClick=!0);let r=h.addEventListener;r&&r.call(h,t,e,!!C.supportsPassiveEvents&&{passive:i.passive===void 0?t.indexOf("touch")!==-1:i.passive,capture:!1}),o[t]||(o[t]=[]);let a={fn:e,order:typeof i.order=="number"?i.order:1/0};return o[t].push(a),o[t].sort((n,d)=>n.order-d.order),function(){Ct(h,t,e)}}function Qt(h){let t=h.length,e=h[0];for(;t--;)h[t]<e&&(e=h[t]);return e}function Gt(h){let t=h.length,e=h[0];for(;t--;)h[t]>e&&(e=h[t]);return e}function Mt(h,t,e){let i,s=Q(t)&&!E(e),o=(r,a)=>{E(r)?h.setAttribute(a,r):s?(i=h.getAttribute(a))||a!=="class"||(i=h.getAttribute(a+"Name")):h.removeAttribute(a)};return Q(t)?o(e,t):j(t,o),i}function nt(h,t,e){return h>t?h<e?h:e:t}function K(h,t){return h>1e14?h:parseFloat(h.toPrecision(t||14))}function vt(h,t,e,i,s){let o=Be.createElement(h);return t&&X(o,t),s&&Z(o,{padding:"0",border:"none",margin:"0"}),e&&Z(o,e),i&&i.appendChild(o),o}function ht(h,t=0,e){let i=t%2/2,s=e?-1:1;return(Math.round(h*s-i)+i)*s}function Z(h,t){X(h.style,t)}function E(h){return h!=null}function Xt(h,t,e){j(h,function(i,s){i!==t&&i?.destroy&&i.destroy(),(i?.destroy||!e)&&delete h[s]})}function Me(h){h?.parentElement?.removeChild(h)}function we(h,t,e,i){let s={};return(function o(r,a,n,d){let p=e?a:r;j(r,function(l,c){if(!d&&i&&i.indexOf(c)>-1&&a[c]){l=gt(l),n[c]=[];for(let u=0;u<Math.max(l.length,a[c].length);u++)a[c][u]&&(l[u]===void 0?n[c][u]=a[c][u]:(n[c][u]={},o(l[u],a[c][u],n[c][u],d+1)))}else st(l,!0)&&!l.nodeType?(n[c]=ot(l)?[]:{},o(l,a[c]||{},n[c],d+1),Object.keys(n[c]).length===0&&(c!=="colorAxis"||d!==0)&&delete n[c]):(r[c]!==a[c]||c in r&&!(c in a))&&c!=="__proto__"&&c!=="constructor"&&(n[c]=p[c])})})(h,t,s,0),s}function wt(h,t){let e=h.length;for(;e--;)if(h[e]===t){h.splice(e,1);break}}function X(h,t){let e;for(e in h||(h={}),t)h[e]=t[e];return h}function Ls(h,t){let e=function(){};return e.prototype=new h,X(e.prototype,t),e}function D(h,t,e,i){if(e=e||{},Be?.createEvent&&(h.dispatchEvent||h.fireEvent&&h!==C)){let s=Be.createEvent("Events");s.initEvent(t,!0,!0),e=X(s,e),h.dispatchEvent?h.dispatchEvent(e):h.fireEvent(t,e)}else if(h.hcEvents){e.target||X(e,{preventDefault:function(){e.defaultPrevented=!0},target:h,type:t});let s=[],o=h,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[t]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[t])),o=Object.getPrototypeOf(o
1);r&&s.sort((a,n)=>a.order-n.order),s.forEach(a=>{a.fn.call(h,e,h)===!1&&e.preventDefault()})}i&&!e.defaultPrevented&&i.call(h,e)}let Tt=(h="")=>({center:.5,right:1,middle:.5,bottom:1})[h]||0;function Ci(h,t){let e,i,s,o,r=!t;return h.forEach(a=>{if(a.length>1)for(o=i=a.length-1;o>0;o--)(s=a[o]-a[o-1])<0&&!r?(t?.(),t=void 0):s&&(e===void 0||s<e)&&(e=s)}),e}function Pi(h){return Math.pow(10,Math.floor(Math.log(h)/Math.LN10))}function Ie(h,t){let e=h.split(".");for(;e.length&&E(t);){let i=e.shift();if(i===void 0||i==="__proto__")return;if(i==="this"){let o;return st(t)&&(o=t["@this"]),o??t}let s=t[i.replace(/[\\'"]/g,"")];if(!E(s)||typeof s=="function"||typeof s.nodeType=="number"||s===De)return;t=s}return t}function jt(h,t,e){let i;if(t==="width"){let o=Math.min(h.offsetWidth,h.scrollWidth),r=h.getBoundingClientRect?.().width;return r<o&&r>=o-1&&(o=Math.floor(r)),Math.max(0,o-(jt(h,"padding-left",!0)||0)-(jt(h,"padding-right",!0)||0))}if(t==="height")return Math.max(0,Math.min(h.offsetHeight,h.scrollHeight)-(jt(h,"padding-top",!0)||0)-(jt(h,"padding-bottom",!0)||0));let s=De.getComputedStyle(h,void 0);return s&&(i=s.getPropertyValue(t),A(e,t!=="opacity")&&(i=lt(i))),i}let It=Array.prototype.find?function(h,t){return h.find(t)}:function(h,t){let e,i=h.length;for(e=0;e<i;e++)if(t(h[e],e))return h[e]};function ze(h){E(h)&&clearTimeout(h)}function Oi(h){return st(h)&&typeof h.nodeType=="number"}function Es(h){let t=h?.constructor;return!!(st(h,!0)&&!Oi(h)&&t?.name&&t.name!=="Object")}function T(h){return typeof h=="number"&&!isNaN(h)&&h<1/0&&h>-1/0}function Q(h){return typeof h=="string"}function ot(h){let t=Object.prototype.toString.call(h);return t==="[object Array]"||t==="[object Array Iterator]"}function le(h){return typeof h=="function"}function st(h,t){return!!h&&typeof h=="object"&&(!t||!ot(h))}function G(h,...t){let e,i=[h,...t],s={},o=function(a,n){return typeof a!="object"&&(a={}),j(n,function(d,p){p!=="__proto__"&&p!=="constructor"&&(!st(d,!0)||Es(d)||Oi(d)?a[p]=n[p]:a[p]=o(a[p]||{},d))}),a};h===!0&&(s=i[1],i=Array.prototype.slice.call(i,2));let r=i.length;for(e=0;e<r;e++)s=o(s,i[e]);return s}function Re(h,t,e,i,s){let o,r=h;e=A(e,Pi(h));let a=h/e;for(!t&&(t=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],i===!1&&(e===1?t=t.filter(function(n){return n%1==0}):e<=.1&&(t=[1/e]))),o=0;o<t.length&&(r=t[o],(!s||!(r*e>=h))&&(s||!(a<=(t[o]+(t[o+1]||t[o]))/2)));o++);return K(r*e,-Math.round(Math.log(.001)/Math.LN10))}function j(h,t,e){for(let i in h)Object.hasOwnProperty.call(h,i)&&t.call(e||h[i],h[i],i,h)}function Bs(h){let t=Be.documentElement,e=h.parentElement||h.parentNode?h.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(De.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(De.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}}function $t(h,t,e){return Array((t||2)+1-String(h).replace("-","").length).join(e||"0")+h}function A(){let h=arguments,t=h.length;for(let e=0;e<t;e++){let i=h[e];if(i!=null)return i}}function lt(h,t){return parseInt(h,t||10)}function xt(h,t){return 0>h.indexOf(t)&&!!h.push(t)}function kt(h,t,e){return/%$/.test(h)?t*parseFloat(h)/100+(e||0):parseFloat(h)}function Ds(h,...t){let e,i;do for(i of(e=h,t))h=h.replace(i[0],i[1]);while(h!==e);return h}function Ct(h,t,e){function i(r,a){let n=h.removeEventListener;n&&n.call(h,r,a,!1)}function s(r){let a,n;h.nodeName&&(t?(a={})[t]=!0:a=r,j(a,function(d,p){if(r[p])for(n=r[p].length;n--;)i(p,r[p][n].fn)}))}let o=typeof h=="function"&&h.prototype||h;if(Object.hasOwnProperty.call(o,"hcEvents")){let r=o.hcEvents;if(t){let a=r[t]||[];e?(r[t]=a.filter(function(n){return e!==n.fn}),i(t,e)):(s(r),r[t]=[])}else s(r),delete o.hcEvents}}function gt(h){return ot(h)?h:[h]}function de(h,t){let e,i,s=h.length;for(i=0;i<s;i++)h[i].safeI=i;for(h.sort(function(o,r){return(e=t(o,r))===0?o.safeI-r.safeI:e}),i=0;i<s;i++)delete h[i].safeI}function Ht(h,t,e){return t>0?setTimeout(h,t,e):(h.call(0,e),-1)}function Is(h){return Q(h)?h.substring(0,1).toUpperCase()+h.substring(1):String(h)}function zs(h,t,e){let i=h[t];h[t]=function(){let s=arguments,o=this;return e.apply(this,[function(){return i.apply(o,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}}let{charts:gr,win:Li}=C;function pt(h,t,e,i){let s=t?"Highcharts error":"Highcharts warning";h===32&&(h=`${s}: Deprecated member`);let o=T(h),r=o?`${s} #${h}: www.highcharts.com/errors/${h}/`:h.toString();if(i!==void 0){let a="";o&&(r+="?"),j(i,function(n,d){a+=`
2 - ${d}: ${n}`,o&&(r+=encodeURI(d)+"="+encodeURI(n))}),r+=a}D(C,"displayError",{chart:e,code:h,message:r,params:i},function(){if(t)throw Error(r);Li.console&&pt.messages.indexOf(r)===-1&&console.warn(r)}),pt.messages.push(r)}function We(h,t){let e,i=h.options.index,s=t.length;for(e=h.options.isInternal?s:0;e<s+1;e++)if(!t[e]||T(i)&&i<A(t[e].options.index,t[e]._i)||t[e].options.isInternal){t.splice(e,0,h);break}return e}(pt||(pt={})).messages=[];let rt={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(h){return-.5*(Math.cos(Math.PI*h)-1)};let zt=(vs=Math.random().toString(36).substring(2,9)+"-",ks=0,function(){return"highcharts-"+(Nt?"":vs)+ks++});Li.jQuery&&(Li.jQuery.fn.highcharts=function(){let h=[].slice.call(arguments);if(this[0])return h[0]?(new C[Q(h[0])?h.shift():"Chart"](this[0],h[0],h[1]),this):gr[Mt(this[0],"data-highcharts-chart")]});let{pageLang:fr,win:Ne}=C,mr=C.isSafari&&Ne.Intl&&!Ne.Intl.DateTimeFormat.prototype.formatRange,xr=class{constructor(h,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=Ne.Date,this.update(h),this.lang=t}update(h={}){this.dTLCache={},this.options=h=G(!0,this.options,h);let{timezoneOffset:t,useUTC:e,locale:i}=h;this.Date=h.Date||Ne.Date||Date;let s=h.timezone;E(e)&&(s=e?"UTC":void 0),t&&t%60==0&&(s="Etc/GMT"+(t>0?"+":"")+t/60),this.variableTimezone=s!=="UTC"&&s?.indexOf("Etc/GMT")!==0,this.timezone=s,this.lang&&i&&(this.lang.locale=i),["months","shortMonths","weekdays","shortWeekdays"].forEach(o=>{let r=/months/i.test(o),a=/short/.test(o),n={timeZone:"UTC"};n[r?"month":"weekday"]=a?"short":"long",this[o]=(r?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(d=>this.dateFormat(n,(r?31:1)*24*36e5*d))})}
2toParts(h){let[t,e,i,s,o,r,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},h,"es").split(/(?:, | |\/|:)/g);return[s,i-1,e,o,r,a,Math.floor(Number(h)||0)%1e3,"DLMXJVS".indexOf(t)].map(Number)}dateTimeFormat(h,t,e=this.options.locale||fr){let i=JSON.stringify(h)+e;Q(h)&&(h=this.str2dtf(h));let s=this.dTLCache[i];if(!s){h.timeZone??(h.timeZone=this.timezone);try{s=new Intl.DateTimeFormat(e,h)}catch(o){/Invalid time zone/i.test(o.message)?(pt(34),h.timeZone="UTC",s=new Intl.DateTimeFormat(e,h)):pt(o.message,!1)}}return this.dTLCache[i]=s,s?.format(t)||""}str2dtf(h,t={}){let e={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(e).forEach(i=>{h.indexOf(i)!==-1&&X(t,e[i])}),t}makeTime(h,t,e=1,i=0,s,o,r){let a=this.Date.UTC(h,t,e,i,s||0,o||0,r||0);if(this.timezone!=="UTC"){let n=this.getTimezoneOffset(a);if(a+=n,[2,3,8,9,10,11].indexOf(t)!==-1&&(i<5||i>20)){let d=this.getTimezoneOffset(a);n!==d?a+=d-n:n-36e5!==this.getTimezoneOffset(a-36e5)||mr||(a-=36e5)}}return a}parse(h){if(!Q(h))return h??void 0;let t=(h=h.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(h),e=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(h);t||e||(h+="Z");let i=Date.parse(h);if(T(i))return i+(!t||e?this.getTimezoneOffset(i):0)}getTimezoneOffset(h){if(this.timezone!=="UTC"){let[t,e,i,s,o=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},h,"en").split(/(GMT|:)/).map(Number),r=-(60*(i+o/60)*6e4);if(T(r))return r}return 0}dateFormat(h,t,e){let i=this.lang;if(!E(t)||isNaN(t))return i?.invalidDate||"";if(Q(h=h??"%Y-%m-%d %H:%M:%S")){let s,o=/%\[([a-zA-Z]+)\]/g;for(;s=o.exec(h);)h=h.replace(s[0],this.dateTimeFormat(s[1],t,i?.locale))}if(Q(h)&&h.indexOf("%")!==-1){let s=this,[o,r,a,n,d,p,l,c]=this.toParts(t),u=i?.weekdays||this.weekdays,g=i?.shortWeekdays||this.shortWeekdays,f=i?.months||this.months,m=i?.shortMonths||this.shortMonths;j(X({a:g?g[c]:u[c].substr(0,3),A:u[c],d:$t(a),e:$t(a,2," "),w:c,v:i?.weekFrom??"",b:m[r],B:f[r],m:$t(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:$t(n),k:n,I:$t(n%12||12),l:n%12||12,M:$t(d),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:$t(p),L:$t(l,3)},C.dateFormats),function(x,y){if(Q(h))for(;h.indexOf("%"+y)!==-1;)h=h.replace("%"+y,typeof x=="function"?x.call(s,t,s):x)})}else if(st(h)){let s=(this.getTimezoneOffset(t)||0)/36e5,o=this.timezone||"Etc/GMT"+(s>=0?"+":"")+s,{prefix:r="",suffix:a=""}=h;h=r+this.dateTimeFormat(X({timeZone:o},h),t)+a}return e?Is(h):h}resolveDTLFormat(h){return st(h,!0)?st(h,!0)&&h.main===void 0?{main:h}:h:{main:(h=gt(h))[0],from:h[1],to:h[2]}}getDateFormat(h,t,e,i){let s=this.dateFormat("%m-%d %H:%M:%S.%L",t),o="01-01 00:00:00.000",r={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",n=a;for(a in rt){if(h&&h===rt.week&&+this.dateFormat("%w",t)===e&&s.substr(6)===o.substr(6)){a="week";break}if(h&&rt[a]>h){a=n;break}if(r[a]&&s.substr(r[a])!==o.substr(r[a]))break;a!=="week"&&(n=a)}return this.resolveDTLFormat(i[a]).main}},Ei=class extends xr{getTimeTicks(h,t,e,i){let s=this,o=[],r={},{count:a=1,unitRange:n}=h,[d,p,l,c,u,g]=s.toParts(t),f=(t||0)%1e3,m;if(i??(i=1),E(t)){if(f=n>=rt.second?0:a*Math.floor(f/a),n>=rt.second&&(g=n>=rt.minute?0:a*Math.floor(g/a)),n>=rt.minute&&(u=n>=rt.hour?0:a*Math.floor(u/a)),n>=rt.hour&&(c=n>=rt.day?0:a*Math.floor(c/a)),n>=rt.day&&(l=n>=rt.month?1:Math.max(1,a*Math.floor(l/a))),n>=rt.month&&(p=n>=rt.year?0:a*Math.floor(p/a)),n>=rt.year&&(d-=d%a),n===rt.week){a&&(t=s.makeTime(d,p,l,c,u,g,f));let b=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),v="DLMXJVS".indexOf(b);l+=-v+i+(v<i?-7:0)}t=s.makeTime(d,p,l,c,u,g,f),s.variableTimezone&&E(e)&&(m=e-t>4*rt.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(e));let x=t,y=1;for(;x<e;)o.push(x),n===rt.year?x=s.makeTime(d+y*a,0):n===rt.month?x=s.makeTime(d,p+y*a):m&&(n===rt.day||n===rt.week)?x=s.makeTime(d,p,l+y*a*(n===rt.day?1:7)):m&&n===rt.hour&&a>1?x=s.makeTime(d,p,l,c+y*a):x+=n*a,y++;o.push(x),n<=rt.hour&&o.length<1e4&&o.forEach(b=>{b%18e5==0&&s.dateFormat("%H%M%S%L",b)==="000000000"&&(r[b]="day")})}return o.info=X(h,{higherRanks:r,totalRange:n*a}),o}},{isTouchDevice:yr}
2=C,Zt={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:h=>Math.sqrt(1-Math.pow(h-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:yr?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:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},Bi=new Ei(Zt.time,Zt.lang),mt={defaultOptions:Zt,defaultTime:Bi,getOptions:function(){return Zt},setOptions:function(h){return D(C,"setOptions",{options:h}),G(!0,Zt,h),h.time&&Bi.update(Zt.time),h.lang&&"locale"in h.lang&&Bi.update({locale:h.lang.locale}),h.lang?.chartTitle&&(Zt.title=te(Wt({},Zt.title),{text:h.lang.chartTitle})),Zt}},{win:br}=C,Rs=(h,t,e)=>`color-mix(in srgb,${h},${t} ${100*e}%)`,Di=h=>Q(h)&&!!h&&h!=="none";class dt{static parse(t){return t?new dt(t):dt.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=C.Color;if(r&&r!==dt)return new r(t);if(typeof t=="object"&&t.stops!==void 0)this.stops=t.stops.map(a=>new dt(a[1]));else if(typeof t=="string")for(this.input=t=dt.names[t.toLowerCase()]||t,s=dt.parsers.length;s--&&!i;)(e=(o=dt.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(typeof e=="object"&&this.stops!==void 0){let s=G(e);return s.stops=[].slice.call(s.stops),this.stops.forEach((o,r)=>
2{s.stops[r]=[s.stops[r][0],o.get(t)]}),s}return i&&T(i[0])?t!=="rgb"&&(t||i[3]!==1)?t==="a"?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(i){i.brighten(t)});else if(T(t)&&t!==0)if(T(e[0]))for(let i=0;i<3;i++)e[i]+=lt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else dt.useColorMix&&Di(this.input)&&(this.output=Rs(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!T(i[0])||!T(s[0]))return dt.useColorMix&&Di(this.input)&&Di(t.input)&&e<.99?Rs(this.input,t.input,e):t.input||"none";let o=s[3]!==1||i[3]!==1,r=(n,d)=>n+(i[d]-n)*(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(",")+")"}}dt.names={white:"#ffffff",black:"#000000"},dt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(h){return[lt(h[1]),lt(h[2]),lt(h[3]),parseFloat(h[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(h){return[lt(h[1]),lt(h[2]),lt(h[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(h){return[lt(h[1]+h[1],16),lt(h[2]+h[2],16),lt(h[3]+h[3],16),E(h[4])?lt(h[4]+h[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(h){return[lt(h[1],16),lt(h[2],16),lt(h[3],16),E(h[4])?lt(h[4],16)/255:1]}}],dt.useColorMix=br.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),dt.None=new dt("");let{parse:Ws}=dt,{win:vr}=C;class Pt{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(s!==1&&e&&i)if(e.length===i.length&&s<1)for(let r=0;r<i.length;r++){let a=e[r],n=i[r],d=[];for(let p=0;p<n.length;p++){let l=a[p],c=n[p];T(l)&&T(c)&&(n[0]!=="A"||p!==4&&p!==5)?d[p]=l+s*(c-l):d[p]=c}o.push(d)}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(d){return!r.stopped&&s.step(d)},a=vr.requestAnimationFrame||function(d){setTimeout(d,13)},n=function(){for(let d=0;d<Pt.timers.length;d++)Pt.timers[d]()||Pt.timers.splice(d--,1);Pt.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()&&Pt.timers.push(r)===1&&a(n)):(delete o.curAnim[this.prop],o.complete&&Object.keys(o.curAnim).length===0&&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,d=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),d[this.prop]=!0,i=!0,j(d,function(p){p!==!0&&(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=t.startX,o=t.endX,r=i.slice(),a=t.isArea,n=a?2:1,d=e&&i.length>e.length&&i.hasStackedCliffs,p,l,c,u,g=e?.slice();if(!g||d)return[r,r];function f(x,y){for(;x.length<l;){let b=x[0],v=y[l-x.length];if(v&&b[0]==="M"&&(v[0]==="C"?x[0]=["C",b[1],b[2],b[1],b[2],b[1],b[2]]:x[0]=["L",b[1],b[2]]),x.unshift(b),a){let k=x.pop();x.push(x[x.length-1],k)}}}function m(x){for(;x.length<l;){let y=x[Math.floor(x.length/n)-1].slice();if(y[0]==="C"&&(y[1]=y[5],y[2]=y[6]),a){let b=x[Math.floor(x.length/n)].slice();x.splice(x.length/2,0,y,b)}else x.push(y)}}if(s&&o&&o.length){for(c=0;c<s.length;c++)if(s[c]===o[0]){p=c;break}else if(s[0]===o[o.length-s.length+c]){p=c,u=!0;break}else if(s[s.length-1]===o[o.length-s.length+c]){p=s.length-c;break}p===void 0&&(g=[])}return g.length&&T(p)&&(l=r.length+p*n,u?(f(g,r),m(r)):(f(r,g),m(g))),[g,r]}fillSetter(){Pt.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,Ws(this.start).tweenTo(Ws(this.end),this.pos),void 0,!0)}}function Ii(h){return st(h)?G({duration:500,defer:0},h):{duration:500*!!h,defer:0}}function Ns(h,t){let e=Pt.timers.length;for(;e--;)Pt.timers[e].elem!==h||t&&t!==Pt.timers[e].prop||(Pt.timers[e].stopped=!0)}Pt.timers=[];let St={animate:function(h,t,e){let i,s="",o,r,a;st(e)||(a=arguments,e={duration:a[2],easing:a[3],complete:a[4]}),T(e.duration)||(e.duration=400),e.easing=typeof e.easing=="function"?e.easing:Math[e.easing]||Math.easeInOutSine,e.curAnim=G(t),j(t,function(n,d){Ns(h,d),r=new Pt(h,e,d),o=void 0,d==="d"&&ot(t.d)?(r.paths=r.initPath(h,h.pathArray,t.d),r.toD=t.d,i=0,o=1):h.attr?i=h.attr(d):(i=parseFloat(jt(h,d))||0,d!=="opacity"&&(s="px")),o||(o=n),typeof o=="str
2ing"&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(i,o,s)})},animObject:Ii,getDeferredAnimation:function(h,t,e){let i=Ii(t),s=e?[e]:h.series,o=0,r=0;return s.forEach(a=>{let n=Ii(a.options.animation);o=st(t)&&E(t.defer)?i.defer:Math.max(o,n.duration+n.defer),r=Math.min(i.duration,n.duration)}),h.renderer.forExport&&(o=0),{defer:Math.max(0,o-r),duration:Math.min(o,r)}},setAnimation:function(h,t){t.renderer.globalAnimation=A(h,t.options.chart.animation,!0)},stop:Ns},{SVG_NS:Gs,win:kr}=C,{trustedTypes:zi}=kr,Ge=zi&&le(zi.createPolicy)&&zi.createPolicy("highcharts",{createHTML:h=>h}),Mr=Ge?Ge.createHTML(""):"";class ct{static filterUserAttributes(t){return j(t,(e,i)=>{let s=!0;ct.allowedAttributes.indexOf(i)===-1&&(s=!1),["background","dynsrc","href","lowsrc","src"].indexOf(i)!==-1&&(s=Q(e)&&ct.allowedReferences.some(o=>e.indexOf(o)===0)),s||(pt(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),Q(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((e,i)=>{let s=i.split(":").map(r=>r.trim()),o=s.shift();return o&&s.length&&(e[o.replace(/-([a-z])/g,r=>r[1].toUpperCase())]=s.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=ct.emptyHTML,e&&new ct(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){return(function e(i,s){let o;return gt(i).forEach(function(r){let a,n=r.tagName,d=r.textContent?C.doc.createTextNode(r.textContent):void 0,p=ct.bypassHTMLFiltering;if(n)if(n==="#text")a=d;else if(ct.allowedTags.indexOf(n)!==-1||p){let l=n==="svg"?Gs:s.namespaceURI||Gs,c=C.doc.createElementNS(l,n),u=r.attributes||{};j(r,function(g,f){f!=="tagName"&&f!=="attributes"&&f!=="children"&&f!=="style"&&f!=="textContent"&&(u[f]=g)}),Mt(c,p?u:ct.filterUserAttributes(u)),r.style&&Z(c,r.style),d&&c.appendChild(d),e(r.children||[],c),a=c}else pt(33,!1,void 0,{"Invalid tagName in config":n});a&&s.appendChild(a),o=a}),o})(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(Ge?Ge.createHTML(t):t,"text/html")}catch{}if(!e){let o=vt("div");o.innerHTML=t,e={body:o}}let s=(o,r)=>{let a=o.nodeName.toLowerCase(),n={tagName:a};a==="#text"&&(n.textContent=o.textContent||"");let d=o.attributes;if(d){let p={};[].forEach.call(d,l=>{l.name==="data-style"?n.style=ct.parseStyle(l.value):p[l.name]=l.value}),n.attributes=p}if(o.childNodes.length){let p=[];[].forEach.call(o.childNodes,l=>{s(l,p)}),p.length&&(n.children=p)}r.push(n)};return[].forEach.call(e.body.childNodes,o=>s(o,i)),i}}ct.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],ct.allowedReferences=["https://","http://","mailto:","/","../","./","#"],ct.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"],ct.emptyHTML=Mr,ct.bypassHTMLFiltering=!1;let{defaultOptions:Xs,defaultTime:Hs}=mt,{pageLang:wr}=C,Xe={add:(h,t)=>h+t,divide:(h,t)=>t!==0?h/t:"",eq:(h,t)=>h==t,each:function(h){let t=arguments[arguments.length-1];return!!ot(h)&&h.map((e,i)=>He(t.body,X(st(e)?e:{"@this":e},{"@index":i,"@first":i===0,"@last":i===h.length-1}))).join("")},ge:(h,t)=>h>=t,gt:(h,t)=>h>t,if:h=>!!h,le:(h,t)=>h<=t,lt:(h,t)=>h<t,multiply:(h,t)=>h*t,ne:(h,t)=>h!=t,subtract:(h,t)=>h-t,ucfirst:Is,unless:h=>!h},Ys={};function He(h="",t,e){let i=RegExp(`\\{([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'\u2019= #\\(\\)]+)\\}`,"gu"),s=RegExp(`\\(([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'= ]+)\\)`,"gu"),o=[],r=/f$/,a=/\.(\d)/,n=e?.options?.lang||Xs.lang,d=e?.time||Hs,p=e?.numberFormatter||Fs.bind(e),l=(m="")=>{let x;return m==="true"||m!=="false"&&((x=Number(m)).toString()===m?x:/^["'].+["']$/.test(m)?m.slice(1,-1):Ie(m,t))},c,u,g=0,f;for(;(c=i.exec(h))!==null;){let m=c,x=s.exec(c[1]);
vendor: 7,305 bytes, line 2
2x&&(c=x,f=!0),u?.isBlock||(u={ctx:t,expression:c[1],find:c[0],isBlock:c[1].charAt(0)==="#",start:c.index,startInner:c.index+c[0].length,length:c[0].length});let y=(u.isBlock?m:c)[1].split(" ")[0].replace("#","");Xe[y]&&(u.isBlock&&y===u.fn&&g++,u.fn||(u.fn=y));let b=c[1]==="else";if(u.isBlock&&u.fn&&(c[1]===`/${u.fn}`||b))if(g)!b&&g--;else{let v=u.startInner,k=h.substr(v,c.index-v);u.body===void 0?(u.body=k,u.startInner=c.index+c[0].length):u.elseBody=k,u.find+=k+c[0],b||(o.push(u),u=void 0)}else u.isBlock||o.push(u);if(x&&!u?.isBlock)break}return o.forEach(m=>{let x,y,{body:b,elseBody:v,expression:k,fn:w}=m;if(w){let M=[m],S=[],O=k.length,L=0,P;for(y=0;y<=O;y++){let B=k.charAt(y);P||B!=='"'&&B!=="'"?P===B&&(P=""):P=B,P||B!==" "&&y!==O||(S.push(k.substr(L,y-L)),L=y+1)}for(y=Xe[w].length;y--;)M.unshift(l(S[y+1]));x=Xe[w].apply(t,M),m.isBlock&&typeof x=="boolean"&&(x=He(x?b:v,t,e))}else{let M=/^["'].+["']$/.test(k)?[k]:k.split(":");if(x=l(M.shift()||""),M.length&&typeof x=="number"){let S=M.join(":");if(r.test(S)){let O=parseInt((S.match(a)||["","-1"])[1],10);x!==null&&(x=p(x,O,n.decimalPoint,S.indexOf(",")>-1?n.thousandsSep:""))}else x=d.dateFormat(S,x)}s.lastIndex=0,s.test(m.find)&&Q(x)&&(x=`"${x}"`)}h=h.replace(m.find,A(x,""))}),f?He(h,t,e):h}function Fs(h,t,e,i){t*=1;let s,o,[r,a]=(h=+h||0).toString().split("e").map(Number),n=this?.options?.lang||Xs.lang,d=(h.toString().split(".")[1]||"").split("e")[0].length,p=t,l={};e??(e=n.decimalPoint),i??(i=n.thousandsSep),t===-1?t=Math.min(d,20):T(t)?t&&a<0&&((o=t+a)>=0?(r=+r.toExponential(o).split("e")[0],t=o):(r=Math.floor(r),h=t<20?+(r*Math.pow(10,a)).toFixed(t):0,a=0)):t=2,a&&(t??(t=2),h=r),T(t)&&t>=0&&(l.minimumFractionDigits=t,l.maximumFractionDigits=t),i===""&&(l.useGrouping=!1);let c=i||e,u=c?"en":this?.locale||n.locale||wr,g=JSON.stringify(l)+u;return s=(Ys[g]??(Ys[g]=new Intl.NumberFormat(u,l))).format(h),c&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,i??",").replace("_.",e??".")),(t||+s!=0)&&(!(a<0)||p)||(s="0"),a&&+s!=0&&(s+="e"+(a<0?"":"+")+a),s}let Ot={dateFormat:function(h,t,e){return Hs.dateFormat(h,t,e)},format:He,helpers:Xe,numberFormat:Fs};(he=ri||(ri={})).rendererTypes={},he.getRendererType=function(h=Le){return he.rendererTypes[h]||he.rendererTypes[Le]},he.registerRendererType=function(h,t,e){he.rendererTypes[h]=t,(!Le||e)&&(Le=h,C.Renderer=t)};let ee=ri;(ai||(ai={})).distribute=function h(t,e,i){let s=t,o=s.reducedLen||e,r=(m,x)=>m.target-x.target,a=[],n=t.length,d=[],p=a.push,l,c=!0,u,g,f=0;for(l=n;l--;)f+=t[l].size;if(f>o){if(de(t,(m,x)=>(x.rank||0)-(m.rank||0)),t[0].rank===t[t.length-1].rank){let m=[[0,n-1]];for(;m.length&&f>o;){let x=m.shift();if(!x)break;u=t[l=Math.floor((x[0]+x[1])/2)],xt(d,l)&&(f-=u.size),x[0]<l&&m.push([x[0],l-1]),l<x[1]&&m.push([l+1,x[1]])}}else for(l=n-1;f>o&&l>=0;)u=t[l],xt(d,l)&&(f-=u.size),l--;d.sort((m,x)=>x-m).forEach(m=>p.apply(a,t.splice(m,1)))}for(de(t,r),t=t.map(m=>({size:m.size,targets:[m.target],align:A(m.align,.5)}));c;){for(l=t.length;l--;)u=t[l],g=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=nt(g-u.size*u.align,0,e-u.size);for(l=t.length,c=!1;l--;)l>0&&t[l-1].pos+t[l-1].size>t[l].pos&&(t[l-1].size+=t[l].size,t[l-1].targets=t[l-1].targets.concat(t[l].targets),t[l-1].align=.5,t[l-1].pos+t[l-1].size>e&&(t[l-1].pos=e-t[l-1].size),t.splice(l,1),c=!0)}return p.apply(s,a),l=0,t.some(m=>{let x=0;return(m.targets||[]).some(()=>(s[l].pos=m.pos+x,i!==void 0&&Math.abs(s[l].pos-s[l].target)>i?(s.slice(0,l+1).forEach(y=>delete y.pos),s.reducedLen=(s.reducedLen||e)-.1*e,s.reducedLen>.1*e&&h(s,e,i),!0):(x+=s[l].size,l++,!1)))}),de(s,r),s};let Se=ai,{animate:Sr,animObject:Ar,stop:Us}=St,{deg2rad:Vs,doc:ce,svg:Tr,SVG_NS:Ye,win:Cr,isFirefox:Pr}=C;class yt{_defaultGetter(t){let e=A(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),this.textStr!==void 0&&this.element.nodeName==="text"&&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(s,o){return i.indexOf(o)===-1&&s.push(o),s},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||Q(i)?i||"renderer":void 0;n&&(a&&xt(r,this),i=void 0);let d=A(i,o[n],o),p=(d.x||0)+(t.x||0)+((d.width||0)-(t.width||0))*Tt(t.align),l=(d.y||0)+(t.y||0)+((d.height||0)-(t.height||0))*Tt(t.verticalAlign),c={};return t.align&&(c["text-align"]=t.align),c[e?"translateX":"x"]=Math.round(p),c[e?"translateY":"y"]=Math.round(l),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=Ar(A(e,this.renderer.globalAnimation,!0)),o=s.defer;return ce.hidden&&(s.duration=0),s.duration!==0?(i&&(s.complete=i),Ht(()=>{this.element&&Sr(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),j(t,function(r,a){s.step&&s.step.call(this,r,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;t.indexOf("contrast")!==-1&&(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&&o!=="none"&&C.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(p,l,c){return 2*Number(l)+c}),this.removeTextOutline();let r=ce.createElementNS(Ye,"tspan");Mt(r,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let a=e.querySelector("textPath")||e;[].forEach.call(a.childNodes,p=>{let l=p.cloneNode(!0);l.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(c=>l.removeAttribute(c)),r.appendChild(l)});let n=0;[].forEach.call(a.querySelectorAll("text tspan"),p=>{n+=Number(p.getAttribute("dy"))});let d=ce.createElementNS(Ye,"tspan");d.textContent="\u200B",Mt(d,{x:Number(e.getAttribute("x")),dy:-n}),r.appendChild(d),a.insertBefore(r,a.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=yt.symbolCustomAttribs,a,n,d=this,p;return typeof t=="string"&&e!==void 0&&(a=t,(t={})[a]=e),typeof t=="string"?d=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(j(t,function(l,c){p=!1,s||Us(this,c),this.symbolName&&r.indexOf(c)!==-1&&(n||(this.symbolAttr(t),n=!0),p=!0),this.rotation&&(c==="x"||c==="y")&&(this.doTransform=!0),p||(this[c+"Setter"]||this._defaultSetter).call(this,l,c,o)},this),this.afterSetters()),i&&i.call(this),d}clip(t){if(t&&!t.clipPath){let e=zt()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);X(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=ht(i,e),n=ht(s,e);
2return X(t,{x:a,y:n,width:ht(o,e)-a,height:ht(r,e)-n}),E(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,d,p,l,c,u,g,f=[],m;D(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],d=s.gradients,p=t.stops,u=i.radialReference,ot(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),r==="radialGradient"&&u&&!E(a.gradientUnits)&&(n=a,a=G(a,s.getRadialAttr(u,n),{gradientUnits:"userSpaceOnUse"})),j(a,function(x,y){y!=="id"&&f.push(y,x)}),j(p,function(x){f.push(x)}),d[f=f.join(",")])g=d[f].attr("id");else{a.id=g=zt();let x=d[f]=s.createElement(r).attr(a).add(s.defs);x.radAttr=n,x.stops=[],p.forEach(function(y){y[1].indexOf("rgba")===0?(l=(o=dt.parse(y[1])).get("rgb"),c=o.get("a")):(l=y[1],c=1);let b=s.createElement("stop").attr({offset:y[0],"stop-color":l,"stop-opacity":c}).add(x);x.stops.push(b)})}m="url("+s.url+"#"+g+")",i.setAttribute(e,m),i.gradient=f,t.toString=function(){return m}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&j(t,function(a,n){e&&e[n]!==a&&(i[n]=a,r=!0)}),r){e&&(t=X(e,i)),t.width===null||t.width==="auto"?delete this.textWidth:s.nodeName.toLowerCase()==="text"&&t.width&&(o=this.textWidth=lt(t.width)),X(this.styles,t),o&&!Tr&&this.renderer.forExport&&delete t.width;let a=Pr&&t.fontSize||null;a&&(T(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let n=G(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(d=>n&&delete n[d]),n.color&&(n.fill=n.color,delete n.color)),Z(s,n)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if(i==="inherit"&&(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]=""+lt(s[e])*A(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,r=e.nodeName==="SPAN"&&t.parentGroup||void 0,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,Us(t),t.clipPath&&o){let n=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(d){d.getAttribute("clip-path").indexOf(n.element.id)>-1&&d.removeAttribute("clip-path")}),t.clipPath=n.destroy()}if(s){for(let n of s)n.destroy();s.length=0}for(t.safeRemoveChild(e);r?.div&&r.div.childNodes.length===0;)a=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=a;t.alignOptions&&wt(i.alignedObjects,t),j(t,(n,d)=>{(t[d]?.parentGroup===t||["connector","foreignObject"].indexOf(d)!==-1)&&t[d]?.destroy?.(),delete t[d]})}dSetter(t,e,i){ot(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((s,o,r)=>o?.join?(r?s+" ":"")+o.join(" "):(o||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){typeof t=="string"?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:d}=this,{cache:p,cacheKeys:l}=a,c=r.namespaceURI===this.SVG_NS,u=A(e,this.rotation,0),g=a.styledMode?r&&yt.prototype.getStyle.call(r,"font-size"):n.fontSize,f=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,n.fontWeight,n.lineClamp,n.textOverflow,g,u]);if(f&&!t&&(i=p[f]),!i||i.polygon){if(c||a.forExport){try{o=this.fakeTS&&function(x){let y=r.querySelector(".highcharts-text-outline");y&&Z(y,{display:x})},le(o)&&o("none"),i=r.getBBox?X({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},le(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),u&&(i=this.getRotatedBox(i,u));let m={bBox:i};D(this,"afterGetBBox",m),i=m.bBox}if(f&&(d===""||i.height>0)){for(;l.length>250;)delete p[l.shift()];p[f]||l.push(f),p[f]=i}return i}getBBoxCacheKey(t){if(E(this.textStr)){let e=""+this.textStr;return e.indexOf("<")===-1&&(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:d=0,rotationOriginY:p=0}=this,l=Tt(a),c=Number(this.element.getAttribute("y")||0)-(n?0:s),u=e*Vs,g=(e-90)*Vs,f=Math.cos(u),m=Math.sin(u),x=o*f,y=o*m,b=Math.cos(g),v=Math.sin(g),[[k,w],[M,S]]=[d,p].map(Y=>[Y-Y*f,Y*m]),O=i+l*(o-x)+k+S+c*b,L=O+x,P=L-r*b,B=P-x,z=s+c-l*y-w+M+c*v,I=z
vendor: 5,053 bytes, line 2
2+y,N=I-r*v,W=N-y,H=Math.min(O,L,P,B),$=Math.min(z,I,N,W),F=Math.max(O,L,P,B)-H,et=Math.max(z,I,N,W)-$;return{x:H,y:$,width:F,height:et,polygon:[[O,z],[L,I],[P,N],[B,W]]}}getStyle(t){return Cr.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}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=e==="span"||e==="body"?vt(e):ce.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},D(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=R(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&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(Q(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=G(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},st(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=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=lt(t):t!==""&&(Mt(i=ce.createElementNS(Ye,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;yt.symbolCustomAttribs.forEach(function(i){e[i]=A(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]||ce.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=Ds(A(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/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,padding:o,rotation:r=0,rotationOriginX:a,rotationOriginY:n,scaleX:d,scaleY:p,text:l,translateX:c=0,translateY:u=0}=this,g=[`translate(${c},${u})`];E(s)&&g.push("matrix("+s.join(",")+")"),r&&(g.push("rotate("+r+" "+(a??e.getAttribute("x")??this.x??0)+" "+(n??e.getAttribute("y")??this.y??0)+")"),l?.element.tagName!=="SPAN"||l?.foreignObject||l.attr({rotation:r,rotationOriginX:(a||0)-o,rotationOriginY:(n||0)-o})),(E(d)||E(p))&&g.push(`scale(${d??1} ${p??1})`),g.length&&!(l||this).textPath&&(i?.element||e).setAttribute(t,g.join(" "))}visibilitySetter(t,e,i){t==="inherit"?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,a=o===i.box,n,d,p,l=!1,c,u=this.added,g;if(E(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(u=!1)):E(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&s&&(s.handleZ=!0),g=(n=o.childNodes).length-1;g>=0&&!l;g--)c=!E(p=(d=n[g]).getAttribute("data-z-index")),d!==r&&(t<0&&c&&!a&&!g?(o.insertBefore(r,n[g]),l=!0):(lt(p)<=t||c&&(!E(t)||t>=0))&&(o.insertBefore(r,n[g+1]),l=!0));l||(o.insertBefore(r,n[3*!!a]),l=!0)}return l}}yt.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],yt.prototype.strokeSetter=yt.prototype.fillSetter,yt.prototype.yGetter=yt.prototype.xGetter,yt.prototype.matrixSetter=yt.prototype.rotationOriginXSetter=yt.prototype.rotationOriginYSetter=yt.prototype.rotationSetter=yt.prototype.scaleXSetter=yt.prototype.scaleYSetter=yt.prototype.translateXSetter=yt.prototype.translateYSetter=yt.prototype.verticalAlignSetter=function(h,t){this[t]=h,this.doTransform=!0};let Rt=yt;class ie extends Rt{constructor(t,e,i,s,o,r,a,n,d,p){let l;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=d,this.className=p,this.addClass(p==="button"?"highcharts-no-tooltip":"highcharts-label"),p&&this.addClass("highcharts-"+p),this.text=t.text(void 0,0,0,n).attr({zIndex:1}
vendor: 4,267 bytes, line 2
2),typeof o=="string"&&((l=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=ie.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||l,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=Tt(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&T(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=G(t),ie.textProps.forEach(i=>{t[i]!==void 0&&(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()}return Rt.prototype.css.call(this,t)}destroy(){Ct(this.element,"mouseenter"),Ct(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Rt.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,n=A(this.paddingLeft,i),d=e??(this.rotation||0),p={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return d&&(p=this.getRotatedBox(p,d)),p}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)}onAdd(){this.text.add(this),this.attr({text:A(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&E(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){T(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){t!==void 0&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!T(this.widthSetting)||!T(this.heightSetting)||this.textAlign)&&E(e.textStr)?e.getBBox(void 0,0):ie.emptyBBox;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 a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();a.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.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(X(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)+Tt(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),i!==void 0&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=T(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=A(this.paddingLeft,t),i=A(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 js(h,t,e,i,s){let o=[];if(s){let r=s.start||0,a=s.end||0,n=A(s.r,e),d=A(s.r,i||e),p=1e-4>Math.abs(a-r-2*Math.PI);
vendor: 4,892 bytes, line 2
2p&&(r=Math.PI/2,a=2.5*Math.PI-1e-4);let l=s.innerR,c=A(s.open,p),u=p?0:Math.cos(r),g=p?1:Math.sin(r),f=p?0:Math.cos(a),m=p?1:Math.sin(a),x=A(s.longArc,a-r-Math.PI<1e-4?0:1),y=["A",n,d,0,x,A(s.clockwise,1),h+(p?.001:n*f),t+d*m];y.params={start:r,end:a,cx:h,cy:t},o.push(["M",h+n*u,t+d*g],y),E(l)&&((y=["A",l,l,0,x,E(s.clockwise)?1-s.clockwise:0,h+(p?-.001:l*u),t+l*g]).params={start:a,end:r,cx:h,cy:t},o.push(c?["M",h+l*f,t+l*m]:["L",h+l*f,t+l*m],y)),c||o.push(["Z"])}return o}function $s(h,t,e,i,s){return s?.r?Ri(h,t,e,i,s):[["M",h,t],["L",h+e,t],["L",h+e,t+i],["L",h,t+i],["Z"]]}function Ri(h,t,e,i,s){let o=s?.r||0;return[["M",h+o,t],["L",h+e-o,t],["A",o,o,0,0,1,h+e,t+o],["L",h+e,t+i-o],["A",o,o,0,0,1,h+e-o,t+i],["L",h+o,t+i],["A",o,o,0,0,1,h,t+i-o],["L",h,t+o],["A",o,o,0,0,1,h+o,t],["Z"]]}ie.emptyBBox={width:0,height:0,x:0,y:0},ie.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let Wi={arc:js,callout:function(h,t,e,i,s){let o=Math.min(s?.r||0,e,i),r=o+6,a=s?.anchorX,n=s?.anchorY||0,d=Ri(h,t,e,i,{r:o});if(!T(a)||a<e&&a>0&&n<i&&n>0)return d;if(h+a>e-r)if(n>t+r&&n<t+i-r)d.splice(3,1,["L",h+e,n-6],["L",h+e+6,n],["L",h+e,n+6],["L",h+e,t+i-o]);else if(a<e){let p=n<t+r,l=p?t:t+i;d.splice(p?2:5,0,["L",a,n],["L",h+e-o,l])}else d.splice(3,1,["L",h+e,i/2],["L",a,n],["L",h+e,i/2],["L",h+e,t+i-o]);else if(h+a<r)if(n>t+r&&n<t+i-r)d.splice(7,1,["L",h,n+6],["L",h-6,n],["L",h,n-6],["L",h,t+o]);else if(a>0){let p=n<t+r,l=p?t:t+i;d.splice(p?1:6,0,["L",a,n],["L",h+o,l])}else d.splice(7,1,["L",h,i/2],["L",a,n],["L",h,i/2],["L",h,t+o]);else n>i&&a<e-r?d.splice(5,1,["L",a+6,t+i],["L",a,t+i+6],["L",a-6,t+i],["L",h+o,t+i]):n<0&&a>r&&d.splice(1,1,["L",a-6,t],["L",a,t-6],["L",a+6,t],["L",e-o,t]);return d},circle:function(h,t,e,i){return js(h+e/2,t+i/2,e/2,i/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(h,t,e,i){return[["M",h+e/2,t],["L",h+e,t+i/2],["L",h+e/2,t+i],["L",h,t+i/2],["Z"]]},rect:$s,roundedRect:Ri,square:$s,triangle:function(h,t,e,i){return[["M",h+e/2,t],["L",h+e,t+i],["L",h,t+i],["Z"]]},"triangle-down":function(h,t,e,i){return[["M",h,t],["L",h+e,t],["L",h+e/2,t+i],["Z"]]}},{doc:Ni,SVG_NS:Or,win:Zs}=C,Gi=(h,t)=>h.substring(0,t)+"\u2026",Lr=class{constructor(h){let t=h.styles;this.renderer=h.renderer,this.svgElement=h,this.width=h.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow==="ellipsis",this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace==="nowrap"}buildSVG(){let h=this.svgElement,t=h.element,e=h.renderer,i=A(h.textStr,"").toString(),s=i.indexOf("<")!==-1,o=t.childNodes,r=!h.added&&e.box,a=[i,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,h.getStyle("font-size"),h.styles.lineClamp,this.width].join(",");if(a!==h.textCache){h.textCache=a,delete h.actualWidth;for(let n=o.length;n--;)t.removeChild(o[n]);if(s||this.ellipsis||this.width||h.textPath||i.indexOf(" ")!==-1&&(!this.noWrap||/<br.*?>/g.test(i))){if(i!==""){r&&r.appendChild(t);let n=new ct(i);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("\u2026")!==-1&&h.attr("title",this.unescapeEntities(h.textStr||"",["&lt;","&gt;"])),r&&r.removeChild(t)}}else t.appendChild(Ni.createTextNode(this.unescapeEntities(i)));Q(this.textOutline)&&h.applyTextOutline&&h.applyTextOutline(this.textOutline)}}modifyDOM(){let h,t=this.svgElement,e=Mt(t.element,"x");for(t.firstLineMetrics=void 0;(h=t.element.firstChild)&&/^[\s\u200B]*$/.test(h.textContent||" ");)t.element.removeChild(h);[].forEach.call(t.element.querySelectorAll("tspan.highcharts-br"),(r,a)=>{r.nextSibling&&r.previousSibling&&(a===0&&r.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(r.previousSibling)),Mt(r,{dy:this.getLineHeight(r.nextSibling),x:e}))});let i=this.width||0;if(!i)return;let s=(r,a)=>{let n=r.textContent||"",d=n.replace(/([^\^])-/g,"$1- ").split(" "),p=!this.noWrap&&(d.length>1||t.element.childNodes.length>1),l=this.getLineHeight(a),c=Math.max(0,i-.8*l),u=0,g=t.actualWidth;if(p){let f=[],m=[];for(;a.firstChild&&a.firstChild!==r;)m.push(a.firstChild),a.removeChild(a.firstChild);for(;d.length;)if(d.length&&!this.noWrap&&u>0&&(f.push(r.textContent||""),r.textContent=d.join(" ").replace(/- /g,"-")),this.truncate(r,void 0,d,u===0&&g||0,i,c,(x,y)=>d.slice(0,y).join(" ").replace(/- /g,"-")),g=t.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){d.length&&(this.truncate(r,r.textContent||"",void 0,0,i,c,Gi),r.textContent=r.textContent?.replace("\u2026","")+"\u2026");break}m.forEach(x=>{a.insertBefore(x,r)}),f.forEach(x=>{a.insertBefore(Ni.createTextNode(x),r);let y=Ni.createElementNS(Or,"tspan");y.textContent="\u200B",Mt(y,{dy:l,x:e}),a.insertBefore(y,r)})}else this.ellipsis&&n&&this.truncate(r,n,void 0,0,i,c,Gi)},o=r=>
vendor: 5,089 bytes, line 2
2{[].slice.call(r.childNodes).forEach(a=>{a.nodeType===Zs.Node.TEXT_NODE?s(a,r):(a.className.baseVal.indexOf("highcharts-br")!==-1&&(t.actualWidth=0),o(a))})};o(t.element)}getLineHeight(h){let t=h.nodeType===Zs.Node.TEXT_NODE?h.parentElement:h;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(h){let t=(e,i)=>{let{attributes:s={},children:o,style:r={},tagName:a}=e,n=this.renderer.styledMode;if(a==="b"||a==="strong"?n?s.class="highcharts-strong":r.fontWeight="bold":(a==="i"||a==="em")&&(n?s.class="highcharts-emphasized":r.fontStyle="italic"),r?.color&&(r.fill=r.color),a==="br"){s.class="highcharts-br",e.textContent="\u200B";let d=h[i+1];d?.textContent&&(d.textContent=d.textContent.replace(/^ +/gm,""))}else a==="a"&&o&&o.some(d=>d.tagName==="#text")&&(e.children=[{children:o,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),X(e,{attributes:s,style:r}),o&&o.filter(d=>d.tagName!=="#text").forEach(t)};h.forEach(t),D(this.svgElement,"afterModifyTree",{nodes:h})}truncate(h,t,e,i,s,o,r){let a,n,d=this.svgElement,{rotation:p}=d,l=[],c=e&&!i?1:0,u=(t||e||"").length,g=u;e||(s=o);let f=function(m,x){let y=x||m,b=h.parentNode;if(b&&l[y]===void 0&&b.getSubStringLength)try{l[y]=i+b.getSubStringLength(0,e?y+1:y)}catch{}return l[y]};if(d.rotation=0,i+(n=f(h.textContent.length))>s){for(;c<=u;)g=Math.ceil((c+u)/2),e&&(a=r(e,g)),n=f(g,a&&a.length-1),c===u?c=u+1:n>s?u=g-1:c=g;u===0?h.textContent="":t&&u===t.length-1||(h.textContent=a||r(t||e,g)),this.ellipsis&&n>s&&this.truncate(h,h.textContent||"",void 0,0,s,o,Gi)}e&&e.splice(0,g),d.actualWidth=n,d.rotation=p}unescapeEntities(h,t){return j(this.renderer.escapes,function(e,i){t&&t.indexOf(e)!==-1||(h=h.toString().replace(RegExp(e,"g"),i))}),h}},{defaultOptions:Er}=mt,{charts:Br,deg2rad:Ks,doc:pe,isFirefox:qs,isMS:_s,isWebKit:Dr,noop:Ir,SVG_NS:zr,symbolSizes:Xi,win:Hi}=C;class Fe{constructor(t,e,i,s,o,r,a){let n,d;this.x=0,this.y=0;let p=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),l=p.element;a||p.css(this.getStyle(s||{})),t.appendChild(l),Mt(t,"dir","ltr"),t.innerHTML.indexOf("xmlns")===-1&&Mt(l,"xmlns",this.SVG_NS),this.box=l,this.boxWrapper=p,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(pe.createTextNode("Created with Highcharts 12.6.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=p.getStyle("font-size"),this.setSize(e,i,!1),qs&&t.getBoundingClientRect&&((n=function(){Z(t,{left:0,top:0}),d=t.getBoundingClientRect(),Z(t,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})})(),this.unSubPixelFix=R(Hi,"resize",n))}definition(t){return new ct([t]).addToDOM(this.defs.element)}getReferenceURL(){if((qs||Dr)&&pe.getElementsByTagName("base").length){if(!E(Jt)){let t=zt(),e=new ct([{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(pe.body);Z(e,{position:"fixed",top:0,left:0,zIndex:9e5}),Jt=pe.elementFromPoint(6,6)?.id==="hitme",pe.body.removeChild(e)}if(Jt)return Ds(Hi.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=X({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(),Xt(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,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(s=>`${s}-${t[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=G({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},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 Lr(t).buildSVG()}getContrast(t){if(t==="transparent")return"#000000";let e=dt.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(T(e[0])||!dt.useColorMix){let s=e.map(r=>{let a=r/255;return a<=.04?a/12.92:Math.pow((a+.055)/1.055,2.4)}
vendor: 5,225 bytes, line 2
2),o=.2126*s[0]+.7152*s[1]+.0722*s[2];return 1.05/(o+.05)>(o+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,a,n,d,p){let l=this.label(t,e,i,d,void 0,void 0,p,void 0,"button"),c=this.styledMode,u=arguments,g=0;o=G(Er.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let f=o.states||{},m=o.style||{};delete o.states,delete o.style;let x=[ct.filterUserAttributes(o)],y=[m];return c||["hover","select","disabled"].forEach((b,v)=>{x.push(G(x[0],ct.filterUserAttributes(u[v+5]||f[b]||{}))),y.push(x[v+1].style),delete x[v+1].style}),R(l.element,_s?"mouseover":"mouseenter",function(){g!==3&&l.setState(1)}),R(l.element,_s?"mouseout":"mouseleave",function(){g!==3&&l.setState(g)}),l.setState=(b=0)=>{if(b!==1&&(l.state=g=b),l.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!c){l.attr(x[b]);let v=y[b];st(v)&&l.css(v)}},l.attr(x[0]),!c&&(l.css(X({cursor:"default"},m)),p&&l.text.css({pointerEvents:"none"})),l.on("touchstart",b=>b.stopPropagation()).on("click",function(b){g!==3&&s?.call(l,b)})}crispLine(t,e){let[i,s]=t;return E(i[1])&&i[1]===s[1]&&(i[1]=s[1]=ht(i[1],e)),E(i[2])&&i[2]===s[2]&&(i[2]=s[2]=ht(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return ot(t)?e.d=t:st(t)&&X(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=st(t)?t:t===void 0?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(r,a,n){n.setAttribute("c"+a,r)},o.attr(s)}arc(t,e,i,s,o,r){let a;st(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=st(t)?t:t===void 0?{}:{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||(r!==void 0&&(a["stroke-width"]=r,X(a,n.crisp(a))),a.fill="none"),n.rSetter=function(d,p,l){n.r=d,Mt(l,{rx:d,ry:d})},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:A(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"};T(e)&&(a.x=e),T(i)&&(a.y=i),T(s)&&(a.width=s),T(o)&&(a.height=o);let n=this.createElement("image").attr(a),d=function(p){n.attr({href:t}),r.call(n,p)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let p=new Hi.Image;R(p,"load",d),p.src=t,p.complete&&d({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,d,p,l=this,c=/^url\((.*?)\)$/,u=c.test(t),g=!u&&(this.symbols[t]?t:"circle"),f=g&&this.symbols[g];if(f)typeof e=="number"&&(n=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),l.styledMode||a.attr("fill","none"),X(a,{symbolName:g||void 0,x:e,y:i,width:s,height:o}),r&&X(a,r);else if(u){d=t.match(c)[1];let m=a=this.image(d);m.imgwidth=A(r?.width,Xi[d]?.width),m.imgheight=A(r?.height,Xi[d]?.height),p=x=>x.attr({width:x.width,height:x.height}),["width","height"].forEach(x=>{m[`${x}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:v,element:k,width:w,height:M,imgwidth:S,imgheight:O}=this,L=b==="width"?S:O,P=1;r&&r.backgroundSize==="within"&&w&&M&&S&&O?(P=Math.min(w/S,M/O),Mt(k,{width:Math.round(S*P),height:Math.round(O*P)})):k&&L&&k.setAttribute(b,L),!v&&S&&O&&this.translate(((w||0)-S*P)/2,((M||0)-O*P)/2)}}),E(e)&&m.attr({x:e,y:i}),m.isImg=!0,E(m.imgwidth)&&E(m.imgheight)?p(m):(m.attr({width:0,height:0}),vt("img",{onload:function(){let x=Br[l.chartIndex];this.width===0&&(Z(this,{position:"absolute",top:"-999em"}),pe.body.appendChild(this)),Xi[d]={width:this.width,height:this.height},m.imgwidth=this.width,m.imgheight=this.height,m.element&&p(m),this.parentNode&&this.parentNode.removeChild(this),l.asyncCounter--,l.asyncCounter||!x||x.hasLoaded||x.onload()},src:d}),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)),E(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(a,n,d){let p=d.getElementsByTagName("tspan"),l=d.getAttribute(n);for(let c=0,u;c<p.length;c++)(u=p[c]).getAttribute(n)===l&&u.setAttribute(n,a);d.setAttribute(n,a)}),r}fontMetrics(t){let e=T(t)?t:lt(Rt.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*Ks),4)),{x:-t/3*Math.sin(e*Ks),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++)Q(i[0])&&T(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),typeof t[o]=="string"&&(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,d){return new ie(this,t,e,i,s,o,r,a,n,d)}
2alignElements(){this.alignedObjects.forEach(t=>t.align())}}X(Fe.prototype,{Element:Rt,SVG_NS:zr,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:Wi,draw:Ir}),ee.registerRendererType("svg",Fe,!0);let{composed:Rr,isFirefox:Wr}=C;function Js(h,t,e){let i=this.div?.style;Rt.prototype[`${t}Setter`].call(this,h,t,e),i&&(e.style[t]=i[t]=h)}let Nr=(h,t)=>{if(!h.div){let e=Mt(h.element,"class"),i=h.css,s=vt("div",e?{className:e}:void 0,te(Wt({position:"absolute",left:`${h.translateX||0}px`,top:`${h.translateY||0}px`},h.styles),{display:h.display,opacity:h.opacity,visibility:h.visibility}),h.parentGroup?.div||t);h.classSetter=(o,r,a)=>{a.setAttribute("class",o),s.className=o},h.translateXSetter=h.translateYSetter=(o,r)=>{h[r]=o,s.style[r==="translateX"?"left":"top"]=`${o}px`,h.doTransform=!0},h.scaleXSetter=h.scaleYSetter=(o,r)=>{h[r]=o,h.doTransform=!0},h.opacitySetter=h.visibilitySetter=Js,h.css=o=>(i.call(h,o),o.cursor&&(s.style.cursor=o.cursor),o.pointerEvents&&(s.style.pointerEvents=o.pointerEvents),h),h.on=function(){return Rt.prototype.on.apply({element:s,onEvents:h.onEvents},arguments),h},h.div=s}return h.div};class ue extends Rt{static compose(t){xt(Rr,this.compose)&&(t.prototype.html=function(e,i,s){return new ue(this,"span").attr({text:e,x:Math.round(i),y:Math.round(s)})})}constructor(t,e){super(t,e),ue.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css(Wt({position:"absolute"},t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s=i.tagName==="SPAN"&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=lt(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),T(Number(t?.fontSize))&&(t.fontSize+="px"),X(this.styles,t),Z(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(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:a,scaleX:n,scaleY:d,styles:{display:p="inline-block",whiteSpace:l},textAlign:c="left",textWidth:u,translateX:g=0,translateY:f=0,x:m=0,y:x=0}=this,y=()=>this.textPxLength?this.textPxLength:(Z(t,{width:"",whiteSpace:l||"nowrap"}),t.offsetWidth);if(e||Z(t,{marginLeft:`${g}px`,marginTop:`${f}px`}),t.tagName==="SPAN"){let b,v=[o,c,t.innerHTML,u,this.textAlign].join(","),k=-(this.parentGroup?.padding*1)||0;if(u!==i){let O=y(),L=u||0,P=!s.styledMode&&t.style.textOverflow===""&&t.style.webkitLineClamp;(L>i||O>L||P)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow==="ellipsis")&&(Z(t,{width:(o||n||O>L)&&T(u)?u+"px":P?Math.min(O+1,L)+"px":"auto",display:p,whiteSpace:l||"normal"}),this.oldTextWidth=u)}e&&(Z(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),v!==this.cTT&&(b=s.fontMetrics(t).b,E(o)&&!e&&(o!==(this.oldRotation||0)||c!==this.oldAlign)&&Z(t,{transform:`rotate(${o}deg)`,transformOrigin:`${k}% ${k}px`}
2),this.getSpanCorrection(!E(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,b,Tt(c)));let{xCorr:w=0,yCorr:M=0}=this,S={left:`${m+w}px`,top:`${x+M}px`,textAlign:c,transformOrigin:`${(r??m)-w-m-k}px ${(a??x)-M-x-k}px`};(n||d)&&(S.transform=`scale(${n??1},${d??1})`),e?(super.updateTransform(),T(m)&&T(x)?(e.attr({x:m+w,y:x+M,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),Z(t,{display:p,textAlign:c})):Wr&&e.attr({width:0,height:0})):Z(t,S),this.cTT=v,this.oldRotation=o,this.oldAlign=c}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)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));else{let r;if(this.parentGroup=t,t&&!(r=t.div)){let a=t;for(;a;)o.push(a),a=a.parentGroup;for(let n of o.reverse())r=Nr(n,s)}(r||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,ct.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 se=ue.prototype;se.visibilitySetter=se.opacitySetter=Js,se.ySetter=se.rotationSetter=se.rotationOriginXSetter=se.rotationOriginYSetter=se.xSetter,(ws=ni||(ni={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},ws.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:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let Gr=ni;(hi||(hi={})).registerEventOptions=function(h,t){h.eventOptions=h.eventOptions||{},j(t.events,function(e,i){h.eventOptions[i]!==e&&(h.eventOptions[i]&&(Ct(h,i,h.eventOptions[i]),delete h.eventOptions[i]),le(e)&&(h.eventOptions[i]=e,R(h,i,e,{order:0})))})};let Ue=hi,{deg2rad:Yi}=C,ge=class{constructor(h,t,e,i,s){this.isNew=!0,this.isNewLabel=!0,this.axis=h,this.pos=t,this.type=e||"",this.parameters=s||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,D(this,"init"),e||i||this.addLabel()}addLabel(){let h=this,t=h.axis,e=t.options,i=t.chart,s=t.categories,o=t.logarithmic,r=t.names,a=h.pos,n=A(h.options?.labels,e.labels),d=t.tickPositions,p=a===d[0],l=a===d[d.length-1],c=(!n.step||n.step===1)&&t.tickInterval===1,u=d.info,g=h.label,f,m,x,y=this.parameters.category||(s?A(s[a],r[a],a):a);o&&T(y)&&(y=K(o.lin2log(y))),t.dateTime&&(u?f=(m=i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid?.enabled&&u.higherRanks[a]||u.unitName])).main:T(y)&&(f=t.dateTime.getXDateFormat(y,e.dateTimeLabelFormats||{}))),h.isFirst=p,h.isLast=l;let b={axis:t,chart:i,dateTimeLabelFormat:f,isFirst:p,isLast:l,pos:a,tick:h,tickPositionInfo:u,value:y};D(this,"labelFormat",b);let v=M=>n.formatter?n.formatter.call(M,M):n.format?(M.text=t.defaultLabelFormatter.call(M),Ot.format(n.format,M,i)):t.defaultLabelFormatter.call(M),k=v.call(b,b),w=m?.list;w?h.shortenLabel=function(){for(x=0;x<w.length;x++)if(X(b,{dateTimeLabelFormat:w[x]}),g.attr({text:v.call(b,b)}),g.getBBox().width<t.getSlotWidth(h)-2*(n.padding||0))return;g.attr({text:""})}:h.shortenLabel=void 0,c&&t._addedPlotLB&&h.moveLabel(k,n),E(g)||h.movedLabel?g&&g.textStr!==k&&!c&&(!g.textWidth||n.style.width||g.styles.width||g.css({width:null}),g.attr({text:k}),g.textPxLength=g.getBBox().width):(h.label=g=h.createLabel(k,n),h.rotation=0)}createLabel(h,t,e){let i=this.axis,{renderer:s,styledMode:o}=i.chart,r=t.style.whiteSpace,a=E(h)&&t.enabled?s.text(h,e?.x,e?.y,t.useHTML).add(i.labelGroup):void 0;return a&&(o||a.css(G(t.style)),a.textPxLength=a.getBBox().width,!o&&r&&a.css({whiteSpace:r})),a}
2destroy(){Xt(this,this.axis)}getPosition(h,t,e,i){let s=this.axis,o=s.chart,r=i&&o.oldChartHeight||o.chartHeight,a={x:h?K(s.translate(t+e,void 0,void 0,i)+s.transB):s.left+s.offset+(s.opposite?(i&&o.oldChartWidth||o.chartWidth)-s.right-s.left:0),y:h?r-s.bottom+s.offset-(s.opposite?s.height:0):K(r-s.translate(t+e,void 0,void 0,i)-s.transB)};return a.y=nt(a.y,-1e9,1e9),D(this,"afterGetPosition",{pos:a}),a}getLabelPosition(h,t,e,i,s,o,r,a){let n,d,p=this.axis,l=p.transA,c=p.isLinked&&p.linkedParent?p.linkedParent.reversed:p.reversed,u=p.staggerLines,g=p.tickRotCorr||{x:0,y:0},f=i||p.reserveSpaceDefault?0:-p.labelOffset*(p.labelAlign==="center"?.5:1),m=s.distance,x={};return n=p.side===0?e.rotation?-m:-e.getBBox().height:p.side===2?g.y+m:Math.cos(e.rotation*Yi)*(g.y-e.getBBox(!1,0).height/2),E(s.y)&&(n=p.side===0&&p.horiz?s.y+n:s.y),h=h+A(s.x,[0,1,0,-1][p.side]*m)+f+g.x-(o&&i?o*l*(c?-1:1):0),t=t+n-(o&&!i?o*l*(c?1:-1):0),u&&(d=r/(a||1)%u,p.opposite&&(d=u-d-1),t+=d*(p.labelOffset/u)),x.x=h,x.y=Math.round(t),D(this,"afterGetLabelPosition",{pos:x,tickmarkOffset:o,index:r}),x}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(h,t,e,i,s=!1,o){return o.crispLine([["M",h,t],["L",h+(s?0:-e),t+(s?e:0)]],i)}handleOverflow(h){let t=this.axis,e=t.options.labels,i=h.x,s=t.chart.chartWidth,o=t.chart.spacing,r=A(t.labelLeft,Math.min(t.pos,o[3])),a=A(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,s-o[1])),n=this.label,d=this.rotation,p=Tt(t.labelAlign||n.attr("align")),l=n.getBBox().width,c=t.getSlotWidth(this),u=c,g=1,f;d||e.overflow!=="justify"?d<0&&i-p*l<r?f=Math.round(i/Math.cos(d*Yi)-r):d>0&&i+p*l>a&&(f=Math.round((s-i)/Math.cos(d*Yi))):(i-p*l<r?u=h.x+u*(1-p)-r:i+(1-p)*l>a&&(u=a-h.x+u*p,g=-1),(u=Math.min(c,u))<c&&t.labelAlign==="center"&&(h.x+=g*(c-u-p*(c-Math.min(l,u)))),(l>u||t.autoRotation&&n?.styles?.width)&&(f=u)),f&&n&&(this.shortenLabel?this.shortenLabel():n.css(X({},{width:Math.floor(f)+"px",lineClamp:+!t.isRadial})))}moveLabel(h,t){let e=this,i=e.label,s=e.axis,o=!1,r;i&&i.textStr===h?(e.movedLabel=i,o=!0,delete e.label):j(s.ticks,function(a){o||a.isNew||a===e||!a.label||a.label.textStr!==h||(e.movedLabel=a.label,o=!0,a.labelPos=e.movedLabel.xy,delete a.label)}),!o&&(e.labelPos||i)&&(r=e.labelPos||i.xy,e.movedLabel=e.createLabel(h,t,r),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(h,t,e){let i=this.axis,s=i.horiz,o=this.pos,r=A(this.tickmarkOffset,i.tickmarkOffset),a=this.getPosition(s,o,r,t),n=a.x,d=a.y,p=i.pos,l=p+i.len,c=s?n:d,u=A(e,this.label?.newOpacity,1);!i.chart.polar&&(K(c)<p||c>l)&&(e=0),e??(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(a,e),this.renderLabel(a,t,u,h),this.isNew=!1,D(this,"afterRender")}renderGridLine(h,t){let e=this.axis,i=e.options,s={},o=this.pos,r=this.type,a=A(this.tickmarkOffset,e.tickmarkOffset),n=e.chart.renderer,d=this.gridLine,p,l=i.gridLineWidth,c=i.gridLineColor,u=i.gridLineDashStyle;this.type==="minor"&&(l=i.minorGridLineWidth,c=i.minorGridLineColor,u=i.minorGridLineDashStyle),d||(e.chart.styledMode||(s.stroke=c,s["stroke-width"]=l||0,s.dashstyle=u),r||(s.zIndex=1),h&&(t=0),this.gridLine=d=n.path().attr(s).addClass("highcharts-"+(r?r+"-":"")+"grid-line").add(e.gridGroup)),d&&(p=e.getPlotLinePath({value:o+a,lineWidth:d.strokeWidth(),force:"pass",old:h,acrossPanes:!1}))&&d[h||this.isNew?"attr":"animate"]({d:p,opacity:t})}renderMark(h,t){let e=this.axis,i=e.options,s=e.chart.renderer,o=this.type,r=e.tickSize(o?o+"Tick":"tick"),a=h.x,n=h.y,d=A(i[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&e.isXAxis?1:0),p=i[o!=="minor"?"tickColor":"minorTickColor"],l=this.mark,c=!l;r&&(e.opposite&&(r[0]=-r[0]),!l&&(this.mark=l=s.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||l.attr({stroke:p,"stroke-width":d})),l[c?"attr":"animate"]({d:this.getMarkPath(a,n,r[0],l.strokeWidth(),e.horiz,s),opacity:t}))}renderLabel(h,t,e,i){let s=this.axis,o=s.horiz,r=s.options,a=this.label,n=r.labels,d=n.step,p=A(this.tickmarkOffset,s.tickmarkOffset),l=h.x,c=h.y,u=!0;a&&T(l)&&(a.xy=h=this.getLabelPosition(l,c,a,o,n,p,i,d),(!this.isFirst||this.isLast||r.showFirstLabel)&&(!this.isLast||this.isFirst||r.showLastLabel)?o&&!t&&e!==0&&this.handleOverflow(h):u=!1,d&&i%d&&(u=!1),u&&T(h.y)?(h.opacity=e,a[this.isNewLabel?"attr":"animate"](h).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let h=this.label,t=this.axis;h&&!this.isNew&&(h.animate({opacity:0}
2,void 0,h.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:Qs}=St,{xAxis:to,yAxis:Xr}=Gr,{defaultOptions:Fi}=mt,{registerEventOptions:Hr}=Ue,{deg2rad:Yr}=C,eo=(h,t)=>Re(t,void 0,void 0,A(h.options.allowDecimals,t<.5||h.tickAmount!==void 0),!!h.tickAmount);X(Fi,{xAxis:to,yAxis:G(to,Xr)});class Kt{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s=i==="xAxis",o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,D(this,"init",{userOptions:e}),this.opposite=A(e.opposite,this.opposite),this.side=A(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),D(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=A(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames=this.type==="category"||r.categories===!0,this.categories=ot(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=E(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.offset=r.offset||0,this.max=void 0,this.min=void 0;let n=A(r.crosshair,gt(t.options.tooltip.crosshairs)[+!s]);this.crosshair=n===!0?{}:n,t.axes.indexOf(this)===-1&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),We(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!E(this.reversed)&&(this.reversed=!0),this.labelRotation=T(a.rotation)?a.rotation:void 0,Hr(this,r),D(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=G(e,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},Fi[this.coll],t),D(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=T(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,a=this.dateTimeLabelFormat,n=Fi.lang,d=n.numericSymbols,p=n.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(s):t.tickInterval,c=d?.length,u,g;if(r)g=`${this.value}`;else if(a)g=o.dateFormat(a,s,!0);else if(c&&d&&l>=1e3)for(;c--&&g===void 0;)l>=(u=Math.pow(p,c+1))&&10*s%u==0&&d[c]!==null&&s!==0&&(g=i(s/u,-1,void 0,void 0,e)+d[c]);return g??(g=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),g}getSeriesExtremes(){let t,e=this;D(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(d=>d>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,T(a)||a instanceof Date||(o=o.filter(T),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(A(e.dataMin,a),a),e.dataMax=Math.max(A(e.dataMax,n),n)));else{let d=i.applyExtremes();T(d.dataMin)&&(a=d.dataMin,e.dataMin=Math.min(A(e.dataMin,a),a)),T(d.dataMax)&&(n=d.dataMax,e.dataMax=Math.max(A(e.dataMax,n),n)),E(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),D(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!T(n))return NaN;let d=a.minPixelPadding,p=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&!!a.lin2val,l=1,c=0,u=s&&a.old?a.old.transA:a.transA,g=0;return u||(u=a.transA),i&&(l*=-1,c=a.len),a.reversed&&(l*=-1,c-=l*(a.sector||a.len)),e?(g=(t=t*l+c-d)/u+n,p&&(g=a.lin2val(g))):(p&&(t=a.val2lin(t)),g=l*(t-n)*u+c+l*d+(T(r)?u*r:0),a.isRadial||(g=K(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=this,i=e.chart,s=e.left,o=e.top,r=t.old,a=t.value,n=t.lineWidth,d=r&&i.oldCh
2artHeight||i.chartHeight,p=r&&i.oldChartWidth||i.chartWidth,l=e.transB,c=t.translatedValue,u=t.force,g,f,m,x,y;function b(k,w,M){return u!=="pass"&&(k<w||k>M)&&(u?k=nt(k,w,M):y=!0),k}let v={value:a,lineWidth:n,old:r,force:u,acrossPanes:t.acrossPanes,translatedValue:c};return D(this,"getPlotLinePath",v,function(k){g=m=(c=nt(c=A(c,e.translate(a,void 0,void 0,r)),-1e9,1e9))+l,f=x=d-c-l,T(c)?e.horiz?(f=o,x=d-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),g=m=b(g,s,s+e.width)):(g=s,m=p-e.right+(i.scrollablePixelsX||0),f=x=b(f,o,o+e.height)):(y=!0,u=!1),k.path=y&&!u?void 0:i.renderer.crispLine([["M",g,f],["L",m,x]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,o,r,a=K(Math.floor(e/t)*t),n=K(Math.ceil(i/t)*t),d=[];if(K(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(d.push(s),(s=K(s+t,r))!==o);)o=s;return d}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return t===!0?A(e,"auto"):t!==!1?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,n=[],d;if(a&&a/i<this.len/3){let p=this.logarithmic;if(p)this.paddedTicks.forEach(function(l,c,u){c&&n.push.apply(n,p.getLogTickPositions(i,u[c-1],u[c],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(d=o+(e[0]-o)%i;d<=r&&d!==n[0];d+=i)n.push(d)}return n.length!==0&&this.trimTicks(n),n}adjustForMinRange(){let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:o,minRange:r}=this,a,n,d,p;this.isXAxis&&r===void 0&&!e&&(r=E(t.min)||E(t.max)||E(t.floor)||E(t.ceiling)?null:Math.min(5*(Ci(this.series.map(l=>{let c=l.getColumn("x");return l.xIncrement?c.slice(0,2):c}))||0),this.dataMax-this.dataMin)),T(s)&&T(o)&&T(r)&&s-o<r&&(n=this.dataMax-this.dataMin>=r,a=(r-s+o)/2,d=[o-a,i.parse(t.min)??o-a],n&&(d[2]=e?e.log2lin(this.dataMin):this.dataMin),p=[(o=Gt(d))+r,i.parse(t.max)??o+r],n&&(p[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=Qt(p))-o<r&&(d[0]=s-r,d[1]=i.parse(t.min)??s-r,o=Gt(d))),this.minRange=r,this.min=o,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(s){let o=s.closestPointRange,r=s.getColumn("x");r.length===1?i.push(r[0]):s.sorted&&E(o)&&s.reserveSpace()&&(e=E(e)?Math.min(e,o):o)}),i.length&&(i.sort((s,o)=>s-o),t=Ci([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=ot(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,E(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):A(i.keys[t.name],-1):t.series.autoIncrement()),s===-1?!e&&i&&(o=i.length):T(s)&&(o=s),o!==void 0?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(i){delete e.keys[i]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(i=>{i.xIncrement=null,(!i.points||i.isDirtyData)&&(t.max=Math.max(t.max||0,i.dataTable.rowCount-1),i.processData(),i.generatePoints());let s=i.getColumn("x").slice();i.data.forEach((o,r)=>{let a=s[r];o?.options&&o.name!==void 0&&(a=t.nameToX(o))!==void 0&&a!==o.x&&(s[r]=o.x=a)}),i.dataTable.setColumn("x",s)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,a,n=0,d=0,p,l=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,d=i.pointRangePadding):t.series.forEach(function(c){let u=s?1:o?A(c.options.pointRange,a,0):t.axisPointRange||0,g=c.options.pointPlacement;if(r=Math.max(r,u),!t.single||s){let f=c.is("xrange")?!o:o;n=Math.max(n,f&&Q(g)?0:u/2),d=Math.max(d,f&&g==="on"?0:u)}}),p=t.ordinal?.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=p,t.pointRangePadding=d*=p,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=a)),t.translationSlope=t.transA=l=t.staticScale||t.len/(e+d||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=l*n,D(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return T(t)&&T(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:d,softThreshold:p}=this,l=i.time,c=T(this.threshold)?this.threshold:void 0,u=this.minRange||0,{ceiling:g,floor:f,linkedTo:m,softMax:x,softMin:y}=d,b=T(m)&&i[this.coll]?.[m],v=d.tickPixelInterval,k=d.maxPadding,w=d.minPadding,M=0,S,O=T(d.tickInterval)&&d.tickInterval>=0?d.tickInterval:void 0,L,P,B,z;if(r||e||b||this.getTickAmount(),B=A(this.userMin,l.parse(d.min)),z=A(this.userMax,l.parse(d.max)),b?(this.linkedParent=b,S=b.getExtremes(),this.min=A(S.min,S.dataMin),this.max=A(S.max,S.dataMax),this.type!==b.type&&pt(11,!0,i)):(p&&E(c)&&T(s)&&T(o)&&
2(o>=c?(L=c,w=0):s<=c&&(P=c,k=0)),this.min=A(B,L,o),this.max=A(z,P,s)),T(this.max)&&T(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,A(o,this.min))&&pt(10,!0,i),this.min=K(n.log2lin(this.min),16),this.max=K(n.log2lin(this.max),16)),this.range&&T(o)&&(this.userMin=this.min=B=Math.max(o,this.minFromRange()||0),this.userMax=z=this.max,this.range=void 0)),D(this,"foundExtremes"),this.adjustForMinRange(),T(this.min)&&T(this.max)){if(!T(this.userMin)&&T(y)&&y<this.min&&(this.min=B=y),!T(this.userMax)&&T(x)&&x>this.max&&(this.max=z=x),e||this.axisPointRange||this.stacking?.usePercentage||b||(M=this.max-this.min)&&(!E(B)&&w&&(this.min-=M*w),!E(z)&&k&&(this.max+=M*k)),!T(this.userMin)&&T(f)&&(this.min=Math.max(this.min,f)),!T(this.userMax)&&T(g)&&(this.max=Math.min(this.max,g)),p&&T(o)&&T(s)){let N=c||0;!E(B)&&this.min<N&&o>=N?this.min=d.minRange?Math.min(N,this.max-u):N:!E(z)&&this.max>N&&s<=N&&(this.max=d.minRange?Math.max(N,this.min+u):N)}!i.polar&&this.min>this.max&&(E(d.min)?this.max=this.min:E(d.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&T(this.min)&&T(this.max)?b&&!O&&v===b.options.tickPixelInterval?this.tickInterval=O=b.tickInterval:this.tickInterval=A(O,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let N=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(W){W.forceCrop=W.forceCropping?.(),W.processData(N)}),D(this,"postProcessData",{hasExtremesChanged:N})}this.setAxisTranslation(),D(this,"initialAxisTranslation"),this.pointRange&&!O&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let I=A(d.minTickInterval,r&&!this.series.some(N=>!N.sorted)?this.closestPointRange:0);!O&&I&&this.tickInterval<I&&(this.tickInterval=I),r||n||O||(this.tickInterval=eo(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,a=o&&t.endOnTick,n=[],d;if(this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&E(this.min)&&!this.tickAmount&&(this.min%1==0||t.allowDecimals!==!1),e)n=e.slice();else if(T(this.min)&&T(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],pt(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let p=this.tickInterval,l=p;for(;l<=2*p&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=eo(this,l*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(d=i.apply(this,[this.min,this.max,this]))&&(n=d))}this.isDirty||n.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=n,this.minorTickInterval=s==="auto"&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=n.slice(0),this.trimTicks(n,r,a),!this.isLinked&&T(this.min)&&T(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(p=>p.is("heatmap")&&p.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),e||d||this.adjustTickAmount()),D(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(D(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();t.length===0&&E(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=this.coll==="yAxis"&&r.alignThresholds,n=[];if(e.thresholdAlignment=void 0,(r.alignTicks!==!1&&o.alignTicks||a)&&o.startOnTick!==!1&&o.endOnTick!==!1&&!e.logarithmic){let d=l=>{let{horiz:c,options:u}=l;return[c?u.left:u.top,u.width,u.height,u.pane].join(",")},p=d(this);i[this.coll].forEach(function(l){let{series:c}=l;c.length&&c.some(u=>u.visible)&&l!==e&&d(l)===p&&(t=!0,s.push(l))})}
vendor: 5,367 bytes, line 2
2if(t&&a){s.forEach(p=>{let l=p.getThresholdAlignment(e);T(l)&&n.push(l)});let d=n.length>1?n.reduce((p,l)=>p+=l,0)/n.length:void 0;s.forEach(p=>{p.thresholdAlignment=d})}return t}getThresholdAlignment(t){if((!T(this.dataMin)||this!==t&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),T(this.threshold)){let e=nt((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;E(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=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:a,thresholdAlignment:n}=t,d=r?.length,p=A(t.threshold,t.softThreshold?0:null),l,c,u=t.tickInterval,g,f=()=>r.push(K(r[r.length-1]+u)),m=()=>r.unshift(K(r[0]-u));if(T(n)&&(g=n===0?0:n===1?a-1:Math.round(nt(n*(a-1),1,a-2)),o.reversed&&(g=a-1-g)),t.hasData()&&T(s)&&T(i)){let x=()=>{t.transA*=(d-1)/(a-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(T(g)&&T(t.threshold)){for(;r[g]!==p||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)r[g]===void 0||r[g]>t.threshold?m():f();if(u>8*t.tickInterval)break;u*=2}x()}else if(d<a){for(;r.length<a;)r.length%2||s===p?f():m();x()}if(E(e)){for(c=l=r.length;c--;)(e===3&&c%2==1||e<=2&&c>0&&c<l-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(r=>{i=i||r.isDirtyData||r.isDirty,s=s||r.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&&t==="yAxis"&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&t==="xAxis"&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,D(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(a=>{delete a.kdTree}),t=r.time.parse(t),e=r.time.parse(e),D(this,"setExtremes",o=X(o,{min:t,max:e}),a=>{this.userMin=a.min,this.userMax=a.max,this.eventArgs=a,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(kt(A(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(kt(A(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(kt(A(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(kt(A(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?K(t.lin2log(this.min)):this.min,max:t?K(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 t===null||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 D(this,"autoLabelAlign",i,function(s){e>15&&e<165?s.align="right":e>195&&e<345&&(s.align="left")}),i.align}tickSize(t){let e=this.options,i=A(e[t==="tick"?"tickWidth":"minorTickWidth"],t==="tick"&&this.isXAxis&&!this.categories?1:0),s=e[t==="tick"?"tickLength":"minorTickLength"],o;i&&s&&(e[t+"Position"]==="inside"&&(s=-s),o=[s,i]);let r={tickSize:o};return D(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||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,a=K(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),d=function(g){let f=(g+2*e)/(o||1);return(f=f>1?Math.ceil(f):1)*s>n&&g!==1/0&&o!==1/0&&n&&(f=Math.ceil(n/s)),K(f*s)},p=s,l,c=Number.MAX_VALUE,u;if(i){if(!t.staggerLines&&(T(r)?u=[r]:o<t.autoRotationLimit&&(u=t.autoRotation)),u){let g,f;for(let m of u)(m===r||m&&m>=-90&&m<=90)&&(f=(g=d(Math.abs(a/Math.sin(Yr*m))))+Math.abs(m/360))<c&&(c=f,l=m,p=g)}}else p=d(.75*a);return this.autoRotation=u,this.labelRotation=A(l,T(r)?r:0),t.step?s:p}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&&T(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 a=s.style.width;if(a!==void 0)return parseInt(String(a),10);if(!this.opposite&&r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,a=this.horiz,n=this.getSlotWidth(),d=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),p={},l=this.labelMetrics(),c=r.lineClamp,u,g=c??(Math.floor(this.len/(i.length*l.h))||1),f=0;
2Q(o.rotation)||(p.rotation=o.rotation||0),i.forEach(function(m){let x=s[m];x.movedLabel&&x.replaceMovedLabel();let y=x.label?.textPxLength||0;y>f&&(f=y)}),this.maxLabelLength=f,this.autoRotation?f>d&&f>l.h?p.rotation=this.labelRotation:this.labelRotation=0:n&&(u=d),p.rotation&&(u=f>.5*t.chartHeight?.33*t.chartHeight:f,c||(g=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(p.align=this.labelAlign),i.forEach(function(m){let x=s[m],y=x?.label,b=r.width,v={};y&&(y.attr(p),x.shortenLabel?x.shortenLabel():u&&!b&&r.whiteSpace!=="nowrap"&&(u<(y.textPxLength||0)||y.element.tagName==="SPAN")?y.css(X(v,{width:`${u}px`,lineClamp:g})):!y.styles.width||v.width||b||y.css({width:"auto"}),x.rotation=p.rotation)},this),this.tickRotCorr=e.rotCorr(l.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&E(this.min)&&E(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(G(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 ge(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(a,n,d)=>o.g(a).attr({zIndex:d}).addClass(`highcharts-${i.toLowerCase()}${n} `+(this.isRadial?`highcharts-radial-axis${n} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:a,coll:n}=t,d=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,p=t.hasData(),l=s.title,c=s.labels,u=T(s.crossing),g=e.axisOffset,f=e.clipOffset,m=[-1,1,1,-1][o],x,y=0,b,v=0,k=0,w,M;if(t.showAxis=x=p||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),p||t.isLinked?(a.forEach(function(S){t.generateTick(S)}),t.renderUnsquish(),t.reserveSpaceDefault=o===0||o===2||{1:"left",3:"right"}[o]===t.labelAlign,A(c.reserveSpace,!u&&null,t.labelAlign==="center"||null,t.reserveSpaceDefault)&&a.forEach(function(S){k=Math.max(r[S].getLabelSize(),k)}),t.staggerLines&&(k*=t.staggerLines),t.labelOffset=k*(t.opposite?-1:1)):j(r,function(S,O){S.destroy(),delete r[O]}),l?.text&&l.enabled!==!1&&(t.addTitle(x),x&&!u&&l.reserveSpace!==!1&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],v=E(b=l.offset)?0:A(l.margin,i?5:10))),t.renderLine(),t.offset=m*A(s.offset,g[o]?g[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=o===0?-t.labelMetrics().h:o===2?t.tickRotCorr.y:0,w=Math.abs(k)+v,k&&(w-=M,w+=m*(i?A(c.y,t.tickRotCorr.y+m*c.distance):A(c.x,m*c.distance))),t.axisTitleMargin=A(b,w),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),n!=="colorAxis"&&f){let S=this.tickSize("tick");g[o]=Math.max(g[o],(t.axisTitleMargin||0)+y+m*t.offset,w,a?.length&&S?S[0]+m*t.offset:0);let O=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;f[d]=Math.max(f[d],O)}D(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(){!this.axisLine&&(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(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,d=this.offset,p=r.x,l=r.y,c=this.chart.renderer.fontMetrics(t),u=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],f=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-u,u,c.f,-u][this.side],m={x:e?g+p:f+(n?this.width:0)+d+p,y:e?f+l-(n?this.height:0)+d:g+l};return D(this,"afterGetTitlePosition",{titlePosition:m}),m}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new ge(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
2renderTick(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 ge(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,d=i.tickPositions,p=i.axisTitle,l=i.ticks,c=i.minorTicks,u=i.alternateBands,g=a.stackLabels,f=a.alternateGridColor,m=a.crossing,x=i.tickmarkOffset,y=i.axisLine,b=i.showAxis,v=Qs(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[l,c,u].forEach(function(k){j(k,function(w){w.isActive=!1})}),T(m)){let k=this.isXAxis?s.yAxis[0]:s.xAxis[0],w=[1,-1,-1,1][this.side];if(k){let M=k.toPixels(m,!0);i.horiz&&(M=k.len-M),i.offset=w*M}}if(i.hasData()||n){let k=i.chart.hasRendered&&i.old&&T(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(w){i.renderMinorTick(w,k)}),d.length&&(d.forEach(function(w,M){i.renderTick(w,M,k)}),x&&(i.min===0||i.single)&&(l[-1]||(l[-1]=new ge(i,-1,null,!0)),l[-1].render(-1))),f&&d.forEach(function(w,M){e=d[M+1]!==void 0?d[M+1]+x:i.max-x,M%2==0&&w<i.max&&e<=i.max+(s.polar?-x:x)&&(u[w]||(u[w]=new C.PlotLineOrBand(i,{})),t=w+x,u[w].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:f,className:"highcharts-alternate-grid"},u[w].render(),u[w].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEach(function(w){i.addPlotBandOrLine(w)}))}[l,c,u].forEach(function(k){let w=[],M=v.duration;j(k,function(S,O){S.isActive||(S.render(O,!1,0),S.isActive=!1,w.push(O))}),Ht(function(){let S=w.length;for(;S--;)k[w[S]]&&!k[w[S]].isActive&&(k[w[S]].destroy(),delete k[w[S]])},k!==u&&s.hasRendered&&M?M:0)}),y&&(y[y.isPlaced?"animate":"attr"]({d:this.getLinePath(y.strokeWidth())}),y.isPlaced=!0,y[b?"show":"hide"](b)),p&&b&&(p[p.isNew?"attr":"animate"](i.getTitlePosition(p)),p.isNew=!1),g?.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,D(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||Kt.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(D(this,"destroy",{keepEvents:t}),t||Ct(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(o){Xt(o)}),i){let o=i.length;for(;o--;)i[o].destroy()}for(let o in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(r){e[r]&&(e[r]=e[r].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[o]=e.plotLinesAndBandsGroups[o].destroy();j(e,function(o,r){e.getKeepProps().indexOf(r)===-1&&delete e[r]}),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,a=this.crosshair,n=a?.snap??!0,d=this.chart,p=this.cross;if(D(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),a&&(E(e)||!n)!==!1){if(clearTimeout(this.crossShowTimer),n?E(e)&&(s=A(this.coll!=="colorAxis"?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),E(s)&&(r={value:e&&(this.isXAxis?e.x:A(e.stackY,e.y)),translatedValue:s},d.polar&&X(r,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),i=this.getPlotLinePath(r)||null),!E(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=Ht(()=>{let l=this.cross;l||(this.cross=l=d.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(a.className||"")).attr({zIndex:A(a.zIndex,2)}).add(),!d.styledMode&&(l.attr({stroke:a.color||(o?dt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":A(a.width,1)}).css({"pointer-events":"none"}),a.dashStyle&&l.attr({dashstyle:a.dashStyle}))),l.show().animate({d:i},Qs(a?.animation)),o&&!a.width&&l.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!p||p.attr("visibility")==="hidden")&&a.showDelay||0)}else this.hideCrosshair();D(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),D(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=G(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,A(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);wt(e.axes,this),wt(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,A(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}Kt.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],(function(h){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}
2function e(){if(this.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new i(this))}h.compose=function(s){return s.keepProps.includes("dateTime")||(s.keepProps.push("dateTime"),s.prototype.getTimeTicks=t,R(s,"afterSetType",e)),s};class i{constructor(o){this.axis=o}normalizeTimeTickInterval(o,r){let a=r||[["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]],n=a[a.length-1],d=rt[n[0]],p=n[1],l,c;for(l=0;l<a.length;l++)if(d=rt[(n=a[l])[0]],p=n[1],a[l+1]){let g=(d*p[p.length-1]+rt[a[l+1][0]])/2;if(o<=g){c=g/o;break}}d===rt.year&&o<5*d&&(p=[1,2,5]);let u=Re(o/d,p,n[0]==="year"?Math.max(Pi(o/d),1):1);return{unitRange:d,count:u,unitName:n[0],match:c}}getXDateFormat(o,r){let{axis:a}=this,n=a.chart.time;return a.closestPointRange?n.getDateFormat(a.closestPointRange,o,a.options.startOfWeek,r)||n.resolveDTLFormat(r.year).main:n.resolveDTLFormat(r.day).main}}h.Additions=i})(li||(li={}));let io=li;(function(h){function t(){this.type!=="logarithmic"?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new i(this))}function e(){let s=this.logarithmic;s&&(this.lin2val=function(o){return s.lin2log(o)},this.val2lin=function(o){return s.log2lin(o)})}h.compose=function(s){return s.keepProps.includes("logarithmic")||(s.keepProps.push("logarithmic"),R(s,"afterSetType",t),R(s,"afterInit",e)),s};class i{constructor(o){this.axis=o}getLogTickPositions(o,r,a,n){let d=this.axis,p=d.len,l=d.options,c=[];if(n||(this.minorAutoInterval=void 0),o>=.5)o=Math.round(o),c=d.getLinearTickPositions(o,r,a);else if(o>=.08){let u,g,f,m,x,y,b,v=Math.floor(r);for(u=o>.3?[1,2,4]:o>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],g=v;g<a+1&&!b;g++)for(f=0,m=u.length;f<m&&!b;f++)(x=this.log2lin(this.lin2log(g)*u[f]))>r&&(!n||y<=a)&&y!==void 0&&c.push(y),y>a&&(b=!0),y=x}else{let u=this.lin2log(r),g=this.lin2log(a),f=n?d.getMinorTickInterval():l.tickInterval,m=l.tickPixelInterval/(n?5:1),x=n?p/d.tickPositions.length:p;o=Re(o=A(f==="auto"?null:f,this.minorAutoInterval,(g-u)*m/(x||1))),c=d.getLinearTickPositions(o,u,g).map(this.log2lin),n||(this.minorAutoInterval=o/5)}return n||(d.tickInterval=o),c}lin2log(o){return Math.pow(10,o)}log2lin(o){return Math.log(o)/Math.LN10}}h.Additions=i})(di||(di={}));let Fr=di;(function(h){let t;function e(d){return this.addPlotBandOrLine(d,"plotBands")}function i(d,p){let l=this.userOptions,c=new t(this,d);if(this.visible&&(c=c.render()),c){if(this._addedPlotLB||(this._addedPlotLB=!0,(l.plotLines||[]).concat(l.plotBands||[]).forEach(u=>{this.addPlotBandOrLine(u)})),p){let u=l[p]||[];u.push(d),l[p]=u}this.plotLinesAndBands.push(c)}return c}function s(d){return this.addPlotBandOrLine(d,"plotLines")}function o(d,p,l){l=l||this.options;let c=this.getPlotLinePath({value:p,force:!0,acrossPanes:l.acrossPanes}),u=[],g=this.horiz,f=!T(this.min)||!T(this.max)||d<this.min&&p<this.min||d>this.max&&p>this.max,m=this.getPlotLinePath({value:d,force:!0,acrossPanes:l.acrossPanes}),x,y=1,b;if(m&&c)for(f&&(b=m.toString()===c.toString(),y=0),x=0;x<m.length;x+=2){let v=m[x],k=m[x+1],w=c[x],M=c[x+1];(v[0]==="M"||v[0]==="L")&&(k[0]==="M"||k[0]==="L")&&(w[0]==="M"||w[0]==="L")&&(M[0]==="M"||M[0]==="L")&&(g&&w[1]===v[1]?(w[1]+=y,M[1]+=y):g||w[2]!==v[2]||(w[2]+=y,M[2]+=y),u.push(["M",v[1],v[2]],["L",k[1],k[2]],["L",M[1],M[2]],["L",w[1],w[2]],["Z"])),u.isFlat=b}return u}function r(d){this.removePlotBandOrLine(d)}function a(d){let p=this.plotLinesAndBands,l=this.options,c=this.userOptions;if(p){let u=p.length;for(;u--;)p[u].id===d&&p[u].destroy();[l.plotLines||[],c.plotLines||[],l.plotBands||[],c.plotBands||[]].forEach(function(g){for(u=g.length;u--;)g[u]?.id===d&&wt(g,g[u])})}}function n(d){this.removePlotBandOrLine(d)}h.compose=function(d,p){let l=p.prototype;return l.addPlotBand||(t=d,X(l,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:o,removePlotBand:r,removePlotLine:n,removePlotBandOrLine:a})),p}})(ci||(ci={}));let Ur=ci;class Ve{static compose(t,e){return R(t,"afterInit",function(){this.labelCollectors.push(()=>{let i=[];for(let s of this.axes)for(let{label:o,options:r}of s.plotLinesAndBands)o&&!r?.label?.allowOverlap&&i.push(o);return i})}),Ur.compose(Ve,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){D(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:d}=t.chart,p={},l=d.parse(e.to),c=d.parse(e.from),u=d.parse(e.value),g=e.borderWidth,f=e.label,{label:m,svgElem:x}=this,y=[],b,v=E(c)&&E(l),k=E(u),w=!x,M={class:"highcharts-plot-"+(v?"band ":"line ")+(e.className||"")},S=v?"bands":"lines";if(!t.chart.styledMode&&(k?(M.stroke=o||"#999999",M["stroke-width"]=A(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):v&&(M.fill=o||"#e6e9ff",g&&(M.stroke=e.borderColor,M["stroke-width"]=g))),p.zIndex=a,S+="-"+a,(b=t.plotLinesAndBandsGroups[S])||(t.plotLinesAndBandsGroups[S]=b=n.g("plot-"+S).attr(p).add()),x||(this.svgElem=x=n.path().attr(M).add(b)),E(u))y=t.getPlotLinePath({value:s?.log2lin(u)??u,lineWidth:x.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(E(c)&&E(l)))return;y=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(l)??l,e)}return!this.eventsAdded&&r&&(j(r,(O,L)=>{x?.on(L,P=>{r[L].apply(this,[P,this])})}),this.eventsAdded=!0),(w||!x.d)&&y?.length?x.attr({d:y}):x&&(y?(x.show(),x.animate({d:y})):x.d&&(x.hide(),m&&(this.label=m=m.destroy()))),f&&(E(f.text)||E(f.formatter))&&y?.length&&t.width>0&&t.height>0&&!y.isFlat?(f=G(Wt({align:i&&v?"center":void 0,x:i?!v&&4:10,verticalAlign:!i&&v?"middle":void 0,y:i?v?16:10:v?6:-4,rotation:i&&!v?9
vendor: 4,544 bytes, line 2
20:0},v?{inside:!0}:{}),f),this.renderLabel(f,y,v,a)):m&&m.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(G({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let d=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],p=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],l=Qt(d),c=Qt(p),u=Gt(d)-l;n.align(t,!1,{x:l,y:c,width:u,height:Gt(p)-c}),n.alignAttr.y-=r.fontMetrics(n).b,(!n.alignValue||n.alignValue==="left"||E(a))&&n.css({width:(t.style?.width||(i&&a?u:n.rotation===90?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 E(t.formatter)?t.formatter.call(this,this):t.text}destroy(){wt(this.axis.plotLinesAndBands,this),delete this.axis,Xt(this)}}let{animObject:Vr}=St,{format:so}=Ot,{composed:jr,dateFormats:$r,doc:oo,isSafari:Zr}=C,{distribute:Kr}=Se,je=h=>{clearTimeout(h.hideTimer),clearTimeout(h.showTimer)};class Ui{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(e=>{let i=e.series.tooltipOptions,s=e.formatPrefix||"point";return(i[s+"Formatter"]||e.tooltipFormatter).call(e,i[s+"Format"]||"",e)})}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||gt(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(),Me(this.container)),ze(this.hideTimer),je(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if(t=gt(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)e.chartX===void 0&&(e=o.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let p=0,l=0;t.forEach(function(c){let u=c.pos(!0);u&&(p+=u[0],l+=u[1])}),p/=t.length,l/=t.length,this.shared&&t.length>1&&e&&(r?p=e.chartX:l=e.chartY),i=[p-n,l-a]}let d={point:t[0],ret:i};return D(this,"getAnchor",d),d.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-"+A(t.colorIndex,o.colorIndex),r?.className].filter(Q).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 d=!this.label.hasClass("highcharts-label");(!r&&d||r&&!d)&&this.destroy()}if(!this.label){if(this.outside){let d=this.chart,p=d.options.chart.style,l=ee.getRendererType();this.container=a=C.doc.createElement("div"),a.className="highcharts-tooltip-container "+(d.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),Z(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(p?.zIndex||0)+3)}),this.renderer=n=new l(a,0,0,p,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||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let d=this.label;[d.xSetter,d.ySetter].forEach((p,l)=>{d[l?"ySetter":"xSetter"]=c=>{p.call(d,i.distance),d[l?"y":"x"]=c,a&&(a.style[l?"top":"left"]=`${c}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return a&&!a.parentElement&&C.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=oo,{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.chartHe
vendor: 1,530 bytes, line 2
2ight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:d,plotTop:p,polar:l}=o,{plotX:c=0,plotY:u=0}=i,g={},f=n&&i.h||0,{height:m,width:x}=this.getPlayingField(),y=a.getChartPosition(),b=z=>{let I=z==="x";return[z,I?x:m,I?t:e].concat(r?[I?t*y.scaleX:e*y.scaleY,I?y.left-s+(c+d)*y.scaleX:y.top-s+(u+p)*y.scaleY,0,I?x:m]:[I?t:e,I?c+d:u+p,I?d:p,I?d+o.plotWidth:p+o.plotHeight])},v=b("y"),k=b("x"),w,M=!!i.negative;!l&&o.hoverSeries?.yAxis?.reversed&&(M=!M);let S=!this.followPointer&&A(i.ttBelow,!l&&!n===M),O=function(z,I,N,W,H,$,F){let et=r?z==="y"?s*y.scaleY:s*y.scaleX:s,Y=(N-W)/2,U=W<H-s,_=H+s+W<I,V=H-et-N+Y,tt=H+et-Y;if(S&&_)g[z]=tt;else if(!S&&U)g[z]=V;else if(U)g[z]=Math.min(F-W,V-f<0?V:V-f);else{if(!_)return g[z]=0,!1;g[z]=Math.max($,tt+f+N>I?tt:tt+f)}},L=function(z,I,N,W,H){if(H<s||H>I-s)return!1;H<N/2?g[z]=1:H>I-W/2?g[z]=I-W-2:g[z]=H-N/2},P=function(z){[v,k]=[k,v],w=z},B=()=>{O.apply(0,v)!==!1?L.apply(0,k)!==!1||w||(P(!0),B()):w?g.x=g.y=0:(P(!0),B())};return(n&&!l||this.len>1)&&P(),B(),r&&(g.x-=y.left,g.y-=y.top),g}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:a}=this,n=r.position,d=n.relativeTo,p=r.shared||s?.yAxis?.isRadial&&(d==="pane"||!d)?"plotBox":d,l=p==="chart"?o.renderer:o[p]||o.getClipBox(s,!0);return{x:l.x+(l.width-t)*Tt(n.align)+n.x,y:l.y+(l.height-e)*Tt(n.verticalAlign)+(!a&&n.y||0)}}hide(t){let e=this;je(this),t=A(t,this.options.hideDelay),this.isHidden||(this.hideTimer=Ht(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
2,{duration:t&&150,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=A(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=Vr(!o&&!this.isHidden&&!r.fixed&&r.animation),n=o||(this.len||0)>1,d={x:t,y:e};n?d.anchorX=d.anchorY=NaN:(d.anchorX=i,d.anchorY=s),a.step=()=>this.drawTracker(),this.getLabel().animate(d,a)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:a}=this,n=gt(t),d=n[0],p=o.format,l=o.formatter||i.defaultFormatter,c=s.styledMode,u=i.allowShared;if(!o.enabled||!d.series)return;je(this),i.allowShared=!(!ot(t)&&t.series&&t.series.noSharedTooltip),u=u&&!i.allowShared,i.followPointer=!i.split&&d.series.tooltipOptions.followPointer;let g=i.getAnchor(t,e),f=g[0],m=g[1];a&&i.allowShared&&(r.applyInactiveState(n),n.forEach(b=>b.setState("hover")),d.points=n),this.len=n.length;let x=Q(p)?so(p,d,s):l.call(d,i,d);d.points=void 0;let y=d.series;this.distance=A(y.tooltipOptions.distance,16),x===!1?this.hide():this.showTimer=Ht(()=>{if(i.split&&i.allowShared)i.renderSplit(x,n);else{let b=f,v=m;if(e&&r.isDirectTouch&&(b=e.chartX-s.plotLeft,v=e.chartY-s.plotTop),!(s.polar||y.options.clip===!1||n.some(k=>r.isDirectTouch||k.series.shouldShowTooltip(b,v))))return void i.hide();{let k=i.getLabel(u&&i.tt||{});(!o.style.width||c)&&k.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),k.attr({class:i.getClassName(d),text:ot(x)?x.join(""):x}),this.outside&&k.attr({x:nt(k.x||0,0,this.getPlayingField().width-(k.width||0)-1)}),c||k.attr({stroke:o.borderColor||d.color||y.color||"#666666"}),i.updatePosition({plotX:f,plotY:m,negative:d.negative,ttBelow:d.ttBelow,series:y,h:g[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),D(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:d,scrollablePixelsY:p=0,scrollablePixelsX:l,styledMode:c},distance:u,options:g,options:{fixed:f,position:m,positioner:x},pointer:y}=i,{scrollLeft:b=0,scrollTop:v=0}=s.scrollablePlotArea?.scrollingContainer||{},k=i.outside&&typeof l!="number"?oo.documentElement.getBoundingClientRect():{left:b,right:b+o,top:v,bottom:v+r},w=i.getLabel(),M=this.renderer||s.renderer,S=!!s.xAxis[0]?.opposite,{left:O,top:L}=y.getChartPosition(),P=x||f,B=d+v,z=0,I=a-p,N=function(Y,U,_,V,tt=[0,0],ut=!0){let J,at;if(_.isHeader)at=S?0:I,J=nt(tt[0]-Y/2,k.left,k.right-Y-(i.outside?O:0));else if(f&&_){let ft=i.getFixedPosition(Y,U,_);J=ft.x,at=ft.y-B}else at=tt[1]-B,J=nt(J=ut?tt[0]-Y-u:tt[0]+u,ut?J:k.left,k.right);return{x:J,y:at}};Q(t)&&(t=[!1,t]);let W=t.slice(0,e.length+1).reduce(function(Y,U,_){if(U!==!1&&U!==""){let V=e[_-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},tt=V.isHeader,ut=tt?i:V.series,J=ut.tt=(function(Ft,At,_t){let Dt=Ft,{isHeader:ne,series:Pe}=At,Ut=Pe.tooltipOptions||g;if(!Dt){let ve={padding:Ut.padding,r:Ut.borderRadius};c||(ve.fill=Ut.backgroundColor,ve["stroke-width"]=Ut.borderWidth??(f&&!ne?0:1)),Dt=M.label("",0,0,Ut[ne?"headerShape":"shape"]||(f&&!ne?"rect":"callout"),void 0,void 0,Ut.useHTML).addClass(i.getClassName(At,!0,ne)).attr(ve).add(w)}return Dt.isActive=!0,Dt.attr({text:_t}),c||Dt.css(Ut.style).attr({stroke:Ut.borderColor||At.color||Pe.color||"#333333"}),Dt})(ut.tt,V,U.toString()),at=J.getBBox(),ft=at.width+J.strokeWidth();tt&&(z=at.height,I+=z,S&&(B-=z));let{anchorX:Et,anchorY:be}=(function(Ft){let At,_t,{isHeader:Dt,plotX:ne=0,plotY:Pe=0,series:Ut}=Ft;if(Dt)At=Math.max(n+ne,n),_t=d+a/2;else{let{xAxis:ve,yAxis:ur}=Ut;At=ve.pos+nt(ne,-u,ve.len+u),Ut.shouldShowTooltip(0,ur.pos-d+Pe,{ignoreX:!0})&&(_t=ur.pos+Pe)}return{anchorX:At=nt(At,k.left-u,k.right+u),anchorY:_t}})(V);if(typeof be=="number"){let Ft=at.height+1,At=(x||N).call(i,ft,Ft,V,i,[Et,be]);Y.push({align:P?0:void 0,anchorX:Et,anchorY:be,boxWidth:ft,point:V,rank:A(At.rank,+!!tt),size:Ft,target:At.y,tt:J,x:At.x})}else J.isActive=!1}return Y},[]);!P&&W.some(Y=>{let{outside:U}=i,_=(U?O:0)+Y.anchorX;return _<k.left&&_+Y.boxWidth<k.right||_<O-k.left+Y.boxWidth&&k.right-_>_})&&(W=W.map(Y=>{let{x:U,y:_}=N.call(this,Y.boxWidth,Y.size,Y.point,void 0,[Y.anchorX,Y.anchorY],!1);return X(Y,{target:_,x:U})})),i.cleanSplit(),Kr(W,I);let H={left:O,right:O};W.forEach(function(Y){let{x:U,boxWidth:_,isHeader:V}=Y;!V&&(i.outside&&O+U<H.left&&(H.left=O+U),!V&&i.outside&&H.left+_>H.right&&(H.right=O+U))}),W.forEach(function(Y){let{x:U,anchorX:_,anchorY:V,pos:tt,point:{isHeader:ut}}=Y,J={visibility:tt===void 0?"hidden":"inherit",x:U,y:(tt||0)+B+(f&&m.y||0),anchorX:_,anchorY:V};if(i.outside&&U<_){let at=O-H.left;at>0&&(ut||(J.x=U+at,J.anchorX=_+at),ut&&(J.x=(H.right-H.left)/2,J.anchorX=_+at))}Y.tt.attr(J)});let{container:$,outside:F,renderer:et}=i;if(F&&$&&et){let{width:Y,height:U,x:_,y:V}=w.getBBox();et.setSize(Y+_,U+V,!1),$.style.left=H.left+"px",$.style.top=L+"px"}Zr&&w.attr({opacity:w.opacity===1?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}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),R(t.tracker.element,"mouseenter",()=>je(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,r=o?.dateTime,a={isFooter:e,point:t},n=s.xDateFormat||"",d=s[e?"footerFormat":"headerFormat"];return D(this,"headerFormatter",a,function(p){if(r&&!n&&T(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(st(n)){let l=n;$r[0]=c=>i.chart.time.dateFormat(l,c),n="%0"}
2(t.tooltipDateKeys||["key"]).forEach(l=>{d=d.replace(RegExp("point\\."+l+"([ \\)}])"),`(point.${l}:${n})$1`)})}i.chart.styledMode&&(d=this.styledModeFormat(d)),p.text=so(d,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,G(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:d=0}=this.getLabel(),{fixed:p,positioner:l}=o,{left:c,top:u,scaleX:g,scaleY:f}=r.getChartPosition(),m=(l||p&&this.getFixedPosition||this.getPosition).call(this,d,n,t,this),x=C.doc,y=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop,v;if(a&&i){let{scrollLeft:k=0,scrollTop:w=0}=e.scrollablePlotArea?.scrollingContainer||{};m.x+=k+c,m.y+=w+u,v=(o.borderWidth||0)+2*s+2,a.setSize(nt(d+v,0,x.documentElement.clientWidth)-1,n+v,!1),(g!==1||f!==1)&&(Z(i,{transform:`scale(${g}, ${f})`}),y*=g,b*=f),y+=c-m.x,b+=u-m.y}this.move(Math.round(m.x),Math.round(m.y||0),y,b)}}(Ss=Ui||(Ui={})).compose=function(h){xt(jr,"Core.Tooltip")&&R(h,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new Ss(t,t.options.tooltip,this))})};let ro=Ui,{animObject:qr}=St,{defaultOptions:_r}=mt,{format:Jr}=Ot;class Ae{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=zt()),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,D(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(s){t[s]=t[s].animate(s==="dataLabel"?{x:t[s].startXPos,y:t[s].startYPos,opacity:0}:e)}),i.plural.forEach(function(s){t[s].forEach(function(o){o.element&&o.animate(X({x:t.startXPos},o.startYPos?{x:o.startXPos,y:o.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return X(this,t=Ae.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?X(this.options,t):G(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=Ae.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&e===void 0&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),this.x===void 0&&i?this.x=e??i.autoIncrement():T(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):typeof this.x=="string"&&(e??(e=i.chart.time.parse(this.x)),T(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=qr(t.series.chart.renderer.globalAnimation),a=()=>{for(let n in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(Ct(t),t.destroyElements()),t)delete t[n]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),wt(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),Ht(a,r.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(s){e[s]=e[s].destroy()}),i.plural.forEach(function(s){e[s].forEach(function(o){o?.element&&o.destroy()}),delete e[s]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),t==="click"&&o.allowPointSelect&&(i=function(r){!s.destroyed&&s.select&&s.select(null,r.ctrlKey||r.metaKey||r.shiftKey)}),D(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&this.series.options.negativeColor!==!1?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(this.colorIndex!==void 0?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(a){let n=a+"s";t[a]&&s[n]&&r.plural.push(n)}),r}getNestedProperty(t){if(t)return t.indexOf("custom.")===0?Ie(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(T(this.x)||this.x instanceof Date)&&T(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,d=0;if(T(t)||t===null)r[s[0]]=t;else if(ot(t))for(!i&&t.length>
2o&&((a=typeof t[0])=="string"?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:a==="number"&&(r.x=t[0]),n++);d<o;)i&&t[n]===void 0||(s[d].indexOf(".")>0?Ae.prototype.setNestedProperty(r,t[n],s[d]):r[s[d]]=t[n]),n++,d++;else typeof t=="object"&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:a}=s,n=0,d=0;if(T(i)&&T(e))return t&&(n=r?r.pos:o.plotLeft,d=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+d,r.len-i+n]:[i+n,e+d]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=A(this.options.colorIndex,a),this.color=A(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(s,o,r,a){let n=a.length-1===r;return s[o]=n?e:st(s[o],!0)?s[o]:{},s[o]},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(n=>{n="{point."+n,(r||a)&&(t=t.replace(RegExp(n+"}","g"),r+n+"}"+a)),t=t.replace(RegExp(n+"}","g"),n+":,."+o+"f}")}),Jr(t,this,e)}update(t,e,i,s){let o,r=this,a=r.series,n=r.graphic,d=a.chart,p=a.options,l=p.data;function c(){r.applyOptions(t);let u=n&&r.hasMockGraphic,g=r.y===null?!u:u;n&&g&&(r.graphic=n.destroy(),delete r.hasMockGraphic),st(t,!0)&&(n?.element&&t&&t.marker&&t.marker.symbol!==void 0&&(r.graphic=n.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let f={};for(let m of a.dataColumnKeys())f[m]=r[m];a.dataTable.setRow(f,o),l&&!a.processedData&&(l[o]=st(l[o],!0)||st(t,!0)?r.options:t??l[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(d.isDirtyBox=!0),p.legendType==="point"&&(d.isDirtyLegend=!0),e&&d.redraw(i)}e=A(e,!0),s===!1?c():r.firePointEvent("update",{options:t},c)}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=A(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
2h(function(r){let a=r.series;r.selected&&r!==i&&(r.selected=r.options.selected=!1,a.options.data[a.data.indexOf(r)]=r.options,r.setState(o.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),r.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(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=G(this.series.options.point,this.options),i=e.events?.[t];le(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(s=>s.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=R(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(Ct(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=_r.plotOptions[i.type].marker&&i.options.marker,a=r&&r.enabled===!1,n=r?.states?.[t||"normal"]||{},d=n.enabled===!1,p=this.marker||{},l=i.chart,c=r&&i.markerAttribs,u=i.halo,g,f,m,x=i.stateMarkerGraphic,y;if((t=t||"")===this.state&&!e||this.selected&&t!=="select"||o.enabled===!1||t&&(d||a&&n.enabled===!1)||t&&p.states&&p.states[t]&&p.states[t].enabled===!1)return;if(this.state=t,c&&(g=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!l.styledMode){f=i.pointAttribs(this,t),m=A(l.options.chart.animation,o.animation);let w=f.opacity;i.options.inactiveOtherPoints&&T(w)&&(this.dataLabels||[]).forEach(function(M){M&&!M.hasClass("highcharts-data-label-hidden")&&(M.animate({opacity:w},m),M.connector&&M.connector.animate({opacity:w},m))}),this.graphic.animate(f,m)}g&&this.graphic.animate(g,A(l.options.chart.animation,n.animation,r.animation)),x&&x.hide()}else t&&n&&(y=p.symbol||i.symbol,x&&x.currentSymbol!==y&&(x=x.destroy()),g&&(x?x[e?"animate":"attr"]({x:g.x,y:g.y}):y&&(i.stateMarkerGraphic=x=l.renderer.symbol(y,g.x,g.y,g.width,g.height,G(r,n)).add(i.markerGroup),x.currentSymbol=y)),!l.styledMode&&x&&this.state!=="inactive"&&x.attr(i.pointAttribs(this,t))),x&&(x[t&&this.isInside?"show":"hide"](),x.element.point=this,x.addClass(this.getClassName(),!0));let b=o.halo,v=this.graphic||x,k=v?.visibility||"inherit";b?.size&&v&&k!=="hidden"&&!this.isCluster?(u||(i.halo=u=l.renderer.path().add(v.parentGroup)),u.show()[e?"animate":"attr"]({d:this.haloPath(b.size)}),u.attr({class:"highcharts-halo highcharts-color-"+A(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:k,zIndex:-1}),u.point=this,l.styledMode||u.attr(X({fill:this.color||i.color,"fill-opacity":b.opacity},ct.filterUserAttributes(b.attributes||{})))):u?.point?.haloPath&&!u.point.destroyed&&u.animate({d:u.point.haloPath(0)},null,u.hide),D(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(ht(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let qt=Ae,{parse:Qr}=dt,{charts:Vi,composed:ta,isTouchDevice:ea}=C,ao=(h,t)=>!E(t)||h[`${t}Key`];class bt{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach(s=>{let o=s.series;e.push(o),o.linkedParent&&e.push(o.linkedParent),o.linkedSeries&&e.push.apply(e,o.linkedSeries),o.navigatorSeries&&e.push(o.navigatorSeries),o.boosted&&o.markerGroup&&e.push.apply(e,this.chart.series.filter(r=>r.markerGroup===o.markerGroup))}),this.chart.series)){let s=i.options;s.states?.inactive?.enabled!==!1&&(e.indexOf(i)===-1?i.setState("inactive",!0):s.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!C.chartCount&&(bt.unbindDocumentMouseUp.forEach(e=>e.unbind()),bt.unbindDocumentMouseUp.length=0,bt.unbindDocumentTouchEnd&&(bt.unbindDocumentTouchEnd=bt.unbindDocumentTouchEnd())),j(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return D(this,"getSelectionMarkerAttrs",i,s=>{let o,{chart:r,zoomHor:a,zoomVert:n}=this,{mouseDownX:d=0,mouseDownY:p=0}
vendor: 8,734 bytes, line 2
2=r,l=s.attrs;l.x=r.plotLeft,l.y=r.plotTop,l.width=a?1:r.plotWidth,l.height=n?1:r.plotHeight,a&&(l.width=Math.max(1,Math.abs(o=t-d)),l.x=(o>0?0:o)+d),n&&(l.height=Math.max(1,Math.abs(o=e-p)),l.y=(o>0?0:o)+p)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,d=e.plotTop,p=e.plotWidth,l=e.plotHeight,c=st(o)?o.enabled:o,u=r&&t[`${r}Key`],g=t.chartX,f=t.chartY,m,x=this.selectionMarker;if((!x||!x.touch)&&(g<n?g=n:g>n+p&&(g=n+p),f<d?f=d:f>d+l&&(f=d+l),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-f,2)),this.hasDragged>10)){m=e.isInsidePlot(i-n,s-d,{visiblePlotOnly:!0});let{shapeType:y,attrs:b}=this.getSelectionMarkerAttrs(g,f);this.hasZoom&&m&&!u&&!x&&(this.selectionMarker=x=e.renderer[y](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||x.attr({fill:a||Qr("#334eff").setOpacity(.25).get()})),x&&x.attr(b),m&&!x&&c&&ao(t,r)&&e.pan(t,o)}}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 D(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(r=>r.boosted))&&(o.forceRedraw=!0,o.setExtremes(o.userMin,o.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let o=this.getSelectionBox(s);i.transform({axes:i.axes.filter(r=>r.zoomEnabled&&(r.coll==="xAxis"&&this.zoomX||r.coll==="yAxis"&&this.zoomY)),selection:Wt({originalEvent:t,xAxis:[],yAxis:[]},o),from:o})}T(i.index)&&(this.selectionMarker=s.destroy())}i&&T(i.index)&&(Z(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(o){var r;let a,n,d,p=!(o.noSharedTooltip&&e)&&0>o.options.findNearestPointBy.indexOf("y"),l=o.searchPoint(i,p);st(l,!0)&&l.series&&(!st(s,!0)||(a=(r=s).distX-l.distX,n=r.dist-l.dist,d=l.series.group?.zIndex-r.series.group?.zIndex,(a!==0&&e?a:n!==0?n:d!==0?d:r.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&&T(o.x)&&T(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=Bs(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=function(u){return u.visible&&!(!o&&u.directTouch)&&A(u.options.enableMouseTracking,!0)},d=e,p,l={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};D(this,"beforeGetHoverData",l),p=d&&!d.stickyTracking?[d]:i.filter(u=>u.stickyTracking&&(l.filter||n)(u));let c=s&&t||!r?t:this.findNearestKDPoint(p,o,r);return d=c?.series,c&&(o&&!d.noSharedTooltip?(p=i.filter(function(u){return l.filter?l.filter(u):n(u)&&!u.noSharedTooltip})).forEach(function(u){let g=u.options?.nullInteraction,f=It(u.points,function(m){return m.x===c.x&&(!m.isNull||!!g)});st(f)&&(u.boosted&&u.boost&&(f=u.boost.getPoint(f)),a.push(f))}):a.push(c)),D(this,"afterGetHoverData",l={hoverPoint:c}),{hoverPoint:l.hoverPoint,hoverSeries:d,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}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=t,s;for(;i;){if(s=Mt(i,"class")){if(s.indexOf(e)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}i=i.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(),D(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):A(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return X(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")?(D(i.series,"click",X(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(X(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&D(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),C.isFirefox&&t.button!==0&&this.onContainerMouseMove(t),(t.button===void 0||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=Vi[A(bt.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),(e.mouseIsDown==="mousedown"||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?.(),Vi[A(bt.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],l=>e.normalize(l)),a=r.length,n=a===1&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),d=i.tooltip,p=a===1&&A(d?.options.followTouchMove,!0);a>1?e.initiated=!0:p&&(e.initiated=!1),s&&e.initiated&&!n&&t.cancelable!==!1&&t.preventDefault(),t.type==="touchstart"?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):p?this.runPointActions(e.normalize(t)):o&&(D(i,"touchpan",{originalEvent:t,touches:r},()=>{let l=c=>{let u=c[0],g=c[1]||u;return{x:u.chartX,y:u.chartY,width:g.chartX-u.chartX,height:g.chartY-u.chartY}};i.transform({axes:i.axes.filter(c=>c.zoomEnabled&&(this.zoomHor&&c.horiz||this.zoomVert&&!c.horiz)),to:l(r),from:l(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&&gt(n).forEach(function(d){d.series.isCartesian&&d.plotX===void 0&&(t=!1)}),t?a&&n&&gt(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(d){d.setState(d.state,!0),d.series.isCartesian&&(d.series.xAxis.crosshair&&d.series.xAxis.drawCrosshair(null,d),d.series.yAxis.crosshair&&d.series.yAxis.drawCrosshair(null,d))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(d){d.crosshair&&o.series[d.coll]===d&&d.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(d){d.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(d){d.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,d=n?.series||s.hoverSeries,p=(!t||t.type!=="touchmove")&&(!!e||d?.directTouch&&this.isDirectTouch),l=this.getHoverData(n,d,o,p,a,t);n=l.hoverPoint,d=l.hoverSeries;let c=l.hoverPoints,u=d?.tooltipOptions.followPointer&&!d.tooltipOptions.split,g=a&&d&&!d.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEac
vendor: 5,082 bytes, line 2
2h(function(f){c.indexOf(f)===-1&&f.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(f){f.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(u&&r&&!r.isHidden){let f=r.getAnchor([{}],t);s.isInsidePlot(f[0],f[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:f[0],plotY:f[1]})}this.unDocMouseMove||(this.unDocMouseMove=R(s.container.ownerDocument,"mousemove",f=>Vi[bt.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(f)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(f){let m,x=f.crosshair?.snap??!0;x&&((m=s.hoverPoint)&&m.series[f.coll]===f||(m=It(c,y=>y.series?.[f.coll]===f))),m||!x?f.drawCrosshair(t,m):f.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=o=>o.parentElement||o.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(R(t,"mouseenter",this.onContainerMouseEnter.bind(this)),R(t,"mouseleave",this.onContainerMouseLeave.bind(this))),bt.unbindDocumentMouseUp.some(o=>o.doc===e)||bt.unbindDocumentMouseUp.push({doc:e,unbind:R(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(R(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(R(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),R(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),bt.unbindDocumentTouchEnd||(bt.unbindDocumentTouchEnd=R(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),R(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!ea)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=A(e.options.tooltip?.followTouchMove,!0)&&e.series.some(o=>o.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(R(i,"pointerdown",o=>{o.target?.hasPointerCapture(o.pointerId)&&o.target?.releasePointerCapture(o.pointerId)}),R(i,"pointermove",o=>{e.pointer?.getPointFromEvent(o)?.onMouseOver(o)})),e.styledMode||Z(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(o=>o()),t.length=0,e.styledMode||Z(i,{"touch-action":A(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=C.charts[A(bt.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||(bt.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),(t=this.normalize(t)).touches.length===1?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.exporting?.openMenu?(e&&this.runPointActions(t),t.type==="touchmove"&&(this.hasPinchMoved=i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),A(i,!0)&&this.pinch(t)):e&&this.reset():t.touches.length===2&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&t.touches.length===1)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=A(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=(o||r)&&ao(t,e.zooming.key)}}bt.unbindDocumentMouseUp=[],(As=bt||(bt={})).compose=function(h){xt(ta,"Core.Pointer")&&R(h,"beforeRender",function(){this.pointer=new As(this,this.options)})};let no=bt,{setLength:ia,splice:ho}={convertToNumber:function(h,t){switch(typeof h){case"boolean":return+!!h;case"number":return isNaN(h)&&!t?null:h;default:return isNaN(h=parseFloat(`${h??""}`))&&!t?null:h}},setLength:function(h,t,e){return Array.isArray(h)?(h.length=t,h):h[e?"subarray":"slice"](0,t)},splice:function(h,t,e,i,s=[]){if(Array.isArray(h))return Array.isArray(s)||(s=Array.from(s)),{removed:h.splice(t,e,...s),array:h};let o=Object.getPrototypeOf(h).constructor,r=h[i?"subarray":"slice"](t,t+e),a=new o(h.length-e+s.length);return a.set(h.subarray(0,t),0),a.set(s,t),a.set(h.subarray(t+e),t+s.length),{removed:r,array:a}}},fe=class{constructor(h={}){this.autoId=!h.id,this.columns={},this.id=h.id||zt(),this.rowCount=0,this.versionTag=zt();let t=0;j(h.columns||{},(e,i)=>{this.columns[i]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(h){this.rowCount=h,j(this.columns,(t,e)=>{t.length!==h&&(this.columns[e]=ia(t,h))})}deleteRows(h,t=1){if(t>0&&h<this.rowCount){let e=0;j(this.columns,(i,s)=>{this.columns[s]=ho(i,h,t).array,e=i.length}),this.rowCount=e}D(this,"afterDeleteRows",{rowIndex:h,rowCount:t}),this.versionTag=zt()}getColumn(h,t){return this.columns[h]}
2getColumns(h,t){return(h||Object.keys(this.columns)).reduce((e,i)=>(e[i]=this.columns[i],e),{})}getRow(h,t){return(t||Object.keys(this.columns)).map(e=>this.columns[e]?.[h])}setColumn(h,t=[],e=0,i){this.setColumns({[h]:t},e,i)}setColumns(h,t,e){let i=this.rowCount;j(h,(s,o)=>{this.columns[o]=s.slice(),i=s.length}),this.applyRowCount(i),e?.silent||(D(this,"afterSetColumns"),this.versionTag=zt())}setRow(h,t=this.rowCount,e,i){let{columns:s}=this,o=e?this.rowCount+1:t+1,r=Object.keys(h);if(i?.addColumns!==!1)for(let a=0,n=r.length;a<n;a++){let d=r[a];s[d]||(s[d]=[])}j(s,(a,n)=>{a||i?.addColumns===!1||(a=Array(o)),a&&(e?a=ho(a,t,0,!0,[h[n]??null]).array:a[t]=h[n]??null,s[n]=a)}),o>this.rowCount&&this.applyRowCount(o),i?.silent||(D(this,"afterSetRows"),this.versionTag=zt())}getModified(){return this.modified||this}};var lo=pi||(pi={});function co(h,t,e){let i=this.legendItem=this.legendItem||{},{chart:s,options:o}=this,{baseline:r=0,symbolWidth:a,symbolHeight:n}=h,d=this.symbol||"circle",p=n/2,l=s.renderer,c=i.group,u=r-Math.round((h.fontMetrics?.b||n)*(e?.4:.3)),g={},f,m=o.marker,x=0;if(s.styledMode||(g["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?g.dashstyle=o.dashStyle:o.linecap!=="square"&&(g["stroke-linecap"]="round")),i.line=l.path().addClass("highcharts-graph").attr(g).add(c),e&&(i.area=l.path().addClass("highcharts-area").add(c)),g["stroke-linecap"]&&(x=Math.min(i.line.strokeWidth(),a)/2),a){let y=[["M",x,u],["L",a-x,u]];i.line.attr({d:y}),i.area?.attr({d:[...y,["L",a-x,r],["L",x,r]]})}if(m&&m.enabled!==!1&&a){let y=Math.min(A(m.radius,p),p);d.indexOf("url")===0&&(m=G(m,{width:n,height:n}),y=0),i.symbol=f=l.symbol(d,a/2-y,u-y,2*y,2*y,X({context:"legend"},m)).addClass("highcharts-point").add(c),f.isMarker=!0}}lo.areaMarker=function(h,t){co.call(this,h,t,!0)},lo.lineMarker=co;let po=pi,{defaultOptions:uo}=mt;var Vt=ui||(ui={});function go(h,t){let e=uo.plotOptions||{},i=t.defaultOptions,s=t.prototype;return s.type=h,s.pointClass||(s.pointClass=qt),!Vt.seriesTypes[h]&&(i&&(e[h]=i),Vt.seriesTypes[h]=t,!0)}Vt.seriesTypes=C.seriesTypes,Vt.registerSeriesType=go,Vt.seriesType=function(h,t,e,i,s){let o=uo.plotOptions||{};if(t=t||"",o[h]=G(o[t],e),delete Vt.seriesTypes[h],go(h,Ls(Vt.seriesTypes[t]||C.Series,i)),Vt.seriesTypes[h].prototype.type=h,s){class r extends qt{}X(r.prototype,s),Vt.seriesTypes[h].prototype.pointClass=r}return Vt.seriesTypes[h]};let it=ui,{animObject:fo,setAnimation:sa}=St,{defaultOptions:$e}=mt,{registerEventOptions:oa}=Ue,{svg:ra,win:aa}=C,{seriesTypes:me}=it,{format:na}=Ot;class Yt{constructor(){this.zoneAxis="y"}init(t,e){let i;D(this,"init",{options:e}),this.dataTable??(this.dataTable=new fe);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=o.visible!==!1;this.linkedSeries=[],this.bindAxes(),X(this,{name:o.name,state:"",visible:r,selected:o.selected===!0}),oa(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=A(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",We(this,s)),o.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),D(this,"afterInit")}is(t){return me[t]&&this instanceof me[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;D(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(r){t=r.options,(A(i[o],0)===r.index||i[o]!==void 0&&i[o]===t.id)&&(We(e,r.series),e[o]=r,r.isDirty=!0)}),e[o]||e.optionalAxis===o||pt(18,!0,s)})}),D(this,"afterBindAxes")}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||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=A(this.pointInterval,i.pointInterval,1),o&&T(t)&&(e*=t),s){let n=r.toParts(a);s==="day"?n[2]+=e:s==="month"?n[1]+=e:s==="year"&&(n[0]+=e),e=r.makeTime.apply(r,n)-a}return o&&T(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;X(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),E(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=G(t),a=i.styledMode,n={plotOptions:s,userOptions:r};D(this,"setOptions",n);let d=n.plotOptions[this.type],p=o.plotOptions||{},l=p.series||{},c=$e.plotOptions[this.type]||{},u=p[this.type]||{};d.dataLabels=this.mergeArrays(c.dataLabels,d.dataLabels),this.userOptions=n.userOptions;let g=G(d,s.series,u,r);this.tooltipOptions=G($e.tooltip,$e.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,p.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=A(r.stickyTracking,u.stickyTracking,l.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),d.marker===null&&delete g.marker;let{negativeColor:f,negativeFillColor:m,zoneAxis:x="y",zones:y}=g,b=this.zones=(y||[]).map(v=>Wt({},v));return this.zoneAxis=x,(f||m)&&!y&&(e={value:g[x+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(typeof f!="boolean"&&(e.color=f),e.fillColor=m),b.push(e)),b.length&&E(b[b.length-1].value)&&b.push(a?{}:{color:this.color,fillColor:this.fillColor}),D(this,"afterSetOptions",{options:g}),g}getName(){return this.options.name??na(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,a=`${t}Index`,n=`${t}Counter`,d=i?.length||r.options.chart.colorCount;!e&&(E(o=A(t==="color"?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%d,r[n]+=1),i&&(e=i[s])),s!==void 0&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||$e.plotOptions[this.type].color,this.chart.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){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,{id:r,x:a}=t,n=this.points,d=this.options.dataSorting,p=this.cropStart||0;if(r){let l=this.chart.get(r);l instanceof qt&&(i=l)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let l=c=>!c.touched&&c.index===t.index;if(d?.matchByName?l=c=>!c.touched&&c.name===t.name:this.options.relativeXValue&&(l=c=>!c.touched&&c.options.x===t.x),!(i=It(n,l)))return}return i&&(o=i?.index)!==void 0&&(s=!0),o===void 0&&T(a)&&(o=this.getColumn("x").indexOf(a,e)),o!==-1&&o!==void 0&&this.cropped&&(o=o>=p?o-p:o),!s&&T(o)&&n[o]?.touched&&(o=void 0),o}updateData(t,e){let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,a=[],n=t.length===r.length,d=this.xIncrement,p,l,c,u,g=!0;if(this.xIncrement=null,t.forEach((m,x)=>{let y,b=E(m)&&this.pointClass.prototype.optionsToObject.call({series:this},m)||{},{id:v,x:k}=b;v||T(k)?((y=this.findPointIndex(b,u))===-1||y===void 0?a.push(m):r[y]&&m!==i.data?.[y]?(r[y].update(m,!1,void 0,!1),r[y].touched=!0,s&&(u=y+1)):r[y]&&(r[y].touched=!0),(!n||x!==y||o?.enabled||this.hasDerivedData)&&(p=!0)):a.push(m)},this),p)for(l=r.length;l--;)(c=r[l])&&!c.touched&&c.remove?.(!1,e);
2else n&&!o?.enabled?(t.forEach((m,x)=>{m===r[x].y||r[x].destroyed||r[x].update(m,!1,void 0,!1)}),a.length=0):g=!1;if(r.forEach(m=>{m&&(m.touched=!1)}),!g)return!1;a.forEach(m=>{this.addPoint(m,!1,void 0,void 0,!1)},this);let f=this.getColumn("x");return d!==null&&this.xIncrement===null&&f.length&&(this.xIncrement=Gt(f),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o?.length||0,a=this.options,n=this.chart,d=a.dataSorting,p=this.xAxis,l=a.turboThreshold,c=this.dataTable,u=this.dataColumnKeys(),g=this.pointValKey||"y",f=(this.pointArrayMap||[]).length,m=a.keys,x,y,b=0,v=1,k;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,k=G(!0,t));let w=(t=k||t||[]).length;if(d?.enabled&&(t=this.sortData(t)),s!==!1&&w&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(y=this.updateData(t,i)),!y){this.xIncrement=null,this.colorCounter=0;let M=l&&!a.relativeXValue&&w>l;if(M){let S=this.getFirstValidPoint(t),O=this.getFirstValidPoint(t,w-1,-1),L=P=>!!(ot(P)&&(m||T(P[0])));if(T(S)&&T(O)){let P=[],B=[];for(let z of t)P.push(this.autoIncrement()),B.push(z);c.setColumns({x:P,[g]:B})}else if(L(S)&&L(O))if(f){let P=+(S.length===f),B=Array(u.length).fill(0).map(()=>[]);for(let z of t){P&&B[0].push(this.autoIncrement());for(let I=P;I<=f;I++)B[I]?.push(z[I-P])}c.setColumns(u.reduce((z,I,N)=>(z[I]=B[N],z),{}))}else{m&&(b=m.indexOf("x"),v=m.indexOf("y"),b=b>=0?b:0,v=v>=0?v:1),S.length===1&&(v=0);let P=[],B=[];for(let z of t)b===v?P.push(this.autoIncrement()):P.push(z[b]??z.x??null),B.push(z[v]??z.y??null);c.setColumns({x:P,[g]:B})}else M=!1}if(!M){let S=u.reduce((O,L)=>(O[L]=[],O),{});for(x=0;x<w;x++){let O=this.pointClass.prototype.applyOptions.apply({series:this},[t[x]]);for(let L of u)S[L][x]=O[L]}c.setColumns(S)}for(Q(this.getColumn("y")[0])&&pt(14,!0,n),this.data=[],this.options.data=this.userOptions.data=t,x=r;x--;)o[x]?.destroy();p&&(p.minRange=p.userMinRange),this.isDirty=n.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}a.legendType==="point"&&(this.processData(),this.generatePoints()),e&&n.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(o,r){return E(r)&&o.pointClass.prototype.optionsToObject.call({series:o},r)||{}};return t.forEach(function(o,r){t[r]=s(e,o),t[r].index=r},this),t.concat().sort((o,r)=>{let a=Ie(i,o),n=Ie(i,r);return n<a?-1:+(n>a)}).forEach(function(o,r){o.x=r},this),e.linkedSeries&&e.linkedSeries.forEach(function(o){let r=o.options,a=r.data;!r.dataSorting?.enabled&&a&&(a.forEach(function(n,d){a[d]=s(o,n),t[d]&&(a[d].x=t[d].x,a[d].index=d)}),o.setData(a,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,a=o.cropThreshold,n=t||e.getExtremesFromAll,d=r?.logarithmic,p=i.rowCount,l,c,u=0,g,f,m,x=e.getColumn("x"),y=i,b=!1;return r&&(f=(g=r.getExtremes()).min,m=g.max,b=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||p>a||e.forceCrop)&&(x[p-1]<f||x[0]>m?y=new fe:e.getColumn(e.pointValKey||"y").length&&(x[0]<f||x[p-1]>m)&&(y=(l=this.cropData(i,f,m)).modified,u=l.start,c=!0))),x=y.getColumn("x")||[],{modified:y,cropped:c,cropStart:u,closestPointRange:Ci([d?x.map(d.log2lin):x],()=>e.requireSorting&&!b&&pt(15,!1,e.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,D(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,d=0,p=o;for(a=0;a<o;a++)if(s[a]>=e){d=Math.max(0,a-1);break}for(n=a;n<o;n++)if(s[n]>i){p=n+1;break}for(let l of this.dataColumnKeys()){let c=t.getColumn(l,!0);c&&(r[l]=c.slice(d,p))}return{modified:new fe({columns:r}),start:d,end:p}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,a=this.cropStart||0,n=this.hasGroupedData,d=t.keys,p=[],l=t.dataGrouping?.groupAll?a:0,c=this.pointArrayMap||["y"],u=this.dataColumnKeys(),g,f,m,x,y=this.data,b;if(!y&&!n){let v=[];v.length=e?.length||0,y=this.data=v}for(d&&n&&(this.options.keys=!1),x=0;x<r;x++)f=a+x,n?((m=new o(this,i.getRow(x,u)||[])).dataGroup=this.groupMap?.[l+x],m.dataGroup?.options&&(m.options=m.dataGroup.options,X(m,m.dataGroup.options),delete m.dataLabels,m.key=m.name??m.category)):(m=y[f],b=e?e[f]:i.getRow(x,c),m||b===void 0?m&&(m.category=this.xAxis?.categories?.[m.x]??m.x,m.key=m.name??m.category):y[f]=m=new o(this,b,s[x])),m&&(m.index=n?l+x:f,p[x]=m);if(this.options.keys=d,y&&(r!==(g=y.length)||n))for(x=0;x<g;x++)x!==a||n||(x+=r),y[x]&&(y[x].destroyElements(),y[x].plotX=void 0);this.data=y,this.points=p,D(this,"afterGeneratePoints")}getXExtremes(t){return{min:Qt(t),max:Gt(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.getModified(),a=r.rowCount,n=t||this.stackedYData,d=n?[n]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(k=>r.getColumn(k,!0)||[])||[],p=this.getColumn("x",!0),l=[],c=this.requireSorting&&!this.is("column")?1:0,u=!!s&&s.positiveValuesOnly,g=o||this.cropped||!i,f,m,x,y=0,b=0;for(i&&(y=(f=i.getExtremes()).min,b=f.max),x=0;x<a;x++)if(m=p[x],g||(p[x+c]||m)>=y&&(p[x-c]||m)<=b)for(let k of d){let w=k[x];T(w)&&(w>0||!u)&&l.push(w)}let v={activeYData:l,dataMin:Qt(l),dataMax:Gt(l)};return D(this,"afterGetExtremes",{dataExtremes:v}),v}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(E(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,a=r.length,n=this.pointPlacementToXValue(),d=!!n,p=t.threshold,l=t.startFromThreshold?p:0,c=t?.nullInteraction&&o.len,u,g,f,m,x=Number.MAX_VALUE;function y(b){return nt(b,-1e9,1e9)}for(u=0;
2u<a;u++){let b,v=r[u],k=v.x,w,M,S=v.y,O=v.low,L=e&&o.stacking?.stacks[(this.negStacks&&S<(l?0:p)?"-":"")+this.stackKey];v.plotX=T(g=i.translate(k,!1,!1,!1,!0,n))?K(y(g)):void 0,e&&this.visible&&L&&L[k]&&(m=this.getStackIndicator(m,k,this.index),!v.isNull&&m.key&&(M=(w=L[k]).points[m.key]),w&&ot(M)&&(O=M[0],S=M[1],O===l&&m.key===L[k].base&&(O=A(T(p)?p:o.min)),o.positiveValuesOnly&&E(O)&&O<=0&&(O=void 0),v.total=v.stackTotal=A(w.total),v.percentage=E(v.y)&&w.total?v.y/w.total*100:void 0,v.stackY=S,this.irregularWidths||w.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),v.yBottom=E(O)?y(o.translate(O,!1,!0,!1,!0)):void 0,this.dataModify&&(S=this.dataModify.modifyValue(S,u)),T(S)&&v.plotX!==void 0?b=T(b=o.translate(S,!1,!0,!1,!0))?y(b):void 0:!T(S)&&c&&(b=c),v.plotY=b,v.isInside=this.isPointInside(v),v.clientX=d?K(i.translate(k,!1,!1,!1,!0,n)):g,v.negative=(v.y||0)<(p||0),v.isNull||v.visible===!1||(f!==void 0&&(x=Math.min(x,Math.abs(g-f))),f=g),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&this.group&&s&&(v.isNew=!0)}this.closestPointRangePx=x,D(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(o){let{plotX:r,plotY:a}=o;return(!!i||!o.isNull&&!!T(a))&&(!e||!!s.isInsidePlot(r,a,{inverted:s.inverted}))&&o.visible!==!1})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),a=this.getSharedClipKey(),n=s[a];D(this,"setClip",{clipBox:r}),n?n.animate(r):s[a]=n=o.clipRect(r),e&&e.clip(this.options.clip===!1?void 0:n),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=fo(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],d=e.sharedCl
2ips[a+"m"];if(t&&i){let p=e.getClipBox(this);if(n)n.attr("height",p.height);else{p.width=0,o&&(p.x=e.plotHeight),n=e.renderer.clipRect(p),e.sharedClips[a]=n;let l={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};d=e.renderer.clipRect(l),e.sharedClips[a+"m"]=d}i.clip(n),s?.clip(d)}else if(n&&!n.hasClass("highcharts-animating")){let p=e.getClipBox(this),l=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(c,u){l&&l.apply(u,arguments),u.prop==="width"&&d?.element&&d.attr(o?"height":"width",c+99)}),n.addClass("highcharts-animating").animate(p,r)}}afterAnimate(){this.setClip(),j(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,D(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,d=this.chart,p=d.styledMode,{colorAxis:l,options:c}=this,u=c.marker,g=c.nullInteraction,f=this[this.specialGroup||"markerGroup"],m=this.xAxis,x=A(u.enabled,!m||!!m.isRadial||null,this.closestPointRangePx>=u.enabledThreshold*u.radius);if(u.enabled!==!1||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},a=!!i.marker;let y=i.isNull;if((x&&!E(r.enabled)||r.enabled)&&(!y||g)&&i.visible!==!1){let b=A(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=m.reversed?-(n.width||0):m.width);let v=i.isInside!==!1;if(!s&&v&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=d.renderer.symbol(b,n.x,n.y,n.width,n.height,a?r:u).add(f),this.enabledDataSorting&&d.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&o==="animate"&&s[v?"show":"hide"](v).animate(n),s){let k=this.pointAttribs(i,p||!i.selected?void 0:"select");p?l&&s.css({fill:k.fill}):s[o](k)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,a={},n,d,p=A(o.radius,s?.radius);e&&(n=s?.states?.[e],d=o.states?.[e],p=A(d?.radius,n?.radius,p&&p+(n?.radiusPlus||0))),t.hasImage=r&&r.indexOf("url")===0,t.hasImage&&(p=0);let l=t.pos();return T(p)&&l&&(i.crisp&&(l[0]=ht(l[0],t.hasImage?0:r==="rect"?s?.lineWidth||0:1)),a.x=l[0]-p,a.y=l[1]-p),p&&(a.width=a.height=2*p),a}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},a=o?.color,n=t?.color,d=t?.zone?.color,p,l,c=this.color,u,g,f=A(r.lineWidth,s.lineWidth),m=t?.isNull&&i.nullInteraction?0:1;return c=a||d||n||c,u=r.fillColor||s.fillColor||c,g=r.lineColor||s.lineColor||c,e=e||"normal",p=s.states[e]||{},f=A((l=r.states&&r.states[e]||{}).lineWidth,p.lineWidth,f+A(l.lineWidthPlus,p.lineWidthPlus,0)),u=l.fillColor||p.fillColor||u,g=l.lineColor||p.lineColor||g,{stroke:g,"stroke-width":f,fill:u,opacity:m=A(l.opacity,p.opacity,m)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(aa.navigator.userAgent),a=s.data||[];for(D(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(n){i=s[n],i?.series&&(wt(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)Xt(n,void 0,!0);ze(s.animationTimeout),j(s,function(n,d){n instanceof Rt&&!n.survive&&n[r&&d==="group"?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),wt(o.series,s),o.orderItems("series"),j(s,function(n,d){t&&d==="hcEvents"||delete s[d]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:d,renderer:p}=e,l=this[`${n}Axis`],{isXAxis:c,len:u=0,minPointOffset:g=0}=l||{},f=(i?.strokeWidth()||0)/2+1,m=(x,y=0,b=0)=>{d&&(b=u-b);let{translated:v=0,lineClip:k}=x,w=b-v;k?.push(["L",y,Math.abs(w)<f?b-f*(w<=0?-1:1):v])};if(s.length&&(i||t)&&l&&T(l.min)){let x=l.getExtremes().max+g,y=k=>{k.forEach((w,M)=>{(w[0]==="M"||w[0]==="L")&&(k[M]=[w[0],c?u-w[1]:w[1],c?w[2]:u-w[2]])})};if(s.forEach(k=>{k.lineClip=[],k.translated=nt(l.toPixels(A(k.value,x),!0)||0,0,u)}),i&&!this.showLine&&i.hide(),t&&t.hide(),n==="y"&&o.length<r.len)for(let k of o){let{plotX:w,plotY:M,zone:S}=k,O=S&&s[s.indexOf(S)-1];S&&m(S,w,M),O&&m(O,w,M)}
vendor: 4,728 bytes, line 2
2let b=[],v=l.toPixels(l.getExtremes().min-g,!0);s.forEach(k=>{let w=k.lineClip||[],M=Math.round(k.translated||0);r.reversed&&w.reverse();let{clip:S,simpleClip:O}=k,L=0,P=0,B=r.len,z=a.len;c?(L=M,B=v):(P=M,z=v);let I=[["M",L,P],["L",B,P],["L",B,z],["L",L,z],["Z"]],N=[I[0],...w,I[1],I[2],...b,I[3],I[4]];b=w.reverse(),v=M,d&&(y(N),t&&y(I)),S?(S.animate({d:N}),O?.animate({d:I})):(S=k.clip=p.path(N),t&&(O=k.simpleClip=p.path(I))),i&&k.graph?.clip(S),t&&k.area?.clip(O)})}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 E(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(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 "+(E(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&&t==="series";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};D(this,"getPlotBox",r);let{scale:a,translateX:n,translateY:d}=r;return{translateX:n,translateY:d,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||Ct(this),e.length&&(e.forEach(i=>{i()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=fo(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,d=t.finishedAnimating?0:o.duration;D(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),i.clip!==!1&&t.setClip(),d&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),d&&t.animate?.(),s||(d&&o.defer&&(d+=o.defer),t.animationTimeout=Ht(()=>{t.afterAnimate()},d||0)),t.isDirty=!1,t.hasRendered=!0,D(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}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,Ht(function(){e.kdTree=(function o(r,a,n){let d,p,l=r?.length;if(l)return d=e.kdAxisArray[a%n],r.sort((c,u)=>(c[d]||0)-(u[d]||0)),{point:r[p=Math.floor(l/2)],left:o(r.slice(0,p),a+1,n),right:o(r.slice(p+1),a+1,n)}})(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[a,n]=this.kdAxisArray,d=e?"distX":"dist",p=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!r.isBubble,c=s||((g,f,m)=>{let x=g[m]||0,y=f[m]||0;return[x===y&&g.index>f.index||x<y?g:f,!1]}),u=o||((g,f)=>g<f);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return(function g(f,m,x,y){let b,v,k,w,M,S,O,L=m.point,P=r.kdAxisArray[x%y],B=L,z=!1;b=f[a],v=L[a],k=E(b)&&E(v)?b-v:null,w=f[n],M=L[n],S=E(w)&&E(M)?w-M:0,O=l&&L.marker?.radius||0,L.dist=Math.sqrt((k&&k*k||0)+S*S)-O,L.distX=E(k)?Math.abs(k)-O:Number.MAX_VALUE;let I=(f[P]||0)-(L[P]||0)+(l&&L.marker?.radius||0),N=I<0?"left":"right",W=I<0?"right":"left";return m[N]&&([B,z]=c(L,g(f,m[N],x+1,y),d)),m[W]&&u(Math.sqrt(I*I),B[d],z)&&(B=c(B,g(f,m[W],x+1,y),d)[0]),B})(t,this.kdTree,p,p)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return i==="between"&&(i=e.reversed?-.5:.5),T(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,d=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},p="rgba(192,192,192,"+(ra?1e-4:.002)+")",l=t.tracker;l?l.attr({d:s}):t.graph&&(t.tracker=l=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||l.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:p,fill:i?p:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
2),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(c=>{c&&(c.addClass("highcharts-tracker").on("mouseover",d).on("mouseout",u=>{r?.onTrackerMouseOut(u)}),e.cursor&&!o.styledMode&&c.css({cursor:e.cursor}),c.on("touchstart",d))})),D(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,{chart:d,data:p,dataTable:l,xAxis:c}=this,u=c?.hasNames&&c.names,g=n.data,f=this.getColumn("x");e=A(e,!0);let m={series:this};this.pointClass.prototype.applyOptions.apply(m,[t]);let x=m.x;if(a=f.length,this.requireSorting&&x<f[a-1])for(r=!0;a&&f[a-1]>x;)a--;l.setRow(m,a,!0,{addColumns:!1}),u&&m.name&&(u[x]=m.name),g?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),n.legendType==="point"&&this.generatePoints(),i&&(p[0]&&p[0].remove?p[0].remove(!1):([p,g].filter(E).forEach(y=>{y.shift()}),l.deleteRows(0))),o!==!1&&D(this,"addPoint",{point:m}),this.isDirty=!0,this.isDirtyData=!0,e&&d.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,d=r[t],p=function(){[a?.length===r.length?a:void 0,r,s.options.data].filter(E).forEach(l=>{l.splice(t,1)}),n.deleteRows(t),d?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};sa(i,o),e=A(e,!0),d?d.firePointEvent("remove",null,p):p()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),A(t,!0)&&r.redraw(e)}i!==!1?D(o,"remove",null,a):a()}update(t,e){D(this,"update",{options:t=we(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=me[r].prototype,d=i.finishedAnimating&&{animation:!1},p={},l,c,u=Yt.keepProps.slice(),g=t.type||o.type||s.options.chart.type,f=!(this.hasDerivedData||g&&g!==this.type||t.keys!==void 0||t.pointStart!==void 0||t.pointInterval!==void 0||t.relativeXValue!==void 0||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(x=>i.hasOptionChanged(x)));g=g||r,f?(u.push.apply(u,Yt.keepPropsForPoints),t.visible!==!1&&u.push("area","graph"),i.parallelArrays.forEach(function(x){u.push(x+"Data")}),t.data&&(t.dataSorting&&X(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&o.dataLabels&&(t.dataLabels=this.mergeArrays(o.dataLabels,t.dataLabels)),t=G(o,{index:o.index===void 0?i.index:o.index,pointStart:a?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!f&&{data:i.options.data},t,d),f&&t.data&&(t.data=i.options.data),(u=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(u)).forEach(function(x){u[x]=i[x],delete i[x]});let m=!1;if(me[g]){if(m=g!==i.type,i.remove(!1,!1,!1,!0),m)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,me[g].prototype);else{let x=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;X(i,me[g].prototype),x?i.hcEvents=x:delete i.hcEvents}}
2else pt(17,!0,s,{missingModuleFor:g});if(u.forEach(function(x){i[x]=u[x]}),i.init(s,t),f&&this.points)for(let x of((l=i.options).visible===!1?(p.graphic=1,p.dataLabel=1):(this.hasMarkerChanged(l,o)&&(p.graphic=1),i.hasDataLabels?.()||(p.dataLabel=1)),this.points))x?.series&&(x.resolveColor(),Object.keys(p).length&&x.destroyElements(p),l.showInLegend===!1&&x.legendItem&&s.legend.destroyItem(x));i.initialType=r,s.linkSeries(),s.setSortedData(),m&&i.linkedSeries.length&&(i.isDirtyData=!0),D(this,"afterUpdate"),A(e,!0)&&s.redraw(!!f&&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=A(s?.[this.type]?.[t],s?.series?.[t]);return o&&!E(r)?i!==o:i!==A(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&D(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&D(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(o){o.setState("",!0)})}setState(t,e){let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:a}=o,n=A(a?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:d,opacity:p}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(l){l&&(i.state&&l.removeClass("highcharts-series-"+i.state),t&&l.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]?.enabled===!1)return;if(t&&(d=a[t].lineWidth||d+(a[t].lineWidthPlus||0),p=A(a[t].opacity,p)),s&&!s.dashstyle&&T(d))for(let l of[s,...this.zones.map(c=>c.graph)])l?.animate({"stroke-width":d},n);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(l){l?.animate({opacity:p},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=t===void 0?!r:t;let a=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(n=>{i[n]?.[a]()}),i.dataLabelsGroups?.forEach(n=>{n?.[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(n=>{n.options.stacking&&n.visible&&(n.isDirty=!0)}),i.linkedSeries.forEach(n=>{n.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),D(i,a),e!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=t===void 0?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),D(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,d=r.squareSymbol,p=d?a:n,l=d?(n-a)/2:0,c=(t.baseline||0)-a+1,u=r.symbolRadius??a,g=s==="rectangle"?i.rect(l,c,p,a,u):i.symbols[s]&&i.symbol(s,l,c,p,a,{r:u});g?o.symbol=g.addClass("highcharts-point").attr({zIndex:3}).add(o.group):po[s]?.call(this,t,e)}}Yt.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:h}=this.series.chart;return typeof this.y!="number"?"":h(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},Yt.types=it.seriesTypes,Yt.registerType=it.registerSeriesType,Yt.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],Yt.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],X(Yt.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:qt,requireSorting:!0,sorted:!0}
vendor: 4,753 bytes, line 2
2),it.series=Yt;let Lt=Yt,{animObject:ha,setAnimation:la}=St,{registerEventOptions:mo}=Ue,{composed:da,marginNames:xo}=C,{distribute:ca}=Se,{format:pa}=Ot;class ji{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.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),mo(this,e),R(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),R(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=A(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=G(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=A(t.symbolWidth,16),this.pages=[],this.proximate=t.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(G(!0,this.options,t)),"events"in this.options&&mo(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),D(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 Lt||t instanceof qt)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:d={}}=this,p=d.color,{fillColor:l,fillOpacity:c,lineColor:u,marker:g}=t.options,f=m=>(!e&&(m.fill&&(m.fill=p),m.stroke&&(m.stroke=p)),m);r?.css(G(e?this.itemStyle:d)),a?.attr(f({stroke:u||t.color})),n&&n.attr(f(g&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(f({fill:l||t.color,"fill-opacity":l?1:c??.75}))}t.color=i,D(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 d={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},p=()=>{D(this,"afterPositionItem",{item:t})};e[E(e.translateY)?"animate":"attr"](d,void 0,p)}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=Me(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,Z(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=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?pa(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=o.layout==="horizontal",a=this.symbolWidth,n=o.symbolPadding||0,d=this.itemStyle,p=this.itemHiddenStyle,l=r?A(o.itemDistance,20):0,c=!o.rtl,u=!t.series,g=!u&&t.series.drawLegendSymbol?t.series:t,f=g.options,m=!!this.createCheckboxForItem&&f&&f.showCheckbox,x=o.useHTML,y=t.options.className,b=e.label,v=a+n+l+20*!!m;!b&&(e.group=s.g("legend-item").addClass("highcharts-"+g.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(u?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",c?a+n:-n,this.baseline||0,x),i.styledMode||b.css(G(t.visible?d:p)),b.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(b),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,b.attr("y",this.baseline),this.symbolHeight=A(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,954 bytes, line 2
2dth=A(o.symbolWidth,Math.max(this.symbolHeight,16)),v=this.symbolWidth+n+l+20*!!m,c&&b.attr("x",this.symbolWidth+n))),g.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,x)),m&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!d.width)&&b.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?kt(o.maxWidth,i.chartWidth):1/0)-v+"px"}),this.setText(t);let k=b.getBBox(),w=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||k.width+v,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(k.height>1.5*w?k.height:w))}layoutItem(t){let e=this.options,i=this.padding,s=e.layout==="horizontal",o=t.itemHeight,r=this.itemMarginBottom,a=this.itemMarginTop,n=s?A(e.itemDistance,20):0,d=this.maxLegendWidth,p=e.alignColumns&&this.totalItemWidth>d?this.maxItemWidth:t.itemWidth,l=t.legendItem||{};s&&this.itemX-i+p>d&&(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),l.x=this.itemX,l.y=this.itemY,s?this.itemX+=p:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):p)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&A(i.showInLegend,!E(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||(i.legendType==="point"?e.data:e)))}),D(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: 8,532 bytes, line 2
2h((r,a)=>{r.test(o)&&!E(t[a])&&(i[xo[a]]=Math.max(i[xo[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=this.options.align==="left";for(let o of(this.allItems.forEach(function(r){let a,n,d=s,p,l;r.yAxis&&(r.xAxis.options.reversed&&(d=!d),r.points&&(a=It(d?r.points:r.points.slice(0).reverse(),function(c){return T(c.plotY)})),n=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,l=r.yAxis.top-e.plotTop,p=r.visible?(a?a.plotY:r.yAxis.height)+(l-.3*n):l+r.yAxis.height,i.push({target:p,size:n,item:r}))},this),ca(i,e.plotHeight)))t=o.item.legendItem||{},T(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,o=this.padding,r=this.getAllItems(),a,n,d,p=this.group,l,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=kt(s.width,e-o),l=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,p||(this.group=p=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(p),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),de(r,(u,g)=>(u.options?.legendIndex||0)-(g.options?.legendIndex||0)),s.reversed&&r.reverse(),this.allItems=r,this.display=a=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),n=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,l,kt(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,d=this.lastItemY+this.lastLineHeight+this.titleHeight,d=this.handleOverflow(d)+o,c||(this.box=c=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(p)),t.styledMode||c.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),n>0&&d>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:n,height:d},c.strokeWidth())),p[a?"show":"hide"](),t.styledMode&&p.getStyle("display")==="none"&&(n=d=0),this.legendWidth=n,this.legendHeight=d,a&&this.align(),this.proximate||this.positionItems(),D(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=G(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(G(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,a=o.verticalAlign==="top",n=this.padding,d=o.maxHeight,p=o.navigation,l=A(p.animation,!0),c=p.arrowSize||12,u=this.pages,g=this.allItems,f=function(S){typeof S=="number"?M.attr({height:S}):M&&(e.clipRect=M.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=S?"rect("+n+"px,9999px,"+(n+S)+"px,0)":"auto")},m=function(S){return e[S]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(w),i.styledMode||e[S].attr("fill","rgba(0,0,0,0.0001)"),e[S]},x,y,b,v,k=i.spacingBox.height+(a?-r:r)-n,w=this.nav,M=this.clipRect;return o.layout!=="horizontal"||o.verticalAlign==="middle"||o.floating||(k/=2),d&&(k=Math.min(k,d)),u.length=0,t&&k>0&&t>k&&p.enabled!==!1?(this.clipHeight=x=Math.max(k-20-this.titleHeight-n,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,g.forEach((S,O)=>{let L=(b=S.legendItem||{}).y||0,P=Math.round(b.label.getBBox().height),B=u.length;(!B||L-u[B-1]>x&&(y||L)!==u[B-1])&&(u.push(y||L),B++),b.pageIx=B-1,y&&v&&(v.pageIx=B-1),O===g.length-1&&L+P-u[B-1]>x&&L>u[B-1]&&(u.push(L),b.pageIx=B),L!==y&&(y=L),v=b}),M||(M=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(M)),f(x),w||(this.nav=w=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(w),m("upTracker").on("click",function(){e.scroll(-1,l)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&p.style&&this.pager.css(p.style),this.pager.add(w),this.down=s.symbol("triangle-down",0,0,c,c).add(w),m("downTracker").on("click",function(){e.scroll(1,l)})),e.scroll(0),t=k):w&&(f(),this.nav=w.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,d=this.padding,p=this.currentPage+t;p>o&&(p=o),p>0&&(e!==void 0&&la(e,i),this.nav.attr({translateX:d,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(l){l.attr({class:p===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:p+"/"+o}),[this.down,this.downTracker].forEach(function(l){l.attr({x:18+this.pager.getBBox().width,class:p===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:p===1?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:p===1?"default":"pointer"}),this.down.attr({fill:p===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:p===o?"default":"pointer"})),this.scrollOffset=-s[p-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=p,this.positionCheckboxes(),Ht(()=>{D(this,"afterScroll",{currentPage:p})},ha(A(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof qt,n=t instanceof Lt,d="highcharts-legend-"+(a?"point":"series")+"-active",p=s.chart.styledMode,l=i?[e,o.symbol]:[o.group],c=u=>{s.allItems.forEach(g=>{t!==g&&[g].concat(g.linkedSeries||[]).forEach(f=>{f.setState(u,!a)})})};for(let u of l)u&&u.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(d),p||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(G(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(d),t.setState()}).on("click",function(g){let f=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(d),D(s,"itemClick",{browserEvent:g,legendItem:t,context:s},f),a?t.firePointEvent("legendItemClick",{browserEvent:g}):n&&D(t,"legendItemClick",{browserEvent:g})})}createCheckboxForItem(t){t.checkbox=vt("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),R(t.checkbox,"click",function(e){let i=e.target;D(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(Ts=ji||(ji={})).compose=function(h){xt(da,"Core.Legend")&&R(h,"beforeMargins",function(){this.legend=new Ts(this,this.options.legend)})};let yo=ji,{animate:$i,animObject:ua,setAnimation:Zi}=St,{defaultOptions:Ki}=mt,{numberFormat:ga}=Ot,{registerEventOptions:bo}=Ue,{charts:oe,doc:xe,marginNames:vo,svg:fa,win:qi}=C,{seriesTypes:_i}=it;class re{static chart(t,e,i){return new re(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!xe)return void pt(36,!1,this);let s=[...arguments];(Q(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming=te(Wt({},e),{type:A(t.zoomType,e.type),key:A(t.zoomKey,e.key),pinchType:A(t.pinchType,e.pinchType),singleTouch:A(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:G(e.resetButton,t.resetZoomButton)})}init(t,e){D(this,"init",{args:arguments},function(){let i=G(Ki,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=X({},t),(this.renderTo=Q(o)?xe.getElementById(o):o)||pt(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],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 Ei(X(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ga).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=oe.length,oe.push(this),C.chartCount++,bo(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),D(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=_i[i];s||pt(17,!0,this,{missingModuleFor:i});let o=new s;return typeof o.init=="function"&&o.init(this,t),o}
vendor: 4,147 bytes, line 2
2setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=gt(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?gt(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 n=i[r];n&&(n.index=r,n instanceof Lt&&(n.name=n.getName()),n.options.isInternal||(s[r]=n.options,o[r]=n.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:a,width:n,height:d}=G(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(n=s.len),o&&o.len!==this.plotSizeY&&(d=o.len),i&&!t.invertible&&([n,d]=[d,n])),e&&(r+=(i?o:s)?.pos??this.plotLeft,a+=(i?s:o)?.pos??this.plotTop),{x:r,y:a,width:n,height:d}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:d=0,scrollTop:p=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},l=i.series,c=i.visiblePlotOnly&&n||o,u=i.inverted?e:t,g=i.inverted?t:e,f={x:u,y:g,isInsidePlot:!0,options:i};if(!i.ignoreX){let m=l&&(s&&!this.polar?l.yAxis:l.xAxis)||{pos:r,len:1/0},x=i.paneCoordinates?m.pos+u:r+u;x>=Math.max(d+r,m.pos)&&x<=Math.min(d+r+c.width,m.pos+m.len)||(f.isInsidePlot=!1)}if(!i.ignoreY&&f.isInsidePlot){let m=!s&&i.axis&&!i.axis.isXAxis&&i.axis||l&&(s?l.xAxis:l.yAxis)||{pos:a,len:1/0},x=i.paneCoordinates?m.pos+g:a+g;x>=Math.max(p+a,m.pos)&&x<=Math.min(p+a+c.height,m.pos+m.len)||(f.isInsidePlot=!1)}return D(this,"afterIsInsidePlot",f),f.isInsidePlot}redraw(t){D(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,a=this.renderer,n=a.isHidden(),d=[],p,l,c,u=this.isDirtyBox,g=this.isDirtyLegend,f;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),Zi(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((f=i[c]).options.stacking||f.options.centerInCategory)&&(l=!0,f.isDirty)){p=!0;break}if(p)for(c=i.length;c--;)(f=i[c]).options.stacking&&(f.isDirty=!0);i.forEach(function(m){m.isDirty&&(m.options.legendType==="point"?(typeof m.updateTotals=="function"&&m.updateTotals(),g=!0):r&&(r.labelFormatter||r.labelFormat)&&(g=!0)),m.isDirtyData&&D(m,"updatedData")}),g&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),l&&this.getStacks(),e.forEach(function(m){m.updateNames(),m.setScale()}),this.getMargins(),e.forEach(function(m){m.isDirty&&(u=!0)}),e.forEach(function(m){let x=m.min+","+m.max;m.extKey!==x&&(m.extKey=x,d.push(function(){D(m,"afterSetExtremes",X(m.eventArgs,m.getExtremes())),delete m.eventArgs})),(u||l)&&m.redraw()}),u&&this.drawChartBox(),D(this,"predraw"),i.forEach(function(m){(u||m.isDirty)&&m.visible&&m.redraw(),m.isDirtyData=!1}),s&&s.reset(!0),a.draw(),D(this,"redraw"),D(this,"render"),n&&this.temporaryDisplay(!0),d.forEach(function(m){m.call()})}get(t){let e=this.series;function i(o){return o.id===t||o.options&&o.options.id===t}let s=It(this.axes,i)||It(this.series,i);for(let o=0;!s&&o<e.length;o++)s=It(e[o].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(D(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=gt(t[e]||{}))new Kt(this,i,e);D(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(i=>{A(i.selectedStaging,i.selected)&&t.push(i)}),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]=G(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"}
vendor: 4,243 bytes, line 2
2).add()).update=function(r,a){i.applyDescription(t,r),i.layOutTitles(a)},this.styledMode||o.css(X(t==="title"?{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(a=>{let n=this[a],d=this.options[a],p=G(o),l=n?.textPxLength||0;if(n&&d){D(this,"layOutTitle",{alignTo:p,key:a,textPxLength:l});let c=s.fontMetrics(n),u=c.b,g=c.h,f=d.verticalAlign||"top",m=f==="top",x=m&&d.minScale||1,y=a==="title"?m?-3:0:m?e[0]+2:0,b=Math.min(p.width/l,1),v=Math.max(x,b),k=G({y:f==="bottom"?u:y+u},d),w=(d.width||(b>x?this.chartWidth:p.width)/v)+"px";k.align??(k.align=a==="title"?b<x?"left":"center":this.title?.alignValue),n.alignValue!==k.align&&(n.placed=!1);let M=Math.round(n.css({width:w}).getBBox(d.useHTML).height);if(k.height=M,n.align(k,!1,p).attr({align:k.align,scaleX:v,scaleY:v,"transform-origin":`${p.x+l*v*Tt(k.align)} ${g}`}),!d.floating){let S=M*(M<1.2*g?1:v);f==="top"?e[0]=Math.ceil(e[0]+S):f==="bottom"&&(e[2]=Math.ceil(e[2]+S))}}},this),e[0]&&(i.title?.verticalAlign||"top")==="top"&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,D(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,i=>{if(i!==this.container){let s=i.style.display;return i.style.display="none",[i,s]}}),e={width:jt(this.renderTo,"width",!0)||0,height:jt(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([i,s])=>{i.style.display=s}),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&&this.renderTo.style.height==="100%";this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,kt(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&(Z(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(xe.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(xe.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,xe.body.appendChild(e)),(jt(e,"display",!1)==="none"||e.hcOrigDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),Z(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==xe.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=zt(),r=this.renderTo,a=lt(Mt(r,s));T(a)&&oe[a]&&oe[a].hasRendered&&oe[a].destroy(),Mt(r,s,this.index),r.innerHTML=ct.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let n=this.chartHeight,d=this.chartWidth;Z(r,{overflow:"hidden"}),this.styledMode||(t=X({position:"relative",overflow:"hidden",width:d+"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 p=vt("div",{id:o},t,r);this.container=p,this.getChartSize(),d!==this.chartWidth&&(d=this.chartWidth,this.styledMode||Z(p,{width:A(i.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=p.style.cursor;let l=i.renderer||!fa?ee.getRendererType(i.renderer):Fe;if(this.renderer=new l(p,d,n,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),Zi(void 0,this),this.setClassName(i.className),this.styledMode)for(let c in e.defs)this.renderer.definition(e.defs[c]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,D(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!E(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!E(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.dis
vendor: 2,973 bytes, line 2
2play&&this.legend.adjustMargins(i,e),D(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=r=>{r.forEach(a=>{a.visible&&a.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),vo.forEach((r,a)=>{E(s[a])||(t[r]+=e[a])}),t.setChartSize()}getOptions(){return we(this.userOptions,Ki)}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)&&(ze(e.reflowTimeout),e.reflowTimeout=Ht(function(){if(e.container){e.setSize(void 0,void 0,!1);let o=e.containerBox;o&&(o.height=e.chartHeight)}},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=i=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(i)};if(typeof ResizeObserver=="function")new ResizeObserver(e).observe(t.renderTo);else{let i=R(qi,"resize",e);R(this,"destroy",i)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,Zi(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,t!==void 0&&(s.options.chart.width=t),e!==void 0&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:d=0,scrollablePixelsY:p=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?$i:Z)(s.container,{width:`${a+d}px`,height:`${n+p}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(l){l.isDirty=!0,l.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,D(s,"resize"),setTimeout(()=>{s&&D(s,"endResize")},ua(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:a,inverted:n,spacing:d,renderer:p}=this,l=this.clipOffset,c=Math[n?"floor":"round"];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=n?o:s,this.plotSizeY=n?s:o,this.spacingBox=p.spacingBox={x:d[3],y:d[0],width:a-d[3]-d[1],height:r-d[0]-d[2]},this.plotBox=p.plotBox={x:e,y:i,width:s,height:o},l&&(this.clipBox={x:c(l[3]),y:c(l[0]),width:c(this.plotSizeX-l[1]-l[3]),height:c(this.plotSizeY-l[0]-l[2])}),t||(this.axes.forEach(function(u){u.setAxisSize(),u.setAxisTranslation()}),p.alignElements()),D(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){D(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(o=>{let r=e[o],a=st(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach((n,d)=>{t[o][d]=e[`${o}${n}`]??a[d]})}),vo.forEach((o,r)=>{t[o]=t.margin[r]??t.spacing[r]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroun
2dColor,d=t.plotBackgroundImage,p=this.plotLeft,l=this.plotTop,c=this.plotWidth,u=this.plotHeight,g=this.plotBox,f=this.clipRect,m=this.clipBox,x=this.chartBackground,y=this.plotBackground,b=this.plotBorder,v,k,w,M="animate";x||(this.chartBackground=x=e.rect().addClass("highcharts-background").add(),M="attr"),o?v=k=x.strokeWidth():(k=(v=t.borderWidth||0)+8*!!t.shadow,w={fill:a||"none"},(v||x["stroke-width"])&&(w.stroke=t.borderColor,w["stroke-width"]=v),x.attr(w).shadow(t.shadow)),x[M]({x:k/2,y:k/2,width:i-k-v%2,height:s-k-v%2,r:t.borderRadius}),M="animate",y||(M="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[M](g),!o&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),d&&(r?(d!==r.attr("href")&&r.attr("href",d),r.animate(g)):this.plotBGImage=e.image(d,p,l,c,u).add())),f?f.animate({width:m.width,height:m.height}):this.clipRect=e.clipRect(m),M="animate",b||(M="attr",this.plotBorder=b=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||b.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),b[M](b.crisp(g,-b.strokeWidth())),this.isDirtyBox=!1,D(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=_i[o.type],i=o[a]||e&&e.prototype[a],t=r?.length;!i&&t--;)(e=_i[r[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(s){s.linkedSeries.length=0}),i.forEach(function(s){let{linkedTo:o}=s.options,r=Q(o)&&(o===":previous"?i[s.index-1]:e.get(o));r&&r.linkedParent!==s&&(r.linkedSeries.push(s),s.linkedParent=r,r.enabledDataSorting&&s.setDataSortingOptions(),s.visible=s.options.visible??r.options.visible??s.visible)}),D(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=p=>{p.forEach(l=>{l.visible&&l.render()})},r=0,a=!0,n,d=0;for(let p of(this.setTitle(),D(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:l}=p,{labels:c}=l;if(this.hasCartesianSeries&&p.horiz&&p.visible&&c.enabled&&p.series.length&&p.coll!=="colorAxis"&&!this.polar){r=l.tickLength,p.createGroups();let u=new ge(p,0,"",!0),g=u.createLabel("x",c);if(u.destroy(),g&&A(c.reserveSpace,!T(l.crossing))&&(r=g.getBBox().height+c.distance+Math.max(l.offset||0,0)),r){g?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&d<s;){let p=this.plotWidth,l=this.plotHeight,c=[1.05,1.1];for(let u of t){let g=+(u.horiz||0);if(d===0){u.setScale();let f=u.tickPositions?.info?.match;f&&(c[g]=Math.min(f,c[g]))}else(g&&a||!g&&n)&&u.setTickInterval(!0)}d===0?this.getAxisMargins():this.getMargins(),a=p/this.plotWidth>(d?1:c[1]),n=l/this.plotHeight>(d?1:c[0]),d++}this.drawChartBox(),this.hasCartesianSeries?o(t):e?.length&&o(e),this.seriesGroup||(this.seriesGroup=i.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=G(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(s){D(e,"creditsClick",s,()=>{i.href&&(qi.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),i.events?.click&&R(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(s){e.credits=e.credits.destroy(),e.addCredits(s)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(D(e,"destroy"),e.renderer.forExport?wt(oe,e):oe[e.index]=void 0,C.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Ct(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();
2["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(a=>{e[a]=e[a]?.destroy?.()}),o&&(o.innerHTML=ct.emptyHTML,Ct(o),r&&Me(o)),j(e,function(a,n){delete e[n]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=ot(e.series)?e.series:[];e.series=[],i.forEach(function(s){t.initSeries(s)}),t.linkSeries(),t.setSortedData(),D(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&&this.index!==void 0&&t.apply(this,[this])},this),D(this,"load"),D(this,"render"),E(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,"&lt;")}),t.accessibility&&t.accessibility.enabled===!1||pt('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&&qi.getComputedStyle(this.container).zIndex!=="0"&&pt(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=A(e,!0),D(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),D(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 Kt(this,e.axis,t);return A(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&&Z(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=vt("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=vt("span",{className:"highcharts-loading-inner"},null,a),R(e,"redraw",r)),a.className="highcharts-loading",ct.setElementHTML(n,A(t,i.lang.loading,"")),!e.styledMode&&(Z(a,X(o,{zIndex:10})),Z(n,s?.labelStyle??{}),e.loadingShown||(Z(a,{opacity:0,display:""}),$i(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||$i(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){Z(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a,n=this,d={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},p=t.isResponsiveOptions,l=[];D(n,"update",{options:t}),p||n.setResponsive(!1,!0),t=we(t,n.options),n.userOptions=G(n.userOptions,t);let c=t.chart;c&&(G(!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&&bo(this,c),j(c,function(f,m){n.propsRequireUpdateSeries.indexOf("chart."+m)!==-1&&(r=!0),n.propsRequireDirtyBox.indexOf(m)!==-1&&(n.isDirtyBox=!0),n.propsRequireReflow.indexOf(m)!==-1&&(n.isDirtyBox=!0,p||(a=!0))}),!n.styledMode&&c.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),j(t,function(f,m){n[m]&&typeof n[m].update=="function"?n[m].update(f,!1):typeof n[d[m]]=="function"?n[d[m]](f):m!=="colors"&&n.collectionsWithUpdate.indexOf(m)===-1&&G(!0,n.options[m],t[m]),m!=="chart"&&n.propsRequireUpdateSeries.indexOf(m)!==-1&&(r=!0)}),this.collectionsWithUpdate.forEach(f=>
2{t[f]&&(gt(t[f]).forEach((m,x)=>{let y;if(!m)return;let b=E(m.id);b&&(y=n.get(m.id)),!y&&n[f]&&(y=n[f][A(m.index,x)])&&(b&&E(y.options.id)||y.options.isInternal)&&(y=void 0),y&&y.coll===f&&(y.update(m,!1),i&&(y.touched=!0)),!y&&i&&n.collectionsWithInit[f]&&(n.collectionsWithInit[f][0].apply(n,[m].concat(n.collectionsWithInit[f][1]||[]).concat([!1])).touched=!0)}),i&&n[f].forEach(m=>{m.touched||m.options.isInternal?delete m.touched:l.push(m)}))}),l.forEach(f=>{f.chart&&f.remove&&f.remove(!1)}),o&&n.axes.forEach(function(f){f.update({},!1)}),r&&n.getSeriesOrderByLinks().forEach(function(f){f.chart&&f.update({},!1)},this);let u=c?.width,g=c&&(Q(c.height)?kt(c.height,u||n.chartWidth):c.height);a||T(u)&&u!==n.chartWidth||T(g)&&g!==n.chartHeight?n.setSize(u,g,s):A(e,!0)&&n.redraw(s),D(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=Ki.lang,i=t.zooming.resetButton,s=i.theme,o=i.relativeTo==="chart"||i.relativeTo==="spacingBox"?null:"plotBox";function r(){t.zoomOut()}D(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)}),D(this,"afterShowResetZoom")}zoomOut(){D(this,"selection",{resetSelection:!0}
2,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s=typeof e=="object"?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(n=>n.options.panningEnabled&&!n.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),D(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"}),Z(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n,allowResetButton:d=!0}=t,{inverted:p,time:l}=this;this.hoverPoints?.forEach(f=>f.setState()),D(this,"transform",t);let c=t.hasZoomed||!1,u,g;for(let f of e){let{horiz:m,len:x,minPointOffset:y=0,options:b,reversed:v}=f,k=m?"width":"height",w=m?"x":"y",M=A(a[k],f.len),S=A(s[k],f.len),O=10>Math.abs(M)?1:M/S,L=(s[w]||0)+S/2-f.pos,P=L-((a[w]??f.pos)+M/2-f.pos)/O,B=v&&!p||!v&&p?-1:1;if(!o&&(L<0||L>f.len))continue;let z=f.chart.polar||f.isOrdinal?0:y*B||0,I=f.toValue(P,!0),N=f.toValue(P+x/O,!0),W=I+z,H=N-z,$=f.allExtremes;if(r&&r[f.coll].push({axis:f,min:Math.min(I,N),max:Math.max(I,N)}),W>H&&([W,H]=[H,W]),O===1&&!o&&f.coll==="yAxis"&&!$){for(let _t of f.series){let Dt=_t.getExtremes(_t.getProcessedData(!0).modified.getColumn(_t.pointValKey||"y")||[],!0);$??($={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),T(Dt.dataMin)&&T(Dt.dataMax)&&($.dataMin=Math.min(Dt.dataMin,$.dataMin),$.dataMax=Math.max(Dt.dataMax,$.dataMax))}f.allExtremes=$}let{dataMin:F,dataMax:et,min:Y,max:U}=X(f.getExtremes(),$||{}),_=l.parse(b.min),V=l.parse(b.max),tt=F??_,ut=et??V,J=H-W,at=f.categories?0:Math.min(J,ut-tt),ft=tt-at*(E(_)?0:b.minPadding),Et=ut+at*(E(V)?0:b.maxPadding),be=f.allowZoomOutside||O===1||n!=="zoom"&&O>1,Ft=Math.min(_??ft,ft,be?Y:ft),At=Math.max(V??Et,Et,be?U:Et);(!f.isOrdinal||O!==1||o)&&(W<Ft&&(W=Ft,O>=1&&(H=W+J)),H>At&&(H=At,O>=1&&(W=H-J)),(o||f.series.length&&(W!==Y||H!==U)&&W>=Ft&&H<=At)&&(r?r[f.coll].push({axis:f,min:W,max:H}):(f.isPanning=n!=="zoom",f.isPanning&&n!=="mousewheel"&&(g=!0),f.setExtremes(o?void 0:W,o?void 0:H,!1,!1,{move:P,trigger:n,scale:O}),!o&&(W>Ft||H<At)&&(u=d)),c=!0),this.hasCartesianSeries||o||(u=d),i&&(this[m?"mouseDownX":"mouseDownY"]=i[m?"chartX":"chartY"]))}return c&&(r?D(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!u||g||this.resetZoomButton?!u&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(n==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),c}}X(re.prototype,{callbacks:[],collectionsWithInit:{xAxis:[re.prototype.addAxis,[!0]],yAxis:[re.prototype.addAxis,[!1]],series:[re.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let Ze=re,{stop:ma}=St,{composed:xa}=C;function ya(){let h=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!h&&(this.scrollablePlotArea=h=new Mo(this)),h?.applyFixed()}function ko(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}let Mo=(()=>{class h{static compose(e,i,s){xt(xa,this.compose)&&(R(e,"afterInit",ko),R(i,"afterSetChartSize",o=>this.afterSetSize(o.target,o)),R(i,"render",ya),R(s,"show",ko))}static afterSetSize(e,i){let s,o,r,{minWidth:a,minHeight:n}=e.options.chart.scrollablePlotArea||{},{clipBox:d,plotBox:p,inverted:l,renderer:c}=e;if(!c.forExport)if(a?(e.scrollablePixelsX=s=Math.max(0,a-e.chartWidth),s&&(e.scrollablePlotBox=G(e.plotBox),p.width=e.plotWidth+=s,d[l?"height":"width"]+=s,r=!0)):n&&(e.scrollablePixelsY=o=Math.max(0,n-e.chartHeight),E(o)&&(e.scrollablePlotBox=G(e.plotBox),p.height=e.plotHeight+=o,d[l?"width":"height"]+=o,r=!1)),E(r)){if(!i.skipAxes)for(let u of e.axes)(u.horiz===r||e.hasParallelCoordinates&&u.coll==="yAxis")&&(u.setAxisSize(),u.setAxisTranslation())}else delete e.scrollablePlotBox}constructor(e){let i,s=e.options.chart,o=ee.getRendererType(),r=s.scrollablePlotArea||{},a=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};e.scrollablePixelsX&&(n.overflowX="auto"),e.scrollablePixelsY&&(n.overflowY="auto"),this.chart=e;let d=this.parentDiv=vt("div",{className:"highcharts-scrolling-parent"},{position:"relative"},e.renderTo),p=this.scrollingContainer=vt("div",{className:"highcharts-scrolling"},n,d),l=this.innerContainer=vt("div",{className:"highcharts-inner-container"},void 0,p),c=this.fixedDiv=vt("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),u=this.fixedRenderer=new o(c,e.chartWidth,e.chartHeight,s.style);this.mask=u.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(c,p),Z(e.renderTo,{overflow:"visible"}),R(e,"afterShowResetZoom",a),R(e,"afterApplyDrilldown",a),R(e,"afterLayOutTitles",a),R(p,"scroll",()=>{let{pointer:g,hoverPoint:f}=e;g&&(delete g.chartPosition,f&&(i=f),g.runPointActions(void 0,i,!0))}),l.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:i,isDirty:s,scrollingContainer:o}=this,{axisOffset:r,chartWidth:a,chartHeight:n,container:d,plotHeight:p,plotLeft:l,plotTop:c,plotWidth:u,scrollablePixelsX:g=0,scrollablePixelsY:f=0}=e,{scrollPositionX:m=0,scrollPositionY:x=0}=e.options.chart.scrollablePlotArea||{},y=a+g,b=n+f;i.setSize(a,n),(s??!0)&&(this.isDirty=!1,this.moveFixedElements()),ma(e.container),Z(d,{width:`${y}px`,height:`${b}px`}),e.renderer.boxWrapper.attr({width:y,height:b,viewBox:["0 0",y,b].join(" ")}),e.chartBackground?.attr({width:y,height:b}),Z(o,{width:`${a}px`,height:`${n}px`}),E(s)||(o.scrollLeft=g*m,o.scrollTop=f*x);let v=c-r[0]-1,k=l-r[3]-1,w=c+p+r[2]+1,M=l+u+r[1]+1,S=l+u-g,O=c+p-f,L=[["M",0,0]];g?L=[["M",0,v],["L",l-1,v],["L",l-1,w],["L",0,w],["Z"],["M",S,v],["L",a,v],["L",a,w],["L",S,w],["Z"]]:f&&(L=[["M",k,0],["L",k,c-1],["L",M,c-1],["L",M,0],["Z"],["M",k,O],["L",k,n],["L",M,n],["L",M,O],["Z"]]),e.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:L})}moveFixedElements(){let e,{container:i,inverted:s,scrollablePixelsX:o,scrollablePixelsY:r}=this.chart,a=this.fixedRenderer,n=h.fixedSelectors.slice();if(o&&!s?e=".highcharts-yaxis":o&&s||r&&!s?e=".highcharts-xaxis":r&&s&&(e=".highcharts-yaxis"),e&&!(this.chart.hasParallelCoordinates&&e===".highcharts-yaxis"))for(let d of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])xt(n,d);else for(let d of[".highcharts-xaxis",".highcharts-yaxis"])for(let p of[`${d}
2:not(.highcharts-radial-axis)`,`${d}-labels:not(.highcharts-radial-axis-labels)`])wt(n,p);for(let d of n)[].forEach.call(i.querySelectorAll(d),p=>{(p.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(p),p.style.pointerEvents="auto"})}}return h.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"],h})(),{format:ba}=Ot,{series:va}=it,Ji=class{constructor(h,t,e,i,s){let o=h.chart.inverted,r=h.reversed;this.axis=h;let a=this.isNegative=!!e!=!!r;this.options=t=t||{},this.x=i,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=s,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(o?a?"left":"right":"center"),verticalAlign:t.verticalAlign||(o?"middle":a?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(o?a?"right":"left":"center")}destroy(){Xt(this,this.axis)}render(h){let t=this.axis.chart,e=this.options,i=e.format,s=(i?ba(i,this,t):e.formatter?.call(this,this))||"";if(this.label)this.label.attr({text:s,visibility:"hidden"});else{this.label=t.renderer.label(s,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let o={r:e.borderRadius||0,text:s,padding:A(e.padding,5),visibility:"hidden"};t.styledMode||(o.fill=e.backgroundColor,o.stroke=e.borderColor,o["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(o),this.label.added||this.label.add(h)}this.label.labelrank=t.plotSizeY,D(this,"afterRender")}setOffset(h,t,e,i,s,o){let{alignOptions:r,axis:a,label:n,options:d,textAlign:p}=this,l=a.chart,c=this.getStackBox({xOffset:h,width:t,boxBottom:e,boxTop:i,defaultX:s,xAxis:o}),{verticalAlign:u}=r;if(n&&c){let g=n.getBBox(void 0,0),f=n.padding,m=A(d.overflow,"justify")==="justify",x;r.x=d.x||0,r.y=d.y||0;let{x:y,y:b}=this.adjustStackPosition({labelBox:g,verticalAlign:u,textAlign:p});c.x-=y,c.y-=b,n.align(r,!1,c),(x=l.isInsidePlot(n.alignAttr.x+r.x+y,n.alignAttr.y+r.y+b))||(m=!1),m&&va.prototype.justifyDataLabel.call(a,n,r,n.alignAttr,g,c),n.attr({x:n.alignAttr.x,y:n.alignAttr.y,rotation:d.rotation,rotationOriginX:g.width*Tt(d.textAlign||"center"),rotationOriginY:g.height/2}),A(!m&&d.crop,!0)&&(x=T(n.x)&&T(n.y)&&l.isInsidePlot(n.x-f+(n.width||0),n.y)&&l.isInsidePlot(n.x+f,n.y)),n[x?"show":"hide"]()}D(this,"afterSetOffset",{xOffset:h,width:t})}adjustStackPosition({labelBox:h,verticalAlign:t,textAlign:e}){return{x:h.width/2+h.width/2*(2*Tt(e)-1),y:h.height/2*2*(1-Tt(t))}}getStackBox(h){let t=this.axis,e=t.chart,{boxTop:i,defaultX:s,xOffset:o,width:r,boxBottom:a}=h,n=t.stacking.usePercentage?100:A(i,this.total,0),d=t.toPixels(n),p=h.xAxis||e.xAxis[0],l=A(s,p.translate(this.x))+o,c=Math.abs(d-t.toPixels(a||T(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),u=e.inverted,g=this.isNegative;return u?{x:(g?d:d-c)-e.plotLeft,y:p.height-l-r+p.top-e.plotTop,width:c,height:r}:{x:l+p.transB-e.plotLeft,y:(g?d-c:d)-e.plotTop,width:r,height:c}}},{getDeferredAnimation:ka}=St,{series:{prototype:Ma}}=it;function wa(){let h=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(t=>{let e=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,A(t.options.stack,""),h?e.top:e.left,h?e.height:e.width].join(","))})}function Sa(){let h=this.stacking;if(h){let t=h.stacks;j(t,(e,i)=>{Xt(e),delete t[i]}),h.stackTotalGroup?.destroy()}}function Aa(){this.stacking||(this.stacking=new Ea(this))}function Ta(h,t,e,i){return!E(h)||h.x!==t||i&&h.stackKey!==i?h={x:t,index:0,key:i,stackKey:i}:h.index++,h.key=[e,t,h.index].join(","),h}function Ca(){let h,t=this,e=t.yAxis,i=t.stackKey||"",s=e.stacking.stacks,o=t.getColumn("x",!0),r=t.options.stacking,a=t[r+"Stacker"];
2a&&[i,"-"+i].forEach(n=>{let d=o.length,p,l,c;for(;d--;)p=o[d],h=t.getStackIndicator(h,p,t.index,n),l=s[n]?.[p],(c=l?.points[h.key||""])&&a.call(t,c,l,d)})}function Pa(h,t,e){let i=t.total?100/t.total:0;h[0]=K(h[0]*i),h[1]=K(h[1]*i),this.stackedYData[e]=h[1]}function Oa(h){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?Ma.setStackedPoints.call(this,h,"group"):h.stacking.resetStacks())}function La(h,t){let e,i,s,o,r,a,n,d=t||this.options.stacking;if(!d||!this.reserveSpace()||({group:"xAxis"}[d]||"yAxis")!==h.coll)return;let p=this.getColumn("x",!0),l=this.getColumn(this.pointValKey||"y",!0),c=[],u=l.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=t?`${this.type},${d}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=h.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,n=0;n<u;n++){let S=p[n]||0,O=l[n],L=T(O)&&O||0;a=(e=this.getStackIndicator(e,S,this.index)).key||"",w[r=(i=v&&L<(m?0:f))?b:y]||(w[r]={}),w[r][S]||(M[r]?.[S]?(w[r][S]=M[r][S],w[r][S].total=null):w[r][S]=new Ji(h,h.options.stackLabels,!!i,S,x)),s=w[r][S],O!==null?(s.points[a]=s.points[this.index]=[A(s.cumulative,m)],E(s.cumulative)||(s.base=a),s.touched=k.stacksTouched,e.index>0&&this.singleStacks===!1&&(s.points[a][0]=s.points[this.index+","+S+",0"][0])):(delete s.points[a],delete s.points[this.index]);let P=s.total||0;d==="percent"?(o=i?y:b,P=v&&w[o]?.[S]?(o=w[o][S]).total=Math.max(o.total||0,P)+Math.abs(L):K(P+Math.abs(L))):d==="group"?T(O)&&P++:P=K(P+L),d==="group"?s.cumulative=(P||1)-1:s.cumulative=K(A(s.cumulative,m)+L),s.total=P,O!==null&&(s.points[a].push(s.cumulative),c[n]=s.cumulative,s.hasValidPoints=!0)}d==="percent"&&(k.usePercentage=!0),d!=="group"&&(this.stackedYData=c),k.oldStacks={}}class Ea{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o=i.coll==="xAxis",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();D(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,j(this.stacks,t=>{j(t,e=>{e.cumulative=e.total})}))}resetStacks(){j(this.stacks,t=>{j(t,(e,i)=>{T(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=ka(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),j(s,a=>{j(a,n=>{n.render(r)})}),r.animate({opacity:1},o)}}(gi||(gi={})).compose=function(h,t,e){let i=t.prototype,s=e.prototype;i.getStacks||(R(h,"init",Aa),R(h,"destroy",Sa),i.getStacks=wa,s.getStackIndicator=Ta,s.modifyStacks=Ca,s.percentStacker=Pa,s.setGroupedPoints=Oa,s.setStackedPoints=La)};let Ba=gi;class wo extends Lt{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",d=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||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?r.dashstyle=d:t.linecap!=="square"&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r),t.shadow)){let p=this.chart.inverted,l={filterUnits:"userSpaceOnUse"},c=st(t.shadow)?G(p?{}:l,t.shadow):!!p||l;a.shadow(c)}a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,d=o.step,p=(t=t||s.points).reversed;return p&&t.reverse(),(d={right:1,center:2}[d]||d&&3)&&p&&(d=4-d),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(l,c){let u,g=l.plotX,f=l.plotY,m=t[c-1],x=l.isNull||typeof f!="number";
vendor: 6,780 bytes, line 2
2(l.leftCliff||m?.rightCliff)&&!i&&(n=!0),x&&!E(e)&&c>0?n=!o.connectNulls:x&&!e?n=!0:(c===0||n?u=[["M",l.plotX,l.plotY]]:s.getPointSpline?u=[s.getPointSpline(t,l,c)]:d?(u=d===1?[["L",m.plotX,f]]:d===2?[["L",(m.plotX+g)/2,m.plotY],["L",(m.plotX+g)/2,f]]:[["L",g,m.plotY]]).push(["L",g,f]):u=[["L",g,f]],a.push(l.x),d&&(a.push(l.x),d===2&&a.push(l.x)),r.push.apply(r,u),n=!1)}),r.xMap=a,s.graphPath=r,r}}wo.defaultOptions=G(Lt.defaultOptions,{legendSymbol:"lineMarker"}),it.registerSeriesType("line",wo);let{seriesTypes:{line:Qi}}=it;class ts extends Qi{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=Qi.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,d=[],p=[],l=this.index,c=n.stacking.stacks[this.stackKey],u=r.threshold,g=Math.round(n.getThreshold(r.threshold)),f=A(r.connectNulls,a==="percent"),m=function(w,M,S){let O=t[w],L=t[M],P=a&&c[O.x].points[l],B=O[S+"Null"]||0,z=O[S+"Cliff"]||0,I,N,W=!0;P&&(z||B)?(I=(B?P[0]:P[1])+z,N=P[0]+z,W=!!B):!a&&L&&(L.isNull||!E(L.plotY))&&(I=N=u),I!==void 0&&(p.push({plotX:e,plotY:I===null?g:n.getThreshold(I),isNull:W,isCliff:!0}),d.push({plotX:e,plotY:N===null?g:n.getThreshold(N),doCurve:!1}))};t=t||this.points,a&&(t=this.getStackPoints(t));for(let w=0,M=t.length;w<M;++w)a||(t[w].leftCliff=t[w].rightCliff=t[w].leftNull=t[w].rightNull=void 0),i=t[w].isNull||!E(t[w].plotY),e=A(t[w].rectPlotX,t[w].plotX),s=a?A(t[w].yBottom,g):g,(!i||f)&&(f||m(w,w-1,"left"),i&&!a&&f||(p.push(t[w]),d.push({x:w,plotX:e,plotY:s})),f||m(w,w+1,"right"));let x=o.call(this,p,!0,!0);d.reversed=!0;let y=o.call(this,d,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let v=x.concat(y);v.length&&v.push(["Z"]);let k=o.call(this,p,!1,f);return this.chart.series.length>1&&a&&p.some(w=>w.isCliff)&&(v.hasStackedCliffs=k.hasStackedCliffs=!0),v.xMap=x.xMap,this.areaPath=v,k}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},d=r.series,p=d.length,l=r.options.reversedStacks?1:-1,c=d.indexOf(e),u=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let f=0;f<t.length;f++)t[f].leftNull=t[f].rightNull=void 0,n[t[f].x]=t[f];j(a,function(f,m){f.total!==null&&s.push(m)}),s.sort(function(f,m){return f-m});let g=d.map(f=>f.visible);s.forEach(function(f,m){let x=0,y,b;if(n[f]&&!n[f].isNull)i.push(n[f]),[-1,1].forEach(function(v){let k=v===1?"rightNull":"leftNull",w=a[s[m+v]],M=0;if(w){let S=c;for(;S>=0&&S<p;){let O=d[S].index;!(y=w.points[O])&&(O===e.index?n[f][k]=!0:g[S]&&(b=a[f].points[O])&&(M-=b[1]-b[0])),S+=l}}n[f][v===1?"rightCliff":"leftCliff"]=M});else{let v=c;for(;v>=0&&v<p;){let w=d[v].index;if(y=a[f].points[w]){x=y[1];break}v+=l}x||(x=0);let k=r.positiveValuesOnly&&x<=0?u:r.translate(x,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(f,!1,!1,!1,!0),x:f,plotY:k,yBottom:k})}})}return i}}ts.defaultOptions=G(Qi.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),X(ts.prototype,{singleStacks:!1}),it.registerSeriesType("area",ts);let{line:So}=it.seriesTypes;class es extends So{getPointSpline(t,e,i){let s,o,r,a,n=e.plotX||0,d=e.plotY||0,p=t[i-1],l=t[i+1];function c(g){return g&&!g.isNull&&g.doCurve!==!1&&!e.isCliff}if(c(p)&&c(l)){let g=p.plotX||0,f=p.plotY||0,m=l.plotX||0,x=l.plotY||0,y=0;s=(1.5*n+g)/2.5,o=(1.5*d+f)/2.5,r=(1.5*n+m)/2.5,a=(1.5*d+x)/2.5,r!==s&&(y=(a-o)*(r-n)/(r-s)+d-a),o+=y,a+=y,o>f&&o>d?(o=Math.max(f,d),a=2*d-o):o<f&&o<d&&(o=Math.min(f,d),a=2*d-o),a>x&&a>d?(a=Math.max(x,d),o=2*d-a):a<x&&a<d&&(a=Math.min(x,d),o=2*d-a),e.rightContX=r,e.rightContY=a,e.controlPoints={low:[s,o],high:[r,a]}}let u=["C",A(p.rightContX,p.plotX,0),A(p.rightContY,p.plotY,0),A(s,n,0),A(o,d,0),n,d];return p.rightContX=p.rightContY=void 0,u}}es.defaultOptions=G(So.defaultOptions),it.registerSeriesType("spline",es);let Ao=es,{area:Da,area:{prototype:is}}=it.seriesTypes;class ss extends Ao{}ss.defaultOptions=G(Ao.defaultOptions,Da.defaultOptions),X(ss.prototype,{getGraphPath:is.getGraphPath,getStackPoints:is.getStackPoints,drawGraph:is.drawGraph}),it.registerSeriesType("areaspline",ss);let{animObject:Ia}=St,{parse:za}=dt,{noop:Ra}=C;class Ke extends Lt{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,a=o.reversed,n=s.options,{clipOffset:d,inverted:p}=this.chart,l={},c=p?"translateX":"translateY";t&&d?(l.scaleY=.001,i=nt(o.toPixels(n.threshold||0),r,r+o.len),p?l.translateX=(i+=a?-Math.floor(d[0]):Math.ceil(d[2]))-o.len:l.translateY=i+=a?Math.ceil(d[0]):-Math.floor(d[2]),s.clipBox&&s.setClip(),s.group.attr(l)):(e=Number(s.group.attr(c)),s.group.animate({scaleY:1},X(Ia(s.options.animation),{step:function(u,g){s.group&&(l[c]=e+g.pos*(r-e),s.group.attr(l))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(s){s.type===i.type&&(s.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,a={},n,d=0;e.grouping===!1?d=1:t.chart.series.forEach(function(f){let m,x=f.yAxis,y=f.options;f.type===t.type&&f.reserveSpace()&&s.len===x.len&&s.pos===x.pos&&(y.stacking&&y.stacking!=="group"?(a[n=f.stackKey]===void 0&&(a[n]=d++),m=a[n]):y.grouping!==!1&&(m=d++),f.columnIndex=m)});let p=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),l=p*e.groupPadding,c=(p-2*l)/(d||1),u=Math.min(e.maxPointWidth||i.len,A(e.pointWidth,c*(1-2*e.pointPadding))),g=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:u,offset:(c-u)/2+(l+g*c-p/2)*(r?-1:1),paddedWidth:c,columnCount:d},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=ht(e+s,o,r)-(e=ht(e,o,r)),this.options.crisp&&(i=ht(t+i,o)-(t=ht(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(d=>d.visible).map(d=>d.index),r=0,a=0;j(this.xAxis.stacking?.stacks,d=>{let p=typeof i.x=="number"?d[i.x.toString()]?.points:void 0,l=p?.[this.index],c={};if(p&&ot(l)){let u=this.index,g=Object.keys(p).filter(f=>!f.match(",")&&p[f]&&p[f].length>1).map(parseFloat).filter(f=>o.indexOf(f)!==-1).filter(f=>{let m=this.chart.series[f].options,x=m.stacking&&m.stack;
2if(E(x)){if(T(c[x]))return u===f&&(u=c[x]),!1;c[x]=f}return!0}).sort((f,m)=>m-f);r=g.indexOf(u),a=g.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,d=i.minPointLength??5,p=t.getColumnMetrics(),l=p.width,c=t.pointXOffset=p.offset,u=t.dataMin,g=t.dataMax,f=t.translatedThreshold=a.getThreshold(n),m=t.barW=Math.max(l,1+2*o);i.pointPadding&&i.crisp&&(m=Math.ceil(m)),Lt.prototype.translate.apply(t),t.points.forEach(function(x){let y=x.yBottom??f,b=999+Math.abs(y),v=x.plotX||0,k=nt(x.plotY,-b,a.len+b),w,M=Math.min(k,y),S=Math.max(k,y)-M,O=l,L=v+c,P=m;d&&Math.abs(S)<d&&(S=d,w=!a.reversed&&!x.negative||a.reversed&&x.negative,T(n)&&T(g)&&x.y===n&&g<=n&&(a.min||0)<n&&(u!==g||(a.max||0)<=n)&&(w=!w,x.negative=!x.negative),M=Math.abs(M-f)>d?y-(w?d:0):f-(w?d:0)),E(x.options.pointWidth)&&(L-=Math.round(((O=P=Math.ceil(x.options.pointWidth))-l)/2)),i.centerInCategory&&(L=t.adjustForMissingColumns(L,O,x,p)),x.barX=L,x.pointWidth=O,x.tooltipPos=e.inverted?[nt(a.len+a.pos-e.plotLeft-k,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-L-P/2,S]:[r.left-e.plotLeft+L+P/2,nt(k+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),S],x.shapeType=t.pointClass.prototype.shapeType||"roundedRect",x.shapeArgs=t.crispCol(L,M,P,x.isNull?0:S)}),D(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",a,n,d,p=t&&t.color||this.color,l=t&&t[o]||i[o]||p,c=t&&t.options.dashStyle||i.dashStyle,u=t&&t[r]||i[r]||this[r]||0,g=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(n=t.getZone(),p=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(l=n.borderColor||l,c=n.dashStyle||c,u=n.borderWidth||u)),e&&t&&(d=(a=G(i.states[e],t.options.states?.[e]||{})).brightness,p=a.color||d!==void 0&&za(p).brighten(a.brightness).get()||p,l=a[o]||l,u=a[r]||u,c=a.dashStyle||c,g=A(a.opacity,g));let f={fill:p,stroke:l,"stroke-width":u,opacity:g};return c&&(f.dashstyle=c),f}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,a=s.renderer,n=o.animationLimit||250;t.forEach(function(d){let p=d.plotY,l=d.graphic,c=!!l,u=l&&s.pointCount<n?"animate":"attr";T(p)&&(d.y!==null||r)?(e=d.shapeArgs,l&&d.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(d.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(d.graphic=l=a[d.shapeType](e).add(d.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(l.attr({x:d.startXPos}),c=!0,u="animate")),l&&c&&l[u](G(e)),s.styledMode||l[u](i.pointAttribs(d,d.selected&&"select")).shadow(d.allowShadow!==!1&&o.shadow),l&&(l.addClass(d.getClassName(),!0),l.attr({visibility:d.visible?"inherit":"hidden"}))):l&&(d.graphic=l.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(a){o?.normalize(a);let n=o?.getPointFromEvent(a);o&&n&&i.options.enableMouseTracking&&(s.isInsidePlot(a.chartX-s.plotLeft,a.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&o?.inClass(a.target,"highcharts-point")||o?.inClass(a.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,n.onMouseOver(a))};t.forEach(function(a){e=ot(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[],a.graphic&&(a.graphic.element.point=a),e.forEach(function(n){(n.div||n.element).point=a})}),i._hasTracking||(i.trackerGroups?.reduce((a,n)=>(n==="dataLabelsGroup"?a.push(...i.dataLabelsGroups||[]):a.push(i[n]),a),[]).forEach(a=>{a&&(a.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(n){o?.onTrackerMouseOut(n)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&a.css({cursor:i.options.cursor}))}),i._hasTracking=!0),D(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(i){i.type===t.type&&(i.isDirty=!0)}),Lt.prototype.remove.apply(t,arguments)}}Ke.defaultOptions=G(Lt.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),X(Ke.prototype,{directTouch:!0,getSymbol:Ra,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("column",Ke);let Te=Ke,{getDeferredAnimation:Wa}=St,{format:Na}=Ot;(function(h){function t(){return n(this).some(p=>p?.enabled)}function e(p,l,c,u,g){let{chart:f,enabledDataSorting:m}=this,x=this.isCartesian&&f.inverted,y=p.plotX,b=p.plotY,v=c.rotation||0,k=E(y)&&E(b)&&f.isInsidePlot(y,Math.round(b),{inverted:x,paneCoordinates:!0,series:this}),w=v===0&&A(c.overflow,m?"none":"justify")==="justify",M=this.visible&&p.visible!==!1&&E(y)&&(p.series.forceDL||m&&!w||k||A(c.inside,!!this.options.stacking)&&u&&f.isInsidePlot(y,x?u.x+1:u.y+u.height-1,{inverted:x,paneCoordinates:!0,series:this})),S=p.pos();if(M&&S){var O;let L=l.getBBox(),P=l.getBBox(void 0,0);if(u=X({x:S[0],y:Math.round(S[1]),width:0,height:0},u||{}),c.alignTo==="plotEdges"&&this.isCartesian&&(u[x?"x":"y"]=0,u[x?"width":"height"]=this.yAxis?.len||0),X(c,{width:L.width,height:L.height}),O=u,m&&this.xAxis&&!w&&this.setDataLabelStartPos(p,l,g,k,O),l.align(G(c,{width:P.width,height:P.height}),!1,u,!1),l.alignAttr.x+=Tt(c.align)*(P.width-L.width),l.alignAttr.y+=Tt(c.verticalAlign)*(P.height-L.height),l[l.placed?"animate":"attr"]({"text-align":l.alignAttr["text-align"]||"center",x:l.alignAttr.x+(L.width-P.width)/2,y:l.alignAttr.y+(L.height-P.height)/2,rotationOriginX:(l.width||0)/2,rotationOriginY:(l.height||0)/2}),w&&u.height>=0)this.justifyDataLabel(l,c,l.alignAttr,L,u,g);else if(A(c.crop,!0)){let{x:B,y:z}=l.alignAttr;M=f.isInsidePlot(B,z,{paneCoordinates:!0,series:this})&&f.isInsidePlot(B+L.width-1,z+L.height-1,{paneCoordinates:!0,series:this})}c.shape&&!v&&l[g?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}g&&m&&(l.placed=!1),M||m&&!w?(l.show(),l.placed=!0):(l.hide(),l.placed=!1)}function i(p,l){D(this,"initDataLabelsGroup",{index:p,zIndex:l?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[p];let c=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",l?.zIndex??6,this.dataLabelsParentGroups?.[p]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[p]=c,this.dataLabelsGroup=this.dataLabelsGroups[0],c}function s(p,l,c){let u=!!this.hasRendered,g=this.initDataLabelsGroup(p,c).attr({opacity:+u});return!u&&g&&(this.visible&&g.show(),this.options.animation?g.animate({opacity:1},l):g.attr({opacity:1})),g}function o(p){let l;p=p||this.points;let c=this,u=c.chart,g=c.options,f=u.renderer,{backgroundColor:m,plotBackgroun
2dColor:x}=u.options.chart,y=f.getContrast(Q(x)&&x||Q(m)&&m||"#000000"),b=n(c),{animation:v,defer:k}=b[0],w=k?Wa(u,v,c):{defer:0,duration:0};D(this,"drawDataLabels"),c.hasDataLabels?.()&&p.forEach(M=>{let S=M.dataLabels||[],O=M.color||c.color;gt(a(b,M.dlOptions||M.options?.dataLabels)).forEach((P,B)=>{l=this.initDataLabels(B,w,P);let z=P.enabled&&(M.visible||M.dataLabelOnHidden)&&(!M.isNull||M.dataLabelOnNull)&&(function(tt,ut){let J=ut.filter;if(J){let at=J.operator,ft=tt[J.property],Et=J.value;return at===">"&&ft>Et||at==="<"&&ft<Et||at===">="&&ft>=Et||at==="<="&&ft<=Et||at==="=="&&ft==Et||at==="==="&&ft===Et||at==="!="&&ft!=Et||at==="!=="&&ft!==Et||!1}return!0})(M,P),{backgroundColor:I,borderColor:N,distance:W,style:H={}}=P,$,F,et,Y={},U=S[B],_=!U,V;z&&(F=E($=A(P[M.formatPrefix+"Format"],P.format))?Na($,M,u):(P[M.formatPrefix+"Formatter"]||P.formatter).call(M,P,M),et=P.rotation,!u.styledMode&&(H.color=A(P.color,H.color,Q(c.color)?c.color:void 0,"#000000"),H.color==="contrast"?(I!=="none"&&(V=I),M.contrastColor=f.getContrast(V!=="auto"&&Q(V)&&V||(Q(O)?O:"")),H.color=V||!E(W)&&P.inside||0>lt(W||0)||g.stacking?M.contrastColor:y):delete M.contrastColor,g.cursor&&(H.cursor=g.cursor)),Y={r:P.borderRadius||0,rotation:et,padding:P.padding,zIndex:1},u.styledMode||(Y.fill=I==="auto"?M.color:I,Y.stroke=N==="auto"?M.color:N,Y["stroke-width"]=P.borderWidth),j(Y,(tt,ut)=>{tt===void 0&&delete Y[ut]})),!U||z&&E(F)&&!!(U.div||U.text?.foreignObject)==!!P.useHTML&&(U.rotation&&P.rotation||U.rotation===P.rotation)||(U=void 0,_=!0),z&&E(F)&&F!==""&&(U?Y.text=F:(U=f.label(F,0,0,P.shape,void 0,void 0,P.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+M.colorIndex+" "+(P.className||"")+(P.useHTML?" highcharts-tracker":"")),U&&(U.options=P,U.attr(Y),u.styledMode?H.width&&U.css({width:H.width,textOverflow:H.textOverflow,whiteSpace:H.whiteSpace}):U.css(H).shadow(P.shadow),D(U,"beforeAddingDataLabel",{labelOptions:P,point:M}),U.added||U.add(l),c.alignDataLabel(M,U,P,void 0,_),U.isActive=!0,S[B]&&S[B]!==U&&S[B].destroy(),S[B]=U))});let L=S.length;for(;L--;)S[L]?.isActive?S[L].isActive=!1:(S[L]?.destroy(),S.splice(L,1));M.dataLabel=S[0],M.dataLabels=S}),D(this,"afterDrawDataLabels")}function r(p,l,c,u,g,f){let m=this.chart,x=l.align,y=l.verticalAlign,b=p.box?0:p.padding||0,v=m.inverted?this.yAxis:this.xAxis,k=v?v.left-m.plotLeft:0,w=m.inverted?this.xAxis:this.yAxis,M=w?w.top-m.plotTop:0,{x:S=0,y:O=0}=l,L,P;return(L=(c.x||0)+b+k)<0&&(x==="right"&&S>=0?(l.align="left",l.inside=!0):S-=L,P=!0),(L=(c.x||0)+u.width-b+k)>m.plotWidth&&(x==="left"&&S<=0?(l.align="right",l.inside=!0):S+=m.plotWidth-L,P=!0),(L=c.y+b+M)<0&&(y==="bottom"&&O>=0?(l.verticalAlign="top",l.inside=!0):O-=L,P=!0),(L=(c.y||0)+u.height-b+M)>m.plotHeight&&(y==="top"&&O<=0?(l.verticalAlign="bottom",l.inside=!0):O+=m.plotHeight-L,P=!0),P&&(l.x=S,l.y=O,p.placed=!f,p.align(l,void 0,g)),P}function a(p,l){let c=[],u;if(ot(p)&&!ot(l))c=p.map(function(g){return G(g,l)});else if(ot(l)&&!ot(p))c=l.map(function(g){return G(p,g)});else if(ot(p)||ot(l)){if(ot(p)&&ot(l))for(u=Math.max(p.length,l.length);u--;)c[u]=G(p[u],l[u])}else c=G(p,l);return c}function n(p){let l=p.chart.options.plotOptions;return gt(a(a(l?.series?.dataLabels,l?.[p.type]?.dataLabels),p.options.dataLabels))}function d(p,l,c,u,g){let f=this.chart,m=f.inverted,x=this.xAxis,y=x.reversed,b=((m?l.height:l.width)||0)/2,v=p.pointWidth,k=v?v/2:0;l.startXPos=m?g.x:y?-b-k:x.width-b+k,l.startYPos=m?y?this.yAxis.height-b+k:-b-k:g.y,u?l.visibility==="hidden"&&(l.show(),l.attr({opacity:0}).animate({opacity:1})):l.attr({opacity:1}).animate({opacity:0}
2,void 0,l.hide),f.hasRendered&&(c&&l.attr({x:l.startXPos,y:l.startYPos}),l.placed=!0)}h.compose=function(p){let l=p.prototype;l.initDataLabels||(l.initDataLabels=s,l.initDataLabelsGroup=i,l.alignDataLabel=e,l.drawDataLabels=o,l.justifyDataLabel=r,l.mergeArrays=a,l.setDataLabelStartPos=d,l.hasDataLabels=t)}})(fi||(fi={}));let qe=fi,{composed:Ga}=C,{series:To}=it;function Xa(h,t,e,i,s){let{chart:o,options:r}=this,a=o.inverted,n=this.xAxis?.len||o.plotSizeX||0,d=this.yAxis?.len||o.plotSizeY||0,p=h.dlBox||h.shapeArgs,l=h.below??(h.plotY||0)>(this.translatedThreshold??d),c=e.inside??!!r.stacking;if(p){if(i=G(p),e.overflow!=="allow"||e.crop!==!1||r.clip!==!1){i.y<0&&(i.height+=i.y,i.y=0);let u=i.y+i.height-d;u>0&&u<i.height-1&&(i.height-=u)}a&&(i={x:d-i.y-i.height,y:n-i.x-i.width,width:i.height,height:i.width}),c||(a?(i.x+=l?0:i.width,i.width=0):(i.y+=l?i.height:0,i.height=0))}e.align??(e.align=!a||c?"center":l?"right":"left"),e.verticalAlign??(e.verticalAlign=a||c?"middle":l?"top":"bottom"),To.prototype.alignDataLabel.call(this,h,t,e,i,s),e.inside&&h.contrastColor&&t.css({color:h.contrastColor})}(mi||(mi={})).compose=function(h){qe.compose(To),xt(Ga,"ColumnDataLabel")&&(h.prototype.alignDataLabel=Xa)};let Ha=mi;class os extends Te{}os.defaultOptions=G(Te.defaultOptions,{}),X(os.prototype,{inverted:!0}),it.registerSeriesType("bar",os);let{column:Ya,line:Co}=it.seriesTypes;class _e extends Co{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,a){if(e[r]&&!s.isNull){let n=`plot${r.toUpperCase()}`,d=t[`${r}Axis`],p=e[r]*d.transA;if(d&&!d.logarithmic){let l,c=Math.max(0,(s[n]||0)-p),u=Math.min(d.len,(s[n]||0)+p);s[n]=c+(u-c)*((l=1e4*Math.sin(o+a*i))-Math.floor(l)),r==="x"&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}_e.defaultOptions=G(Co.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/>"}}),X(_e.prototype,{allowOutsidePlotInteraction:!0,drawTracker:Ya.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),R(_e,"afterTranslate",function(){this.applyJitter()}),it.registerSeriesType("scatter",_e);let{deg2rad:Po}=C;(Cs=xi||(xi={})).getCenter=function(){let h=this.options,t=this.chart,e=2*(h.slicedOffset||0),i=t.plotWidth-2*e,s=t.plotHeight-2*e,o=h.center,r=Math.min(i,s),a=h.thickness,n,d=h.size,p=h.innerSize||0,l,c;typeof d=="string"&&(d=parseFloat(d)),typeof p=="string"&&(p=parseFloat(p));let u=[A(o?.[0],"50%"),A(o?.[1],"50%"),A(d&&d<0?void 0:h.size,"100%"),A(p&&p<0?void 0:h.innerSize||0,"0%")];for(!t.angular||this instanceof Lt||(u[3]=0),l=0;l<4;++l)c=u[l],n=l<2||l===2&&/%$/.test(c),u[l]=kt(c,[i,s,r,u[2]][l])+(n?e:0);return u[3]>u[2]&&(u[3]=u[2]),T(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),D(this,"afterGetCenter",{positions:u}),u},Cs.getStartAndEndRadians=function(h,t){let e=T(h)?h:0,i=T(t)&&t>e&&t-e<360?t:e+360;return{start:Po*(e+-90),end:Po*(i+-90)}};let Oo=xi,{setAnimation:Fa}=St;class Lo extends qt{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,te(Wt({},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);let s=o=>{this.slice(o.type==="select")};R(this,"select",s),R(this,"unselect",s)}isValid(){return T(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;Fa(i,s.chart),e=A(e,!0),this.sliced=this.options.sliced=t=E(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}X(Lo.prototype,{connectorShapes:{fixedOffset:function(h,t,e){let i=t.breakAt,s=t.touchingSliceAt,o=e.softConnector?["C",h.x+(h.alignment==="left"?-5:5),h.y,2*i.x-s.x,2*i.y-s.y,i.x,i.y]:["L",i.x,i.y];return[["M",h.x,h.y],o,["L",s.x,s.y]]},straight:function(h,t){let e=t.touchingSliceAt;return[["M",h.x,h.y],["L",e.x,e.y]]},crookedLine:function(h,t,e){let{angle:i=this.angle||0,breakAt:s,touchingSliceAt:o}=t,{series:r}=this,[a,n,d]=r.center,p=d/2,{plotLeft:l,plotWidth:c}=r.chart,u=h.alignment==="left",{x:g,y:f}=h,m=s.x;if(e.crookDistance){let y=kt(e.crookDistance,1);m=u?a+p+(c+l-a-p)*(1-y):l+(a-p)*y}else m=a+(n-f)*Math.tan(i-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=s.x:m>=g&&m<=s.x)&&x.push(["L",m,f]),x.push(["L",s.x,s.y],["L",o.x,o.y]),x}}});let{getStartAndEndRadians:Ua}=Oo,{noop:Eo}=C;class rs extends Lt{animate(t){let e=this,i=e.points,s=e.startAngleRad;
vendor: 4,798 bytes, line 2
2t||i.forEach(function(o){let r=o.graphic,a=o.shapeArgs;r&&a&&(r.attr({r:A(o.startR,e.center&&e.center[3]/2),start:s,end:s}),r.animate({r:a.r,start:a.start,end:a.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;this.total===0&&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:Wi.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||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.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()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,a=s.dataLabelPosition,n=a?.distance||0,d=Math.asin(nt((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(d)*(r+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):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||G(!0,n,i),G(!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(i,s){return i.angle!==void 0&&(s.angle-i.angle)*e})}translate(t){D(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=Ua(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,d=a.length,p,l,c,u,g,f,m,x=0;for(t||(this.center=t=this.getCenter()),f=0;f<d;f++){m=a[f],p=o+x*r,m.isValid()&&(!n||m.visible)&&(x+=m.percentage/100),l=o+x*r;let y={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:p,end:l};m.shapeType="arc",m.shapeArgs=y,(c=(l+p)/2)>1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),m.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},u=Math.cos(c)*t[2]/2,g=Math.sin(c)*t[2]/2,m.tooltipPos=[t[0]+.7*u,t[1]+.7*g],m.half=+(c<-Math.PI/2||c>Math.PI/2),m.angle=c}D(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}rs.defaultOptions=G(Lt.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),X(rs.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:Te.prototype.drawTracker,getCenter:Oo.getCenter,getSymbol:Eo,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Te.prototype.pointAttribs,pointClass:Lo,requireSorting:!1,searchPoint:Eo,trackerGroups:["group","dataLabelsGroup"]}),it.registerSeriesType("pie",rs);let{composed:Va,noop:ja}=C,{distribute:$a}=Se,{series:Bo}=it;(function(h){let t={radialDistributionY:function(r,a){return(a.dataLabelPosition?.top||0)+r.distributeBox.pos},radialDistributionX:function(r,a,n,d,p){let l=p.dataLabelPosition;return r.getX(n<(l?.top||0)+2||n>(l?.bottom||0)-2?d:n,a.half,a,p)},justify:function(r,a,n,d){return d[0]+(r.half?-1:1)*(n+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(r,a,n,d){let p=r.getBBox().width;return a?p+d:n-p-d},alignToConnectors:function(r,a,n,d){let p=0,l;return r.forEach(function(c){(l=c.dataLabel.getBBox().width)>p&&(p=l)}),a?p+d:n-p-d}};function e(r,a){let n=Math.PI/2,{start:d=0,end:p=0}=r.shapeArgs||{},l=r.angle||0;a>0&&d<n&&p>n&&l>n/2&&l<1.5*n&&(l=l<=n?Math.max(n/2,(d+n)/2):Math.min(1.5*n,(n+p)/2));let{center:c,options:u}=this,g=c[2]/2,f=Math.cos(l),m=Math.sin(l),x=c[0]+f*g,y=c[1]+m*g,b=Math.min((u.slicedOffset||0)+(u.borderWidth||0),a/5);
vendor: 4,350 bytes, line 2
2return{natural:{x:x+f*a,y:y+m*a},computed:{},alignment:a<0?"center":r.half?"right":"left",connectorPosition:{angle:l,breakAt:{x:x+f*b,y:y+m*b},touchingSliceAt:{x,y}},distance:a}}function i(){let r=this,a=r.points,n=r.chart,d=n.plotWidth,p=n.plotHeight,l=n.plotLeft,c=Math.round(n.chartWidth/3),u=r.center,g=u[2]/2,f=u[1],m=[[],[]],x=[0,0,0,0],y=r.dataLabelPositioners,b,v,k,w=0;r.visible&&r.hasDataLabels?.()&&(a.forEach(M=>{(M.dataLabels||[]).forEach(S=>{S.shortened&&(S.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),S.shortened=!1)})}),Bo.prototype.drawDataLabels.apply(r),a.forEach(M=>{(M.dataLabels||[]).forEach((S,O)=>{let L=u[2]/2,P=S.options,B=kt(P?.distance||0,L);O===0&&m[M.half].push(M),!E(P?.style?.width)&&S.getBBox().width>c&&(S.css({width:Math.round(.7*c)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(M,B),w=Math.max(w,B)})}),m.forEach((M,S)=>{let O=M.length,L=[],P,B,z=0,I;O&&(r.sortByAngle(M,S-.5),w>0&&(P=Math.max(0,f-g-w),B=Math.min(f+g+w,n.plotHeight),M.forEach(N=>{(N.dataLabels||[]).forEach(W=>{let H=W.dataLabelPosition;H&&H.distance>0&&(H.top=Math.max(0,f-g-H.distance),H.bottom=Math.min(f+g+H.distance,n.plotHeight),z=W.getBBox().height||21,W.lineHeight=n.renderer.fontMetrics(W.text||W).h+2*W.padding,N.distributeBox={target:(W.dataLabelPosition?.natural.y||0)-H.top+W.lineHeight/2,size:z,rank:N.y},L.push(N.distributeBox))})}),$a(L,I=B+z-P,I/5)),M.forEach(N=>{(N.dataLabels||[]).forEach(W=>{let H=W.options||{},$=N.distributeBox,F=W.dataLabelPosition,et=F?.natural.y||0,Y=H.connectorPadding||0,U=W.lineHeight||21,_=(U-W.getBBox().height)/2,V=0,tt=et,ut="inherit";if(F){if(L&&E($)&&F.distance>0&&($.pos===void 0?ut="hidden":(k=$.size,tt=y.radialDistributionY(N,W))),H.justify)V=y.justify(N,W,g,u);else switch(H.alignTo){case"connectors":V=y.alignToConnectors(M,S,d,l);break;case"plotEdges":V=y.alignToPlotEdges(W,S,d,l);break;default:V=y.radialDistributionX(r,N,tt-_,et,W)}if(F.attribs={visibility:ut,align:F.alignment},F.posAttribs={x:V+(H.x||0)+({left:Y,right:-Y}[F.alignment]||0),y:tt+(H.y||0)-U/2},F.computed.x=V,F.computed.y=tt-_,A(H.crop,!0)){let J;V-(v=W.getBBox().width)<Y&&S===1?(J=Math.round(v-V+Y),x[3]=Math.max(J,x[3])):V+v>d-Y&&S===0&&(J=Math.round(V+v-d+Y),x[1]=Math.max(J,x[1])),tt-k/2<0?x[0]=Math.max(Math.round(-tt+k/2),x[0]):tt+k/2>p&&(x[2]=Math.max(Math.round(tt+k/2-p),x[2])),F.sideOverflow=J}}})}))}),(Gt(x)===0||this.verifyDataLabelOverflow(x))&&(this.placeDataLabels(),this.points.forEach(M=>{M.dataLabels?.forEach((S,O)=>{let{connectorColor:L,connectorWidth:P=1}=S.options||{},B=S.dataLabelPosition;if(T(P)){let z;b=S.connector,B&&B.distance>0?(z=!b,b||(S.connector=b=n.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+M.colorIndex+(M.className?" "+M.className:"")).add(r.dataLabelsGroups?.[O])),n.styledMode||b.attr({"stroke-width":P,stroke:L||M.color||"#666666"}),b[z?"attr":"animate"]({d:M.getConnectorPath(S)}),b.attr({visibility:B.attribs?.visibility})):b&&(S.connector=b.destroy())}})})))}function s(){this.points.forEach(r=>{(r.dataLabels||[]).forEach(a=>{let n=a.dataLabelPosition;n?(n.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-n.sideOverflow,0)+"px",textOverflow:a.options?.style?.textOverflow||"ellipsis"}),a.shortened=!0),a.attr(n.attribs),a[a.moved?"animate":"attr"](n.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete r.distributeBox},this)}function o(r){let a=this.center,n=this.options,d=n.center,p=n.minSize||80,l=p,c=n.size!==null;return!c&&(d[0]!==null?l=Math.max(a[2]-Math.max(r[1],r[3]),p):(l=Math.max(a[2]-r[1]-r[3],p),a[0]+=(r[3]-r[1])/2),d[1]!==null?l=nt(l,p,a[2]-Math.max(r[0],r[2])):(l=nt(l,p,a[2]-r[0]-r[2]),a[1]+=(r[0]-r[2])/2),l<a[2]?(a[2]=l,a[3]=Math.min(n.thickness?Math.max(0,l-2*n.thickness):Math.max(0,kt(n.innerSize||0,l)),l),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):c=!0),c}h.compose=function(r){if(qe.compose(Bo),xt(Va,"PieDataLabel")){let a=r.prototype;a.dataLabelPositioners=t,a.alignDataLabel=ja,a.drawDataLabels=i,a.getDataLabelPosition=e,a.placeDataLabels=s,a.verifyDataLabelOverflow=o}}})(yi||(yi={}));let Za=yi;(Ee=bi||(bi={})).getCenterOfPoints=function(h){let t=h.reduce((e,i)=>(e.x+=i.x,e.y+=i.y,e),{x:0,y:0});return{x:t.x/h.length,y:t.y/h.length}},Ee.getDistanceBetweenPoints=function(h,t){return Math.sqrt(Math.pow(t.x-h.x,2)+Math.pow(t.y-h.y,2))}
2,Ee.getAngleBetweenPoints=function(h,t){return Math.atan2(t.x-h.x,t.y-h.y)},Ee.pointInPolygon=function({x:h,y:t},e){let i=e.length,s,o,r=!1;for(s=0,o=i-1;s<i;o=s++){let[a,n]=e[s],[d,p]=e[o];n>t!=p>t&&h<(d-a)*(t-n)/(p-n)+a&&(r=!r)}return r};let{pointInPolygon:Ka}=bi;function Do(h,t){let e,i=!1;return h&&(e=h.newOpacity,h.oldOpacity!==e&&(h.hasClass("highcharts-data-label")?(h[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=!0,h[h.isOld?"animate":"attr"]({opacity:e},void 0,function(){t.styledMode||h.css({pointerEvents:e?"auto":"none"})}),D(t,"afterHideOverlappingLabel")):h.attr({opacity:e})),h.isOld=!0),i}let{defaultOptions:qa}=mt,{noop:Io}=C,_a={radius:0,scope:"stack",where:void 0},zo=Io,Ro=Io;function Ja(h,t,e,i,s={}){let o=zo(h,t,e,i,s),{brStart:r=!0,brEnd:a=!0,innerR:n=0,r:d=e,start:p=0,end:l=0}=s;if(s.open||!s.borderRadius)return o;let c=l-p,u=Math.sin(c/2),g=Math.max(Math.min(kt(s.borderRadius||0,d-n),(d-n)/2,d*u/(1+u)),0),f=Math.min(g,c/Math.PI*2*n),m=o.length-1;for(;m--;)(r||m!==0&&m!==3)&&(a||m!==1&&m!==2)&&(function(x,y,b){let v,k,w,M=x[y],S=x[y+1];if(S[0]==="Z"&&(S=x[0]),(M[0]==="M"||M[0]==="L")&&S[0]==="A"?(v=M,k=S,w=!0):M[0]==="A"&&(S[0]==="M"||S[0]==="L")&&(v=S,k=M),v&&k&&k.params){let O=k[1],L=k[5],P=k.params,{start:B,end:z,cx:I,cy:N}=P,W=L?O-b:O+b,H=W?Math.asin(b/W):0,$=L?H:-H,F=Math.cos(H)*W;w?(P.start=B+$,v[1]=I+F*Math.cos(B),v[2]=N+F*Math.sin(B),x.splice(y+1,0,["A",b,b,0,0,1,I+O*Math.cos(P.start),N+O*Math.sin(P.start)])):(P.end=z-$,k[6]=I+O*Math.cos(P.end),k[7]=N+O*Math.sin(P.end),x.splice(y+1,0,["A",b,b,0,0,1,I+F*Math.cos(z),N+F*Math.sin(z)])),k[4]=Math.abs(P.end-P.start)<Math.PI?0:1}})(o,m,m>1?f:g);return o}function Qa(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:h,yAxis:t}=this,e=h.stacking==="percent",i=qa.plotOptions?.[this.type]?.borderRadius,s=as(h.borderRadius,st(i)?i:{}),o=t.options.reversed;for(let r of this.points){let{shapeArgs:a}=r;if(r.shapeType==="roundedRect"&&a){let{width:n=0,height:d=0,y:p=0}=a,l=p,c=d;if(s.scope==="stack"&&r.stackTotal){let m=t.translate(e?100:r.stackTotal,!1,!0,!1,!0),x=t.translate(h.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(m,x),0,Math.abs(m-x));l=y.y,c=y.height}let u=(r.negative?-1:1)*(o?-1:1)==-1,g=s.where;!g&&this.is("waterfall")&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(g="all"),g||(g="end");let f=Math.min(kt(s.radius,n),n/2,g==="all"?c/2:1/0)||0;g==="end"&&(u&&(l-=f),c+=f),X(a,{brBoxHeight:c,brBoxY:l,r:f})}}}}function as(h,t){return st(h)||(h={radius:h||0}),G(_a,t,h)}function tn(){let h=as(this.options.borderRadius);for(let t of this.points){let e=t.shapeArgs;e&&(e.borderRadius=kt(h.radius,(e.r||0)-(e.innerR||0)))}}function en(h,t,e,i,s={}){let o=Ro(h,t,e,i,s),{r=0,brBoxHeight:a=i,brBoxY:n=t}=s,d=t-n,p=n+a-(t+i),l=d-r>-.1?0:r,c=p-r>-.1?0:r,u=Math.max(l&&d,0),g=Math.max(c&&p,0),f=[h+l,t],m=[h+e-l,t],x=[h+e,t+l],y=[h+e,t+i-c],b=[h+e-c,t+i],v=[h+c,t+i],k=[h,t+i-c],w=[h,t+l],M=(S,O)=>Math.sqrt(Math.pow(S,2)-Math.pow(O,2));if(u){let S=M(l,l-u);f[0]-=S,m[0]+=S,x[1]=w[1]=t+l-u}if(i<l-u){let S=M(l,l-u-i);x[0]=y[0]=h+e-l+S,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=h+l-S,x[1]=w[1]=t+i}if(g){let S=M(c,c-g);b[0]+=S,v[0]-=S,y[1]=k[1]=t+i-c+g}if(i<c-g){let S=M(c,c-g-i);x[0]=y[0]=h+e-c+S,m[0]=Math.min(x[0],m[0]),f[0]=Math.max(y[0],f[0]),k[0]=w[0]=h+c-S,y[1]=k[1]=t}return o.length=0,o.push(["M",...f],["L",...m],["A",l,l,0,0,1,...x],["L",...y],["A",c,c,0,0,1,...b],["L",...v],["A",c,c,0,0,1,...k],["L",...w],["A",l,l,0,0,1,...f],["Z"]),o}function sn(h,t){let e=h.condition;(e.callback||function(){return this.chartWidth<=A(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=A(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=A(e.minWidth,0)&&this.chartHeight>=A(e.minHeight,0)}).call(this,this)&&t.push(h._id)}function on(h,t){let e=this.options.responsive,i=this.currentResponsive,s=[],o;
vendor: 4,237 bytes, line 2
2!t&&e&&e.rules&&e.rules.forEach(n=>{n._id===void 0&&(n._id=zt()),this.matchResponsiveRule(n,s)},this);let r=G(...s.map(n=>It(e?.rules||[],d=>d._id===n)).map(n=>n?.chartOptions));r.isResponsiveOptions=!0,s=s.toString()||void 0;let a=i?.ruleIds;s!==a&&(i&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(i.undoOptions,h,!0),this.updatingResponsive=!1),s?((o=we(r,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:s,mergedOptions:r,undoOptions:o},this.updatingResponsive||this.update(r,h,!0)):this.currentResponsive=void 0)}(vi||(vi={})).compose=function(h){let t=h.prototype;return t.matchResponsiveRule||X(t,{matchResponsiveRule:sn,setResponsive:on}),h};let rn=vi;C.AST=ct,C.Axis=Kt,C.Chart=Ze,C.Color=dt,C.DataLabel=qe,C.DataTableCore=fe,C.Fx=Pt,C.HTMLElement=ue,C.Legend=yo,C.LegendSymbol=po,C.PlotLineOrBand=Ve,C.Point=qt,C.Pointer=no,C.RendererRegistry=ee,C.Series=Lt,C.SeriesRegistry=it,C.StackItem=Ji,C.SVGElement=Rt,C.SVGRenderer=Fe,C.Templating=Ot,C.Tick=ge,C.Time=Ei,C.Tooltip=ro,C.addEvent=R,C.animObject=St.animObject,C.animate=St.animate,C.arrayMax=Gt,C.arrayMin=Qt,C.attr=Mt,C.chart=Ze.chart,C.clamp=nt,C.color=dt.parse,C.correctFloat=K,C.createElement=vt,C.css=Z,C.dateFormat=Ot.dateFormat,C.defaultOptions=mt.defaultOptions,C.defined=E,C.destroyObjectProperties=Xt,C.diffObjects=we,C.discardElement=Me,C.distribute=Se.distribute,C.erase=wt,C.error=pt,C.extend=X,C.extendClass=Ls,C.find=It,C.fireEvent=D,C.format=Ot.format,C.getDeferredAnimation=St.getDeferredAnimation,C.getMagnitude=Pi,C.getOptions=mt.getOptions,C.getStyle=jt,C.insertItem=We,C.isArray=ot,C.isClass=Es,C.isDOMElement=Oi,C.isFunction=le,C.isNumber=T,C.isObject=st,C.isString=Q,C.merge=G,C.normalizeTickInterval=Re,C.numberFormat=Ot.numberFormat,C.objectEach=j,C.offset=Bs,C.pad=$t,C.pick=A,C.pInt=lt,C.relativeLength=kt,C.removeEvent=Ct,C.seriesType=it.seriesType,C.setAnimation=St.setAnimation,C.setOptions=mt.setOptions,C.splat=gt,C.stableSort=de,C.stop=St.stop,C.syncTimeout=Ht,C.time=mt.defaultTime,C.timers=Pt.timers,C.timeUnits=rt,C.uniqueKey=zt,C.useSerialIds=function(h){return Nt=A(h,Nt)},C.wrap=zs,{compose:function(h,t,e){let i=h.types.pie;if(!t.symbolCustomAttribs.includes("borderRadius")){let s=e.prototype.symbols;R(h,"afterColumnTranslate",Qa,{order:9}),R(i,"afterTranslate",tn),t.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),zo=s.arc,Ro=s.roundedRect,s.arc=Ja,s.roundedRect=en}},optionsToObject:as}.compose(C.Series,C.SVGElement,C.SVGRenderer),Ha.compose(C.Series.types.column),qe.compose(C.Series),io.compose(C.Axis),ue.compose(C.SVGRenderer),yo.compose(C.Chart),Fr.compose(C.Axis),(Ms=(Ps=C.Chart).prototype).hideOverlappingLabels||(Ms.hideOverlappingLabels=function(h){let t=h.length,e=(p,l)=>!(l.x>=p.x+p.width||l.x+l.width<=p.x||l.y>=p.y+p.height||l.y+l.height<=p.y),i=(p,l)=>{for(let c of p)if(Ka({x:c[0],y:c[1]},l))return!0;return!1},s,o,r,a,n,d=!1;for(let p=0;p<t;p++)(s=h[p])&&(s.oldOpacity=s.opacity,s.newOpacity=1,s.absoluteBox=(function(l){if(l&&(!l.alignAttr||l.placed)){let c=l.box?0:l.padding||0,u=l.alignAttr||{x:l.attr("x"),y:l.attr("y")},{height:g,polygon:f,width:m}=l.getBBox(),x=Tt(l.alignValue)*m;return l.width=m,l.height=g,{x:u.x+(l.parentGroup?.translateX||0)+c-x,y:u.y+(l.parentGroup?.translateY||0)+c,width:m-2*c,height:g-2*c,polygon:f}}})(s));h.sort((p,l)=>(l?.labelrank||0)-(p?.labelrank||0));for(let p=0;p<t;++p){a=(o=h[p])&&o.absoluteBox;let l=a?.polygon;for(let c=p+1;c<t;++c){n=(r=h[c])&&r.absoluteBox;let u=!1;if(a&&n&&o!==r&&o?.newOpacity!==0&&r?.newOpacity!==0&&o?.visibility!=="hidden"&&r?.visibility!=="hidden"){let g=n.polygon;if(l&&g&&l!==g?i(l,g)&&(u=!0):e(a,n)&&(u=!0),u){let f=o?.labelrank<r?.labelrank?o:r,m=f?.text;f&&(f.newOpacity=0),m?.element.querySelector("textPath")&&m.hide()}}}}for(let p of h)p&&Do(p,this)&&(d=!0);d&&D(this,"afterHideAllOverlappingLabels")},R(Ps,"render",function(){let h=this,t=[];for(let e of h.labelCollectors||[])t=t.concat(e());for(let e of h.yAxis||[])e.stacking&&e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&j(e.stacking.stacks,i=>{j(i,s=>{s.label&&t.push(s.label)})});for(let e of h.series||[])if(e.visible&&e.hasDataLabels?.()){let i=s=>
2{for(let o of s)o.visible&&(o.dataLabels||[]).forEach(r=>{let a=r.options||{};r.labelrank=A(a.labelrank,o.labelrank,o.shapeArgs?.height),a.allowOverlap??Number(a.distance)>0?(r.oldOpacity=r.opacity,r.newOpacity=1,Do(r,h)):t.push(r)})};i(e.nodes||[]),i(e.points)}this.hideOverlappingLabels(t)})),Za.compose(C.Series.types.pie),Ve.compose(C.Chart,C.Axis),no.compose(C.Chart),rn.compose(C.Chart),Mo.compose(C.Axis,C.Chart,C.Series),Ba.compose(C.Axis,C.Chart,C.Series),ro.compose(C.Pointer);let{tooltipFormatter:an}=qt.prototype;(function(h){function t(l,c,u){!this.isXAxis&&(this.series.forEach(function(g){l==="compare"&&typeof c!="boolean"?g.setCompare(c,!1):l!=="cumulative"||Q(c)||g.setCumulative(c,!1)}),A(u,!0)&&this.chart.redraw())}function e(l){let c=this,{numberFormatter:u}=c.series.chart,g=function(f){l=l.replace("{point."+f+"}",(c[f]>0&&f==="change"?"+":"")+u(c[f],A(c.series.tooltipOptions.changeDecimals,2)))};return E(c.change)&&g("change"),E(c.cumulativeSum)&&g("cumulativeSum"),an.apply(this,[l])}function i(){let l,c=this.options.linkedTo,u=this.chart;if(c){let f=c===":previous"?u.series[this.index-1]:u.get(c);f instanceof Lt&&(this.options.compare=A(this.userOptions.compare,f.options.compare))}let g=this.options.compare;(g==="percent"||g==="value"||this.options.cumulative)&&(l=new p(this),g==="percent"||g==="value"?l.initCompare(g):l.initCumulative()),this.dataModify=l}function s(l){let c=l.dataExtremes,u=c.activeYData;if(this.dataModify&&c){let g;this.options.compare?g=[this.dataModify.modifyValue(c.dataMin),this.dataModify.modifyValue(c.dataMax)]:this.options.cumulative&&ot(u)&&u.length>=2&&(g=p.getCumulativeExtremes(u)),g&&(c.dataMin=Qt(g),c.dataMax=Gt(g))}}function o(l,c){this.options.compare=this.userOptions.compare=l,this.update({},A(c,!0)),this.dataModify&&(l==="value"||l==="percent")?this.dataModify.initCompare(l):this.points.forEach(u=>{delete u.change})}function r(){let l=this.getColumn(this.pointArrayMap&&(this.options.pointValKey||this.pointValKey)||"y",!0);if(this.xAxis&&l.length&&this.dataModify){let c=this.getColumn("x",!0),u=this.dataTable.rowCount,g=+(this.options.compareStart!==!0);for(let f=0;f<u-g;f++){let m=l[f];if(T(m)&&m!==0&&c[f+g]>=(this.xAxis.min||0)){this.dataModify.compareValue=m;break}}}}function a(l,c){this.setModifier("compare",l,c)}function n(l,c){l=A(l,!1),this.options.cumulative=this.userOptions.cumulative=l,this.update({},A(c,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(u=>{delete u.cumulativeSum})}function d(l,c){this.setModifier("cumulative",l,c)}h.compose=function(l,c,u){let g=c.prototype,f=u.prototype,m=l.prototype;return m.setCompare||(m.setCompare=o,m.setCumulative=n,R(l,"afterInit",i),R(l,"afterGetExtremes",s),R(l,"afterProcessData",r)),g.setCompare||(g.setCompare=a,g.setModifier=t,g.setCumulative=d,f.tooltipFormatter=e),l};class p{constructor(c){this.series=c}modifyValue(){return 0}static getCumulativeExtremes(c){let u=1/0,g=-1/0;return c.reduce((f,m)=>{let x=f+m;return u=Math.min(u,x,f),g=Math.max(g,x,f),x}),[u,g]}initCompare(c){this.modifyValue=function(u,g){u===null&&(u=0);let f=this.compareValue;if(u!==void 0&&f!==void 0){if(c==="value"?u-=f:u=u/Math.abs(f)*100-100*(this.series.options.compareBase!==100),g!==void 0){let m=this.series.points[g];m&&(m.change=u)}return u}return 0}}initCumulative(){this.modifyValue=function(c,u){if(c===null&&(c=0),c!==void 0&&u!==void 0){let g=u>0?this.series.points[u-1]:null;g&&g.cumulativeSum&&(c=K(g.cumulativeSum+c));let f=this.series.points[u],m=f.series.options.cumulativeStart,x=f.x<=this.series.xAxis.max&&f.x>=this.series.xAxis.min;return f&&(!m||x?f.cumulativeSum=c:f.cumulativeSum=void 0),c}return 0}}}h.Additions=p})(ki||(ki={}));let nn=ki,{isTouchDevice:Wo}=C,hn=[];function ln(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function dn(){let h,t,e,i=this.legend,s=this.navigator;if(s){h=i&&i.options,t=s.xAxis,e=s.yAxis;let{scrollbarHeight:o,scrollButtonSize:r}=s;this.inverted?(s.left=s.opposite?this.chartWidth-o-s.height:this.spacing[3]+o,s.top=this.plotTop+r):(s.left=A(t.left,this.plotLeft+r),s.top=s.navigatorOptions.top||this.chartHe
vendor: 6,991 bytes, line 2
2ight-s.height-o-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(h&&h.verticalAlign==="bottom"&&h.layout!=="proximate"&&h.enabled&&!h.floating?i.legendHeight+A(h.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),t&&e&&(this.inverted?t.options.left=e.options.left=s.left:t.options.top=e.options.top=s.top,t.setAxisSize(),e.setAxisSize())}}function cn(h){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new ei(this),A(h.redraw,!0)&&this.redraw(h.animation))}function pn(){let h=this.options;(h.navigator.enabled||h.scrollbar.enabled)&&(this.scroller=this.navigator=new ei(this))}function un(){let h=this.options,t=h.navigator,e=h.rangeSelector;if((t&&t.enabled||e&&e.enabled)&&(!Wo&&this.zooming.type==="x"||Wo&&this.zooming.pinchType==="x"))return!1}function gn(h){let t=h.navigator;if(t&&h.xAxis[0]){let e=h.xAxis[0].getExtremes();t.render(e.min,e.max)}}function fn(h){let t=h.options.navigator||{},e=h.options.scrollbar||{};!this.navigator&&!this.scroller&&(t.enabled||e.enabled)&&(G(!0,this.options.navigator,t),G(!0,this.options.scrollbar,e),delete h.options.navigator,delete h.options.scrollbar)}let mn=function(h,t){if(xt(hn,h)){let e=h.prototype;ei=t,e.callbacks.push(gn),R(h,"afterAddSeries",ln),R(h,"afterSetChartSize",dn),R(h,"afterUpdate",cn),R(h,"beforeRender",pn),R(h,"beforeShowResetZoom",un),R(h,"update",fn)}},{isTouchDevice:xn}=C;function yn(){this.navigatorAxis||(this.navigatorAxis=new ns(this))}function bn(h){let t,e=this.chart,i=e.options,s=i.navigator,o=this.navigatorAxis,r=e.zooming.pinchType,a=i.rangeSelector,n=e.zooming.type;if(this.isXAxis&&(s?.enabled||a?.enabled)){if(n==="y"&&h.trigger==="zoom")t=!1;else if((h.trigger==="zoom"&&n==="xy"||xn&&r==="xy")&&this.options.range){let d=o.previousZoom;E(h.min)?o.previousZoom=[this.min,this.max]:d&&(h.min=d[0],h.max=d[1],o.previousZoom=void 0)}}t!==void 0&&h.preventDefault()}class ns{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),R(t,"init",yn),R(t,"setExtremes",bn))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,a=A(i,o.translate(t,!0,!o.horiz)),n=A(s,o.translate(e,!0,!o.horiz));return E(i)||(a=K(a+r)),E(s)||(n=K(n-r)),T(a)&&T(n)||(a=n=void 0),{min:a,max:n}}}let{parse:vn}=dt,{seriesTypes:kn}=it,hs={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:vn("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:kn.areaspline===void 0?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},Mn={"navigator-handle":function(h,t,e,i,s={}){let o=s.width?s.width/2:e,r=kt(s.borderRadius||0,Math.min(2*o,i));return[["M",-1.5,(i=s.height||i)/2-3.5],["L",-1.5,i/2+4.5],["M",.5,i/2-3.5],["L",.5,i/2+4.5],...Wi.rect(-o-1,.5,2*o+1,i,{r})]}},No={setFixedRange:function(h){let t=this.xAxis[0];E(t.dataMax)&&E(t.dataMin)&&h?this.fixedRange=Math.min(h,t.dataMax-t.dataMin):this.fixedRange=h}},{defaultOptions:wn}=mt,{composed:Sn}=C,{getRendererType:An}=ee,{setFixedRange:Tn}=No;function Cn(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let Pn=function(h,t,e){ns.compose(t),xt(Sn,"Navigator")&&(h.prototype.setFixedRange=Tn,X(An().prototype.symbols,Mn),X(wn,{navigator:hs}),R(e,"afterUpdate",Cn))},{composed:On}=C;(function(h){let t;function e(r){let a=A(r.options?.min,r.min),n=A(r.options?.max,r.max);return{axisMin:a,axisMax:n,scrollMin:E(r.dataMin)?Math.min(a,r.min??1/0,r.dataMin,r.threshold??1/0):a,scrollMax:r.treeGrid?.adjustedMax??(E(r.dataMax)?Math.max(n,r.max??-1/0,r.dataMax,r.threshold??-1/0):n)}}function i(){let r=this.scrollbar,a=r&&!r.options.opposite,n=this.horiz?2:a?3:1;r&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[n]+=r.size+(r.options.margin||0))}function s(){let r=this;r.options?.scrollbar?.enabled&&(r.options.scrollbar.vertical=!r.horiz,r.options.startOnTick=r.options.endOnTick=!1,r.scrollbar=new t(r.chart.renderer,r.options.scrollbar,r.chart),R(r.scrollbar,"changed",function(a){let n,d,{axisMin:p,axisMax:l,scrollMin:c,scrollMax:u}=e(r),g=r.toPixels(c),f=r.toPixels(u)-g;if(E(p)&&E(l))if(r.horiz&&!r.reversed||!r.horiz&&r.reversed?(n=Math.min(u,r.toValue(g+f*this.to)),d=Math.max(c,r.toValue(g+f*this.from))):(n=Math.min(u,r.toValue(g+f*(1-this.from))),d=Math.max(c,r.toValue(g+f*(1-this.to)))),this.shouldUpdateExtremes(a.DOMType)){let m=a.DOMType!=="mousemove"&&a.DOMType!=="touchmove"&&void 0;r.setExtremes(K(d),K(n),!0,m,a)}else this.setRange(this.from,this.to)}))}function o(){let r,a,n,{scrollMin:d,scrollMax:p}=e(this),l=this.scrollbar,c=(this.axisTitleMargin||0)+(this.titleOffset||0),u=this.chart.scrollbarsOffsets,g=this.options.margin||0;if(l&&u){if(this.horiz)this.opposite||(u[1]+=c),l.position(this.left,this.top+this.height+2+u[1]-(this.opposite?g:0),this.width,this.height),this.opposite||(u[1]+=g),r=1;else{let f;this.opposite&&(u[0]+=c),f=l.options.opposite?this.left+this.width+2+u[0]-(this.opposite?0:g):this.opposite?0:g,l.position(f,this.top,this.width,this.height),this.opposite&&(u[0]+=g),r=0}if(u[r]+=l.size+(l.options.margin||0),isNaN(d)||isNaN(p)||!E(this.min)||!E(this.max)||E(this.dataMin)&&this.dataMin===this.dataMax)l.setRange(0,1);else if(this.min===this.max){let f=this.pointRange/(this.dataMax+1);a=f*this.min,n=f*(this.max+1),l.setRange(a,n)}else a=(this.toPixels(this.min)-this.toPixels(d))/(this.toPixels(p)-this.toPixels(d)),n=(this.toPixels(this.max)-this.toPixels(d))/(this.toPixels(p)-this.toPixels(d)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?l.setRange(a,n):l.setRange(1-n,1-a)}}h.compose=function(r,a){xt(On,"Axis.Scrollbar")&&(t=a,R(r,"afterGetOffset",i),R(r,"afterInit",s),R(r,"afterRe
2nder",o))}})(Mi||(Mi={}));let Ln=Mi,Je={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:Go}=mt,{composed:En}=C,Xo=(()=>{class h{static compose(e){Ln.compose(e,h),xt(En,"Scrollbar")&&X(Go,{scrollbar:Je})}static swapXY(e,i){return i&&e.forEach(s=>{let o,r=s.length;for(let a=0;a<r;a+=2)typeof(o=s[a+1])=="number"&&(s[a+1]=s[a+2],s[a+2]=o)}),e}constructor(e,i,s){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(e,i,s)}addEvents(){let e=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,s=this.scrollbarGroup.element,o=this.track.element,r=this.mouseDownHandler.bind(this),a=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),d=[[i[e[0]].element,"click",this.buttonToMinClick.bind(this)],[i[e[1]].element,"click",this.buttonToMaxClick.bind(this)],[o,"click",this.trackClick.bind(this)],[s,"mousedown",r],[s.ownerDocument,"mousemove",a],[s.ownerDocument,"mouseup",n],[s,"touchstart",r],[s.ownerDocument,"touchmove",a],[s.ownerDocument,"touchend",n]];d.forEach(function(p){R.apply(null,p)}),this._events=d}buttonToMaxClick(e){let i=(this.to-this.from)*A(this.options.step,.2);this.updatePosition(this.from+i,this.to+i),D(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:e})}buttonToMinClick(e){let i=K(this.to-this.from)*A(this.options.step,.2);this.updatePosition(K(this.from-i),K(this.to-i)),D(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:e})}cursorToScrollbarPosition(e){let i=this.options,s=i.minWidth>this.calculatedWidth?i.minWidth:0;return{chartX:(e.chartX-this.x-this.xOffset)/(this.barWidth-s),chartY:(e.chartY-this.y-this.yOffset)/(this.barWidth-s)}}destroy(){let e=this,i=e.chart.scroller;e.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(s){e[s]&&e[s].destroy&&(e[s]=e[s].destroy())}),i&&e===i.scrollbar&&(i.scrollbar=null,Xt(i.scrollbarButtons))}drawScrollbarButton(e){let i=this.renderer,s=this.scrollbarButtons,o=this.options,r=this.size,a=i.g().add(this.group);if(s.push(a),o.buttonsEnabled){let n=i.rect().addClass("highcharts-scrollbar-button").add(a);this.chart.styledMode||n.attr({stroke:o.buttonBorderColor,"stroke-width":o.buttonBorderWidth,fill:o.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:r,height:r,r:o.buttonBorderRadius},n.strokeWidth()));let d=i.path(h.swapXY([["M",r/2+(e?-1:1),r/2-3],["L",r/2+(e?-1:1),r/2+3],["L",r/2+(e?2:-2),r/2]],o.vertical)).addClass("highcharts-scrollbar-arrow").add(s[e]);this.chart.styledMode||d.attr({fill:o.buttonArrowColor})}}init(e,i,s){this.scrollbarButtons=[],this.renderer=e,this.userOptions=i,this.options=G(Je,Go.scrollbar,i),this.options.margin=A(this.options.margin,10),this.chart=s,this.size=A(this.options.size,this.options.height),i.enabled&&(this.render(),this.addEvents())}mouseDownHandler(e){let i=this.chart.pointer?.normalize(e)||e,s=this.cursorToScrollbarPosition(i);this.chartX=s.chartX,this.chartY=s.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(e){let i,s=this.chart.pointer?.normalize(e)||e,o=this.options.vertical?"chartY":"chartX",r=this.initPositions||[];this.grabbedCenter&&(!e.touches||e.touches[0][o]!==0)&&(i=this.cursorToScrollbarPosition(s)[o]-this[o],this.hasDragged=!0,this.updatePosition(r[0]+i,r[1]+i),this.hasDragged&&D(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}))}mouseUpHandler(e){this.hasDragged&&D(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:e.type,DOMEvent:e}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(e,i,s,o){let{buttonsEnabled:r,margin:a=0,vertical:n}=this.options,d=this.rendered?"animate":"attr",p=o,l=0;this.group.show(),this.x=e,this.y=i+this.trackBorderWidth,this.width=s,this.height=o,this.xOffset=p,this.yOffset=l,n?(this.width=this.yOffset=s=l=this.size,this.xOffset=p=0,this.yOffset=l=r?this.size:0,this.barWidth=o-(r?2*s:0),this.x=e+=a):(this.height=o=this.size,this.xOffset=p=r?this.size:0,this.barWidth=s-(r?2*o:0),this.y=this.y+a),this.group[d]({translateX:e,translateY:this.y}),this.track[d]({width:s,height:o}),this.scrollbarButtons[1][d]({translateX:n?0:s-p,translateY:n?o-l:0})}
vendor: 14,916 bytes, line 2
2removeEvents(){this._events.forEach(function(e){Ct.apply(null,e)}),this._events.length=0}render(){let e=this.renderer,i=this.options,s=this.size,o=this.chart.styledMode,r=e.g("scrollbar").attr({zIndex:i.zIndex}).hide().add();this.group=r,this.track=e.rect().addClass("highcharts-scrollbar-track").attr({r:i.trackBorderRadius||0,height:s,width:s}).add(r),o||this.track.attr({fill:i.trackBackgroundColor,stroke:i.trackBorderColor,"stroke-width":i.trackBorderWidth});let a=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-ht(0,a),y:-ht(0,a)}),this.scrollbarGroup=e.g().add(r),this.scrollbar=e.rect().addClass("highcharts-scrollbar-thumb").attr({height:s-a,width:s-a,r:i.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=e.path(h.swapXY([["M",-3,s/4],["L",-3,2*s/3],["M",0,s/4],["L",0,2*s/3],["M",3,s/4],["L",3,2*s/3]],i.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),o||(this.scrollbar.attr({fill:i.barBackgroundColor,stroke:i.barBorderColor,"stroke-width":i.barBorderWidth}),this.scrollbarRifles.attr({stroke:i.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-ht(0,this.scrollbarStrokeWidth),-ht(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(e,i){let s,o,r=this.options,a=r.vertical,n=r.minWidth,d=this.barWidth,p=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!E(d))return;let l=d*Math.min(i,1);s=Math.ceil(d*(e=Math.max(e,0))),this.calculatedWidth=o=K(l-s),o<n&&(s=(d-n+o)*e,o=n);let c=Math.floor(s+this.xOffset+this.yOffset),u=o/2-.5;this.from=e,this.to=i,a?(this.scrollbarGroup[p]({translateY:c}),this.scrollbar[p]({height:o}),this.scrollbarRifles[p]({translateY:u}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[p]({translateX:c}),this.scrollbar[p]({width:o}),this.scrollbarRifles[p]({translateX:u}),this.scrollbarLeft=c,this.scrollbarTop=0),o<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),r.showFull===!1&&(e<=0&&i>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(e){return A(this.options.liveRedraw,C.svg&&!C.isTouchDevice&&!this.chart.boosted)||e==="mouseup"||e==="touchend"||!E(e)}trackClick(e){let i=this.chart.pointer?.normalize(e)||e,s=this.to-this.from,o=this.y+this.scrollbarTop,r=this.x+this.scrollbarLeft;this.options.vertical&&i.chartY>o||!this.options.vertical&&i.chartX>r?this.updatePosition(this.from+s,this.to+s):this.updatePosition(this.from-s,this.to-s),D(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:e})}update(e){this.destroy(),this.init(this.chart.renderer,G(!0,this.options,e),this.chart)}updatePosition(e,i){i>1&&(e=K(1-K(i-e)),i=1),e<0&&(i=K(i-e),e=0),this.from=e,this.to=i}}return h.defaultOptions=Je,h})(),{defaultOptions:ls}=mt,{isTouchDevice:Bn}=C;function Qe(h,...t){let e=[].filter.call(t,T);if(e.length)return Math[h].apply(0,e)}class ds{static compose(t,e,i){mn(t,ds),Pn(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),a=r/2,n=r%2/2,d=this.scrollButtonSize,p=this.size,l=this.top,c=this.height,u=l-a,g=l+c,f=this.left,m,x;i?(m=l+e+n,e=l+t+n,x=[["M",f+c,l-d-n],["L",f+c,m],["L",f,m],["M",f,e],["L",f+c,e],["L",f+c,l+p+d]],o&&x.push(["M",f+c,m-a],["L",f+c,e+a])):(f-=d,t+=f+d-n,e+=f+d-n,x=[["M",f,u],["L",t,u],["L",t,g],["M",e,g],["L",e,u],["L",f+p+2*d,u]],o&&x.push(["M",t-a,u],["L",e+a,u])),this.outline[s]({d:x})}drawMasks(t,e,i,s){let o,r,a,n,d=this.left,p=this.top,l=this.height;i?(a=[d,d,d],n=[p,p+t,p+e],r=[l,l,l],o=[t,e-t,this.size-e]):(a=[d,d+t,d+e],n=[p,p,p],r=[t,e-t,this.size-e],o=[l,l,l]),this.shades.forEach((c,u)=>{c[s]({x:a[u],y:n[u],width:r[u],height:o[u]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,a={cursor:o?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((d,p)=>{let l=t.shades[p]??(t.shades[p]=r.rect().addClass("highcharts-navigator-mask"+(p===1?"-inside":"-outside")).add(n));s.styledMode||(l.attr({fill:d?e.maskFill:"rgba(0,0,0,0)"}),p===1&&l.css(a))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let d=!1,p=e.handles,{height:l,width:c}=p;[0,1].forEach(u=>{let g=p.symbols[u];(d=d||t.handles[u]?.symbolName!==g)&&(t.handles[u]?.destroy(),t.handles[u]=r.symbol(g,-c/2-1,0,c,l,p),t.handles[u].attr({zIndex:7-u}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][u]).add(n)),s.inverted&&t.handles[u].attr({rotation:90,rotationOriginX:Math.floor(-c/2),rotationOriginY:(l+c)/2}),s.styledMode||t.handles[u].attr({fill:p.backgroundColor,stroke:p.borderColor,"stroke-width":p.lineWidth,width:p.width,height:p.height,x:-c/2-1,y:0}).css(a)}),d&&(t.partsEventsToUnbind?.forEach(u=>{u()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(G(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),E(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,t.adaptToUpdatedData===!1&&this.baseSeries.forEach(o=>{Ct(o,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(o=>{o.eventsToUnbind.push(R(o,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let o=this.getXAxisOffsets();this.xAxis.update(te(Wt({},t.xAxis),{offsets:o,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0}),!1),this.yAxis.update(te(Wt({},t.yAxis),{[i.inverted?"width":"height"]:this.height}),!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,a=r.pointRange||0,n=r.navigatorAxis.fake?o.xAxis[0]:r,d=this.navigatorEnabled,p=this.rendered,l=o.inverted,c=o.xAxis[0].minRange,u=o.xAxis[0].options.maxRange,g=this.scrollButtonSize,f,m,x,y=this.scrollbarHeight,b,v;if(this.hasDragged&&!E(i))return;if(this.isDirty&&this.renderElements(),t=K(t-a/2),e=K(e+a/2),!T(t)||!T(e))if(p)i=0,s=A(r.width,n.width);else return;this.left=A(r.left,o.plotLeft+g+(l?o.plotWidth:0));let k=this.size=b=A(r.len,(l?o.plotHeight:o.plotWidth)-2*g);f=l?y:b+2*g,i=A(i,r.toPixels(t,!0)),s=A(s,r.toPixels(e,!0)),T(i)&&Math.abs(i)!==1/0||(i=0,s=f);let w=r.toValue(i,!0),M=r.toValue(s,!0),S=Math.abs(K(M-w));E(c)&&S<c?this.grabbedLeft?i=r.toPixels(M-c-a,!0):this.grabbedRight&&(s=r.toPixels(w+c+a,!0)):E(u)&&K(S-a)>u&&(this.grabbedLeft?i=r.toPixels(M-u-a,!0):this.grabbedRight&&(s=r.toPixels(w+u+a,!0))),this.zoomedMax=nt(Math.max(i,s),0,k),this.zoomedMin=nt(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,k),this.range=this.zoomedMax-this.zoomedMin,k=Math.round(this.zoomedMax);let O=Math.round(this.zoomedMin);d&&(this.navigatorGroup.attr({visibility:"inherit"}),v=p&&!this.hasDragged?"animate":"attr",this.drawMasks(O,k,l,v),this.drawOutline(O,k,l,v),this.navigatorOptions.handles?.enabled&&(this.drawHandle(O,0,l,v),this.drawHandle(k,1,l,v))),this.scrollbar&&(l?(x=this.top-g,m=this.left-y+(d||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),y=b+2*g):(x=this.top+(d?this.height:-y),m=this.left-g),this.scrollbar.position(m,x,f,y),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1))),this.rendered=!0,this.isDirty=!1,D(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,o=s.container,r=[];i.mouseMoveHandler=t=function(a){i.onMouseMove(a)},i.mouseUpHandler=e=function(a){i.onMouseUp(a)},r.push(R(s.renderTo,"mousemove",t),R(o.ownerDocument,"mouseup",e),R(s.renderTo,"touchmove",t),R(o.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(R(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(o,r){i.push(R(o.element,t,function(a){e[`${s}Mousedown`](a,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,a=this.range,n=this.left,d=t.chartX,p,l,c,u;i.inverted&&(d=t.chartY,n=this.top),e===1?(this.grabbedCenter=d,this.fixedWidth=a,this.dragOffset=d-o):(u=d-n-a/2,e===0?u=Math.max(0,u):e===2&&u+a>=r&&(u=r-a,this.reversedExtremes?(u-=a,l=this.getUnionExtremes()?.dataMin):p=this.getUnionExtremes()?.dataMax),u!==o&&(this.fixedWidth=a,E((c=s.navigatorAxis.toFixedRange(u,u+a,l,p)).min)&&D(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;e===0?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,a=i.inverted,n=e.left,d;(!t.touches||t.touches[0].pageX!==0)&&(d=(t=i.pointer?.normalize(t)||t).chartX,a&&(n=e.top,d=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,d-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,d-n)):e.grabbedCenter&&r&&(e.hasDragged=!0,d<r?d=r:d>s+r-o&&(d=s+r-o),e.render(0,0,d-r,d-r+o)),e.hasDragged&&A(e.scrollbarOptions?.liveRedraw,!Bn&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,a,n=this.chart,d=this.xAxis,p=this.scrollbar,l=t.DOMEvent||t,c=n.inverted,u=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!p||!p.hasDragged)||t.trigger==="scrollbar")&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),this.zoomedMin===0&&(o=this.reversedExtremes?s.dataMax:s.dataMin),E((a=d.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&D(this,"setRange",{min:Math.min(a.min,a.max),max:Math.max(a.min,a.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:l}})),t.DOMType!=="mousemove"&&t.DOMType!=="touchmove"&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&T(this.zoomedMin)&&T(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,u),this.outline&&this.drawOutline(i,e,c,u),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,u),this.drawHandle(e,1,c,u)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(this.navigatorOptions.adaptToUpdatedData!==!1&&t.forEach(function(e){Ct(e,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&Ct(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,a=s&&i.height||0,n=r&&o.height||0,d=o.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=a,this.scrollbarHeight=n,this.scrollButtonSize=d,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let p=this,l=p.baseSeries,c=t.xAxis.length,u=t.yAxis.length,g=l&&l[0]&&l[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,p.navigatorEnabled){let f=this.getXAxisOffsets();p.xAxis=new Kt(t,G({breaks:g.options.breaks,ordinal:g.options.ordinal,overscroll:g.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:g.options.ordinal?0:g.options.minPadding,maxPadding:g.options.ordinal?0:g.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:f,width:a}:{offsets:f,height:a}),"xAxis"),p.yAxis=new Kt(t,G(i.yAxis,{alignTicks:!1,offset:0,index:u,isInternal:!0,reversed:A(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:a}:{height:a}),"yAxis"),l||i.series?.data?p.updateNavigatorSeries(!1):t.series.length===0&&(p.unbindRedraw=R(t,"beforeRedraw",function(){t.series.length>0&&!p.series&&(p.setBaseSeries(),p.unbindRedraw?.())})),p.reversedExtremes=t.inverted&&!p.xAxis.reversed||!t.inverted&&p.xAxis.reversed,p.renderElements(),p.addMouseEvents()}else p.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(f,m){let x=t.xAxis[0],y=x.getExtremes(),b=x.len-2*d,v=Qe("min",x.options.min,y.dataMin),k=Qe("max",x.options.max,y.dataMax)-v;return m?f*k/b+v:b*(f-v)/k},toPixels:function(f){return this.translate(f)},toValue:function(f){return this.translate(f,!0)}},p.xAxis.navigatorAxis.axis=p.xAxis,p.xAxis.navigatorAxis.toFixedRange=ns.prototype.toFixedRange.bind(p.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let f=G(t.options.scrollbar,{vertical:t.inverted});T(f.margin)||(f.margin=t.inverted?-3:3),t.scrollbar=p.scrollbar=new Xo(t.renderer,f,t),R(p.scrollbar,"changed",function(m){let x=p.size,y=x*this.to,b=x*this.from;p.hasDragged=p.scrollbar?.hasDragged,p.render(0,0,b,y),this.shouldUpdateExtremes(m.DOMType)&&setTimeout(function(){p.onMouseUp(m)})})}p.addBaseSeriesEvents(),p.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=A(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,a=i.options;return t&&i.dataMin===null||(e={dataMin:A(s.parse(r?.min),Qe("min",s.parse(a.min),i.dataMin,o.dataMin,o.min)),dataMax:A(s.parse(r?.max),Qe("max",s.parse(a.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?It(i.series,o=>
2!o.options.isInternal).index:0),(i.series||[]).forEach((o,r)=>{!o.options.isInternal&&(o.options.showInNavigator||(r===t||o.options.id===t)&&o.options.showInNavigator!==!1)&&s.push(o)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},a=i.series=(i.series||[]).filter(c=>{let u=c.baseSeries;return!(u&&0>o.indexOf(u))||(u&&(Ct(u,"updatedData",i.updatedDataHandler),delete u.navigatorSeries),c.chart&&c.destroy(),!1)}),n,d,p=i.navigatorOptions.series,l;o&&o.length&&o.forEach(c=>{let u=c.navigatorSeries,g=X({color:c.color,visible:c.visible},ot(p)?ls.navigator.series:p);if(u&&i.navigatorOptions.adaptToUpdatedData===!1)return;r.name="Navigator "+o.length,l=(n=c.options||{}).navigatorOptions||{},g.dataLabels=gt(g.dataLabels),(d=G(n,r,g,l)).pointRange=A(g.pointRange,l.pointRange,ls.plotOptions[d.type||"line"]?.pointRange);let f=l.data||g.data;i.hasNavigatorData=i.hasNavigatorData||!!f,d.data=f||n.data?.slice(0),u&&u.options?u.update(d,e):(c.navigatorSeries=s.initSeries(d),s.setSortedData(),c.navigatorSeries.baseSeries=c,a.push(c.navigatorSeries))}),(p?.data&&!(o&&o.length)||ot(p))&&(i.hasNavigatorData=!1,(p=gt(p)).forEach((c,u)=>{r.name="Navigator "+(a.length+1),(d=G(ls.navigator?.series,{color:s.series[u]&&!s.series[u].options.isInternal&&s.series[u].color||s.options.colors?.[u]||s.options.colors?.[0]},r,c)).data=c.data,d.data&&(i.hasNavigatorData=!0,a.push(s.initSeries(d)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(R(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(R(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(R(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),this.navigatorOptions.adaptToUpdatedData!==!1&&i.xAxis&&i.eventsToUnbind.push(R(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(R(i,"remove",function(){e&&wt(e,i),this.navigatorSeries&&t.series&&(wt(t.series,this.navigatorSeries),E(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(e,i){return Math.min(e,i.getColumn("x")[0]??e)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(t.getExtremes!==void 0){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,a=s.dataMin,n=s.dataMax,d=r-o,p=i?.stickToMin,l=i?.stickToMax,c=A(this.ordinal?.convertOverscroll(this.options.overscroll),0),u=i.series&&i.series[0],g=!!this.setExtremes;!(this.eventArgs&&this.eventArgs.trigger==="rangeSelectorButton")&&(p&&(t=(e=a)+d),l&&(t=n+c,p||(e=Math.max(a,t-d,i.getBaseSeriesMin(u&&u.xData?u.xData[0]:-Number.MAX_VALUE)))),g&&(p||l)&&T(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?Math.round(t.zoomedMin)===0:Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=A(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,a=s.options.range;return!!(T(o)&&T(r))&&(a&&o-i>0?o-i<a:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(R(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),R(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.he
vendor: 12,419 bytes, line 2
2ight+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),R(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(wt(this.chart.xAxis,this.xAxis),wt(this.chart.axes,this.xAxis)),this.yAxis&&(wt(this.chart.yAxis,this.yAxis),wt(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{Xt(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}(function(h){function t(c,u,g,f,m=[],x=0,y){let b={},v=this.options.tickPixelInterval,k=this.chart.time,w=[],M,S,O,L,P,B=0,z=[],I=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!m||m.length<3||u===void 0)return k.getTimeTicks.apply(k,arguments);let N=m.length;for(M=0;M<N;M++){if(P=M&&m[M-1]>g,m[M]<u&&(B=M),M===N-1||m[M+1]-m[M]>5*x||P){if(m[M]>I){for(S=k.getTimeTicks(c,m[B],m[M],f);S.length&&S[0]<=I;)S.shift();S.length&&(I=S[S.length-1]),w.push(z.length),z=z.concat(S)}B=M+1}if(P)break}if(S){if(L=S.info,y&&L.unitRange<=rt.hour){for(B=1,M=z.length-1;B<M;B++)k.dateFormat("%d",z[B])!==k.dateFormat("%d",z[B-1])&&(b[z[B]]="day",O=!0);O&&(b[z[0]]="day"),L.higherRanks=b}L.segmentStarts=w,z.info=L}else pt(12,!1,this.chart);if(y&&E(v)){let W=z.length,H=[],$=[],F,et,Y,U,_,V=W;for(;V--;)et=this.translate(z[V]),Y&&($[V]=Y-et),H[V]=Y=et;for($.sort((tt,ut)=>tt-ut),(U=$[Math.floor($.length/2)])<.6*v&&(U=null),V=z[W-1]>g?W-1:W,Y=void 0;V--;)_=Math.abs(Y-(et=H[V])),Y&&_<.8*v&&(U===null||_<.8*U)?(b[z[V]]&&!b[z[V+1]]?(F=V+1,Y=et):F=V,z.splice(F,1)):Y=et}return z}function e(c){let u=this.ordinal.positions;if(!u)return c;let g=u.length-1,f;return c<0?c=u[0]:c>g?c=u[g]:(g=Math.floor(c),f=c-g),f!==void 0&&u[g]!==void 0?u[g]+(f?f*(u[g+1]-u[g]):0):c}function i(c){let u=this.ordinal,g=this.old?this.old.min:this.min,f=this.old?this.old.transA:this.transA,m=u.getExtendedPositions();if(m?.length){let x=K((c-g)*f+this.minPixelPadding),y=K(u.getIndexOfPoint(x,m)),b=K(y%1);if(y>=0&&y<=m.length-1){let v=m[Math.floor(y)],k=m[Math.ceil(y)];return m[Math.floor(y)]+b*(k-v)}}return c}function s(c,u){let g=h.Additions.findIndexOf(c,u,!0);if(c[g]===u)return g;let f=(u-c[g])/(c[g+1]-c[g]);return g+f}function o(){this.ordinal||(this.ordinal=new h.Additions(this))}function r(){let{eventArgs:c,options:u}=this;if(this.isXAxis&&E(u.overscroll)&&u.overscroll!==0&&T(this.max)&&T(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.isFullRange=E(this.dataMin)&&E(this.dataMax)&&this.max-this.min==this.dataMax-this.dataMin,this.max===this.dataMax&&(c?.trigger!=="pan"||this.isInternal)&&c?.trigger!=="navigator")){let g=this.ordinal.convertOverscroll(u.overscroll);this.max+=g,!this.isInternal&&E(this.userMin)&&c?.trigger!=="mousewheel"&&(this.min+=g)}}function a(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function n(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function d(c){let u=this.xAxis[0],g=u.ordinal.convertOverscroll(u.options.overscroll),f=c.originalEvent.chartX,m=this.options.chart.panning,x=!1;if(m?.type!=="y"&&u.options.ordinal&&u.series.length&&(!c.touches||c.touches.length<=1)){let y,b,v=this.mouseDownX,k=u.getExtremes(),w=k.dataMin,M=k.dataMax,S=k.min,O=k.max,L=this.hoverPoints,P=u.closestPointRange||u.ordinal?.overscrollPointsRange,B=Math.round((v-f)/(u.translationSlope*(u.ordinal.slope||P))),z=u.ordinal.getExtendedPositions(),I={ordinal:{positions:z,extendedOrdinalPositions:z}},N=u.index2val,W=u.val2lin;if(S<=w&&B<=0||O>=M+g&&B>=0)return void c.preventDefault();I.ordinal.positions?Math.abs(B)>1&&(L&&L.forEach(function(H){H.setState()}),b=I.ordinal.positions,g&&(b=I.ordinal.positions=b.concat(u.ordinal.getOverscrollPositions())),M>b[b.length-1]&&b.push(M),this.setFixedRange(O-S),(y=u.navigatorAxis.toFixedRange(void 0,void 0,N.apply(I,[W.apply(I,[S,!0])+B]),N.apply(I,[W.apply(I,[O,!0])+B]))).min>=Math.min(b[0],S)&&y.max<=Math.max(b[b.length-1],O)+g&&u.setExtremes(y.min,y.max,!0,!1,{trigger:"pan"}),this.mouseDownX=f,Z(this.container,{cursor:"move"})):x=!0}else x=!0;x||m&&/y/.test(m.type)?g&&T(u.dataMax)&&(u.max=u.dataMax+g):c.preventDefault()}function p(){let c=this.xAxis;c?.options.ordinal&&(delete c.ordinal.index,delete c.ordinal.originalOrdinalRange)}function l(c,u){let g,f=this.ordinal,m=f.positions,x=f.slope,y;if(!m)return c;let b=m.length;if(m[0]<=c&&m[b-1]>=c)g=s(m,c);else{if(y=f.getExtendedPositions?.(),!y?.length)return c;let v=y.length;x||(x=(y[v-1]-y[0])/v);let k=s(y,m[0]);if(c>=y[0]&&c<=y[v-1])g=s(y,c)-k;else{if(!u)return c;g=c<y[0]?-k-(y[0]-c)/x:(c-y[v-1])/x+v-k}}return u?g:x*(g||0)+f.offset}h.compose=function(c,u,g){let f=c.prototype;return f.ordinal2lin||(f.getTimeTicks=t,f.index2val=e,f.lin2val=i,f.val2lin=l,f.ordinal2lin=f.val2lin,R(c,"afterInit",o),R(c,"foundExtremes",r),R(c,"afterSetScale",a),R(c,"initialAxisTranslation",n),R(g,"pan",d),R(g,"touchpan",d),R(u,"updatedData",p)),c},h.Additions=class{constructor(c){this.index={},this.axis=c}beforeSetTickPositions(){let c=this.axis,u=c.ordinal,g=c.getExtremes(),f=g.min,m=g.max,x=c.brokenAxis?.hasBreaks,y=c.options.ordinal,b=c.options.overscroll&&c.ordinal.convertOverscroll(c.options.overscroll)||0,v,k,w,M,S,O,L,P=[],B=Number.MAX_VALUE,z=!1,I=!1,N=!1;if(y||x){let W=0;if(c.series.forEach(function(H,$){let F=H.getColumn("x",!0);if(k=[],$>0&&H.options.id!=="highcharts-navigator-series"&&F.length>1&&(I=W!==F[1]-F[0]),W=F[1]-F[0],H.boosted&&(N=H.boosted),H.reserveSpace()&&(H.takeOrdinalPosition!==!1||x)&&(v=(P=P.concat(F)).length,P.sort(function(et,Y){return et-Y}),B=Math.min(B,A(H.closestPointRange,B)),v)){for($=0;$<v-1;)P[$]!==P[$+1]&&k.push(P[$+1]),$++;k[0]!==P[0]&&k.unshift(P[0]),P=k}}),c.ordinal.originalOrdinalRange||(c.ordinal.originalOrdinalRange=(P.length-1)*B),I&&N&&(P.pop(),P.shift()),(v=P.length)>2){for(w=P[1]-P[0],L=v-1;L--&&!z;)P[L+1]-P[L]!==w&&(z=!0);!c.options.keepOrdinalPadding&&(P[0]-f>w||m-b-P[v-1]>w)&&(z=!0)}else c.options.overscroll&&(v===2?B=P[1]-P[0]:v===1?(B=b,P=[P[0],P[0]+B]):B=u.overscrollPointsRange);z||c.forceOrdinal?(c.options.overscroll&&(u.overscrollPointsRange=B,P=P.concat(u.getOverscrollPositions())),u.positions=P,M=c.ordinal2lin(Math.max(f,P[0]),!0),S=Math.max(c.ordinal2lin(Math.min(m,P[P.length-1]),!0),1),u.slope=O=(m-f)/(S-M),u.offset=f-M*O):(u.overscrollPointsRange=A(c.closestPointRange,u.overscrollPointsRange),u.positions=c.ordinal.slope=u.offset=void 0)}c.isOrdinal=y&&z,u.groupIntervalFactor=null}static findIndexOf(c,u,g){let f=0,m=c.length-1,x;for(;f<m;)c[x=Math.ceil((f+m)/2)]<=u?f=x:m=x-1;return c[f]===u||g?f:-1}getExtendedPositions(c=!0){let u=this,g=u.axis,f=g.constructor.prototype,m=g.chart,x=g.series.reduce((M,S)=>{let O=S.currentDataGrouping;return M+(O?O.count+O.unitName:"raw")},""),y=c?g.ordinal.convertOverscroll(g.options.overscroll):0,b=g.getExtremes(),v,k,w=u.index;return w||(w=u.index={}),!w[x]&&((v={series:[],chart:m,forceOrdinal:!1,getExtremes:function(){return{min:b.dataMin,max:b.dataMax+y}},applyGrouping:f.applyGrouping,getGroupPixelWidth:f.getGroupPixelWidth,getTimeTicks:f.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:f.ordinal2lin,getIndexOfPoint:f.getIndexOfPoint,val2lin:f.val2lin}).ordinal.axis=v,g.series.forEach(M=>{if(M.takeOrdinalPosition===!1)return;k={xAxis:v,chart:m,groupPixelWidth:M.groupPixelWidth,destroyGroupedData:C.noop,getColumn:M.getColumn,applyGrouping:M.applyGrouping,getProcessedData:M.getProcessedData,reserveSpace:M.reserveSpace,visible:M.visible};let S=M.getColumn("x").concat(c?u.getOverscrollPositions():[]);k.dataTable=new fe({columns:{x:S}}),k.options=te(Wt({},M.options),{dataGrouping:M.currentDataGrouping?{firstAnchor:M.options.dataGrouping?.firstAnchor,anchor:M.options.dataGrouping?.anchor,lastAnchor:M.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[M.currentDataGrouping.unitName,[M.currentDataGrouping.count]]]}:{enabled:!1}}),v.series.push(k),M.processData.apply(k)}),v.applyGrouping({hasExtremesChanged:!0}),k?.closestPointRange!==k?.basePointRange&&k.currentDataGrouping&&(v.forceOrdinal=!0),g.ordinal.beforeSetTickPositions.apply({axis:v}),!g.ordinal.originalOrdinalRange&&v.ordinal.originalOrdinalRange&&(g.ordinal.originalOrdinalRange=v.ordinal.originalOrdinalRange),v.ordinal.positions&&(w[x]=v.ordinal.positions)),w[x]}getGroupIntervalFactor(c,u,g){let f=g.getColumn("x",!0),m=f.length,x=[],y,b,v=this.groupIntervalFactor;if(!v){for(b=0;b<m-1;b++)x[b]=f[b+1]-f[b];x.sort(function(k,w){return k-w}),y=x[Math.floor(m/2)],c=Math.max(c,f[0]),u=Math.min(u,f[m-1]),this.groupIntervalFactor=v=m*y/(u-c)}return v}getIndexOfPoint(c,u){let g=this.axis,f=g.min,m=g.minPixelPadding;return s(u,f)+K((c-m)/(g.translationSlope*(this.slope||g.closestPointRange||this.overscrollPointsRange)))}getOverscrollPositions(){let c=this.axis,u=this.convertOverscroll(c.options.overscroll),g=this.overscrollPointsRange,f=[],m=c.dataMax;if(E(g))for(;m<c.dataMax+u;)f.push(m+=g);return f}postProcessTickInterval(c){let u=this.axis,g=this.slope,f=u.closestPointRange;return g&&f?u.options.breaks?f||c:c/(g/f):c}convertOverscroll(c=0){let u=this,g=u.axis,f=function(m){return A(u.originalOrdinalRange,E(g.dataMax)&&E(g.dataMin)?g.dataMax-g.dataMin:0)*m};if(Q(c)){let m=parseInt(c,10);if(g.isFullRange===!1&&T(g.min)&&T(g.max)&&(this.originalOrdinalRange=g.max-g.min),/%$/.test(c))return f(m/100);if(/px/.test(c)){let x=Math.min(m,.9*g.len)/g.len;return f(x/(g.isFullRange?1-x:1))}return 0}return c}}})(wi||(wi={}));let Dn=wi,In={rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192",rangeSelector:{allText:"All",allTitle:"View all",monthText:"{count}m",monthTitle:"View {count} {#eq count 1}month{else}months{/eq}",yearText:"{count}y",yearTitle:"View {count} {#eq count 1}year{else}years{/eq}",ytdText:"YTD",ytdTitle:"View year to date"}},Ho={allButtonsEnabled:!1,buttons:[{type:"month",count:1},{type:"month",count:3},{type:"month",count:6},{type:"ytd"},{type:"year",count:1},{type:"all"}],buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%[ebY]",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}},{defaultOptions:Yo}=mt,{composed:zn}=C,cs=[];function Rn(){let h,t,e=this.range,i=e.type,s=this.max,o=this.chart.time,r=function(n,d){let p=o.toParts(n),l=p.slice();i==="year"?l[0]+=d:l[1]+=d;let c=o.makeTime.apply(o,l),u=o.toParts(c);return i==="month"&&p[1]===u[1]&&Math.abs(d)===1&&(l[0]=p[0],l[1]=p[1],l[2]=0),(c=o.makeTime.apply(o,l))-n};T(e)?(h=s-e,t=e):e&&(h=s+r(s,-(e.count||1)),this.chart&&this.chart.setFixedRange(s-h));let a=A(this.dataMin,5e-324);return T(h)||(h=a),h<=a&&(h=a,t===void 0&&(t=r(h,e.count)),this.newMax=Math.min(h+t,A(this.dataMax,Number.MAX_VALUE))),T(s)?!T(e)&&e&&e._offsetMin&&(h+=e._offsetMin):h=void 0,h}function Wn(){this.rangeSelector?.redrawElements()}function Nn(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new ii(this))}function Gn(){let h=this.rangeSelector;if(h){T(h.deferredYTDClick)&&(h.clickButton(h.deferredYTDClick),delete h.deferredYTDClick);let t=h.options.verticalAlign;h.options.floating||(t==="bottom"?this.extraBottomMargin=!0:t==="top"&&(this.extraTopMargin=!0))}}function Fo(){let h,t=this.rangeSelector;if(!t)return;let e=this.xAxis[0].getExtremes(),i=this.legend,s=t&&t.options.verticalAlign;T(e.min)&&t.render(e.min,e.max),i?.display&&s==="top"&&s===i.options.verticalAlign&&(h=G(this.spacingBox),i.options.layout==="vertical"?h.y=this.plotTop:h.y+=t.getHeight(),i.group.placed=!1,i.align(h))}function Xn(){for(let h=0,t=cs.length;h<t;++h){let e=cs[h];
vendor: 16,645 bytes, line 2
2if(e[0]===this){e[1].forEach(i=>i()),cs.splice(h,1);return}}}function Hn(){let h=this.rangeSelector;if(h?.options?.enabled){let{min:t,max:e}=this.xAxis[0].getExtremes();T(t)&&h.inputGroup&&h.inputGroup.getBBox().width<20&&h.render(t,e);let i=h.getHeight(),s=h.options.verticalAlign;h.options.floating||(s==="bottom"?this.marginBottom+=i:s!=="middle"&&(this.plotTop+=i))}}function Yn(h){let t=h.options.rangeSelector,e=this.extraBottomMargin,i=this.extraTopMargin,s=this.rangeSelector;if(t&&t.enabled&&!E(s)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=s=new ii(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,s){let o=t&&t.verticalAlign||s.options&&s.options.verticalAlign;s.options.floating||(o==="bottom"?this.extraBottomMargin=!0:o!=="middle"&&(this.extraTopMargin=!0)),(this.extraBottomMargin!==e||this.extraTopMargin!==i)&&(this.isDirtyBox=!0)}}let Fn=function(h,t,e){if(ii=e,xt(zn,"RangeSelector")){let i=t.prototype;h.prototype.minFromRange=Rn,R(t,"afterGetContainer",Nn),R(t,"beforeRender",Gn),R(t,"destroy",Xn),R(t,"getMargins",Hn),R(t,"redraw",Fo),R(t,"update",Yn),R(t,"beforeRedraw",Wn),i.callbacks.push(Fo),X(Yo,{rangeSelector:Ho}),X(Yo.lang,In)}},{defaultOptions:ps}=mt,{format:Uo}=Ot;function Vo(h){let t=s=>RegExp(`%[[a-zA-Z]*${s}`).test(h);if(Q(h)?h.indexOf("%L")!==-1:h.fractionalSecondDigits)return"text";let e=Q(h)?["a","A","d","e","w","b","B","m","o","y","Y"].some(t):h.dateStyle||h.day||h.month||h.year,i=Q(h)?["H","k","I","l","M","S"].some(t):h.timeStyle||h.hour||h.minute||h.second;return e&&i?"datetime-local":e?"date":i?"time":"text"}class Ce{static compose(t,e){Fn(t,e,Ce)}constructor(t){this.isDirty=!1,this.buttonOptions=[],this.initialButtonGroupWidth=0,this.maxButtonWidth=()=>{let e=0;return this.buttons.forEach(i=>{let s=i.getBBox();s.width>e&&(e=s.width)}),e},this.init(t)}clickButton(t,e){let i=this.chart,s=this.buttonOptions[t],o=i.xAxis[0],r=i.scroller&&i.scroller.getUnionExtremes()||o||{},a=s.type,n=s.dataGrouping,d=r.dataMin,p=r.dataMax,l,c=T(o?.max)?Math.round(Math.min(o.max,p??o.max)):void 0,u,g=s._range,f,m,x,y=!0;if(d!==null&&p!==null){if(this.setSelected(t),n&&(this.forcedDataGrouping=!0,Kt.prototype.setDataGrouping.call(o||{chart:this.chart},n,!1),this.frozenStates=s.preserveDataGrouping),a==="month"||a==="year")o?(m={range:s,max:c,chart:i,dataMin:d,dataMax:p},l=o.minFromRange.call(m),T(m.newMax)&&(c=m.newMax),y=!1):g=s;else if(g)T(c)&&(c=Math.min((l=Math.max(c-g,d))+g,p),y=!1);else if(a==="ytd")if(o)!o.hasData()||T(p)&&T(d)||(d=Number.MAX_VALUE,p=-Number.MAX_VALUE,i.series.forEach(b=>{let v=b.getColumn("x");v.length&&(d=Math.min(v[0],d),p=Math.max(v[v.length-1],p))}),e=!1),T(p)&&T(d)&&(l=f=(x=this.getYTDExtremes(p,d)).min,c=x.max);else{this.deferredYTDClick=t;return}else a==="all"&&o&&(i.navigator&&i.navigator.baseSeries[0]&&(i.navigator.baseSeries[0].xAxis.options.range=void 0),l=d,c=p);if(y&&s._offsetMin&&E(l)&&(l+=s._offsetMin),s._offsetMax&&E(c)&&(c+=s._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),o)(T(l)||T(c))&&(o.setExtremes(l,c,A(e,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:s}),i.setFixedRange(s._range));else{u=gt(i.options.xAxis||{})[0];let b=R(i,"afterCreateAxes",function(){let v=i.xAxis[0];v.range=v.options.range=g,v.min=v.options.min=f});R(i,"load",function(){let v=i.xAxis[0];i.setFixedRange(s._range),v.options.range=u.range,v.options.min=u.min,b()})}D(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=t.options.lang,o=i.buttons,r=i.selected,a=function(){let n=e.minInput,d=e.maxInput;n&&n.blur&&D(n,"blur"),d&&d.blur&&D(d,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=o.map(n=>(n.type&&s.rangeSelector&&(n.text??(n.text=s.rangeSelector[`${n.type}Text`]),n.title??(n.title=s.rangeSelector[`${n.type}Title`])),n.text=Uo(n.text,{count:n.count||1}),n.title=Uo(n.title,{count:n.count||1}),n)),this.eventsToUnbind=[],this.eventsToUnbind.push(R(t.container,"mousedown",a)),this.eventsToUnbind.push(R(t,"resize",a)),o.forEach(e.computeButtonRange),r!==void 0&&o[r]&&this.clickButton(r,!1),this.eventsToUnbind.push(R(t,"load",function(){t.xAxis&&t.xAxis[0]&&R(t.xAxis[0],"setExtremes",function(n){T(this.max)&&T(this.min)&&this.max-this.min!==t.fixedRange&&n.trigger!=="rangeSelectorButton"&&n.trigger!=="updatedData"&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),a=!o.hasVisibleSeries,n=24*36e5,d=e.scroller&&e.scroller.getUnionExtremes()||o,p=d.dataMin,l=d.dataMax,c=t.getYTDExtremes(l,p),u=c.min,g=c.max,f=t.selected,m=t.options.allButtonsEnabled,x=Array(t.buttonOptions.length).fill(0),y=T(f),b=t.buttons,v=!1,k=null;t.buttonOptions.forEach((w,M)=>{let S=w._range,O=w.type,L=w.count||1,P=w._offsetMax-w._offsetMin,B=M===f,z=S>l-p,I=S<o.minRange,N=!1,W=S===r;if(B&&z&&(v=!0),o.isOrdinal&&o.ordinal?.positions&&S&&r<S){let F=o.ordinal.positions;F[F.length-1]-F[0]>S&&(W=!0)}else(O==="month"||O==="year")&&r+36e5>={month:28,year:365}[O]*n*L-P&&r-36e5<={month:31,year:366}[O]*n*L+P?W=!0:O==="ytd"?(W=g-u+P===r,N=!B):O==="all"&&(W=o.max-o.min>=l-p);let H=!m&&!(v&&O==="all")&&(z||I||a),$=v&&O==="all"||!N&&W||B&&t.frozenStates;H?x[M]=3:$&&(!y||M===f)&&(k=M)}),k!==null?(x[k]=2,t.setSelected(k),this.dropdown&&(this.dropdown.selectedIndex=k+1)):(t.setSelected(),this.dropdown&&(this.dropdown.selectedIndex=-1),s&&(s.setState(0),s.attr({text:(ps.lang.rangeSelectorZoom||"")+" \u25BE"})));for(let w=0;w<x.length;w++){let M=x[w],S=b[w];if(S.state!==M&&(S.setState(M),i)){i.options[w+1].disabled=M===3,M===2&&(s&&(s.setState(2),s.attr({text:t.buttonOptions[w].text+" \u25BE"})),i.selectedIndex=w+1);let O=s.getBBox();Z(i,{width:`${O.width}px`,height:`${O.height}px`})}}}computeButtonRange(t){let e=t.type,i=t.count||1,s={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};s[e]?t._range=s[e]*i:(e==="month"||e==="year")&&(t._range=24*{month:30,year:365}[e]*36e5*i),t._offsetMin=A(t.offsetMin,0),t._offsetMax=A(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin}getInputValue(t){let e=t==="min"?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,s=this.chart.time;return e?(e.type==="text"&&i.inputDateParser||this.defaultInputDateParser)(e.value,s.timezone==="UTC",s):0}setInputValue(t,e){let i=this.options,s=this.chart.time,o=t==="min"?this.minInput:this.maxInput,r=t==="min"?this.minDateBox:this.maxDateBox;if(o){o.setAttribute("type",Vo(i.inputDateFormat||"%e %b %Y"));let a=o.getAttribute("data-hc-time"),n=E(a)?Number(a):void 0;if(E(e)){let d=n;E(d)&&o.setAttribute("data-hc-time-previous",d),o.setAttribute("data-hc-time",e),n=e}o.value=s.dateFormat(this.inputTypeFormats[o.type]||i.inputEditDateFormat,n),r&&r.attr({text:s.dateFormat(i.inputDateFormat,n)})}}setInputExtremes(t,e,i){let s=t==="min"?this.minInput:this.maxInput;if(s){let o=this.inputTypeFormats[s.type],r=this.chart.time;if(o){let a=r.dateFormat(o,e);s.min!==a&&(s.min=a);let n=r.dateFormat(o,i);s.max!==n&&(s.max=n)}}}showInput(t){let e=t==="min"?this.minDateBox:this.maxDateBox,i=t==="min"?this.minInput:this.maxInput;if(i&&e&&this.inputGroup){let s=i.type==="text",{translateX:o=0,translateY:r=0}=this.inputGroup,{x:a=0,width:n=0,height:d=0}=e,{inputBoxWidth:p}=this.options;Z(i,{width:s?n+(p?-2:20)+"px":"auto",height:d-2+"px",border:"2px solid silver"}),s&&p?Z(i,{left:o+a+"px",top:r+"px"}):Z(i,{left:Math.min(Math.round(a+o-(i.offsetWidth-n)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:r-(i.offsetHeight-d)/2+"px"})}}hideInput(t){let e=t==="min"?this.minInput:this.maxInput;e&&Z(e,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(t,e,i){return i?.parse(t)||0}drawInput(t){let{chart:e,div:i,inputGroup:s}=this,o=this,r=e.renderer.style||{},a=e.renderer,n=e.options.rangeSelector,d=ps.lang,p=t==="min";function l(x){let{maxInput:y,minInput:b}=o,v=e.xAxis[0],k=e.scroller?.getUnionExtremes()||v,w=k.dataMin,M=k.dataMax,S=e.xAxis[0].getExtremes()[x],O=o.getInputValue(x);T(O)&&O!==S&&(p&&y&&T(w)?O>Number(y.getAttribute("data-hc-time"))?O=void 0:O<w&&(O=w):b&&T(M)&&(O<Number(b.getAttribute("data-hc-time"))?O=void 0:O>M&&(O=M)),O!==void 0&&v.setExtremes(p?O:v.min,p?v.max:O,void 0,void 0,{trigger:"rangeSelectorInput"}))}let c=d[p?"rangeSelectorFrom":"rangeSelectorTo"]||"",u=a.label(c,0).addClass("highcharts-range-label").attr({padding:2*!!c,height:c?n.inputBoxHeight:0}).add(s),g=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){o.showInput(t),o[t+"Input"].focus()});e.styledMode||g.attr({stroke:n.inputBoxBorderColor,"stroke-width":1}),g.add(s);let f=vt("input",{name:t,className:"highcharts-range-selector"},void 0,i);f.setAttribute("type",Vo(n.inputDateFormat||"%e %b %Y")),e.styledMode||(u.css(G(r,n.labelStyle)),g.css(G({color:"#333333"},r,n.inputStyle)),Z(f,X({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:r.fontSize,fontFamily:r.fontFamily,top:"-9999em"},n.inputStyle))),f.onfocus=()=>{o.showInput(t)},f.onblur=()=>{f===C.doc.activeElement&&l(t),o.hideInput(t),o.setInputValue(t),f.blur()};let m=!1;return f.onchange=()=>{m||(l(t),o.hideInput(t),f.blur())},f.onkeypress=x=>{x.keyCode===13&&l(t)},f.onkeydown=x=>{m=!0,(x.key==="ArrowUp"||x.key==="ArrowDown"||x.key==="Tab")&&l(t)},f.onkeyup=()=>{m=!1},{dateBox:g,input:f,label:u}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i=e.verticalAlign==="top"?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e){let i=this.chart.time,s=i.toParts(t)[0];return{max:t,min:Math.max(e,i.makeTime(s,0))}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,a=A(s.chart.style?.zIndex,0)+1;o.enabled!==!1&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=vt("div",void 0,{position:"relative",height:0,zIndex:a}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r&&this.createInputs())}createInputs(){this.inputGroup=this.chart.renderer.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let e=this.drawInput("max");this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input}render(t,e){if(this.options.enabled===!1)return;let i=this.chart,s=i.options.rangeSelector;if(s.inputEnabled){this.inputGroup||this.createInputs(),this.setInputValue("min",t),this.setInputValue("max",e),this.chart.styledMode||(this.maxLabel?.css(s.labelStyle),this.minLabel?.css(s.labelStyle));let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(E(o.dataMin)&&E(o.dataMax)){let r=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-r),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+r,o.dataMax)}if(this.inputGroup){let r=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(a=>{if(a){let{width:n}=a.getBBox();n&&(a.attr({x:r}),r+=n+s.inputSpacing)}})}}else this.inputGroup&&(this.inputGroup.destroy(),delete this.inputGroup);!this.chart.styledMode&&this.zoomText&&this.zoomText.css(s.labelStyle),this.alignElements(),this.updateButtonStates()}renderButtons(){var t;let{chart:e,options:i}=this,s=ps.lang,o=e.renderer,r=G(i.buttonTheme),a=r&&r.states;delete r.width,delete r.states,this.buttonGroup=o.g("range-selector-buttons").add(this.group);let n=this.dropdown=vt("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),d=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=o.button("",0,0,()=>{},G(r,{"stroke-width":A(r["stroke-width"],0),width:"auto",paddingLeft:A(i.buttonTheme.paddingLeft,d?.padding,8),paddingRight:A(i.buttonTheme.paddingRight,d?.padding,8)}),a&&a.hover,a&&a.select,a&&a.disabled).hide().add(this.group),R(n,"touchstart",()=>{n.style.fontSize="16px"});let p=C.isMS?"mouseover":"mouseenter",l=C.isMS?"mouseout":"mouseleave";R(n,p,()=>{D(this.dropdownLabel.element,p)}),R(n,l,()=>{D(this.dropdownLabel.element,l)}),R(n,"change",()=>{D(this.buttons[n.selectedIndex-1].element,"click")}),this.zoomText=o.label(s.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),(t=i.buttonTheme)["stroke-width"]??(t["stroke-width"]=0)),vt("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n),this.createButtons()}createButtons(){let{options:t}=this,e=G(t.buttonTheme),i=e&&e.states,s=e.width||28;delete e.width,delete e.states,this.buttonOptions.forEach((o,r)=>{this.createButton(o,r,s,i)})}createButton(t,e,i,s){let{dropdown:o,buttons:r,chart:a,options:n}=this,d=a.renderer,p=G(n.buttonTheme);o?.add(vt("option",{textContent:t.title||t.text}),e+2),r[e]=d.button(t.text??"",0,0,l=>{let c,u=t.events&&t.events.click;u&&(c=u.call(t,l)),c!==!1&&this.clickButton(e),this.isActive=!0},p,s&&s.hover,s&&s.select,s&&s.disabled).attr({"text-align":"center",width:i}).add(this.buttonGroup),t.title&&r[e].attr("title",t.title)}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:a}=this,n=i.options,d=n.exporting&&n.exporting.enabled!==!1&&n.navigation&&n.navigation.buttonOptions,{buttonPosition:p,inputPosition:l,verticalAlign:c}=r,u=(f,m,x)=>d&&this.titleCollision(i)&&c==="top"&&x&&m.y-f.getBBox().height-12<(d.y||0)+(d.height||0)+i.spacing[0]?-40:0,g=i.plotLeft;if(s&&p&&l){let f=p.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let S=0;a&&(S+=a.getBBox().width+5),e.forEach((O,L)=>{S+=O.width||0,L!==e.length-1&&(S+=r.buttonSpacing)}),this.initialButtonGroupWidth=S}g-=i.spacing[3];let M=u(t,p,p.align==="right"||l.align==="right");this.alignButtonGroup(M),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let m=0;r.inputEnabled&&o&&(m=u(o,l,p.align==="right"||l.align==="right"),l.align==="left"?f=g:l.align==="right"&&(f=-Math.max(i.axisOffset[1],-m)),o.align({y:l.y,width:o.getBBox().width,align:l.align,x:l.x+f-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(m),s.align({verticalAlign:c},!0,i.spacingBox);let x=s.alignAttr.translateY,y=s.getBBox().height+20,b=0;if(c==="bottom"){let M=i.legend&&i.legend.options;b=x-(y=y+(M&&M.verticalAlign==="bottom"&&M.enabled&&!M.floating?i.legend.legendHeight+A(M.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}c==="top"?(r.floating&&(b=0),i.titleOffset&&i.titleOffset[0]&&(b=i.titleOffset[0]),b+=i.margin[0]-i.spacing[0]||0):c==="middle"&&(l.y===p.y?b=x:(l.y||p.y)&&(l.y<0||p.y<0?b-=Math.min(l.y,p.y):b=x-y)),s.translate(r.x,r.y+Math.floor(b));let{minInput:v,maxInput:k,dropdown:w}=this;r.inputEnabled&&v&&k&&(v.style.marginTop=s.translateY+"px",k.style.marginTop=s.translateY+"px"),w&&(w.style.marginTop=s.translateY+"px")}}redrawElements(){let t=this.chart,{inputBoxHeight:e,inputBoxBorderColor:i}=this.options;if(this.maxDateBox?.attr({height:e}),this.minDateBox?.attr({height:e}),t.styledMode||(this.maxDateBox?.attr({stroke:i}),this.minDateBox?.attr({stroke:i})),this.isDirty){this.isDirty=!1,this.isCollapsed=void 0;let s=this.options.buttons??[],o=Math.min(s.length,this.buttonOptions.length),{dropdown:r,options:a}=this,n=G(a.buttonTheme),d=n&&n.states,p=n.width||28;if(s.length<this.buttonOptions.length)for(let l=this.buttonOptions.length-1;l>=s.length;l--)this.buttons.pop()?.destroy(),this.dropdown?.options.remove(l+1);for(let l=o-1;l>=0;l--){let c=s[l];this.buttons[l].destroy(),r?.options.remove(l+1),this.createButton(c,l,p,d),this.computeButtonRange(c)}if(s.length>this.buttonOptions.length)for(let l=this.buttonOptions.length;l<s.length;l++)this.createButton(s[l],l,p,d),this.computeButtonRange(s[l]);this.buttonOptions=this.options.buttons??[],E(this.options.selected)&&this.buttons.length&&this.clickButton(this.options.selected,!1)}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o,dropdown:r,dropdownLabel:a}=this,{buttonPosition:n}=s,d=i.plotLeft-i.spacing[3],p=n.x-i.spacing[3],l=i.plotLeft;n.align==="right"?(p+=t-d,this.hasVisibleDropdown&&(l=i.chartWidth+t-this.maxButtonWidth()-20)):n.align==="center"&&(p-=d/2,this.hasVisibleDropdown&&(l=i.chartWidth/2-this.maxButtonWidth())),r&&Z(r,{left:l+"px",to
2p:o?.translateY+"px"}),a?.attr({x:l}),o&&o.align({y:n.y,width:A(e,this.initialButtonGroupWidth),align:n.align,x:p},!0,i.spacingBox)}positionButtons(){let{buttons:t,chart:e,options:i,zoomText:s}=this,o=e.hasLoaded?"animate":"attr",{buttonPosition:r}=i,a=e.plotLeft,n=a;s&&s.visibility!=="hidden"&&(s[o]({x:A(a+r.x,a)}),n+=r.x+s.getBBox().width+5);for(let d=0,p=this.buttonOptions.length;d<p;++d)t[d].visibility!=="hidden"?(t[d][o]({x:n}),n+=(t[d].width||0)+i.buttonSpacing):t[d][o]({x:a})}handleCollision(t){let{chart:e,buttonGroup:i,inputGroup:s,initialButtonGroupWidth:o}=this,{buttonPosition:r,dropdown:a,inputPosition:n}=this.options,d=()=>{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};s&&i?n.align===r.align?(d(),o>e.plotWidth+t-20?this.collapseButtons():this.expandButtons()):o-t+s.getBBox().width>e.plotWidth?a==="responsive"||a==="always"?this.collapseButtons():d():this.expandButtons():i&&a==="responsive"&&(o>e.plotWidth?this.collapseButtons():this.expandButtons()),i&&(a==="always"&&this.collapseButtons(),a==="never"&&this.expandButtons()),this.alignButtonGroup(t)}collapseButtons(){let{buttons:t,zoomText:e}=this;this.isCollapsed!==!0&&(this.isCollapsed=!0,e.hide(),t.forEach(i=>{i.hide()}),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;this.isCollapsed!==!1&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(i=>{i.show()}),this.positionButtons())}showDropdown(){let{buttonGroup:t,dropdownLabel:e,dropdown:i}=this;t&&i&&(e.show(),Z(i,{visibility:"inherit"}),this.hasVisibleDropdown=!0)}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),Z(t,{visibility:"hidden"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,a=i.y,n=0;if(t.height)return t.height;this.alignElements(),n=e?e.getBBox(!0).height+13+o:0;let d=Math.min(a,r);return(a<0&&r<0||a>0&&r>0)&&(n+=Math.abs(d)),n}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;if(G(!0,this.options,t),this.options.selected&&this.options.selected>=this.options.buttons.length&&(this.options.selected=void 0,i.options.rangeSelector.selected=void 0),E(t.enabled))return this.destroy(),this.init(i);this.isDirty=!!t.buttons||!!t.buttonTheme,e&&this.render()}destroy(){let t=this,e=t.minInput,i=t.maxInput;t.eventsToUnbind&&(t.eventsToUnbind.forEach(s=>s()),t.eventsToUnbind=void 0),Xt(t.buttons),e&&(e.onfocus=e.onblur=e.onchange=null),i&&(i.onfocus=i.onblur=i.onchange=null),j(t,function(s,o){s&&o!=="chart"&&(s instanceof Rt?s.destroy():s instanceof window.HTMLElement&&Me(s),delete t[o]),s!==Ce.prototype[o]&&(t[o]=null)},this),this.buttons=[]}}X(Ce.prototype,{inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}});let{format:Un}=Ot,{getOptions:jo}=mt,{setFixedRange:Vn}=No;function us(h,t,e){return h==="xAxis"?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:h==="yAxis"?{labels:{y:-2},opposite:e.opposite??t.opposite??!0,showLastLabel:!!(t.categories||t.type==="category"),title:{text:void 0}}:{}}function $o(h,t){if(h==="xAxis"){let e=A(t.navigator?.enabled,hs.enabled,!0),i={type:"datetime",categories:void 0};return e&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class gs extends Ze{init(t,e){let i=jo(),s=t.xAxis,o=t.yAxis,r=A(t.navigator?.enabled,hs.enabled,!0);t.xAxis=t.yAxis=void 0;let a=G({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:r},scrollbar:{enabled:A(Je.enabled,!0)},rangeSelector:{enabled:A(Ho.enabled,!0)},title:{text:null},tooltip:{split:A(i.tooltip?.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=s,t.yAxis=o,a.xAxis=gt(t.xAxis||{}).map(n=>G(us("xAxis",n,i.xAxis),n,$o("xAxis",t))),a.yAxis=gt(t.yAxis||{}).map(n=>G(us("yAxis",n,i.yAxis),n)),super.init(a,e)}createAxis(t,e){return e.axis=G(us(t,e.axis,jo()[t]),e.axis,$o(t,this.userOptions)),super.createAxis(t,e)}}R(Ze,"update",function(h){let t=h.options;"scrollbar"in t&&this.navigator&&(G(!0,this.options.scrollbar,t.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete t.scrollbar)}),(function(h){function t(d){if(!(this.crosshair?.label?.enabled&&this.cross&&T(this.min)&&T(this.max)))return;let p=this.chart,l=this.logarithmic,c=this.crosshair.label,u=this.horiz,g=this.opposite,f=this.left,m=this.top,x=this.width,y=this.options.tickPosition==="inside",b=this.crosshair.snap!==!1,v=d.e||this.cross?.e,k=d.point,w=this.crossLabel,M,S,O=c.format,L="",P,B=0,z=this.min,I=this.max;l&&(z=l.lin2log(this.min),I=l.lin2log(this.max));let N=u?"center":g?this.labelAlign==="right"?"right":"left":this.labelAlign==="left"?"left"
2:"center";!w&&(w=this.crossLabel=p.renderer.label("",0,void 0,c.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(k?.series?k.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:c.align||N,padding:A(c.padding,8),r:A(c.borderRadius,3),zIndex:2}).add(this.labelGroup),p.styledMode||w.attr({fill:c.backgroundColor||k?.series?.color||"#666666",stroke:c.borderColor||"","stroke-width":c.borderWidth||0}).css(X({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},c.style||{}))),u?(M=b?(k.plotX||0)+f:v.chartX,S=m+(g?0:this.height)):(M=f+this.offset+(g?x:0),S=b?(k.plotY||0)+m:v.chartY),O||c.formatter||(this.dateTime&&(L="%b %d, %Y"),O="{value"+(L?":"+L:"")+"}");let W=b?this.isXAxis?k.x:k.y:this.toValue(u?v.chartX:v.chartY),H=k?.series?k.series.isPointInside(k):T(W)&&W>z&&W<I,$="";O?$=Un(O,{value:W},p):c.formatter&&T(W)&&($=c.formatter.call(this,W,this)),w.attr({text:$,x:M,y:S,visibility:H?"inherit":"hidden"});let F=w.getBBox();!T(w.x)||u||g||(M=w.x-F.width/2),T(w.y)&&(u?(y&&!g||!y&&g)&&(S=w.y-F.height):S=w.y-F.height/2),P=u?{left:f,right:f+this.width}:{left:this.labelAlign==="left"?f:0,right:this.labelAlign==="right"?f+this.width:p.chartWidth};let et=w.translateX||0;et<P.left&&(B=P.left-et),et+F.width>=P.right&&(B=-(et+F.width-P.right)),w.attr({x:Math.max(0,M+B),y:Math.max(0,S),anchorX:u?M:this.opposite?0:p.chartWidth,anchorY:u?this.opposite?p.chartHeight:0:S+F.height/2})}function e(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function i(d){let p=this.chart,l=this.options,c=p._labelPanes=p._labelPanes||{},u=l.labels;if(p.options.isStock&&this.coll==="yAxis"){let g=l.top+","+l.height;!c[g]&&u.enabled&&(u.distance===15&&this.side===1&&(u.distance=0),u.align===void 0&&(u.align="right"),c[g]=this,d.align="right",d.preventDefault())}}function s(){let d=this.chart,p=this.options&&this.options.top+","+this.options.height;p&&d._labelPanes&&d._labelPanes[p]===this&&delete d._labelPanes[p]}function o(d){let p=this.isLinked&&!this.series&&this.linkedParent?this.linkedParent.series:this.series,{chart:l,horiz:c}=this,u=l.renderer,g=[],{acrossPanes:f=!0,force:m,translatedValue:x,value:y}=d,b=(this.isXAxis?l.yAxis:l.xAxis)||[];function v(S,O,L){g.push(["M",c?S:O,c?O:S],["L",c?S:L,c?L:S])}let k=[],w,M;if(l.options.isStock&&(this.coll==="xAxis"||this.coll==="yAxis")){let S,O;for(let L of(d.preventDefault(),S=this.coll==="xAxis"?"yAxis":"xAxis",O=this.options[S],k=f&&!this.options.isInternal?b.filter(P=>!P.options.isInternal):T(O)?[l[S][O]]:Q(O)?[l.get(O)]:p.map(P=>P[S]),b))if(!L.options.isInternal){let P=L.isXAxis?"yAxis":"xAxis";this===(E(L.options[P])&&l[P][L.options[P]])&&k.push(L)}for(let L of(w=k.length?[]:[this.isXAxis?l.yAxis[0]:l.xAxis[0]],k))w.indexOf(L)!==-1||It(w,P=>P.pos===L.pos&&P.len===L.len)||w.push(L);if(T(M=A(x,this.translate(y||0,void 0,void 0,d.old)))){let L,P=c?M+this.pos:this.pos+this.len-M;if(m!=="pass"&&(P<this.pos||P>this.pos+this.len)&&(m?P=nt(P,this.pos,this.pos+this.len):L=!0),!L){let B=c?"top":"left",z=c?"height":"width";if(!f&&(this.options[B]||this.options[z]))v(P,this[B],this[B]+this[z]);else for(let I of w)v(P,I.pos,I.pos+I.len)}}d.path=g.length>0?u.crispPolyLine(g,d.lineWidth||1):void 0}}function r(d){if(this.chart.options.isStock){let p;this.is("column")||this.is("columnrange")?p={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(p={marker:{enabled:!1,radius:2}}),p&&(d.plotOptions[this.type]=G(d.plotOptions[this.type],p))}}function a(){let d=this.chart,p=this.options.dataGrouping;return this.allowDG!==!1&&p&&A(p.enabled,d.options.isStock)}function n(d,p){for(let l=0;l<d.length;l+=2){let c=d[l],u=d[l+1];E(c[1])&&c[1]===u[1]&&(c[1]=u[1]=ht(c[1],p)),E(c[2])&&c[2]===u[2]&&(c[2]=u[2]=ht(c[2],p))}return d}h.compose=function(d,p,l,c){let u=l.prototype;u.forceCropping||(R(p,"afterDrawCrosshair",t),R(p,"afterHideCrosshair",e),R(p,"autoLabelAlign",i),R(p,"destroy",s),R(p,"getPlotLinePath",o),d.prototype.setFixedRange=Vn,u.forceCropping=a,R(l,"setOptions",r),c.prototype.crispPolyLine=n)},h.stockChart=function(d,p,l){return new h(d,p,l)}})(gs||(gs={}));let Zo=gs,{column:{prototype:{pointClass:jn}}}
2=it.seriesTypes,{column:Ko}=it.seriesTypes,{defaultOptions:$n}=mt;class fs extends Ko{extendStem(t,e,i){let s=t[0],o=t[1];typeof s[2]=="number"&&(s[2]=Math.max(i+e,s[2])),typeof o[2]=="number"&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=ht(t.plotX||0,i),r=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];if(t.close!==null){let n=ht(t.plotClose,i);a.push(["M",o,n],["L",o+r,n]),s.extendStem(a,i/2,n)}return a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;t.plotY!==void 0&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let t=this,e=t.yAxis,i=this.pointArrayMap&&this.pointArrayMap.slice()||[],s=i.map(o=>`plot${o.charAt(0).toUpperCase()+o.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(r,a){let n=o[r];n!==null&&(t.dataModify&&(n=t.dataModify.modifyValue(n)),o[s[a]]=e.toPixels(n,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}fs.defaultOptions=G(Ko.defaultOptions,{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">\u25CF</span> <b> {series.name}</b><br/>{series.chart.options.lang.stockHigh}: {point.high}<br/>{series.chart.options.lang.stockLow}: {point.low}<br/>{series.chart.options.lang.stockClose}: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}),X(fs.prototype,{pointClass:class extends jn{},animate:null,directTouch:!1,keysAffectYAxis:["low","high"],pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),X($n.lang,{stockOpen:"Open",stockHigh:"High",stockLow:"Low",stockClose:"Close"}),it.registerSeriesType("hlc",fs);let{seriesTypes:{hlc:Zn}}=it;class Kn extends Zn.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}resolveUpColor(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)}resolveColor(){super.resolveColor(),this.series.is("heikinashi")||this.resolveUpColor()}getZone(){let t=super.getZone();return this.resolveUpColor(),t}applyOptions(){return super.applyOptions.apply(this,arguments),this.resolveColor&&this.resolveColor(),this}}let{composed:qn}=C,{hlc:qo}=it.seriesTypes;function _n(h){let t=h.options,e=t.dataGrouping;e&&t.useOhlcData&&t.id!=="highcharts-navigator-series"&&(e.approximation="ohlc")}function Jn(h){let t=h.options;t.useOhlcData&&t.id!=="highcharts-navigator-series"&&X(this,{pointValKey:ae.prototype.pointValKey,pointArrayMap:ae.prototype.pointArrayMap,toYData:ae.prototype.toYData})}class ae extends qo{static compose(t){xt(qn,"OHLCSeries")&&(R(t,"afterSetOptions",_n),R(t,"init",Jn))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=ht(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);if(t.open!==null){let a=ht(t.plotOpen,s);i.push(["M",o,a],["L",o-r,a]),super.extendStem(i,s/2,a)}return i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.open<t.close&&(i.stroke=s.upColor),i}toYData(t){return[t.open,t.high,t.low,t.close]}}ae.defaultOptions=G(qo.defaultOptions,{tooltip:{pointFormat:'<span style="color:{point.color}">\u25CF</span> <b> {series.name}</b><br/>{series.chart.options.lang.stockOpen}: {point.open}<br/>{series.chart.options.lang.stockHigh}: {point.high}<br/>{series.chart.options.lang.stockLow}: {point.low}<br/>{series.chart.options.lang.stockClose}: {point.close}<br/>'}}),X(ae.prototype,{pointClass:Kn,pointArrayMap:["open","high","low","close"]}),it.registerSeriesType("ohlc",ae);let{column:Qn,ohlc:ms}=it.seriesTypes;class _o extends ms{pointAttribs(t,e){let i=Qn.prototype.pointAttribs.call(this,t,e),s=this.options,o=t.open<t.close,r=s.lineColor||this.color,a=t.color||this.color;if(i["stroke-width"]=s.lineWidth,i.fill=t.options.color||o&&s.upColor||a,i.stroke=t.options.lineColor||o&&s.upLineColor||r,e){let n=s.states[e];i.fill=n.color||i.fill,i.stroke=n.lineColor||i.stroke,i["stroke-width"]=n.lineWidth||i["stroke-width"]}return i}drawPoints(){let t=this.points,e=this.chart,i=this.yAxis.reversed;for(let s of t){let o=s.graphic,r,a,n,d,p,l,c,u,g,f=!o;if(s.plotY!==void 0){o||(s.graphic=o=e.renderer.path().add(this.group)),this.chart.styledMode||o.attr(this.pointAttribs(s,s.selected&&"select")).shadow(this.options.shadow);let m=o.strokeWidth();c=ht(s.plotX||0,m),n=Math.min(r=s.plotOpen,a=s.plotClose),d=Math.max(r,a),g=Math.round(s.shapeArgs.width/2),p=i?d!==s.yBottom:Math.round(n)!==Math.round(s.plotHigh||
vendor: 5,055 bytes, line 2
20),l=i?Math.round(n)!==Math.round(s.plotHigh||0):d!==s.yBottom,n=ht(n,m),d=ht(d,m),(u=[]).push(["M",c-g,d],["L",c-g,n],["L",c+g,n],["L",c+g,d],["Z"],["M",c,n],["L",c,p?Math.round(i?s.yBottom:s.plotHigh):n],["M",c,d],["L",c,l?Math.round(i?s.plotHigh:s.yBottom):d]),o[f?"attr":"animate"]({d:u}).addClass(s.getClassName(),!0)}}}}_o.defaultOptions=G(ms.defaultOptions,{tooltip:ms.defaultOptions.tooltip},{states:{hover:{lineWidth:2}},threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),it.registerSeriesType("candlestick",_o);let{column:{prototype:{pointClass:th}}}=it.seriesTypes,eh=class extends th{constructor(){super(...arguments),this.ttBelow=!1}isValid(){return T(this.y)||this.y===void 0}hasNewShapeType(){let h=this.options.shape||this.series.options.shape;return this.graphic&&h&&h!==this.graphic.symbolKey}};(function(h){let t=[];function e(s,o,r,a,n){let d=n&&n.anchorX||s,p=n&&n.anchorY||o,l=this.circle(d-1,p-1,2,2);return l.push(["M",d,p],["L",s,o+a],["L",s,o],["L",s+r,o],["L",s+r,o+a],["L",s,o+a],["Z"]),l}function i(s,o){s[o+"pin"]=function(r,a,n,d,p){let l,c=p&&p.anchorX,u=p&&p.anchorY;if(o==="circle"&&d>n&&(r-=Math.round((d-n)/2),n=d),l=s[o](r,a,n,d,p),c&&u){let g=c;if(o==="circle")g=r+n/2;else{let m=l[0],x=l[1];m[0]==="M"&&x[0]==="L"&&(g=(m[1]+x[1])/2)}let f=a>u?a:a+d;l.push(["M",g,f],["L",c,u]),l=l.concat(s.circle(c-1,u-1,2,2))}return l}}h.compose=function(s){if(t.indexOf(s)===-1){t.push(s);let r=s.prototype.symbols;r.flag=e,i(r,"circle"),i(r,"square")}let o=ee.getRendererType();t.indexOf(o)&&t.push(o)}})(Si||(Si={}));let ih=Si,{composed:sh}=C,{prototype:oh}=Te,{prototype:rh}=Lt;var xs=Ai||(Ai={});function Jo(h){return rh.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,h)}function Qo(){oh.translate.apply(this);let h=this,t=h.options,e=h.chart,i=h.points,s=t.onSeries,o=s&&e.get(s),r=o&&o.options.step,a=o&&o.points,n=e.inverted,d=h.xAxis,p=h.yAxis,l=i.length-1,c,u,g=t.onKey||"y",f=a&&a.length,m=0,x,y,b,v,k;if(o&&o.visible&&f){for(m=(o.pointXOffset||0)+(o.barW||0)/2,v=o.currentDataGrouping,y=a[f-1].x+(v?v.totalRange:0),de(i,(w,M)=>w.x-M.x),g="plot"+g[0].toUpperCase()+g.substr(1);f--&&i[l];)if(x=a[f],(c=i[l]).y=x.y,x.x<=c.x&&x[g]!==void 0){if(c.x<=y&&(c.plotY=x[g],x.x<c.x&&!r&&(b=a[f+1]))&&b[g]!==void 0)if(E(c.plotX)&&o.is("spline")){let w=[x.plotX||0,x.plotY||0],M=[b.plotX||0,b.plotY||0],S=x.controlPoints?.high||w,O=b.controlPoints?.low||M,L=(I,N)=>Math.pow(1-I,3)*w[N]+3*(1-I)*(1-I)*I*S[N]+3*(1-I)*I*I*O[N]+I*I*I*M[N],P=0,B=1,z;for(let I=0;I<100;I++){let N=(P+B)/2,W=L(N,0);if(W===null)break;if(.25>Math.abs(W-c.plotX)){z=N;break}W<c.plotX?P=N:B=N}E(z)&&(c.plotY=L(z,1),c.y=p.toValue(c.plotY,!0))}else k=(c.x-x.x)/(b.x-x.x),c.plotY+=k*(b[g]-x[g]),c.y+=k*(b.y-x.y);if(l--,f++,l<0)break}}i.forEach((w,M)=>{let S;w.plotX+=m,(w.plotY===void 0||n)&&(w.plotX>=0&&w.plotX<=d.len?n?(w.plotY=d.translate(w.x,0,1,0,1),w.plotX=E(w.y)?p.translate(w.y,0,0,0,1):0):w.plotY=(d.opposite?0:h.yAxis.len)+d.offset:w.shapeArgs={}),(u=i[M-1])&&u.plotX===w.plotX&&(u.stackIndex===void 0&&(u.stackIndex=0),S=u.stackIndex+1),w.stackIndex=S}),this.onSeries=o}xs.compose=function(h){if(xt(sh,"OnSeries")){let t=h.prototype;t.getPlotBox=Jo,t.translate=Qo}return h},xs.getPlotBox=Jo,xs.translate=Qo;let ah=Ai,{noop:nh}=C,{distribute:hh}=Se,{series:tr,seriesTypes:{column:er}}=it;class ye extends er{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,a,n,d,p,l,c=this.points,u=this.chart,g=u.renderer,f=u.inverted,m=this.options,x=m.y,y=this.yAxis,b={},v=[],k=T(m.borderRadius)?m.borderRadius:0;for(s=c.length;s--;)o=c[s],p=(f?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,a=o.stackIndex,i=o.options.shape||m.shape,(e=o.plotY)!==void 0&&(e=o.plotY+x-(a!==void 0&&a*m.stackDistance)),o.anchorX=a?void 0:o.plotX,n=a?void 0:o.plotY,l=i!=="flag",r=o.graphic,e!==void 0&&t>=0&&!p?(r&&o.hasNewShapeType()&&(r=r.destroy()),r||(r=o.graphic=g.label("",0,void 0,i,void 0,void 0,m.useHTML).addClass(o.getClassName()).add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:l?"center":"left",width:m.width,height:m.height,"text-align":m.textAlign,r:k}),u.styledMode||r.attr(this.pointAttribs(o)).css(G(m.style,o.style)).shadow(m.shadow),t>0&&(t-=r.strokeWidth()%2),d={y:e,anchorY:n},m.allowOverlapX&&(d.x=t,d.anchorX=o.anchorX),r.attr({text:o.options.title??m.title??"A"})[r.isNew?"attr":"animate"](d),m.allowOverlapX||(b[o.plotX]?b[o.plotX].size=Math.max(b[o.plotX].size,r.width||0):b[o.plotX]={align:.5*!!l,size:r.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+y.pos-u.plotTop]):r&&(o.graphic=r.destroy());if(!m.allowOverlapX){let w=100;for(let M of(j(b,function(S){S.plotX=S.anchorX,v.push(S),w=Math.max(S.size,w)}),hh(v,f?y.len:this.xAxis.len,w),c)){let S=M.plotX,O=M.graphic,L=O&&b[S];L&&O&&(E(L.pos)?O[O.isNew?"attr":"animate"]({x:L.pos+(L.align||0)*L.size,anchorX:M.anchorX}).show().isNew=!1:O.hide().isNew=!0)}}m.useHTML&&this.markerGroup&&zs(this.markerGroup,"on",function(w){return Rt.prototype.on.apply(w.apply(this,[].slice.call(arguments,1
2)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=R(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,r=t&&t.lineWidth,a=t&&t.fillColor||i.fillColor;return e&&(a=i.states[e].fillColor,o=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:a||s,stroke:o||s,"stroke-width":r||i.lineWidth||0}}setClip(){tr.prototype.setClip.apply(this,arguments),this.options.clip!==!1&&this.sharedClipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}ye.compose=ih.compose,ye.defaultOptions=G(er.defaultOptions,{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold"}}),ah.compose(ye),X(ye.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:eh,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:nh,init:tr.prototype.init}),it.registerSeriesType("flags",ye),(function(h){function t(){this.brokenAxis!==void 0&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function e(){Object.keys(this.options.breaks?.[0]||{}).length&&(this.options.ordinal=!1)}function i(){let p=this.brokenAxis;if(p?.hasBreaks){let l=this.tickPositions,c=this.tickPositions.info,u=[];for(let g=0;g<l.length;g++)p.isInAnyBreak(l[g])||u.push(l[g]);this.tickPositions=u,this.tickPositions.info=c}}function s(){this.brokenAxis||(this.brokenAxis=new d(this))}function o(){let{isDirty:p,options:{connectNulls:l},points:c,xAxis:u,yAxis:g}=this;if(p){let f=c.length;for(;f--;){let m=c[f],x=(m.y!==null||l!==!1)&&(u?.brokenAxis?.isInAnyBreak(m.x,!0)||g?.brokenAxis?.isInAnyBreak(m.y,!0));m.visible=!x&&m.options.visible!==!1}}}function r(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,A(this.pointArrayMap,["y"]))}function a(p,l){let c,u,g,f=this,m=f.points;if(p?.brokenAxis?.hasBreaks){let x=p.brokenAxis;l.forEach(function(y){c=x?.breakArray||[],u=p.isXAxis?p.min:A(f.options.threshold,p.min),m.forEach(function(b){g=b["stack"+y.toUpperCase()]??b[y],c.forEach(function(v){if(T(u)&&T(g)){let k="";u<v.from&&g>v.to||u>v.from&&g<v.from?k="pointBreak":(u<v.from&&g>v.from&&g<v.to||u>v.from&&g>v.to&&g<v.from)&&(k="pointInBreak"),k&&D(p,k,{point:b,brk:v})}})})})}}function n(){let p=this.currentDataGrouping,l=p?.gapSize,c=this.points.slice(),u=this.yAxis,g=this.options.gapSize,f=c.length-1;if(g&&f>0){let m,x;for(this.options.gapUnit!=="value"&&(g*=this.basePointRange),l&&l>g&&l>=this.basePointRange&&(g=l);f--;)if(x&&x.visible!==!1||(x=c[f+1]),m=c[f],x.visible!==!1&&m.visible!==!1){if(x.x-m.x>g){let y=(m.x+x.x)/2;c.splice(f+1,0,{isNull:!0,x:y}),u.stacking&&this.options.stacking&&((u.stacking.stacks[this.stackKey][y]=new Ji(u,u.options.stackLabels,!1,y,this.stack??"")).total=0)}x=m}}return this.getGraphPath(c)}h.compose=function(p,l){if(!p.keepProps.includes("brokenAxis")){p.keepProps.push("brokenAxis"),R(p,"init",s),R(p,"afterInit",t),R(p,"afterSetTickPositions",i),R(p,"afterSetOptions",e);let c=l.prototype;c.drawBreaks=a,c.gappedPath=n,R(l,"afterGeneratePoints",o),R(l,"afterRender",r)}return p};class d{static isInBreak(l,c){let u=l.repeat||1/0,g=l.from,f=l.to-l.from,m=c>=g?(c-g)%u:u-(g-c)%u;return l.inclusive?m<=f:m<f&&m!==0}static lin2Val(l){let c=this.min||0,u=this.brokenAxis,g=u?.breakArray;if(!g?.length||!T(l))return l;let f=l;if(l>c)for(let m of g){if(m.from>f)break;(m.to<=f&&m.to>c||d.isInBreak(m,f))&&(f+=m.len)}else if(l<c)for(let m of g){if(m.from>c)break;(m.from>=f&&m.from<c||d.isInBreak(m,f))&&(f-=m.len)}return f}static val2Lin(l){let c=this.min||0,u=this.brokenAxis,g=u?.breakArray;if(!g?.length||!T(l))return l;let f=l;if(l>c)for(let m of g)if(m.to<=l&&m.to>c)f-=m.len;else{if(m.from>l)break;if(d.isInBreak(m,l)){f-=l-m.from;break}}else if(l<c)for(let m of g)if(m.from>=l&&m.from<c)f+=m.len;else{if(m.from>c)break;if(d.isInBreak(m,l)){f+=m.to-l;break}}return f}constructor(l){this.axis=l}findBreakAt(l,c){return It(c,function(u){return u.from<l&&l<u.to})}isInAnyBreak(l,c){let u=this.axis,g=u.options.breaks||[],f=g.length,m,x,y;if(f&&T(l)){for(;f--;)d.isInBreak(g[f],l)&&(m=!0,x||(x=A(g[f].showPoints,!u.isXAxis)));y=m&&c?m&&!x:m}return y}setBreaks(l,c){let u=this,g=u.axis,f=g.chart.time,m=ot(l)&&!!Object.keys(l?.[0]||{}).length;g.isDirty=(u.hasBreaks??!1)!==m,u.hasBreaks=m,l?.forEach(x=>
vendor: 13,457 bytes, line 2
2{x.from=f.parse(x.from)||0,x.to=f.parse(x.to)||0}),l!==g.options.breaks&&(g.options.breaks=g.userOptions.breaks=l),g.forceRedraw=!0,g.series.forEach(function(x){x.isDirty=!0}),m||g.val2lin!==d.val2Lin||(delete g.val2lin,delete g.lin2val),m&&(g.userOptions.ordinal=!1,g.lin2val=d.lin2Val,g.val2lin=d.val2Lin,g.setExtremes=function(x,y,b,v,k){if(u.hasBreaks&&!g.treeGrid?.tree){let w,M=this.brokenAxis.breakArray||[];for(;w=u.findBreakAt(x,M);)x=w.to;for(;w=u.findBreakAt(y,M);)y=w.from;y<x&&(y=x)}g.constructor.prototype.setExtremes.call(this,x,y,b,v,k)},g.setAxisTranslation=function(){if(g.constructor.prototype.setAxisTranslation.call(this),u.unitLength=void 0,u.hasBreaks){let x=g.options.breaks||[],y=[],b=[],v=g.pointRangePadding??0,k=0,w,M,S=g.userMin??g.min,O=g.userMax??g.max,L=g.dataMin??S,P=g.dataMax??O,B,z;T(g.threshold)&&(L=Math.min(L??g.threshold,g.threshold),P=Math.max(P??g.threshold,g.threshold)),g.treeGrid?.tree||x.forEach(function(I){M=I.repeat||1/0,T(S)&&T(O)&&(d.isInBreak(I,S)&&(S+=I.to%M-S%M),d.isInBreak(I,O)&&(O-=O%M-I.from%M))}),T(L)&&T(P)&&x.forEach(function(I){for(B=I.from,M=I.repeat||1/0;B-M>L;)B-=M;for(;B<L;)B+=M;for(z=B;z<P;z+=M)y.push({value:z,move:"in"}),y.push({value:z+I.to-I.from,move:"out",size:I.breakSize})}),y.sort(function(I,N){return I.value===N.value?(I.move!=="in")-(N.move!=="in"):I.value-N.value}),w=0,B=L,y.forEach(I=>{(w+=I.move==="in"?1:-1)===1&&I.move==="in"&&(B=I.value),w===0&&T(B)&&(b.push({from:B,to:I.value,len:I.value-B-(I.size||0)}),T(S)&&T(O)&&B<O&&I.value>S&&(k+=I.value-B-(I.size||0)))}),u.breakArray=b,T(S)&&T(O)&&T(g.min)&&(u.unitLength=O-S-k+v,D(g,"afterBreaks"),g.staticScale?g.transA=g.staticScale:u.unitLength&&(g.transA*=(O-g.min+v)/u.unitLength),v&&(g.minPixelPadding=g.transA*(g.minPointOffset||0)),g.min=S,g.max=O)}}),A(c,!0)&&g.chart.redraw()}}h.Additions=d})(Ti||(Ti={}));let lh=Ti;C.BrokenAxis=C.BrokenAxis||lh,C.BrokenAxis.compose(C.Axis,C.Series);let Bt={};function ir(h){let t=h.length,e=sr(h);return T(e)&&t&&(e=K(e/t)),e}function sr(h){let t=h.length,e;if(!t&&h.hasNulls)e=null;else if(t)for(e=0;t--;)e+=h[t];return e}let or={average:ir,averages:function(){let h=[];return[].forEach.call(arguments,function(t){h.push(ir(t))}),h[0]===void 0?void 0:h},close:function(h){return h.length?h[h.length-1]:h.hasNulls?null:void 0},high:function(h){return h.length?Gt(h):h.hasNulls?null:void 0},hlc:function(h,t,e){if(h=Bt.high(h),t=Bt.low(t),e=Bt.close(e),T(h)||T(t)||T(e))return[h,t,e]},low:function(h){return h.length?Qt(h):h.hasNulls?null:void 0},ohlc:function(h,t,e,i){if(h=Bt.open(h),t=Bt.high(t),e=Bt.low(e),i=Bt.close(i),T(h)||T(t)||T(e)||T(i))return[h,t,e,i]},open:function(h){return h.length?h[0]:h.hasNulls?null:void 0},range:function(h,t){return h=Bt.low(h),t=Bt.high(t),T(h)||T(t)?[h,t]:h===null&&t===null?null:void 0},sum:sr};X(Bt,or);let ti={groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%[AebHMSL]","%[AebHMSL]","-%[HMSL]"],second:["%[AebHMS]","%[AebHMS]","-%[HMS]"],minute:["%[AebHM]","%[AebHM]","-%[HM]"],hour:["%[AebHM]","%[AebHM]","-%[HM]"],day:["%[AebY]","%[Aeb]","-%[AebY]"],week:["%v %[AebY]","%[Aeb]","-%[AebY]"],month:["%[BY]","%[B]","-%[BY]"],year:["%Y","%Y","-%Y"]}},rr={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},dh=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]];function ar(h){let t=this,e=t.series;e.forEach(function(i){i.groupPixelWidth=void 0}),e.forEach(function(i){i.groupPixelWidth=t.getGroupPixelWidth&&t.getGroupPixelWidth(),i.groupPixelWidth&&(i.hasProcessed=!0),i.applyGrouping(!!h.hasExtremesChanged)})}function ch(){let h=this.series,t=h.length,e=0,i=!1,s,o;for(;t--;)(o=h[t].options.dataGrouping)&&(e=Math.max(e,A(o.groupPixelWidth,ti.groupPixelWidth)),s=(h[t].dataTable.getModified()||h[t].dataTable).rowCount,(h[t].groupPixelWidth||s>this.chart.plotSizeX/e||s&&o.forced)&&(i=!0));return i?e:0}function ph(){this.series.forEach(function(h){h.hasProcessed=!1})}function uh(h,t){let e;if(t=A(t,!0),h||(h={forced:!1,units:null}),this instanceof bs)for(e=this.series.length;e--;)this.series[e].update({dataGrouping:h},!1);else this.chart.options.series.forEach(function(i){i.dataGrouping=typeof h=="boolean"?h:G(h,i.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),t&&this.chart.redraw()}let gh=function(h){bs=h;let t=h.prototype;t.applyGrouping||(R(h,"afterSetScale",ph),R(h,"postProcessData",ar),X(t,{applyGrouping:ar,getGroupPixelWidth:ch,setDataGrouping:uh}))},{series:{prototype:nr}}=it,fh=nr.generatePoints;function mh(h){var t,e,i;let s,o,r=this.chart,a=this.options.dataGrouping,n=this.allowDG!==!1&&a&&A(a.enabled,r.options.isStock),d=this.reserveSpace(),p=this.currentDataGrouping,l,c,u=!1;n&&!this.requireSorting&&(this.requireSorting=u=!0);let g=(t=this,e=h,!!(t.isCartesian&&!t.isDirty&&!t.xAxis.isDirty&&!t.yAxis.isDirty&&!e)||!n);if(u&&(this.requireSorting=!1),g)return;this.destroyGroupedData();let f=a.groupAll?this.dataTable:this.dataTable.getModified()||this.dataTable,m=this.getColumn("x",!a.groupAll),x=r.plotSizeX,y=this.xAxis,b=y.getExtremes(),v=y.options.ordinal,k=this.groupPixelWidth;if(k&&m&&f.rowCount&&x&&T(b.min)){o=!0,this.isDirty=!0,this.points=null;let w=b.min,M=b.max,S=v&&y.ordinal&&y.ordinal.getGroupIntervalFactor(w,M,this)||1,O=k*(M-w)/x*S,L=y.getTimeTicks(io.Additions.prototype.normalizeTimeTickInterval(O,a.units||dh),Math.min(w,m[0]),Math.max(M,m[m.length-1]),y.options.startOfWeek,m,this.closestPointRange),P=nr.groupData.apply(this,[f,L,a.approximation]),B=P.modified,z=B.getColumn("x",!0),I=0;for(a?.smoothed&&B.rowCount&&(a.firstAnchor="firstPoint",a.anchor="middle",a.lastAnchor="lastPoint",pt(32,!1,r,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),s=1;s<L.length;s++)L.info.segmentStarts&&L.info.segmentStarts.indexOf(s)!==-1||(I=Math.max(L[s]-L[s-1],I));(l=L.info).gapSize=I,this.closestPointRange=L.info.totalRange,this.groupMap=P.groupMap,this.currentDataGrouping=l,(function(N,W,H){let $=N.options.dataGrouping,F=N.currentDataGrouping&&N.currentDataGrouping.gapSize,et=N.getColumn("x");if(!($&&et.length&&F&&N.groupMap))return;let Y=W.length-1,U=$.anchor,_=$.firstAnchor,V=$.lastAnchor,tt=W.length-1,ut=0;if(_&&et[0]>=W[0]){let J;ut++;let at=N.groupMap[0].start,ft=N.groupMap[0].length;T(at)&&T(ft)&&(J=at+(ft-1)),W[0]={start:W[0],middle:W[0]+.5*F,end:W[0]+F,firstPoint:et[0],lastPoint:J&&et[J]}[_]}if(Y>0&&V&&F&&W[Y]>=H-F){tt--;let J=N.groupMap[N.groupMap.length-1].start;W[Y]={start:W[Y],middle:W[Y]+.5*F,end:W[Y]+F,firstPoint:J&&et[J],lastPoint:et[et.length-1]}[V]}if(U&&U!=="start"){let J=F*{middle:.5,end:1}[U];for(;tt>=ut;)W[tt]+=J,tt--}})(this,z||[],M),d&&z&&(E((i=z)[0])&&T(y.min)&&T(y.dataMin)&&i[0]<y.min&&((!E(y.options.min)&&y.min<=y.dataMin||y.min===y.dataMin)&&(y.min=Math.min(i[0],y.min)),y.dataMin=Math.min(i[0],y.dataMin)),E(i[i.length-1])&&T(y.max)&&T(y.dataMax)&&i[i.length-1]>y.max&&((!E(y.options.max)&&T(y.dataMax)&&y.max>=y.dataMax||y.max===y.dataMax)&&(y.max=Math.max(i[i.length-1],y.max)),y.dataMax=Math.max(i[i.length-1],y.dataMax))),a.groupAll&&(this.allGroupedTable=B,z=(B=(c=this.cropData(B,y.min||0,y.max||0)).modified).getColumn("x"),this.cropStart=c.start),this.dataTable.modified=B}else this.groupMap=void 0,this.currentDataGrouping=void 0;this.hasGroupedData=o,this.preventGraphAnimation=(p&&p.totalRange)!==(l&&l.totalRange)}function hr(){this.groupedData&&(this.groupedData.forEach(function(h,t){h&&(this.groupedData[t]=h.destroy?h.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedTable)}function xh(){fh.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function yh(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function lr(h,t,e){let i=h.getColumn("x",!0)||[],s=h.getColumn("y",!0),o=this,r=o.data,a=o.options&&o.options.data,n=[],d=new fe,p=[],l=h.rowCount,c=!!s,u=[],g=o.pointArrayMap,f=g&&g.length,m=["x"].concat(g||["y"]),x=(g||["y"]).map(()=>[]),y=this.options.dataGrouping&&this.options.dataGrouping.groupAll,b,v,k,w=0,M=0,S=typeof e=="function"?e:e&&Bt[e]?Bt[e]:Bt[o.getDGApproximation&&o.getDGApproximation()||"average"];if(f){let P=g.length;for(;P--;)u.push([])}else u.push([]);let O=f||1;for(let P=0;P<=l;P++)if(!(i[P]<t[0])){for(;t[w+1]!==void 0&&i[P]>=t[w+1]||P===l;){if(b=t[w],o.dataGroupInfo={start:y?M:o.cropStart+M,length:u[0].length,groupStart:b},k=S.apply(o,u),o.pointClass&&!E(o.dataGroupInfo.options)&&(o.dataGroupInfo.options=G(o.pointClass.prototype.optionsToObject.call({series:o},o.options.data[o.cropStart+M])),m.forEach(function(B){delete o.dataGroupInfo.options[B]})),k!==void 0){n.push(b);let B=gt(k);for(let z=0;z<B.length;z++)x[z].push(B[z]);p.push(o.dataGroupInfo)}M=P;for(let B=0;B<O;B++)u[B].length=0,u[B].hasNulls=!1;if(w+=1,P===l)break}if(P===l)break;if(g){let B,z=y?P:o.cropStart+P,I=r&&r[z]||o.pointClass.prototype.applyOptions.apply({series:o},[a[z]]);for(let N=0;N<f;N++)T(B=I[g[N]])?u[N].push(B):B===null&&(u[N].hasNulls=!0)}else T(v=c?s[P]:null)?u[0].push(v):v===null&&(u[0].hasNulls=!0)}let L={x:n};return(g||["y"]).forEach((P,B)=>{L[P]=x[B]}),d.setColumns(L),{groupMap:p,modified:d}}function bh(h){let t=h.options,e=this.type,i=this.chart.options.plotOptions,s=this.useCommonDataGrouping&&ti,o=mt.defaultOptions.plotOptions[e].dataGrouping;if(i&&(rr[e]||s)){let r=this.chart.rangeSelector;o||(o=G(ti,rr[e])),t.dataGrouping=G(s,o,i.series&&i.series.dataGrouping,i[e].dataGrouping,this.userOptions.dataGrouping,!t.isInternal&&r&&T(r.selected)&&r.buttonOptions[r.selected].dataGrouping)}}let vh=function(h){let t=h.prototype;t.applyGrouping||(R(h.prototype.pointClass,"update",function(){if(this.dataGroup)return pt(24,!1,this.series.chart),!1}),R(h,"afterSetOptions",bh),R(h,"destroy",hr),X(t,{applyGrouping:mh,destroyGroupedData:hr,generatePoints:xh,getDGApproximation:yh,groupData:lr}))},{format:kh}=Ot,{composed:Mh}=C;function wh(h){let t=this.chart,e=t.time,i=h.point,s=i.series,o=s.options,r=s.tooltipOptions,a=o.dataGrouping,n=s.xAxis,d=r.xDateFormat||"",p,l,c,u,g,f=r[h.isFooter?"footerFormat":"headerFormat"];if(n&&n.options.type==="datetime"&&a&&T(i.key)){l=s.currentDataGrouping,c=a.dateTimeLabelFormats||ti.dateTimeLabelFormats,l?(u=c[l.unitName],l.count===1?d=u[0]:(d=u[1],p=u[2])):!d&&c&&n.dateTime&&(d=n.dateTime.getXDateFormat(i.x,r.dateTimeLabelFormats));let m=A(s.groupMap?.[i.index].groupStart,i.key),x=m+(l?.totalRange||0)-1;g=e.dateFormat(d,m),p&&(g+=e.dateFormat(p,x)),s.chart.styledMode&&(f=this.styledModeFormat(f)),h.text=kh(f,{point:X(i,{key:g}),series:s},t),h.preventDefault()}}C.dataGrouping=C.dataGrouping||{},C.dataGrouping.approximationDefaults=C.dataGrouping.approximationDefaults||or,C.dataGrouping.approximations=C.dataGrouping.approximations||Bt,{compose:function(h,t,e){gh(h),vh(t),e&&xt(Mh,"DataGrouping")&&R(e,"headerFormatter",wh)},groupData:lr}.compose(C.Axis,C.Series,C.Tooltip);let dr={backgroundColor:"color",backgroundColors:"color",borderColor:"color",borderRadius:"string",color:"color",fill:"color",fontSize:"string",labels:"string",name:"string",stroke:"color",title:"string"},{getAssignedAxis:cr}={annotationsFieldsTypes:dr,getAssignedAxis:function(h){return h.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=A(t.axis.minPointOffset,0);return T(i)&&T(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(h,t){let e=dr[h],i=typeof t;return E(e)&&(i=e),{string:"text",number:"number",boolean:"checkbox",color:"color"}[i]}},pr=[],Sh={enabled:!0,sensitivity:1.1,showResetButton:!1},Ah=function(h,t,e,i,s,o,r){let a=A(r.type,h.zooming.type,""),n=[];a==="x"?n=e:a==="y"?n=i:a==="xy"&&(n=h.axes);let d=h.transform({axes:n,to:{x:s-5,y:o-5,width:10,height:10},from:{x:s-5*t,y:o-5*t,width:10*t,height:10*t},trigger:"mousewheel",allowResetButton:r.showResetButton});return d&&(E(si)&&ze(si),si=setTimeout(()=>{h.pointer?.drop()},400)),d};function Th(){var h;let t=(st(h=this.zooming.mouseWheel)||(h={enabled:h??!0}),G(Sh,h));t.enabled&&R(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:i}=this,s=i&&!i.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&s){let o=t.sensitivity||1.1,r=e.detail||(e.deltaY||0)/120,a=cr(i.getCoordinates(e).xAxis),n=cr(i.getCoordinates(e).yAxis);Ah(this,Math.pow(o,r),a?[a.axis]:this.xAxis,n?[n.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}C.MouseWheelZoom=C.MouseWheelZoom||{compose:function(h){pr.indexOf(h)===-1&&(pr.push(h),R(h,"afterGetContainer",Th))}},C.MouseWheelZoom.compose(C.Chart),C.Navigator=C.Navigator||ds,C.OrdinalAxis=C.OrdinalAxis||Dn,C.RangeSelector=C.RangeSelector||Ce,C.Scrollbar=C.Scrollbar||Xo,C.stockChart=C.stockChart||Zo.stockChart,C.StockChart=C.StockChart||C.stockChart,X(C.StockChart,Zo),nn.compose(C.Series,C.Axis,C.Point),ye.compose(C.Renderer),ae.compose(C.Series),C.Navigator.compose(C.Chart,C.Axis,C.Series),C.OrdinalAxis.compose(C.Axis,C.Series,C.Chart),C.RangeSelector.compose(C.Axis,C.Chart),C.Scrollbar.compose(C.Axis),C.StockChart.compose(C.Chart,C.Axis,C.Series,C.SVGRenderer),C.product="Highstock";let Ch=C;return Os.default})())});export default Oh();

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.