/* Highstock JS v9.0.1 (2021-02-15) Highstock as a plugin for Highcharts (c) 2010-2021 Torstein Honsi License: www.highcharts.com/license */ (function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/stock",["highcharts"],function(K){d(K);d.Highcharts=K;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function K(d,B,x,n){d.hasOwnProperty(B)||(d[B]=n.apply(null,x))}d=d?d._modules:{};K(d,"Core/Axis/NavigatorAxis.js",[d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,B){var x=d.isTouchDevice,n=B.addEvent,w=B.correctFloat, D=B.defined,A=B.isNumber,v=B.pick,C=function(){function a(a){this.axis=a}a.prototype.destroy=function(){this.axis=void 0};a.prototype.toFixedRange=function(a,h,l,e){var c=this.axis,k=c.chart;k=k&&k.fixedRange;var G=(c.pointRange||0)/2;a=v(l,c.translate(a,!0,!c.horiz));h=v(e,c.translate(h,!0,!c.horiz));c=k&&(h-a)/k;D(l)||(a=w(a+G));D(e)||(h=w(h-G));.7c&&(e?a=h-k:h=a+k);A(a)&&A(h)||(a=h=void 0);return{min:a,max:h}};return a}();return function(){function a(){}a.compose=function(a){a.keepProps.push("navigatorAxis"); n(a,"init",function(){this.navigatorAxis||(this.navigatorAxis=new C(this))});n(a,"zoom",function(a){var l=this.chart.options,e=l.navigator,c=this.navigatorAxis,k=l.chart.pinchType,h=l.rangeSelector;l=l.chart.zoomType;this.isXAxis&&(e&&e.enabled||h&&h.enabled)&&("y"===l?a.zoomed=!1:(!x&&"xy"===l||x&&"xy"===k)&&this.options.range&&(e=c.previousZoom,D(a.newMin)?c.previousZoom=[this.min,this.max]:e&&(a.newMin=e[0],a.newMax=e[1],c.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()})}; a.AdditionsClass=C;return a}()});K(d,"Core/Axis/ScrollbarAxis.js",[d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,B){var x=B.addEvent,n=B.defined,w=B.pick;return function(){function D(){}D.compose=function(A,v){var C=function(a){var p=w(a.options&&a.options.min,a.min),h=w(a.options&&a.options.max,a.max);return{axisMin:p,axisMax:h,scrollMin:n(a.dataMin)?Math.min(p,a.min,a.dataMin,w(a.threshold,Infinity)):p,scrollMax:n(a.dataMax)?Math.max(h,a.max,a.dataMax,w(a.threshold,-Infinity)):h}};x(A, "afterInit",function(){var a=this;a.options&&a.options.scrollbar&&a.options.scrollbar.enabled&&(a.options.scrollbar.vertical=!a.horiz,a.options.startOnTick=a.options.endOnTick=!1,a.scrollbar=new v(a.chart.renderer,a.options.scrollbar,a.chart),x(a.scrollbar,"changed",function(p){var h=C(a),l=h.axisMax,e=h.scrollMin,c=h.scrollMax-e;n(h.axisMin)&&n(l)&&(a.horiz&&!a.reversed||!a.horiz&&a.reversed?(h=e+c*this.to,e+=c*this.from):(h=e+c*(1-this.from),e+=c*(1-this.to)),w(this.options.liveRedraw,d.svg&&!d.isTouchDevice&& !this.chart.isBoosting)||"mouseup"===p.DOMType||"touchend"===p.DOMType||!n(p.DOMType)?a.setExtremes(e,h,!0,"mousemove"!==p.DOMType&&"touchmove"!==p.DOMType,p):this.setRange(this.from,this.to))}))});x(A,"afterRender",function(){var a=C(this),p=a.scrollMin,h=a.scrollMax;a=this.scrollbar;var l=this.axisTitleMargin+(this.titleOffset||0),e=this.chart.scrollbarsOffsets,c=this.options.margin||0;a&&(this.horiz?(this.opposite||(e[1]+=l),a.position(this.left,this.top+this.height+2+e[1]-(this.opposite?c:0), this.width,this.height),this.opposite||(e[1]+=c),l=1):(this.opposite&&(e[0]+=l),a.position(this.left+this.width+2+e[0]-(this.opposite?0:c),this.top,this.width,this.height),this.opposite&&(e[0]+=c),l=0),e[l]+=a.size+a.options.margin,isNaN(p)||isNaN(h)||!n(this.min)||!n(this.max)||this.min===this.max?a.setRange(0,1):(e=(this.min-p)/(h-p),p=(this.max-p)/(h-p),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,p):a.setRange(1-p,1-e)))});x(A,"afterGetOffset",function(){var a=this.horiz? 2:1,p=this.scrollbar;p&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[a]+=p.size+p.options.margin)})};return D}()});K(d,"Core/Scrollbar.js",[d["Core/Axis/Axis.js"],d["Core/Globals.js"],d["Core/Color/Palette.js"],d["Core/Axis/ScrollbarAxis.js"],d["Core/Utilities.js"],d["Core/Options.js"]],function(d,B,x,n,w,D){var A=w.addEvent,v=w.correctFloat,C=w.defined,a=w.destroyObjectProperties,p=w.fireEvent,h=w.merge,l=w.pick,e=w.removeEvent;w=D.defaultOptions;var c=B.isTouchDevice,k=B.swapXY=function(a, m){m&&a.forEach(function(m){for(var f=m.length,a,q=0;qthis.calculatedWidth?a.minWidth:0;return{chartX:(m.chartX-this.x-this.xOffset)/(this.barWidth-a),chartY:(m.chartY-this.y-this.yOffset)/(this.barWidth-a)}};G.prototype.destroy=function(){var m=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup", "group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);m&&this===m.scrollbar&&(m.scrollbar=null,a(m.scrollbarButtons))};G.prototype.drawScrollbarButton=function(a){var m=this.renderer,f=this.scrollbarButtons,H=this.options,c=this.size;var e=m.g().add(this.group);f.push(e);e=m.rect().addClass("highcharts-scrollbar-button").add(e);this.chart.styledMode||e.attr({stroke:H.buttonBorderColor,"stroke-width":H.buttonBorderWidth,fill:H.buttonBackgroundColor});e.attr(e.crisp({x:-.5, y:-.5,width:c+1,height:c+1,r:H.buttonBorderRadius},e.strokeWidth()));e=m.path(k([["M",c/2+(a?-1:1),c/2-3],["L",c/2+(a?-1:1),c/2+3],["L",c/2+(a?2:-2),c/2]],H.vertical)).addClass("highcharts-scrollbar-arrow").add(f[a]);this.chart.styledMode||e.attr({fill:H.buttonArrowColor})};G.prototype.init=function(a,q,f){this.scrollbarButtons=[];this.renderer=a;this.userOptions=q;this.options=h(G.defaultOptions,q);this.chart=f;this.size=l(this.options.size,this.options.height);q.enabled&&(this.render(),this.addEvents())}; G.prototype.mouseDownHandler=function(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0};G.prototype.mouseMoveHandler=function(a){var m=this.chart.pointer.normalize(a),f=this.options.vertical?"chartY":"chartX",k=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][f]||(m=this.cursorToScrollbarPosition(m)[f],f=this[f],f=m-f,this.hasDragged=!0,this.updatePosition(k[0]+ f,k[1]+f),this.hasDragged&&p(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};G.prototype.mouseUpHandler=function(a){this.hasDragged&&p(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};G.prototype.position=function(a,k,f,c){var m=this.options.vertical,q=0,e=this.rendered?"animate":"attr";this.x=a;this.y=k+this.trackBorderWidth;this.width=f;this.xOffset= this.height=c;this.yOffset=q;m?(this.width=this.yOffset=f=q=this.size,this.xOffset=k=0,this.barWidth=c-2*f,this.x=a+=this.options.margin):(this.height=this.xOffset=c=k=this.size,this.barWidth=f-2*c,this.y+=this.options.margin);this.group[e]({translateX:a,translateY:this.y});this.track[e]({width:f,height:c});this.scrollbarButtons[1][e]({translateX:m?0:f-k,translateY:m?c-q:0})};G.prototype.removeEvents=function(){this._events.forEach(function(a){e.apply(null,a)});this._events.length=0};G.prototype.render= function(){var a=this.renderer,c=this.options,f=this.size,e=this.chart.styledMode,l;this.group=l=a.g("scrollbar").attr({zIndex:c.zIndex,translateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:c.trackBorderRadius||0,height:f,width:f}).add(l);e||this.track.attr({fill:c.trackBackgroundColor,stroke:c.trackBorderColor,"stroke-width":c.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup= a.g().add(l);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:f,width:f,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(k([["M",-3,f/4],["L",-3,2*f/3],["M",0,f/4],["L",0,2*f/3],["M",3,f/4],["L",3,2*f/3]],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);e||(this.scrollbar.attr({fill:c.barBackgroundColor,stroke:c.barBorderColor,"stroke-width":c.barBorderWidth}),this.scrollbarRifles.attr({stroke:c.rifleColor,"stroke-width":1})); this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};G.prototype.setRange=function(a,c){var f=this.options,m=f.vertical,k=f.minWidth,e=this.barWidth,q,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(C(e)){a=Math.max(a,0);var h=Math.ceil(e*a);this.calculatedWidth=q=v(e*Math.min(c,1)-h);q< k&&(h=(e-k+q)*a,q=k);k=Math.floor(h+this.xOffset+this.yOffset);e=q/2-.5;this.from=a;this.to=c;m?(this.scrollbarGroup[l]({translateY:k}),this.scrollbar[l]({height:q}),this.scrollbarRifles[l]({translateY:e}),this.scrollbarTop=k,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:k}),this.scrollbar[l]({width:q}),this.scrollbarRifles[l]({translateX:e}),this.scrollbarLeft=k,this.scrollbarTop=0);12>=q?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===f.showFull&&(0>=a&&1<=c?this.group.hide(): this.group.show());this.rendered=!0}};G.prototype.trackClick=function(a){var m=this.chart.pointer.normalize(a),f=this.to-this.from,c=this.y+this.scrollbarTop,k=this.x+this.scrollbarLeft;this.options.vertical&&m.chartY>c||!this.options.vertical&&m.chartX>k?this.updatePosition(this.from+f,this.to+f):this.updatePosition(this.from-f,this.to-f);p(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};G.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,h(!0, this.options,a),this.chart)};G.prototype.updatePosition=function(a,c){1a&&(c=v(c-a),a=0);this.from=a;this.to=c};G.defaultOptions={height:c?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:x.neutralColor20,barBorderWidth:1,barBorderColor:x.neutralColor20,buttonArrowColor:x.neutralColor80,buttonBackgroundColor:x.neutralColor10,buttonBorderColor:x.neutralColor20,buttonBorderWidth:1,rifleColor:x.neutralColor80, trackBackgroundColor:x.neutralColor5,trackBorderColor:x.neutralColor5,trackBorderWidth:1};return G}();B.Scrollbar||(w.scrollbar=h(!0,D.defaultOptions,w.scrollbar),B.Scrollbar=D,n.compose(d,D));return B.Scrollbar});K(d,"Core/Navigator.js",[d["Core/Axis/Axis.js"],d["Core/Chart/Chart.js"],d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Axis/NavigatorAxis.js"],d["Core/Options.js"],d["Core/Color/Palette.js"],d["Core/Scrollbar.js"],d["Core/Series/Series.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]], function(d,B,x,n,w,D,A,v,C,a,p){x=x.parse;var h=n.hasTouch,l=n.isTouchDevice,e=D.defaultOptions,c=p.addEvent,k=p.clamp,G=p.correctFloat,m=p.defined,q=p.destroyObjectProperties,f=p.erase,H=p.extend,N=p.find,M=p.isArray,J=p.isNumber,L=p.merge,E=p.pick,F=p.removeEvent,y=p.splat,r=function(b){for(var g=[],u=1;uh&&(this.grabbedLeft?z=f.toPixels(b-h-I,!0):this.grabbedRight&&(a=f.toPixels(g+h+I,!0)));this.zoomedMax=k(Math.max(z,a),0,e);this.zoomedMin=k(this.fixedWidth?this.zoomedMax-this.fixedWidth: Math.min(z,a),0,e);this.range=this.zoomedMax-this.zoomedMin;e=Math.round(this.zoomedMax);z=Math.round(this.zoomedMin);y&&(this.navigatorGroup.attr({visibility:"visible"}),l=l&&!this.hasDragged?"animate":"attr",this.drawMasks(z,e,q,l),this.drawOutline(z,e,q,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(z,0,q,l),this.drawHandle(e,1,q,l)));this.scrollbar&&(q?(q=this.top-t,c=this.left-t+(y||!c.opposite?0:(c.titleOffset||0)+c.axisTitleMargin),t=r+2*t):(q=this.top+(y?this.height:-t),c=this.left- t),this.scrollbar.position(c,q,u,t),this.scrollbar.setRange(this.zoomedMin/(r||1),this.zoomedMax/(r||1)));this.rendered=!0}};b.prototype.addMouseEvents=function(){var b=this,u=b.chart,z=u.container,a=[],t,r;b.mouseMoveHandler=t=function(g){b.onMouseMove(g)};b.mouseUpHandler=r=function(g){b.onMouseUp(g)};a=b.getPartsEvents("mousedown");a.push(c(u.renderTo,"mousemove",t),c(z.ownerDocument,"mouseup",r));h&&(a.push(c(u.renderTo,"touchmove",t),c(z.ownerDocument,"touchend",r)),a.concat(b.getPartsEvents("touchstart"))); b.eventsToUnbind=a;b.series&&b.series[0]&&a.push(c(b.series[0].xAxis,"foundExtremes",function(){u.navigator.modifyNavigatorAxisExtremes()}))};b.prototype.getPartsEvents=function(b){var g=this,z=[];["shades","handles"].forEach(function(u){g[u].forEach(function(a,t){z.push(c(a.element,b,function(b){g[u+"Mousedown"](b,t)}))})});return z};b.prototype.shadesMousedown=function(b,u){b=this.chart.pointer.normalize(b);var g=this.chart,a=this.xAxis,t=this.zoomedMin,r=this.left,f=this.size,c=this.range,y=b.chartX; g.inverted&&(y=b.chartY,r=this.top);if(1===u)this.grabbedCenter=y,this.fixedWidth=c,this.dragOffset=y-t;else{b=y-r-c/2;if(0===u)b=Math.max(0,b);else if(2===u&&b+c>=f)if(b=f-c,this.reversedExtremes){b-=c;var k=this.getUnionExtremes().dataMin}else var e=this.getUnionExtremes().dataMax;b!==t&&(this.fixedWidth=c,u=a.navigatorAxis.toFixedRange(b,b+c,k,e),m(u.min)&&g.xAxis[0].setExtremes(Math.min(u.min,u.max),Math.max(u.min,u.max),!0,null,{trigger:"navigator"}))}};b.prototype.handlesMousedown=function(b, u){this.chart.pointer.normalize(b);b=this.chart;var g=b.xAxis[0],a=this.reversedExtremes;0===u?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?g.min:g.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?g.max:g.min);b.fixedRange=null};b.prototype.onMouseMove=function(b){var g=this,a=g.chart,t=g.left,r=g.navigatorSize,f=g.range,c=g.dragOffset,y=a.inverted;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),a=b.chartX,y&&(t=g.top,a= b.chartY),g.grabbedLeft?(g.hasDragged=!0,g.render(0,0,a-t,g.otherHandlePos)):g.grabbedRight?(g.hasDragged=!0,g.render(0,0,g.otherHandlePos,a-t)):g.grabbedCenter&&(g.hasDragged=!0,ar+c-f&&(a=r+c-f),g.render(0,0,a-c,a-c+f)),g.hasDragged&&g.scrollbar&&E(g.scrollbar.options.liveRedraw,n.svg&&!l&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){g.onMouseUp(b)},0)))};b.prototype.onMouseUp=function(b){var g=this.chart,a=this.xAxis,t=this.scrollbar,r=b.DOMEvent||b,f=g.inverted,c= this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!t||!t.hasDragged)||"scrollbar"===b.trigger){t=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var y=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var k=this.fixedExtreme;this.zoomedMax===this.size&&(k=this.reversedExtremes?t.dataMin:t.dataMax);0===this.zoomedMin&&(y=this.reversedExtremes?t.dataMax:t.dataMin);a=a.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,y,k);m(a.min)&&g.xAxis[0].setExtremes(Math.min(a.min, a.max),Math.max(a.min,a.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:r})}"mousemove"!==b.DOMType&&"touchmove"!==b.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&J(this.zoomedMin)&&J(this.zoomedMax)&&(g=Math.round(this.zoomedMin),b=Math.round(this.zoomedMax),this.shades&&this.drawMasks(g,b,f,c),this.outline&&this.drawOutline(g, b,f,c),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(g,0,f,c),this.drawHandle(b,1,f,c)))};b.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};b.prototype.removeBaseSeriesEvents=function(){var b=this.baseSeries||[];this.navigatorEnabled&&b[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&b.forEach(function(b){F(b,"updatedData", this.updatedDataHandler)},this),b[0].xAxis&&F(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};b.prototype.init=function(b){var g=b.options,a=g.navigator,t=a.enabled,f=g.scrollbar,y=f.enabled;g=t?a.height:0;var k=y?f.height:0;this.handles=[];this.shades=[];this.chart=b;this.setBaseSeries();this.height=g;this.scrollbarHeight=k;this.scrollbarEnabled=y;this.navigatorEnabled=t;this.navigatorOptions=a;this.scrollbarOptions=f;this.outlineHeight=g+k;this.opposite=E(a.opposite,!(t||!b.inverted)); var e=this;t=e.baseSeries;f=b.xAxis.length;y=b.yAxis.length;var m=t&&t[0]&&t[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;e.navigatorEnabled?(e.xAxis=new d(b,L({breaks:m.options.breaks,ordinal:m.options.ordinal},a.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[k,0,-k,0],width:g}:{offsets:[0,-k,0,k],height:g})),e.yAxis=new d(b, L(a.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:y,isInternal:!0,reversed:E(a.yAxis&&a.yAxis.reversed,b.yAxis[0]&&b.yAxis[0].reversed,!1),zoomEnabled:!1},b.inverted?{width:g}:{height:g})),t||a.series.data?e.updateNavigatorSeries(!1):0===b.series.length&&(e.unbindRedraw=c(b,"beforeRedraw",function(){0t.indexOf(a)?(a&&(F(a, "updatedData",g.updatedDataHandler),delete a.navigatorSeries),b.chart&&b.destroy(),!1):!0});t&&t.length&&t.forEach(function(b){var z=b.navigatorSeries,y=H({color:b.color,visible:b.visible},M(c)?e.navigator.series:c);z&&!1===g.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+t.length,r=b.options||{},k=r.navigatorOptions||{},f=L(r,m,y,k),f.pointRange=E(y.pointRange,k.pointRange,e.plotOptions[f.type||"line"].pointRange),y=k.data||y.data,g.hasNavigatorData=g.hasNavigatorData||!!y,f.data=y||r.data&& r.data.slice(0),z&&z.options?z.update(f,a):(b.navigatorSeries=u.initSeries(f),b.navigatorSeries.baseSeries=b,q.push(b.navigatorSeries)))});if(c.data&&(!t||!t.length)||M(c))g.hasNavigatorData=!1,c=y(c),c.forEach(function(b,a){m.name="Navigator "+(q.length+1);f=L(e.navigator.series,{color:u.series[a]&&!u.series[a].options.isInternal&&u.series[a].color||u.options.colors[a]||u.options.colors[0]},m,b);f.data=b.data;f.data&&(g.hasNavigatorData=!0,q.push(u.initSeries(f)))});b&&this.addBaseSeriesEvents()}; b.prototype.addBaseSeriesEvents=function(){var b=this,a=b.baseSeries||[];a[0]&&a[0].xAxis&&c(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);a.forEach(function(g){c(g,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});c(g,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&g.xAxis&&c(g,"updatedData",this.updatedDataHandler);c(g,"remove",function(){this.navigatorSeries&&(f(b.series,this.navigatorSeries), m(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)};b.prototype.getBaseSeriesMin=function(b){return this.baseSeries.reduce(function(b,g){return Math.min(b,g.xData?g.xData[0]:b)},b)};b.prototype.modifyNavigatorAxisExtremes=function(){var b=this.xAxis,a;"undefined"!==typeof b.getExtremes&&(!(a=this.getUnionExtremes(!0))||a.dataMin===b.min&&a.dataMax===b.max||(b.min=a.dataMin,b.max=a.dataMax))};b.prototype.modifyBaseAxisExtremes=function(){var b=this.chart.navigator, a=this.getExtremes(),t=a.dataMin,r=a.dataMax;a=a.max-a.min;var f=b.stickToMin,c=b.stickToMax,y=E(this.options.overscroll,0),k=b.series&&b.series[0],e=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(f){var m=t;var q=m+a}c&&(q=r+y,f||(m=Math.max(t,q-a,b.getBaseSeriesMin(k&&k.xData?k.xData[0]:-Number.MAX_VALUE))));e&&(f||c)&&J(m)&&(this.min=this.userMin=m,this.max=this.userMax=q)}b.stickToMin=b.stickToMax=null};b.prototype.updatedDataHandler=function(){var b= this.chart.navigator,a=this.navigatorSeries,t=b.getBaseSeriesMin(this.xData[0]);b.stickToMax=b.reversedExtremes?0===Math.round(b.zoomedMin):Math.round(b.zoomedMax)>=Math.round(b.size);b.stickToMin=J(this.xAxis.min)&&this.xAxis.min<=t&&(!this.chart.fixedRange||!b.stickToMax);a&&!b.hasNavigatorData&&(a.options.pointStart=this.xData[0],a.setData(this.options.data,!1,null,!1))};b.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(c(this.chart,"redraw", function(){var b=this.navigator,a=b&&(b.baseSeries&&b.baseSeries[0]&&b.baseSeries[0].xAxis||this.xAxis[0]);a&&b.render(a.min,a.max)}),c(this.chart,"getMargins",function(){var b=this.navigator,a=b.opposite?"plotTop":"marginBottom";this.inverted&&(a=b.opposite?"marginRight":"plotLeft");this[a]=(this[a]||0)+(b.navigatorEnabled||!this.inverted?b.outlineHeight:0)+b.navigatorOptions.margin}))};b.prototype.destroy=function(){this.removeEvents();this.xAxis&&(f(this.chart.xAxis,this.xAxis),f(this.chart.axes, this.xAxis));this.yAxis&&(f(this.chart.yAxis,this.yAxis),f(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(b){b.destroy&&b.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(b){this[b]&&this[b].destroy&&this[b].destroy();this[b]=null},this);[this.handles].forEach(function(b){q(b)},this)};return b}();n.Navigator||(n.Navigator=b,w.compose(d),c(B,"beforeShowResetZoom",function(){var b= this.options,a=b.navigator,u=b.rangeSelector;if((a&&a.enabled||u&&u.enabled)&&(!l&&"x"===b.chart.zoomType||l&&"x"===b.chart.pinchType))return!1}),c(B,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new b(this)}),c(B,"afterSetChartSize",function(){var b=this.legend,a=this.navigator;if(a){var u=b&&b.options;var r=a.xAxis;var f=a.yAxis;var c=a.scrollbarHeight;this.inverted?(a.left=a.opposite?this.chartWidth-c-a.height:this.spacing[3]+ c,a.top=this.plotTop+c):(a.left=this.plotLeft+c,a.top=a.navigatorOptions.top||this.chartHeight-a.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(u&&"bottom"===u.verticalAlign&&"proximate"!==u.layout&&u.enabled&&!u.floating?b.legendHeight+E(u.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));r&&f&&(this.inverted?r.options.left=f.options.left=a.left:r.options.top=f.options.top=a.top,r.setAxisSize(),f.setAxisSize())}}),c(B,"update",function(b){var a= b.options.navigator||{},t=b.options.scrollbar||{};this.navigator||this.scroller||!a.enabled&&!t.enabled||(L(!0,this.options.navigator,a),L(!0,this.options.scrollbar,t),delete b.options.navigator,delete b.options.scrollbar)}),c(B,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new b(this),E(a.redraw,!0)&&this.redraw(a.animation))}),c(B,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null, !1)}),c(C,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),B.prototype.callbacks.push(function(b){var a=b.navigator;a&&b.xAxis[0]&&(b=b.xAxis[0].getExtremes(),a.render(b.min,b.max))}));n.Navigator=b;return n.Navigator});K(d,"Core/Axis/OrdinalAxis.js",[d["Core/Axis/Axis.js"],d["Core/Globals.js"],d["Core/Series/Series.js"],d["Core/Utilities.js"],d["Core/Chart/Chart.js"]],function(d,B,x,n,w){var D=n.addEvent,A=n.css,v=n.defined,C= n.error,a=n.pick,p=n.timeUnits,h;(function(l){var e=function(){function c(a){this.index={};this.axis=a}c.prototype.beforeSetTickPositions=function(){var c=this.axis,e=c.ordinal,m=[],q,f=!1,l=c.getExtremes(),h=l.min,p=l.max,d,v=c.isXAxis&&!!c.options.breaks;l=c.options.ordinal;var E=Number.MAX_VALUE,F=c.chart.options.chart.ignoreHiddenSeries,y;if(l||v){c.series.forEach(function(b,g){q=[];if(!(F&&!1===b.visible||!1===b.takeOrdinalPosition&&!v)&&(m=m.concat(b.processedXData),r=m.length,m.sort(function(b, a){return b-a}),E=Math.min(E,a(b.closestPointRange,E)),r)){for(g=0;gb||p-m[m.length-1]>b)&&(f=!0)}else c.options.overscroll&&(2===r?E=m[1]-m[0]:1===r?(E=c.options.overscroll,m=[m[0],m[0]+E]):E=e.overscrollPointsRange);f?(c.options.overscroll&&(e.overscrollPointsRange= E,m=m.concat(e.getOverscrollPositions())),e.positions=m,b=c.ordinal2lin(Math.max(h,m[0]),!0),d=Math.max(c.ordinal2lin(Math.min(p,m[m.length-1]),!0),1),e.slope=p=(p-h)/(d-b),e.offset=h-b*p):(e.overscrollPointsRange=a(c.closestPointRange,e.overscrollPointsRange),e.positions=c.ordinal.slope=e.offset=void 0)}c.isOrdinal=l&&f;e.groupIntervalFactor=null};c.prototype.getExtendedPositions=function(){var a=this,c=a.axis,e=c.constructor.prototype,q=c.chart,f=c.series[0].currentDataGrouping,l=a.index,h=f?f.count+ f.unitName:"raw",p=c.options.overscroll,d=c.getExtremes(),v;l||(l=a.index={});if(!l[h]){var E={series:[],chart:q,getExtremes:function(){return{min:d.dataMin,max:d.dataMax+p}},options:{ordinal:!0},ordinal:{},ordinal2lin:e.ordinal2lin,val2lin:e.val2lin};E.ordinal.axis=E;c.series.forEach(function(c){v={xAxis:E,xData:c.xData.slice(),chart:q,destroyGroupedData:B.noop,getProcessedData:x.prototype.getProcessedData};v.xData=v.xData.concat(a.getOverscrollPositions());v.options={dataGrouping:f?{enabled:!0, forced:!0,approximation:"open",units:[[f.unitName,[f.count]]]}:{enabled:!1}};c.processData.apply(v);E.series.push(v)});c.ordinal.beforeSetTickPositions.apply({axis:E});l[h]=E.ordinal.positions}return l[h]};c.prototype.getGroupIntervalFactor=function(a,c,e){e=e.processedXData;var k=e.length,f=[];var m=this.groupIntervalFactor;if(!m){for(m=0;mm.length||"undefined"===typeof c)return u.getTimeTicks.apply(u,arguments);var I=m.length;for(q=0;qe;m[q]5*l||d){if(m[q]>t){for(y=u.getTimeTicks(a,m[f],m[q],k);y.length&&y[0]<=t;)y.shift();y.length&&(t=y[y.length-1]);z.push(b.length);b=b.concat(y)}f=q+1}if(d)break}if(y){y= y.info;if(h&&y.unitRange<=p.hour){q=b.length-1;for(f=1;fe?z-1:z;for(O=void 0;f--;)q=H[f],z=Math.abs(O-q),O&&z<.8*g&&(null===u||z<.8*u)?(r[b[f]]&&!r[b[f+1]]?(z=f+1,O=q):z= f,b.splice(z,1)):O=q}return b};c.lin2val=function(a,c){var f=this.ordinal,e=f.positions;if(e){var m=f.slope,k=f.offset;f=e.length-1;if(c)if(0>a)a=e[0];else if(a>f)a=e[f];else{f=Math.floor(a);var l=a-f}else for(;f--;)if(c=m*f+k,a>=c){m=m*(f+1)+k;l=(a-c)/(m-c);break}return"undefined"!==typeof l&&"undefined"!==typeof e[f]?e[f]+(l?l*(e[f+1]-e[f]):0):a}return a};c.val2lin=function(a,c){var f=this.ordinal,e=f.positions;if(e){var m=e.length,k;for(k=m;k--;)if(e[k]===a){var l=k;break}for(k=m-1;k--;)if(a>e[k]|| 0===k){a=(a-e[k])/(e[k+1]-e[k]);l=k+a;break}c=c?l:f.slope*(l||0)+f.offset}else c=a;return c};c.ordinal2lin=c.val2lin;D(a,"afterInit",function(){this.ordinal||(this.ordinal=new l.Composition(this))});D(a,"foundExtremes",function(){this.isXAxis&&v(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&v(this.userMin)&&(this.min+=this.options.overscroll))}); D(a,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)});D(a,"initialAxisTranslation",function(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))});D(e,"pan",function(a){var c=this.xAxis[0],e=c.options.overscroll,k=a.originalEvent.chartX,m=this.options.chart&&this.options.chart.panning,l=!1;if(m&&"y"!==m.type&&c.options.ordinal&& c.series.length){var q=this.mouseDownX,h=c.getExtremes(),d=h.dataMax,y=h.min,r=h.max,b=this.hoverPoints,t=c.closestPointRange||c.ordinal&&c.ordinal.overscrollPointsRange;q=(q-k)/(c.translationSlope*(c.ordinal.slope||t));var g={ordinal:{positions:c.ordinal.getExtendedPositions()}};t=c.lin2val;var u=c.val2lin;if(!g.ordinal.positions)l=!0;else if(1q){b=g;var z=c.ordinal.positions?c:g}else b=c.ordinal.positions?c:g,z=g;g=z.ordinal.positions;d> g[g.length-1]&&g.push(d);this.fixedRange=r-y;q=c.navigatorAxis.toFixedRange(null,null,t.apply(b,[u.apply(b,[y,!0])+q,!0]),t.apply(z,[u.apply(z,[r,!0])+q,!0]));q.min>=Math.min(h.dataMin,y)&&q.max<=Math.max(d,r)+e&&c.setExtremes(q.min,q.max,!0,!1,{trigger:"pan"});this.mouseDownX=k;A(this.container,{cursor:"move"})}}else l=!0;l||m&&/y/.test(m.type)?e&&(c.max=c.dataMax+e):a.preventDefault()});D(h,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinal.index})}})(h||(h={}));h.compose(d, w,x);return h});K(d,"Core/Axis/BrokenAxis.js",[d["Core/Axis/Axis.js"],d["Core/Series/Series.js"],d["Extensions/Stacking.js"],d["Core/Utilities.js"]],function(d,B,x,n){var w=n.addEvent,D=n.find,A=n.fireEvent,v=n.isArray,C=n.isNumber,a=n.pick,p=function(){function h(a){this.hasBreaks=!1;this.axis=a}h.isInBreak=function(a,e){var c=a.repeat||Infinity,k=a.from,l=a.to-a.from;e=e>=k?(e-k)%c:c-(k-e)%c;return a.inclusive?e<=l:e=a)break;else k.to=a)break;else if(h.isInBreak(l,a)){c-=a-l.from;break}}return c};h.prototype.findBreakAt=function(a,e){return D(e,function(c){return c.fromw;)y-=v;for(;ya.to||h>a.from&&pa.from&&pa.from&&p>a.to&&pa&&c>=this.basePointRange&&(a=c),h=void 0;l--;)h&&!1!==h.visible||(h=e[l+1]),c=e[l],!1!==h.visible&&!1!==c.visible&&(h.x-c.x>a&&(h=(c.x+h.x)/2,e.splice(l+1,0,{isNull:!0,x:h}),f.stacking&&this.options.stacking&&(h=f.stacking.stacks[this.stackKey][h]=new x(f,f.options.stackLabels,!1,h,this.stack),h.total=0)),h=c);return this.getGraphPath(e)};w(l,"init",function(){this.brokenAxis||(this.brokenAxis=new p(this))});w(l,"afterInit",function(){"undefined"!==typeof this.brokenAxis&& this.brokenAxis.setBreaks(this.options.breaks,!1)});w(l,"afterSetTickPositions",function(){var a=this.brokenAxis;if(a&&a.hasBreaks){var c=this.tickPositions,e=this.tickPositions.info,l=[],f;for(f=0;f=b[0]);C++); for(C;C<=h;C++){for(;"undefined"!==typeof b[w+1]&&a[C]>=b[w+1]||C===h;){var n=b[w];g.dataGroupInfo={start:g.cropStart+A,length:d[0].length};var D=t.apply(g,d);g.pointClass&&!e(g.dataGroupInfo.options)&&(g.dataGroupInfo.options=q(g.pointClass.prototype.optionsToObject.call({series:g},g.options.data[g.cropStart+A])),F.forEach(function(b){delete g.dataGroupInfo.options[b]}));"undefined"!==typeof D&&(r.push(n),l.push(D),k.push(g.dataGroupInfo));A=C;for(n=0;nthis.chart.plotSizeX/t||c&&u.forced)&&(g=!0);return g?t:0};d.prototype.setDataGrouping=function(a,c){var b;c=f(c,!0);a||(a={forced:!1,units:null});if(this instanceof d)for(b=this.series.length;b--;)this.series[b].update({dataGrouping:a}, !1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinal&&(this.ordinal.slope=void 0);c&&this.chart.redraw()};x.dataGrouping=N;"";return N});K(d,"Series/OHLC/OHLCPoint.js",[d["Core/Series/SeriesRegistry.js"]],function(d){var B=this&&this.__extends||function(){var d=function(n,w){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,n){d.__proto__=n}||function(d,n){for(var v in n)n.hasOwnProperty(v)&&(d[v]=n[v])};return d(n,w)};return function(n,w){function x(){this.constructor= n}d(n,w);n.prototype=null===w?Object.create(w):(x.prototype=w.prototype,new x)}}();return function(d){function n(){var n=null!==d&&d.apply(this,arguments)||this;n.close=void 0;n.high=void 0;n.low=void 0;n.open=void 0;n.options=void 0;n.plotClose=void 0;n.plotOpen=void 0;n.series=void 0;return n}B(n,d);n.prototype.getClassName=function(){return d.prototype.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0});return v}(w);D(x.prototype,{animate:null,directTouch:!1,pointArrayMap:["open","high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}); x.prototype.pointClass=d;B.registerSeriesType("ohlc",x);"";return x});K(d,"Series/Candlestick/CandlestickSeries.js",[d["Core/Options.js"],d["Core/Color/Palette.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Utilities.js"]],function(d,B,x,n){var w=this&&this.__extends||function(){var a=function(d,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var c in e)e.hasOwnProperty(c)&&(a[c]=e[c])};return a(d,h)};return function(d,h){function l(){this.constructor= d}a(d,h);d.prototype=null===h?Object.create(h):(l.prototype=h.prototype,new l)}}(),D=d.defaultOptions;d=x.seriesTypes;var A=d.column,v=d.ohlc,C=n.merge;n=function(a){function d(){var d=null!==a&&a.apply(this,arguments)||this;d.data=void 0;d.options=void 0;d.points=void 0;return d}w(d,a);d.prototype.pointAttribs=function(a,d){var e=A.prototype.pointAttribs.call(this,a,d),c=this.options,k=a.openh)break}}}p.forEach(function(a,c){a.plotX+=B;if("undefined"===typeof a.plotY||m)0<=a.plotX&&a.plotX<=q.len?m?(a.plotY=q.translate(a.x,0,1,0,1),a.plotX=D(a.y)?f.translate(a.y,0,0,0,1):0):a.plotY=(q.opposite?0:d.yAxis.len)+q.offset:a.shapeArgs={};if((l=p[c-1])&&l.plotX===a.plotX){"undefined"===typeof l.stackIndex&&(l.stackIndex=0);var e=l.stackIndex+1}a.stackIndex=e});this.onSeries=e}}});K(d,"Series/Flags/FlagsSymbols.js",[d["Core/Globals.js"],d["Core/Renderer/SVG/SVGRenderer.js"]], function(d,B){function x(d){D[d+"pin"]=function(n,w,a,p,h){var l=h&&h.anchorX;h=h&&h.anchorY;"circle"===d&&p>a&&(n-=Math.round((p-a)/2),a=p);var e=D[d](n,w,a,p);if(l&&h){var c=l;"circle"===d?c=n+a/2:(n=e[0],a=e[1],"M"===n[0]&&"L"===a[0]&&(c=(n[1]+a[1])/2));e.push(["M",c,w>h?w:w+p],["L",l,h]);e=e.concat(D.circle(l-1,h-1,2,2))}return e}}var n=d.Renderer,w=d.VMLRenderer,D=B.prototype.symbols;D.flag=function(d,n,w,a,p){var h=p&&p.anchorX||d;p=p&&p.anchorY||n;var l=D.circle(h-1,p-1,2,2);l.push(["M",h, p],["L",d,n+a],["L",d,n],["L",d+w,n],["L",d+w,n+a],["L",d,n+a],["Z"]);return l};x("circle");x("square");n===w&&["circlepin","flag","squarepin"].forEach(function(d){w.prototype.symbols[d]=D[d]});return D});K(d,"Series/Flags/FlagsSeries.js",[d["Series/Flags/FlagsPoint.js"],d["Core/Globals.js"],d["Mixins/OnSeries.js"],d["Core/Color/Palette.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Renderer/SVG/SVGElement.js"],d["Core/Utilities.js"]],function(d,B,x,n,w,D,A){var v=this&&this.__extends||function(){var a= function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,e)};return function(c,e){function d(){this.constructor=c}a(c,e);c.prototype=null===e?Object.create(e):(d.prototype=e.prototype,new d)}}(),C=B.noop,a=w.series,p=w.seriesTypes.column,h=A.addEvent,l=A.defined,e=A.extend,c=A.merge,k=A.objectEach,G=A.wrap;A=function(e){function d(){var a=null!==e&&e.apply(this,arguments)||this;a.data= void 0;a.options=void 0;a.points=void 0;return a}v(d,e);d.prototype.animate=function(a){a&&this.setClip()};d.prototype.drawPoints=function(){var a=this.points,e=this.chart,d=e.renderer,h=e.inverted,m=this.options,n=m.y,p,q=this.yAxis,y={},r=[];for(p=a.length;p--;){var b=a[p];var t=(h?b.plotY:b.plotX)>this.xAxis.len;var g=b.plotX;var u=b.stackIndex;var z=b.options.shape||m.shape;var I=b.plotY;"undefined"!==typeof I&&(I=b.plotY+n-("undefined"!==typeof u&&u*m.stackDistance));b.anchorX=u?void 0:b.plotX; var v=u?void 0:b.plotY;var w="flag"!==z;u=b.graphic;"undefined"!==typeof I&&0<=g&&!t?(u||(u=b.graphic=d.label("",null,null,z,null,null,m.useHTML).addClass("highcharts-point").add(this.markerGroup),b.graphic.div&&(b.graphic.div.point=b),u.isNew=!0),u.attr({align:w?"center":"left",width:m.width,height:m.height,"text-align":m.textAlign}),e.styledMode||u.attr(this.pointAttribs(b)).css(c(m.style,b.style)).shadow(m.shadow),0"},threshold:null,y:-30,fillColor:n.backgroundColor,lineWidth:1,states:{hover:{lineColor:n.neutralColor100,fillColor:n.highlightColor20}},style:{fontSize:"11px",fontWeight:"bold"}});return d}(p);e(A.prototype,{allowDG:!1,buildKDTree:C,forceCrop:!0,getPlotBox:x.getPlotBox,init:a.prototype.init,invertGroups:C,invertible:!1,noSharedTooltip:!0,pointClass:d, sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],translate:x.translate});w.registerSeriesType("flags",A);"";"";return A});K(d,"Extensions/RangeSelector.js",[d["Core/Axis/Axis.js"],d["Core/Chart/Chart.js"],d["Core/Globals.js"],d["Core/Options.js"],d["Core/Color/Palette.js"],d["Core/Renderer/SVG/SVGElement.js"],d["Core/Utilities.js"]],function(d,B,x,n,w,D,A){function v(a){if(-1!==a.indexOf("%L"))return"text";var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}), c="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&c?"datetime-local":b?"date":c?"time":"text"}var C=n.defaultOptions,a=A.addEvent,p=A.createElement,h=A.css,l=A.defined,e=A.destroyObjectProperties,c=A.discardElement,k=A.extend,G=A.find,m=A.fireEvent,q=A.isNumber,f=A.merge,H=A.objectEach,K=A.pad,M=A.pick,J=A.pInt,L=A.splat;k(C,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28, height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:w.highlightColor80,cursor:"pointer"},labelStyle:{color:w.neutralColor60}}});k(C.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"}); var E=function(){function r(a){this.buttons=void 0;this.buttonOptions=r.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}r.prototype.clickButton=function(b,c){var g=this.chart,e=this.buttonOptions[b],t=g.xAxis[0],f=g.scroller&&g.scroller.getUnionExtremes()||t||{},r=f.dataMin,h=f.dataMax,k=t&&Math.round(Math.min(t.max,M(h,t.max))),p=e.type;f=e._range;var n,y=e.dataGrouping;if(null!==r&&null!==h){g.fixedRange=f;y&&(this.forcedDataGrouping=!0,d.prototype.setDataGrouping.call(t|| {chart:this.chart},y,!1),this.frozenStates=e.preserveDataGrouping);if("month"===p||"year"===p)if(t){p={range:e,max:k,chart:g,dataMin:r,dataMax:h};var v=t.minFromRange.call(p);q(p.newMax)&&(k=p.newMax)}else f=e;else if(f)v=Math.max(k-f,r),k=Math.min(v+f,h);else if("ytd"===p)if(t)"undefined"===typeof h&&(r=Number.MAX_VALUE,h=Number.MIN_VALUE,g.series.forEach(function(a){a=a.xData;r=Math.min(a[0],r);h=Math.max(a[a.length-1],h)}),c=!1),k=this.getYTDExtremes(h,r,g.time.useUTC),v=n=k.min,k=k.max;else{this.deferredYTDClick= b;return}else"all"===p&&t&&(v=r,k=h);l(v)&&(v+=e._offsetMin);l(k)&&(k+=e._offsetMax);this.setSelected(b);this.dropdown&&(this.dropdown.selectedIndex=b+1);if(t)t.setExtremes(v,k,M(c,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:e});else{var w=L(g.options.xAxis)[0];var F=w.range;w.range=f;var x=w.min;w.min=n;a(g,"load",function(){w.range=F;w.min=x})}m(this,"afterBtnClick")}};r.prototype.setSelected=function(a){this.selected=this.options.selected=a};r.prototype.init=function(b){var c= this,g=b.options.rangeSelector,e=g.buttons||c.defaultButtons.slice(),d=g.selected,f=function(){var a=c.minInput,b=c.maxInput;a&&a.blur&&m(a,"blur");b&&b.blur&&m(b,"blur")};c.chart=b;c.options=g;c.buttons=[];c.buttonOptions=e;this.eventsToUnbind=[];this.eventsToUnbind.push(a(b.container,"mousedown",f));this.eventsToUnbind.push(a(b,"resize",f));e.forEach(c.computeButtonRange);"undefined"!==typeof d&&e[d]&&this.clickButton(d,!1);this.eventsToUnbind.push(a(b,"load",function(){b.xAxis&&b.xAxis[0]&&a(b.xAxis[0], "setExtremes",function(a){this.max-this.min!==b.fixedRange&&"rangeSelectorButton"!==a.trigger&&"updatedData"!==a.trigger&&c.forcedDataGrouping&&!c.frozenStates&&this.setDataGrouping(!1,!1)})}))};r.prototype.updateButtonStates=function(){var a=this,c=this.chart,g=this.dropdown,e=c.xAxis[0],d=Math.round(e.max-e.min),f=!e.hasVisibleSeries,r=c.scroller&&c.scroller.getUnionExtremes()||e,h=r.dataMin,k=r.dataMax;c=a.getYTDExtremes(k,h,c.time.useUTC);var l=c.min,m=c.max,p=a.selected,n=q(p),y=a.options.allButtonsEnabled, v=a.buttons;a.buttonOptions.forEach(function(b,c){var t=b._range,u=b.type,r=b.count||1,z=v[c],q=0,I=b._offsetMax-b._offsetMin;b=c===p;var w=t>k-h,F=t=864E5*{month:28,year:365}[u]*r-I&&d-36E5<=864E5*{month:31,year:366}[u]*r+I?t=!0:"ytd"===u?(t=m-l+I===d,x=!b):"all"===u&&(t=e.max-e.min>=k-h,P=!b&&n&&t);u=!y&&(w||F||P||f);r=b&&t||t&&!n&&!x||b&&a.frozenStates;u?q=3:r&&(n=!0,q=2);z.state!==q&&(z.setState(q),g&&(g.options[c+1].disabled=u,2=== q&&(g.selectedIndex=c+1)),0===q&&p===c&&a.setSelected())})};r.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=M(a.offsetMin,0);a._offsetMax=M(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};r.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector, c=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,c.useUTC,c):0};r.prototype.setInputValue=function(a,c){var b=this.options,e=this.chart.time,d="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(d){var t=d.getAttribute("data-hc-time");t=l(t)?Number(t):void 0;l(c)&&(l(t)&&d.setAttribute("data-hc-time-previous",t),d.setAttribute("data-hc-time",c),t=c);d.value=e.dateFormat(this.inputTypeFormats[d.type]||b.inputEditDateFormat, t);a&&a.attr({text:e.dateFormat(b.inputDateFormat,t)})}};r.prototype.setInputExtremes=function(a,c,e){if(a="min"===a?this.minInput:this.maxInput){var b=this.inputTypeFormats[a.type],g=this.chart.time;b&&(c=g.dateFormat(b,c),a.min!==c&&(a.min=c),e=g.dateFormat(b,e),a.max!==e&&(a.max=e))}};r.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var c="text"===a.type,e=this.inputGroup,d=e.translateX;e=e.translateY; h(a,{width:c?b.width-2+"px":"auto",height:c?b.height-2+"px":"auto",border:"2px solid silver"});c?h(a,{left:d+b.x+"px",top:e+"px"}):h(a,{left:Math.min(Math.round(b.x+d-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:e-(a.offsetHeight-b.height)/2+"px"})}};r.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&h(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};r.prototype.defaultInputDateParser=function(a,c,e){var b=a.split("/").join("-").split(" ").join("T"); -1===b.indexOf("T")&&(b+="T00:00");if(c)b+="Z";else{var g;if(g=x.isSafari)g=b,g=!(6=g?"+"+K(-g)+":00":"-"+K(g)+":00")}b=Date.parse(b);q(b)||(a=a.split("-"),b=Date.UTC(J(a[0]),J(a[1])-1,J(a[2])));e&&c&&(b+=e.getTimezoneOffset(b));return b};r.prototype.drawInput=function(a){function b(){var b=r.getInputValue(a),e=c.xAxis[0],g=c.scroller&&c.scroller.xAxis?c.scroller.xAxis:e, d=g.dataMin;g=g.dataMax;var t=r.maxInput,f=r.minInput;b!==Number(A.getAttribute("data-hc-time-previous"))&&q(b)&&(A.setAttribute("data-hc-time-previous",b),y&&t&&q(d)?b>Number(t.getAttribute("data-hc-time"))?b=void 0:bg&&(b=g)),"undefined"!==typeof b&&e.setExtremes(y?b:e.min,y?e.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var c=this.chart,e=this.div,d=this.inputGroup,r=this,l=c.renderer.style||{},m=c.renderer,n=c.options.rangeSelector, y="min"===a,F=C.lang[y?"rangeSelectorFrom":"rangeSelectorTo"];F=m.label(F,0).addClass("highcharts-range-label").attr({padding:F?2:0}).add(d);m=m.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(a);r[a+"Input"].focus()});c.styledMode||m.attr({stroke:n.inputBoxBorderColor,"stroke-width":1});m.add(d);var A=p("input",{name:a,className:"highcharts-range-selector"},void 0,e);A.setAttribute("type", v(n.inputDateFormat||"%b %e, %Y"));c.styledMode||(F.css(f(l,n.labelStyle)),m.css(f({color:w.neutralColor80},l,n.inputStyle)),h(A,k({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:l.fontSize,fontFamily:l.fontFamily,top:"-9999em"},n.inputStyle)));A.onfocus=function(){r.showInput(a)};A.onblur=function(){A===x.doc.activeElement&&b();r.hideInput(a);r.setInputValue(a);A.blur()};var B=!1;A.onchange=function(){b();B||(r.hideInput(a), A.blur())};A.onkeypress=function(a){13===a.keyCode&&b()};A.onkeydown=function(){B=!0};A.onkeyup=function(){B=!1};return{dateBox:m,input:A,label:F}};r.prototype.getPosition=function(){var a=this.chart,c=a.options.rangeSelector;a="top"===c.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+c.buttonPosition.y,inputTop:a+c.inputPosition.y-10}};r.prototype.getYTDExtremes=function(a,c,e){var b=this.chart.time,g=new b.Date(a),d=b.get("FullYear",g);e=e?b.Date.UTC(d,0,1):+new b.Date(d,0,1);c=Math.max(c, e);g=g.getTime();return{max:Math.min(a||g,g),min:c}};r.prototype.render=function(a,c){var b=this.chart,e=b.renderer,d=b.container,f=b.options,t=f.rangeSelector,r=M(f.chart.style&&f.chart.style.zIndex,0)+1;f=t.inputEnabled;if(!1!==t.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=p("div",void 0,{position:"relative",height:0,zIndex:r}),this.buttonOptions.length&&this.renderButtons(),d.parentNode&&d.parentNode.insertBefore(this.div,d),f&&(this.inputGroup= e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(f&&(this.setInputValue("min",a),this.setInputValue("max",c),a=b.scroller&&b.scroller.getUnionExtremes()||b.xAxis[0]||{},l(a.dataMin)&&l(a.dataMax)&&(b=b.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-b),this.setInputExtremes("max", Math.max(a.dataMin,this.getInputValue("min"))+b,a.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){a&&a.width&&(a.attr({x:h}),h+=a.width+t.inputSpacing)})}this.alignElements();this.rendered=!0}};r.prototype.renderButtons=function(){var b=this,c=this.buttons,e=this.options,d=C.lang,r=this.chart.renderer,h=f(e.buttonTheme),k=h&&h.states,l=h.width||28;delete h.width;this.buttonGroup=r.g("range-selector-buttons").add(this.group);var n= this.dropdown=p("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);a(n,"touchstart",function(){n.style.fontSize="16px"});[[x.isMS?"mouseover":"mouseenter"],[x.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(e){var d=e[0],g=e[1];a(n,d,function(){var a=c[b.currentButtonIndex()];a&&m(a.element,g||d)})});this.zoomText=r.text(d.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(e.labelStyle), h["stroke-width"]=M(h["stroke-width"],0));p("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n);this.buttonOptions.forEach(function(a,e){p("option",{textContent:a.title||a.text},void 0,n);c[e]=r.button(a.text,0,0,function(c){var d=a.events&&a.events.click,g;d&&(g=d.call(a,c));!1!==g&&b.clickButton(e);b.isActive=!0},h,k&&k.hover,k&&k.select,k&&k.disabled).attr({"text-align":"center",width:l}).add(b.buttonGroup);a.title&&c[e].attr("title",a.title)})};r.prototype.alignElements=function(){var a= this,c=this.buttonGroup,e=this.buttons,d=this.chart,f=this.group,r=this.inputGroup,h=this.options,k=this.zoomText,l=d.options,m=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions;l=h.buttonPosition;var n=h.inputPosition,p=h.verticalAlign,q=function(b,c){return m&&a.titleCollision(d)&&"top"===p&&"right"===c.align&&c.y-b.getBBox().height-12<(m.y||0)+(m.height||0)+d.spacing[0]?-40:0},y=d.plotLeft;if(f&&l&&n){var v=l.x-d.spacing[3];if(c){this.positionButtons();if(!this.initialButtonGroupWidth){var w= 0;k&&(w+=k.getBBox().width+5);e.forEach(function(a,b){w+=a.width;b!==e.length-1&&(w+=h.buttonSpacing)});this.initialButtonGroupWidth=w}y-=d.spacing[3];this.updateButtonStates();k=q(c,l);this.alignButtonGroup(k);f.placed=c.placed=d.hasLoaded}c=0;r&&(c=q(r,n),"left"===n.align?v=y:"right"===n.align&&(v=-Math.max(d.axisOffset[1],-c)),r.align({y:n.y,width:r.getBBox().width,align:n.align,x:n.x+v-2},!0,d.spacingBox),r.placed=d.hasLoaded);this.handleCollision(c);f.align({verticalAlign:p},!0,d.spacingBox); r=f.alignAttr.translateY;c=f.getBBox().height+20;q=0;"bottom"===p&&(q=(q=d.legend&&d.legend.options)&&"bottom"===q.verticalAlign&&q.enabled&&!q.floating?d.legend.legendHeight+M(q.margin,10):0,c=c+q-20,q=r-c-(h.floating?0:h.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===p)h.floating&&(q=0),d.titleOffset&&d.titleOffset[0]&&(q=d.titleOffset[0]),q+=d.margin[0]-d.spacing[0]||0;else if("middle"===p)if(n.y===l.y)q=r;else if(n.y||l.y)q=0>n.y||0>l.y?q-Math.min(n.y,l.y):r-c;f.translate(h.x,h.y+Math.floor(q)); l=this.minInput;n=this.maxInput;r=this.dropdown;h.inputEnabled&&l&&n&&(l.style.marginTop=f.translateY+"px",n.style.marginTop=f.translateY+"px");r&&(r.style.marginTop=f.translateY+"px")}};r.prototype.alignButtonGroup=function(a,c){var b=this.chart,e=this.buttonGroup,d=this.options.buttonPosition,f=b.plotLeft-b.spacing[3],t=d.x-b.spacing[3];"right"===d.align?t+=a-f:"center"===d.align&&(t-=f/2);e&&e.align({y:d.y,width:M(c,this.initialButtonGroupWidth),align:d.align,x:t},!0,b.spacingBox)};r.prototype.positionButtons= function(){var a=this.buttons,c=this.chart,e=this.options,d=this.zoomText,f=c.hasLoaded?"animate":"attr",r=e.buttonPosition,h=c.plotLeft,k=h;d&&"hidden"!==d.visibility&&(d[f]({x:M(h+r.x,h)}),k+=r.x+d.getBBox().width+5);this.buttonOptions.forEach(function(b,c){if("hidden"!==a[c].visibility)a[c][f]({x:k}),k+=a[c].width+e.buttonSpacing;else a[c][f]({x:h})})};r.prototype.handleCollision=function(a){var b=this,c=this.chart,e=this.buttonGroup,d=this.inputGroup,f=this.options,r=f.buttonPosition,h=f.dropdown, k=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var l=function(b){if(d&&e){var c=d.alignAttr.translateX+d.alignOptions.x-a+d.getBBox().x+2,g=d.alignOptions.width,f=e.alignAttr.translateX+e.getBBox().x;return f+b>c&&c+g>f&&r.y=-a?0:-a),translateY:d.alignAttr.translateY+e.getBBox().height+10})};if(e){if("always"===h){this.collapseButtons(a); l(f())&&m();return}"never"===h&&this.expandButtons()}d&&e?k.align===r.align||l(this.initialButtonGroupWidth+20)?"responsive"===h?(this.collapseButtons(a),l(f())&&m()):m():"responsive"===h&&this.expandButtons():e&&"responsive"===h&&(this.initialButtonGroupWidth>c.plotWidth?this.collapseButtons(a):this.expandButtons())};r.prototype.collapseButtons=function(a){var b,c=this.buttons,e=this.buttonOptions,d=this.dropdown,f=this.options,r=this.zoomText,h=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto", paddingLeft:8,paddingRight:8}};r&&r.hide();var k=!1;e.forEach(function(a,b){b=c[b];2!==b.state?b.hide():(b.show(),b.attr(h(a.text)),k=!0)});k||(d&&(d.selectedIndex=0),c[0].show(),c[0].attr(h(null===(b=this.zoomText)||void 0===b?void 0:b.textStr)));b=f.buttonPosition.align;this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width);this.showDropdown()};r.prototype.expandButtons=function(){var a=this.buttons,c=this.buttonOptions,e=this.options, d=this.zoomText;this.hideDropdown();d&&d.show();c.forEach(function(b,c){c=a[c];c.show();c.attr({text:b.text,width:e.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>c.state&&c.setState(0)});this.positionButtons()};r.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0f&&0>d||0h+d.width)&&(B?m=p=k(m,h,h+d.width):b=!0);b||w.push(["M",m,n],["L",p,v])}):C.forEach(function(a){var b;m=a.pos;p=m+a.len;n=v=Math.round(l+d.height-E);"pass"!==B&&(n< l||n>l+d.height)&&(B?n=v=k(n,l,l+d.height):b=!0);b||w.push(["M",m,n],["L",p,v])}));a.path=0D?"hidden":"visible"});g=q.getBBox();if(K(q.y))if(h){if(x&&!k||!x&&k)p=q.y-g.height}else p=q.y-g.height/2;h?(c=l-g.x,d=l+this.width-g.x):(c="left"===this.labelAlign?l:0,d="right"===this.labelAlign?l+this.width: b.chartWidth);q.translateX=d&&(B=-(q.translateX+g.width-d));q.attr({x:e+B,y:p,anchorX:h?e:this.opposite?0:b.chartWidth,anchorY:h?this.opposite?b.chartHeight:0:p+g.height/2})}});D.prototype.init=function(){h.apply(this,arguments);this.initCompare(this.options.compare)};D.prototype.setCompare=function(a){this.initCompare(a);this.userOptions.compare=a};D.prototype.initCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(c,d){var b=this.compareValue; return"undefined"!==typeof c&&"undefined"!==typeof b?(c="value"===a?c-b:c/b*100-(100===this.options.compareBase?0:100),d&&(d.change=c),c):0}:null;this.chart.hasRendered&&(this.isDirty=!0)};D.prototype.processData=function(a){var c,d=-1,b=!0===this.options.compareStart?0:1;l.apply(this,arguments);if(this.xAxis&&this.processedYData){var e=this.processedXData;var f=this.processedYData;var h=f.length;this.pointArrayMap&&(d=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y"));for(c= 0;c=this.xAxis.min&&0!==k){this.compareValue=k;break}}}};p(D,"afterGetExtremes",function(a){a=a.dataExtremes;if(this.modifyValue&&a){var d=[this.modifyValue(a.dataMin),this.modifyValue(a.dataMax)];a.dataMin=c(d);a.dataMax=e(d)}});d.prototype.setCompare=function(a,c){this.isXAxis||(this.series.forEach(function(c){c.setCompare(a)}),L(c,!0)&&this.chart.redraw())};w.prototype.tooltipFormatter=function(c){var d=this.series.chart.numberFormatter;c= c.replace("{point.change}",(0