/* Highcharts JS v10.2.1 (2022-08-29) Highcharts Drilldown module Author: Torstein Honsi License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/drilldown",["highcharts"],function(x){a(x);a.Highcharts=x;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function x(a,w,n,q){a.hasOwnProperty(w)||(a[w]=q.apply(null,n),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:w,module:a[w]}})))}a=a?a._modules:{};x(a, "Extensions/Breadcrumbs.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"],a["Core/FormatUtilities.js"]],function(a,w,n,q,p){var x=p.format;p=q.addEvent;var C=q.objectEach,G=q.extend,z=q.fireEvent,A=q.merge,y=q.pick,H=q.defined,E=q.isString;G(n.defaultOptions.lang,{mainBreadcrumb:"Main"});n=function(){function a(b,d){this.group=void 0;this.list=[];this.elementList={};this.isDirty=!0;this.level=0;this.options=void 0;d=A(b.options.drilldown&&b.options.drilldown.drillUpButton, a.defaultBreadcrumbsOptions,b.options.navigation&&b.options.navigation.breadcrumbs,d);this.chart=b;this.options=d||{}}a.prototype.updateProperties=function(b){this.setList(b);this.setLevel();this.isDirty=!0};a.prototype.setList=function(b){this.list=b};a.prototype.setLevel=function(){this.level=this.list.length&&this.list.length-1};a.prototype.getLevel=function(){return this.level};a.prototype.getButtonText=function(b){var a=this.chart,e=this.options,h=a.options.lang,g=y(e.format,e.showFullPath?"{level.name}": "\u2190 {level.name}");h=h&&y(h.drillUpText,h.mainBreadcrumb);b=e.formatter&&e.formatter(b)||x(g,{level:b.levelOptions},a)||"";(E(b)&&!b.length||"\u2190 "===b)&&H(h)&&(b=e.showFullPath?h:"\u2190 "+h);return b};a.prototype.redraw=function(){this.isDirty&&this.render();this.group&&this.group.align();this.isDirty=!1};a.prototype.render=function(){var a=this.chart,d=this.options;!this.group&&d&&(this.group=a.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:d.zIndex}).add()); d.showFullPath?this.renderFullPathButtons():this.renderSingleButton();this.alignBreadcrumbsGroup()};a.prototype.renderFullPathButtons=function(){this.destroySingleButton();this.resetElementListState();this.updateListElements();this.destroyListElements()};a.prototype.renderSingleButton=function(){var a=this.chart,d=this.list,e=this.options.buttonSpacing;this.destroyListElements();var h=this.group?this.group.getBBox().width:e;d=d[d.length-2];!a.drillUpButton&&0c[c.length-1].level&&c.push({level:a.levelNumber+1,levelOptions:t({name:a.lowerSeries.name},a.pointOptions)})}));return c};n.prototype.drillUp= function(){if(this.drilldownLevels&&0!==this.drilldownLevels.length){r(this,"beforeDrillUp");for(var a=this,c=a.drilldownLevels,b=c[c.length-1].levelNumber,l=c.length,d=a.series,v,e,m,g,h=function(c){d.forEach(function(a){a.options._ddSeriesId===c._ddSeriesId&&(f=a)});var f=f||a.addSeries(c,!1);f.type===m.type&&f.animateDrillupTo&&(f.animate=f.animateDrillupTo);c===e.seriesPurgedOptions&&(g=f)},k=a.drilldownLevels.length;l--;)if(e=c[l],e.levelNumber===b){c.pop();m=e.lowerSeries;if(!m.chart)for(v= d.length;v--;)if(d[v].options.id===e.lowerSeriesOptions.id&&d[v].options._levelNumber===b+1){m=d[v];break}m.xData=[];m.xAxis&&m.xAxis.names&&(0===k||l===k)&&(m.xAxis.names.length=0);e.levelSeriesOptions.forEach(h);r(a,"drillup",{seriesOptions:e.seriesPurgedOptions||e.seriesOptions});g.type===m.type&&(g.drilldownLevel=e,g.options.animation=a.options.drilldown.animation,m.animateDrillupFrom&&m.chart&&m.animateDrillupFrom(e));g.options._levelNumber=b;m.remove(!1);g.xAxis&&(v=e.oldExtremes,g.xAxis.setExtremes(v.xMin, v.xMax,!1),g.yAxis.setExtremes(v.yMin,v.yMax,!1));e.resetZoomButton&&(a.resetZoomButton=e.resetZoomButton)}r(a,"afterDrillUp");this.redraw();this.ddDupes&&(this.ddDupes.length=0);r(a,"drillupall")}};g(n,"afterInit",function(){var a=this;a.drilldown={chart:a,fadeInGroup:d,update:function(c,f){t(!0,a.options.drilldown,c);D(f,!0)&&a.redraw()}}});g(n,"render",function(){(this.xAxis||[]).forEach(function(a){a.ddPoints={};a.series.forEach(function(c){var f,b=c.xData||[],d=c.points;for(f=0;f