highcharts
Version:
JavaScript charting framework
10 lines • 101 kB
JavaScript
/**
* Highcharts JS v13.0.1 (2026-08-17)
* @module highcharts/highcharts-more
* @requires highcharts
*
* (c) 2009-2026 Highsoft AS
*
* A commercial license may be required depending on use,
* see www.highcharts.com/license
*/import*as t from"./highcharts.js";let e={};e.n=t=>{let i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},e.d=(t,i)=>{if(Array.isArray(i))for(var s=0;s<i.length;){var a=i[s++],o=i[s++];e.o(t,a)?0===o&&s++:0===o?Object.defineProperty(t,a,{enumerable:!0,value:i[s++]}):Object.defineProperty(t,a,{enumerable:!0,get:o})}else for(var a in i)e.o(i,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:i[a]})},e.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let i=t.default;var s,a,o,r,n,l,h=e.n(i);let p=t.default.SeriesRegistry;var d=e.n(p);let{deg2rad:c}=h();(s=o||(o={})).getCenter=function(){let t=this.options,e=this.chart,s=2*(t.slicedOffset||0),a=e.plotWidth-2*s,o=e.plotHeight-2*s,r=t.center,n=Math.min(a,o),l=t.thickness,h,p=t.size,d=t.innerSize||0,c,u;"string"==typeof p&&(p=parseFloat(p)),"string"==typeof d&&(d=parseFloat(d));let g=[(0,i.pick)(r?.[0],"50%"),(0,i.pick)(r?.[1],"50%"),(0,i.pick)(p&&p<0?void 0:t.size,"100%"),(0,i.pick)(d&&d<0?void 0:t.innerSize||0,"0%")];for(c=0;c<4;++c)u=g[c],h=c<2||2===c&&/%$/.test(u),g[c]=(0,i.relativeLength)(u,[a,o,n,g[2]][c])+(h?s:0);return g[3]>g[2]&&(g[3]=g[2]),(0,i.isNumber)(l)&&2*l<g[2]&&l>0&&(g[3]=g[2]-2*l),(0,i.fireEvent)(this,"afterGetCenter",{positions:g}),g},s.getStartAndEndRadians=function(t,e){let s=(0,i.isNumber)(t)?t:0,a=(0,i.isNumber)(e)&&e>s&&e-s<360?e:s+360;return{start:c*(s+-90),end:c*(a+-90)}};let u=o;function g(t){let e,i=this;return t&&i.pane.forEach(s=>{m(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)}),e}function m(t,e,s,a,o){let r=!0,n=s[0],l=s[1],h=2*Math.PI,p=Math.sqrt(Math.pow(t-n,2)+Math.pow(e-l,2));if((0,i.defined)(a)&&(0,i.defined)(o)){let s=Math.atan2((0,i.correctFloat)(e-l,8),(0,i.correctFloat)(t-n,8));s=(s+h)%h,a=(a+h)%h,Math.abs((o=(o+h)%h)-a)>1e-6&&(r=a>o?s>=a||s<=o:s>=a&&s<=o)}else r=!0;return p<=Math.ceil(s[2]/2)&&r}function f(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some(e=>m(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)))}function b(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!m(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function y(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(s){return s.visible&&!(!t.shared&&s.directTouch)&&(0,i.pick)(s.options.enableMouseTracking,!0)&&(!e.hoverPane||s.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}let{defaultOptions:x}=h(),v={shape:"arc",borderRadius:void 0,borderWidth:0,borderColor:"var(--highcharts-neutral-color-20)",backgroundColor:"var(--highcharts-neutral-color-3)",from:-Number.MAX_VALUE,to:Number.MAX_VALUE,outerRadius:"100%"},P={borderRadius:3,margin:void 0};x.pane=P;class M{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}hasSeriesType(t){return!!(this.chart.options?.chart?.type===t||this.chart.options?.series?.some(e=>e.type===t))}setOptions(t){this.options=(0,i.merge)(P,this.chart.angular?{background:{},innerSize:"85%"}:{},t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=(0,i.splat)(s)).length,this.background.length||0);for(let e=0;e<t;e++)s[e]&&this.axis?this.renderBackground((0,i.merge)(v,{borderRadius:this.options.borderRadius},s[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))}}renderBackground(t,e){let s={class:"highcharts-pane "+(t.className||"")},a="animate";this.chart.styledMode||(0,i.extend)(s,{fill:t.backgroundColor,stroke:t.borderColor,"stroke-width":t.borderWidth}),this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),a="attr"),this.background[e][a]({d:this.axis.getPlotBandPath(t.from,t.to,t)}).attr(s)}updateCenter(){let{axis:t,chart:e,options:s}=this,{plotHeight:a,plotWidth:o}=e,r=s.center?.[1],n=s.margin,l=this.axis?.options.labels,h=s.thickness,p=Array.isArray(n)?n:[n,n,n,n],d=[],c=s.size,g,m=0,f=0,b=Math.min(e.series.reduce((t,e)=>{if(!e.is("gauge")||e.yAxis?.pane!==this)return t;let s=(0,i.splat)(e.options.dataLabels)[0],a=0;return s&&!1!==s.enabled&&(a=(1-(0,i.getAlignFactor)(s.verticalAlign))*30+(s.y||0)),Math.max(t,a)},0),.3*a);if(l?.enabled){let t=String(l.style?.fontSize||""),e=(/px$/.test(t)?parseFloat(t):/em$/.test(t)?12*parseFloat(t):12)*1.2;f=Math.max(l.distance||0,0)+e/2}if(p.forEach((t,e)=>{d[e]=t??Math.max(f||0)}),t&&(void 0===c||void 0===r)){let{endAngleRad:e,startAngleRad:r}=t,n=2*Math.PI/360,l=.5+.5*Math.max(Math.sin((r<Math.PI/2&&e>Math.PI/2||(0,i.splat)(s.background).some(t=>t?.shape==="circle")?Math.PI:Math.max(Math.abs(r+Math.PI/2),Math.abs(e+Math.PI/2)))-Math.PI/2),Math.sin(0*n));if(g=(a-d[0]-d[2])/l,void 0===c){let t=(c=Math.max(Math.min(g,o-d[1]-d[3]),1))+d[0]+d[2]+2*(b-a);t>0&&(c=Math.max(1,c-(m=t)))}}this.center=(t||{}).center=u.getCenter.call(this),(0,i.isNumber)(c)&&c>=0&&(this.center[2]=c,(0,i.isNumber)(h)?this.center[3]=this.center[2]-2*h:this.center[3]=Math.min(c,(0,i.relativeLength)(s.innerSize||0,c))),!(0,i.defined)(r)&&(s.size?this.center[1]=a/2:(0,i.isNumber)(g)&&(this.center[1]=(g+this.center[2]-m)/4+d[0]))}update(t,e){(0,i.merge)(!0,this.options,t),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(t){t.pane===this&&(t.pane=null,t.update({},e))},this)}}M.compose=function(t,e){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push("pane"),s.getHoverPane=g,(0,i.addEvent)(t,"afterIsInsidePlot",f),(0,i.addEvent)(e,"afterGetHoverData",b),(0,i.addEvent)(e,"beforeGetHoverData",y))};let{area:{prototype:{pointClass:k,pointClass:{prototype:L}}}}=d().seriesTypes,w=class extends k{setState(){let t=this.state,e=this.series,s=e.chart.polar;(0,i.defined)(this.plotHigh)||(this.plotHigh=e.yAxis.toPixels(this.high,!0)),(0,i.defined)(this.plotLow)||(this.plotLow=this.plotY=e.yAxis.toPixels(this.low,!0)),e.lowerStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,s&&(0,i.isNumber)(this.plotHighX)&&(this.plotX=this.plotHighX),L.setState.apply(this,arguments),this.state=t,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],s&&(0,i.isNumber)(this.plotLowX)&&(this.plotX=this.plotLowX),e.upperStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.lowerStateMarkerGraphic,e.lowerStateMarkerGraphic=void 0;let a=e.modifyMarkerSettings();L.setState.apply(this,arguments),e.restoreMarkerSettings(a)}haloPath(){let t=this.series.chart.polar,e=[];return this.plotY=this.plotLow,t&&(0,i.isNumber)(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(e=L.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,t&&(0,i.isNumber)(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(e=e.concat(L.haloPath.apply(this,arguments))),e}isValid(){return(0,i.isNumber)(this.low)&&(0,i.isNumber)(this.high)}},A=t.default.Series.types.column;var N=e.n(A);!function(t){let e={close:["plotClose"],high:["highPlot","plotHigh"],low:["lowPlot","plotLow"],median:["medianPlot"],open:["plotOpen"],q1:["q1Plot"],q3:["q3Plot"],y:["plotY"]};function s(t,s){for(let a of e[s]??[]){let e=t[a];if((0,i.isNumber)(e))return e}}function a(t,e){return e&&t.pointArrayMap.indexOf(e)>-1?e:t.pointValKey}function o(t,e,o,r,n){let l=s(t,a(this,o.alignToKey)),h=t.shapeArgs,p=t.plotY,d=t.dlBox,c=t.below;if((0,i.isNumber)(l)){let e,a;t.plotY=l,h&&!o.inside&&(t.dlBox={x:h.x??0,y:(0,i.crisp)(l,this.borderWidth,this.chart.inverted),width:h.width??0,height:0});let r=(e=s(t,"high"),a=s(t,"low"),t.below=!!((0,i.isNumber)(e)&&(0,i.isNumber)(a))&&(o.inside?l===Math.min(e,a):l===Math.max(e,a)));this.chart.inverted?o.align??(o.align=r?"right":"left"):o.verticalAlign??(o.verticalAlign=r?"top":"bottom")}N().prototype.alignDataLabel.call(this,t,e,o,r,n),t.plotY=p,t.dlBox=d,t.below=c}t.compose=function(t){return t.prototype.alignDataLabel=o,t},t.formatter=function(t){let e=t.alignToKey?this.getNestedProperty(t.alignToKey):this.y,s=(0,i.isNumber)(e)?e:this.y;return(0,i.isNumber)(s)?this.series.chart.numberFormatter(s,-1):""},t.applyAlignToKeyValue=function(t){let{alignToKey:e,format:i}=t;e&&i&&(t.format=i.replace(/\{(?:point\.)?y([:}])/g,"{point."+e+"$1"))},t.resolveAlignToKey=a,t.alignDataLabel=o}(r||(r={}));let S=r,{noop:T}=h(),{area:C,area:{prototype:X}}=d().seriesTypes,Y={lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,formatter:S.formatter,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}};class E extends C{toYData(t){return[t.low,t.high]}highToXY(t){let e=this.chart,i=this.xAxis.postTranslate(t.rectPlotX||0,this.yAxis.len-(t.plotHigh||0));t.plotHighX=i.x-e.plotLeft,t.plotHigh=i.y-e.plotTop,t.plotLowX=t.plotX}getGraphPath(t){let e=[],i=[],s=X.getGraphPath,a=this.options,o=this.chart.polar,r=o&&!1!==a.connectEnds,n=a.connectNulls,l,h,p,d=a.step;for(l=(t=t||this.points).length;l--;){h=t[l];let s=o?{plotX:h.rectPlotX,plotY:h.yBottom,doCurve:!1}:{plotX:h.plotX,plotY:h.plotY,doCurve:!1};h.isNull||r||n||t[l+1]&&!t[l+1].isNull||i.push(s),p={polarPlotY:h.polarPlotY,rectPlotX:h.rectPlotX,yBottom:h.yBottom,plotX:h.plotHighX??h.plotX,plotY:h.plotHigh,isNull:h.isNull},i.push(p),e.push(p),h.isNull||r||n||t[l-1]&&!t[l-1].isNull||i.push(s)}let c=s.call(this,t);d&&(!0===d&&(d="left"),a.step=({left:"right",center:"center",right:"left"})[d]);let u=s.call(this,e),g=s.call(this,i);a.step=d;let m=[].concat(c,u);return!this.chart.polar&&g[0]&&"M"===g[0][0]&&(g[0]=["L",g[0][1],g[0][2]]),this.graphPath=m,this.areaPath=c.concat(g),m.isArea=!0,m.xMap=c.xMap,this.areaPath.xMap=c.xMap,m}drawDataLabels(){let t=this,e=t.options.dataLabels;if(e){let s,a=(s=t.options.dataLabels,(0,i.isArray)(s)?Array.from({length:Math.max(s.length,2)},(e,a)=>{let o=s[a],r=0===a?"high":1===a?"low":t.pointValKey,n=o?.alignToKey??r;return(0,i.merge)(o??{enabled:!1},{alignToKey:n})}):s?.alignToKey?[(0,i.merge)(s,"high"===s.alignToKey?{x:s.xHigh,y:s.yHigh}:"low"===s.alignToKey?{x:s.xLow,y:s.yLow}:{})]:[(0,i.merge)(s,{alignToKey:"high",x:s?.xHigh,y:s?.yHigh}),(0,i.merge)(s,{alignToKey:"low",x:s?.xLow,y:s?.yLow})]);for(let i of(a.forEach(S.applyAlignToKeyValue),t.options.dataLabels=a,X.drawDataLabels&&X.drawDataLabels.call(t),t.options.dataLabels=e,t.points)){let e=i.dataLabels??[];i.dataLabelUpper=e.find(e=>"high"===S.resolveAlignToKey(t,e.options?.alignToKey)),i.dataLabel=e.find(e=>"low"===S.resolveAlignToKey(t,e.options?.alignToKey))}}}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=(0,i.merge)(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,s=this.points.length,a=this.modifyMarkerSettings();for(X.drawPoints.apply(this,arguments),this.restoreMarkerSettings(a),t=0;t<s;)(e=this.points[t]).graphics=e.graphics||[],e.origProps={plotY:e.plotY,plotX:e.plotX,isInside:e.isInside,negative:e.negative,zone:e.zone,y:e.y},(e.graphic||e.graphics[0])&&(e.graphics[0]=e.graphic),e.graphic=e.graphics[1],e.plotY=e.plotHigh,(0,i.defined)(e.plotHighX)&&(e.plotX=e.plotHighX),e.y=e.high??e.origProps.y,e.negative=e.y<(this.options.threshold||0),this.zones.length&&(e.zone=e.getZone()),this.chart.polar||(e.isInside=e.isTopInside=void 0!==e.plotY&&e.plotY>=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(X.drawPoints.apply(this,arguments),t=0;t<s;)(e=this.points[t]).graphics=e.graphics||[],(e.graphic||e.graphics[1])&&(e.graphics[1]=e.graphic),e.graphic=e.graphics[0],e.origProps&&((0,i.extend)(e,e.origProps),delete e.origProps),t++}hasMarkerChanged(t,e){let i=t.lowMarker,s=e.lowMarker||{};return i&&(!1===i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)||super.hasMarkerChanged(t,e)}}E.defaultOptions=(0,i.merge)(C.defaultOptions,Y),(0,i.addEvent)(E,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(t=>{let e=t.high,s=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=s,t.plotHigh=(0,i.isNumber)(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))})},{order:0}),(0,i.addEvent)(E,"afterTranslate",function(){this.points.forEach(t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,void 0,t.plotLow),i=t.pos(!1,void 0,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}})},{order:3}),(0,i.extend)(E.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:w,pointValKey:"low",setStackedPoints:T}),S.compose(E),d().registerSeriesType("arearange",E);let R=E,{spline:{prototype:I}}=d().seriesTypes;class z extends R{}z.defaultOptions=(0,i.merge)(R.defaultOptions),(0,i.extend)(z.prototype,{getPointSpline:I.getPointSpline}),d().registerSeriesType("areasplinerange",z);let{defaultOptions:O}=h(),{noop:D}=h(),B={radius:0,scope:"stack",where:void 0};function W(t,e){return(0,i.isObject)(t)||(t={radius:t||0}),(0,i.merge)(B,e,t)}let{noop:F}=h();class H extends N(){pointAttribs(){return{fill:this.color}}getWhiskerPair(t,e,s,a,o){let r=o.whiskers.strokeWidth(),n=(s,a)=>{let o=(0,i.relativeLength)(s,2*t)/2,n=(0,i.crisp)(a,r);return[["M",(0,i.crisp)(e-o),n],["L",(0,i.crisp)(e+o),n]]};return[...n(s,o.highPlot),...n(a,o.lowPlot)]}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(i){e.forEach(function(e){let s=i[e];null!==s&&(i[`${e}Plot`]=t.translate(s,!1,!0,!1,!0))}),i.plotHigh=i.highPlot})}drawPoints(){let t,e,s,a,o,r,n,l,h,p,d,c=this.points,u=this.options,g=this.chart,m=g.renderer,f=!1!==this.doQuartiles,b=this.options.whiskerLength;for(let y of c){let c=(l=y.graphic)?"animate":"attr",x=y.shapeArgs,v={},P={},M={},k={},L=y.color||this.color,w=y.options.whiskerLength||b;if(void 0!==y.plotY){h=x.width,d=(p=x.x)+h,t=f?y.q1Plot:y.lowPlot,e=f?y.q3Plot:y.lowPlot,s=y.highPlot,a=y.lowPlot,l||(y.graphic=l=m.g("point").add(this.group),y.stem=m.path().addClass("highcharts-boxplot-stem").add(l),b&&(y.whiskers=m.path().addClass("highcharts-boxplot-whisker").add(l)),f&&(y.box=m.path(n).addClass("highcharts-boxplot-box").add(l)),y.medianShape=m.path(r).addClass("highcharts-boxplot-median").add(l)),g.styledMode||(P.stroke=y.stemColor||u.stemColor||L,P["stroke-width"]=(0,i.pick)(y.stemWidth,u.stemWidth,u.lineWidth),P.dashstyle=y.stemDashStyle||u.stemDashStyle||u.dashStyle,y.stem.attr(P),w&&(M.stroke=y.whiskerColor||u.whiskerColor||L,M["stroke-width"]=(0,i.pick)(y.whiskerWidth,u.whiskerWidth,u.lineWidth),M.dashstyle=y.whiskerDashStyle||u.whiskerDashStyle||u.dashStyle,y.whiskers.attr(M)),f&&(v.fill=y.fillColor||u.fillColor||L,v.stroke=u.lineColor||L,v["stroke-width"]=u.lineWidth||0,v.dashstyle=y.boxDashStyle||u.boxDashStyle||u.dashStyle,y.box.attr(v)),k.stroke=y.medianColor||u.medianColor||L,k["stroke-width"]=(0,i.pick)(y.medianWidth,u.medianWidth,u.lineWidth),k.dashstyle=y.medianDashStyle||u.medianDashStyle||u.dashStyle,y.medianShape.attr(k));let A=(0,i.crisp)((y.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,y.stem.strokeWidth());if(y.stem[c]({d:[["M",A,e],["L",A,s],["M",A,t],["L",A,a]]}),f){let s=y.box.strokeWidth();t=(0,i.crisp)(t,s),e=(0,i.crisp)(e,s),p=(0,i.crisp)(p,s),d=(0,i.crisp)(d,s);let a=Math.min((0,i.relativeLength)(W(u.borderRadius).radius,d-p),(d-p)/2,Math.abs(t-e)/2);y.box[c]({d:m.symbols.roundedRect(p,Math.min(t,e),d-p,Math.abs(t-e),{r:a})})}if(w){let t=h/2,e=this.getWhiskerPair(t,A,y.upperWhiskerLength??u.upperWhiskerLength??w,y.lowerWhiskerLength??u.lowerWhiskerLength??w,y);y.whiskers[c]({d:e})}o=(0,i.crisp)(y.medianPlot,y.medianShape.strokeWidth()),y.medianShape[c]({d:[["M",p,o],["L",d,o]]})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}H.defaultOptions=(0,i.merge)(N().defaultOptions,{borderRadius:0,threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">●</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"var(--highcharts-background-color)",lineWidth:1,medianWidth:2,whiskerWidth:2}),(0,i.extend)(H.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",setStackedPoints:F}),S.compose(H),d().registerSeriesType("boxplot",H);let G=H,q={borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"var(--highcharts-neutral-color-100)"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0},K=t.default.Templating;var V=e.n(K);let{noop:U}=h(),j=class{constructor(t,e){this.setState=U,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,s=(0,i.pick)(t.options.itemDistance,20),a=this.legendItem||{},o=this.options,r=o.ranges,n=o.connectorDistance;if(!r||!r.length||!(0,i.isNumber)(r[0].value)){t.options.bubbleLegend.autoRanges=!0;return}(0,i.stableSort)(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let l=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=n-h+l.width)>0?e:0,this.maxLabel=l,this.movementX="left"===o.labels.align?e:0,a.labelWidth=p+e+s,a.labelHeight=p+l.height/2}setOptions(){let t=this.ranges,e=this.options,s=this.chart.series[e.seriesIndex],a=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=s.options.marker.fillOpacity,h=this.chart.styledMode;t.forEach(function(p,d){h||(o.stroke=(0,i.pick)(p.borderColor,e.borderColor,s.color),o.fill=p.color||e.color,o.fill||(o.fill=s.color,o["fill-opacity"]=l??1),r.stroke=(0,i.pick)(p.connectorColor,e.connectorColor,s.color)),t[d].radius=this.getRangeRadius(p.value),t[d]=(0,i.merge)(t[d],{center:t[0].radius-t[d].radius+a}),h||(0,i.merge)(!0,t[d],{bubbleAttribs:(0,i.merge)(o),connectorAttribs:(0,i.merge)(r),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],a=e.ranges[0].value,o=e.ranges[e.ranges.length-1].value,r=e.minSize,n=e.maxSize;return s.getRadius.call(this,o,a,r,n,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,a=s.labels,o=this.chart,r=o.series[s.seriesIndex],n=o.renderer,l=this.symbols,h=l.labels,p=t.center,d=Math.abs(t.radius),c=s.connectorDistance||0,u=a.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,b=e.radius||0,y=p-d-m/2+f/2,x=(y%1?1:.5)-(f%2?0:.5),v=n.styledMode,P=g||"left"===u?-c:c;"center"===u&&(P=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(n.circle(b,p+x,d).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+r.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(n.path(n.crispLine([["M",b,y],["L",b+P,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let M=n.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:a.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),k={x:b+P+s.labels.x,y:y+s.labels.y+.4*M.getBBox().height};M.attr(k),h.push(M),M.placed=!0,M.alignAttr=k}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:a}=this.chart;return s?V().format(s,t,this.chart):i?i.call(t,t):a(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t=this.legend.bubbleLegend,e=t.chart.series,s=t.options.ranges,a,o,r=Number.MAX_VALUE,n=-Number.MAX_VALUE;return e.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.getColumn("z").filter(i.isNumber)).length&&(r=(0,i.pick)(t.options.zMin,Math.min(r,Math.max((0,i.arrayMin)(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),n=(0,i.pick)(t.options.zMax,Math.max(n,(0,i.arrayMax)(o))))}),a=r===n?[{value:n}]:[{value:r},{value:(r+n)/2},{value:n,autoRanges:!0}],s.length&&s[0].radius&&a.reverse(),a.forEach(function(t,e){s&&s[e]&&(a[e]=(0,i.merge)(s[e],t))}),a}predictBubbleSizes(){let t=this.chart,e=t.legend.options,i=e.floating,s="horizontal"===e.layout,a=s?t.legend.lastLineHeight:0,o=t.plotSizeX,r=t.plotSizeY,n=t.series[this.options.seriesIndex],l=n.getPxExtremes(),h=Math.ceil(l.minPxSize),p=Math.ceil(l.maxPxSize),d=Math.min(r,o),c,u=n.options.maxSize;return i||!/%$/.test(u)?c=p:(c=(d+a)*(u=parseFloat(u))/100/(u/100+1),(s&&r-c>=o||!s&&o-c>=r)&&(c=p)),[h,Math.ceil(c)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:Z}=h(),{composed:$}=h();function _(t,e,s){let a,o,r,n=this.legend,l=Q(this)>=0;n&&n.options.enabled&&n.bubbleLegend&&n.options.bubbleLegend.autoRanges&&l?(a=n.bubbleLegend.options,o=n.bubbleLegend.predictBubbleSizes(),n.bubbleLegend.updateRanges(o[0],o[1]),a.placed||(n.group.placed=!1,n.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),n.render(),a.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),(0,i.objectEach)(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),a.placed=!0,t.call(this,e,s),n.bubbleLegend.correctSizes()):(t.call(this,e,s),n&&n.options.enabled&&n.bubbleLegend&&n.render())}function Q(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].dataTable.rowCount)return i;i++}return -1}function J(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,a=Q(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),a>=0&&i.enabled&&s.enabled&&(s.seriesIndex=a,this.bubbleLegend=new j(s,this),this.bubbleLegend.addToLegend(t.allItems))}function tt(){if(this.bubbleLegend){let t=this.allItems,e=this.options.rtl,i=function(t){let e=t.allItems,i=[],s=e.length,a,o,r,n=0,l=0;for(n=0;n<s;n++)if(o=e[n].legendItem||{},r=(e[n+1]||{}).legendItem||{},o.labelHeight&&(e[n].itemHeight=o.labelHeight),e[n]===e[s-1]||o.y!==r.y){for(i.push({height:0}),a=i[i.length-1];l<=n;l++)e[l].itemHeight>a.height&&(a.height=e[l].itemHeight);a.step=n}return i}(this),s,a,o,r,n=0;t.forEach((t,l)=>{(r=t.legendItem||{}).group&&(s=r.group.translateX||0,a=r.y||0,((o=t.movementX)||e&&t.ranges)&&(o=e?s-t.options.maxSize/2:s+o,r.group.attr({translateX:o})),l>i[n].step&&n++,r.group.attr({translateY:Math.round(a+i[n].height/2)}),r.y=a+i[n].height/2)})}}function te(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,a=i.visible;this&&this.bubbleLegend&&(i.visible=!a,i.ignoreSeries=a,e=Q(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=a)}let ti=function(t,e){(0,i.pushUnique)($,"Series.BubbleLegend")&&(Z({legend:{bubbleLegend:q}}),(0,i.wrap)(t.prototype,"drawChartBox",_),(0,i.addEvent)(e,"afterGetAllItems",J),(0,i.addEvent)(e,"afterRender",tt),(0,i.addEvent)(e,"itemClick",te))},ts=t.default.Point;var ta=e.n(ts);let{seriesTypes:{scatter:{prototype:{pointClass:to}}}}=d();class tr extends to{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:a}=this.series,o=2*e;return a.renderer.symbols.circle((i?.len||0)-t[1]-e,(s?.len||0)-t[0]-e,o,o)}return ta().prototype.haloPath.call(this,e)}}(0,i.extend)(tr.prototype,{ttBelow:!1});let{composed:tn,noop:tl}=h(),{series:th,seriesTypes:{column:{prototype:tp},scatter:td}}=d();function tc(){let t=this.len,{coll:e,isXAxis:s,min:a}=this,o=(this.max||0)-(a||0),r=0,n=t,l=t/o,h;("xAxis"===e||"yAxis"===e)&&(this.series.forEach(t=>{if(t.bubblePadding&&t.reserveSpace()){this.allowZoomOutside=!0,h=!0;let e=t.getColumn(s?"x":"y");if(s&&((t.onPoint||t).getRadii(0,0,t),t.onPoint&&(t.radii=t.onPoint.radii)),o>0){let s=e.length;for(;s--;)if((0,i.isNumber)(e[s])&&this.dataMin<=e[s]&&e[s]<=this.max){let i=t.radii&&t.radii[s]||0;r=Math.min((e[s]-a)*l-i,r),n=Math.max((e[s]-a)*l+i,n)}}}}),h&&o>0&&!this.logarithmic&&(n-=t,l*=(t+Math.max(0,r)-Math.min(n,t))/t,[["min","userMin",r],["max","userMax",n]].forEach(t=>{void 0===(0,i.pick)(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}function tu(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:a}=this,o=this.options.type;if((a?.length||"category"===o)&&this.series.find(t=>t.bubblePadding)){let a=e.length;for(;a--;){let o=t[e[a]],r=o.pos||0;(r>s||r<i)&&o.label?.hide()}}}class tg extends td{static compose(t,e,s){ti(e,s),(0,i.pushUnique)(tn,"Series.Bubble")&&((0,i.addEvent)(t,"foundExtremes",tc),(0,i.addEvent)(t,"afterRender",tu))}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t=[...this.getColumn("z",!1,!0)],e=this.getColumn("y"),s=[],a,o,r,n=this.chart.bubbleZExtremes,{minPxSize:l,maxPxSize:h}=this.getPxExtremes();if(!n){let t,e=Number.MAX_VALUE,s=-Number.MAX_VALUE;this.chart.series.forEach(a=>{if(a.bubblePadding&&a.reserveSpace()){let o=(a.onPoint||a).getZExtremes();o&&(e=Math.min((0,i.pick)(e,o.zMin),o.zMin),s=Math.max((0,i.pick)(s,o.zMax),o.zMax),t=!0)}}),t?(n={zMin:e,zMax:s},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(o=0,a=t.length;o<a;o++)r=t[o],s.push(this.getRadius(n.zMin,n.zMax,l,h,r,e&&e[o]));this.radii=s}getRadius(t,e,s,a,o,r){let n=this.options,l="width"!==n.sizeBy,h=n.zThreshold,p=e-t,d=.5;if(null===r||null===o)return null;if((0,i.isNumber)(o)){if(n.sizeByAbsoluteValue&&(o=Math.abs(o-h),e=p=Math.max(e-h,Math.abs(t-h)),t=0),o<t)return s/2-1;p>0&&(d=(o-t)/p)}return l&&d>=0&&(d=Math.sqrt(d)),Math.ceil(s+d*(a-s))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let s=super.markerAttribs(t,e),{height:a=0,width:o=0}=s;return this.chart.inverted?(0,i.extend)(s,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-a/2}):s}pointAttribs(t,e){let i=this.options.marker,s=i?.fillOpacity,a=th.prototype.pointAttribs.call(this,t,e);return a["fill-opacity"]=s??1,a}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{options:t,radii:e}=this,{minPxSize:s}=this.getPxExtremes();this.data.concat(this.condemnedPoints).forEach((a,o)=>{let{plotX:r=0,plotY:n=0}=a,l=a.condemned?a.marker?.radius||0:e?e[o]:0;"z"===this.zoneAxis&&(a.negative=(a.z||0)<(t.zThreshold||0)),(0,i.isNumber)(l)&&(a.marker=(0,i.extend)(a.marker,{radius:l,width:2*l,height:2*l})),(0,i.isNumber)(l)&&l>=s/2?a.dlBox={x:r-l,y:n-l,width:2*l,height:2*l}:(a.shapeArgs=a.plotY=a.dlBox=void 0,a.isInside=!1)})}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},s=e((0,i.pick)(this.options.minSize,8)),a=Math.max(e((0,i.pick)(this.options.maxSize,"20%")),s);return{minPxSize:s,maxPxSize:a}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(i.isNumber);if(e.length){let s=(0,i.pick)(t.zMin,(0,i.clamp)((0,i.arrayMin)(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),a=(0,i.pick)(t.zMax,(0,i.arrayMax)(e));if((0,i.isNumber)(s)&&(0,i.isNumber)(a))return{zMin:s,zMax:a}}}searchKDTree(t,e,i,s=tl,a=tl){return s=(t,e,i)=>{let s=t[i]||0,a=e[i]||0,o,r=!1;return s===a?o=t.index>e.index?t:e:s<0&&a<0?(o=s-(t.marker?.radius||0)>=a-(e.marker?.radius||0)?t:e,r=!0):o=s<a?t:e,[o,r]},a=(t,e,i)=>!i&&t>e||t<e,super.searchKDTree(t,e,i,s,a)}}tg.defaultOptions=(0,i.merge)(td.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return(0,i.isNumber)(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),(0,i.extend)(tg.prototype,{alignDataLabel:tp.alignDataLabel,applyZones:tl,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:tr,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),(0,i.addEvent)(tg,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),(0,i.addEvent)(tg,"remove",t=>{delete t.target.chart.bubbleZExtremes}),(0,i.addEvent)(tg,"update",t=>{let e=t.target.options;((0,i.defined)(e.zMin)||(0,i.defined)(e.zMax))&&delete t.target.chart.bubbleZExtremes}),d().registerSeriesType("bubble",tg);let{seriesTypes:{column:{prototype:{pointClass:{prototype:tm}}},arearange:{prototype:{pointClass:tf}}}}=d();class tb extends tf{isValid(){return(0,i.isNumber)(this.low)}}(0,i.extend)(tb.prototype,{setState:tm.setState});let{noop:ty}=h(),{seriesTypes:{arearange:tx,column:tv,column:{prototype:tP}}}=d();class tM extends tx{setOptions(){return(0,i.merge)(!0,arguments[0],{stacking:void 0}),tx.prototype.setOptions.apply(this,arguments)}translate(){return tP.translate.apply(this)}pointAttribs(){return tP.pointAttribs.apply(this,arguments)}translate3dPoints(){return tP.translate3dPoints.apply(this,arguments)}translate3dShapes(){return tP.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,s,a,o=this.yAxis,r=this.xAxis,n=r.startAngleRad,l=this.chart,h=this.xAxis.isRadial,p=Math.max(l.chartWidth,l.chartHeight)+999;function d(t){return(0,i.clamp)(t,-p,p)}this.points.forEach(p=>{let c=p.shapeArgs||{},u=this.options.minPointLength,g=p.plotY,m=o.translate(p.high,0,1,0,1);if((0,i.isNumber)(m)&&(0,i.isNumber)(g))if(p.plotHigh=d(m),p.plotLow=d(g),a=p.plotHigh,Math.abs(t=(0,i.pick)(p.rectPlotY,p.plotY)-p.plotHigh)<u?(e=u-t,t+=e,a-=e/2):t<0&&(t*=-1,a-=t),h&&this.polar)s=p.barX+n,p.shapeType="arc",p.shapeArgs=this.polar.arc(a+t,a,s,s+(p.pointWidth||0));else{c.height=t,c.y=a;let{x:e=0,width:s=0}=c;p.shapeArgs=(0,i.merge)(p.shapeArgs,this.crispCol(e,a,s,t)),p.tooltipPos=l.inverted?[o.len+o.pos-l.plotLeft-a-t/2,r.len+r.pos-l.plotTop-e-s/2,t]:[r.left-l.plotLeft+e+s/2,o.pos-l.plotTop+a+t/2,t]}})}}tM.defaultOptions=(0,i.merge)(tv.defaultOptions,tx.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),(0,i.addEvent)(tM,"afterColumnTranslate",function(){tM.prototype.afterColumnTranslate.apply(this)},{order:5}),(0,i.extend)(tM.prototype,{directTouch:!0,pointClass:tb,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:tP.adjustForMissingColumns,animate:tP.animate,crispCol:tP.crispCol,drawGraph:ty,drawPoints:tP.drawPoints,getSymbol:ty,drawTracker:tP.drawTracker,getColumnMetrics:tP.getColumnMetrics}),d().registerSeriesType("columnrange",tM);let{column:tk}=d().seriesTypes;class tL extends tk{translate(){let t=this.chart,e=this.options,s=this.dense=this.closestPointRange*this.xAxis.transA<2,a=this.borderWidth=(0,i.pick)(e.borderWidth,+!s),o=this.yAxis,r=e.threshold,n=(0,i.pick)(e.minPointLength,5),l=this.getColumnMetrics(),h=l.width,p=this.pointXOffset=l.offset,d=this.translatedThreshold=o.getThreshold(r),c=this.barW=Math.max(h,1+2*a);for(let s of(t.inverted&&(d-=.5),e.pointPadding&&(c=Math.ceil(c)),super.translate(),this.points)){let a=(0,i.pick)(s.yBottom,d),u=999+Math.abs(a),g=(0,i.clamp)(s.plotY,-u,o.len+u),m=c/2,f=Math.min(g,a),b=Math.max(g,a)-f,y=s.plotX+p,x,v,P,M,k,L,w,A,N,S,T;e.centerInCategory&&(y=this.adjustForMissingColumns(y,h,s,l)),s.barX=y,s.pointWidth=h,s.tooltipPos=t.inverted?[o.len+o.pos-t.plotLeft-g,this.xAxis.len-y-m,b]:[y+m,g+o.pos-t.plotTop,b],x=r+(s.total||s.y),"percent"===e.stacking&&(x=r+(s.y<0)?-100:100);let C=o.toPixels(x,!0);P=(v=t.plotHeight-C-(t.plotHeight-d))?m*(f-C)/v:0,M=v?m*(f+b-C)/v:0,L=y-P+m,w=y+P+m,A=y+M+m,N=y-M+m,S=f-n,T=f+b,s.y<0&&(S=f,T=f+b+n),t.inverted&&(k=o.width-f,v=C-(o.width-d),P=m*(C-k)/v,M=m*(C-(k-b))/v,w=(L=y+m+P)-2*P,A=y-M+m,N=y+M+m,S=f,T=f+b-n,s.y<0&&(T=f+b+n)),s.shapeType="path",s.shapeArgs={x:L,y:S,width:w-L,height:b,d:[["M",L,S],["L",w,S],["L",A,T],["L",N,T],["Z"]]}}}}tL.defaultOptions=(0,i.merge)(tk.defaultOptions,{}),d().registerSeriesType("columnpyramid",tL);let{arearange:tw}=d().seriesTypes;class tA extends G{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||N().prototype.getColumnMetrics.call(this)}drawDataLabels(){tw&&tw.prototype.drawDataLabels.call(this)}toYData(t){return[t.low,t.high]}}tA.defaultOptions=(0,i.merge)(G.defaultOptions,{color:"var(--highcharts-neutral-color-100)",dataLabels:{},grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null},{dataLabels:{formatter:S.formatter}}),(0,i.addEvent)(tA,"afterTranslate",function(){for(let t of this.points)t.plotLow=t.plotY},{order:0}),(0,i.extend)(tA.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),d().registerSeriesType("errorbar",tA);let{series:{prototype:{pointClass:tN}}}=d(),{noop:tS}=h(),{series:tT,seriesTypes:{column:tC}}=d();class tX extends tT{translate(){let t=this.yAxis,e=this.options,s=t.center;this.generatePoints(),this.points.forEach(a=>{if(!(0,i.isNumber)(a.y))return;let o=(0,i.merge)(e.dial,a.dial),r=(0,i.relativeLength)(o.radius,s[2]/2),n=(0,i.relativeLength)(o.baseLength,r),l=Math.min((0,i.relativeLength)(o.rearLength,r),r),h=Math.min((0,i.relativeLength)(o.baseWidth,r),r),p=(0,i.relativeLength)(o.topWidth,r),d=(0,i.relativeLength)(o.borderRadius,r),c=Math.min(d,h/2),u=Math.min(d,p/2),g=e.wrap??t.endAngleRad-t.startAngleRad>2*Math.PI-.01,m=e.overshoot,f=t.startAngleRad+t.translate(a.y,void 0,void 0,void 0,!0);((0,i.isNumber)(m)||!g)&&(m=(0,i.isNumber)(m)?m/180*Math.PI:0,f=(0,i.clamp)(f,t.startAngleRad-m,t.endAngleRad+m)),a.tooltipPos=[s[0]+Math.cos(f)*r,s[1]+Math.sin(f)*r],f=180*f/Math.PI,a.shapeType="path",a.shapeArgs={d:o.path||[["M",c-l,-h/2],["L",n,-h/2],["L",r-u,-p/2],["A",u,u,0,0,1,r,-p/2+u],["L",r,p/2-u],["A",u,u,0,0,1,r-u,p/2],["L",n,h/2],["L",c-l,h/2],["A",c,c,0,0,1,-l,h/2-c],["L",-l,c-h/2],["A",c,c,0,0,1,c-l,-h/2],["Z"]],translateX:s[0],translateY:s[1],rotation:f},a.plotX=s[0],a.plotY=s[1],(0,i.defined)(a.y)&&t.max-t.min&&(a.percentage=(a.y-t.min)/(t.max-t.min)*100)})}drawPoints(){let t=this,e=t.chart,s=t.yAxis.center,a=t.pivot,o=t.options,r=o.pivot,n=e.renderer,l=(0,i.relativeLength)(r?.radius||0,s[2]/2);t.points.forEach(s=>{if((0,i.isNumber)(s.y)){let a=s.graphic,r=s.shapeArgs,l=r.d,h=(0,i.merge)(o.dial,s.dial);a?(a.animate(r),r.d=l):s.graphic=n[s.shapeType](r).addClass("highcharts-dial").add(t.group),!e.styledMode&&s.graphic&&s.graphic[a?"animate":"attr"]({stroke:h.borderColor,"stroke-width":h.borderWidth,fill:h.backgroundColor})}}),a?a.animate({translateX:s[0],translateY:s[1],r:l}):r&&(t.pivot=n.circle(0,0,l).attr({zIndex:2}).addClass("highcharts-pivot").translate(s[0],s[1]).add(t.group),e.styledMode||t.pivot.attr({fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth}))}animate(t){let e=this;t||e.points.forEach(t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))})}setData(t,e){tT.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),(0,i.pick)(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}tX.defaultOptions=(0,i.merge)(tT.defaultOptions,{clip:!1,color:"var(--highcharts-neutral-color-20)",dataLabels:{crop:!1,defer:!1,distance:0,enabled:!0,padding:5,verticalAlign:"top",style:{fontSize:"1.4em"},y:25,zIndex:2},dial:{backgroundColor:"var(--highcharts-neutral-color-100)",baseLength:0,baseWidth:"18%",borderColor:"var(--highcharts-neutral-color-20)",borderRadius:"9%",borderWidth:0,radius:"70%",rearLength:"9%",topWidth:"4%"},pivot:{radius:"4%",borderWidth:2,borderColor:"var(--highcharts-neutral-color-100)",backgroundColor:"var(--highcharts-background-color)"},threshold:0,tooltip:{headerFormat:""},showInLegend:!1}),(0,i.extend)(tX.prototype,{angular:!0,directTouch:!0,drawGraph:tS,drawTracker:tC.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:class extends tN{setState(t){this.state=t}},trackerGroups:["group","dataLabelsGroup"]}),d().registerSeriesType("gauge",tX);let tY=t.default.Color;var tE=e.n(tY);let{composed:tR}=h();function tI(){let t,e,s,a,o=this;o.container&&(t=(0,i.addEvent)(o.container,"mousedown",t=>{e&&e(),s&&s(),(a=o.hoverPoint)&&a.series&&a.series.hasDraggableNodes&&a.series.options.draggable&&(a.series.onMouseDown(a,t),e=(0,i.addEvent)(o.container,"mousemove",t=>a&&a.series&&a.series.onMouseMove(a,t)),s=(0,i.addEvent)(o.container.ownerDocument,"mouseup",t=>(e(),s(),a&&a.series&&a.series.onMouseUp(a,t))))})),(0,i.addEvent)(o,"destroy",function(){t()})}let tz={compose:function(t){(0,i.pushUnique)(tR,"DragNodes")&&(0,i.addEvent)(t,"load",tI)},onMouseDown:function(t,e){let{panKey:i}=this.chart.options.chart;if(i&&e[`${i}Key`])return;let s=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:s.chartX,chartY:s.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s,a=this.chart,o=a.pointer?.normalize(e)||e,r=t.fixedPosition.chartX-o.chartX,n=t.fixedPosition.chartY-o.chartY,l=a.graphLayoutsLookup;(Math.abs(r)>5||Math.abs(n)>5)&&(i=t.fixedPosition.plotX-r,s=t.fixedPosition.plotY-n,a.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach(t=>{t.restartSimulation()})))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath((0,i.isObject)(this.options.states?.hover?.halo)&&this.options.states?.hover?.halo.size||0)})}},{composed:tO}=h();function tD(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation()}),this.redraw())}function tB(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation(!1)}),this.redraw())}function tW(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(t=>{t.stop()})}function tF(){let t,e=!1,s=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup&&!this.pointer?.hasDragged){for((0,i.setAnimation)(!1,this),this.graphLayoutsLookup.forEach(t=>t.start());!t;)t=!0,this.graphLayoutsLookup.forEach(s);e&&this.series.forEach(t=>{t&&t.layout&&(t.render(),(0,i.fireEvent)(t,"afterSimulation"))})}}let tH=function(t){(0,i.pushUnique)(tO,"GraphLayout")&&((0,i.addEvent)(t,"afterPrint",tD),(0,i.addEvent)(t,"beforePrint",tB),(0,i.addEvent)(t,"predraw",tW),(0,i.addEvent)(t,"render",tF))},tG={},tq={},tK=t.default.Chart;var tV=e.n(tK);let{seriesTypes:{bubble:{prototype:{pointClass:tU}}}}=d(),tj=class extends tU{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),ta().prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let e=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,ta().prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=e}else ta().prototype.firePointEvent.apply(this,arguments)}select(){let t=this.series.chart;this.isParentNode?(t.getSelectedPoints=t.getSelectedParentNodes,ta().prototype.select.apply(this,arguments),t.getSelectedPoints=tV().prototype.getSelectedPoints):ta().prototype.select.apply(this,arguments)}setState(t,e){this?.graphic?.parentGroup?.element&&super.setState(t,e)}},tZ={attractive:function(t,e,i){let s=t.getMass(),a=-i.x*e*this.diffTemperature,o=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=a*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=o*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=a*s.toNode/t.toNode.degree,t.toNode.plotY+=o*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach(function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,a=e.prevX,o=e.prevY,r=(e.plotX+e.dispX-a)*i,n=(e.plotY+e.dispY-o)*i,l=Math.abs,h=l(r)/(r||1),p=l(n)/(n||1),d=h*Math.min(s,Math.abs(r)),c=p*Math.min(s,Math.abs(n));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=c,e.temperature=t.vectorLength({x:d,y:c})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t)}},{noop:t$}=h(),t_={barycenter:function(){let t,e,i=this.options.gravitationalConstant||0,s=this.box,a=this.nodes,o=Math.sqrt(a.length);for(let r of a)if(!r.fixedPosition){let a=r.mass*o,n=r.plotX||0,l=r.plotY||0,h=r.series,p=h.parentNode;this.resolveSplitSeries(r)&&p&&!r.isParentNode?(t=p.plotX||0,e=p.plotY||0):(t=s.width/2,e=s.height/2),r.plotX=n-(n-t)*i/a,r.plotY=l-(l-e)*i/a,h.chart.hoverPoint===r&&h.redrawHalo&&h.halo&&h.redrawHalo(r)}},getK:t$,integrate:tZ.integrate,repulsive:function(t,e,i,s){let a=e*this.diffTemperature/t.mass/t.degree,o=i.x*a,r=i.y*a;t.fixedPosition||(t.plotX+=o,t.plotY+=r),s.fixedPosition||(s.plotX-=o,s.plotY-=r)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}},tQ={attractive:function(t,e,i,s){let a=t.getMass(),o=i.x/s*e,r=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=o*a.fromNode/t.fromNode.degree,t.fromNode.dispY-=r*a.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=o*a.toNode/t.toNode.degree,t.toNode.dispY+=r*a.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(s){if(!s.fixedPosition){let a=s.getDegree(),o=a*(1+a/2);s.dispX+=(e-s.plotX)*t*o/s.degree,s.dispY+=(i-s.plotY)*t*o/s.degree}})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}};class tJ{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let t=this.box.width/2,e=this.box.height/2;this.nodes[0]=new tJ({left:this.box.left,top:this.box.top,width:t,height:e}),this.nodes[1]=new tJ({left:this.box.left+t,top:this.box.top,width:t,height:e}),this.nodes[2]=new tJ({left:this.box.left+t,top:this.box.top+e,width:t,height:e}),this.nodes[3]=new tJ({left:this.box.left,top:this.box.top+e,width:t,height:e})}getBoxPosition(t){let e=t.plotX<this.box.left+this.box.width/2,i=t.plotY<this.box.top+this.box.height/2;return e?3*!i:i?1:2}insert(t,e){let i;this.isInternal?this.nodes[this.getBoxPosition(t)].insert(t,e-1):(this.isEmpty=!1,this.body?e?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,e-1),this.body=!0),this.nodes[this.getBoxPosition(t)].insert(t,e-1)):((i=new tJ({top:t.plotX||NaN,left:t.plotY||NaN,width:.1,height:.1})).body=t,i.isInternal=!1,this.nodes.push(i)):(this.isInternal=!1,this.body=t))}updateMassAndCenter(){let t=0,e=0,i=0;if(this.isInternal){for(let s of this.nodes)s.isEmpty||(t+=s.mass,e+=s.plotX*s.mass,i+=s.plotY*s.mass);e/=t,i/=t}else this.body&&(t=this.body.mass,e=this.body.plotX,i=this.body.plotY);this.mass=t,this.plotX=e,this.plotY=i}}let t0=class{constructor(t,e,i,s){this.box={left:t,top:e,width:i,height:s},this.maxDepth=25,this.root=new tJ(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(t){t.updateMassAndCenter()})}insertNodes(t){for(let e of t)this.root.insert(e,this.maxDepth)}visitNodeRecursive(t,e,i){let s;if(t||(t=this.root),t===this.root&&e&&(s=e(t)),!1!==s){for(let a of t.nodes){if(a.isInternal){if(e&&(s=e(a)),!1===s)continue;this.visitNodeRecursive(a,e,i)}else a.body&&e&&e(a.body);i&&i(a)}t===this.root&&i&&i(t)}}},{win:t1}=h();class t2{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(t){tH(t),tG.euler=tQ,tG.verlet=tZ,tq["reingold-fruchterman"]=t2}init(t){this.options=t,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=tG[t.integration],this.enableSimulation=t.enableSimulation,this.attractiveForce=(0,i.pick)(t.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=(0,i.pick)(t.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=t.approximation}updateSimulation(t){this.enableSimulation=(0,i.pick)(t,this.options.enableSimulation)}start(){let t=this.series,e=this.options;this.currentStep=0,this.forces=t[0]&&t[0].forces||[],this.chart=t[0]&&t[0].chart,this.initialRendering&&(this.initPositions(),t.forEach(function(t){t.finishedAnimating=!0,t.render()})),this.setK(),this.resetSimulation(e),this.enableSimulation&&this.step()}step(){let t=this.series;for(let t of(this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[t+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let e of t)e.chart&&e.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&t1.cancelAnimationFrame(this.simulation),this.simulation=t1.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(t=>{(0,i.fireEvent)(t,"afterSimulation")}))}}stop(){this.simulation&&t1.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=(0,i.pick)(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new t0(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if((0,i.isFunction)(t)