PageSourceSearch

https://app.pointerpro.com/chunk-UJTUHFFG.js

js pointerpro.com collected 2026-09-24 09:58:27 UTC 275,260 bytes, 3 lines download raw bytes

vendor: 5,350 bytes, line 1
1import{a as Ht,b as ue}from"./chunk-7CEBWOAQ.js";var ui,Je,$i,Vi,Ae,Ui,$,te,Zi,Ki,qi,Ji,_i,Pe,Qi,fi,mi,xi,yi,bi,vi,ki,wi,Mi,Si,Ti,Ci,Ai,Pi,Li,Oi,Ei,Le={};Le.d=(h,t)=>{for(var e in t)Le.o(t,e)&&!Le.o(h,e)&&Object.defineProperty(h,e,{enumerable:!0,get:t[e]})},Le.o=(h,t)=>Object.prototype.hasOwnProperty.call(h,t),($=fi||(fi={})).SVG_NS="http://www.w3.org/2000/svg",$.product="Highcharts",$.version="12.6.0",$.win="u">typeof window?window:{},$.doc=$.win.document,$.svg=!!$.doc?.createElementNS?.($.SVG_NS,"svg")?.createSVGRect,$.pageLang=$.doc?.documentElement?.closest("[lang]")?.lang,$.userAgent=$.win.navigator?.userAgent||"",$.isChrome=$.win.chrome,$.isFirefox=$.userAgent.indexOf("Firefox")!==-1,$.isMS=/(edge|msie|trident)/i.test($.userAgent)&&!$.win.opera,$.isSafari=!$.isChrome&&$.userAgent.indexOf("Safari")!==-1,$.isTouchDevice=/(Mobile|Android|Windows Phone)/.test($.userAgent),$.isWebKit=$.userAgent.indexOf("AppleWebKit")!==-1,$.deg2rad=2*Math.PI/360,$.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],$.noop=function(){},$.supportsPassiveEvents=(function(){let h=!1;if(!$.isMS){let t=Object.defineProperty({},"passive",{get:function(){h=!0}});$.win.addEventListener&&$.win.removeEventListener&&($.win.addEventListener("testPassive",$.noop,t),$.win.removeEventListener("testPassive",$.noop,t))}return h})(),$.charts=[],$.composed=[],$.dateFormats={},$.seriesTypes={},$.symbolSizes={},$.chartCount=0;var C=fi,{doc:ze,win:Ne}=C;function F(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,l)=>n.order-l.order),function(){Dt(h,t,e)}}function le(h){let t=h.length,e=h[0];for(;t--;)h[t]<e&&(e=h[t]);return e}function jt(h){let t=h.length,e=h[0];for(;t--;)h[t]>e&&(e=h[t]);return e}function ft(h,t,e){let i,s=K(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 K(t)?o(e,t):j(t,o),i}function nt(h,t,e){return h>t?h<e?h:e:t}function st(h,t){return h>1e14?h:parseFloat(h.toPrecision(t||14))}function Mt(h,t,e,i,s){let o=ze.createElement(h);return t&&R(o,t),s&&U(o,{padding:"0",border:"none",margin:"0"}),e&&U(o,e),i&&i.appendChild(o),o}function Ct(h,t=0,e){let i=t%2/2,s=e?-1:1;return(Math.round(h*s-i)+i)*s}function U(h,t){R(h.style,t)}function E(h){return h!=null}function Zt(h,t,e){j(h,function(i,s){i!==t&&i?.destroy&&i.destroy(),(i?.destroy||!e)&&delete h[s]})}function Ue(h){h?.parentElement?.removeChild(h)}function ve(h,t,e,i){let s={};return(function o(r,a,n,l){let c=e?a:r;j(r,function(d,p){if(!l&&i&&i.indexOf(p)>-1&&a[p]){d=yt(d),n[p]=[];for(let g=0;g<Math.max(d.length,a[p].length);g++)a[p][g]&&(d[g]===void 0?n[p][g]=a[p][g]:(n[p][g]={},o(d[g],a[p][g],n[p][g],l+1)))}else _(d,!0)&&!d.nodeType?(n[p]=it(d)?[]:{},o(d,a[p]||{},n[p],l+1),Object.keys(n[p]).length===0&&(p!=="colorAxis"||l!==0)&&delete n[p]):(r[p]!==a[p]||p in r&&!(p in a))&&p!=="__proto__"&&p!=="constructor"&&(n[p]=c[p])})})(h,t,s,0),s}function Et(h,t){let e=h.length;for(;e--;)if(h[e]===t){h.splice(e,1);break}}function R(h,t){let e;for(e in h||(h={}),t)h[e]=t[e];return h}function Ns(h,t){let e=function(){};return e.prototype=new h,R(e.prototype,t),e}function P(h,t,e,i){if(e=e||{},ze?.createEvent&&(h.dispatchEvent||h.fireEvent&&h!==C)){let s=ze.createEvent("Events");s.initEvent(t,!0,!0),e=R(s,e),h.dispatchEvent?h.dispatchEvent(e):h.fireEvent(t,e)}else if(h.hcEvents){e.target||R(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);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)}var bt=(h="")=>({center:.5,right:1,middle:.5,bottom:1})[h]||0;function Ii(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 Xi(h){return Math.pow(10,Math.floor(Math.log(h)/Math.LN10))}function Re(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 _(t)&&(o=t["@this"]),o??t}let s=t[i.replace(/[\\'"]/g,"")];if(!E(s)||typeof s=="function"||typeof s.nodeType=="number"||s===Ne)return;t=s}return t}function Ft(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-(Ft(h,"padding-left",!0)||0)-(Ft(h,"padding-right",!0)||0))}if(t==="height")return Math.max(0,Math.min(h.offsetHeight,h.scrollHeight)-(Ft(h,"padding-top",!0)||0)-(Ft(h,"padding-bottom",!0)||0));let s=Ne.getComputedStyle(h,void 0);return s&&(i=s.getPropertyValue(t),T(e,t!=="opacity")&&(i=rt(i))),i}var $t=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]};
1function Hi(h){E(h)&&clearTimeout(h)}function Gi(h){return _(h)&&typeof h.nodeType=="number"}function Rs(h){let t=h?.constructor;return!!(_(h,!0)&&!Gi(h)&&t?.name&&t.name!=="Object")}function A(h){return typeof h=="number"&&!isNaN(h)&&h<1/0&&h>-1/0}function K(h){return typeof h=="string"}function it(h){let t=Object.prototype.toString.call(h);return t==="[object Array]"||t==="[object Array Iterator]"}function de(h){return typeof h=="function"}function _(h,t){return!!h&&typeof h=="object"&&(!t||!it(h))}function N(h,...t){let e,i=[h,...t],s={},o=function(a,n){return typeof a!="object"&&(a={}),j(n,function(l,c){c!=="__proto__"&&c!=="constructor"&&(!_(l,!0)||Rs(l)||Gi(l)?a[c]=n[c]:a[c]=o(a[c]||{},l))}),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 Ze(h,t,e,i,s){let o,r=h;e=T(e,Xi(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 st(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 Ws(h){let t=ze.documentElement,e=h.parentElement||h.parentNode?h.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:e.top+(Ne.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(Ne.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}}function Gt(h,t,e){return Array((t||2)+1-String(h).replace("-","").length).join(e||"0")+h}function T(){let h=arguments,t=h.length;for(let e=0;e<t;e++){let i=h[e];if(i!=null)return i}}function rt(h,t){return parseInt(h,t||10)}function It(h,t){return 0>h.indexOf(t)&&!!h.push(t)}function mt(h,t,e){return/%$/.test(h)?t*parseFloat(h)/100+(e||0):parseFloat(h)}function Xs(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 Dt(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(l,c){if(r[c])for(n=r[c].length;n--;)i(c,r[c][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 yt(h){return it(h)?h:[h]}function fe(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 Bt(h,t,e){return t>0?setTimeout(h,t,e):(h.call(0,e),-1)}function Hs(h){return K(h)?h.substring(0,1).toUpperCase()+h.substring(1):String(h)}var{charts:oo,win:Di}=C;function ht(h,t,e,i){let s=t?"Highcharts error":"Highcharts warning";h===32&&(h=`${s}: Deprecated member`);let o=A(h),r=o?`${s} #${h}: www.highcharts.com/errors/${h}/`:h.toString();if(i!==void 0){let a="";o&&(r+="?"),j(i,function(n,l){a+=`
2 - ${l}: ${n}`,o&&(r+=encodeURI(l)+"="+encodeURI(n))}),r+=a}P(C,"displayError",{chart:e,code:h,message:r,params:i},function(){if(t)throw Error(r);Di.console&&ht.messages.indexOf(r)===-1&&console.warn(r)}),ht.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]||A(i)&&i<T(t[e].options.index,t[e]._i)||t[e].options.isInternal){t.splice(e,0,h);break}return e}(ht||(ht={})).messages=[];var tt={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)};var Tt=($i=Math.random().toString(36).substring(2,9)+"-",Vi=0,function(){return"highcharts-"+(ui?"":$i)+Vi++});Di.jQuery&&(Di.jQuery.fn.highcharts=function(){let h=[].slice.call(arguments);if(this[0])return h[0]?(new C[K(h[0])?h.shift():"Chart"](this[0],h[0],h[1]),this):oo[ft(this[0],"data-highcharts-chart")]});var{pageLang:ro,win:Xe}=C,ao=C.isSafari&&Xe.Intl&&!Xe.Intl.DateTimeFormat.prototype.formatRange,no=class{constructor(h,t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=Xe.Date,this.update(h),this.lang=t}update(h={}){this.dTLCache={},this.options=h=N(!0,this.options,h);let{timezoneOffset:t,useUTC:e,locale:i}=h;this.Date=h.Date||Xe.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(l
2=>this.dateFormat(n,(r?31:1)*24*36e5*l))})}toParts(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||ro){let i=JSON.stringify(h)+e;K(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)?(ht(34),h.timeZone="UTC",s=new Intl.DateTimeFormat(e,h)):ht(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&&R(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 l=this.getTimezoneOffset(a);n!==l?a+=l-n:n-36e5!==this.getTimezoneOffset(a-36e5)||ao||(a-=36e5)}}return a}parse(h){if(!K(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(A(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(A(r))return r}return 0}dateFormat(h,t,e){let i=this.lang;if(!E(t)||isNaN(t))return i?.invalidDate||"";if(K(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(K(h)&&h.indexOf("%")!==-1){let s=this,[o,r,a,n,l,c,d,p]=this.toParts(t),g=i?.weekdays||this.weekdays,x=i?.shortWeekdays||this.shortWeekdays,f=i?.months||this.months,u=i?.shortMonths||this.shortMonths;j(R({a:x?x[p]:g[p].substr(0,3),A:g[p],d:Gt(a),e:Gt(a,2," "),w:p,v:i?.weekFrom??"",b:u[r],B:f[r],m:Gt(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:Gt(n),k:n,I:Gt(n%12||12),l:n%12||12,M:Gt(l),p:n<12?"AM":"PM",P:n<12?"am":"pm",S:Gt(c),L:Gt(d,3)},C.dateFormats),function(m,y){if(K(h))for(;h.indexOf("%"+y)!==-1;)h=h.replace("%"+y,typeof m=="function"?m.call(s,t,s):m)})}else if(_(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(R({timeZone:o},h),t)+a}return e?Hs(h):h}resolveDTLFormat(h){return _(h,!0)?_(h,!0)&&h.main===void 0?{main:h}:h:{main:(h=yt(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 tt){if(h&&h===tt.week&&+this.dateFormat("%w",t)===e&&s.substr(6)===o.substr(6)){a="week";break}if(h&&tt[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}},Yi=class extends no{getTimeTicks(h,t,e,i){let s=this,o=[],r={},{count:a=1,unitRange:n}=h,[l,c,d,p,g,x]=s.toParts(t),f=(t||0)%1e3,u;if(i??(i=1),E(t)){if(f=n>=tt.second?0:a*Math.floor(f/a),n>=tt.second&&(x=n>=tt.minute?0:a*Math.floor(x/a)),n>=tt.minute&&(g=n>=tt.hour?0:a*Math.floor(g/a)),n>=tt.hour&&(p=n>=tt.day?0:a*Math.floor(p/a)),n>=tt.day&&(d=n>=tt.month?1:Math.max(1,a*Math.floor(d/a))),n>=tt.month&&(c=n>=tt.year?0:a*Math.floor(c/a)),n>=tt.year&&(l-=l%a),n===tt.week){a&&(t=s.makeTime(l,c,d,p,g,x,f));let b=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},t,"es"),k="DLMXJVS".indexOf(b);d+=-k+i+(k<i?-7:0)}t=s.makeTime(l,c,d,p,g,x,f),s.variableTimezone&&E(e)&&(u=e-t>4*tt.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(e));let m=t,y=1;for(;m<e;)o.push(m),n===tt.year?m=s.makeTime(l+y*a,0):n===tt.month?m=s.makeTime(l,c+y*a):u&&(n===tt.day||n===tt.week)?m=s.makeTime(l,c,d+y*a*(n===tt.day?1:7)):u&&n===tt.hour&&a>1?m=s.makeTime(l,c,d,p+y*a):m+=n*a,y++;o.push(m),n<=tt.hour&&o.length<1e4&&o.forEach(b=>{b%18e5==0&&s.dateFormat("%H%M%S%L",b)==="000000000"&&(r[b]="day")})}return o.info=R(h,{higherRanks:r,totalRange:n*a}),o}},{isTouchDevice:ho}
2=C,Yt={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:ho?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"}},_e=new Yi(Yt.time,Yt.lang),At={defaultOptions:Yt,defaultTime:_e,getOptions:function(){return Yt},setOptions:function(h){return P(C,"setOptions",{options:h}),N(!0,Yt,h),h.time&&_e.update(Yt.time),h.lang&&"locale"in h.lang&&_e.update({locale:h.lang.locale}),h.lang?.chartTitle&&(Yt.title=ue(Ht({},Yt.title),{text:h.lang.chartTitle})),Yt}},{win:lo}=C,ts=(h,t,e)=>`color-mix(in srgb,${h},${t} ${100*e}%)`,Qe=h=>K(h)&&!!h&&h!=="none",xt=class h{static parse(t){return t?new h(t):h.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=C.Color;if(r&&r!==h)return new r(t);if(typeof t=="object"&&t.stops!==void 0)this.stops=t.stops.map(a=>new h(a[1]));else if(typeof t=="string")for(this.input=t=h.names[t.toLowerCase()]||t,s=h.parsers.length;s--&&!i;)(e=(o=h.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=N(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&&A(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(A(t)&&t!==0)if(A(e[0]))for(let i=0;i<3;i++)e[i]+=rt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else h.useColorMix&&Qe(this.input)&&(this.output=ts(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(!A(i[0])||!A(s[0]))return h.useColorMix&&Qe(this.input)&&Qe(t.input)&&e<.99?ts(this.input,t.input,e):t.input||"none";let o=s[3]!==1||i[3]!==1,r=(n,l)=>n+(i[l]-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(",")+")"}};xt.names={white:"#ffffff",black:"#000000"},xt.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[rt(h[1]),rt(h[2]),rt(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[rt(h[1]),rt(h[2]),rt(h[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(h){return[rt(h[1]+h[1],16),rt(h[2]+h[2],16),rt(h[3]+h[3],16),E(h[4])?rt(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[rt(h[1],16),rt(h[2],16),rt(h[3],16),E(h[4])?rt(h[4],16)/255:1]}}],xt.useColorMix=lo.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),xt.None=new xt("");var{parse:es}=xt,{win:co}=C,Rt=class h{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],l=[];for(let c=0;c<n.length;c++){let d=a[c],p=n[c];A(d)&&A(p)&&(n[0]!=="A"||c!==4&&c!==5)?l[c]=d+s*(p-d):l[c]=p}o.push(l)}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(l){return!r.stopped&&s.step(l)},a=co.requestAnimationFrame||function(l){setTimeout(l,13)},n=function(){for(let l=0;l<h.timers.length;l++)h.timers[l]()||h.timers.splice(l--,1);h.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()&&h.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,l=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=n+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,j(l,function(c){c!==!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,l=e&&i.length>e.length&&i.hasStackedCliffs,c,d,p,g,x=e?.slice();if(!x||l)return[r,r];function f(m,y){for(;m.length<d;){let b=m[0],k=y[d-m.length];if(k&&b[0]==="M"&&(k[0]==="C"?m[0]=["C",b[1],b[2],b[1],b[2],b[1],b[2]]:m[0]=["L",b[1],b[2]]),m.unshift(b),a){let v=m.pop();m.push(m[m.length-1],v)}}}function u(m){for(;m.length<d;){let y=m[Math.floor(m.length/n)-1].slice();if(y[0]==="C"&&(y[1]=y[5],y[2]=y[6]),a){let b=m[Math.floor(m.length/n)].slice();m.splice(m.length/2,0,y,b)}else m.push(y)}}if(s&&o&&o.length){for(p=0;p<s.length;p++)if(s[p]===o[0]){c=p;break}else if(s[0]===o[o.length-s.length+p]){c=p,g=!0;break}else if(s[s.length-1]===o[o.length-s.length+p]){c=s.length-p;break}c===void 0&&(x=[])}return x.length&&A(c)&&(d=r.length+c*n,g?(f(x,r),u(r)):(f(r,x),u(x))),[x,r]}fillSetter(){h.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,es(this.start).tweenTo(es(this.end),this.pos),void 0,!0)}};function ti(h){return _(h)?N({duration:500,defer:0},h):{duration:500*!!h,defer:0}}function is(h,t){let e=Rt.timers.length;for(;e--;)Rt.timers[e].elem!==h||t&&t!==Rt.timers[e].prop||(Rt.timers[e].stopped=!0)}Rt.timers=[];var ut={animate:function(h,t,e){let i,s="",o,r,a;_(e)||(a=arguments,e={duration:a[2],easing:a[3],complete:a[4]}),A(e.duration)||(e.duration=400),e.easing=typeof e.easing=="function"?e.easing:Math[e.easing]||Math.easeInOutSine,e.curAnim=N(t),j(t,function(n,l){is(h,l),r=new Rt(h,e,l),o=void 0,l==="d"&&it(t.d)?(r.paths=r.initPath(h,h.pathArray,t.d),r.toD=t.d,i=0,o=1):h.attr?i=h.attr(l):(i=parseFloat(Ft(h,l))||0,l!=="opacity"&&(s="px")),o||(o=n),typeof o=="str
2ing"&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(i,o,s)})},animObject:ti,getDeferredAnimation:function(h,t,e){let i=ti(t),s=e?[e]:h.series,o=0,r=0;return s.forEach(a=>{let n=ti(a.options.animation);o=_(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=T(h,t.options.chart.animation,!0)},stop:is},{SVG_NS:ss,win:po}=C,{trustedTypes:ei}=po,He=ei&&de(ei.createPolicy)&&ei.createPolicy("highcharts",{createHTML:h=>h}),go=He?He.createHTML(""):"",ct=class h{static filterUserAttributes(t){return j(t,(e,i)=>{let s=!0;h.allowedAttributes.indexOf(i)===-1&&(s=!1),["background","dynsrc","href","lowsrc","src"].indexOf(i)!==-1&&(s=K(e)&&h.allowedReferences.some(o=>e.indexOf(o)===0)),s||(ht(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),K(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=h.emptyHTML,e&&new h(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){return(function e(i,s){let o;return yt(i).forEach(function(r){let a,n=r.tagName,l=r.textContent?C.doc.createTextNode(r.textContent):void 0,c=h.bypassHTMLFiltering;if(n)if(n==="#text")a=l;else if(h.allowedTags.indexOf(n)!==-1||c){let d=n==="svg"?ss:s.namespaceURI||ss,p=C.doc.createElementNS(d,n),g=r.attributes||{};j(r,function(x,f){f!=="tagName"&&f!=="attributes"&&f!=="children"&&f!=="style"&&f!=="textContent"&&(g[f]=x)}),ft(p,c?g:h.filterUserAttributes(g)),r.style&&U(p,r.style),l&&p.appendChild(l),e(r.children||[],p),a=p}else ht(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(He?He.createHTML(t):t,"text/html")}catch{}if(!e){let o=Mt("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 l=o.attributes;if(l){let c={};[].forEach.call(l,d=>{d.name==="data-style"?n.style=h.parseStyle(d.value):c[d.name]=d.value}),n.attributes=c}if(o.childNodes.length){let c=[];[].forEach.call(o.childNodes,d=>{s(d,c)}),c.length&&(n.children=c)}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=go,ct.bypassHTMLFiltering=!1;var{defaultOptions:Gs,defaultTime:Ys}=At,{pageLang:uo}=C,De={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!!it(h)&&h.map((e,i)=>Ge(t.body,R(_(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:Hs,unless:h=>!h},os={};function Ge(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||Gs.lang,l=e?.time||Ys,c=e?.numberFormatter||Fs.bind(e),d=(u="")=>{let m;return u==="true"||u!=="false"&&((m=Number(u)).toString()===u?m:/^["'].+["']$/.test(u)?u.slice(1,-1):Re(u,t))},p,g,x=0,f;for(;(p=i.exec(h))!==null;){let u=p,m=s.exec(p[1]);m&&(p=m,f=!0),g?.isBlock||(g={ctx:t,expression:p[1],find:p[0],isBlock:p[1].charAt(0)==="#",start:p.index,startInner:p.index+p[0].length,length:p[0].length});let y=(g.isBlock?u:p)[1].split(" ")[0].replace("#","");De[y]&&(g.isBlock&&y===g.fn&&x++,g.fn||(g.fn=y));let b=p[1]==="else";if(g.isBlock&&g.fn&&(p[1]===`/${g.fn}`||b))if(x)!b&&x--;else{let k=g.startInner,v=h.substr(k,p.index-k);g.body===void 0?(g.body=v,g.startInner=p.index+p[0].length):g.elseBody=v,g.find+=v+p[0],b||(o.push(g),g=void 0)}else g.isBlock||o.push(g);
vendor: 7,503 bytes, line 2
2if(m&&!g?.isBlock)break}return o.forEach(u=>{let m,y,{body:b,elseBody:k,expression:v,fn:w}=u;if(w){let M=[u],S=[],O=v.length,I=0,L;for(y=0;y<=O;y++){let D=v.charAt(y);L||D!=='"'&&D!=="'"?L===D&&(L=""):L=D,L||D!==" "&&y!==O||(S.push(v.substr(I,y-I)),I=y+1)}for(y=De[w].length;y--;)M.unshift(d(S[y+1]));m=De[w].apply(t,M),u.isBlock&&typeof m=="boolean"&&(m=Ge(m?b:k,t,e))}else{let M=/^["'].+["']$/.test(v)?[v]:v.split(":");if(m=d(M.shift()||""),M.length&&typeof m=="number"){let S=M.join(":");if(r.test(S)){let O=parseInt((S.match(a)||["","-1"])[1],10);m!==null&&(m=c(m,O,n.decimalPoint,S.indexOf(",")>-1?n.thousandsSep:""))}else m=l.dateFormat(S,m)}s.lastIndex=0,s.test(u.find)&&K(m)&&(m=`"${m}"`)}h=h.replace(u.find,T(m,""))}),f?Ge(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||Gs.lang,l=(h.toString().split(".")[1]||"").split("e")[0].length,c=t,d={};e??(e=n.decimalPoint),i??(i=n.thousandsSep),t===-1?t=Math.min(l,20):A(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),A(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),i===""&&(d.useGrouping=!1);let p=i||e,g=p?"en":this?.locale||n.locale||uo,x=JSON.stringify(d)+g;return s=(os[x]??(os[x]=new Intl.NumberFormat(g,d))).format(h),p&&(s=s.replace(/([,\.])/g,"_$1").replace(/_\,/g,i??",").replace("_.",e??".")),(t||+s!=0)&&(!(a<0)||c)||(s="0"),a&&+s!=0&&(s+="e"+(a<0?"":"+")+a),s}var Pt={dateFormat:function(h,t,e){return Ys.dateFormat(h,t,e)},format:Ge,helpers:De,numberFormat:Fs};(te=mi||(mi={})).rendererTypes={},te.getRendererType=function(h=Ae){return te.rendererTypes[h]||te.rendererTypes[Ae]},te.registerRendererType=function(h,t,e){te.rendererTypes[h]=t,(!Ae||e)&&(Ae=h,C.Renderer=t)};var Ce=mi;(xi||(xi={})).distribute=function h(t,e,i){let s=t,o=s.reducedLen||e,r=(u,m)=>u.target-m.target,a=[],n=t.length,l=[],c=a.push,d,p=!0,g,x,f=0;for(d=n;d--;)f+=t[d].size;if(f>o){if(fe(t,(u,m)=>(m.rank||0)-(u.rank||0)),t[0].rank===t[t.length-1].rank){let u=[[0,n-1]];for(;u.length&&f>o;){let m=u.shift();if(!m)break;g=t[d=Math.floor((m[0]+m[1])/2)],It(l,d)&&(f-=g.size),m[0]<d&&u.push([m[0],d-1]),d<m[1]&&u.push([d+1,m[1]])}}else for(d=n-1;f>o&&d>=0;)g=t[d],It(l,d)&&(f-=g.size),d--;l.sort((u,m)=>m-u).forEach(u=>c.apply(a,t.splice(u,1)))}for(fe(t,r),t=t.map(u=>({size:u.size,targets:[u.target],align:T(u.align,.5)}));p;){for(d=t.length;d--;)g=t[d],x=(Math.min.apply(0,g.targets)+Math.max.apply(0,g.targets))/2,g.pos=nt(x-g.size*g.align,0,e-g.size);for(d=t.length,p=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>e&&(t[d-1].pos=e-t[d-1].size),t.splice(d,1),p=!0)}return c.apply(s,a),d=0,t.some(u=>{let m=0;return(u.targets||[]).some(()=>(s[d].pos=u.pos+m,i!==void 0&&Math.abs(s[d].pos-s[d].target)>i?(s.slice(0,d+1).forEach(y=>delete y.pos),s.reducedLen=(s.reducedLen||e)-.1*e,s.reducedLen>.1*e&&h(s,e,i),!0):(m+=s[d].size,d++,!1)))}),fe(s,r),s};var Ke=xi,{animate:fo,animObject:mo,stop:rs}=ut,{deg2rad:as,doc:ee,svg:xo,SVG_NS:Oe,win:yo,isFirefox:bo}=C,gt=class h{_defaultGetter(t){let e=T(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||K(i)?i||"renderer":void 0;n&&(a&&It(r,this),i=void 0);let l=T(i,o[n],o),c=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*bt(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*bt(t.verticalAlign),p={};return t.align&&(p["text-align"]=t.align),p[e?"translateX":"x"]=Math.round(c),p[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](p),this.placed=!0),this.alignAttr=p,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=mo(T(e,this.renderer.globalAnimation,!0)),o=s.defer;return ee.hidden&&(s.duration=0),s.duration!==0?(i&&(s.complete=i),Bt(()=>{this.element&&fo(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(c,d,p){return 2*Number(d)+p}),this.removeTextOutline();let r=ee.createElementNS(Oe,"tspan");ft(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,c=>{let d=c.cloneNode(!0);d.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(p=>d.removeAttribute(p)),r.appendChild(d)});let n=0;[].forEach.call(a.querySelectorAll("text tspan"),c=>{n+=Number(c.getAttribute("dy"))});let l=ee.createElementNS(Oe,"tspan");l.textContent="\u200B",ft(l,{x:Number(e.getAttribute("x")),dy:-n}),r.appendChild(l),a.insertBefore(r,a.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=h.symbolCustomAttribs,a,n,l=this,c;return typeof t=="string"&&e!==void 0&&(a=t,(t={})[a]=e),typeof t=="string"?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(j(t,function(d,p){c=!1,s||rs(this,p),this.symbolName&&r.indexOf(p)!==-1&&(n||(this.symbolAttr(t),n=!0),c=!0),this.rotation&&(p==="x"||p==="y")&&(this.doTransform=!0),c||(this[p+"Setter"]||this._defaultSetter).call(this,d,p,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=Tt()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);R(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=Ct(i,e),n=Ct(s,e);return R(t,{x:a,y:n,width:Ct(o,e)-a,height:Ct(r,e)-n}),E(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,a,n,l,c,d,p,g,x,f=[],u;P(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(a=t[r],l=s.gradients,c=t.stops,g=i.radialReference,it(a)&&(t[r]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),r==="radialGradient"&&g&&!E(a.gradientUnits)&&(n=a,a=N(a,s.getRadialAttr(g,n),{gradientUnits:"userSpaceOnUse"})),j(a,function(m,y){y!=="id"&&f.push(y,m)}),j(c,function(m){f.push(m)}),l[f=f.join(",")])x=l[f].attr("id");else{a.id=x=Tt();let m=l[f]=s.createElement(r).attr(a).add(s.defs);
2m.radAttr=n,m.stops=[],c.forEach(function(y){y[1].indexOf("rgba")===0?(d=(o=xt.parse(y[1])).get("rgb"),p=o.get("a")):(d=y[1],p=1);let b=s.createElement("stop").attr({offset:y[0],"stop-color":d,"stop-opacity":p}).add(m);m.stops.push(b)})}u="url("+s.url+"#"+x+")",i.setAttribute(e,u),i.gradient=f,t.toString=function(){return u}}})}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=R(e,i)),t.width===null||t.width==="auto"?delete this.textWidth:s.nodeName.toLowerCase()==="text"&&t.width&&(o=this.textWidth=rt(t.width)),R(this.styles,t),o&&!xo&&this.renderer.forExport&&delete t.width;let a=bo&&t.fontSize||null;a&&(A(a)||/^\d+$/.test(a))&&(t.fontSize+="px");let n=N(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(l=>n&&delete n[l]),n.color&&(n.fill=n.color,delete n.color)),U(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]=""+rt(s[e])*T(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,rs(t),t.clipPath&&o){let n=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(l){l.getAttribute("clip-path").indexOf(n.element.id)>-1&&l.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&&Et(i.alignedObjects,t),j(t,(n,l)=>{(t[l]?.parentGroup===t||["connector","foreignObject"].indexOf(l)!==-1)&&t[l]?.destroy?.(),delete t[l]})}dSetter(t,e,i){it(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:l}=this,{cache:c,cacheKeys:d}=a,p=r.namespaceURI===this.SVG_NS,g=T(e,this.rotation,0),x=a.styledMode?r&&h.prototype.getStyle.call(r,"font-size"):n.fontSize,f=this.getBBoxCacheKey([a.rootFontSize,this.textWidth,this.alignValue,n.fontWeight,n.lineClamp,n.textOverflow,x,g]);if(f&&!t&&(i=c[f]),!i||i.polygon){if(p||a.forExport){try{o=this.fakeTS&&function(m){let y=r.querySelector(".highcharts-text-outline");y&&U(y,{display:m})},de(o)&&o("none"),i=r.getBBox?R({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},de(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,p&&(i.height=s={"11px,17":14,"13px,20":16}[`${x||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let u={bBox:i};P(this,"afterGetBBox",u),i=u.bBox}if(f&&(l===""||i.height>0)){for(;d.length>250;)delete c[d.shift()];c[f]||d.push(f),c[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:l=0,rotationOriginY:c=0}=this,d=bt(a),p=Number(this.element.getAttribute("y")||0)-(n?0:s),g=e*as,x=(e-90)*as,f=Math.cos(g),u=Math.sin(g),m=o*f,y=o*u,b=Math.cos(x),k=Math.sin(x),[[v,w],[M,S]]=[l,c].map(G=>[G-G*f,G*u]),O=i+d*(o-m)+v+S+p*b,I=O+m,L=I-r*b,D=L-m,B=s+p-d*y-w+M+p*k,z=B+y,H=z-r*k,W=H-y,X=Math.min(O,I,L,D),et=Math.min(B,z,H,W),Q=Math.max(O,I,L,D)-X,vt=Math.max(B,z,H,W)-et;return{x:X,y:et,width:Q,height:vt,polygon:[[O,B],[I,z],[L,H],[D,W]]}}getStyle(t){return yo.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=Oe,this.element=e==="span"||e==="body"?Mt(e):ee.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},P(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=F(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(K(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=N(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},_(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=rt(t):t!==""&&(ft(i=ee.createElementNS(Oe,"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;
vendor: 7,239 bytes, line 2
2h.symbolCustomAttribs.forEach(function(i){e[i]=T(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]||ee.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=Xs(T(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:l,scaleY:c,text:d,translateX:p=0,translateY:g=0}=this,x=[`translate(${p},${g})`];E(s)&&x.push("matrix("+s.join(",")+")"),r&&(x.push("rotate("+r+" "+(a??e.getAttribute("x")??this.x??0)+" "+(n??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:r,rotationOriginX:(a||0)-o,rotationOriginY:(n||0)-o})),(E(l)||E(c))&&x.push(`scale(${l??1} ${c??1})`),x.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,x.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,l,c,d=!1,p,g=this.added,x;if(E(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(g=!1)):E(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,g){for((t=this.zIndex)&&s&&(s.handleZ=!0),x=(n=o.childNodes).length-1;x>=0&&!d;x--)p=!E(c=(l=n[x]).getAttribute("data-z-index")),l!==r&&(t<0&&p&&!a&&!x?(o.insertBefore(r,n[x]),d=!0):(rt(c)<=t||p&&(!E(t)||t>=0))&&(o.insertBefore(r,n[x+1]),d=!0));d||(o.insertBefore(r,n[3*!!a]),d=!0)}return d}};gt.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],gt.prototype.strokeSetter=gt.prototype.fillSetter,gt.prototype.yGetter=gt.prototype.xGetter,gt.prototype.matrixSetter=gt.prototype.rotationOriginXSetter=gt.prototype.rotationOriginYSetter=gt.prototype.rotationSetter=gt.prototype.scaleXSetter=gt.prototype.scaleYSetter=gt.prototype.translateXSetter=gt.prototype.translateYSetter=gt.prototype.verticalAlignSetter=function(h,t){this[t]=h,this.doTransform=!0};var Wt=gt,ke=class h extends Wt{constructor(t,e,i,s,o,r,a,n,l,c){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=a,this.baseline=l,this.className=c,this.addClass(c==="button"?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),typeof o=="string"&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=h.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=bt(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&A(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=N(t),h.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 Wt.prototype.css.call(this,t)}destroy(){Dt(this.element,"mouseenter"),Dt(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Wt.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=T(this.paddingLeft,i),l=e??(this.rotation||0),c={width:a,height:s,x:o+this.bBox.x-n,y:r+this.bBox.y-i+this.baselineOffset};return l&&(c=this.getRotatedBox(c,l)),c}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:T(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){A(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=(!A(this.widthSetting)||!A(this.heightSetting)||this.textAlign)&&E(e.textStr)?e.getBBox(void 0,0):h.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(R(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)+bt(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=A(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=T(this.paddingLeft,t),i=T(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 ns(h,t,e,i,s){let o=[];if(s){let r=s.start||0,a=s.end||0,n=T(s.r,e),l=T(s.r,i||e),c=1e-4>Math.abs(a-r-2*Math.PI);
vendor: 4,892 bytes, line 2
2c&&(r=Math.PI/2,a=2.5*Math.PI-1e-4);let d=s.innerR,p=T(s.open,c),g=c?0:Math.cos(r),x=c?1:Math.sin(r),f=c?0:Math.cos(a),u=c?1:Math.sin(a),m=T(s.longArc,a-r-Math.PI<1e-4?0:1),y=["A",n,l,0,m,T(s.clockwise,1),h+(c?.001:n*f),t+l*u];y.params={start:r,end:a,cx:h,cy:t},o.push(["M",h+n*g,t+l*x],y),E(d)&&((y=["A",d,d,0,m,E(s.clockwise)?1-s.clockwise:0,h+(c?-.001:d*g),t+d*x]).params={start:a,end:r,cx:h,cy:t},o.push(p?["M",h+d*f,t+d*u]:["L",h+d*f,t+d*u],y)),p||o.push(["Z"])}return o}function hs(h,t,e,i,s){return s?.r?Bi(h,t,e,i,s):[["M",h,t],["L",h+e,t],["L",h+e,t+i],["L",h,t+i],["Z"]]}function Bi(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"]]}ke.emptyBBox={width:0,height:0,x:0,y:0},ke.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];var js={arc:ns,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,l=Bi(h,t,e,i,{r:o});if(!A(a)||a<e&&a>0&&n<i&&n>0)return l;if(h+a>e-r)if(n>t+r&&n<t+i-r)l.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 c=n<t+r,d=c?t:t+i;l.splice(c?2:5,0,["L",a,n],["L",h+e-o,d])}else l.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)l.splice(7,1,["L",h,n+6],["L",h-6,n],["L",h,n-6],["L",h,t+o]);else if(a>0){let c=n<t+r,d=c?t:t+i;l.splice(c?1:6,0,["L",a,n],["L",h+o,d])}else l.splice(7,1,["L",h,i/2],["L",a,n],["L",h,i/2],["L",h,t+o]);else n>i&&a<e-r?l.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&&l.splice(1,1,["L",a-6,t],["L",a,t-6],["L",a+6,t],["L",e-o,t]);return l},circle:function(h,t,e,i){return ns(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:hs,roundedRect:Bi,square:hs,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:ii,SVG_NS:vo,win:ls}=C,si=(h,t)=>h.substring(0,t)+"\u2026",ko=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=T(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(ii.createTextNode(this.unescapeEntities(i)));K(this.textOutline)&&h.applyTextOutline&&h.applyTextOutline(this.textOutline)}}modifyDOM(){let h,t=this.svgElement,e=ft(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)),ft(r,{dy:this.getLineHeight(r.nextSibling),x:e}))});let i=this.width||0;if(!i)return;let s=(r,a)=>{let n=r.textContent||"",l=n.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(l.length>1||t.element.childNodes.length>1),d=this.getLineHeight(a),p=Math.max(0,i-.8*d),g=0,x=t.actualWidth;if(c){let f=[],u=[];for(;a.firstChild&&a.firstChild!==r;)u.push(a.firstChild),a.removeChild(a.firstChild);for(;l.length;)if(l.length&&!this.noWrap&&g>0&&(f.push(r.textContent||""),r.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(r,void 0,l,g===0&&x||0,i,p,(m,y)=>l.slice(0,y).join(" ").replace(/- /g,"-")),x=t.actualWidth,g++,this.lineClamp&&g>=this.lineClamp){l.length&&(this.truncate(r,r.textContent||"",void 0,0,i,p,si),r.textContent=r.textContent?.replace("\u2026","")+"\u2026");break}u.forEach(m=>{a.insertBefore(m,r)}),f.forEach(m=>{a.insertBefore(ii.createTextNode(m),r);let y=ii.createElementNS(vo,"tspan");y.textContent="\u200B",ft(y,{dy:d,x:e}),a.insertBefore(y,r)})}else this.ellipsis&&n&&this.truncate(r,n,void 0,0,i,p,si)},o=r=>
vendor: 5,089 bytes, line 2
2{[].slice.call(r.childNodes).forEach(a=>{a.nodeType===ls.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===ls.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 l=h[i+1];l?.textContent&&(l.textContent=l.textContent.replace(/^ +/gm,""))}else a==="a"&&o&&o.some(l=>l.tagName==="#text")&&(e.children=[{children:o,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),R(e,{attributes:s,style:r}),o&&o.filter(l=>l.tagName!=="#text").forEach(t)};h.forEach(t),P(this.svgElement,"afterModifyTree",{nodes:h})}truncate(h,t,e,i,s,o,r){let a,n,l=this.svgElement,{rotation:c}=l,d=[],p=e&&!i?1:0,g=(t||e||"").length,x=g;e||(s=o);let f=function(u,m){let y=m||u,b=h.parentNode;if(b&&d[y]===void 0&&b.getSubStringLength)try{d[y]=i+b.getSubStringLength(0,e?y+1:y)}catch{}return d[y]};if(l.rotation=0,i+(n=f(h.textContent.length))>s){for(;p<=g;)x=Math.ceil((p+g)/2),e&&(a=r(e,x)),n=f(x,a&&a.length-1),p===g?p=g+1:n>s?g=x-1:p=x;g===0?h.textContent="":t&&g===t.length-1||(h.textContent=a||r(t||e,x)),this.ellipsis&&n>s&&this.truncate(h,h.textContent||"",void 0,0,s,o,si)}e&&e.splice(0,x),l.actualWidth=n,l.rotation=c}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:wo}=At,{charts:Mo,deg2rad:ds,doc:ie,isFirefox:cs,isMS:ps,isWebKit:So,noop:To,SVG_NS:Co,symbolSizes:oi,win:ri}=C,ce=class{constructor(t,e,i,s,o,r,a){let n,l;this.x=0,this.y=0;let c=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=c.element;a||c.css(this.getStyle(s||{})),t.appendChild(d),ft(t,"dir","ltr"),t.innerHTML.indexOf("xmlns")===-1&&ft(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=c,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ie.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=c.getStyle("font-size"),this.setSize(e,i,!1),cs&&t.getBoundingClientRect&&((n=function(){U(t,{left:0,top:0}),l=t.getBoundingClientRect(),U(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=F(ri,"resize",n))}definition(t){return new ct([t]).addToDOM(this.defs.element)}getReferenceURL(){if((cs||So)&&ie.getElementsByTagName("base").length){if(!E(Je)){let t=Tt(),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(ie.body);U(e,{position:"fixed",top:0,left:0,zIndex:9e5}),Je=ie.elementFromPoint(6,6)?.id==="hitme",ie.body.removeChild(e)}if(Je)return Xs(ri.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=R({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(),Zt(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=N({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 ko(t).buildSVG()}getContrast(t){if(t==="transparent")return"#000000";let e=xt.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(A(e[0])||!xt.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,220 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,l,c){let d=this.label(t,e,i,l,void 0,void 0,c,void 0,"button"),p=this.styledMode,g=arguments,x=0;o=N(wo.global.buttonTheme,o),p&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let f=o.states||{},u=o.style||{};delete o.states,delete o.style;let m=[ct.filterUserAttributes(o)],y=[u];return p||["hover","select","disabled"].forEach((b,k)=>{m.push(N(m[0],ct.filterUserAttributes(g[k+5]||f[b]||{}))),y.push(m[k+1].style),delete m[k+1].style}),F(d.element,ps?"mouseover":"mouseenter",function(){x!==3&&d.setState(1)}),F(d.element,ps?"mouseout":"mouseleave",function(){x!==3&&d.setState(x)}),d.setState=(b=0)=>{if(b!==1&&(d.state=x=b),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!p){d.attr(m[b]);let k=y[b];_(k)&&d.css(k)}},d.attr(m[0]),!p&&(d.css(R({cursor:"default"},u)),c&&d.text.css({pointerEvents:"none"})),d.on("touchstart",b=>b.stopPropagation()).on("click",function(b){x!==3&&s?.call(d,b)})}crispLine(t,e){let[i,s]=t;return E(i[1])&&i[1]===s[1]&&(i[1]=s[1]=Ct(i[1],e)),E(i[2])&&i[2]===s[2]&&(i[2]=s[2]=Ct(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return it(t)?e.d=t:_(t)&&R(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=_(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;_(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=_(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,R(a,n.crisp(a))),a.fill="none"),n.rSetter=function(l,c,d){n.r=l,ft(d,{rx:l,ry:l})},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:T(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"};A(e)&&(a.x=e),A(i)&&(a.y=i),A(s)&&(a.width=s),A(o)&&(a.height=o);let n=this.createElement("image").attr(a),l=function(c){n.attr({href:t}),r.call(n,c)};if(r){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let c=new ri.Image;F(c,"load",l),c.src=t,c.complete&&l({})}else n.attr({href:t});return n}symbol(t,e,i,s,o,r){let a,n,l,c,d=this,p=/^url\((.*?)\)$/,g=p.test(t),x=!g&&(this.symbols[t]?t:"circle"),f=x&&this.symbols[x];if(f)typeof e=="number"&&(n=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),a=this.path(n),d.styledMode||a.attr("fill","none"),R(a,{symbolName:x||void 0,x:e,y:i,width:s,height:o}),r&&R(a,r);else if(g){l=t.match(p)[1];let u=a=this.image(l);u.imgwidth=T(r?.width,oi[l]?.width),u.imgheight=T(r?.height,oi[l]?.height),c=m=>m.attr({width:m.width,height:m.height}),["width","height"].forEach(m=>{u[`${m}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:k,element:v,width:w,height:M,imgwidth:S,imgheight:O}=this,I=b==="width"?S:O,L=1;r&&r.backgroundSize==="within"&&w&&M&&S&&O?(L=Math.min(w/S,M/O),ft(v,{width:Math.round(S*L),height:Math.round(O*L)})):v&&I&&v.setAttribute(b,I),!k&&S&&O&&this.translate(((w||0)-S*L)/2,((M||0)-O*L)/2)}}),E(e)&&u.attr({x:e,y:i}),u.isImg=!0,E(u.imgwidth)&&E(u.imgheight)?c(u):(u.attr({width:0,height:0}),Mt("img",{onload:function(){let m=Mo[d.chartIndex];this.width===0&&(U(this,{position:"absolute",top:"-999em"}),ie.body.appendChild(this)),oi[l]={width:this.width,height:this.height},u.imgwidth=this.width,u.imgheight=this.height,u.element&&c(u),this.parentNode&&this.parentNode.removeChild(this),d.asyncCounter--,d.asyncCounter||!m||m.hasLoaded||m.onload()},src:l}),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,l){let c=l.getElementsByTagName("tspan"),d=l.getAttribute(n);for(let p=0,g;p<c.length;p++)(g=c[p]).getAttribute(n)===d&&g.setAttribute(n,a);l.setAttribute(n,a)}),r}fontMetrics(t){let e=A(t)?t:rt(Wt.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*ds),4)),{x:-t/3*Math.sin(e*ds),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++)K(i[0])&&A(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,l){return new ke(this,t,e,i,s,o,r,a,n,l)}
2alignElements(){this.alignedObjects.forEach(t=>t.align())}};R(ce.prototype,{Element:Wt,SVG_NS:Co,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:js,draw:To}),Ce.registerRendererType("svg",ce,!0);var{composed:Ao,isFirefox:Po}=C;function $s(h,t,e){let i=this.div?.style;Wt.prototype[`${t}Setter`].call(this,h,t,e),i&&(e.style[t]=i[t]=h)}var Lo=(h,t)=>{if(!h.div){let e=ft(h.element,"class"),i=h.css,s=Mt("div",e?{className:e}:void 0,ue(Ht({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=$s,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 Wt.prototype.on.apply({element:s,onEvents:h.onEvents},arguments),h},h.div=s}return h.div},we=class h extends Wt{static compose(t){It(Ao,this.compose)&&(t.prototype.html=function(e,i,s){return new h(this,"span").attr({text:e,x:Math.round(i),y:Math.round(s)})})}constructor(t,e){super(t,e),h.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css(Ht({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=rt(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"),A(Number(t?.fontSize))&&(t.fontSize+="px"),R(this.styles,t),U(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:l,styles:{display:c="inline-block",whiteSpace:d},textAlign:p="left",textWidth:g,translateX:x=0,translateY:f=0,x:u=0,y:m=0}=this,y=()=>this.textPxLength?this.textPxLength:(U(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth);if(e||U(t,{marginLeft:`${x}px`,marginTop:`${f}px`}),t.tagName==="SPAN"){let b,k=[o,p,t.innerHTML,g,this.textAlign].join(","),v=-(this.parentGroup?.padding*1)||0;if(g!==i){let O=y(),I=g||0,L=!s.styledMode&&t.style.textOverflow===""&&t.style.webkitLineClamp;(I>i||O>I||L)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||t.style.textOverflow==="ellipsis")&&(U(t,{width:(o||n||O>I)&&A(g)?g+"px":L?Math.min(O+1,I)+"px":"auto",display:c,whiteSpace:d||"normal"}),this.oldTextWidth=g)}e&&(U(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),k!==this.cTT&&(b=s.fontMetrics(t).b,E(o)&&!e&&(o!==(this.oldRotation||0)||p!==this.oldAlign)&&U(t,{transform:`rotate(${o}deg)`,transformOrigin:`${v}% ${v}px`}
2),this.getSpanCorrection(!E(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,b,bt(p)));let{xCorr:w=0,yCorr:M=0}=this,S={left:`${u+w}px`,top:`${m+M}px`,textAlign:p,transformOrigin:`${(r??u)-w-u-v}px ${(a??m)-M-m-v}px`};(n||l)&&(S.transform=`scale(${n??1},${l??1})`),e?(super.updateTransform(),A(u)&&A(m)?(e.attr({x:u+w,y:m+M,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),U(t,{display:c,textAlign:p})):Po&&e.attr({width:0,height:0})):U(t,S),this.cTT=k,this.oldRotation=o,this.oldAlign=p}}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=Lo(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}},qt=we.prototype;qt.visibilitySetter=qt.opacitySetter=$s,qt.ySetter=qt.rotationSetter=qt.rotationOriginXSetter=qt.rotationOriginYSetter=qt.xSetter,(Zi=yi||(yi={})).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"},Zi.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};var Oo=yi;(bi||(bi={})).registerEventOptions=function(h,t){h.eventOptions=h.eventOptions||{},j(t.events,function(e,i){h.eventOptions[i]!==e&&(h.eventOptions[i]&&(Dt(h,i,h.eventOptions[i]),delete h.eventOptions[i]),de(e)&&(h.eventOptions[i]=e,F(h,i,e,{order:0})))})};var qe=bi,{deg2rad:ai}=C,re=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,P(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=T(h.options?.labels,e.labels),l=t.tickPositions,c=a===l[0],d=a===l[l.length-1],p=(!n.step||n.step===1)&&t.tickInterval===1,g=l.info,x=h.label,f,u,m,y=this.parameters.category||(s?T(s[a],r[a],a):a);o&&A(y)&&(y=st(o.lin2log(y))),t.dateTime&&(g?f=(u=i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid?.enabled&&g.higherRanks[a]||g.unitName])).main:A(y)&&(f=t.dateTime.getXDateFormat(y,e.dateTimeLabelFormats||{}))),h.isFirst=c,h.isLast=d;let b={axis:t,chart:i,dateTimeLabelFormat:f,isFirst:c,isLast:d,pos:a,tick:h,tickPositionInfo:g,value:y};P(this,"labelFormat",b);let k=M=>n.formatter?n.formatter.call(M,M):n.format?(M.text=t.defaultLabelFormatter.call(M),Pt.format(n.format,M,i)):t.defaultLabelFormatter.call(M),v=k.call(b,b),w=u?.list;w?h.shortenLabel=function(){for(m=0;m<w.length;m++)if(R(b,{dateTimeLabelFormat:w[m]}),x.attr({text:k.call(b,b)}),x.getBBox().width<t.getSlotWidth(h)-2*(n.padding||0))return;x.attr({text:""})}:h.shortenLabel=void 0,p&&t._addedPlotLB&&h.moveLabel(v,n),E(x)||h.movedLabel?x&&x.textStr!==v&&!p&&(!x.textWidth||n.style.width||x.styles.width||x.css({width:null}),x.attr({text:v}),x.textPxLength=x.getBBox().width):(h.label=x=h.createLabel(v,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(N(t.style)),a.textPxLength=a.getBBox().width,!o&&r&&a.css({whiteSpace:r})),a}destroy(){Zt(this,this.axis)}getPosition(h,t,e,i){let s=this.axis,o=s.chart,r=i&&o.oldChartHeight||o.chartHe
2ight,a={x:h?st(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):st(r-s.translate(t+e,void 0,void 0,i)-s.transB)};return a.y=nt(a.y,-1e9,1e9),P(this,"afterGetPosition",{pos:a}),a}getLabelPosition(h,t,e,i,s,o,r,a){let n,l,c=this.axis,d=c.transA,p=c.isLinked&&c.linkedParent?c.linkedParent.reversed:c.reversed,g=c.staggerLines,x=c.tickRotCorr||{x:0,y:0},f=i||c.reserveSpaceDefault?0:-c.labelOffset*(c.labelAlign==="center"?.5:1),u=s.distance,m={};return n=c.side===0?e.rotation?-u:-e.getBBox().height:c.side===2?x.y+u:Math.cos(e.rotation*ai)*(x.y-e.getBBox(!1,0).height/2),E(s.y)&&(n=c.side===0&&c.horiz?s.y+n:s.y),h=h+T(s.x,[0,1,0,-1][c.side]*u)+f+x.x-(o&&i?o*d*(p?-1:1):0),t=t+n-(o&&!i?o*d*(p?1:-1):0),g&&(l=r/(a||1)%g,c.opposite&&(l=g-l-1),t+=l*(c.labelOffset/g)),m.x=h,m.y=Math.round(t),P(this,"afterGetLabelPosition",{pos:m,tickmarkOffset:o,index:r}),m}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=T(t.labelLeft,Math.min(t.pos,o[3])),a=T(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,s-o[1])),n=this.label,l=this.rotation,c=bt(t.labelAlign||n.attr("align")),d=n.getBBox().width,p=t.getSlotWidth(this),g=p,x=1,f;l||e.overflow!=="justify"?l<0&&i-c*d<r?f=Math.round(i/Math.cos(l*ai)-r):l>0&&i+c*d>a&&(f=Math.round((s-i)/Math.cos(l*ai))):(i-c*d<r?g=h.x+g*(1-c)-r:i+(1-c)*d>a&&(g=a-h.x+g*c,x=-1),(g=Math.min(p,g))<p&&t.labelAlign==="center"&&(h.x+=x*(p-g-c*(p-Math.min(d,g)))),(d>g||t.autoRotation&&n?.styles?.width)&&(f=g)),f&&n&&(this.shortenLabel?this.shortenLabel():n.css(R({},{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=T(this.tickmarkOffset,i.tickmarkOffset),a=this.getPosition(s,o,r,t),n=a.x,l=a.y,c=i.pos,d=c+i.len,p=s?n:l,g=T(e,this.label?.newOpacity,1);!i.chart.polar&&(st(p)<c||p>
2d)&&(e=0),e??(e=1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(a,e),this.renderLabel(a,t,g,h),this.isNew=!1,P(this,"afterRender")}renderGridLine(h,t){let e=this.axis,i=e.options,s={},o=this.pos,r=this.type,a=T(this.tickmarkOffset,e.tickmarkOffset),n=e.chart.renderer,l=this.gridLine,c,d=i.gridLineWidth,p=i.gridLineColor,g=i.gridLineDashStyle;this.type==="minor"&&(d=i.minorGridLineWidth,p=i.minorGridLineColor,g=i.minorGridLineDashStyle),l||(e.chart.styledMode||(s.stroke=p,s["stroke-width"]=d||0,s.dashstyle=g),r||(s.zIndex=1),h&&(t=0),this.gridLine=l=n.path().attr(s).addClass("highcharts-"+(r?r+"-":"")+"grid-line").add(e.gridGroup)),l&&(c=e.getPlotLinePath({value:o+a,lineWidth:l.strokeWidth(),force:"pass",old:h,acrossPanes:!1}))&&l[h||this.isNew?"attr":"animate"]({d:c,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,l=T(i[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&e.isXAxis?1:0),c=i[o!=="minor"?"tickColor":"minorTickColor"],d=this.mark,p=!d;r&&(e.opposite&&(r[0]=-r[0]),!d&&(this.mark=d=s.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||d.attr({stroke:c,"stroke-width":l})),d[p?"attr":"animate"]({d:this.getMarkPath(a,n,r[0],d.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,l=n.step,c=T(this.tickmarkOffset,s.tickmarkOffset),d=h.x,p=h.y,g=!0;a&&A(d)&&(a.xy=h=this.getLabelPosition(d,p,a,o,n,c,i,l),(!this.isFirst||this.isLast||r.showFirstLabel)&&(!this.isLast||this.isFirst||r.showLastLabel)?o&&!t&&e!==0&&this.handleOverflow(h):g=!1,l&&i%l&&(g=!1),g&&A(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:gs}=ut,{xAxis:us,yAxis:Eo}=Oo,{defaultOptions:zi}=At,{registerEventOptions:Io}=qe,{deg2rad:Do}=C,fs=(h,t)=>Ze(t,void 0,void 0,T(h.options.allowDecimals,t<.5||h.tickAmount!==void 0),!!h.tickAmount);R(zi,{xAxis:us,yAxis:N(us,Eo)});var pe=class h{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,P(this,"init",{userOptions:e}),this.opposite=T(e.opposite,this.opposite),this.side=T(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),P(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=T(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames=this.type==="category"||r.categories===!0,this.categories=it(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=T(r.crosshair,yt(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=A(a.rotation)?a.rotation:void 0,Io(this,r),P(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=N(e,this.coll==="yAxis"?{title:{text:this.chart.options.lang.yAxisTitle}}:{},zi[this.coll],t),P(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=A(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,a=this.dateTimeLabelFormat,n=zi.lang,l=n.numericSymbols,c=n.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(s):t.tickInterval,p=l?.length,g,x;if(r)x=`${this.value}`;else if(a)x=o.dateFormat(a,s,!0);else if(p&&l&&d>=1e3)for(;p--&&x===void 0;)d>=(g=Math.pow(c,p+1))&&10*s%g==0&&l[p]!==null&&s!==0&&(x=i(s/g,-1,void 0,void 0,e)+l[p]);return x??(x=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),x}getSeriesExtremes(){let t,e=this;P(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(l=>l>0):o,a=(t=i.getXExtremes(o)).min,n=t.max,A(a)||a instanceof Date||(o=o.filter(A),a=(t=i.getXExtremes(o)).min,n=t.max),o.length&&(e.dataMin=Math.min(T(e.dataMin,a),a),e.dataMax=Math.max(T(e.dataMax,n),n)));else{let l=i.applyExtremes();A(l.dataMin)&&(a=l.dataMin,e.dataMin=Math.min(T(e.dataMin,a),a)),A(l.dataMax)&&(n=l.dataMax,e.dataMax=Math.max(T(e.dataMax,n),n)),E(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),P(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!A(n))return NaN;let l=a.minPixelPadding,c=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&o)&&!!a.lin2val,d=1,p=0,g=s&&a.old?a.old.transA:a.transA,x=0;return g||(g=a.transA),i&&(d*=-1,p=a.len),a.reversed&&(d*=-1,p-=d*(a.sector||a.len)),e?(x=(t=t*d+p-l)/g+n,c&&(x=a.lin2val(x))):(c&&(t=a.val2lin(t)),x=d*(t-n)*g+p+d*l+(A(r)?g*r:0),a.isRadial||(x=st(x))),x}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,l=r&&i.oldCh
vendor: 2,047 bytes, line 2
2artHeight||i.chartHeight,c=r&&i.oldChartWidth||i.chartWidth,d=e.transB,p=t.translatedValue,g=t.force,x,f,u,m,y;function b(v,w,M){return g!=="pass"&&(v<w||v>M)&&(g?v=nt(v,w,M):y=!0),v}let k={value:a,lineWidth:n,old:r,force:g,acrossPanes:t.acrossPanes,translatedValue:p};return P(this,"getPlotLinePath",k,function(v){x=u=(p=nt(p=T(p,e.translate(a,void 0,void 0,r)),-1e9,1e9))+d,f=m=l-p-d,A(p)?e.horiz?(f=o,m=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),x=u=b(x,s,s+e.width)):(x=s,u=c-e.right+(i.scrollablePixelsX||0),f=m=b(f,o,o+e.height)):(y=!0,g=!1),v.path=y&&!g?void 0:i.renderer.crispLine([["M",x,f],["L",u,m]],n||1)}),k.path}getLinearTickPositions(t,e,i){let s,o,r,a=st(Math.floor(e/t)*t),n=st(Math.ceil(i/t)*t),l=[];if(st(a+t)===a&&(r=20),this.single)return[e];for(s=a;s<=n&&(l.push(s),(s=st(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return t===!0?T(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=[],l;if(a&&a/i<this.len/3){let c=this.logarithmic;if(c)this.paddedTicks.forEach(function(d,p,g){p&&n.push.apply(n,c.getLogTickPositions(i,g[p-1],g[p],!0))});else if(this.dateTime&&this.getMinorTickInterval()==="auto")n=n.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==n[0];l+=i)n.push(l)}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,l,c;this.isXAxis&&r===void 0&&!e&&(r=E(t.min)||E(t.max)||E(t.floor)||E(t.ceiling)?null:Math.min(5*(Ii(this.series.map(d=>{let p=d.getColumn("x");return d.xIncrement?p.slice(0,2):p}))||0),this.dataMax-this.dataMin)),A(s)&&A(o)&&A(r)&&s-o<r&&(n=this.dataMax-this.dataMin>=r,a=(r-s+o)/2,l=[o-a,i.parse(t.min)??o-a],n&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),c=[(
2o=jt(l))+r,i.parse(t.max)??o+r],n&&(c[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=le(c))-o<r&&(l[0]=s-r,l[1]=i.parse(t.min)??s-r,o=jt(l))),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=Ii([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=it(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):T(i.keys[t.name],-1):t.series.autoIncrement()),s===-1?!e&&i&&(o=i.length):A(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,l=0,c,d=t.transA;(o||s||r)&&(a=t.getClosest(),i?(n=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(p){let g=s?1:o?T(p.options.pointRange,a,0):t.axisPointRange||0,x=p.options.pointPlacement;if(r=Math.max(r,g),!t.single||s){let f=p.is("xrange")?!o:o;n=Math.max(n,f&&K(x)?0:g/2),l=Math.max(l,f&&x==="on"?0:g)}}),c=t.ordinal?.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=c,t.pointRangePadding=l*=c,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,P(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return A(t)&&A(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:a,logarithmic:n,options:l,softThreshold:c}=this,d=i.time,p=A(this.threshold)?this.threshold:void 0,g=this.minRange||0,{ceiling:x,floor:f,linkedTo:u,softMax:m,softMin:y}=l,b=A(u)&&i[this.coll]?.[u],k=l.tickPixelInterval,v=l.maxPadding,w=l.minPadding,M=0,S,O=A(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,I,L,D,B;if(r||e||b||this.getTickAmount(),D=T(this.userMin,d.parse(l.min)),B=T(this.userMax,d.parse(l.max)),b?(this.linkedParent=b,S=b.getExtremes(),this.min=T(S.min,S.dataMin),this.max=T(S.max,S.dataMax),this.type!==b.type&&ht(11,!0,i)):(c&&E(p)&&A(s)&&A(o)&&(o>=p?(I=p,w=0):s<=p&&(L=p,v=0)),this.min=T(D,I,o),this.max=T(B,L,s)),A(this.max)&&A(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,T(o,this.min))&&ht(10,!0,i),this.min=st(n.log2lin(this.min),16),this.max=st(n.log2lin(this.max),16)),this.range&&A(o)&&(this.userMin=this.min=D=Math.max(o,this.minFromRange()||0),this.userMax=B=this.max,this.range=void 0)),P(this,"foundExtremes"),this.adjustForMinRange(),A(this.min)&&A(this.max)){if(!A(this.userMin)&&A(y)&&y<this.min&&(this.min=D=y),!A(this.userMax)&&A(m)&&m>this.max&&(this.max=B=m),e||this.axisPointRange||this.stacking?.usePercentage||b||(M=this.max-this.min)&&(!E(D)&&w&&(this.min-=M*w),!E(B)&&v&&(this.max+=M*v)),!A(this.userMin)&&A(f)&&(this.min=Math.max(this.min,f)),!A(this.userMax)&&A(x)&&(this.max=Math.min(this.max,x)),c&&A(o)&&A(s)){let H=p||0;!E(D)&&this.min<H&&o>=H?this.min=l.minRange?Math.min(H,this.max-g):H:!E(B)&&this.max>H&&s<=H&&(this.max=l.minRange?Math.max(H,this.min+g):H)}!i.polar&&this.min>this.max&&(E(l.min)?this.max=this.min:E(l.max)&&(this.min=this.max)),M=this.max-this.min}if(this.min!==this.max&&A(this.min)&&A(this.max)?b&&!O&&k===b.options.tickPixelInterval?this.tickInterval=O=b.tickInterval:this.tickInterval=T(O,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,e?1:M*k/Math.max(this.len,k)):this.tickInterval=1,a&&!t){let H=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 4,681 bytes, line 2
2this.series.forEach(function(W){W.forceCrop=W.forceCropping?.(),W.processData(H)}),P(this,"postProcessData",{hasExtremesChanged:H})}this.setAxisTranslation(),P(this,"initialAxisTranslation"),this.pointRange&&!O&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let z=T(l.minTickInterval,r&&!this.series.some(H=>!H.sorted)?this.closestPointRange:0);!O&&z&&this.tickInterval<z&&(this.tickInterval=z),r||n||O||(this.tickInterval=fs(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=[],l;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(A(this.min)&&A(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))n=[this.min,this.max],ht(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 c=this.tickInterval,d=c;for(;d<=2*c&&(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount);)this.tickInterval=fs(this,d*=1.1)}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(l=i.apply(this,[this.min,this.max,this]))&&(n=l))}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&&A(this.min)&&A(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(c=>c.is("heatmap")&&c.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),P(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(P(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 l=d=>{let{horiz:p,options:g}=d;return[p?g.left:g.top,g.width,g.height,g.pane].join(",")},c=l(this);i[this.coll].forEach(function(d){let{series:p}=d;p.length&&p.some(g=>g.visible)&&d!==e&&l(d)===c&&(t=!0,s.push(d))})}if(t&&a){s.forEach(c=>{let d=c.getThresholdAlignment(e);A(d)&&n.push(d)});let l=n.length>1?n.reduce((c,d)=>c+=d,0)/n.length:void 0;s.forEach(c=>{c.thresholdAlignment=l})}return t}getThresholdAlignment(t){if((!A(this.dataMin)||this!==t&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),A(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,l=r?.length,c=T(t.threshold,t.softThreshold?0:null),d,p,g=t.tickInterval,x,f=()=>r.push(st(r[r.length-1]+g)),u=()=>r.unshift(st(r[0]-g));if(A(n)&&(x=n===0?0:n===1?a-1:Math.round(nt(n*(a-1),1,a-2)),o.reversed&&(x=a-1-x)),t.hasData()&&A(s)&&A(i)){let m=()=>{t.transA*=(l-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(A(x)&&A(t.threshold)){for(;r[x]!==c||r.length!==a||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<a;)r[x]===void 0||r[x]>t.threshold?u():f();if(g>8*t.tickInterval)break;g*=2}m()}else if(l<a){for(;r.length<a;)r.length%2||s===c?f():u();m()}if(E(e)){for(p=d=r.length;p--;)(e===3&&p%2==1||e<=2&&p>0&&p<d-1)&&r.splice(p,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;
2this.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,P(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),P(this,"setExtremes",o=R(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(mt(T(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(mt(T(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(mt(T(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(mt(T(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?st(t.lin2log(this.min)):this.min,max:t?st(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 P(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=T(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 P(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=st(.8*this.labelMetrics().h),n=Math.max(this.max-this.min,0),l=function(x){let f=(x+2*e)/(o||1);return(f=f>1?Math.ceil(f):1)*s>n&&x!==1/0&&o!==1/0&&n&&(f=Math.ceil(n/s)),st(f*s)},c=s,d,p=Number.MAX_VALUE,g;if(i){if(!t.staggerLines&&(A(r)?g=[r]:o<t.autoRotationLimit&&(g=t.autoRotation)),g){let x,f;for(let u of g)(u===r||u&&u>=-90&&u<=90)&&(f=(x=l(Math.abs(a/Math.sin(Do*u))))+Math.abs(u/360))<p&&(p=f,d=u,c=x)}}else c=l(.75*a);return this.autoRotation=g,this.labelRotation=T(d,A(r)?r:0),t.step?s:c}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&A(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(),l=Math.max(1,Math.round(n-(a?2*(o.padding||0):o.distance||0))),c={},d=this.labelMetrics(),p=r.lineClamp,g,x=p??(Math.floor(this.len/(i.length*d.h))||1),f=0;K(o.rotation)||(c.rotation=o.rotation||0),i.forEach(function(u){let m=s[u];m.movedLabel&&m.replaceMovedLabel();let y=m.label?.textPxLength||0;y>f&&(f=y)}),this.maxLabelLength=f,this.autoRotation?f>l&&f>d.h?c.rotation=this.labelRotation:this.labelRotation=0:n&&(g=l),c.rotation&&(g=f>.5*t.chartHeight?.33*t.chartHeight:f,p||(x=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(c.align=this.labelAlign),i.forEac
2h(function(u){let m=s[u],y=m?.label,b=r.width,k={};y&&(y.attr(c),m.shortenLabel?m.shortenLabel():g&&!b&&r.whiteSpace!=="nowrap"&&(g<(y.textPxLength||0)||y.element.tagName==="SPAN")?y.css(R(k,{width:`${g}px`,lineClamp:x})):!y.styles.width||k.width||b||y.css({width:"auto"}),m.rotation=c.rotation)},this),this.tickRotCorr=e.rotCorr(d.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(N(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 re(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(a,n,l)=>o.g(a).attr({zIndex:l}).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,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,c=t.hasData(),d=s.title,p=s.labels,g=A(s.crossing),x=e.axisOffset,f=e.clipOffset,u=[-1,1,1,-1][o],m,y=0,b,k=0,v=0,w,M;if(t.showAxis=m=c||s.showEmpty,t.staggerLines=t.horiz&&p.staggerLines||void 0,t.createGroups(),c||t.isLinked?(a.forEach(function(S){t.generateTick(S)}),t.renderUnsquish(),t.reserveSpaceDefault=o===0||o===2||{1:"left",3:"right"}[o]===t.labelAlign,T(p.reserveSpace,!g&&null,t.labelAlign==="center"||null,t.reserveSpaceDefault)&&a.forEach(function(S){v=Math.max(r[S].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):j(r,function(S,O){S.destroy(),delete r[O]}),d?.text&&d.enabled!==!1&&(t.addTitle(m),m&&!g&&d.reserveSpace!==!1&&(t.titleOffset=y=t.axisTitle.getBBox()[i?"height":"width"],k=E(b=d.offset)?0:T(d.margin,i?5:10))),t.renderLine(),t.offset=u*T(s.offset,x[o]?x[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(v)+k,v&&(w-=M,w+=u*(i?T(p.y,t.tickRotCorr.y+u*p.distance):T(p.x,u*p.distance))),t.axisTitleMargin=T(b,w),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,a)),n!=="colorAxis"&&f){let S=this.tickSize("tick");x[o]=Math.max(x[o],(t.axisTitleMargin||0)+y+u*t.offset,w,a?.length&&S?S[0]+u*t.offset:0);let O=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;f[l]=Math.max(f[l],O)}P(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,l=this.offset,c=r.x,d=r.y,p=this.chart.renderer.fontMetrics(t),g=t?Math.max(t.getBBox(!1,0).height-p.h-1,0):0,x={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)+[-g,g,p.f,-g][this.side],u={x:e?x+c:f+(n?this.width:0)+l+c,y:e?f+d-(n?this.height:0)+l:x+d};return P(this,"afterGetTitlePosition",{titlePosition:u}),u}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new re(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 re(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,l=i.tickPositions,c=i.axisTitle,d=i.ticks,p=i.minorTicks,g=i.alternateBands,x=a.stackLabels,f=a.alternateGridColor,u=a.crossing,m=i.tickmarkOffset,y=i.axisLine,b=i.showAxis,k=gs(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,p,g].forEach(function(v){j(v,function(w){w.isActive=!1})}),A(u)){let v=this.isXAxis?s.yAxis[0]:s.xAxis[0],w=[1,-1,-1,1][this.side];if(v){let M=v.toPixels(u,!0);i.horiz&&(M=v.len-M),i.offset=w*M}}if(i.hasData()||n){let v=i.chart.hasRendered&&i.old&&A(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(w){i.renderMinorTick(w,v)}),l.length&&(l.forEach(function(w,M){i.renderTick(w,M,v)}),m&&(i.min===0||i.single)&&(d[-1]||(d[-1]=new re(i,-1,null,!0)),d[-1].render(-1))),f&&l.forEach(function(w,M){e=l[M+1]!==void 0?l[M+1]+m:i.max-m,M%2==0&&w<i.max&&e<=i.max+(s.polar?-m:m)&&(g[w]||(g[w]=new C.PlotLineOrBand(i,{})),t=w+m,g[w].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:f,className:"highcharts-alternate-grid"},g[w].render(),g[w].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(a.plotLines||[]).concat(a.plotBands||[]).forEach(function(w){i.addPlotBandOrLine(w)}))}[d,p,g].forEach(function(v){let w=[],M=k.duration;j(v,function(S,O){S.isActive||(S.render(O,!1,0),S.isActive=!1,w.push(O))}),Bt(function(){let S=w.length;for(;S--;)v[w[S]]&&!v[w[S]].isActive&&(v[w[S]].destroy(),delete v[w[S]])},v!==g&&s.hasRendered&&M?M:0)}),y&&(y[y.isPlaced?"animate":"attr"]({d:this.getLinePath(y.strokeWidth())}),y.isPlaced=!0,y[b?"show":"hide"](b)),c&&b&&(c[c.isNew?"attr":"animate"](i.getTitlePosition(c)),c.isNew=!1),x?.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,P(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||h.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(P(this,"destroy",{keepEvents:t}),t||Dt(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(o){Zt(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,l=this.chart,c=this.cross;if(P(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),a&&(E(e)||!n)!==!1){if(clearTimeout(this.crossShowTimer),n?E(e)&&(s=T(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:T(e.stackY,e.y)),translatedValue:s},l.polar&&R(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=Bt(()=>{let d=this.cross;d||(this.cross=d=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(a.className||"")).attr({zIndex:T(a.zIndex,2)}).add(),!l.styledMode&&(d.attr({stroke:a.color||(o?xt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":T(a.width,1)}).css({"pointer-events":"none"}),a.dashStyle&&d.attr({dashstyle:a.dashStyle}))),d.show().animate({d:i},gs(a?.animation)),o&&!a.width&&d.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!c||c.attr("visibility")==="hidden")&&a.showDelay||0)}else this.hideCrosshair();P(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),P(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=N(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,T(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);Et(e.axes,this),Et(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,T(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}};pe.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,F(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],l=tt[n[0]],c=n[1],d,p;for(d=0;d<a.length;d++)if(l=tt[(n=a[d])[0]],c=n[1],a[d+1]){let x=(l*c[c.length-1]+tt[a[d+1][0]])/2;if(o<=x){p=x/o;break}}l===tt.year&&o<5*l&&(c=[1,2,5]);let g=Ze(o/l,c,n[0]==="year"?Math.max(Xi(o/l),1):1);return{unitRange:l,count:g,unitName:n[0],match:p}}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})(vi||(vi={}));var Bo=vi;(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"),F(s,"afterSetType",t),F(s,"afterInit",e)),s};class i{constructor(o){this.axis=o}getLogTickPositions(o,r,a,n){let l=this.axis,c=l.len,d=l.options,p=[];if(n||(this.minorAutoInterval=void 0),o>=.5)o=Math.round(o),p=l.getLinearTickPositions(o,r,a);else if(o>=.08){let g,x,f,u,m,y,b,k=Math.floor(r);for(g=o>.3?[1,2,4]:o>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],x=k;x<a+1&&!b;x++)for(f=0,u=g.length;f<u&&!b;f++)(m=this.log2lin(this.lin2log(x)*g[f]))>r&&(!n||y<=a)&&y!==void 0&&p.push(y),y>a&&(b=!0),y=m}else{let g=this.lin2log(r),x=this.lin2log(a),f=n?l.getMinorTickInterval():d.tickInterval,u=d.tickPixelInterval/(n?5:1),m=n?c/l.tickPositions.length:c;o=Ze(o=T(f==="auto"?null:f,this.minorAutoInterval,(x-g)*u/(m||1))),p=l.getLinearTickPositions(o,g,x).map(this.log2lin),n||(this.minorAutoInterval=o/5)}return n||(l.tickInterval=o),p}lin2log(o){return Math.pow(10,o)}log2lin(o){return Math.log(o)/Math.LN10}}h.Additions=i})(ki||(ki={}));var zo=ki;(function(h){let t;function e(l){return this.addPlotBandOrLine(l,"plotBands")}function i(l,c){let d=this.userOptions,p=new t(this,l);if(this.visible&&(p=p.render()),p){if(this._addedPlotLB||(this._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(g=>{this.addPlotBandOrLine(g)})),c){let g=d[c]||[];g.push(l),d[c]=g}this.plotLinesAndBands.push(p)}return p}function s(l){return this.addPlotBandOrLine(l,"plotLines")}function o(l,c,d){d=d||this.options;let p=this.getPlotLinePath({value:c,force:!0,acrossPanes:d.acrossPanes}),g=[],x=this.horiz,f=!A(this.min)||!A(this.max)||l<this.min&&c<this.min||l>this.max&&c>this.max,u=this.getPlotLinePath({value:l,force:!0,acrossPanes:d.acrossPanes}),m,y=1,b;if(u&&p)for(f&&(b=u.toString()===p.toString(),y=0),m=0;m<u.length;m+=2){let k=u[m],v=u[m+1],w=p[m],M=p[m+1];(k[0]==="M"||k[0]==="L")&&(v[0]==="M"||v[0]==="L")&&(w[0]==="M"||w[0]==="L")&&(M[0]==="M"||M[0]==="L")&&(x&&w[1]===k[1]?(w[1]+=y,M[1]+=y):x||w[2]!==k[2]||(w[2]+=y,M[2]+=y),g.push(["M",k[1],k[2]],["L",v[1],v[2]],["L",M[1],M[2]],["L",w[1],w[2]],["Z"])),g.isFlat=b}return g}function r(l){this.removePlotBandOrLine(l)}function a(l){let c=this.plotLinesAndBands,d=this.options,p=this.userOptions;if(c){let g=c.length;for(;g--;)c[g].id===l&&c[g].destroy();[d.plotLines||[],p.plotLines||[],d.plotBands||[],p.plotBands||[]].forEach(function(x){for(g=x.length;g--;)x[g]?.id===l&&Et(x,x[g])})}}function n(l){this.removePlotBandOrLine(l)}h.compose=function(l,c){let d=c.prototype;return d.addPlotBand||(t=l,R(d,{addPlotBand:e,addPlotLine:s,addPlotBandOrLine:i,getPlotBandPath:o,removePlotBand:r,removePlotLine:n,removePlotBandOrLine:a})),c}})(wi||(wi={}));var No=wi,Ye=class h{static compose(t,e){return F(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})}),No.compose(h,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){P(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:a=0}=e,{renderer:n,time:l}=t.chart,c={},d=l.parse(e.to),p=l.parse(e.from),g=l.parse(e.value),x=e.borderWidth,f=e.label,{label:u,svgElem:m}=this,y=[],b,k=E(p)&&E(d),v=E(g),w=!m,M={class:"highcharts-plot-"+(k?"band ":"line ")+(e.className||"")},S=k?"bands":"lines";if(!t.chart.styledMode&&(v?(M.stroke=o||"#999999",M["stroke-width"]=T(e.width,1),e.dashStyle&&(M.dashstyle=e.dashStyle)):k&&(M.fill=o||"#e6e9ff",x&&(M.stroke=e.borderColor,M["stroke-width"]=x))),c.zIndex=a,S+="-"+a,(b=t.plotLinesAndBandsGroups[S])||(t.plotLinesAndBandsGroups[S]=b=n.g("plot-"+S).attr(c).add()),m||(this.svgElem=m=n.path().attr(M).add(b)),E(g))y=t.getPlotLinePath({value:s?.log2lin(g)??g,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(E(p)&&E(d)))return;y=t.getPlotBandPath(s?.log2lin(p)??p,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(j(r,(O,I)=>{m?.on(I,L=>{r[I].apply(this,[L,this])})}),this.eventsAdded=!0),(w||!m.d)&&y?.length?m.attr({d:y}):m&&(y?(m.show(),m.animate({d:y})):m.d&&(m.hide(),u&&(this.label=u=u.destroy()))),f&&(E(f.text)||E(f.formatter))&&y?.length&&t.width>0&&t.height>0&&!y.isFlat?(f=N(Ht({align:i&&k?"center":void 0,x:i?!k&&4:10,verticalAlign:!i&&k?"middle":void 0,y:i?k?16:10:k?6:-4,rotation:i&&!k?90:0},k?{inside:!0}:{}),f),this.renderLabel(f,y,k,a)):u&&u.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(N({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!a?"":"ellipsis"},t.style)),n.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=le(l),p=le(c),g=jt(l)-d;
vendor: 4,996 bytes, line 2
2n.align(t,!1,{x:d,y:p,width:g,height:jt(c)-p}),n.alignAttr.y-=r.fontMetrics(n).b,(!n.alignValue||n.alignValue==="left"||E(a))&&n.css({width:(t.style?.width||(i&&a?g: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(){Et(this.axis.plotLinesAndBands,this),delete this.axis,Zt(this)}},{animObject:Ro}=ut,{format:ms}=Pt,{composed:Wo,dateFormats:Xo,doc:xs,isSafari:Ho}=C,{distribute:Go}=Ke,Ee=h=>{clearTimeout(h.hideTimer),clearTimeout(h.showTimer)},Me=class{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||yt(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(),Ue(this.container)),Hi(this.hideTimer),Ee(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,a=s.plotTop,n=s.plotLeft;if(t=yt(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 c=0,d=0;t.forEach(function(p){let g=p.pos(!0);g&&(c+=g[0],d+=g[1])}),c/=t.length,d/=t.length,this.shared&&t.length>1&&e&&(r?c=e.chartX:d=e.chartY),i=[c-n,d-a]}let l={point:t[0],ret:i};return P(this,"getAnchor",l),l.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-"+T(t.colorIndex,o.colorIndex),r?.className].filter(K).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 l=!this.label.hasClass("highcharts-label");(!r&&l||r&&!l)&&this.destroy()}if(!this.label){if(this.outside){let l=this.chart,c=l.options.chart.style,d=Ce.getRendererType();this.container=a=C.doc.createElement("div"),a.className="highcharts-tooltip-container "+(l.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),U(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(c?.zIndex||0)+3)}),this.renderer=n=new d(a,0,0,c,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 l=this.label;[l.xSetter,l.ySetter].forEach((c,d)=>{l[d?"ySetter":"xSetter"]=p=>{c.call(l,i.distance),l[d?"y":"x"]=p,a&&(a.style[d?"top":"left"]=`${p}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}=xs,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:a}=this,{inverted:n,plotLeft:l,plotTop:c,polar:d}=o,{plotX:p=0,plotY:g=0}=i,x={},f=n&&i.h||0,{height:u,width:m}=this.getPlayingField(),y=a.getChartPosition(),b=B=>{let z=B==="x";return[B,z?m:u,z?t:e].concat(r?[z?t*y.scaleX:e*y.scaleY,z?y.left-s+(p+l)*y.scaleX:y.top-s+(g+c)*y.scaleY,0,z?m:u]:[z?t:e,z?p+l:g+c,z?l:c,z?l+o.plotWidth:c+o.plotHeight])},k=b("y"),v=b("x"),w,M=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(M=!M);let S=!this.followPointer&&T(i.ttBelow,!d&&!n===M),O=function(B,z,H,W,X,et,Q){let vt=r?B==="y"?s*y.scaleY:s*y.scaleX:s,G=(H-W)/2,Y=W<X-s,Z=X+s+W<z,V=X-vt-H+G,q=X+vt-G;if(S&&Z)x[B]=q;else if(!S&&Y)x[B]=V;else if(Y)x[B]=Math.min(Q-W,V-f<0?V:V-f);else{if(!Z)return x[B]=0,!1;x[B]=Math.max(et,q+f+H>z?q:q+f)}},I=function(B,z,H,W,X){if(X<s||X>z-s)return!1;X<H/2?x[B]=1:X>z-W/2?x[B]=z-W-2:x[B]=X-H/2},L=function(B){[k,v]=[v,k],w=B},D=()=>{O.apply(0,k)!==!1?I.apply(0,v)!==!1||w||(L(!0),D()):w?x.x=x.y=0:(L(!0),D())};return(n&&!d||this.len>1)&&L(),D(),r&&(x.x-=y.left,x.y-=y.top),x}
2getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:a}=this,n=r.position,l=n.relativeTo,c=r.shared||s?.yAxis?.isRadial&&(l==="pane"||!l)?"plotBox":l,d=c==="chart"?o.renderer:o[c]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*bt(n.align)+n.x,y:d.y+(d.height-e)*bt(n.verticalAlign)+(!a&&n.y||0)}}hide(t){let e=this;Ee(this),t=T(t,this.options.hideDelay),this.isHidden||(this.hideTimer=Bt(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{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=T(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=Ro(!o&&!this.isHidden&&!r.fixed&&r.animation),n=o||(this.len||0)>1,l={x:t,y:e};n?l.anchorX=l.anchorY=NaN:(l.anchorX=i,l.anchorY=s),a.step=()=>this.drawTracker(),this.getLabel().animate(l,a)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:a}=this,n=yt(t),l=n[0],c=o.format,d=o.formatter||i.defaultFormatter,p=s.styledMode,g=i.allowShared;if(!o.enabled||!l.series)return;Ee(this),i.allowShared=!(!it(t)&&t.series&&t.series.noSharedTooltip),g=g&&!i.allowShared,i.followPointer=!i.split&&l.series.tooltipOptions.followPointer;let x=i.getAnchor(t,e),f=x[0],u=x[1];a&&i.allowShared&&(r.applyInactiveState(n),n.forEach(b=>b.setState("hover")),l.points=n),this.len=n.length;let m=K(c)?ms(c,l,s):d.call(l,i,l);l.points=void 0;let y=l.series;this.distance=T(y.tooltipOptions.distance,16),m===!1?this.hide():this.showTimer=Bt(()=>{if(i.split&&i.allowShared)i.renderSplit(m,n);else{let b=f,k=u;if(e&&r.isDirectTouch&&(b=e.chartX-s.plotLeft,k=e.chartY-s.plotTop),!(s.polar||y.options.clip===!1||n.some(v=>r.isDirectTouch||v.series.shouldShowTooltip(b,k))))return void i.hide();{let v=i.getLabel(g&&i.tt||{});(!o.style.width||p)&&v.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),v.attr({class:i.getClassName(l),text:it(m)?m.join(""):m}),this.outside&&v.attr({x:nt(v.x||0,0,this.getPlayingField().width-(v.width||0)-1)}),p||v.attr({stroke:o.borderColor||l.color||y.color||"#666666"}),i.updatePosition({plotX:f,plotY:u,negative:l.negative,ttBelow:l.ttBelow,series:y,h:x[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),P(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:a,plotLeft:n,plotTop:l,scrollablePixelsY:c=0,scrollablePixelsX:d,styledMode:p},distance:g,options:x,options:{fixed:f,position:u,positioner:m},pointer:y}=i,{scrollLeft:b=0,scrollTop:k=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&typeof d!="number"?xs.documentElement.getBoundingClientRect():{left:b,right:b+o,top:k,bottom:k+r},w=i.getLabel(),M=this.renderer||s.renderer,S=!!s.xAxis[0]?.opposite,{left:O,top:I}=y.getChartPosition(),L=m||f,D=l+k,B=0,z=a-c,H=function(G,Y,Z,V,q=[0,0],lt=!0){let J,ot;if(Z.isHeader)ot=S?0:z,J=nt(q[0]-G/2,v.left,v.right-G-(i.outside?O:0));else if(f&&Z){let dt=i.getFixedPosition(G,Y,Z);J=dt.x,ot=dt.y-D}else ot=q[1]-D,J=nt(J=lt?q[0]-G-g:q[0]+g,lt?J:v.left,v.right);return{x:J,y:ot}};K(t)&&(t=[!1,t]);let W=t.slice(0,e.length+1).reduce(function(G,Y,Z){if(Y!==!1&&Y!==""){let V=e[Z-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},q=V.isHeader,lt=q?i:V.series,J=lt.tt=(function(Lt,pt,Xt){let wt=Lt,{isHeader:Kt,series:ge}=pt,Ot=ge.tooltipOptions||x;if(!wt){let Qt={padding:Ot.padding,r:Ot.borderRadius};p||(Qt.fill=Ot.backgroundColor,Qt["stroke-width"]=Ot.borderWidth??(f&&!Kt?0:1)),wt=M.label("",0,0,Ot[Kt?"headerShape":"shape"]||(f&&!Kt?"rect":"callout"),void 0,void 0,Ot.useHTML).addClass(i.getClassName(pt,!0,Kt)).attr(Qt).add(w)}return wt.isActive=!0,wt.attr({text:Xt}),p||wt.css(Ot.style).attr({stroke:Ot.borderColor||pt.color||ge.color||"#333333"}),wt})(lt.tt,V,Y.toString()),ot=J.getBBox(),dt=ot.width+J.strokeWidth();q&&(B=ot.height,z+=B,S&&(D-=B));let{anchorX:kt,anchorY:_t}=(function(Lt){let pt,Xt,{isHeader:wt,plotX:Kt=0,plotY:ge=0,series:Ot}=Lt;if(wt)pt=Math.max(n+Kt,n),Xt=l+a/2;else{let{xAxis:Qt,yAxis:ji}=Ot;pt=Qt.pos+nt(Kt,-g,Qt.len+g),Ot.shouldShowTooltip(0,ji.pos-l+ge,{ignoreX:!0})&&(Xt=ji.pos+ge)}return{anchorX:pt=nt(pt,v.left-g,v.right+g),anchorY:Xt}})(V);if(typeof _t=="number"){let Lt=ot.height+1,pt=(m||H).call(i,dt,Lt,V,i,[kt,_t]);G.push({align:L?0:void 0,anchorX:kt,anchorY:_t,boxWidth:dt,point:V,rank:T(pt.rank,+!!q),size:Lt,target:pt.y,tt:J,x:pt.x})}else J.isActive=!1}return G},[]);!L&&W.some(G=>{let{outside:Y}=i,Z=(Y?O:0)+G.anchorX;return Z<v.left&&Z+G.boxWidth<v.right||Z<O-v.left+G.boxWidth&&v.right-Z>Z})&&(W=W.map(G=>{let{x:Y,y:Z}=H.call(this,G.boxWidth,G.size,G.point,void 0,[G.anchorX,G.anchorY],!1);return R(G,{target:Z,x:Y})})),i.cleanSplit(),Go(W,z);let X={left:O,right:O};W.forEach(function(G){let{x:Y,boxWidth:Z,isHeader:V}=G;!V&&(i.outside&&O+Y<X.left&&(X.left=O+Y),!V&&i.outside&&X.left+Z>X.right&&(X.right=O+Y))}),W.forEach(function(G){let{x:Y,anchorX:Z,anchorY:V,pos:q,point:{isHeader:lt}}=G,J={visibility:q===void 0?"hidden":"inherit",x:Y,y:(q||0)+D+(f&&u.y||0),anchorX:Z,anchorY:V};if(i.outside&&Y<Z){let ot=O-X.left;ot>0&&(lt||(J.x=Y+ot,J.anchorX=Z+ot),lt&&(J.x=(X.right-X.left)/2,J.anchorX=Z+ot))}G.tt.attr(J)});let{container:et,outside:Q,renderer:vt}=i;if(Q&&et&&vt){let{width:G,height:Y,x:Z,y:V}=w.getBBox();vt.setSize(G+Z,Y+V,!1),et.style.left=X.left+"px",et.style.top=I+"px"}Ho&&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),F(t.tracker.element,"mouseenter",()=>Ee(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||"",l=s[e?"footerFormat":"headerFormat"];return P(this,"headerFormatter",a,function(c){if(r&&!n&&A(t.key)&&(n=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&n){if(_(n)){let d=n;Xo[0]=p=>i.chart.time.dateFormat(d,p),n="%0"}
2(t.tooltipDateKeys||["key"]).forEach(d=>{l=l.replace(RegExp("point\\."+d+"([ \\)}])"),`(point.${d}:${n})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),c.text=ms(l,t,this.chart)}),a.text||""}update(t){this.destroy(),this.init(this.chart,N(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:a}=this,{height:n=0,width:l=0}=this.getLabel(),{fixed:c,positioner:d}=o,{left:p,top:g,scaleX:x,scaleY:f}=r.getChartPosition(),u=(d||c&&this.getFixedPosition||this.getPosition).call(this,l,n,t,this),m=C.doc,y=(t.plotX||0)+e.plotLeft,b=(t.plotY||0)+e.plotTop,k;if(a&&i){let{scrollLeft:v=0,scrollTop:w=0}=e.scrollablePlotArea?.scrollingContainer||{};u.x+=v+p,u.y+=w+g,k=(o.borderWidth||0)+2*s+2,a.setSize(nt(l+k,0,m.documentElement.clientWidth)-1,n+k,!1),(x!==1||f!==1)&&(U(i,{transform:`scale(${x}, ${f})`}),y*=x,b*=f),y+=p-u.x,b+=g-u.y}this.move(Math.round(u.x),Math.round(u.y||0),y,b)}};(Ki=Me||(Me={})).compose=function(h){It(Wo,"Core.Tooltip")&&F(h,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new Ki(t,t.options.tooltip,this))})};var ys=Me,{animObject:Yo}=ut,{defaultOptions:Fo}=At,{format:jo}=Pt,Ni=class h{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=Tt()),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,P(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(R({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 R(this,t=h.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?R(this.options,t):N(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=h.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():A(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):typeof this.x=="string"&&(e??(e=i.chart.time.parse(this.x)),A(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=Yo(t.series.chart.renderer.globalAnimation),a=()=>{for(let n in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(Dt(t),t.destroyElements()),t)delete t[n]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),Et(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),Bt(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)}),P(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?Re(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(A(this.x)||this.x instanceof Date)&&A(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},a,n=0,l=0;if(A(t)||t===null)r[s[0]]=t;else if(it(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++);l<o;)i&&t[n]===void 0||(s[l].indexOf(".")>0?h.prototype.setNestedProperty(r,t[n],s[l]):r[s[l]]=t[n]),n++,l++;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,l=0;if(A(i)&&A(e))return t&&(n=r?r.pos:o.plotLeft,l=a?a.pos:o.plotTop),o.inverted&&r&&a?[a.len-e+l,r.len-i+n]:[i+n,e+l]}}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=T(this.options.colorIndex,a),this.color=T(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:_(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}")}),jo(t,this,e)}update(t,e,i,s){let o,r=this,a=r.series,n=r.graphic,l=a.chart,c=a.options,d=c.data;function p(){r.applyOptions(t);let g=n&&r.hasMockGraphic,x=r.y===null?!g:g;n&&x&&(r.graphic=n.destroy(),delete r.hasMockGraphic),_(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 u of a.dataColumnKeys())f[u]=r[u];a.dataTable.setRow(f,o),d&&!a.processedData&&(d[o]=_(d[o],!0)||_(t,!0)?r.options:t??d[o]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(l.isDirtyBox=!0),c.legendType==="point"&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=T(e,!0),s===!1?p():r.firePointEvent("update",{options:t},p)}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=T(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=N(this.series.options.point,this.options),i=e.events?.[t];de(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(s=>s.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=F(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(Dt(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=Fo.plotOptions[i.type].marker&&i.options.marker,a=r&&r.enabled===!1,n=r?.states?.[t||"normal"]||{},l=n.enabled===!1,c=this.marker||{},d=i.chart,p=r&&i.markerAttribs,g=i.halo,x,f,u,m=i.stateMarkerGraphic,y;if((t=t||"")===this.state&&!e||this.selected&&t!=="select"||o.enabled===!1||t&&(l||a&&n.enabled===!1)||t&&c.states&&c.states[t]&&c.states[t].enabled===!1)return;if(this.state=t,p&&(x=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){f=i.pointAttribs(this,t),u=T(d.options.chart.animation,o.animation);let w=f.opacity;i.options.inactiveOtherPoints&&A(w)&&(this.dataLabels||[]).forEach(function(M){M&&!M.hasClass("highcharts-data-label-hidden")&&(M.animate({opacity:w},u),M.connector&&M.connector.animate({opacity:w},u))}),this.graphic.animate(f,u)}x&&this.graphic.animate(x,T(d.options.chart.animation,n.animation,r.animation)),m&&m.hide()}else t&&n&&(y=c.symbol||i.symbol,m&&m.currentSymbol!==y&&(m=m.destroy()),x&&(m?m[e?"animate":"attr"]({x:x.x,y:x.y}):y&&(i.stateMarkerGraphic=m=d.renderer.symbol(y,x.x,x.y,x.width,x.height,N(r,n)).add(i.markerGroup),m.currentSymbol=y)),!d.styledMode&&m&&this.state!=="inactive"&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let b=o.halo,k=this.graphic||m,v=k?.visibility||"inherit";b?.size&&k&&v!=="hidden"&&!this.isCluster?(g||(i.halo=g=d.renderer.path().add(k.parentGroup)),g.show()[e?"animate":"attr"]({d:this.haloPath(b.size)}),g.attr({class:"highcharts-halo highcharts-color-"+T(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),g.point=this,d.styledMode||g.attr(R({fill:this.color||i.color,"fill-opacity":b.opacity},ct.filterUserAttributes(b.attributes||{})))):g?.point?.haloPath&&!g.point.destroyed&&g.animate({d:g.point.haloPath(0)},null,g.hide),P(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Ct(e[0],1)-t,e[1]-t,2*t,2*t):[]}},Ut=Ni,{parse:$o}=xt,{charts:ni,composed:Vo,isTouchDevice:Uo}=C,bs=(h,t)=>!E(t)||h[`${t}Key`],ne=class h{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&&(h.unbindDocumentMouseUp.forEach(e=>e.unbind()),h.unbindDocumentMouseUp.length=0,h.unbindDocumentTouchEnd&&(h.unbindDocumentTouchEnd=h.unbindDocumentTouchEnd())),j(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return P(this,"getSelectionMarkerAttrs",i,s=>{let o,{chart:r,zoomHor:a,zoomVert:n}=this,{mouseDownX:l=0,mouseDownY:c=0}=r,d=s.attrs;d.x=r.plotLeft,d.y=r.plotTop,d.width=a?1:r.plotWidth,d.height=n?1:r.plotHeight,a&&(d.width=Math.max(1,Math.abs(o=t-l)),d.x=(o>0?0:o)+l),n&&(d.height=Math.max(1,Math.abs(o=e-c)),d.y=(o>0?0:o)+c)}),i}drag(t){let{chart:e}
vendor: 9,175 bytes, line 2
2=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:a}=e.options.chart,n=e.plotLeft,l=e.plotTop,c=e.plotWidth,d=e.plotHeight,p=_(o)?o.enabled:o,g=r&&t[`${r}Key`],x=t.chartX,f=t.chartY,u,m=this.selectionMarker;if((!m||!m.touch)&&(x<n?x=n:x>n+c&&(x=n+c),f<l?f=l:f>l+d&&(f=l+d),this.hasDragged=Math.sqrt(Math.pow(i-x,2)+Math.pow(s-f,2)),this.hasDragged>10)){u=e.isInsidePlot(i-n,s-l,{visiblePlotOnly:!0});let{shapeType:y,attrs:b}=this.getSelectionMarkerAttrs(x,f);this.hasZoom&&u&&!g&&!m&&(this.selectionMarker=m=e.renderer[y](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:a||$o("#334eff").setOpacity(.25).get()})),m&&m.attr(b),u&&!m&&p&&bs(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 P(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:Ht({originalEvent:t,xAxis:[],yAxis:[]},o),from:o})}A(i.index)&&(this.selectionMarker=s.destroy())}i&&A(i.index)&&(U(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,l,c=!(o.noSharedTooltip&&e)&&0>o.options.findNearestPointBy.indexOf("y"),d=o.searchPoint(i,c);_(d,!0)&&d.series&&(!_(s,!0)||(a=(r=s).distX-d.distX,n=r.dist-d.dist,l=d.series.group?.zIndex-r.series.group?.zIndex,(a!==0&&e?a:n!==0?n:l!==0?l:r.series.index>d.series.index?-1:1)>0))&&(s=d)}),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&&A(o.x)&&A(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=Ws(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(g){return g.visible&&!(!o&&g.directTouch)&&T(g.options.enableMouseTracking,!0)},l=e,c,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};P(this,"beforeGetHoverData",d),c=l&&!l.stickyTracking?[l]:i.filter(g=>g.stickyTracking&&(d.filter||n)(g));let p=s&&t||!r?t:this.findNearestKDPoint(c,o,r);return l=p?.series,p&&(o&&!l.noSharedTooltip?(c=i.filter(function(g){return d.filter?d.filter(g):n(g)&&!g.noSharedTooltip})).forEach(function(g){let x=g.options?.nullInteraction,f=$t(g.points,function(u){return u.x===p.x&&(!u.isNull||!!x)});_(f)&&(g.boosted&&g.boost&&(f=g.boost.getPoint(f)),a.push(f))}):a.push(p)),P(this,"afterGetHoverData",d={hoverPoint:p}),{hoverPoint:d.hoverPoint,hoverSeries:l,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=ft(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(),P(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):T(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return R(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")?(P(i.series,"click",R(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(R(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&P(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}=ni[T(h.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?.(),ni[T(h.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],d=>e.normalize(d)),a=r.length,n=a===1&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,c=a===1&&T(l?.options.followTouchMove,!0);a>1?e.initiated=!0:c&&(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):c?this.runPointActions(e.normalize(t)):o&&(P(i,"touchpan",{originalEvent:t,touches:r},()=>{let d=p=>{let g=p[0],x=p[1]||g;return{x:g.chartX,y:g.chartY,width:x.chartX-g.chartX,height:x.chartY-g.chartY}};i.transform({axes:i.axes.filter(p=>p.zoomEnabled&&(this.zoomHor&&p.horiz||this.zoomVert&&!p.horiz)),to:d(r),from:d(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&&yt(n).forEach(function(l){l.series.isCartesian&&l.plotX===void 0&&(t=!1)}),t?a&&n&&yt(n).length&&(a.refresh(n),a.shared&&r?r.forEach(function(l){l.setState(l.state,!0),l.series.isCartesian&&(l.series.xAxis.crosshair&&l.series.xAxis.drawCrosshair(null,l),l.series.yAxis.crosshair&&l.series.yAxis.drawCrosshair(null,l))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(l){l.crosshair&&o.series[l.coll]===l&&l.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(l){l.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(l){l.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,l=n?.series||s.hoverSeries,c=(!t||t.type!=="touchmove")&&(!!e||l?.directTouch&&this.isDirectTouch),d=this.getHoverData(n,l,o,c,a,t);n=d.hoverPoint,l=d.hoverSeries;let p=d.hoverPoints,g=l?.tooltipOptions.followPointer&&!l.tooltipOptions.split,x=a&&l&&!l.noSharedTooltip;if(n&&(i||n!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEach(function(f){p.indexOf(f)===-1&&f.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(p),(p||[]).forEach(function(f){f.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!n.series)return;s.hoverPoints=p,s.hoverPoint=n,n.firePointEvent("mouseOver",void 0,()=>{r&&n&&r.refresh(x?p:n,t)})}else if(g&&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=F(s.container.ownerDocument,"mousemove",f=>ni[h.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(f)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEac
2h(function(f){let u,m=f.crosshair?.snap??!0;m&&((u=s.hoverPoint)&&u.series[f.coll]===f||(u=$t(p,y=>y.series?.[f.coll]===f))),u||!m?f.drawCrosshair(t,u):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(F(t,"mouseenter",this.onContainerMouseEnter.bind(this)),F(t,"mouseleave",this.onContainerMouseLeave.bind(this))),h.unbindDocumentMouseUp.some(o=>o.doc===e)||h.unbindDocumentMouseUp.push({doc:e,unbind:F(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&s.tagName!=="BODY";)this.eventsToUnbind.push(F(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(F(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),F(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),h.unbindDocumentTouchEnd||(h.unbindDocumentTouchEnd=F(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),F(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!Uo)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=T(e.options.tooltip?.followTouchMove,!0)&&e.series.some(o=>o.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(F(i,"pointerdown",o=>{o.target?.hasPointerCapture(o.pointerId)&&o.target?.releasePointerCapture(o.pointerId)}),F(i,"pointermove",o=>{e.pointer?.getPointFromEvent(o)?.onMouseOver(o)})),e.styledMode||U(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||U(i,{"touch-action":T(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[T(h.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||(h.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),T(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=T(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)&&bs(t,e.zooming.key)}};ne.unbindDocumentMouseUp=[],(qi=ne||(ne={})).compose=function(h){It(Vo,"Core.Pointer")&&F(h,"beforeRender",function(){this.pointer=new qi(this,this.options)})};var vs=ne,{setLength:Zo,splice:ks}={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}}},Be=class{constructor(h={}){this.autoId=!h.id,this.columns={},this.id=h.id||Tt(),this.rowCount=0,this.versionTag=Tt();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]=Zo(t,h))})}deleteRows(h,t=1){if(t>0&&h<this.rowCount){let e=0;j(this.columns,(i,s)=>{this.columns[s]=ks(i,h,t).array,e=i.length}),this.rowCount=e}P(this,"afterDeleteRows",{rowIndex:h,rowCount:t}),this.versionTag=Tt()}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||(P(this,"afterSetColumns"),this.versionTag=Tt())}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 l=r[a];s[l]||(s[l]=[])}j(s,(a,n)=>{a||i?.addColumns===!1||(a=Array(o)),a&&(e?a=ks(a,t,0,!0,[h[n]??null]).array:a[t]=h[n]??null,s[n]=a)}),o>this.rowCount&&this.applyRowCount(o),i?.silent||(P(this,"afterSetRows"),this.versionTag=Tt())}getModified(){return this.modified||this}},ws=Mi||(Mi={});function Ms(h,t,e){let i=this.legendItem=this.legendItem||{},{chart:s,options:o}=this,{baseline:r=0,symbolWidth:a,symbolHeight:n}=h,l=this.symbol||"circle",c=n/2,d=s.renderer,p=i.group,g=r-
2Math.round((h.fontMetrics?.b||n)*(e?.4:.3)),x={},f,u=o.marker,m=0;if(s.styledMode||(x["stroke-width"]=Math.min(o.lineWidth||0,24),o.dashStyle?x.dashstyle=o.dashStyle:o.linecap!=="square"&&(x["stroke-linecap"]="round")),i.line=d.path().addClass("highcharts-graph").attr(x).add(p),e&&(i.area=d.path().addClass("highcharts-area").add(p)),x["stroke-linecap"]&&(m=Math.min(i.line.strokeWidth(),a)/2),a){let y=[["M",m,g],["L",a-m,g]];i.line.attr({d:y}),i.area?.attr({d:[...y,["L",a-m,r],["L",m,r]]})}if(u&&u.enabled!==!1&&a){let y=Math.min(T(u.radius,c),c);l.indexOf("url")===0&&(u=N(u,{width:n,height:n}),y=0),i.symbol=f=d.symbol(l,a/2-y,g-y,2*y,2*y,R({context:"legend"},u)).addClass("highcharts-point").add(p),f.isMarker=!0}}ws.areaMarker=function(h,t){Ms.call(this,h,t,!0)},ws.lineMarker=Ms;var Vs=Mi,{defaultOptions:Us}=At,zt=Si||(Si={});function Ss(h,t){let e=Us.plotOptions||{},i=t.defaultOptions,s=t.prototype;return s.type=h,s.pointClass||(s.pointClass=Ut),!zt.seriesTypes[h]&&(i&&(e[h]=i),zt.seriesTypes[h]=t,!0)}zt.seriesTypes=C.seriesTypes,zt.registerSeriesType=Ss,zt.seriesType=function(h,t,e,i,s){let o=Us.plotOptions||{};if(t=t||"",o[h]=N(o[t],e),delete zt.seriesTypes[h],Ss(h,Ns(zt.seriesTypes[t]||C.Series,i)),zt.seriesTypes[h].prototype.type=h,s){class r extends Ut{}R(r.prototype,s),zt.seriesTypes[h].prototype.pointClass=r}return zt.seriesTypes[h]};var at=Si,{animObject:Ts,setAnimation:Ko}=ut,{defaultOptions:Ie}=At,{registerEventOptions:qo}=qe,{svg:Jo,win:_o}=C,{seriesTypes:se}=at,{format:Qo}=Pt,Nt=class h{constructor(){this.zoneAxis="y"}init(t,e){let i;P(this,"init",{options:e}),this.dataTable??(this.dataTable=new Be);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(),R(this,{name:o.name,state:"",visible:r,selected:o.selected===!0}),qo(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=T(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),P(this,"afterInit")}is(t){return se[t]&&this instanceof se[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;P(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(r){t=r.options,(T(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||ht(18,!0,s)})}),P(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=T(this.pointInterval,i.pointInterval,1),o&&A(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&&A(t)?a+e:(this.xIncrement=a+e,a)}setDataSortingOptions(){let t=this.options;R(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=N(t),a=i.styledMode,n={plotOptions:s,userOptions:r};P(this,"setOptions",n);let l=n.plotOptions[this.type],c=o.plotOptions||{},d=c.series||{},p=Ie.plotOptions[this.type]||{},g=c[this.type]||{};l.dataLabels=this.mergeArrays(p.dataLabels,l.dataLabels),this.userOptions=n.userOptions;let x=N(l,s.series,g,r);this.tooltipOptions=N(Ie.tooltip,Ie.plotOptions.series?.tooltip,p?.tooltip,i.userOptions.tooltip,c.series?.tooltip,g.tooltip,r.tooltip),this.stickyTracking=T(r.stickyTracking,g.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||x.stickyTracking),l.marker===null&&delete x.marker;let{negativeColor:f,negativeFillColor:u,zoneAxis:m="y",zones:y}=x,b=this.zones=(y||[]).map(k=>Ht({},k));return this.zoneAxis=m,(f||u)&&!y&&(e={value:x[m+"Threshold"]||x.threshold||0,className:"highcharts-negative"},a||(typeof f!="boolean"&&(e.color=f),e.fillColor=u),b.push(e)),b.length&&E(b[b.length-1].value)&&b.push(a?{}:{color:this.color,fillColor:this.fillColor}),P(this,"afterSetOptions",{options:x}),x}
2getName(){return this.options.name??Qo(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,a=`${t}Index`,n=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(E(o=T(t==="color"?this.options.colorIndex:void 0,this[a]))?s=o:(r.series.length||(r[n]=0),s=r[n]%l,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||Ie.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,l=this.options.dataSorting,c=this.cropStart||0;if(r){let d=this.chart.get(r);d instanceof Ut&&(i=d)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let d=p=>!p.touched&&p.index===t.index;if(l?.matchByName?d=p=>!p.touched&&p.name===t.name:this.options.relativeXValue&&(d=p=>!p.touched&&p.options.x===t.x),!(i=$t(n,d)))return}return i&&(o=i?.index)!==void 0&&(s=!0),o===void 0&&A(a)&&(o=this.getColumn("x").indexOf(a,e)),o!==-1&&o!==void 0&&this.cropped&&(o=o>=c?o-c:o),!s&&A(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,l=this.xIncrement,c,d,p,g,x=!0;if(this.xIncrement=null,t.forEach((u,m)=>{let y,b=E(u)&&this.pointClass.prototype.optionsToObject.call({series:this},u)||{},{id:k,x:v}=b;k||A(v)?((y=this.findPointIndex(b,g))===-1||y===void 0?a.push(u):r[y]&&u!==i.data?.[y]?(r[y].update(u,!1,void 0,!1),r[y].touched=!0,s&&(g=y+1)):r[y]&&(r[y].touched=!0),(!n||m!==y||o?.enabled||this.hasDerivedData)&&(c=!0)):a.push(u)},this),c)for(d=r.length;d--;)(p=r[d])&&!p.touched&&p.remove?.(!1,e);else n&&!o?.enabled?(t.forEach((u,m)=>{u===r[m].y||r[m].destroyed||r[m].update(u,!1,void 0,!1)}),a.length=0):x=!1;if(r.forEach(u=>{u&&(u.touched=!1)}),!x)return!1;a.forEach(u=>{this.addPoint(u,!1,void 0,void 0,!1)},this);let f=this.getColumn("x");return l!==null&&this.xIncrement===null&&f.length&&(this.xIncrement=jt(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,l=a.dataSorting,c=this.xAxis,d=a.turboThreshold,p=this.dataTable,g=this.dataColumnKeys(),x=this.pointValKey||"y",f=(this.pointArrayMap||[]).length,u=a.keys,m,y,b=0,k=1,v;n.options.chart.allowMutatingData||(a.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=N(!0,t));let w=(t=v||t||[]).length;if(l?.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=d&&!a.relativeXValue&&w>d;if(M){let S=this.getFirstValidPoint(t),O=this.getFirstValidPoint(t,w-1,-1),I=L=>!!(it(L)&&(u||A(L[0])));if(A(S)&&A(O)){let L=[],D=[];for(let B of t)L.push(this.autoIncrement()),D.push(B);p.setColumns({x:L,[x]:D})}else if(I(S)&&I(O))if(f){let L=+(S.length===f),D=Array(g.length).fill(0).map(()=>[]);for(let B of t){L&&D[0].push(this.autoIncrement());for(let z=L;z<=f;z++)D[z]?.push(B[z-L])}p.setColumns(g.reduce((B,z,H)=>(B[z]=D[H],B),{}))}else{u&&(b=u.indexOf("x"),k=u.indexOf("y"),b=b>=0?b:0,k=k>=0?k:1),S.length===1&&(k=0);let L=[],D=[];for(let B of t)b===k?L.push(this.autoIncrement()):L.push(B[b]??B.x??null),D.push(B[k]??B.y??null);p.setColumns({x:L,[x]:D})}else M=!1}if(!M){let S=g.reduce((O,I)=>(O[I]=[],O),{});for(m=0;m<w;m++){let O=this.pointClass.prototype.applyOptions.apply({series:this},[t[m]]);for(let I of g)S[I][m]=O[I]}p.setColumns(S)}for(K(this.getColumn("y")[0])&&ht(14,!0,n),this.data=[],this.options.data=this.userOptions.data=t,m=r;m--;)o[m]?.destroy();c&&(c.minRange=c.userMinRange),this.isDirty=n.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}
2a.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=Re(i,o),n=Re(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,l){a[l]=s(o,n),t[l]&&(a[l].x=t[l].x,a[l].index=l)}),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,l=r?.logarithmic,c=i.rowCount,d,p,g=0,x,f,u,m=e.getColumn("x"),y=i,b=!1;return r&&(f=(x=r.getExtremes()).min,u=x.max,b=!!(r.categories&&!r.names.length),s&&e.sorted&&!n&&(!a||c>a||e.forceCrop)&&(m[c-1]<f||m[0]>u?y=new Be:e.getColumn(e.pointValKey||"y").length&&(m[0]<f||m[c-1]>u)&&(y=(d=this.cropData(i,f,u)).modified,g=d.start,p=!0))),m=y.getColumn("x")||[],{modified:y,cropped:p,cropStart:g,closestPointRange:Ii([l?m.map(l.log2lin):m],()=>e.requireSorting&&!b&&ht(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,P(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},a,n,l=0,c=o;for(a=0;a<o;a++)if(s[a]>=e){l=Math.max(0,a-1);break}for(n=a;n<o;n++)if(s[n]>i){c=n+1;break}for(let d of this.dataColumnKeys()){let p=t.getColumn(d,!0);p&&(r[d]=p.slice(l,c))}return{modified:new Be({columns:r}),start:l,end:c}}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,l=t.keys,c=[],d=t.dataGrouping?.groupAll?a:0,p=this.pointArrayMap||["y"],g=this.dataColumnKeys(),x,f,u,m,y=this.data,b;if(!y&&!n){let k=[];k.length=e?.length||0,y=this.data=k}for(l&&n&&(this.options.keys=!1),m=0;m<r;m++)f=a+m,n?((u=new o(this,i.getRow(m,g)||[])).dataGroup=this.groupMap?.[d+m],u.dataGroup?.options&&(u.options=u.dataGroup.options,R(u,u.dataGroup.options),delete u.dataLabels,u.key=u.name??u.category)):(u=y[f],b=e?e[f]:i.getRow(m,p),u||b===void 0?u&&(u.category=this.xAxis?.categories?.[u.x]??u.x,u.key=u.name??u.category):y[f]=u=new o(this,b,s[m])),u&&(u.index=n?d+m:f,c[m]=u);if(this.options.keys=l,y&&(r!==(x=y.length)||n))for(m=0;m<x;m++)m!==a||n||(m+=r),y[m]&&(y[m].destroyElements(),y[m].plotX=void 0);this.data=y,this.points=c,P(this,"afterGeneratePoints")}getXExtremes(t){return{min:le(t),max:jt(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,l=n?[n]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(v=>r.getColumn(v,!0)||[])||[],c=this.getColumn("x",!0),d=[],p=this.requireSorting&&!this.is("column")?1:0,g=!!s&&s.positiveValuesOnly,x=o||this.cropped||!i,f,u,m,y=0,b=0;for(i&&(y=(f=i.getExtremes()).min,b=f.max),m=0;m<a;m++)if(u=c[m],x||(c[m+p]||u)>=y&&(c[m-p]||u)<=b)for(let v of l){let w=v[m];A(w)&&(w>0||!g)&&d.push(w)}let k={activeYData:d,dataMin:le(d),dataMax:jt(d)};return P(this,"afterGetExtremes",{dataExtremes:k}),k}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(),l=!!n,c=t.threshold,d=t.startFromThreshold?c:0,p=t?.nullInteraction&&o.len,g,x,f,u,m=Number.MAX_VALUE;function y(b){return nt(b,-1e9,1e9)}for(g=0;g<a;g++){let b,k=r[g],v=k.x,w,M,S=k.y,O=k.low,I=e&&o.stacking?.stacks[(this.negStacks&&S<(d?0:c)?"-":"")+this.stackKey];k.plotX=A(x=i.translate(v,!1,!1,!1,!0,n))?st(y(x)):void 0,e&&this.visible&&I&&I[v]&&(u=this.getStackIndicator(u,v,this.index),!k.isNull&&u.key&&(M=(w=I[v]).points[u.key]),w&&it(M)&&(O=M[0],S=M[1],O===d&&u.key===I[v].base&&(O=T(A(c)?c:o.min)),o.positiveValuesOnly&&E(O)&&O<=0&&(O=void 0),k.total=k.stackTotal=T(w.total),k.percentage=E(k.y)&&w.total?k.y/w.total*100:void 0,k.stackY=S,this.irregularWidths||w.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),k.yBottom=E(O)?y(o.translate(O,!1,!0,!1,!0)):void 0,this.dataModify&&(S=this.dataModify.modifyValue(S,g)),A(S)&&k.plotX!==void 0?b=A(b=o.translate(S,!1,!0,!1,!0))?y(b):void 0:!A(S)&&p&&(b=p),k.plotY=b,k.isInside=this.isPointInside(k),k.clientX=l?st(i.translate(v,!1,!1,!1,!0,n)):x,k.negative=(k.y||0)<(c||0),k.isNull||k.visible===!1||(f!==void 0&&(m=Math.min(m,Math.abs(x-f))),f=x),k.zone=this.zones.length?k.getZone():void 0,!k.graphic&&this.group&&s&&(k.isNew=!0)}this.closestPointRangePx=m,P(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(o){let{plotX:r,plotY:a}=o;
2return(!!i||!o.isNull&&!!A(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];P(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=Ts(this.options.animation),a=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),n=e.sharedClips[a],l=e.sharedClips[a+"m"];if(t&&i){let c=e.getClipBox(this);if(n)n.attr("height",c.height);else{c.width=0,o&&(c.x=e.plotHeight),n=e.renderer.clipRect(c),e.sharedClips[a]=n;let d={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(d),e.sharedClips[a+"m"]=l}i.clip(n),s?.clip(l)}else if(n&&!n.hasClass("highcharts-animating")){let c=e.getClipBox(this),d=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(p,g){d&&d.apply(g,arguments),g.prop==="width"&&l?.element&&l.attr(o?"height":"width",p+99)}),n.addClass("highcharts-animating").animate(c,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,P(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,a,n,l=this.chart,c=l.styledMode,{colorAxis:d,options:p}=this,g=p.marker,x=p.nullInteraction,f=this[this.specialGroup||"markerGroup"],u=this.xAxis,m=T(g.enabled,!u||!!u.isRadial||null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(g.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((m&&!E(r.enabled)||r.enabled)&&(!y||x)&&i.visible!==!1){let b=T(r.symbol,this.symbol,"rect");n=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=u.reversed?-(n.width||0):u.width);let k=i.isInside!==!1;if(!s&&k&&((n.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(b,n.x,n.y,n.width,n.height,a?r:g).add(f),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&o==="animate"&&s[k?"show":"hide"](k).animate(n),s){let v=this.pointAttribs(i,c||!i.selected?void 0:"select");c?d&&s.css({fill:v.fill}):s[o](v)}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,l,c=T(o.radius,s?.radius);e&&(n=s?.states?.[e],l=o.states?.[e],c=T(l?.radius,n?.radius,c&&c+(n?.radiusPlus||0))),t.hasImage=r&&r.indexOf("url")===0,t.hasImage&&(c=0);let d=t.pos();return A(c)&&d&&(i.crisp&&(d[0]=Ct(d[0],t.hasImage?0:r==="rect"?s?.lineWidth||0:1)),a.x=d[0]-c,a.y=d[1]-c),c&&(a.width=a.height=2*c),a}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},a=o?.color,n=t?.color,l=t?.zone?.color,c,d,p=this.color,g,x,f=T(r.lineWidth,s.lineWidth),u=t?.isNull&&i.nullInteraction?0:1;return p=a||l||n||p,g=r.fillColor||s.fillColor||p,x=r.lineColor||s.lineColor||p,e=e||"normal",c=s.states[e]||{},f=T((d=r.states&&r.states[e]||{}).lineWidth,c.lineWidth,f+T(d.lineWidthPlus,c.lineWidthPlus,0)),g=d.fillColor||c.fillColor||g,x=d.lineColor||c.lineColor||x,{stroke:x,"stroke-width":f,fill:g,opacity:u=T(d.opacity,c.opacity,u)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(_o.navigator.userAgent),a=s.data||[];for(P(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(n){i=s[n],i?.series&&(Et(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)Zt(n,void 0,!0);Hi(s.animationTimeout),j(s,function(n,l){n instanceof Wt&&!n.survive&&n[r&&l==="group"?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),Et(o.series,s),o.orderItems("series"),j(s,function(n,l){t&&l==="hcEvents"||delete s[l]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:a,zoneAxis:n}=this,{inverted:l,renderer:c}=e,d=this[`${n}Axis`],{isXAxis:p,len:g=0,minPointOffset:x=0}=d||{},f=(i?.strokeWidth()||0)/2+1,u=(m,y=0,b=0)=>{l&&(b=g-b);let{translated:k=0,lineClip:v}=m,w=b-k;v?.push(["L",y,Math.abs(w)<f?b-f*(w<=0?-1:1):k])};if(s.length&&(i||t)&&d&&A(d.min)){let m=d.getExtremes().max+x,y=v=>{v.forEach((w,M)=>{(w[0]==="M"||w[0]==="L")&&(v[M]=[w[0],p?g-w[1]:w[1],p?w[2]:g-w[2]])})};if(s.forEach(v=>{v.lineClip=[],v.translated=nt(d.toPixels(T(v.value,m),!0)||0,0,g)}),i&&!this.showLine&&i.hide(),t&&t.hide(),n==="y"&&o.length<r.len)for(let v of o){let{plotX:w,plotY:M,zone:S}=v,O=S&&s[s.indexOf(S)-1];S&&u(S,w,M),O&&u(O,w,M)}let b=[],k=d.toPixels(d.getExtremes().min-x,!0);
vendor: 4,680 bytes, line 2
2s.forEach(v=>{let w=v.lineClip||[],M=Math.round(v.translated||0);r.reversed&&w.reverse();let{clip:S,simpleClip:O}=v,I=0,L=0,D=r.len,B=a.len;p?(I=M,D=k):(L=M,B=k);let z=[["M",I,L],["L",D,L],["L",D,B],["L",I,B],["Z"]],H=[z[0],...w,z[1],z[2],...b,z[3],z[4]];b=w.reverse(),k=M,l&&(y(H),t&&y(z)),S?(S.animate({d:H}),O?.animate({d:z})):(S=v.clip=c.path(H),t&&(O=v.simpleClip=c.path(z))),i&&v.graph?.clip(S),t&&v.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};P(this,"getPlotBox",r);let{scale:a,translateX:n,translateY:l}=r;return{translateX:n,translateY:l,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||Dt(this),e.length&&(e.forEach(i=>{i()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=Ts(i.animation),r=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,l=t.finishedAnimating?0:o.duration;P(this,"render"),t.plotGroup("group","series",r,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",r,a,n),i.clip!==!1&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=Bt(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,P(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,Bt(function(){e.kdTree=(function o(r,a,n){let l,c,d=r?.length;if(d)return l=e.kdAxisArray[a%n],r.sort((p,g)=>(p[l]||0)-(g[l]||0)),{point:r[c=Math.floor(d/2)],left:o(r.slice(0,c),a+1,n),right:o(r.slice(c+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,l=e?"distX":"dist",c=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,p=s||((x,f,u)=>{let m=x[u]||0,y=f[u]||0;return[m===y&&x.index>f.index||m<y?x:f,!1]}),g=o||((x,f)=>x<f);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return(function x(f,u,m,y){let b,k,v,w,M,S,O,I=u.point,L=r.kdAxisArray[m%y],D=I,B=!1;b=f[a],k=I[a],v=E(b)&&E(k)?b-k:null,w=f[n],M=I[n],S=E(w)&&E(M)?w-M:0,O=d&&I.marker?.radius||0,I.dist=Math.sqrt((v&&v*v||0)+S*S)-O,I.distX=E(v)?Math.abs(v)-O:Number.MAX_VALUE;let z=(f[L]||0)-(I[L]||0)+(d&&I.marker?.radius||0),H=z<0?"left":"right",W=z<0?"right":"left";return u[H]&&([D,B]=p(I,x(f,u[H],m+1,y),l)),u[W]&&g(Math.sqrt(z*z),D[l],B)&&(D=p(D,x(f,u[W],m+1,y),l)[0]),D})(t,this.kdTree,c,c)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return i==="between"&&(i=e.reversed?-.5:.5),A(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,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},c="rgba(192,192,192,"+(Jo?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:i?c:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}
2),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(p=>{p&&(p.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",g=>{r?.onTrackerMouseOut(g)}),e.cursor&&!o.styledMode&&p.css({cursor:e.cursor}),p.on("touchstart",l))})),P(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,a,n=this.options,{chart:l,data:c,dataTable:d,xAxis:p}=this,g=p?.hasNames&&p.names,x=n.data,f=this.getColumn("x");e=T(e,!0);let u={series:this};this.pointClass.prototype.applyOptions.apply(u,[t]);let m=u.x;if(a=f.length,this.requireSorting&&m<f[a-1])for(r=!0;a&&f[a-1]>m;)a--;d.setRow(u,a,!0,{addColumns:!1}),g&&u.name&&(g[m]=u.name),x?.splice(a,0,t),(r||this.processedData)&&(this.data.splice(a,0,null),this.processData()),n.legendType==="point"&&this.generatePoints(),i&&(c[0]&&c[0].remove?c[0].remove(!1):([c,x].filter(E).forEach(y=>{y.shift()}),d.deleteRows(0))),o!==!1&&P(this,"addPoint",{point:u}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:a,dataTable:n}=s,l=r[t],c=function(){[a?.length===r.length?a:void 0,r,s.options.data].filter(E).forEach(d=>{d.splice(t,1)}),n.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};Ko(i,o),e=T(e,!0),l?l.firePointEvent("remove",null,c):c()}remove(t,e,i,s){let o=this,r=o.chart;function a(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),T(t,!0)&&r.redraw(e)}i!==!1?P(o,"remove",null,a):a()}update(t,e){P(this,"update",{options:t=ve(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,a=s.options.plotOptions,n=se[r].prototype,l=i.finishedAnimating&&{animation:!1},c={},d,p,g=h.keepProps.slice(),x=t.type||o.type||s.options.chart.type,f=!(this.hasDerivedData||x&&x!==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(m=>i.hasOptionChanged(m)));x=x||r,f?(g.push.apply(g,h.keepPropsForPoints),t.visible!==!1&&g.push("area","graph"),i.parallelArrays.forEach(function(m){g.push(m+"Data")}),t.data&&(t.dataSorting&&R(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=N(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,l),f&&t.data&&(t.data=i.options.data),(g=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(g)).forEach(function(m){g[m]=i[m],delete i[m]});let u=!1;if(se[x]){if(u=x!==i.type,i.remove(!1,!1,!1,!0),u)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,se[x].prototype);else{let m=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(p in n)i[p]=void 0;R(i,se[x].prototype),m?i.hcEvents=m:delete i.hcEvents}}else ht(17,!0,s,{missingModuleFor:x});if(g.forEach(function(m){i[m]=g[m]}),i.init(s,t),f&&this.points)for(let m of((d=i.options).visible===!1?(c.graphic=1,c.dataLabel=1):(this.hasMarkerChanged(d,o)&&(c.graphic=1),i.hasDataLabels?.()||(c.dataLabel=1)),this.points))m?.series&&(m.resolveColor(),Object.keys(c).length&&m.destroyElements(c),d.showInLegend===!1&&m.legendItem&&s.legend.destroyItem(m));i.initialType=r,s.linkSeries(),s.setSortedData(),u&&i.linkedSeries.length&&(i.isDirtyData=!0),P(this,"afterUpdate"),T(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=T(s?.[this.type]?.[t],s?.series?.[t]);return o&&!E(r)?i!==o:i!==T(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&P(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&&P(this,"mouseOut"),i&&
2!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=T(a?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:l,opacity:c}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(d){d&&(i.state&&d.removeClass("highcharts-series-"+i.state),t&&d.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]?.enabled===!1)return;if(t&&(l=a[t].lineWidth||l+(a[t].lineWidthPlus||0),c=T(a[t].opacity,c)),s&&!s.dashstyle&&A(l))for(let d of[s,...this.zones.map(p=>p.graph)])d?.animate({"stroke-width":l},n);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(d){d?.animate({opacity:c},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),P(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),P(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,l=r.squareSymbol,c=l?a:n,d=l?(n-a)/2:0,p=(t.baseline||0)-a+1,g=r.symbolRadius??a,x=s==="rectangle"?i.rect(d,p,c,a,g):i.symbols[s]&&i.symbol(s,d,p,c,a,{r:g});x?o.symbol=x.addClass("highcharts-point").attr({zIndex:3}).add(o.group):Vs[s]?.call(this,t,e)}};Nt.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"},Nt.types=at.seriesTypes,Nt.registerType=at.registerSeriesType,Nt.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],Nt.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],R(Nt.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Ut,requireSorting:!0,sorted:!0}),at.series=Nt;var St=Nt,{animObject:tr,setAnimation:er}=ut,{registerEventOptions:Cs}=qe,{composed:ir,marginNames:As}=C,{distribute:sr}=Ke,{format:or}=Pt,Se=class{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWi
vendor: 4,246 bytes, line 2
2dth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),Cs(this,e),F(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),F(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=T(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=N(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=T(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(N(!0,this.options,t)),"events"in this.options&&Cs(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,T(e,!0)&&i.redraw(),P(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 St||t instanceof Ut)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:l={}}=this,c=l.color,{fillColor:d,fillOpacity:p,lineColor:g,marker:x}=t.options,f=u=>(!e&&(u.fill&&(u.fill=c),u.stroke&&(u.stroke=c)),u);r?.css(N(e?this.itemStyle:l)),a?.attr(f({stroke:g||t.color})),n&&n.attr(f(x&&n.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(f({fill:d||t.color,"fill-opacity":d?1:p??.75}))}t.color=i,P(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 l={translateX:a?i:this.legendWidth-i-2*r-4,translateY:s},c=()=>{P(this,"afterPositionItem",{item:t})};e[E(e.translateY)?"animate":"attr"](l,void 0,c)}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=Ue(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,U(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?or(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,l=this.itemStyle,c=this.itemHiddenStyle,d=r?T(o.itemDistance,20):0,p=!o.rtl,g=!t.series,x=!g&&t.series.drawLegendSymbol?t.series:t,f=x.options,u=!!this.createCheckboxForItem&&f&&f.showCheckbox,m=o.useHTML,y=t.options.className,b=e.label,k=a+n+d+20*!!u;!b&&(e.group=s.g("legend-item").addClass("highcharts-"+x.type+"-series highcharts-color-"+t.colorIndex+(y?" "+y:"")+(g?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=b=s.text("",p?a+n:-n,this.baseline||0,m),i.styledMode||b.css(N(t.visible?l:c)),b.attr({align:p?"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=T(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,954 bytes, line 2
2dth=T(o.symbolWidth,Math.max(this.symbolHeight,16)),k=this.symbolWidth+n+d+20*!!u,p&&b.attr("x",this.symbolWidth+n))),x.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,b,m)),u&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&b.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?mt(o.maxWidth,i.chartWidth):1/0)-k+"px"}),this.setText(t);let v=b.getBBox(),w=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+k,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*w?v.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?T(e.itemDistance,20):0,l=this.maxLegendWidth,c=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+c>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=a+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=c:(this.itemY+=a+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):c)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&T(i.showInLegend,!E(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||(i.legendType==="point"?e.data:e)))}),P(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: 15,762 bytes, line 2
2h((r,a)=>{r.test(o)&&!E(t[a])&&(i[As[a]]=Math.max(i[As[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+(s.margin??12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s=this.options.align==="left";for(let o of(this.allItems.forEach(function(r){let a,n,l=s,c,d;r.yAxis&&(r.xAxis.options.reversed&&(l=!l),r.points&&(a=$t(l?r.points:r.points.slice(0).reverse(),function(p){return A(p.plotY)})),n=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,d=r.yAxis.top-e.plotTop,c=r.visible?(a?a.plotY:r.yAxis.height)+(d-.3*n):d+r.yAxis.height,i.push({target:c,size:n,item:r}))},this),sr(i,e.plotHeight)))t=o.item.legendItem||{},A(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,l,c=this.group,d,p=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=mt(s.width,e-o),d=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(d/=2),this.maxLegendWidth=this.widthOption||d,c||(this.group=c=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(c),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),fe(r,(g,x)=>(g.options?.legendIndex||0)-(x.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,d,mt(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,l=this.lastItemY+this.lastLineHeight+this.titleHeight,l=this.handleOverflow(l)+o,p||(this.box=p=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),t.styledMode||p.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),n>0&&l>0&&p[p.placed?"animate":"attr"](p.crisp.call({},{x:0,y:0,width:n,height:l},p.strokeWidth())),c[a?"show":"hide"](),t.styledMode&&c.getStyle("display")==="none"&&(n=l=0),this.legendWidth=n,this.legendHeight=l,a&&this.align(),this.proximate||this.positionItems(),P(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=N(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(N(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,l=o.maxHeight,c=o.navigation,d=T(c.animation,!0),p=c.arrowSize||12,g=this.pages,x=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")},u=function(S){return e[S]=s.circle(0,0,1.3*p).translate(p/2,p/2).add(w),i.styledMode||e[S].attr("fill","rgba(0,0,0,0.0001)"),e[S]},m,y,b,k,v=i.spacingBox.height+(a?-r:r)-n,w=this.nav,M=this.clipRect;return o.layout!=="horizontal"||o.verticalAlign==="middle"||o.floating||(v/=2),l&&(v=Math.min(v,l)),g.length=0,t&&v>0&&t>v&&c.enabled!==!1?(this.clipHeight=m=Math.max(v-20-this.titleHeight-n,0),this.currentPage=T(this.currentPage,1),this.fullHeight=t,x.forEach((S,O)=>{let I=(b=S.legendItem||{}).y||0,L=Math.round(b.label.getBBox().height),D=g.length;(!D||I-g[D-1]>m&&(y||I)!==g[D-1])&&(g.push(y||I),D++),b.pageIx=D-1,y&&k&&(k.pageIx=D-1),O===x.length-1&&I+L-g[D-1]>m&&I>g[D-1]&&(g.push(I),b.pageIx=D),I!==y&&(y=I),k=b}),M||(M=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(M)),f(m),w||(this.nav=w=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,p,p).add(w),u("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(w),this.down=s.symbol("triangle-down",0,0,p,p).add(w),u("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=v):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,l=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(e!==void 0&&er(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:c===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),n.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:c===1?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:c===1?"default":"pointer"}),this.down.attr({fill:c===o?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),Bt(()=>{P(this,"afterScroll",{currentPage:c})},tr(T(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,a=t instanceof Ut,n=t instanceof St,l="highcharts-legend-"+(a?"point":"series")+"-active",c=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],p=g=>{s.allItems.forEach(x=>{t!==x&&[x].concat(x.linkedSeries||[]).forEach(f=>{f.setState(g,!a)})})};for(let g of d)g&&g.on("mouseover",function(){t.visible&&p("inactive"),t.setState("hover"),t.visible&&r.addClass(l),c||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(N(t.visible?s.itemStyle:s.itemHiddenStyle)),p(""),r.removeClass(l),t.setState()}).on("click",function(x){let f=function(){t.setVisible&&t.setVisible(),p(t.visible?"inactive":"")};r.removeClass(l),P(s,"itemClick",{browserEvent:x,legendItem:t,context:s},f),a?t.firePointEvent("legendItemClick",{browserEvent:x}):n&&P(t,"legendItemClick",{browserEvent:x})})}createCheckboxForItem(t){t.checkbox=Mt("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),F(t.checkbox,"click",function(e){let i=e.target;P(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}};(Ji=Se||(Se={})).compose=function(h){It(ir,"Core.Legend")&&F(h,"beforeMargins",function(){this.legend=new Ji(this,this.options.legend)})};var Ps=Se,{animate:hi,animObject:rr,setAnimation:li}=ut,{defaultOptions:di}=At,{numberFormat:ar}=Pt,{registerEventOptions:Ls}=qe,{charts:Jt,doc:oe,marginNames:Os,svg:nr,win:ci}=C,{seriesTypes:pi}=at,Vt=class h{static chart(t,e,i){return new h(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!oe)return void ht(36,!1,this);let s=[...arguments];(K(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming=ue(Ht({},e),{type:T(t.zoomType,e.type),key:T(t.zoomKey,e.key),pinchType:T(t.pinchType,e.pinchType),singleTouch:T(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:N(e.resetButton,t.resetZoomButton)})}init(t,e){P(this,"init",{args:arguments},function(){let i=N(di,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=R({},t),(this.renderTo=K(o)?oe.getElementById(o):o)||ht(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 Yi(R(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||ar).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=Jt.length,Jt.push(this),C.chartCount++,Ls(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),P(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=pi[i];s||ht(17,!0,this,{missingModuleFor:i});let o=new s;return typeof o.init=="function"&&o.init(this,t),o}setSortedData(){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]=yt(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?yt(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 St&&(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:l}=N(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(n=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([n,l]=[l,n])),e&&(r+=(i?o:s)?.pos??this.plotLeft,a+=(i?s:o)?.pos??this.plotTop),{x:r,y:a,width:n,height:l}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:a,scrollablePlotBox:n}=this,{scrollLeft:l=0,scrollTop:c=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,p=i.visiblePlotOnly&&n||o,g=i.inverted?e:t,x=i.inverted?t:e,f={x:g,y:x,isInsidePlot:!0,options:i};if(!i.ignoreX){let u=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},m=i.paneCoordinates?u.pos+g:r+g;m>=Math.max(l+r,u.pos)&&m<=Math.min(l+r+p.width,u.pos+u.len)||(f.isInsidePlot=!1)}if(!i.ignoreY&&f.isInsidePlot){let u=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},m=i.paneCoordinates?u.pos+x:a+x;m>=Math.max(c+a,u.pos)&&m<=Math.min(c+a+p.height,u.pos+u.len)||(f.isInsidePlot=!1)}return P(this,"afterIsInsidePlot",f),f.isInsidePlot}redraw(t){P(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(),l=[],c,d,p,g=this.isDirtyBox,x=this.isDirtyLegend,f;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),li(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),p=i.length;p--;)if(((f=i[p]).options.stacking||f.options.centerInCategory)&&(d=!0,f.isDirty)){c=!0;break}if(c)for(p=i.length;p--;)(f=i[p]).options.stacking&&(f.isDirty=!0);i.forEach(function(u){u.isDirty&&(u.options.legendType==="point"?(typeof u.updateTotals=="function"&&u.updateTotals(),x=!0):r&&(r.labelFormatter||r.labelFormat)&&(x=!0)),u.isDirtyData&&P(u,"updatedData")}),x&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(u){u.updateNames(),u.setScale()}),this.getMargins(),e.forEach(function(u){u.isDirty&&(g=!0)}),e.forEach(function(u){let m=u.min+","+u.max;u.extKey!==m&&(u.extKey=m,l.push(function(){P(u,"afterSetExtremes",R(u.eventArgs,u.getExtremes())),delete u.eventArgs})),(g||d)&&u.redraw()}),g&&this.drawChartBox(),P(this,"predraw"),i.forEach(function(u){(g||u.isDirty)&&u.visible&&u.redraw(),u.isDirtyData=!1}),s&&s.reset(!0),a.draw(),P(this,"redraw"),P(this,"render"),n&&this.temporaryDisplay(!0),l.forEach(function(u){u.call()})}get(t){let e=this.series;function i(o){return o.id===t||o.options&&o.options.id===t}let s=$t(this.axes,i)||$t(this.series,i);for(let o=0;!s&&o<e.length;o++)s=$t(e[o].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(P(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=yt(t[e]||{}))new pe(this,i,e);P(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(i=>{T(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]=N(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(r,a){i.applyDescription(t,r),i.layOutTitles(a)},this.styledMode||o.css(R(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],l=this.options[a],c=N(o),d=n?.textPxLength||0;if(n&&l){P(this,"layOutTitle",{alignTo:c,key:a,textPxLength:d});let p=s.fontMetrics(n),g=p.b,x=p.h,f=l.verticalAlign||"top",u=f==="top",m=u&&l.minScale||1,y=a==="title"?u?-3:0:u?e[0]+2:0,b=Math.min(c.width/d,1),k=Math.max(m,b),v=N({y:f==="bottom"?g:y+g},l),w=(l.width||(b>m?this.chartWidth:c.width)/k)+"px";v.align??(v.align=a==="title"?b<m?"left":"center":this.title?.alignValue),n.alignValue!==v.align&&(n.placed=!1);let M=Math.round(n.css({width:w}).getBBox(l.useHTML).height);if(v.height=M,n.align(v,!1,c).attr({align:v.align,scaleX:k,scaleY:k,"transform-origin":`${c.x+d*k*bt(v.align)} ${x}`}),!l.floating){let S=M*(M<1.2*x?1:k);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,P(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:Ft(this.renderTo,"width",!0)||0,height:Ft(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,mt(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&(U(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(oe.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(oe.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,oe.body.appendChild(e)),(Ft(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),U(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==oe.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=Tt(),r=this.renderTo,a=rt(ft(r,s));A(a)&&Jt[a]&&Jt[a].hasRendered&&Jt[a].destroy(),ft(r,s,this.index),r.innerHTML=ct.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
vendor: 4,134 bytes, line 2
2let n=this.chartHeight,l=this.chartWidth;U(r,{overflow:"hidden"}),this.styledMode||(t=R({position:"relative",overflow:"hidden",width:l+"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 c=Mt("div",{id:o},t,r);this.container=c,this.getChartSize(),l!==this.chartWidth&&(l=this.chartWidth,this.styledMode||U(c,{width:T(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let d=i.renderer||!nr?Ce.getRendererType(i.renderer):ce;if(this.renderer=new d(c,l,n,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),li(void 0,this),this.setClassName(i.className),this.styledMode)for(let p in e.defs)this.renderer.definition(e.defs[p]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,P(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?.display&&this.legend.adjustMargins(i,e),P(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),Os.forEach((r,a)=>{E(s[a])||(t[r]+=e[a])}),t.setChartSize()}getOptions(){return ve(this.userOptions,di)}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)&&(Hi(e.reflowTimeout),e.reflowTimeout=Bt(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=F(ci,"resize",e);F(this,"destroy",i)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,li(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:l=0,scrollablePixelsY:c=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(r?hi:U)(s.container,{width:`${a+l}px`,height:`${n+c}px`},r),s.setChartSize(!0),o.setSize(a,n,r),s.axes.forEach(function(d){d.isDirty=!0,d.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,P(s,"resize"),setTimeout(()=>{s&&P(s,"endResize")},rr(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:a,inverted:n,spacing:l,renderer:c}=this,d=this.clipOffset,p=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=c.spacingBox={x:l[3],y:l[0],width:a-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=c.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:p(d[3]),y:p(d[0]),width:p(this.plotSizeX-d[1]-d[3]),height:p(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(g){g.setAxisSize(),g.setAxisTranslation()}),c.alignElements()),P(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){P(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=_(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach((n,l)=>{t[o][l]=e[`${o}${n}`]??a[l]})}),Os.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,l=t.plotBackgroundImage,c=this.plotLeft,d=this.plotTop,p=this.plotWidth,g=this.plotHeight,x=this.plotBox,f=this.clipRect,u=this.clipBox,m=this.chartBackground,y=this.plotBackground,b=this.plotBorder,k,v,w,M="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),M="attr"),o?k=v=m.strokeWidth():(v=(k=t.borderWidth||0)+8*!!t.shadow,w={fill:a||"none"},(k||m["stroke-width"])&&(w.stroke=t.borderColor,w["stroke-width"]=k),m.attr(w).shadow(t.shadow)),m[M]({x:v/2,y:v/2,width:i-v-k%2,height:s-v-k%2,r:t.borderRadius}),M="animate",y||(M="attr",this.plotBackground=y=e.rect().addClass("highcharts-plot-background").add()),y[M](x),!o&&(y.attr({fill:n||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(x)):this.plotBGImage=e.image(l,c,d,p,g).add())),f?f.animate({width:u.width,height:u.height}):this.clipRect=e.clipRect(u),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(x,-b.strokeWidth())),this.isDirtyBox=!1,P(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=pi[o.type],i=o[a]||e&&e.prototype[a],t=r?.length;!i&&t--;)(e=pi[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=K(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)}),P(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=c=>{c.forEach(d=>{d.visible&&d.render()})},r=0,a=!0,n,l=0;for(let c of(this.setTitle(),P(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:d}=c,{labels:p}=d;if(this.hasCartesianSeries&&c.horiz&&c.visible&&p.enabled&&c.series.length&&c.coll!=="colorAxis"&&!this.polar){r=d.tickLength,c.createGroups();let g=new re(c,0,"",!0),x=g.createLabel("x",p);if(g.destroy(),x&&T(p.reserveSpace,!A(d.crossing))&&(r=x.getBBox().height+p.distance+Math.max(d.offset||0,0)),r){x?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(a||n||s>1)&&l<s;){let c=this.plotWidth,d=this.plotHeight,p=[1.05,1.1];for(let g of t){let x=+(g.horiz||0);if(l===0){g.setScale();let f=g.tickPositions?.info?.match;f&&(p[x]=Math.min(f,p[x]))}else(x&&a||!x&&n)&&g.setTickInterval(!0)}l===0?this.getAxisMargins():this.getMargins(),a=c/this.plotWidth>(l?1:p[1]),n=d/this.plotHeight>(l?1:p[0]),l++}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=N(!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){P(e,"creditsClick",s,()=>{i.href&&(ci.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),i.events?.click&&F(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(P(e,"destroy"),e.renderer.forExport?Et(Jt,e):Jt[e.index]=void 0,C.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),Dt(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,Dt(o),r&&Ue(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=it(e.series)?e.series:[];e.series=[],i.forEach(function(s){t.initSeries(s)}),t.linkSeries(),t.setSortedData(),P(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),P(this,"load"),P(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||ht('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&&ci.getComputedStyle(this.container).zIndex!=="0"&&ht(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=T(e,!0),P(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),P(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 pe(this,e.axis,t);return T(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&&U(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=Mt("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=Mt("span",{className:"highcharts-loading-inner"},null,a),F(e,"redraw",r)),a.className="highcharts-loading",ct.setElementHTML(n,T(t,i.lang.loading,"")),!e.styledMode&&(U(a,R(o,{zIndex:10})),U(n,s?.labelStyle??{}),e.loadingShown||(U(a,{opacity:0,display:""}),hi(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||hi(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){U(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,a,n=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},c=t.isResponsiveOptions,d=[];P(n,"update",{options:t}),c||n.setResponsive(!1,!0),t=ve(t,n.options),n.userOptions=N(n.userOptions,t);let p=t.chart;p&&(N(!0,n.options.chart,p),this.setZoomOptions(),"className"in p&&n.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(n.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&Ls(this,p),j(p,function(f,u){n.propsRequireUpdateSeries.indexOf("chart."+u)!==-1&&(r=!0),n.propsRequireDirtyBox.indexOf(u)!==-1&&(n.isDirtyBox=!0),n.propsRequireReflow.indexOf(u)!==-1&&(n.isDirtyBox=!0,c||(a=!0))}),!n.styledMode&&p.style&&n.renderer.setStyle(n.options.chart.style||{})),!n.styledMode&&t.colors&&(this.options.colors=t.colors),j(t,function(f,u){n[u]&&typeof n[u].update=="function"?n[u].update(f,!1):typeof n[l[u]]=="function"?n[l[u]](f):u!=="colors"&&n.collectionsWithUpdate.indexOf(u)===-1&&N(!0,n.options[u],t[u]),u!=="chart"&&n.propsRequireUpdateSeries.indexOf(u)!==-1&&(r=!0)}),this.collectionsWithUpdate.forEach(f=>
2{t[f]&&(yt(t[f]).forEach((u,m)=>{let y;if(!u)return;let b=E(u.id);b&&(y=n.get(u.id)),!y&&n[f]&&(y=n[f][T(u.index,m)])&&(b&&E(y.options.id)||y.options.isInternal)&&(y=void 0),y&&y.coll===f&&(y.update(u,!1),i&&(y.touched=!0)),!y&&i&&n.collectionsWithInit[f]&&(n.collectionsWithInit[f][0].apply(n,[u].concat(n.collectionsWithInit[f][1]||[]).concat([!1])).touched=!0)}),i&&n[f].forEach(u=>{u.touched||u.options.isInternal?delete u.touched:d.push(u)}))}),d.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 g=p?.width,x=p&&(K(p.height)?mt(p.height,g||n.chartWidth):p.height);a||A(g)&&g!==n.chartWidth||A(x)&&x!==n.chartHeight?n.setSize(g,x,s):T(e,!0)&&n.redraw(s),P(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=di.lang,i=t.zooming.resetButton,s=i.theme,o=i.relativeTo==="chart"||i.relativeTo==="spacingBox"?null:"plotBox";function r(){t.zoomOut()}P(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)}),P(this,"afterShowResetZoom")}zoomOut(){P(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),P(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"}),U(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:a={},trigger:n,allowResetButton:l=!0}=t,{inverted:c,time:d}=this;this.hoverPoints?.forEach(f=>f.setState()),P(this,"transform",t);let p=t.hasZoomed||!1,g,x;for(let f of e){let{horiz:u,len:m,minPointOffset:y=0,options:b,reversed:k}=f,v=u?"width":"height",w=u?"x":"y",M=T(a[v],f.len),S=T(s[v],f.len),O=10>Math.abs(M)?1:M/S,I=(s[w]||0)+S/2-f.pos,L=I-((a[w]??f.pos)+M/2-f.pos)/O,D=k&&!c||!k&&c?-1:1;if(!o&&(I<0||I>f.len))continue;let B=f.chart.polar||f.isOrdinal?0:y*D||0,z=f.toValue(L,!0),H=f.toValue(L+m/O,!0),W=z+B,X=H-B,et=f.allExtremes;if(r&&r[f.coll].push({axis:f,min:Math.min(z,H),max:Math.max(z,H)}),W>X&&([W,X]=[X,W]),O===1&&!o&&f.coll==="yAxis"&&!et){for(let Xt of f.series){let wt=Xt.getExtremes(Xt.getProcessedData(!0).modified.getColumn(Xt.pointValKey||"y")||[],!0);et??(et={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),A(wt.dataMin)&&A(wt.dataMax)&&(et.dataMin=Math.min(wt.dataMin,et.dataMin),et.dataMax=Math.max(wt.dataMax,et.dataMax))}f.allExtremes=et}let{dataMin:Q,dataMax:vt,min:G,max:Y}=R(f.getExtremes(),et||{}),Z=d.parse(b.min),V=d.parse(b.max),q=Q??Z,lt=vt??V,J=X-W,ot=f.categories?0:Math.min(J,lt-q),dt=q-ot*(E(Z)?0:b.minPadding),kt=lt+ot*(E(V)?0:b.maxPadding),_t=f.allowZoomOutside||O===1||n!=="zoom"&&O>1,Lt=Math.min(Z??dt,dt,_t?G:dt),pt=Math.max(V??kt,kt,_t?Y:kt);(!f.isOrdinal||O!==1||o)&&(W<Lt&&(W=Lt,O>=1&&(X=W+J)),X>pt&&(X=pt,O>=1&&(W=X-J)),(o||f.series.length&&(W!==G||X!==Y)&&W>=Lt&&X<=pt)&&(r?r[f.coll].push({axis:f,min:W,max:X}):(f.isPanning=n!=="zoom",f.isPanning&&n!=="mousewheel"&&(x=!0),f.setExtremes(o?void 0:W,o?void 0:X,!1,!1,{move:L,trigger:n,scale:O}),!o&&(W>Lt||X<pt)&&(g=l)),p=!0),this.hasCartesianSeries||o||(g=l),i&&(this[u?"mouseDownX":"mouseDownY"]=i[u?"chartX":"chartY"]))}return p&&(r?P(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!g||x||this.resetZoomButton?!g&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(n==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),p}};R(Vt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Vt.prototype.addAxis,[!0]],yAxis:[Vt.prototype.addAxis,[!1]],series:[Vt.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"]});var{stop:hr}=ut,{composed:lr}=C;function dr(){let h=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!h&&(this.scrollablePlotArea=h=new Zs(this)),h?.applyFixed()}function Es(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}var Zs=(()=>{class h{static compose(e,i,s){It(lr,this.compose)&&(F(e,"afterInit",Es),F(i,"afterSetChartSize",o=>this.afterSetSize(o.target,o)),F(i,"render",dr),F(s,"show",Es))}static afterSetSize(e,i){let s,o,r,{minWidth:a,minHeight:n}=e.options.chart.scrollablePlotArea||{},{clipBox:l,plotBox:c,inverted:d,renderer:p}=e;if(!p.forExport)if(a?(e.scrollablePixelsX=s=Math.max(0,a-e.chartWidth),s&&(e.scrollablePlotBox=N(e.plotBox),c.width=e.plotWidth+=s,l[d?"height":"width"]+=s,r=!0)):n&&(e.scrollablePixelsY=o=Math.max(0,n-e.chartHeight),E(o)&&(e.scrollablePlotBox=N(e.plotBox),c.height=e.plotHeight+=o,l[d?"width":"height"]+=o,r=!1)),E(r)){if(!i.skipAxes)for(let g of e.axes)(g.horiz===r||e.hasParallelCoordinates&&g.coll==="yAxis")&&(g.setAxisSize(),g.setAxisTranslation())}else delete e.scrollablePlotBox}constructor(e){let i,s=e.options.chart,o=Ce.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 l=this.parentDiv=Mt("div",{className:"highcharts-scrolling-parent"},{position:"relative"},e.renderTo),c=this.scrollingContainer=Mt("div",{className:"highcharts-scrolling"},n,l),d=this.innerContainer=Mt("div",{className:"highcharts-inner-container"},void 0,c),p=this.fixedDiv=Mt("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),g=this.fixedRenderer=new o(p,e.chartWidth,e.chartHeight,s.style);this.mask=g.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),c.parentNode.insertBefore(p,c),U(e.renderTo,{overflow:"visible"}),F(e,"afterShowResetZoom",a),F(e,"afterApplyDrilldown",a),F(e,"afterLayOutTitles",a),F(c,"scroll",()=>{let{pointer:x,hoverPoint:f}=e;x&&(delete x.chartPosition,f&&(i=f),x.runPointActions(void 0,i,!0))}),d.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:i,isDirty:s,scrollingContainer:o}=this,{axisOffset:r,chartWidth:a,chartHeight:n,container:l,plotHeight:c,plotLeft:d,plotTop:p,plotWidth:g,scrollablePixelsX:x=0,scrollablePixelsY:f=0}=e,{scrollPositionX:u=0,scrollPositionY:m=0}=e.options.chart.scrollablePlotArea||{},y=a+x,b=n+f;i.setSize(a,n),(s??!0)&&(this.isDirty=!1,this.moveFixedElements()),hr(e.container),U(l,{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}),U(o,{width:`${a}px`,height:`${n}px`}),E(s)||(o.scrollLeft=x*u,o.scrollTop=f*m);let k=p-r[0]-1,v=d-r[3]-1,w=p+c+r[2]+1,M=d+g+r[1]+1,S=d+g-x,O=p+c-f,I=[["M",0,0]];x?I=[["M",0,k],["L",d-1,k],["L",d-1,w],["L",0,w],["Z"],["M",S,k],["L",a,k],["L",a,w],["L",S,w],["Z"]]:f&&(I=[["M",v,0],["L",v,p-1],["L",M,p-1],["L",M,0],["Z"],["M",v,O],["L",v,n],["L",M,n],["L",M,O],["Z"]]),e.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:I})}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 l of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])It(n,l);else for(let l of[".highcharts-xaxis",".highcharts-yaxis"])for(let c of[`${l}:not(.highcharts-radial-axis)`,`${l}-labels:not(.highcharts-radial-axis-labels)`])Et(n,c);for(let l of n)[].forEach.call(i.querySelectorAll(l),c=>{(c.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(c),c.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:cr}=Pt,{series:pr}=at,Ks=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(){Zt(this,this.axis)}render(h){let t=this.axis.chart,e=this.options,i=e.format,s=(i?cr(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:T(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)}
2this.label.labelrank=t.plotSizeY,P(this,"afterRender")}setOffset(h,t,e,i,s,o){let{alignOptions:r,axis:a,label:n,options:l,textAlign:c}=this,d=a.chart,p=this.getStackBox({xOffset:h,width:t,boxBottom:e,boxTop:i,defaultX:s,xAxis:o}),{verticalAlign:g}=r;if(n&&p){let x=n.getBBox(void 0,0),f=n.padding,u=T(l.overflow,"justify")==="justify",m;r.x=l.x||0,r.y=l.y||0;let{x:y,y:b}=this.adjustStackPosition({labelBox:x,verticalAlign:g,textAlign:c});p.x-=y,p.y-=b,n.align(r,!1,p),(m=d.isInsidePlot(n.alignAttr.x+r.x+y,n.alignAttr.y+r.y+b))||(u=!1),u&&pr.prototype.justifyDataLabel.call(a,n,r,n.alignAttr,x,p),n.attr({x:n.alignAttr.x,y:n.alignAttr.y,rotation:l.rotation,rotationOriginX:x.width*bt(l.textAlign||"center"),rotationOriginY:x.height/2}),T(!u&&l.crop,!0)&&(m=A(n.x)&&A(n.y)&&d.isInsidePlot(n.x-f+(n.width||0),n.y)&&d.isInsidePlot(n.x+f,n.y)),n[m?"show":"hide"]()}P(this,"afterSetOffset",{xOffset:h,width:t})}adjustStackPosition({labelBox:h,verticalAlign:t,textAlign:e}){return{x:h.width/2+h.width/2*(2*bt(e)-1),y:h.height/2*2*(1-bt(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:T(i,this.total,0),l=t.toPixels(n),c=h.xAxis||e.xAxis[0],d=T(s,c.translate(this.x))+o,p=Math.abs(l-t.toPixels(a||A(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),g=e.inverted,x=this.isNegative;return g?{x:(x?l:l-p)-e.plotLeft,y:c.height-d-r+c.top-e.plotTop,width:p,height:r}:{x:d+c.transB-e.plotLeft,y:(x?l-p:l)-e.plotTop,width:r,height:p}}},{getDeferredAnimation:gr}=ut,{series:{prototype:ur}}=at;function fr(){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||{};
2t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,T(t.options.stack,""),h?e.top:e.left,h?e.height:e.width].join(","))})}function mr(){let h=this.stacking;if(h){let t=h.stacks;j(t,(e,i)=>{Zt(e),delete t[i]}),h.stackTotalGroup?.destroy()}}function xr(){this.stacking||(this.stacking=new Ri(this))}function yr(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 br(){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"];a&&[i,"-"+i].forEach(n=>{let l=o.length,c,d,p;for(;l--;)c=o[l],h=t.getStackIndicator(h,c,t.index,n),d=s[n]?.[c],(p=d?.points[h.key||""])&&a.call(t,p,d,l)})}function vr(h,t,e){let i=t.total?100/t.total:0;h[0]=st(h[0]*i),h[1]=st(h[1]*i),this.stackedYData[e]=h[1]}function kr(h){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?ur.setStackedPoints.call(this,h,"group"):h.stacking.resetStacks())}function wr(h,t){let e,i,s,o,r,a,n,l=t||this.options.stacking;if(!l||!this.reserveSpace()||({group:"xAxis"}[l]||"yAxis")!==h.coll)return;let c=this.getColumn("x",!0),d=this.getColumn(this.pointValKey||"y",!0),p=[],g=d.length,x=this.options,f=x.threshold||0,u=x.startFromThreshold?f:0,m=x.stack,y=t?`${this.type},${l}`:this.stackKey||"",b="-"+y,k=this.negStacks,v=h.stacking,w=v.stacks,M=v.oldStacks;for(v.stacksTouched+=1,n=0;n<g;n++){let S=c[n]||0,O=d[n],I=A(O)&&O||0;a=(e=this.getStackIndicator(e,S,this.index)).key||"",w[r=(i=k&&I<(u?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 Ks(h,h.options.stackLabels,!!i,S,m)),s=w[r][S],O!==null?(s.points[a]=s.points[this.index]=[T(s.cumulative,u)],E(s.cumulative)||(s.base=a),s.touched=v.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 L=s.total||0;l==="percent"?(o=i?y:b,L=k&&w[o]?.[S]?(o=w[o][S]).total=Math.max(o.total||0,L)+Math.abs(I):st(L+Math.abs(I))):l==="group"?A(O)&&L++:L=st(L+I),l==="group"?s.cumulative=(L||1)-1:s.cumulative=st(T(s.cumulative,u)+I),s.total=L,O!==null&&(s.points[a].push(s.cumulative),p[n]=s.cumulative,s.hasValidPoints=!0)}l==="percent"&&(v.usePercentage=!0),l!=="group"&&(this.stackedYData=p),v.oldStacks={}}var Ri=class{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();P(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)=>{A(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=gr(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)}};(Ti||(Ti={})).compose=function(h,t,e){let i=t.prototype,s=e.prototype;i.getStacks||(F(h,"init",xr),F(h,"destroy",mr),i.getStacks=fr,s.getStackIndicator=yr,s.modifyStacks=br,s.percentStacker=vr,s.setGroupedPoints=kr,s.setStackedPoints=wr)};var Mr=Ti,Fe=class extends St{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",l=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"},l?r.dashstyle=l:t.linecap!=="square"&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),a[n](r),t.shadow)){let c=this.chart.inverted,d={filterUnits:"userSpaceOnUse"},p=_(t.shadow)?N(c?{}:d,t.shadow):!!c||d;a.shadow(p)}a&&(a.startX=e.xMap,a.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],a=[],n,l=o.step,c=(t=t||s.points).reversed;return c&&t.reverse(),(l={right:1,center:2}
vendor: 4,432 bytes, line 2
2[l]||l&&3)&&c&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(d,p){let g,x=d.plotX,f=d.plotY,u=t[p-1],m=d.isNull||typeof f!="number";(d.leftCliff||u?.rightCliff)&&!i&&(n=!0),m&&!E(e)&&p>0?n=!o.connectNulls:m&&!e?n=!0:(p===0||n?g=[["M",d.plotX,d.plotY]]:s.getPointSpline?g=[s.getPointSpline(t,d,p)]:l?(g=l===1?[["L",u.plotX,f]]:l===2?[["L",(u.plotX+x)/2,u.plotY],["L",(u.plotX+x)/2,f]]:[["L",x,u.plotY]]).push(["L",x,f]):g=[["L",x,f]],a.push(d.x),l&&(a.push(d.x),l===2&&a.push(d.x)),r.push.apply(r,g),n=!1)}),r.xMap=a,s.graphPath=r,r}};Fe.defaultOptions=N(St.defaultOptions,{legendSymbol:"lineMarker"}),at.registerSeriesType("line",Fe);var{seriesTypes:{line:Wi}}=at,me=class extends Wi{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=Wi.prototype.getGraphPath,r=this.options,a=r.stacking,n=this.yAxis,l=[],c=[],d=this.index,p=n.stacking.stacks[this.stackKey],g=r.threshold,x=Math.round(n.getThreshold(r.threshold)),f=T(r.connectNulls,a==="percent"),u=function(w,M,S){let O=t[w],I=t[M],L=a&&p[O.x].points[d],D=O[S+"Null"]||0,B=O[S+"Cliff"]||0,z,H,W=!0;L&&(B||D)?(z=(D?L[0]:L[1])+B,H=L[0]+B,W=!!D):!a&&I&&(I.isNull||!E(I.plotY))&&(z=H=g),z!==void 0&&(c.push({plotX:e,plotY:z===null?x:n.getThreshold(z),isNull:W,isCliff:!0}),l.push({plotX:e,plotY:H===null?x:n.getThreshold(H),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=T(t[w].rectPlotX,t[w].plotX),s=a?T(t[w].yBottom,x):x,(!i||f)&&(f||u(w,w-1,"left"),i&&!a&&f||(c.push(t[w]),l.push({x:w,plotX:e,plotY:s})),f||u(w,w+1,"right"));let m=o.call(this,c,!0,!0);l.reversed=!0;let y=o.call(this,l,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let k=m.concat(y);k.length&&k.push(["Z"]);let v=o.call(this,c,!1,f);return this.chart.series.length>1&&a&&c.some(w=>w.isCliff)&&(k.hasStackedCliffs=v.hasStackedCliffs=!0),k.xMap=m.xMap,this.areaPath=k,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,a=r.stacking.stacks[this.stackKey],n={},l=r.series,c=l.length,d=r.options.reversedStacks?1:-1,p=l.indexOf(e),g=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,u){f.total!==null&&s.push(u)}),s.sort(function(f,u){return f-u});let x=l.map(f=>f.visible);s.forEach(function(f,u){let m=0,y,b;if(n[f]&&!n[f].isNull)i.push(n[f]),[-1,1].forEach(function(k){let v=k===1?"rightNull":"leftNull",w=a[s[u+k]],M=0;if(w){let S=p;for(;S>=0&&S<c;){let O=l[S].index;!(y=w.points[O])&&(O===e.index?n[f][v]=!0:x[S]&&(b=a[f].points[O])&&(M-=b[1]-b[0])),S+=d}}n[f][k===1?"rightCliff":"leftCliff"]=M});else{let k=p;for(;k>=0&&k<c;){let w=l[k].index;if(y=a[f].points[w]){m=y[1];break}k+=d}m||(m=0);let v=r.positiveValuesOnly&&m<=0?g:r.translate(m,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(f,!1,!1,!1,!0),x:f,plotY:v,yBottom:v})}})}return i}};me.defaultOptions=N(Wi.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),R(me.prototype,{singleStacks:!1}),at.registerSeriesType("area",me);var{line:qs}=at.seriesTypes,Te=class extends qs{getPointSpline(t,e,i){let s,o,r,a,n=e.plotX||0,l=e.plotY||0,c=t[i-1],d=t[i+1];function p(x){return x&&!x.isNull&&x.doCurve!==!1&&!e.isCliff}if(p(c)&&p(d)){let x=c.plotX||0,f=c.plotY||0,u=d.plotX||0,m=d.plotY||0,y=0;s=(1.5*n+x)/2.5,o=(1.5*l+f)/2.5,r=(1.5*n+u)/2.5,a=(1.5*l+m)/2.5,r!==s&&(y=(a-o)*(r-n)/(r-s)+l-a),o+=y,a+=y,o>f&&o>l?(o=Math.max(f,l),a=2*l-o):o<f&&o<l&&(o=Math.min(f,l),a=2*l-o),a>m&&a>l?(a=Math.max(m,l),o=2*l-a):a<m&&a<l&&(a=Math.min(m,l),o=2*l-a),e.rightContX=r,e.rightContY=a,e.controlPoints={low:[s,o],high:[r,a]}}let g=["C",T(c.rightContX,c.plotX,0),T(c.rightContY,c.plotY,0),T(s,n,0),T(o,l,0),n,l];
2return c.rightContX=c.rightContY=void 0,g}};Te.defaultOptions=N(qs.defaultOptions),at.registerSeriesType("spline",Te);var Js=Te,{area:Sr,area:{prototype:gi}}=at.seriesTypes,xe=class extends Js{};xe.defaultOptions=N(Js.defaultOptions,Sr.defaultOptions),R(xe.prototype,{getGraphPath:gi.getGraphPath,getStackPoints:gi.getStackPoints,drawGraph:gi.drawGraph}),at.registerSeriesType("areaspline",xe);var{animObject:Tr}=ut,{parse:Cr}=xt,{noop:Ar}=C,he=class extends St{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,a=o.reversed,n=s.options,{clipOffset:l,inverted:c}=this.chart,d={},p=c?"translateX":"translateY";t&&l?(d.scaleY=.001,i=nt(o.toPixels(n.threshold||0),r,r+o.len),c?d.translateX=(i+=a?-Math.floor(l[0]):Math.ceil(l[2]))-o.len:d.translateY=i+=a?Math.ceil(l[0]):-Math.floor(l[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(p)),s.group.animate({scaleY:1},R(Tr(s.options.animation),{step:function(g,x){s.group&&(d[p]=e+x.pos*(r-e),s.group.attr(d))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(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,l=0;e.grouping===!1?l=1:t.chart.series.forEach(function(f){let u,m=f.yAxis,y=f.options;f.type===t.type&&f.reserveSpace()&&s.len===m.len&&s.pos===m.pos&&(y.stacking&&y.stacking!=="group"?(a[n=f.stackKey]===void 0&&(a[n]=l++),u=a[n]):y.grouping!==!1&&(u=l++),f.columnIndex=u)});let c=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=c*e.groupPadding,p=(c-2*d)/(l||1),g=Math.min(e.maxPointWidth||i.len,T(e.pointWidth,p*(1-2*e.pointPadding))),x=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:g,offset:(p-g)/2+(d+x*p-c/2)*(r?-1:1),paddedWidth:p,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=Ct(e+s,o,r)-(e=Ct(e,o,r)),this.options.crisp&&(i=Ct(t+i,o)-(t=Ct(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(l=>l.visible).map(l=>l.index),r=0,a=0;j(this.xAxis.stacking?.stacks,l=>{let c=typeof i.x=="number"?l[i.x.toString()]?.points:void 0,d=c?.[this.index],p={};if(c&&it(d)){let g=this.index,x=Object.keys(c).filter(f=>!f.match(",")&&c[f]&&c[f].length>1).map(parseFloat).filter(f=>o.indexOf(f)!==-1).filter(f=>{let u=this.chart.series[f].options,m=u.stacking&&u.stack;
2if(E(m)){if(A(p[m]))return g===f&&(g=p[m]),!1;p[m]=f}return!0}).sort((f,u)=>u-f);r=x.indexOf(g),a=x.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,l=i.minPointLength??5,c=t.getColumnMetrics(),d=c.width,p=t.pointXOffset=c.offset,g=t.dataMin,x=t.dataMax,f=t.translatedThreshold=a.getThreshold(n),u=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(u=Math.ceil(u)),St.prototype.translate.apply(t),t.points.forEach(function(m){let y=m.yBottom??f,b=999+Math.abs(y),k=m.plotX||0,v=nt(m.plotY,-b,a.len+b),w,M=Math.min(v,y),S=Math.max(v,y)-M,O=d,I=k+p,L=u;l&&Math.abs(S)<l&&(S=l,w=!a.reversed&&!m.negative||a.reversed&&m.negative,A(n)&&A(x)&&m.y===n&&x<=n&&(a.min||0)<n&&(g!==x||(a.max||0)<=n)&&(w=!w,m.negative=!m.negative),M=Math.abs(M-f)>l?y-(w?l:0):f-(w?l:0)),E(m.options.pointWidth)&&(I-=Math.round(((O=L=Math.ceil(m.options.pointWidth))-d)/2)),i.centerInCategory&&(I=t.adjustForMissingColumns(I,O,m,c)),m.barX=I,m.pointWidth=O,m.tooltipPos=e.inverted?[nt(a.len+a.pos-e.plotLeft-v,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),r.len+r.pos-e.plotTop-I-L/2,S]:[r.left-e.plotLeft+I+L/2,nt(v+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),S],m.shapeType=t.pointClass.prototype.shapeType||"roundedRect",m.shapeArgs=t.crispCol(I,M,L,m.isNull?0:S)}),P(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,l,c=t&&t.color||this.color,d=t&&t[o]||i[o]||c,p=t&&t.options.dashStyle||i.dashStyle,g=t&&t[r]||i[r]||this[r]||0,x=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(n=t.getZone(),c=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(d=n.borderColor||d,p=n.dashStyle||p,g=n.borderWidth||g)),e&&t&&(l=(a=N(i.states[e],t.options.states?.[e]||{})).brightness,c=a.color||l!==void 0&&Cr(c).brighten(a.brightness).get()||c,d=a[o]||d,g=a[r]||g,p=a.dashStyle||p,x=T(a.opacity,x));let f={fill:c,stroke:d,"stroke-width":g,opacity:x};return p&&(f.dashstyle=p),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(l){let c=l.plotY,d=l.graphic,p=!!d,g=d&&s.pointCount<n?"animate":"attr";A(c)&&(l.y!==null||r)?(e=l.shapeArgs,d&&l.hasNewShapeType()&&(d=d.destroy()),i.enabledDataSorting&&(l.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!d&&(l.graphic=d=a[l.shapeType](e).add(l.group||i.group),d&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(d.attr({x:l.startXPos}),p=!0,g="animate")),d&&p&&d[g](N(e)),s.styledMode||d[g](i.pointAttribs(l,l.selected&&"select")).shadow(l.allowShadow!==!1&&o.shadow),d&&(d.addClass(l.getClassName(),!0),d.attr({visibility:l.visible?"inherit":"hidden"}))):d&&(l.graphic=d.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=it(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),P(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(i){i.type===t.type&&(i.isDirty=!0)}),St.prototype.remove.apply(t,arguments)}};he.defaultOptions=N(St.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"}),R(he.prototype,{directTouch:!0,getSymbol:Ar,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),at.registerSeriesType("column",he);var je=he,{getDeferredAnimation:Pr}=ut,{format:Lr}=Pt;(function(h){function t(){return n(this).some(c=>c?.enabled)}function e(c,d,p,g,x){let{chart:f,enabledDataSorting:u}=this,m=this.isCartesian&&f.inverted,y=c.plotX,b=c.plotY,k=p.rotation||0,v=E(y)&&E(b)&&f.isInsidePlot(y,Math.round(b),{inverted:m,paneCoordinates:!0,series:this}),w=k===0&&T(p.overflow,u?"none":"justify")==="justify",M=this.visible&&c.visible!==!1&&E(y)&&(c.series.forceDL||u&&!w||v||T(p.inside,!!this.options.stacking)&&g&&f.isInsidePlot(y,m?g.x+1:g.y+g.height-1,{inverted:m,paneCoordinates:!0,series:this})),S=c.pos();if(M&&S){var O;let I=d.getBBox(),L=d.getBBox(void 0,0);if(g=R({x:S[0],y:Math.round(S[1]),width:0,height:0},g||{}),p.alignTo==="plotEdges"&&this.isCartesian&&(g[m?"x":"y"]=0,g[m?"width":"height"]=this.yAxis?.len||0),R(p,{width:I.width,height:I.height}),O=g,u&&this.xAxis&&!w&&this.setDataLabelStartPos(c,d,x,v,O),d.align(N(p,{width:L.width,height:L.height}),!1,g,!1),d.alignAttr.x+=bt(p.align)*(L.width-I.width),d.alignAttr.y+=bt(p.verticalAlign)*(L.height-I.height),d[d.placed?"animate":"attr"]({"text-align":d.alignAttr["text-align"]||"center",x:d.alignAttr.x+(I.width-L.width)/2,y:d.alignAttr.y+(I.height-L.height)/2,rotationOriginX:(d.width||0)/2,rotationOriginY:(d.height||0)/2}),w&&g.height>=0)this.justifyDataLabel(d,p,d.alignAttr,I,g,x);else if(T(p.crop,!0)){let{x:D,y:B}=d.alignAttr;M=f.isInsidePlot(D,B,{paneCoordinates:!0,series:this})&&f.isInsidePlot(D+I.width-1,B+I.height-1,{paneCoordinates:!0,series:this})}p.shape&&!k&&d[x?"attr":"animate"]({anchorX:S[0],anchorY:S[1]})}x&&u&&(d.placed=!1),M||u&&!w?(d.show(),d.placed=!0):(d.hide(),d.placed=!1)}function i(c,d){P(this,"initDataLabelsGroup",{index:c,zIndex:d?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[c];let p=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",d?.zIndex??6,this.dataLabelsParentGroups?.[c]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[c]=p,this.dataLabelsGroup=this.dataLabelsGroups[0],p}function s(c,d,p){let g=!!this.hasRendered,x=this.initDataLabelsGroup(c,p).attr({opacity:+g});return!g&&x&&(this.visible&&x.show(),this.options.animation?x.animate({opacity:1},d):x.attr({opacity:1})),x}function o(c){let d;c=c||this.points;let p=this,g=p.chart,x=p.options,f=g.renderer,{backgroundColor:u,plotBackgroun
2dColor:m}=g.options.chart,y=f.getContrast(K(m)&&m||K(u)&&u||"#000000"),b=n(p),{animation:k,defer:v}=b[0],w=v?Pr(g,k,p):{defer:0,duration:0};P(this,"drawDataLabels"),p.hasDataLabels?.()&&c.forEach(M=>{let S=M.dataLabels||[],O=M.color||p.color;yt(a(b,M.dlOptions||M.options?.dataLabels)).forEach((L,D)=>{d=this.initDataLabels(D,w,L);let B=L.enabled&&(M.visible||M.dataLabelOnHidden)&&(!M.isNull||M.dataLabelOnNull)&&(function(q,lt){let J=lt.filter;if(J){let ot=J.operator,dt=q[J.property],kt=J.value;return ot===">"&&dt>kt||ot==="<"&&dt<kt||ot===">="&&dt>=kt||ot==="<="&&dt<=kt||ot==="=="&&dt==kt||ot==="==="&&dt===kt||ot==="!="&&dt!=kt||ot==="!=="&&dt!==kt||!1}return!0})(M,L),{backgroundColor:z,borderColor:H,distance:W,style:X={}}=L,et,Q,vt,G={},Y=S[D],Z=!Y,V;B&&(Q=E(et=T(L[M.formatPrefix+"Format"],L.format))?Lr(et,M,g):(L[M.formatPrefix+"Formatter"]||L.formatter).call(M,L,M),vt=L.rotation,!g.styledMode&&(X.color=T(L.color,X.color,K(p.color)?p.color:void 0,"#000000"),X.color==="contrast"?(z!=="none"&&(V=z),M.contrastColor=f.getContrast(V!=="auto"&&K(V)&&V||(K(O)?O:"")),X.color=V||!E(W)&&L.inside||0>rt(W||0)||x.stacking?M.contrastColor:y):delete M.contrastColor,x.cursor&&(X.cursor=x.cursor)),G={r:L.borderRadius||0,rotation:vt,padding:L.padding,zIndex:1},g.styledMode||(G.fill=z==="auto"?M.color:z,G.stroke=H==="auto"?M.color:H,G["stroke-width"]=L.borderWidth),j(G,(q,lt)=>{q===void 0&&delete G[lt]})),!Y||B&&E(Q)&&!!(Y.div||Y.text?.foreignObject)==!!L.useHTML&&(Y.rotation&&L.rotation||Y.rotation===L.rotation)||(Y=void 0,Z=!0),B&&E(Q)&&Q!==""&&(Y?G.text=Q:(Y=f.label(Q,0,0,L.shape,void 0,void 0,L.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+M.colorIndex+" "+(L.className||"")+(L.useHTML?" highcharts-tracker":"")),Y&&(Y.options=L,Y.attr(G),g.styledMode?X.width&&Y.css({width:X.width,textOverflow:X.textOverflow,whiteSpace:X.whiteSpace}):Y.css(X).shadow(L.shadow),P(Y,"beforeAddingDataLabel",{labelOptions:L,point:M}),Y.added||Y.add(d),p.alignDataLabel(M,Y,L,void 0,Z),Y.isActive=!0,S[D]&&S[D]!==Y&&S[D].destroy(),S[D]=Y))});let I=S.length;for(;I--;)S[I]?.isActive?S[I].isActive=!1:(S[I]?.destroy(),S.splice(I,1));M.dataLabel=S[0],M.dataLabels=S}),P(this,"afterDrawDataLabels")}function r(c,d,p,g,x,f){let u=this.chart,m=d.align,y=d.verticalAlign,b=c.box?0:c.padding||0,k=u.inverted?this.yAxis:this.xAxis,v=k?k.left-u.plotLeft:0,w=u.inverted?this.xAxis:this.yAxis,M=w?w.top-u.plotTop:0,{x:S=0,y:O=0}=d,I,L;return(I=(p.x||0)+b+v)<0&&(m==="right"&&S>=0?(d.align="left",d.inside=!0):S-=I,L=!0),(I=(p.x||0)+g.width-b+v)>u.plotWidth&&(m==="left"&&S<=0?(d.align="right",d.inside=!0):S+=u.plotWidth-I,L=!0),(I=p.y+b+M)<0&&(y==="bottom"&&O>=0?(d.verticalAlign="top",d.inside=!0):O-=I,L=!0),(I=(p.y||0)+g.height-b+M)>u.plotHeight&&(y==="top"&&O<=0?(d.verticalAlign="bottom",d.inside=!0):O+=u.plotHeight-I,L=!0),L&&(d.x=S,d.y=O,c.placed=!f,c.align(d,void 0,x)),L}function a(c,d){let p=[],g;if(it(c)&&!it(d))p=c.map(function(x){return N(x,d)});else if(it(d)&&!it(c))p=d.map(function(x){return N(c,x)});else if(it(c)||it(d)){if(it(c)&&it(d))for(g=Math.max(c.length,d.length);g--;)p[g]=N(c[g],d[g])}else p=N(c,d);return p}function n(c){let d=c.chart.options.plotOptions;return yt(a(a(d?.series?.dataLabels,d?.[c.type]?.dataLabels),c.options.dataLabels))}function l(c,d,p,g,x){let f=this.chart,u=f.inverted,m=this.xAxis,y=m.reversed,b=((u?d.height:d.width)||0)/2,k=c.pointWidth,v=k?k/2:0;d.startXPos=u?x.x:y?-b-v:m.width-b+v,d.startYPos=u?y?this.yAxis.height-b+v:-b-v:x.y,g?d.visibility==="hidden"&&(d.show(),d.attr({opacity:0}).animate({opacity:1})):d.attr({opacity:1}).animate({opacity:0}
2,void 0,d.hide),f.hasRendered&&(p&&d.attr({x:d.startXPos,y:d.startYPos}),d.placed=!0)}h.compose=function(c){let d=c.prototype;d.initDataLabels||(d.initDataLabels=s,d.initDataLabelsGroup=i,d.alignDataLabel=e,d.drawDataLabels=o,d.justifyDataLabel=r,d.mergeArrays=a,d.setDataLabelStartPos=l,d.hasDataLabels=t)}})(Ci||(Ci={}));var $e=Ci,{composed:Or}=C,{series:_s}=at;function Er(h,t,e,i,s){let{chart:o,options:r}=this,a=o.inverted,n=this.xAxis?.len||o.plotSizeX||0,l=this.yAxis?.len||o.plotSizeY||0,c=h.dlBox||h.shapeArgs,d=h.below??(h.plotY||0)>(this.translatedThreshold??l),p=e.inside??!!r.stacking;if(c){if(i=N(c),e.overflow!=="allow"||e.crop!==!1||r.clip!==!1){i.y<0&&(i.height+=i.y,i.y=0);let g=i.y+i.height-l;g>0&&g<i.height-1&&(i.height-=g)}a&&(i={x:l-i.y-i.height,y:n-i.x-i.width,width:i.height,height:i.width}),p||(a?(i.x+=d?0:i.width,i.width=0):(i.y+=d?i.height:0,i.height=0))}e.align??(e.align=!a||p?"center":d?"right":"left"),e.verticalAlign??(e.verticalAlign=a||p?"middle":d?"top":"bottom"),_s.prototype.alignDataLabel.call(this,h,t,e,i,s),e.inside&&h.contrastColor&&t.css({color:h.contrastColor})}(Ai||(Ai={})).compose=function(h){$e.compose(_s),It(Or,"ColumnDataLabel")&&(h.prototype.alignDataLabel=Er)};var Ir=Ai,ye=class extends je{};ye.defaultOptions=N(je.defaultOptions,{}),R(ye.prototype,{inverted:!0}),at.registerSeriesType("bar",ye);var{column:Dr,line:Qs}=at.seriesTypes,ae=class extends Qs{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()}`,l=t[`${r}Axis`],c=e[r]*l.transA;if(l&&!l.logarithmic){let d,p=Math.max(0,(s[n]||0)-c),g=Math.min(l.len,(s[n]||0)+c);s[n]=p+(g-p)*((d=1e4*Math.sin(o+a*i))-Math.floor(d)),r==="x"&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}};ae.defaultOptions=N(Qs.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/>"}}),R(ae.prototype,{allowOutsidePlotInteraction:!0,drawTracker:Dr.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),F(ae,"afterTranslate",function(){this.applyJitter()}),at.registerSeriesType("scatter",ae);var{deg2rad:Is}=C;(_i=Pi||(Pi={})).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,l=h.size,c=h.innerSize||0,d,p;typeof l=="string"&&(l=parseFloat(l)),typeof c=="string"&&(c=parseFloat(c));let g=[T(o?.[0],"50%"),T(o?.[1],"50%"),T(l&&l<0?void 0:h.size,"100%"),T(c&&c<0?void 0:h.innerSize||0,"0%")];for(!t.angular||this instanceof St||(g[3]=0),d=0;d<4;++d)p=g[d],n=d<2||d===2&&/%$/.test(p),g[d]=mt(p,[i,s,r,g[2]][d])+(n?e:0);return g[3]>g[2]&&(g[3]=g[2]),A(a)&&2*a<g[2]&&a>0&&(g[3]=g[2]-2*a),P(this,"afterGetCenter",{positions:g}),g},_i.getStartAndEndRadians=function(h,t){let e=A(h)?h:0,i=A(t)&&t>e&&t-e<360?t:e+360;return{start:Is*(e+-90),end:Is*(i+-90)}};var to=Pi,{setAnimation:Br}=ut,Ve=class extends Ut{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,ue(Ht({},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")};F(this,"select",s),F(this,"unselect",s)}isValid(){return A(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;Br(i,s.chart),e=T(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())}};R(Ve.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,l]=r.center,c=l/2,{plotLeft:d,plotWidth:p}=r.chart,g=h.alignment==="left",{x,y:f}=h,u=s.x;if(e.crookDistance){let y=mt(e.crookDistance,1);u=g?a+c+(p+d-a-c)*(1-y):d+(a-c)*y}else u=a+(n-f)*Math.tan(i-Math.PI/2);let m=[["M",x,f]];return(g?u<=x&&u>=s.x:u>=x&&u<=s.x)&&m.push(["L",u,f]),m.push(["L",s.x,s.y],["L",o.x,o.y]),m}}});var{getStartAndEndRadians:zr}=to,{noop:Ds}=C,be=class extends St{animate(t){let e=this,i=e.points,s=e.startAngleRad;
vendor: 4,799 bytes, line 2
2t||i.forEach(function(o){let r=o.graphic,a=o.shapeArgs;r&&a&&(r.attr({r:T(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:js.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,l=Math.asin(nt((t-o[1])/(r+n),-1,1));return o[0]+Math.cos(l)*(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||N(!0,n,i),N(!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){P(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=zr(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,a=this.points,n=e.ignoreHiddenPoint,l=a.length,c,d,p,g,x,f,u,m=0;for(t||(this.center=t=this.getCenter()),f=0;f<l;f++){u=a[f],c=o+m*r,u.isValid()&&(!n||u.visible)&&(m+=u.percentage/100),d=o+m*r;let y={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:c,end:d};u.shapeType="arc",u.shapeArgs=y,(p=(d+c)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),u.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,x=Math.sin(p)*t[2]/2,u.tooltipPos=[t[0]+.7*g,t[1]+.7*x],u.half=+(p<-Math.PI/2||p>Math.PI/2),u.angle=p}P(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}};be.defaultOptions=N(St.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}}}),R(be.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:je.prototype.drawTracker,getCenter:to.getCenter,getSymbol:Ds,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:je.prototype.pointAttribs,pointClass:Ve,requireSorting:!1,searchPoint:Ds,trackerGroups:["group","dataLabelsGroup"]}),at.registerSeriesType("pie",be);var{composed:Nr,noop:Rr}=C,{distribute:Wr}=Ke,{series:Bs}=at;(function(h){let t={radialDistributionY:function(r,a){return(a.dataLabelPosition?.top||0)+r.distributeBox.pos},radialDistributionX:function(r,a,n,l,c){let d=c.dataLabelPosition;return r.getX(n<(d?.top||0)+2||n>(d?.bottom||0)-2?l:n,a.half,a,c)},justify:function(r,a,n,l){return l[0]+(r.half?-1:1)*(n+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(r,a,n,l){let c=r.getBBox().width;return a?c+l:n-c-l},alignToConnectors:function(r,a,n,l){let c=0,d;return r.forEach(function(p){(d=p.dataLabel.getBBox().width)>c&&(c=d)}),a?c+l:n-c-l}};function e(r,a){let n=Math.PI/2,{start:l=0,end:c=0}=r.shapeArgs||{},d=r.angle||0;a>0&&l<n&&c>n&&d>n/2&&d<1.5*n&&(d=d<=n?Math.max(n/2,(l+n)/2):Math.min(1.5*n,(n+c)/2));let{center:p,options:g}=this,x=p[2]/2,f=Math.cos(d),u=Math.sin(d),m=p[0]+f*x,y=p[1]+u*x,b=Math.min((g.slicedOffset||0)+(g.borderWidth||0),a/5);
vendor: 4,347 bytes, line 2
2return{natural:{x:m+f*a,y:y+u*a},computed:{},alignment:a<0?"center":r.half?"right":"left",connectorPosition:{angle:d,breakAt:{x:m+f*b,y:y+u*b},touchingSliceAt:{x:m,y}},distance:a}}function i(){let r=this,a=r.points,n=r.chart,l=n.plotWidth,c=n.plotHeight,d=n.plotLeft,p=Math.round(n.chartWidth/3),g=r.center,x=g[2]/2,f=g[1],u=[[],[]],m=[0,0,0,0],y=r.dataLabelPositioners,b,k,v,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)})}),Bs.prototype.drawDataLabels.apply(r),a.forEach(M=>{(M.dataLabels||[]).forEach((S,O)=>{let I=g[2]/2,L=S.options,D=mt(L?.distance||0,I);O===0&&u[M.half].push(M),!E(L?.style?.width)&&S.getBBox().width>p&&(S.css({width:Math.round(.7*p)+"px"}),S.shortened=!0),S.dataLabelPosition=this.getDataLabelPosition(M,D),w=Math.max(w,D)})}),u.forEach((M,S)=>{let O=M.length,I=[],L,D,B=0,z;O&&(r.sortByAngle(M,S-.5),w>0&&(L=Math.max(0,f-x-w),D=Math.min(f+x+w,n.plotHeight),M.forEach(H=>{(H.dataLabels||[]).forEach(W=>{let X=W.dataLabelPosition;X&&X.distance>0&&(X.top=Math.max(0,f-x-X.distance),X.bottom=Math.min(f+x+X.distance,n.plotHeight),B=W.getBBox().height||21,W.lineHeight=n.renderer.fontMetrics(W.text||W).h+2*W.padding,H.distributeBox={target:(W.dataLabelPosition?.natural.y||0)-X.top+W.lineHeight/2,size:B,rank:H.y},I.push(H.distributeBox))})}),Wr(I,z=D+B-L,z/5)),M.forEach(H=>{(H.dataLabels||[]).forEach(W=>{let X=W.options||{},et=H.distributeBox,Q=W.dataLabelPosition,vt=Q?.natural.y||0,G=X.connectorPadding||0,Y=W.lineHeight||21,Z=(Y-W.getBBox().height)/2,V=0,q=vt,lt="inherit";if(Q){if(I&&E(et)&&Q.distance>0&&(et.pos===void 0?lt="hidden":(v=et.size,q=y.radialDistributionY(H,W))),X.justify)V=y.justify(H,W,x,g);else switch(X.alignTo){case"connectors":V=y.alignToConnectors(M,S,l,d);break;case"plotEdges":V=y.alignToPlotEdges(W,S,l,d);break;default:V=y.radialDistributionX(r,H,q-Z,vt,W)}if(Q.attribs={visibility:lt,align:Q.alignment},Q.posAttribs={x:V+(X.x||0)+({left:G,right:-G}[Q.alignment]||0),y:q+(X.y||0)-Y/2},Q.computed.x=V,Q.computed.y=q-Z,T(X.crop,!0)){let J;V-(k=W.getBBox().width)<G&&S===1?(J=Math.round(k-V+G),m[3]=Math.max(J,m[3])):V+k>l-G&&S===0&&(J=Math.round(V+k-l+G),m[1]=Math.max(J,m[1])),q-v/2<0?m[0]=Math.max(Math.round(-q+v/2),m[0]):q+v/2>c&&(m[2]=Math.max(Math.round(q+v/2-c),m[2])),Q.sideOverflow=J}}})}))}),(jt(m)===0||this.verifyDataLabelOverflow(m))&&(this.placeDataLabels(),this.points.forEach(M=>{M.dataLabels?.forEach((S,O)=>{let{connectorColor:I,connectorWidth:L=1}=S.options||{},D=S.dataLabelPosition;if(A(L)){let B;b=S.connector,D&&D.distance>0?(B=!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":L,stroke:I||M.color||"#666666"}),b[B?"attr":"animate"]({d:M.getConnectorPath(S)}),b.attr({visibility:D.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,l=n.center,c=n.minSize||80,d=c,p=n.size!==null;return!p&&(l[0]!==null?d=Math.max(a[2]-Math.max(r[1],r[3]),c):(d=Math.max(a[2]-r[1]-r[3],c),a[0]+=(r[3]-r[1])/2),l[1]!==null?d=nt(d,c,a[2]-Math.max(r[0],r[2])):(d=nt(d,c,a[2]-r[0]-r[2]),a[1]+=(r[0]-r[2])/2),d<a[2]?(a[2]=d,a[3]=Math.min(n.thickness?Math.max(0,d-2*n.thickness):Math.max(0,mt(n.innerSize||0,d)),d),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):p=!0),p}h.compose=function(r){if($e.compose(Bs),It(Nr,"PieDataLabel")){let a=r.prototype;a.dataLabelPositioners=t,a.alignDataLabel=Rr,a.drawDataLabels=i,a.getDataLabelPosition=e,a.placeDataLabels=s,a.verifyDataLabelOverflow=o}}})(Li||(Li={}));var Xr=Li;(Pe=Oi||(Oi={})).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}},Pe.getDistanceBetweenPoints=function(h,t){return Math.sqrt(Math.pow(t.x-h.x,2)+Math.pow(t.y-h.y,2))}
2,Pe.getAngleBetweenPoints=function(h,t){return Math.atan2(t.x-h.x,t.y-h.y)},Pe.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],[l,c]=e[o];n>t!=c>t&&h<(l-a)*(t-n)/(c-n)+a&&(r=!r)}return r};var{pointInPolygon:Hr}=Oi;function zs(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"})}),P(t,"afterHideOverlappingLabel")):h.attr({opacity:e})),h.isOld=!0),i}var{defaultOptions:Gr}=At,{noop:eo}=C,Yr={radius:0,scope:"stack",where:void 0},io=eo,so=eo;function Fr(h,t,e,i,s={}){let o=io(h,t,e,i,s),{brStart:r=!0,brEnd:a=!0,innerR:n=0,r:l=e,start:c=0,end:d=0}=s;if(s.open||!s.borderRadius)return o;let p=d-c,g=Math.sin(p/2),x=Math.max(Math.min(mt(s.borderRadius||0,l-n),(l-n)/2,l*g/(1+g)),0),f=Math.min(x,p/Math.PI*2*n),u=o.length-1;for(;u--;)(r||u!==0&&u!==3)&&(a||u!==1&&u!==2)&&(function(m,y,b){let k,v,w,M=m[y],S=m[y+1];if(S[0]==="Z"&&(S=m[0]),(M[0]==="M"||M[0]==="L")&&S[0]==="A"?(k=M,v=S,w=!0):M[0]==="A"&&(S[0]==="M"||S[0]==="L")&&(k=S,v=M),k&&v&&v.params){let O=v[1],I=v[5],L=v.params,{start:D,end:B,cx:z,cy:H}=L,W=I?O-b:O+b,X=W?Math.asin(b/W):0,et=I?X:-X,Q=Math.cos(X)*W;w?(L.start=D+et,k[1]=z+Q*Math.cos(D),k[2]=H+Q*Math.sin(D),m.splice(y+1,0,["A",b,b,0,0,1,z+O*Math.cos(L.start),H+O*Math.sin(L.start)])):(L.end=B-et,v[6]=z+O*Math.cos(L.end),v[7]=H+O*Math.sin(L.end),m.splice(y+1,0,["A",b,b,0,0,1,z+Q*Math.cos(B),H+Q*Math.sin(B)])),v[4]=Math.abs(L.end-L.start)<Math.PI?0:1}})(o,u,u>1?f:x);return o}function jr(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:h,yAxis:t}=this,e=h.stacking==="percent",i=Gr.plotOptions?.[this.type]?.borderRadius,s=Fi(h.borderRadius,_(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:l=0,y:c=0}=a,d=c,p=l;if(s.scope==="stack"&&r.stackTotal){let u=t.translate(e?100:r.stackTotal,!1,!0,!1,!0),m=t.translate(h.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(u,m),0,Math.abs(u-m));d=y.y,p=y.height}let g=(r.negative?-1:1)*(o?-1:1)==-1,x=s.where;!x&&this.is("waterfall")&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(x="all"),x||(x="end");let f=Math.min(mt(s.radius,n),n/2,x==="all"?p/2:1/0)||0;x==="end"&&(g&&(d-=f),p+=f),R(a,{brBoxHeight:p,brBoxY:d,r:f})}}}}function Fi(h,t){return _(h)||(h={radius:h||0}),N(Yr,t,h)}function $r(){let h=Fi(this.options.borderRadius);for(let t of this.points){let e=t.shapeArgs;e&&(e.borderRadius=mt(h.radius,(e.r||0)-(e.innerR||0)))}}function Vr(h,t,e,i,s={}){let o=so(h,t,e,i,s),{r=0,brBoxHeight:a=i,brBoxY:n=t}=s,l=t-n,c=n+a-(t+i),d=l-r>-.1?0:r,p=c-r>-.1?0:r,g=Math.max(d&&l,0),x=Math.max(p&&c,0),f=[h+d,t],u=[h+e-d,t],m=[h+e,t+d],y=[h+e,t+i-p],b=[h+e-p,t+i],k=[h+p,t+i],v=[h,t+i-p],w=[h,t+d],M=(S,O)=>Math.sqrt(Math.pow(S,2)-Math.pow(O,2));if(g){let S=M(d,d-g);f[0]-=S,u[0]+=S,m[1]=w[1]=t+d-g}if(i<d-g){let S=M(d,d-g-i);m[0]=y[0]=h+e-d+S,b[0]=Math.min(m[0],b[0]),k[0]=Math.max(y[0],k[0]),v[0]=w[0]=h+d-S,m[1]=w[1]=t+i}if(x){let S=M(p,p-x);b[0]+=S,k[0]-=S,y[1]=v[1]=t+i-p+x}if(i<p-x){let S=M(p,p-x-i);m[0]=y[0]=h+e-p+S,u[0]=Math.min(m[0],u[0]),f[0]=Math.max(y[0],f[0]),v[0]=w[0]=h+p-S,y[1]=v[1]=t}return o.length=0,o.push(["M",...f],["L",...u],["A",d,d,0,0,1,...m],["L",...y],["A",p,p,0,0,1,...b],["L",...k],["A",p,p,0,0,1,...v],["L",...w],["A",d,d,0,0,1,...f],["Z"]),o}function Ur(h,t){let e=h.condition;(e.callback||function(){return this.chartWidth<=T(e.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=T(e.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=T(e.minWidth,0)&&this.chartHeight>=T(e.minHeight,0)}).call(this,this)&&t.push(h._id)}function Zr(h,t){let e=this.options.responsive,i=this.currentResponsive,s=[],o;
vendor: 4,417 bytes, line 2
2!t&&e&&e.rules&&e.rules.forEach(n=>{n._id===void 0&&(n._id=Tt()),this.matchResponsiveRule(n,s)},this);let r=N(...s.map(n=>$t(e?.rules||[],l=>l._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=ve(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)}(Ei||(Ei={})).compose=function(h){let t=h.prototype;return t.matchResponsiveRule||R(t,{matchResponsiveRule:Ur,setResponsive:Zr}),h};var Kr=Ei;C.AST=ct,C.Axis=pe,C.Chart=Vt,C.Color=xt,C.DataLabel=$e,C.DataTableCore=Be,C.Fx=Rt,C.HTMLElement=we,C.Legend=Ps,C.LegendSymbol=Vs,C.PlotLineOrBand=Ye,C.Point=Ut,C.Pointer=vs,C.RendererRegistry=Ce,C.Series=St,C.SeriesRegistry=at,C.StackItem=Ks,C.SVGElement=Wt,C.SVGRenderer=ce,C.Templating=Pt,C.Tick=re,C.Time=Yi,C.Tooltip=ys,C.addEvent=F,C.animObject=ut.animObject,C.animate=ut.animate,C.arrayMax=jt,C.arrayMin=le,C.attr=ft,C.chart=Vt.chart,C.clamp=nt,C.color=xt.parse,C.correctFloat=st,C.createElement=Mt,C.css=U,C.dateFormat=Pt.dateFormat,C.defaultOptions=At.defaultOptions,C.defined=E,C.destroyObjectProperties=Zt,C.diffObjects=ve,C.discardElement=Ue,C.distribute=Ke.distribute,C.erase=Et,C.error=ht,C.extend=R,C.extendClass=Ns,C.find=$t,C.fireEvent=P,C.format=Pt.format,C.getDeferredAnimation=ut.getDeferredAnimation,C.getMagnitude=Xi,C.getOptions=At.getOptions,C.getStyle=Ft,C.insertItem=We,C.isArray=it,C.isClass=Rs,C.isDOMElement=Gi,C.isFunction=de,C.isNumber=A,C.isObject=_,C.isString=K,C.merge=N,C.normalizeTickInterval=Ze,C.numberFormat=Pt.numberFormat,C.objectEach=j,C.offset=Ws,C.pad=Gt,C.pick=T,C.pInt=rt,C.relativeLength=mt,C.removeEvent=Dt,C.seriesType=at.seriesType,C.setAnimation=ut.setAnimation,C.setOptions=At.setOptions,C.splat=yt,C.stableSort=fe,C.stop=ut.stop,C.syncTimeout=Bt,C.time=At.defaultTime,C.timers=Rt.timers,C.timeUnits=tt,C.uniqueKey=Tt,C.useSerialIds=function(h){return ui=T(h,ui)},C.wrap=function(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)))}},{compose:function(h,t,e){let i=h.types.pie;if(!t.symbolCustomAttribs.includes("borderRadius")){let s=e.prototype.symbols;F(h,"afterColumnTranslate",jr,{order:9}),F(i,"afterTranslate",$r),t.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),io=s.arc,so=s.roundedRect,s.arc=Fr,s.roundedRect=Vr}},optionsToObject:Fi}.compose(C.Series,C.SVGElement,C.SVGRenderer),Ir.compose(C.Series.types.column),$e.compose(C.Series),Bo.compose(C.Axis),we.compose(C.SVGRenderer),Ps.compose(C.Chart),zo.compose(C.Axis),(Ui=(Qi=C.Chart).prototype).hideOverlappingLabels||(Ui.hideOverlappingLabels=function(h){let t=h.length,e=(c,d)=>!(d.x>=c.x+c.width||d.x+d.width<=c.x||d.y>=c.y+c.height||d.y+d.height<=c.y),i=(c,d)=>{for(let p of c)if(Hr({x:p[0],y:p[1]},d))return!0;return!1},s,o,r,a,n,l=!1;for(let c=0;c<t;c++)(s=h[c])&&(s.oldOpacity=s.opacity,s.newOpacity=1,s.absoluteBox=(function(d){if(d&&(!d.alignAttr||d.placed)){let p=d.box?0:d.padding||0,g=d.alignAttr||{x:d.attr("x"),y:d.attr("y")},{height:x,polygon:f,width:u}=d.getBBox(),m=bt(d.alignValue)*u;return d.width=u,d.height=x,{x:g.x+(d.parentGroup?.translateX||0)+p-m,y:g.y+(d.parentGroup?.translateY||0)+p,width:u-2*p,height:x-2*p,polygon:f}}})(s));h.sort((c,d)=>(d?.labelrank||0)-(c?.labelrank||0));for(let c=0;c<t;++c){a=(o=h[c])&&o.absoluteBox;let d=a?.polygon;for(let p=c+1;p<t;++p){n=(r=h[p])&&r.absoluteBox;let g=!1;if(a&&n&&o!==r&&o?.newOpacity!==0&&r?.newOpacity!==0&&o?.visibility!=="hidden"&&r?.visibility!=="hidden"){let x=n.polygon;if(d&&x&&d!==x?i(d,x)&&(g=!0):e(a,n)&&(g=!0),g){let f=o?.labelrank<r?.labelrank?o:r,u=f?.text;f&&(f.newOpacity=0),u?.element.querySelector("textPath")&&u.hide()}}}}for(let c of h)c&&zs(c,this)&&(l=!0);l&&P(this,"afterHideAllOverlappingLabels")},F(Qi,"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=T(a.labelrank,o.labelrank,o.shapeArgs?.height),a.allowOverlap??Number(a.distance)>0?(r.oldOpacity=r.opacity,r.newOpacity=1,zs(r,h)):t.push(r)})};i(e.nodes||[]),i(e.points)}this.hideOverlappingLabels(t)})),Xr.compose(C.Series.types.pie),Ye.compose(C.Chart,C.Axis),vs.compose(C.Chart),Kr.compose(C.Chart),Zs.compose(C.Axis,C.Chart,C.Series),Mr.compose(C.Axis,C.Chart,C.Series),ys.compose(C.Pointer);var qr=C;export{qr as default};
3//# sourceMappingURL=chunk-UJTUHFFG.js.map

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.