/* Highstock JS v9.1.0 (2021-05-03) (c) 2009-2021 Torstein Honsi License: www.highcharts.com/license */ (function(T,Q){"object"===typeof module&&module.exports?(Q["default"]=Q,module.exports=T.document?Q(T):Q):"function"===typeof define&&define.amd?define("highcharts/highstock",function(){return Q(T)}):(T.Highcharts&&T.Highcharts.error(16,!0),T.Highcharts=Q(T))})("undefined"!==typeof window?window:this,function(T){function Q(d,h,K,F){d.hasOwnProperty(h)||(d[h]=F.apply(null,K))}var d={};Q(d,"Core/Globals.js",[],function(){var d="undefined"!==typeof T?T:"undefined"!==typeof window?window:{},h;(function(h){h.SVG_NS= "http://www.w3.org/2000/svg";h.product="Highcharts";h.version="9.1.0";h.win=d;h.doc=h.win.document;h.svg=h.doc&&h.doc.createElementNS&&!!h.doc.createElementNS(h.SVG_NS,"svg").createSVGRect;h.userAgent=h.win.navigator&&h.win.navigator.userAgent||"";h.isChrome=-1!==h.userAgent.indexOf("Chrome");h.isFirefox=-1!==h.userAgent.indexOf("Firefox");h.isMS=/(edge|msie|trident)/i.test(h.userAgent)&&!h.win.opera;h.isSafari=!h.isChrome&&-1!==h.userAgent.indexOf("Safari");h.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(h.userAgent); h.isWebKit=-1!==h.userAgent.indexOf("AppleWebKit");h.deg2rad=2*Math.PI/360;h.hasBidiBug=h.isFirefox&&4>parseInt(h.userAgent.split("Firefox/")[1],10);h.hasTouch=!!h.win.TouchEvent;h.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];h.noop=function(){};h.supportsPassiveEvents=function(){var d=!1;if(!h.isMS){var N=Object.defineProperty({},"passive",{get:function(){d=!0}});h.win.addEventListener&&h.win.removeEventListener&&(h.win.addEventListener("testPassive",h.noop,N),h.win.removeEventListener("testPassive", h.noop,N))}return d}();h.charts=[];h.dateFormats={};h.seriesTypes={};h.symbolSizes={}})(h||(h={}));return h});Q(d,"Core/Utilities.js",[d["Core/Globals.js"]],function(d){function h(g,n,e,l){var b=n?"Highcharts error":"Highcharts warning";32===g&&(g=b+": Deprecated member");var f=B(g),w=f?b+" #"+g+": www.highcharts.com/errors/"+g+"/":g.toString();if("undefined"!==typeof l){var q="";f&&(w+="?");m(l,function(z,g){q+="\n - "+g+": "+z;f&&(w+=encodeURI(g)+"="+encodeURI(z))});w+=q}A(Highcharts,"displayError", {chart:e,code:g,message:w,params:l},function(){if(n)throw Error(w);v.console&&-1===h.messages.indexOf(w)&&console.warn(w)});h.messages.push(w)}function N(g,n){var e={};m(g,function(l,b){if(G(g[b],!0)&&!g.nodeType&&n[b])l=N(g[b],n[b]),Object.keys(l).length&&(e[b]=l);else if(G(g[b])||g[b]!==n[b])e[b]=g[b]});return e}function F(g,n){return parseInt(g,n||10)}function J(g){return"string"===typeof g}function M(g){g=Object.prototype.toString.call(g);return"[object Array]"===g||"[object Array Iterator]"=== g}function G(g,n){return!!g&&"object"===typeof g&&(!n||!M(g))}function I(g){return G(g)&&"number"===typeof g.nodeType}function D(g){var n=g&&g.constructor;return!(!G(g,!0)||I(g)||!n||!n.name||"Object"===n.name)}function B(g){return"number"===typeof g&&!isNaN(g)&&Infinity>g&&-Infinity=n-1&&(n=Math.floor(e)),Math.max(0,n-(l(g,"padding-left",!0)||0)-(l(g,"padding-right",!0)||0));if("height"===n)return Math.max(0,Math.min(g.offsetHeight,g.scrollHeight)-(l(g,"padding-top",!0)||0)-(l(g,"padding-bottom",!0)||0));v.getComputedStyle||h(27,!0);if(g=v.getComputedStyle(g,void 0)){var b=g.getPropertyValue(n);r(e,"opacity"!== n)&&(b=F(b))}return b}function m(g,n,e){for(var l in g)Object.hasOwnProperty.call(g,l)&&n.call(e||g[l],g[l],l,g)}function L(g,n,e){function l(q,z){var w=g.removeEventListener||d.removeEventListenerPolyfill;w&&w.call(g,q,z,!1)}function b(q){var z;if(g.nodeName){if(n){var w={};w[n]=!0}else w=q;m(w,function(w,g){if(q[g])for(z=q[g].length;z--;)l(g,q[g][z].fn)})}}var f="function"===typeof g&&g.prototype||g;if(Object.hasOwnProperty.call(f,"hcEvents")){var w=f.hcEvents;n?(f=w[n]||[],e?(w[n]=f.filter(function(q){return e!== q.fn}),l(n,e)):(b(w),w[n]=[])):(b(w),delete f.hcEvents)}}function A(g,n,e,l){e=e||{};if(f.createEvent&&(g.dispatchEvent||g.fireEvent&&g!==d)){var b=f.createEvent("Events");b.initEvent(n,!0,!0);e=a(b,e);g.dispatchEvent?g.dispatchEvent(e):g.fireEvent(n,e)}else if(g.hcEvents){e.target||a(e,{preventDefault:function(){e.defaultPrevented=!0},target:g,type:n});b=[];for(var v=g,w=!1;v.hcEvents;)Object.hasOwnProperty.call(v,"hcEvents")&&v.hcEvents[n]&&(b.length&&(w=!0),b.unshift.apply(b,v.hcEvents[n])),v= Object.getPrototypeOf(v);w&&b.sort(function(q,z){return q.order-z.order});b.forEach(function(q){!1===q.fn.call(g,e)&&e.preventDefault()})}l&&!e.defaultPrevented&&l.call(g,e)}var t=d.charts,f=d.doc,v=d.win;"";(h||(h={})).messages=[];var b;Math.easeInOutSine=function(g){return-.5*(Math.cos(Math.PI*g)-1)};var E=Array.prototype.find?function(g,n){return g.find(n)}:function(g,n){var e,b=g.length;for(e=0;ee&&(e=g[b]);return e},arrayMin:function(g){for(var b=g.length,e=g[0];b--;)g[b]b?g=e&&(n=[1/e])));for(l=0;l=b||!f&&w<=(n[l]+(n[l+1]||n[l]))/2);l++);return g=O(g*e,-Math.round(Math.log(.001)/ Math.LN10))},objectEach:m,offset:function(b){var g=f.documentElement;b=b.parentElement||b.parentNode?b.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:b.top+(v.pageYOffset||g.scrollTop)-(g.clientTop||0),left:b.left+(v.pageXOffset||g.scrollLeft)-(g.clientLeft||0),width:b.width,height:b.height}},pad:function(b,n,e){return Array((n||2)+1-String(b).replace("-","").length).join(e||"0")+b},pick:r,pInt:F,relativeLength:function(b,n,e){return/%$/.test(b)?n*parseFloat(b)/100+(e||0):parseFloat(b)}, removeEvent:L,splat:function(b){return M(b)?b:[b]},stableSort:function(b,n){var g=b.length,l,f;for(f=0;f>16,(d&65280)>>8,d&255,1]:4===B&&(I=[(d&3840)>>4|(d&3840)>>8,(d&240)>>4|d&240,(d&15)<<4|d&15,1])}if(!I)for(D=this.parsers.length;D--&&!I;){var u=this.parsers[D];(B=u.regex.exec(d))&&(I=u.parse(B))}}this.rgba=I||[]};h.prototype.get=function(h){var d=this.input,D=this.rgba;if("undefined"!==typeof this.stops){var B=F(d);B.stops=[].concat(B.stops);this.stops.forEach(function(u,c){B.stops[c]=[B.stops[c][0],u.get(h)]})}else B=D&&N(D[0])?"rgb"=== h||!h&&1===D[3]?"rgb("+D[0]+","+D[1]+","+D[2]+")":"a"===h?D[3]:"rgba("+D.join(",")+")":d;return B};h.prototype.brighten=function(h){var d,D=this.rgba;if(this.stops)this.stops.forEach(function(B){B.brighten(h)});else if(N(h)&&0!==h)for(d=0;3>d;d++)D[d]+=J(255*h),0>D[d]&&(D[d]=0),255L?"AM":"PM",P:12>L?"am":"pm",S:B(m.getSeconds()),L:B(Math.floor(p%1E3),3)},d.dateFormats);D(m,function(b,g){for(;-1!==a.indexOf("%"+g);)a=a.replace("%"+g,"function"=== typeof b?b.call(k,p):b)});return c?a.substr(0,1).toUpperCase()+a.substr(1):a};r.prototype.resolveDTLFormat=function(a){return G(a,!0)?a:(a=c(a),{main:a[0],from:a[1],to:a[2]})};r.prototype.getTimeTicks=function(c,p,r,k){var m=this,L=[],A={};var t=new m.Date(p);var f=c.unitRange,v=c.count||1,b;k=u(k,1);if(F(p)){m.set("Milliseconds",t,f>=a.second?0:v*Math.floor(m.get("Milliseconds",t)/v));f>=a.second&&m.set("Seconds",t,f>=a.minute?0:v*Math.floor(m.get("Seconds",t)/v));f>=a.minute&&m.set("Minutes",t, f>=a.hour?0:v*Math.floor(m.get("Minutes",t)/v));f>=a.hour&&m.set("Hours",t,f>=a.day?0:v*Math.floor(m.get("Hours",t)/v));f>=a.day&&m.set("Date",t,f>=a.month?1:Math.max(1,v*Math.floor(m.get("Date",t)/v)));if(f>=a.month){m.set("Month",t,f>=a.year?0:v*Math.floor(m.get("Month",t)/v));var E=m.get("FullYear",t)}f>=a.year&&m.set("FullYear",t,E-E%v);f===a.week&&(E=m.get("Day",t),m.set("Date",t,m.get("Date",t)-E+k+(E4*a.month||m.getTimezoneOffset(p)!==m.getTimezoneOffset(r));p=t.getTime();for(t=1;pL.length&&L.forEach(function(b){0===b%18E5&&"000000000"===m.dateFormat("%H%M%S%L",b)&&(A[b]="day")})}L.info=M(c,{higherRanks:A,totalRange:f* v});return L};return r}();d.Time=h;return d.Time});Q(d,"Core/Options.js",[d["Core/Globals.js"],d["Core/Color/Color.js"],d["Core/Color/Palette.js"],d["Core/Time.js"],d["Core/Utilities.js"]],function(d,h,K,F,J){var N=d.isTouchDevice,G=d.svg;h=h.parse;var I=J.merge;"";var D={colors:K.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right", x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:K.highlightColor80,backgroundColor:K.backgroundColor,plotBorderColor:K.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:K.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name}, borderColor:K.neutralColor40,borderRadius:0,navigation:{activeColor:K.highlightColor100,inactiveColor:K.neutralColor20},itemStyle:{color:K.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:K.neutralColor100},itemHiddenStyle:{color:K.neutralColor20},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold", position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:K.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:G,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:N?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
', backgroundColor:h(K.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:K.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:K.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};D.chart.styledMode=!1;"";var B=new F(I(D.global,D.time));return{defaultOptions:D,defaultTime:B,getOptions:function(){return D}, setOptions:function(u){I(!0,D,u);if(u.time||u.global)d.time?d.time.update(I(D.global,D.time,u.global,u.time)):d.time=B;return D}}});Q(d,"Core/Animation/Fx.js",[d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,h,K){var N=d.parse,J=h.win,M=K.isNumber,G=K.objectEach;return function(){function h(h,B,u){this.pos=NaN;this.options=B;this.elem=h;this.prop=u}h.prototype.dSetter=function(){var h=this.paths,B=h&&h[0];h=h&&h[1];var u=this.now||0,c=[];if(1!==u&&B&&h)if(B.length=== h.length&&1>u)for(var a=0;a=r+this.startTime){this.now=this.end;this.pos=1;this.update();var p=y[this.prop]=!0;G(y,function(a){!0!==a&&(p=!1)});p&&a&&a.call(c);h=!1}else this.pos=u.easing((B-this.startTime)/r),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0;return h};h.prototype.initPath=function(h,B,u){function c(a,k){for(;a.lengthp[1]){var k=u+ +p[1];0<=k?(p[0]=(+p[0]).toExponential(k).split("e")[0],u=k):(p[0]=p[0].split(".")[0]||0,B=20>u?(p[0]*Math.pow(10,p[1])).toFixed(u): 0,p[1]=0)}k=(Math.abs(p[1]?p[0]:B)+Math.pow(10,-Math.max(u,y)-1)).toFixed(u);y=String(D(k));var m=3B?"-":"")+(m?y.substr(0,m)+a:"");B=0>+p[1]&&!O?"0":B+y.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+a);u&&(B+=c+k.slice(-u));p[1]&&0!==+B&&(B+="e"+p[1]);return B}var F=d.defaultOptions,J=d.defaultTime,M=h.getNestedProperty,G=h.isNumber,I=h.pick,D=h.pInt;return{dateFormat:function(B,u,c){return J.dateFormat(B,u,c)},format:function(B,u, c){var a="{",r=!1,y=/f$/,p=/\.([0-9])/,O=F.lang,k=c&&c.time||J;c=c&&c.numberFormatter||N;for(var m=[];B;){var L=B.indexOf(a);if(-1===L)break;var A=B.slice(0,L);if(r){A=A.split(":");a=M(A.shift()||"",u);if(A.length&&"number"===typeof a)if(A=A.join(":"),y.test(A)){var t=parseInt((A.match(p)||["","-1"])[1],10);null!==a&&(a=c(a,t,O.decimalPoint,-1E.width)E={width:0, height:0}}else E=this.htmlGetBBox();z.isSVG&&(e=E.width,z=E.height,v&&(E.height=z={"11px,17":14,"13px,20":16}[l&&l.fontSize+","+Math.round(z)]||z),q&&(l=q*B,E.width=Math.abs(z*Math.sin(l))+Math.abs(e*Math.cos(l)),E.height=Math.abs(z*Math.cos(l))+Math.abs(e*Math.sin(l))));if(k&&0]*>/g,"").replace(/</g,"<").replace(/>/g, ">")};x.prototype.toFront=function(){var b=this.element;b.parentNode.appendChild(b);return this};x.prototype.translate=function(b,q){return this.attr({translateX:b,translateY:q})};x.prototype.updateShadows=function(b,q,z){var e=this.shadows;if(e)for(var g=e.length;g--;)z.call(e[g],"height"===b?Math.max(q-(e[g].cutHeight||0),0):"d"===b?this.d:q,b,e[g])};x.prototype.updateTransform=function(){var b=this.scaleX,q=this.scaleY,z=this.inverted,e=this.rotation,g=this.matrix,l=this.element,a=this.translateX|| 0,f=this.translateY||0;z&&(a+=this.width,f+=this.height);a=["translate("+a+","+f+")"];L(g)&&a.push("matrix("+g.join(",")+")");z?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+n(this.rotationOriginX,l.getAttribute("x"),0)+" "+n(this.rotationOriginY,l.getAttribute("y")||0)+")");(L(b)||L(q))&&a.push("scale("+n(b,1)+" "+n(q,1)+")");a.length&&l.setAttribute("transform",a.join(" "))};x.prototype.visibilitySetter=function(b,q,z){"inherit"===b?z.removeAttribute(q):this[q]!==b&&z.setAttribute(q, b);this[q]=b};x.prototype.xGetter=function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)};x.prototype.zIndexSetter=function(b,q){var z=this.renderer,g=this.parentGroup,l=(g||z).element||z.box,a=this.element;z=l===z.box;var f=!1;var n=this.added;var v;L(b)?(a.setAttribute("data-z-index",b),b=+b,this[q]===b&&(n=!1)):L(this[q])&&a.removeAttribute("data-z-index");this[q]=b;if(n){(b=this.zIndex)&&g&&(g.handleZ=!0);q=l.childNodes;for(v=q.length-1;0<= v&&!f;v--){g=q[v];n=g.getAttribute("data-z-index");var k=!L(n);if(g!==a)if(0>b&&k&&!z&&!v)l.insertBefore(a,q[v]),f=!0;else if(e(n)<=b||k&&(!L(b)||0<=b))l.insertBefore(a,q[v+1]||null),f=!0}f||(l.insertBefore(a,q[z?3:0]||null),f=!0)}return f};return x}();d.prototype["stroke-widthSetter"]=d.prototype.strokeSetter;d.prototype.yGetter=d.prototype.xGetter;d.prototype.matrixSetter=d.prototype.rotationOriginXSetter=d.prototype.rotationOriginYSetter=d.prototype.rotationSetter=d.prototype.scaleXSetter=d.prototype.scaleYSetter= d.prototype.translateXSetter=d.prototype.translateYSetter=d.prototype.verticalAlignSetter=function(b,e){this[e]=b;this.doTransform=!0};"";return d});Q(d,"Core/Renderer/SVG/SVGLabel.js",[d["Core/Renderer/SVG/SVGElement.js"],d["Core/Utilities.js"]],function(d,h){function N(u,c){G(u)?u!==this[c]&&(this[c]=u,this.updateTextPadding()):this[c]=void 0}var F=this&&this.__extends||function(){var u=function(c,a){u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a, c){for(var p in c)c.hasOwnProperty(p)&&(a[p]=c[p])};return u(c,a)};return function(c,a){function r(){this.constructor=c}u(c,a);c.prototype=null===a?Object.create(a):(r.prototype=a.prototype,new r)}}(),J=h.defined,M=h.extend,G=h.isNumber,I=h.merge,D=h.pick,B=h.removeEvent;return function(u){function c(a,r,y,p,O,k,m,L,A,t){var f=u.call(this)||this;f.paddingSetter=N;f.paddingLeftSetter=N;f.paddingRightSetter=N;f.init(a,"g");f.textStr=r;f.x=y;f.y=p;f.anchorX=k;f.anchorY=m;f.baseline=A;f.className=t;"button"!== t&&f.addClass("highcharts-label");t&&f.addClass("highcharts-"+t);f.text=a.text("",0,0,L).attr({zIndex:1});if("string"===typeof O){var v=/^url\((.*?)\)$/.test(O);if(f.renderer.symbols[O]||v)f.symbolKey=O}f.bBox=c.emptyBBox;f.padding=3;f.baselineOffset=0;f.needsBox=a.styledMode||v;f.deferredAttr={};f.alignFactor=0;return f}F(c,u);c.prototype.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==this.alignFactor&&(this.alignFactor=a,this.bBox&&G(this.xSetting)&&this.attr({x:this.xSetting}))};c.prototype.anchorXSetter= function(a,c){this.anchorX=a;this.boxAttr(c,Math.round(a)-this.getCrispAdjust()-this.xSetting)};c.prototype.anchorYSetter=function(a,c){this.anchorY=a;this.boxAttr(c,a-this.ySetting)};c.prototype.boxAttr=function(a,c){this.box?this.box.attr(a,c):this.deferredAttr[a]=c};c.prototype.css=function(a){if(a){var r={},y=void 0;a=I(a);c.textProps.forEach(function(c){"undefined"!==typeof a[c]&&(r[c]=a[c],delete a[c])});this.text.css(r);y="width"in r;"fontSize"in r||"fontWeight"in r?this.updateTextPadding(): y&&this.updateBoxSize()}return d.prototype.css.call(this,a)};c.prototype.destroy=function(){B(this.element,"mouseenter");B(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());d.prototype.destroy.call(this)};c.prototype.fillSetter=function(a,c){a&&(this.needsBox=!0);this.fill=a;this.boxAttr(c,a)};c.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var a=this.padding,c=D(this.paddingLeft,a);return{width:this.width, height:this.height,x:this.bBox.x-c,y:this.bBox.y-a}};c.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2};c.prototype.heightSetter=function(a){this.heightSetting=a};c.prototype.on=function(a,c){var r=this,p=r.text,O=p&&"SPAN"===p.element.tagName?p:void 0;if(O){var k=function(k){("mouseenter"===a||"mouseleave"===a)&&k.relatedTarget instanceof Element&&(r.element.compareDocumentPosition(k.relatedTarget)& Node.DOCUMENT_POSITION_CONTAINED_BY||O.element.compareDocumentPosition(k.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||c.call(r.element,k)};O.on(a,k)}d.prototype.on.call(r,a,k||c);return r};c.prototype.onAdd=function(){var a=this.textStr;this.text.add(this);this.attr({text:J(a)?a:"",x:this.x,y:this.y});this.box&&J(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};c.prototype.rSetter=function(a,c){this.boxAttr(c,a)};c.prototype.shadow=function(a){a&&!this.renderer.styledMode&& (this.updateBoxSize(),this.box&&this.box.shadow(a));return this};c.prototype.strokeSetter=function(a,c){this.stroke=a;this.boxAttr(c,a)};c.prototype["stroke-widthSetter"]=function(a,c){a&&(this.needsBox=!0);this["stroke-width"]=a;this.boxAttr(c,a)};c.prototype["text-alignSetter"]=function(a){this.textAlign=a};c.prototype.textSetter=function(a){"undefined"!==typeof a&&this.text.attr({text:a});this.updateTextPadding()};c.prototype.updateBoxSize=function(){var a=this.text.element.style,r={},y=this.padding, p=this.bBox=G(this.widthSetting)&&G(this.heightSetting)&&!this.textAlign||!J(this.text.textStr)?c.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||p.height||0)+2*y;this.baselineOffset=y+Math.min(this.renderer.fontMetrics(a&&a.fontSize,this.text).b,p.height||Infinity);this.needsBox&&(this.box||(a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),a.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className? " highcharts-"+this.className+"-box":"")),a.add(this)),a=this.getCrispAdjust(),r.x=a,r.y=(this.baseline?-this.baselineOffset:0)+a,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(M(r,this.deferredAttr)),this.deferredAttr={})};c.prototype.updateTextPadding=function(){var a=this.text;this.updateBoxSize();var c=this.baseline?0:this.baselineOffset,y=D(this.paddingLeft,this.padding);J(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(y+= {center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(y!==a.x||c!==a.y)a.attr("x",y),a.hasBoxWidthChanged&&(this.bBox=a.getBBox(!0)),"undefined"!==typeof c&&a.attr("y",c);a.x=y;a.y=c};c.prototype.widthSetter=function(a){this.widthSetting=G(a)?a:void 0};c.prototype.getPaddedWidth=function(){var a=this.padding,c=D(this.paddingLeft,a);a=D(this.paddingRight,a);return(this.widthSetting||this.bBox.width||0)+c+a};c.prototype.xSetter=function(a){this.x=a;this.alignFactor&&(a-=this.alignFactor* this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(a);this.attr("translateX",this.xSetting)};c.prototype.ySetter=function(a){this.ySetting=this.y=Math.round(a);this.attr("translateY",this.ySetting)};c.emptyBBox={width:0,height:0,x:0,y:0};c.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");return c}(d)});Q(d,"Core/Renderer/SVG/TextBuilder.js",[d["Core/Globals.js"],d["Core/Utilities.js"], d["Core/Renderer/HTML/AST.js"]],function(d,h,K){var N=d.doc,J=d.SVG_NS,M=h.attr,G=h.isString,I=h.objectEach,D=h.pick;return function(){function B(u){var c=u.styles;this.renderer=u.renderer;this.svgElement=u;this.width=u.textWidth;this.textLineHeight=c&&c.lineHeight;this.textOutline=c&&c.textOutline;this.ellipsis=!(!c||"ellipsis"!==c.textOverflow);this.noWrap=!(!c||"nowrap"!==c.whiteSpace);this.fontSize=c&&c.fontSize}B.prototype.buildSVG=function(){var u=this.svgElement,c=u.element,a=u.renderer,r= D(u.textStr,"").toString(),y=-1!==r.indexOf("<"),p=c.childNodes,O=p.length;a=this.width&&!u.added&&a.box;var k=//g;var m=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(m!==u.textCache){u.textCache=m;for(delete u.actualWidth;O--;)c.removeChild(p[O]);y||this.ellipsis||this.width||-1!==r.indexOf(" ")&&(!this.noWrap||k.test(r))?""!==r&&(a&&a.appendChild(c),r=new K(r),this.modifyTree(r.nodes),r.addToDOM(u.element),this.modifyDOM(),this.ellipsis&& -1!==(c.textContent||"").indexOf("\u2026")&&u.attr("title",this.unescapeEntities(u.textStr||"",["<",">"])),a&&a.removeChild(c)):c.appendChild(N.createTextNode(this.unescapeEntities(r)));G(this.textOutline)&&u.applyTextOutline&&u.applyTextOutline(this.textOutline)}};B.prototype.modifyDOM=function(){var u=this,c=this.svgElement,a=M(c.element,"x");[].forEach.call(c.element.querySelectorAll("tspan.highcharts-br"),function(c){c.nextSibling&&c.previousSibling&&M(c,{dy:u.getLineHeight(c.nextSibling), x:a})});var r=this.width||0;if(r){var y=function(p,k){var m=p.textContent||"",L=m.replace(/([^\^])-/g,"$1- ").split(" "),A=!u.noWrap&&(1y){for(;A<=t;)f=Math.ceil((A+t)/2),a&&(v=p(a,f)),E=b(f,v&&v.length-1),A===t?A=t+1:E>y?t=f-1:A=f;0===t?u.textContent="":c&&t===c.length-1||(u.textContent=v||p(c||a,f))}a&&a.splice(0,f);O.actualWidth=E;O.rotation=m};B.prototype.unescapeEntities=function(u,c){I(this.renderer.escapes,function(a,r){c&&-1!==c.indexOf(a)||(u=u.toString().replace(new RegExp(a,"g"),r))});return u};return B}()});Q(d,"Core/Renderer/SVG/SVGRenderer.js",[d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Color/Palette.js"], d["Core/Renderer/SVG/SVGElement.js"],d["Core/Renderer/SVG/SVGLabel.js"],d["Core/Renderer/HTML/AST.js"],d["Core/Renderer/SVG/TextBuilder.js"],d["Core/Utilities.js"]],function(d,h,K,F,J,M,G,I){var D=I.addEvent,B=I.attr,u=I.createElement,c=I.css,a=I.defined,r=I.destroyObjectProperties,y=I.extend,p=I.isArray,O=I.isNumber,k=I.isObject,m=I.isString,L=I.merge,A=I.pick,t=I.pInt,f=I.uniqueKey,v=h.charts,b=h.deg2rad,E=h.doc,P=h.isFirefox,H=h.isMS,g=h.isWebKit,n=h.noop,e=h.SVG_NS,l=h.symbolSizes,C=h.win,x;I= function(){function q(b,q,e,g,l,a,f){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(b,q,e,g,l,a,f)}q.prototype.init=function(b,q,e,g,l,a,f){var z=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});f||z.css(this.getStyle(g));g=z.element;b.appendChild(g);B(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&B(g, "xmlns",this.SVG_NS);this.isSVG=!0;this.box=g;this.boxWrapper=z;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(E.createTextNode("Created with Highcharts 9.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=a;this.forExport=l;this.styledMode=f;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(q,e,!1);var n;P&&b.getBoundingClientRect&&(q=function(){c(b,{left:0,top:0});n=b.getBoundingClientRect(); c(b,{left:Math.ceil(n.left)-n.left+"px",top:Math.ceil(n.top)-n.top+"px"})},q(),this.unSubPixelFix=D(C,"resize",q))};q.prototype.definition=function(b){return(new M([b])).addToDOM(this.defs.element)};q.prototype.getReferenceURL=function(){if((P||g)&&E.getElementsByTagName("base").length){if(!a(x)){var b=f();b=(new M([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect", attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+b+")",fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(E.body);c(b,{position:"fixed",top:0,left:0,zIndex:9E5});var q=E.elementFromPoint(6,6);x="hitme"===(q&&q.id);E.body.removeChild(b)}if(x)return C.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};q.prototype.getStyle=function(b){return this.style=y({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"}, b)};q.prototype.setStyle=function(b){this.boxWrapper.css(this.getStyle(b))};q.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};q.prototype.destroy=function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();r(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};q.prototype.createElement=function(b){var q=new this.Element;q.init(this,b);return q};q.prototype.getRadialAttr= function(b,q){return{cx:b[0]-b[2]/2+(q.cx||0)*b[2],cy:b[1]-b[2]/2+(q.cy||0)*b[2],r:(q.r||0)*b[2]}};q.prototype.buildText=function(b){(new G(b)).buildSVG()};q.prototype.getContrast=function(b){b=d.parse(b).rgba;b[0]*=1;b[1]*=1.2;b[2]*=.5;return 459b?b+3:Math.round(1.2*b);return{h:q,b:Math.round(.8*q),f:b}};q.prototype.rotCorr=function(q,g,e){var z=q;g&&e&&(z=Math.max(z*Math.cos(g*b),4));return{x:-q/3*Math.sin(g*b),y:z}};q.prototype.pathToSegments=function(b){for(var q=[],z=[],g={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},e=0;e":">","'":"'",'"':"""};var w=function(b,z,g,e,a){a=a&&a.r||0;return[["M",b+a,z],["L",b+g-a,z],["C",b+g,z,b+g,z,b+g,z+a],["L",b+g,z+e-a],["C",b+g,z+e,b+g,z+e,b+ g-a,z+e],["L",b+a,z+e],["C",b,z+e,b,z+e,b,z+e-a],["L",b,z+a],["C",b,z,b,z,b+a,z]]};n=function(b,z,g,e,a){return a&&a.r?w(b,z,g,e,a):[["M",b,z],["L",b+g,z],["L",b+g,z+e],["L",b,z+e],["Z"]]};I.prototype.symbols={circle:function(b,z,g,e){return this.arc(b+g/2,z+e/2,g/2,e/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},rect:n,square:n,triangle:function(b,z,g,e){return[["M",b+g/2,z],["L",b+g,z+e],["L",b,z+e],["Z"]]},"triangle-down":function(b,z,g,e){return[["M",b,z],["L",b+g,z],["L",b+g/2,z+e],["Z"]]}, diamond:function(b,z,g,e){return[["M",b+g/2,z],["L",b+g,z+e/2],["L",b+g/2,z+e],["L",b,z+e/2],["Z"]]},arc:function(b,z,g,e,l){var q=[];if(l){var f=l.start||0,n=A(l.r,g);g=A(l.r,e||g);var v=(l.end||0)-.001;e=l.innerR;var k=A(l.open,.001>Math.abs((l.end||0)-f-2*Math.PI)),E=Math.cos(f),x=Math.sin(f),C=Math.cos(v),t=Math.sin(v);f=A(l.longArc,.001>v-f-Math.PI?0:1);q.push(["M",b+n*E,z+g*x],["A",n,g,0,f,A(l.clockwise,1),b+n*C,z+g*t]);a(e)&&q.push(k?["M",b+e*C,z+e*t]:["L",b+e*C,z+e*t],["A",e,e,0,f,a(l.clockwise)? 1-l.clockwise:0,b+e*E,z+e*x]);k||q.push(["Z"])}return q},callout:function(b,g,e,a,l){var q=Math.min(l&&l.r||0,e,a),z=q+6,f=l&&l.anchorX;l=l&&l.anchorY||0;var n=w(b,g,e,a,{r:q});if(!O(f))return n;b+f>=e?l>g+z&&l=b+f?l>g+z&&la&&f>b+z&&fl&&f>b+z&&fthis.oldTextWidth)&&((b=this.textPxLength)||(I(r,{width:"",whiteSpace:A||"nowrap"}),b=r.offsetWidth),b=b>f);b&&(/[ \-]/.test(r.textContent||r.innerText)||"ellipsis"===r.style.textOverflow)?(I(r,{width:f+"px",display:"block",whiteSpace:A||"normal"}),this.oldTextWidth=f,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;v!==this.cTT&&(f=a.fontMetrics(r.style.fontSize,r).b,!D(t)||t===(this.oldRotation||0)&&m===this.oldAlign||this.setSpanRotation(t,L,f),this.getSpanCorrection(!D(t)&& this.textPxLength||r.offsetWidth,f,L,t,m));I(r,{left:u+(this.xCorr||0)+"px",top:k+(this.yCorr||0)+"px"});this.cTT=v;this.oldRotation=t;this.oldAlign=m}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,y){var p={},r=J&&!/Edge/.test(G.navigator.userAgent)?"-ms-transform":M?"-webkit-transform":N?"MozTransform":G.opera?"-o-transform":void 0;r&&(p[r]=p.transform="rotate("+a+"deg)",p[r+(N?"Origin":"-origin")]=p.transformOrigin=100*c+"% "+y+"px",I(this.element,p))},getSpanCorrection:function(a,c,y){this.xCorr= -a*y;this.yCorr=-c}});return h});Q(d,"Core/Renderer/HTML/HTMLRenderer.js",[d["Core/Renderer/HTML/AST.js"],d["Core/Renderer/SVG/SVGElement.js"],d["Core/Renderer/SVG/SVGRenderer.js"],d["Core/Utilities.js"]],function(d,h,K,F){var N=F.attr,M=F.createElement,G=F.extend,I=F.pick;G(K.prototype,{html:function(D,B,u){var c=this.createElement("span"),a=c.element,r=c.renderer,y=r.isSVG,p=function(a,k){["opacity","visibility"].forEach(function(c){a[c+"Setter"]=function(p,m,t){var f=a.div?a.div.style:k;h.prototype[c+ "Setter"].call(this,p,m,t);f&&(f[m]=p)}});a.addedSetters=!0};c.textSetter=function(a){a!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,d.setElementHTML(this.element,I(a,"")),this.textStr=a,c.doTransform=!0)};y&&p(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,k){"align"===k?c.alignValue=c.textAlign=a:c[k]=a;c.doTransform=!0};c.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};c.attr({text:D,x:Math.round(B),y:Math.round(u)}).css({position:"absolute"}); r.styledMode||c.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});a.style.whiteSpace="nowrap";c.css=c.htmlCss;y&&(c.add=function(y){var k=r.box.parentNode,m=[];if(this.parentGroup=y){var L=y.div;if(!L){for(;y;)m.push(y),y=y.parentGroup;m.reverse().forEach(function(a){function t(f,v){a[v]=f;"translateX"===v?b.left=f+"px":b.top=f+"px";a.doTransform=!0}var f=N(a.element,"class"),v=a.styles||{};L=a.div=a.div||M("div",f?{className:f}:void 0,{position:"absolute",left:(a.translateX||0)+ "px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,cursor:v.cursor,pointerEvents:v.pointerEvents},L||k);var b=L.style;G(a,{classSetter:function(b){return function(a){this.element.setAttribute("class",a);b.className=a}}(L),on:function(){m[0].div&&c.on.apply({element:m[0].div,onEvents:c.onEvents},arguments);return a},translateXSetter:t,translateYSetter:t});a.addedSetters||p(a)})}}else L=k;L.appendChild(a);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}});return K}); Q(d,"Core/Axis/Tick.js",[d["Core/FormatUtilities.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,h,K){var N=h.deg2rad,J=K.clamp,M=K.correctFloat,G=K.defined,I=K.destroyObjectProperties,D=K.extend,B=K.fireEvent,u=K.isNumber,c=K.merge,a=K.objectEach,r=K.pick;"";K=function(){function y(a,c,k,m,L){this.isNewLabel=this.isNew=!0;this.axis=a;this.pos=c;this.type=k||"";this.parameters=L||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;B(this,"init"); k||m||this.addLabel()}y.prototype.addLabel=function(){var a=this,c=a.axis,k=c.options,m=c.chart,L=c.categories,A=c.logarithmic,t=c.names,f=a.pos,v=r(a.options&&a.options.labels,k.labels),b=c.tickPositions,E=f===b[0],P=f===b[b.length-1],H=a.label,g=(!v.step||1===v.step)&&1===c.tickInterval;b=b.info;var n,e;L=this.parameters.category||(L?r(L[f],t[f],f):f);A&&u(L)&&(L=M(A.lin2log(L)));if(c.dateTime&&b){var l=m.time.resolveDTLFormat(k.dateTimeLabelFormats[!k.grid&&b.higherRanks[f]||b.unitName]);var C= l.main}a.isFirst=E;a.isLast=P;var x={axis:c,chart:m,dateTimeLabelFormat:C,isFirst:E,isLast:P,pos:f,tick:a,tickPositionInfo:b,value:L};B(this,"labelFormat",x);var w=function(b){return v.formatter?v.formatter.call(b,b):v.format?(b.text=c.defaultLabelFormatter.call(b),d.format(v.format,b,m)):c.defaultLabelFormatter.call(b,b)};k=w.call(x,x);if(e=l&&l.list)a.shortenLabel=function(){for(n=0;nv&&m-b*EA&&(n=Math.round((p-m)/Math.cos(v*N)));else if(p=m+(1-b)*E,m-b*EA&&(H=A-a.x+H*b,g=-1),H=Math.min(P,H),HH||c.autoRotation&&(f.styles||{}).width)n=H;n&&(this.shortenLabel?this.shortenLabel():(e.width=Math.floor(n)+ "px",(k.style||{}).textOverflow||(e.textOverflow="ellipsis"),f.css(e)))};y.prototype.moveLabel=function(c,y){var k=this,m=k.label,p=!1,A=k.axis,t=A.reversed;m&&m.textStr===c?(k.movedLabel=m,p=!0,delete k.label):a(A.ticks,function(a){p||a.isNew||a===k||!a.label||a.label.textStr!==c||(k.movedLabel=a.label,p=!0,a.labelPos=k.movedLabel.xy,delete a.label)});if(!p&&(k.labelPos||m)){var f=k.labelPos||m.xy;m=A.horiz?t?0:A.width+A.left:f.x;A=A.horiz?f.y:t?A.width+A.left:0;k.movedLabel=k.createLabel({x:m,y:A}, c,y);k.movedLabel&&k.movedLabel.attr({opacity:0})}};y.prototype.render=function(a,c,k){var m=this.axis,p=m.horiz,A=this.pos,t=r(this.tickmarkOffset,m.tickmarkOffset);A=this.getPosition(p,A,t,c);t=A.x;var f=A.y;m=p&&t===m.pos+m.len||!p&&f===m.pos?-1:1;p=r(k,this.label&&this.label.newOpacity,1);k=r(k,1);this.isActive=!0;this.renderGridLine(c,k,m);this.renderMark(A,k,m);this.renderLabel(A,c,p,a);this.isNew=!1;B(this,"afterRender")};y.prototype.renderGridLine=function(a,c,k){var m=this.axis,p=m.options, A=this.gridLine,t={},f=this.pos,v=this.type,b=r(this.tickmarkOffset,m.tickmarkOffset),E=m.chart.renderer,P=p.gridLineWidth,H=p.gridLineColor,g=p.gridLineDashStyle;"minor"===this.type&&(P=p.minorGridLineWidth,H=p.minorGridLineColor,g=p.minorGridLineDashStyle);A||(m.chart.styledMode||(t.stroke=H,t["stroke-width"]=P||0,t.dashstyle=g),v||(t.zIndex=1),a&&(c=0),this.gridLine=A=E.path().attr(t).addClass("highcharts-"+(v?v+"-":"")+"grid-line").add(m.gridGroup));if(A&&(k=m.getPlotLinePath({value:f+b,lineWidth:A.strokeWidth()* k,force:"pass",old:a})))A[a||this.isNew?"attr":"animate"]({d:k,opacity:c})};y.prototype.renderMark=function(a,c,k){var m=this.axis,p=m.options,A=m.chart.renderer,t=this.type,f=m.tickSize(t?t+"Tick":"tick"),v=this.mark,b=!v,E=a.x;a=a.y;var P=r(p["minor"!==t?"tickWidth":"minorTickWidth"],!t&&m.isXAxis?1:0);p=p["minor"!==t?"tickColor":"minorTickColor"];f&&(m.opposite&&(f[0]=-f[0]),b&&(this.mark=v=A.path().addClass("highcharts-"+(t?t+"-":"")+"tick").add(m.axisGroup),m.chart.styledMode||v.attr({stroke:p, "stroke-width":P})),v[b?"attr":"animate"]({d:this.getMarkPath(E,a,f[0],v.strokeWidth()*k,m.horiz,A),opacity:c}))};y.prototype.renderLabel=function(a,c,k,m){var p=this.axis,A=p.horiz,t=p.options,f=this.label,v=t.labels,b=v.step;p=r(this.tickmarkOffset,p.tickmarkOffset);var E=!0,P=a.x;a=a.y;f&&u(P)&&(f.xy=a=this.getLabelPosition(P,a,f,A,v,p,m,b),this.isFirst&&!this.isLast&&!t.showFirstLabel||this.isLast&&!this.isFirst&&!t.showLastLabel?E=!1:!A||v.step||v.rotation||c||0===k||this.handleOverflow(a),b&& m%b&&(E=!1),E&&u(a.y)?(a.opacity=k,f[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(f.attr("y",-9999),this.isNewLabel=!0))};y.prototype.replaceMovedLabel=function(){var a=this.label,c=this.axis,k=c.reversed;if(a&&!this.isNew){var m=c.horiz?k?c.left:c.width+c.left:a.xy.x;k=c.horiz?a.xy.y:k?c.width+c.top:c.top;a.animate({x:m,y:k,opacity:0},void 0,a.destroy);delete this.label}c.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return y}();h.Tick=K;return h.Tick});Q(d,"Core/Axis/Axis.js", [d["Core/Animation/AnimationUtilities.js"],d["Core/Color/Color.js"],d["Core/Globals.js"],d["Core/Color/Palette.js"],d["Core/Options.js"],d["Core/Axis/Tick.js"],d["Core/Utilities.js"]],function(d,h,K,F,J,M,G){var I=d.animObject,D=J.defaultOptions,B=G.addEvent,u=G.arrayMax,c=G.arrayMin,a=G.clamp,r=G.correctFloat,y=G.defined,p=G.destroyObjectProperties,O=G.erase,k=G.error,m=G.extend,L=G.fireEvent,A=G.getMagnitude,t=G.isArray,f=G.isFunction,v=G.isNumber,b=G.isString,E=G.merge,P=G.normalizeTickInterval, H=G.objectEach,g=G.pick,n=G.relativeLength,e=G.removeEvent,l=G.splat,C=G.syncTimeout;"";var x=K.deg2rad;d=function(){function w(b,a){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands= this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0;this.init(b,a)}w.prototype.init=function(b,a){var q=a.isX,e=this;e.chart=b;e.horiz=b.inverted&&!e.isZAxis?!q:q;e.isXAxis=q; e.coll=e.coll||(q?"xAxis":"yAxis");L(this,"init",{userOptions:a});e.opposite=g(a.opposite,e.opposite);e.side=g(a.side,e.side,e.horiz?e.opposite?0:2:e.opposite?1:3);e.setOptions(a);var z=this.options,n=z.labels,c=z.type;e.userOptions=a;e.minPixelPadding=0;e.reversed=g(z.reversed,e.reversed);e.visible=z.visible;e.zoomEnabled=z.zoomEnabled;e.hasNames="category"===c||!0===z.categories;e.categories=z.categories||e.hasNames;e.names||(e.names=[],e.names.keys={});e.plotLinesAndBandsGroups={};e.positiveValuesOnly= !!e.logarithmic;e.isLinked=y(z.linkedTo);e.ticks={};e.labelEdge=[];e.minorTicks={};e.plotLinesAndBands=[];e.alternateBands={};e.len=0;e.minRange=e.userMinRange=z.minRange||z.maxZoom;e.range=z.range;e.offset=z.offset||0;e.max=null;e.min=null;a=g(z.crosshair,l(b.options.tooltip.crosshairs)[q?0:1]);e.crosshair=!0===a?{}:a;a=e.options.events;-1===b.axes.indexOf(e)&&(q?b.axes.splice(b.xAxis.length,0,e):b.axes.push(e),b[e.coll].push(e));e.series=e.series||[];b.inverted&&!e.isZAxis&&q&&"undefined"===typeof e.reversed&& (e.reversed=!0);e.labelRotation=v(n.rotation)?n.rotation:void 0;H(a,function(b,q){f(b)&&B(e,q,b)});L(this,"afterInit")};w.prototype.setOptions=function(b){this.options=E(w.defaultOptions,"yAxis"===this.coll&&w.defaultYAxisOptions,[w.defaultTopAxisOptions,w.defaultRightAxisOptions,w.defaultBottomAxisOptions,w.defaultLeftAxisOptions][this.side],E(D[this.coll],b));L(this,"afterSetOptions",{userOptions:b})};w.prototype.defaultLabelFormatter=function(){var b=this.axis,a=v(this.value)?this.value:NaN,e= b.chart.time,g=this.dateTimeLabelFormat,l=D.lang,f=l.numericSymbols;l=l.numericSymbolMagnitude||1E3;var n=f&&f.length,c=b.logarithmic?Math.abs(a):b.tickInterval,k=this.chart.numberFormatter;if(b.categories)var C=""+this.value;else if(g)C=e.dateFormat(g,a);else if(n&&1E3<=c)for(;n--&&"undefined"===typeof C;)b=Math.pow(l,n+1),c>=b&&0===10*a%b&&null!==f[n]&&0!==a&&(C=k(a/b,-1)+f[n]);"undefined"===typeof C&&(C=1E4<=Math.abs(a)?k(a,-1):k(a,-1,void 0,""));return C};w.prototype.getSeriesExtremes=function(){var b= this,a=b.chart,e;L(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.stacking&&b.stacking.buildStacks();b.series.forEach(function(q){if(q.visible||!a.options.chart.ignoreHiddenSeries){var z=q.options,l=z.threshold;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=l&&(l=null);if(b.isXAxis){if(z=q.xData,z.length){z=b.logarithmic?z.filter(b.validatePositiveValue):z;e=q.getXExtremes(z);var f=e.min;var n=e.max;v(f)||f instanceof Date||(z=z.filter(v),e=q.getXExtremes(z),f=e.min,n=e.max);z.length&&(b.dataMin=Math.min(g(b.dataMin,f),f),b.dataMax=Math.max(g(b.dataMax,n),n))}}else if(q=q.applyExtremes(),v(q.dataMin)&&(f=q.dataMin,b.dataMin=Math.min(g(b.dataMin,f),f)),v(q.dataMax)&&(n=q.dataMax,b.dataMax=Math.max(g(b.dataMax,n),n)),y(l)&&(b.threshold=l),!z.softThreshold||b.positiveValuesOnly)b.softThreshold=!1}})});L(this,"afterGetSeriesExtremes")};w.prototype.translate=function(b,a,e,g,l,f){var q=this.linkedParent||this,z=1,n= 0,c=g&&q.old?q.old.transA:q.transA;g=g&&q.old?q.old.min:q.min;var k=q.minPixelPadding;l=(q.isOrdinal||q.brokenAxis&&q.brokenAxis.hasBreaks||q.logarithmic&&l)&&q.lin2val;c||(c=q.transA);e&&(z*=-1,n=q.len);q.reversed&&(z*=-1,n-=z*(q.sector||q.len));a?(b=(b*z+n-k)/c+g,l&&(b=q.lin2val(b))):(l&&(b=q.val2lin(b)),b=v(g)?z*(b-g)*c+n+z*k+(v(f)?c*f:0):void 0);return b};w.prototype.toPixels=function(b,a){return this.translate(b,!1,!this.horiz,null,!0)+(a?0:this.pos)};w.prototype.toValue=function(b,a){return this.translate(b- (a?0:this.pos),!0,!this.horiz,null,!0)};w.prototype.getPlotLinePath=function(b){function q(b,q,e){if("pass"!==E&&be)E?b=a(b,q,e):A=!0;return b}var e=this,l=e.chart,f=e.left,n=e.top,c=b.old,k=b.value,C=b.translatedValue,x=b.lineWidth,E=b.force,t,w,H,m,P=c&&l.oldChartHeight||l.chartHeight,p=c&&l.oldChartWidth||l.chartWidth,A,y=e.transB;b={value:k,lineWidth:x,old:c,force:E,acrossPanes:b.acrossPanes,translatedValue:C};L(this,"getPlotLinePath",b,function(b){C=g(C,e.translate(k,null,null,c));C=a(C, -1E5,1E5);t=H=Math.round(C+y);w=m=Math.round(P-C-y);v(C)?e.horiz?(w=n,m=P-e.bottom,t=H=q(t,f,f+e.width)):(t=f,H=p-e.right,w=m=q(w,n,n+e.height)):(A=!0,E=!1);b.path=A&&!E?null:l.renderer.crispLine([["M",t,w],["L",H,m]],x||1)});return b.path};w.prototype.getLinearTickPositions=function(b,a,e){var q=r(Math.floor(a/b)*b);e=r(Math.ceil(e/b)*b);var g=[],l;r(q+b)===q&&(l=20);if(this.single)return[a];for(a=q;a<=e;){g.push(a);a=r(a+b,l);if(a===z)break;var z=a}return g};w.prototype.getMinorTickInterval=function(){var b= this.options;return!0===b.minorTicks?g(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval};w.prototype.getMinorTickPositions=function(){var b=this.options,a=this.tickPositions,e=this.minorTickInterval,g=[],l=this.pointRangePadding||0,f=this.min-l;l=this.max+l;var n=l-f;if(n&&n/e=this.minRange;var E=this.minRange;var t=(E-e+a)/2;t=[a-t,g(b.min,a-t)];x&&(t[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);a=u(t);e=[a+E,g(b.max,a+E)];x&&(e[2]=l?l.log2lin(this.dataMax):this.dataMax);e=c(e);e-a=w)u=w,C=0;else if(a.dataMax<=w){var B=w;c=0}a.min=g(m,u,a.dataMin);a.max=g(p,B,a.dataMax)}q&&(a.positiveValuesOnly&&!b&&0>=Math.min(a.min,g(a.dataMin,a.min))&&k(10,1,e),a.min= r(q.log2lin(a.min),16),a.max=r(q.log2lin(a.max),16));a.range&&y(a.max)&&(a.userMin=a.min=m=Math.max(a.dataMin,a.minFromRange()),a.userMax=p=a.max,a.range=null);L(a,"foundExtremes");a.beforePadding&&a.beforePadding();a.adjustForMinRange();!(t||a.axisPointRange||a.stacking&&a.stacking.usePercentage||n)&&y(a.min)&&y(a.max)&&(e=a.max-a.min)&&(!y(m)&&C&&(a.min-=e*C),!y(p)&&c&&(a.max+=e*c));v(a.userMin)||(v(l.softMin)&&l.softMina.max&&(a.max=p=l.softMax),v(l.ceiling)&&(a.max=Math.min(a.max,l.ceiling)));H&&y(a.dataMin)&&(w=w||0,!y(m)&&a.min=w?a.min=a.options.minRange?Math.min(w,a.max-a.minRange):w:!y(p)&&a.max>w&&a.dataMax<=w&&(a.max=a.options.minRange?Math.max(w,a.min+a.minRange):w));v(a.min)&&v(a.max)&&!this.chart.polar&&a.min>a.max&&(y(a.options.min)?a.max=a.min:y(a.options.max)&&(a.min=a.max));a.tickInterval=a.min===a.max||"undefined"===typeof a.min||"undefined"===typeof a.max?1: n&&a.linkedParent&&!x&&E===a.linkedParent.options.tickPixelInterval?x=a.linkedParent.tickInterval:g(x,this.tickAmount?(a.max-a.min)/Math.max(this.tickAmount-1,1):void 0,t?1:(a.max-a.min)*E/Math.max(a.len,E));f&&!b&&a.series.forEach(function(b){b.processData(a.min!==(a.old&&a.old.min)||a.max!==(a.old&&a.old.max))});a.setAxisTranslation();L(this,"initialAxisTranslation");a.pointRange&&!x&&(a.tickInterval=Math.max(a.pointRange,a.tickInterval));b=g(l.minTickInterval,a.dateTime&&!a.series.some(function(b){return b.noSharedTooltip})? a.closestPointRange:0);!x&&a.tickIntervala.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount||(a.tickInterval=a.unsquish());this.setTickPositions()};w.prototype.setTickPositions=function(){var b=this.options,a=b.tickPositions;var e=this.getMinorTickInterval();var g=b.tickPositioner,l=this.hasVerticalPanning(),f="colorAxis"===this.coll,n=(f|| !l)&&b.startOnTick;l=(f||!l)&&b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===e&&this.tickInterval?this.tickInterval/5:e;this.single=this.min===this.max&&y(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=e=a&&a.slice();!e&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?e=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval, b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(e=[this.min,this.max],k(19,!1,this.chart)),e.length>this.len&&(e=[e[0],e.pop()],e[0]===e[1]&&(e.length=1)),this.tickPositions=e,g&&(g=g.apply(this,[this.min,this.max])))&&(this.tickPositions=e=g);this.paddedTicks=e.slice(0);this.trimTicks(e, n,l);this.isLinked||(this.single&&2>e.length&&!this.categories&&!this.series.some(function(b){return b.is("heatmap")&&"between"===b.options.pointPlacement})&&(this.min-=.5,this.max+=.5),a||g||this.adjustTickAmount());L(this,"afterSetTickPositions")};w.prototype.trimTicks=function(b,a,e){var g=b[0],l=b[b.length-1],q=!this.isOrdinal&&this.minPointOffset||0;L(this,"trimTicks");if(!this.isLinked){if(a&&-Infinity!==g)this.min=g;else for(;this.min-q>b[0];)b.shift();if(e)this.max=l;else for(;this.max+q< b[b.length-1];)b.pop();0===b.length&&y(g)&&!this.options.tickPositions&&b.push((l+g)/2)}};w.prototype.alignToOthers=function(){var b={},a,e=this.options;!1!==this.chart.options.chart.alignTicks&&e.alignTicks&&!1!==e.startOnTick&&!1!==e.endOnTick&&!this.logarithmic&&this.chart[this.coll].forEach(function(e){var g=e.options;g=[e.horiz?g.left:g.top,g.width,g.height,g.pane].join();e.series.length&&(b[g]?a=!0:b[g]=1)});return a};w.prototype.getTickAmount=function(){var b=this.options,a=b.tickAmount,e= b.tickPixelInterval;!y(b.tickInterval)&&!a&&this.lena&&(this.finalTickAmt=a,a=5);this.tickAmount=a};w.prototype.adjustTickAmount=function(){var b=this.options,a=this.tickInterval,e=this.tickPositions,l=this.tickAmount,f=this.finalTickAmt,n=e&&e.length,c=g(this.threshold,this.softThreshold?0:null);if(this.hasData()&&v(this.min)&&v(this.max)){if(nl&&(this.tickInterval*=2,this.setTickPositions());if(y(f)){for(a=b=e.length;a--;)(3===f&&1===a%2||2>=f&&0v&&(a=v)),y(q)&&(gv&&(g=v))),e.displayBtn="undefined"!==typeof a||"undefined"!==typeof g,e.setExtremes(a,g,!1,void 0,{trigger:"zoom"});b.zoomed=!0});return b.zoomed};w.prototype.setAxisSize=function(){var b=this.chart,a=this.options,e=a.offsets||[0,0,0,0],l=this.horiz,f=this.width=Math.round(n(g(a.width,b.plotWidth-e[3]+e[1]),b.plotWidth)),v=this.height=Math.round(n(g(a.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),c=this.top=Math.round(n(g(a.top,b.plotTop+e[0]),b.plotHeight, b.plotTop));a=this.left=Math.round(n(g(a.left,b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-v-c;this.right=b.chartWidth-f-a;this.len=Math.max(l?f:v,0);this.pos=l?a:c};w.prototype.getExtremes=function(){var b=this.logarithmic;return{min:b?r(b.lin2log(this.min)):this.min,max:b?r(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};w.prototype.getThreshold=function(b){var a=this.logarithmic,e=a?a.lin2log(this.min):this.min; a=a?a.lin2log(this.max):this.max;null===b||-Infinity===b?b=e:Infinity===b?b=a:e>b?b=e:aa?b.align="right":195a&&(b.align="left")});return b.align};w.prototype.tickSize=function(b){var a=this.options,e=a["tick"===b?"tickLength":"minorTickLength"],l=g(a["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&& !this.categories?1:0);if(l&&e){"inside"===a[b+"Position"]&&(e=-e);var f=[e,l]}b={tickSize:f};L(this,"afterTickSize",b);return b.tickSize};w.prototype.labelMetrics=function(){var b=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[b]&&this.ticks[b].label)};w.prototype.unsquish=function(){var b=this.options.labels,a=this.horiz,e=this.tickInterval,l=e,f=this.len/(((this.categories?1:0)+this.max-this.min)/e),n,c=b.rotation, k=this.labelMetrics(),C,E=Number.MAX_VALUE,t=Math.max(this.max-this.min,0),w=function(b){var a=b/(f||1);a=1t&&Infinity!==b&&Infinity!==f&&t&&(a=Math.ceil(t/e));return r(a*e)};if(a){if(!b.staggerLines&&!b.step)if(v(c))var H=[c];else f=b){C=w(Math.abs(k.h/Math.sin(x*b)));var a=C+Math.abs(b/360);ag.step)return g.rotation?0:(this.staggerLines||1)*this.len/l;if(!e){b=g.style.width;if(void 0!==b)return parseInt(String(b),10);if(f)return f-a.spacing[3]}return.33*a.chartWidth};w.prototype.renderUnsquish=function(){var a=this.chart,e=a.renderer,g=this.tickPositions,l=this.ticks, f=this.options.labels,n=f.style,v=this.horiz,c=this.getSlotWidth(),k=Math.max(1,Math.round(c-2*f.padding)),C={},x=this.labelMetrics(),E=n.textOverflow,t=0;b(f.rotation)||(C.rotation=f.rotation||0);g.forEach(function(b){b=l[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>t&&(t=b.label.textPxLength)});this.maxLabelLength=t;if(this.autoRotation)t>k&&t>x.h?C.rotation=this.labelRotation:this.labelRotation=0;else if(c){var w=k;if(!E){var H="clip";for(k=g.length;!v&&k--;){var m=g[k]; if(m=l[m].label)m.styles&&"ellipsis"===m.styles.textOverflow?m.css({textOverflow:"clip"}):m.textPxLength>c&&m.css({width:c+"px"}),m.getBBox().height>this.len/g.length-(x.h-x.f)&&(m.specificTextOverflow="ellipsis")}}}C.rotation&&(w=t>.5*a.chartHeight?.33*a.chartHeight:t,E||(H="ellipsis"));if(this.labelAlign=f.align||this.autoLabelAlign(this.labelRotation))C.align=this.labelAlign;g.forEach(function(b){var a=(b=l[b])&&b.label,e=n.width,g={};a&&(a.attr(C),b.shortenLabel?b.shortenLabel():w&&!e&&"nowrap"!== n.whiteSpace&&(w=this.min&&b<=this.max||this.grid&&this.grid.isColumn)e[b]||(e[b]=new M(this,b)),g&&e[b].isNew&&e[b].render(a,!0,-1),e[b].render(a)};w.prototype.render=function(){var b=this,a=b.chart,e=b.logarithmic, g=b.options,l=b.isLinked,f=b.tickPositions,n=b.axisTitle,c=b.ticks,k=b.minorTicks,x=b.alternateBands,E=g.stackLabels,t=g.alternateGridColor,w=b.tickmarkOffset,m=b.axisLine,P=b.showAxis,p=I(a.renderer.globalAnimation),A,y;b.labelEdge.length=0;b.overlap=!1;[c,k,x].forEach(function(b){H(b,function(b){b.isActive=!1})});if(b.hasData()||l)b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a)}),f.length&&(f.forEach(function(a,e){b.renderTick(a,e)}),w&&(0=== b.min||b.single)&&(c[-1]||(c[-1]=new M(b,-1,null,!0)),c[-1].render(-1))),t&&f.forEach(function(g,l){y="undefined"!==typeof f[l+1]?f[l+1]+w:b.max-w;0===l%2&&gd&&(!c||y<=u)&&"undefined"!==typeof y&&p.push(y);y>u&&(m=!0);y=A}}}else d=this.lin2log(d),u=this.lin2log(u),h=c?a.getMinorTickInterval():y.tickInterval,h=M("auto"===h?null:h,this.minorAutoInterval,y.tickPixelInterval/(c?5:1)*(u-d)/((c?r/a.tickPositions.length:r)||1)),h=J(h,void 0,F(h)),p=a.getLinearTickPositions(h, d,u).map(this.log2lin),c||(this.minorAutoInterval=h/5);c||(a.tickInterval=h);return p};h.prototype.lin2log=function(h){return Math.pow(10,h)};h.prototype.log2lin=function(h){return Math.log(h)/Math.LN10};return h}();h=function(){function h(){}h.compose=function(h){h.keepProps.push("logarithmic");N(h,"init",function(h){var u=this.logarithmic;"logarithmic"!==h.userOptions.type?this.logarithmic=void 0:u||(this.logarithmic=new G(this))});N(h,"afterInit",function(){var h=this.logarithmic;h&&(this.lin2val= function(u){return h.lin2log(u)},this.val2lin=function(u){return h.log2lin(u)})})};return h}();h.compose(d);return h});Q(d,"Core/Axis/PlotLineOrBand.js",[d["Core/Axis/Axis.js"],d["Core/Globals.js"],d["Core/Color/Palette.js"],d["Core/Utilities.js"]],function(d,h,K,F){var N=F.arrayMax,M=F.arrayMin,G=F.defined,I=F.destroyObjectProperties,D=F.erase,B=F.extend,u=F.fireEvent,c=F.isNumber,a=F.merge,r=F.objectEach,y=F.pick;F=function(){function c(a,c){this.axis=a;c&&(this.options=c,this.id=c.id)}c.prototype.render= function(){u(this,"render");var c=this,k=c.axis,m=k.horiz,p=k.logarithmic,A=c.options,t=A.label,f=c.label,v=A.to,b=A.from,E=A.value,P=G(b)&&G(v),H=G(E),g=c.svgElem,n=!g,e=[],l=A.color,C=y(A.zIndex,0),x=A.events;e={"class":"highcharts-plot-"+(P?"band ":"line ")+(A.className||"")};var w={},q=k.chart.renderer,z=P?"bands":"lines";p&&(b=p.log2lin(b),v=p.log2lin(v),E=p.log2lin(E));k.chart.styledMode||(H?(e.stroke=l||K.neutralColor40,e["stroke-width"]=y(A.width,1),A.dashStyle&&(e.dashstyle=A.dashStyle)): P&&(e.fill=l||K.highlightColor10,A.borderWidth&&(e.stroke=A.borderColor,e["stroke-width"]=A.borderWidth)));w.zIndex=C;z+="-"+C;(p=k.plotLinesAndBandsGroups[z])||(k.plotLinesAndBandsGroups[z]=p=q.g("plot-"+z).attr(w).add());n&&(c.svgElem=g=q.path().attr(e).add(p));if(H)e=k.getPlotLinePath({value:E,lineWidth:g.strokeWidth(),acrossPanes:A.acrossPanes});else if(P)e=k.getPlotBandPath(b,v,A);else return;!c.eventsAdded&&x&&(r(x,function(b,a){g.on(a,function(b){x[a].apply(c,[b])})}),c.eventsAdded=!0);(n|| !g.d)&&e&&e.length?g.attr({d:e}):g&&(e?(g.show(!0),g.animate({d:e})):g.d&&(g.hide(),f&&(c.label=f=f.destroy())));t&&(G(t.text)||G(t.formatter))&&e&&e.length&&0this.max&&h>this.max;if(k&&m){if(a){var f=k.toString()===m.toString();t=0}for(a=0;aa){n=g;break}if(t[n]&&k.substr(t[n])!=="01-01 00:00:00.000".substr(t[n]))break; "week"!==n&&(g=n)}if(n)var e=v.resolveDTLFormat(b[n]).main;return e};A.prototype.getLabel=function(){var a=this,f=this.chart.renderer,c=this.chart.styledMode,b=this.options,k="tooltip"+(D(b.className)?" "+b.className:""),m=b.style&&b.style.pointerEvents||(!this.followPointer&&b.stickOnContact?"auto":"none"),H,g=function(){a.inContact=!0},n=function(){var b=a.chart.hoverSeries;a.inContact=!1;if(b&&b.onMouseOut)b.onMouseOut()};if(!this.label){if(this.outside){var e=this.chart.options.chart.style;this.container= H=h.doc.createElement("div");H.className="highcharts-tooltip-container";I(H,{position:"absolute",top:"1px",pointerEvents:m,zIndex:Math.max(this.options.style&&this.options.style.zIndex||0,(e&&e.zIndex||0)+3)});h.doc.body.appendChild(H);this.renderer=f=new h.Renderer(H,0,0,e,void 0,void 0,f.styledMode)}this.split?this.label=f.g(k):(this.label=f.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,k).attr({padding:b.padding,r:b.borderRadius}),c||this.label.attr({fill:b.backgroundColor,"stroke-width":b.borderWidth}).css(b.style).css({pointerEvents:m}).shadow(b.shadow)); c&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index));if(a.outside&&!a.split){var l=this.label,C=l.xSetter,x=l.ySetter;l.xSetter=function(b){C.call(l,a.distance);H.style.left=b+"px"};l.ySetter=function(b){x.call(l,a.distance);H.style.top=b+"px"}}this.label.on("mouseenter",g).on("mouseleave",n).attr({zIndex:8}).add()}return this.label};A.prototype.getPosition=function(a,f,c){var b=this.chart,v=this.distance,k={},t=b.inverted&&c.h||0,g,n=this.outside,e=n?M.documentElement.clientWidth- 2*v:b.chartWidth,l=n?Math.max(M.body.scrollHeight,M.documentElement.scrollHeight,M.body.offsetHeight,M.documentElement.offsetHeight,M.documentElement.clientHeight):b.chartHeight,C=b.pointer.getChartPosition(),x=function(g){var q="x"===g;return[g,q?e:l,q?a:f].concat(n?[q?a*C.scaleX:f*C.scaleY,q?C.left-v+(c.plotX+b.plotLeft)*C.scaleX:C.top-v+(c.plotY+b.plotTop)*C.scaleY,0,q?e:l]:[q?a:f,q?c.plotX+b.plotLeft:c.plotY+b.plotTop,q?b.plotLeft:b.plotTop,q?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},w= x("y"),q=x("x"),m=!this.followPointer&&O(c.ttBelow,!b.inverted===!!c.negative),p=function(b,a,e,g,l,f,c){var q=n?"y"===b?v*C.scaleY:v*C.scaleX:v,x=(e-g)/2,E=gH-t?H:H-t);else if(w)k[b]=Math.max(f,l+t+e>a?l:l+t);else return!1},h=function(b,a,e,g,l){var f;la-v?f=!1:k[b]=la-g/2?a-g-2:l-e/2;return f},A=function(b){var a=w;w=q;q=a;g=b},y=function(){!1!==p.apply(0,w)?!1!==h.apply(0,q)||g||(A(!0), y()):g?k.x=k.y=0:(A(!0),y())};(b.inverted||1e})&&(a=a.map(function(b){var a=c(b.anchorX,b.anchorY,b.point.isHeader,b.boxWidth,!1);return u(b,{target:a.y,x:a.x})}));b.cleanSplit();h.distribute(a,F);var J=D,Y=D;a.forEach(function(a){var e=a.x,g=a.boxWidth;a=a.isHeader;a||(b.outside&&D+eY&&(Y=D+e))});a.forEach(function(a){var e=a.x,g=a.anchorX,l=a.pos,f=a.point.isHeader; l={visibility:"undefined"===typeof l?"hidden":"inherit",x:e,y:l+I,anchorX:g,anchorY:a.anchorY};if(b.outside&&ec[0]?Math.max(Math.abs(c[0]),k.width-c[0]):Math.max(Math.abs(c[0]),k.width);b.height=0>c[1]?Math.max(Math.abs(c[1]),k.height-Math.abs(c[1])):Math.max(Math.abs(c[1]),k.height);this.tracker?this.tracker.attr(b):(this.tracker=f.renderer.rect(b).addClass("highcharts-tracker").add(f),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}}; A.prototype.styledModeFormat=function(a){return a.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')};A.prototype.tooltipFooterHeaderFormatter=function(a,f){var k=f?"footer":"header",b=a.series,E=b.tooltipOptions,m=E.xDateFormat,H=b.xAxis,g=H&&"datetime"===H.options.type&&r(a.key),n=E[k+"Format"];f={isFooter:f,labelConfig:a};c(this,"headerFormatter",f,function(e){g&&!m&&(m=this.getXDateFormat(a, E,H));g&&m&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(b){n=n.replace("{point."+b+"}","{point."+b+":"+m+"}")});b.chart.styledMode&&(n=this.styledModeFormat(n));e.text=N(n,{point:a,series:b},this.chart)});return f.text};A.prototype.update=function(a){this.destroy();p(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,p(!0,this.options,a))};A.prototype.updatePosition=function(a){var f=this.chart,c=f.pointer,b=this.getLabel(),k=a.plotX+f.plotLeft;f=a.plotY+f.plotTop; c=c.getChartPosition();a=(this.options.positioner||this.getPosition).call(this,b.width,b.height,a);if(this.outside){var m=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(b.width+m,b.height+m,!1);if(1!==c.scaleX||1!==c.scaleY)I(this.container,{transform:"scale("+c.scaleX+", "+c.scaleY+")"}),k*=c.scaleX,f*=c.scaleY;k+=c.left-a.x;f+=c.top-a.y}this.move(Math.round(a.x),Math.round(a.y||0),k,f)};return A}();h.Tooltip=d;return h.Tooltip});Q(d,"Core/Pointer.js",[d["Core/Color/Color.js"], d["Core/Globals.js"],d["Core/Color/Palette.js"],d["Core/Tooltip.js"],d["Core/Utilities.js"]],function(d,h,K,F,J){var N=d.parse,G=h.charts,I=h.noop,D=J.addEvent,B=J.attr,u=J.css,c=J.defined,a=J.extend,r=J.find,y=J.fireEvent,p=J.isNumber,O=J.isObject,k=J.objectEach,m=J.offset,L=J.pick,A=J.splat;"";d=function(){function t(a,c){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.eventsToUnbind=[];this.chart=a;this.hasDragged=!1;this.options=c;this.init(a,c)}t.prototype.applyInactiveState= function(a){var f=[],b;(a||[]).forEach(function(a){b=a.series;f.push(b);b.linkedParent&&f.push(b.linkedParent);b.linkedSeries&&(f=f.concat(b.linkedSeries));b.navigatorSeries&&f.push(b.navigatorSeries)});this.chart.series.forEach(function(b){-1===f.indexOf(b)?b.setState("inactive",!0):b.options.inactiveOtherPoints&&b.setAllPointsToState("inactive")})};t.prototype.destroy=function(){var a=this;this.eventsToUnbind.forEach(function(a){return a()});this.eventsToUnbind=[];h.chartCount||(h.unbindDocumentMouseUp&& (h.unbindDocumentMouseUp=h.unbindDocumentMouseUp()),h.unbindDocumentTouchEnd&&(h.unbindDocumentTouchEnd=h.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);k(a,function(f,b){a[b]=void 0})};t.prototype.drag=function(a){var f=this.chart,b=f.options.chart,c=a.chartX,k=a.chartY,m=this.zoomHor,g=this.zoomVert,n=f.plotLeft,e=f.plotTop,l=f.plotWidth,C=f.plotHeight,x=this.selectionMarker,w=this.mouseDownX||0,q=this.mouseDownY||0,t=O(b.panning)?b.panning&&b.panning.enabled:b.panning,p=b.panKey&&a[b.panKey+ "Key"];if(!x||!x.touch)if(cn+l&&(c=n+l),ke+C&&(k=e+C),this.hasDragged=Math.sqrt(Math.pow(w-c,2)+Math.pow(q-k,2)),10a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(b,g);if((g=O(a,!0)&&a.series)&&!(g=!O(v,!0))){g=v.distX-a.distX;var e=v.dist-a.dist,l=(a.series.group&& a.series.group.zIndex)-(v.series.group&&v.series.group.zIndex);g=0<(0!==g&&c?g:0!==e?e:0!==l?l:v.series.index>a.series.index?-1:1)}g&&(v=a)});return v};t.prototype.getChartCoordinatesFromPoint=function(a,c){var b=a.series,f=b.xAxis;b=b.yAxis;var k=a.shapeArgs;if(f&&b){var v=L(a.clientX,a.plotX),g=a.plotY||0;a.isNode&&k&&p(k.x)&&p(k.y)&&(v=k.x,g=k.y);return c?{chartX:b.len+b.pos-g,chartY:f.len+f.pos-v}:{chartX:v+f.pos,chartY:g+b.pos}}if(k&&k.x&&k.y)return{chartX:k.x,chartY:k.y}};t.prototype.getChartPosition= function(){if(this.chartPosition)return this.chartPosition;var a=this.chart.container,c=m(a);this.chartPosition={left:c.left,top:c.top,scaleX:1,scaleY:1};var b=a.offsetWidth;a=a.offsetHeight;2A.max&&(c=A.max-t,u=!0);u?(r-=.8*(r-g[l][0]),"number"===typeof d&&(d-=.8*(d-g[l][1])),b()):g[l]=[r,d];p||(H[l]=v-q,H[w]=t);H=p?1/E:E;m[w]=t;m[l]=c;k[p?a?"scaleY":"scaleX":"scale"+f]=E;k["translate"+f]=H*q+(r-H*y)};t.prototype.reset=function(a,c){var b=this.chart,f=b.hoverSeries,k=b.hoverPoint,m=b.hoverPoints,g=b.tooltip,n=g&&g.shared?m:k;a&&n&&A(n).forEach(function(b){b.series.isCartesian&&"undefined"=== typeof b.plotX&&(a=!1)});if(a)g&&n&&A(n).length&&(g.refresh(n),g.shared&&m?m.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):k&&(k.setState(k.state,!0),b.axes.forEach(function(b){b.crosshair&&k.series[b.coll]===b&&b.drawCrosshair(null,k)})));else{if(k)k.onMouseOut();m&&m.forEach(function(b){b.setState()});if(f)f.onMouseOut();g&&g.hide(c);this.unDocMouseMove&& (this.unDocMouseMove=this.unDocMouseMove());b.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}};t.prototype.runPointActions=function(a,c){var b=this.chart,f=b.tooltip&&b.tooltip.options.enabled?b.tooltip:void 0,k=f?f.shared:!1,m=c||b.hoverPoint,g=m&&m.series||b.hoverSeries;g=this.getHoverData(m,g,b.series,(!a||"touchmove"!==a.type)&&(!!c||g&&g.directTouch&&this.isDirectTouch),k,a);m=g.hoverPoint;var n=g.hoverPoints;c=(g=g.hoverSeries)&&g.tooltipOptions.followPointer&& !g.tooltipOptions.split;k=k&&g&&!g.noSharedTooltip;if(m&&(m!==b.hoverPoint||f&&f.isHidden)){(b.hoverPoints||[]).forEach(function(b){-1===n.indexOf(b)&&b.setState()});if(b.hoverSeries!==g)g.onMouseOver();this.applyInactiveState(n);(n||[]).forEach(function(b){b.setState("hover")});b.hoverPoint&&b.hoverPoint.firePointEvent("mouseOut");if(!m.series)return;b.hoverPoints=n;b.hoverPoint=m;m.firePointEvent("mouseOver");f&&f.refresh(k?n:m,a)}else c&&f&&!f.isHidden&&(m=f.getAnchor([{}],a),b.isInsidePlot(m[0], m[1],{visiblePlotOnly:!0})&&f.updatePosition({plotX:m[0],plotY:m[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(b.container.ownerDocument,"mousemove",function(b){var a=G[h.hoverChartIndex];if(a)a.pointer.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove));b.axes.forEach(function(e){var g=L((e.crosshair||{}).snap,!0),c;g&&((c=b.hoverPoint)&&c.series[e.coll]===e||(c=r(n,function(b){return b.series[e.coll]===e})));c||!g?e.drawCrosshair(a,c):e.hideCrosshair()})};t.prototype.scaleGroups= function(a,c){var b=this.chart,f;b.series.forEach(function(k){f=a||k.getPlotBox();k.xAxis&&k.xAxis.zoomEnabled&&k.group&&(k.group.attr(f),k.markerGroup&&(k.markerGroup.attr(f),k.markerGroup.clip(c?b.clipRect:null)),k.dataLabelsGroup&&k.dataLabelsGroup.attr(f))});b.clipRect.attr(c||b.clipBox)};t.prototype.setDOMEvents=function(){var a=this,c=this.chart.container,b=c.ownerDocument;c.onmousedown=this.onContainerMouseDown.bind(this);c.onmousemove=this.onContainerMouseMove.bind(this);c.onclick=this.onContainerClick.bind(this); this.eventsToUnbind.push(D(c,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(D(c,"mouseleave",this.onContainerMouseLeave.bind(this)));h.unbindDocumentMouseUp||(h.unbindDocumentMouseUp=D(b,"mouseup",this.onDocumentMouseUp.bind(this)));for(var k=this.chart.renderTo.parentElement;k&&"BODY"!==k.tagName;)this.eventsToUnbind.push(D(k,"scroll",function(){delete a.chartPosition})),k=k.parentElement;h.hasTouch&&(this.eventsToUnbind.push(D(c,"touchstart",this.onContainerTouchStart.bind(this), {passive:!1})),this.eventsToUnbind.push(D(c,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),h.unbindDocumentTouchEnd||(h.unbindDocumentTouchEnd=D(b,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};t.prototype.setHoverChartIndex=function(){var a=this.chart,c=h.charts[L(h.hoverChartIndex,-1)];if(c&&c!==a)c.pointer.onContainerMouseLeave({relatedTarget:!0});c&&c.mouseIsDown||(h.hoverChartIndex=a.index)};t.prototype.touch=function(a,c){var b=this.chart,f;this.setHoverChartIndex(); if(1===a.touches.length)if(a=this.normalize(a),(f=b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop,{visiblePlotOnly:!0}))&&!b.openMenu){c&&this.runPointActions(a);if("touchmove"===a.type){c=this.pinchDown;var k=c[0]?4<=Math.sqrt(Math.pow(c[0].chartX-a.chartX,2)+Math.pow(c[0].chartY-a.chartY,2)):!1}L(k,!0)&&this.pinch(a)}else c&&this.reset();else 2===a.touches.length&&this.pinch(a)};t.prototype.touchSelect=function(a){return!(!this.chart.options.chart.zoomBySingleTouch||!a.touches||1!==a.touches.length)}; t.prototype.zoomOption=function(a){var c=this.chart,b=c.options.chart,f=b.zoomType||"";c=c.inverted;/touch/.test(a.type)&&(f=L(b.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!c||f&&c;this.zoomVert=f&&!c||a&&c;this.hasZoom=a||f};return t}();return h.Pointer=d});Q(d,"Core/MSPointer.js",[d["Core/Globals.js"],d["Core/Pointer.js"],d["Core/Utilities.js"]],function(d,h,K){function N(){var a=[];a.item=function(a){return this[a]};c(r,function(c){a.push({pageX:c.pageX,pageY:c.pageY, target:c.target})});return a}function J(a,c,k,m){"touch"!==a.pointerType&&a.pointerType!==a.MSPOINTER_TYPE_TOUCH||!G[d.hoverChartIndex]||(m(a),m=G[d.hoverChartIndex].pointer,m[c]({type:k,target:a.currentTarget,preventDefault:D,touches:N()}))}var M=this&&this.__extends||function(){var a=function(c,k){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var k in c)c.hasOwnProperty(k)&&(a[k]=c[k])};return a(c,k)};return function(c,k){function m(){this.constructor= c}a(c,k);c.prototype=null===k?Object.create(k):(m.prototype=k.prototype,new m)}}(),G=d.charts,I=d.doc,D=d.noop,B=K.addEvent,u=K.css,c=K.objectEach,a=K.removeEvent,r={},y=!!d.win.PointerEvent;return function(c){function p(){return null!==c&&c.apply(this,arguments)||this}M(p,c);p.prototype.batchMSEvents=function(a){a(this.chart.container,y?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,y?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(I,y?"pointerup": "MSPointerUp",this.onDocumentPointerUp)};p.prototype.destroy=function(){this.batchMSEvents(a);c.prototype.destroy.call(this)};p.prototype.init=function(a,m){c.prototype.init.call(this,a,m);this.hasZoom&&u(a.container,{"-ms-touch-action":"none","touch-action":"none"})};p.prototype.onContainerPointerDown=function(a){J(a,"onContainerTouchStart","touchstart",function(a){r[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})};p.prototype.onContainerPointerMove=function(a){J(a,"onContainerTouchMove", "touchmove",function(a){r[a.pointerId]={pageX:a.pageX,pageY:a.pageY};r[a.pointerId].target||(r[a.pointerId].target=a.currentTarget)})};p.prototype.onDocumentPointerUp=function(a){J(a,"onDocumentTouchEnd","touchend",function(a){delete r[a.pointerId]})};p.prototype.setDOMEvents=function(){c.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)};return p}(h)});Q(d,"Core/Series/Point.js",[d["Core/Renderer/HTML/AST.js"],d["Core/Animation/AnimationUtilities.js"], d["Core/FormatUtilities.js"],d["Core/Globals.js"],d["Core/Options.js"],d["Core/Utilities.js"]],function(d,h,K,F,J,M){var G=h.animObject,I=K.format,D=J.defaultOptions,B=M.addEvent,u=M.defined,c=M.erase,a=M.extend,r=M.fireEvent,y=M.getNestedProperty,p=M.isArray,O=M.isFunction,k=M.isNumber,m=M.isObject,L=M.merge,A=M.objectEach,t=M.pick,f=M.syncTimeout,v=M.removeEvent,b=M.uniqueKey;"";h=function(){function E(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1; this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.series=void 0;this.visible=!0;this.x=void 0}E.prototype.animateBeforeDestroy=function(){var b=this,c={x:b.startXPos,opacity:0},g,f=b.getGraphicalProps();f.singular.forEach(function(a){g="dataLabel"===a;b[a]=b[a].animate(g?{x:b[a].startXPos,y:b[a].startYPos,opacity:0}:c)});f.plural.forEach(function(e){b[e].forEach(function(e){e.element&&e.animate(a({x:b.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})};E.prototype.applyOptions= function(b,c){var g=this.series,f=g.options.pointValKey||g.pointValKey;b=E.prototype.optionsToObject.call(this,b);a(this,b);this.options=this.options?a(this.options,b):b;b.group&&delete this.group;b.dataLabels&&delete this.dataLabels;f&&(this.y=E.prototype.getNestedProperty.call(this,f));this.formatPrefix=(this.isNull=t(this.isValid&&!this.isValid(),null===this.x||!k(this.y)))?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof c&&g.xAxis&&g.xAxis.hasNames&&(this.x= g.xAxis.nameToX(this));"undefined"===typeof this.x&&g&&(this.x="undefined"===typeof c?g.autoIncrement(this):c);return this};E.prototype.destroy=function(){function b(){if(a.graphic||a.dataLabel||a.dataLabels)v(a),a.destroyElements();for(k in a)a[k]=null}var a=this,g=a.series,n=g.chart;g=g.options.dataSorting;var e=n.hoverPoints,l=G(a.series.chart.renderer.globalAnimation),k;a.legendItem&&n.legend.destroyItem(a);e&&(a.setState(),c(e,a),e.length||(n.hoverPoints=null));if(a===n.hoverPoint)a.onMouseOut(); g&&g.enabled?(this.animateBeforeDestroy(),f(b,l.duration)):b();n.pointCount--};E.prototype.destroyElements=function(b){var a=this;b=a.getGraphicalProps(b);b.singular.forEach(function(b){a[b]=a[b].destroy()});b.plural.forEach(function(b){a[b].forEach(function(b){b.element&&b.destroy()});delete a[b]})};E.prototype.firePointEvent=function(b,a,g){var c=this,e=this.series.options;(e.point.events[b]||c.options&&c.options.events&&c.options.events[b])&&c.importEvents();"click"===b&&e.allowPointSelect&&(g= function(b){c.select&&c.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});r(c,b,a,g)};E.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}; E.prototype.getGraphicalProps=function(b){var a=this,g=[],c,e={singular:[],plural:[]};b=b||{graphic:1,dataLabel:1};b.graphic&&g.push("graphic","upperGraphic","shadowGroup");b.dataLabel&&g.push("dataLabel","dataLabelUpper","connector");for(c=g.length;c--;){var l=g[c];a[l]&&e.singular.push(l)}["dataLabel","connector"].forEach(function(g){var l=g+"s";b[g]&&a[l]&&e.plural.push(l)});return e};E.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex, key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}};E.prototype.getNestedProperty=function(b){if(b)return 0===b.indexOf("custom.")?y(b,this.options):this[b]};E.prototype.getZone=function(){var b=this.series,a=b.zones;b=b.zoneAxis||"y";var g=0,c;for(c=a[g];this[b]>=c.value;)c=a[++g];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;return c};E.prototype.hasNewShapeType= function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};E.prototype.init=function(a,c,g){this.series=a;this.applyOptions(c,g);this.id=u(this.id)?this.id:b();this.resolveColor();a.chart.pointCount++;r(this,"afterInit");return this};E.prototype.optionsToObject=function(b){var a={},g=this.series,c=g.options.keys,e=c||g.pointArrayMap||["y"],l=e.length,f=0,x=0;if(k(b)||null===b)a[e[0]]=b;else if(p(b))for(!c&&b.length>l&&(g=typeof b[0],"string"===g?a.name= b[0]:"number"===g&&(a.x=b[0]),f++);xk-6&&eC?this.maxItemWidth: b.itemWidth;f&&this.itemX-c+a>C&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=e+this.lastLineHeight+k),this.lastLineHeight=0);this.lastItemY=e+this.itemY+k;this.lastLineHeight=Math.max(g,this.lastLineHeight);b._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=a:(this.itemY+=e+g+k,this.lastLineHeight=g);this.offsetWidth=this.widthOption||Math.max((f?this.itemX-c-(b.checkbox?0:l):a)+c,this.offsetWidth)};f.prototype.getAllItems=function(){var b=[];this.chart.series.forEach(function(c){var f=c&& c.options;c&&m(f.showInLegend,a(f.linkedTo)?!1:void 0,!0)&&(b=b.concat(c.legendItems||("point"===f.legendType?c.data:c)))});p(this,"afterGetAllItems",{allItems:b});return b};f.prototype.getAlignment=function(){var b=this.options;return this.proximate?b.align.charAt(0)+"tv":b.floating?"":b.align.charAt(0)+b.verticalAlign.charAt(0)+b.layout.charAt(0)};f.prototype.adjustMargins=function(b,c){var f=this.chart,k=this.options,g=this.getAlignment();g&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(n, e){n.test(g)&&!a(b[e])&&(f[D[e]]=Math.max(f[D[e]],f.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*k[e%2?"x":"y"]+m(k.margin,12)+c[e]+(f.titleOffset[e]||0)))})};f.prototype.proximatePositions=function(){var b=this.chart,a=[],c="left"===this.options.align;this.allItems.forEach(function(f){var g;var k=c;if(f.yAxis){f.xAxis.options.reversed&&(k=!k);f.points&&(g=y(k?f.points:f.points.slice(0).reverse(),function(b){return O(b.plotY)}));k=this.itemMarginTop+f.legendItem.getBBox().height+this.itemMarginBottom; var e=f.yAxis.top-b.plotTop;f.visible?(g=g?g.plotY:f.yAxis.height,g+=e-.3*k):g=e+f.yAxis.height;a.push({target:g,size:k,item:f})}},this);K.distribute(a,b.plotHeight);a.forEach(function(a){a.item._legendItemPos[1]=b.plotTop-b.spacing[0]+a.pos})};f.prototype.render=function(){var b=this.chart,a=b.renderer,c=this.group,f=this.box,g=this.options,k=this.padding;this.itemX=k;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=L(g.width,b.spacingBox.width-k);var e=b.spacingBox.width- 2*k-g.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(e/=2);this.maxLegendWidth=this.widthOption||e;c||(this.group=c=a.g("legend").attr({zIndex:7}).add(),this.contentGroup=a.g().attr({zIndex:1}).add(c),this.scrollGroup=a.g().add(this.contentGroup));this.renderTitle();var l=this.getAllItems();A(l,function(b,a){return(b.options&&b.options.legendIndex||0)-(a.options&&a.options.legendIndex||0)});g.reversed&&l.reverse();this.allItems=l;this.display=e=!!l.length;this.itemHeight=this.totalItemWidth= this.maxItemWidth=this.lastLineHeight=0;l.forEach(this.renderItem,this);l.forEach(this.layoutItem,this);l=(this.widthOption||this.offsetWidth)+k;var m=this.lastItemY+this.lastLineHeight+this.titleHeight;m=this.handleOverflow(m);m+=k;f||(this.box=f=a.rect().addClass("highcharts-legend-box").attr({r:g.borderRadius}).add(c),f.isNew=!0);b.styledMode||f.attr({stroke:g.borderColor,"stroke-width":g.borderWidth||0,fill:g.backgroundColor||"none"}).shadow(g.shadow);0k&&!1!==w.enabled?(this.clipHeight=C=Math.max(k-20-this.titleHeight-e,0),this.currentPage=m(this.currentPage, 1),this.fullHeight=b,h.forEach(function(b,a){var e=b._legendItemPos[1],c=Math.round(b.legendItem.getBBox().height),g=v.length;if(!g||e-v[g-1]>C&&(A||e)!==v[g-1])v.push(A||e),g++;b.pageIx=g-1;A&&(h[a-1].pageIx=g-1);a===h.length-1&&e+c-v[g-1]>C&&e!==A&&(v.push(e),b.pageIx=g);e!==A&&(A=e)}),x||(x=a.clipRect=f.clipRect(0,e,9999,0),a.contentGroup.clip(x)),y(C),p||(this.nav=p=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,t,t).add(p),r("upTracker").on("click",function(){a.scroll(-1, q)}),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(w.style),this.pager.add(p),this.down=f.symbol("triangle-down",0,0,t,t).add(p),r("downTracker").on("click",function(){a.scroll(1,q)})),a.scroll(0),b=k):p&&(y(),this.nav=p.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return b};f.prototype.scroll=function(b,a){var c=this,f=this.chart,g=this.pages,k=g.length,e=this.currentPage+b;b=this.clipHeight;var l=this.options.navigation,C= this.pager,x=this.padding;e>k&&(e=k);0=Math.max(q+f,x.pos)&&k<=Math.min(q+f+g.width,x.pos+x.len)||(b.isInsidePlot=!1)}!e.ignoreY&&b.isInsidePlot&&(c=m&&(c?m.xAxis:m.yAxis)||{pos:l,len:Infinity},e=e.paneCoordinates? c.pos+a:l+a,e>=Math.max(n+l,c.pos)&&e<=Math.min(n+l+g.height,c.pos+c.len)||(b.isInsidePlot=!1));w(this,"afterIsInsidePlot",b);return b.isInsidePlot};d.prototype.redraw=function(b){w(this,"beforeRedraw");var a=this.hasCartesianSeries?this.axes:this.colorAxis||[],e=this.series,c=this.pointer,g=this.legend,f=this.userOptions.legend,l=this.isDirtyLegend,k=this.isDirtyBox,n=this.renderer,q=n.isHidden(),m=[];this.setResponsive&&this.setResponsive(!1);p(this.hasRendered?b:!1,this);q&&this.temporaryDisplay(); this.layOutTitles();for(b=e.length;b--;){var x=e[b];if(x.options.stacking||x.options.centerInCategory){var t=!0;if(x.isDirty){var v=!0;break}}}if(v)for(b=e.length;b--;)x=e[b],x.options.stacking&&(x.isDirty=!0);e.forEach(function(b){b.isDirty&&("point"===b.options.legendType?("function"===typeof b.updateTotals&&b.updateTotals(),l=!0):f&&(f.labelFormatter||f.labelFormat)&&(l=!0));b.isDirtyData&&w(b,"updatedData")});l&&g&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);t&&this.getStacks();a.forEach(function(b){b.updateNames(); b.setScale()});this.getMargins();a.forEach(function(b){b.isDirty&&(k=!0)});a.forEach(function(b){var a=b.min+","+b.max;b.extKey!==a&&(b.extKey=a,m.push(function(){w(b,"afterSetExtremes",C(b.eventArgs,b.getExtremes()));delete b.eventArgs}));(k||t)&&b.redraw()});k&&this.drawChartBox();w(this,"predraw");e.forEach(function(b){(k||b.isDirty)&&b.visible&&b.redraw();b.isDirtyData=!1});c&&c.reset(!0);n.draw();w(this,"redraw");w(this,"render");q&&this.temporaryDisplay(!0);m.forEach(function(b){b.call()})}; d.prototype.get=function(b){function a(a){return a.id===b||a.options&&a.options.id===b}var e=this.series,c;var g=x(this.axes,a)||x(this.series,a);for(c=0;!g&&c=n&&l<=q||m||!g(l))x=!0;c[m?"zoomX":"zoomY"]&&x&&(e=k.zoom(b.min,b.max),k.displayBtn&&(f=!0))});var k=a.resetZoomButton;f&&!k?a.showResetZoom():!f&&aa(k)&&(a.resetZoomButton=k.destroy());e&&a.redraw(S(a.options.chart.animation,b&&b.animation,100> a.pointCount))};d.prototype.pan=function(b,a){var e=this,c=e.hoverPoints,g=e.options.chart,f=e.options.mapNavigation&&e.options.mapNavigation.enabled,l;a="object"===typeof a?a:{enabled:a,type:"x"};g&&g.panning&&(g.panning=a);var k=a.type;w(this,"pan",{originalEvent:b},function(){c&&c.forEach(function(b){b.setState()});var a=[1];"xy"===k?a=[1,0]:"y"===k&&(a=[0]);a.forEach(function(a){var c=e[a?"xAxis":"yAxis"][0],g=c.horiz,n=b[g?"chartX":"chartY"];g=g?"mouseDownX":"mouseDownY";var q=e[g],m=(c.pointRange|| 0)/2,x=c.reversed&&!e.inverted||!c.reversed&&e.inverted?-1:1,C=c.getExtremes(),w=c.toValue(q-n,!0)+m*x;x=c.toValue(q+c.len-n,!0)-m*x;var t=x=a&&w<=m&&(c.setExtremes(q,w,!1,!1,{trigger:"pan"}),e.resetZoomButton||f||q===a||w===m||!k.match("y")||(e.showResetZoom(),c.displayBtn=!1),l=!0),e[g]=n)});l&&e.redraw(!1); H(e.container,{cursor:"move"})})};return d}();C(X.prototype,{callbacks:[],collectionsWithInit:{xAxis:[X.prototype.addAxis,[!0]],yAxis:[X.prototype.addAxis,[!1]],series:[X.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "), propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});F.chart=function(b,a,e){return new X(b,a,e)};F.Chart=X;"";return X});Q(d,"Mixins/LegendSymbol.js",[d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,h){var N=h.merge,F=h.pick;return d.LegendSymbolMixin={drawRectangle:function(d,h){var G=d.symbolHeight,I=d.options.squareSymbol;h.legendSymbol=this.chart.renderer.rect(I?(d.symbolWidth-G)/2:0,d.baseline-G+1,I?G: d.symbolWidth,G,F(d.options.symbolRadius,G/2)).addClass("highcharts-point").attr({zIndex:3}).add(h.legendGroup)},drawLineMarker:function(d){var h=this.options,G=h.marker,I=d.symbolWidth,D=d.symbolHeight,B=D/2,u=this.chart.renderer,c=this.legendGroup;d=d.baseline-Math.round(.3*d.fontMetrics.b);var a={};this.chart.styledMode||(a={"stroke-width":h.lineWidth||0},h.dashStyle&&(a.dashstyle=h.dashStyle));this.legendLine=u.path([["M",0,d],["L",I,d]]).addClass("highcharts-graph").attr(a).add(c);G&&!1!==G.enabled&& I&&(h=Math.min(F(G.radius,B),B),0===this.symbol.indexOf("url")&&(G=N(G,{width:D,height:D}),h=0),this.legendSymbol=G=u.symbol(this.symbol,I/2-h,d-h,2*h,2*h,G).addClass("highcharts-point").add(c),G.isMarker=!0)}}});Q(d,"Core/Series/Series.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Globals.js"],d["Mixins/LegendSymbol.js"],d["Core/Options.js"],d["Core/Color/Palette.js"],d["Core/Series/Point.js"],d["Core/Series/SeriesRegistry.js"],d["Core/Renderer/SVG/SVGElement.js"],d["Core/Utilities.js"]], function(d,h,K,F,J,M,G,I,D){var B=d.animObject,u=d.setAnimation,c=h.hasTouch,a=h.svg,r=h.win,y=F.defaultOptions,p=G.seriesTypes,O=D.addEvent,k=D.arrayMax,m=D.arrayMin,L=D.clamp,A=D.cleanRecursively,t=D.correctFloat,f=D.defined,v=D.erase,b=D.error,E=D.extend,P=D.find,H=D.fireEvent,g=D.getNestedProperty,n=D.isArray,e=D.isFunction,l=D.isNumber,C=D.isString,x=D.merge,w=D.objectEach,q=D.pick,z=D.removeEvent,N=D.splat,V=D.syncTimeout;d=function(){function d(){this.zones=this.yAxis=this.xAxis=this.userOptions= this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}d.prototype.init=function(b,a){H(this,"init",{options:a});var c=this,g=b.series,f;this.eventOptions=this.eventOptions||{};this.eventsToUnbind=[];c.chart=b;c.options=c.setOptions(a);var l=c.options;c.linkedSeries=[];c.bindAxes();E(c,{name:l.name,state:"",visible:!1!==l.visible,selected:!0===l.selected});a=l.events; w(a,function(b,a){e(b)&&c.eventOptions[a]!==b&&(e(c.eventOptions[a])&&z(c,a,c.eventOptions[a]),c.eventOptions[a]=b,O(c,a,b))});if(a&&a.click||l.point&&l.point.events&&l.point.events.click||l.allowPointSelect)b.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(b){c[b+"Data"]||(c[b+"Data"]=[])});c.isCartesian&&(b.hasCartesianSeries=!0);g.length&&(f=g[g.length-1]);c._i=q(f&&f._i,-1)+1;c.opacity=c.options.opacity;b.orderSeries(this.insert(g));l.dataSorting&&l.dataSorting.enabled? c.setDataSortingOptions():c.points||c.data||c.setData(l.data,!1);H(this,"afterInit")};d.prototype.is=function(b){return p[b]&&this instanceof p[b]};d.prototype.insert=function(b){var a=this.options.index,e;if(l(a)){for(e=b.length;e--;)if(a>=q(b[e].options.index,b[e]._i)){b.splice(e+1,0,this);break}-1===e&&b.unshift(this);e+=1}else b.push(this);return q(e,b.length-1)};d.prototype.bindAxes=function(){var a=this,e=a.options,c=a.chart,g;H(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(f){var l= 0;c[f].forEach(function(b){g=b.options;if(e[f]===l&&!g.isInternal||"undefined"!==typeof e[f]&&e[f]===g.id||"undefined"===typeof e[f]&&0===g.index)a.insert(b.series),a[f]=b,b.isDirty=!0;g.isInternal||l++});a[f]||a.optionalAxis===f||b(18,!0,c)})});H(this,"afterBindAxes")};d.prototype.updateParallelArrays=function(b,a){var e=b.series,c=arguments,g=l(a)?function(c){var g="y"===c&&e.toYData?e.toYData(b):b[c];e[c+"Data"][a]=g}:function(b){Array.prototype[a].apply(e[b+"Data"],Array.prototype.slice.call(c, 2))};e.parallelArrays.forEach(g)};d.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0=this.cropStart?m-this.cropStart:m);!f&&g[m]&&g[m].touched&&(m=void 0);return m};d.prototype.updateData=function(b,a){var e=this.options,c=e.dataSorting,g=this.points,n=[],q,m,x,C=this.requireSorting,d=b.length===g.length,w=!0;this.xIncrement=null;b.forEach(function(b,a){var k=f(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{}; var m=k.x;if(k.id||l(m)){if(m=this.findPointIndex(k,x),-1===m||"undefined"===typeof m?n.push(b):g[m]&&b!==e.data[m]?(g[m].update(b,!1,null,!1),g[m].touched=!0,C&&(x=m+1)):g[m]&&(g[m].touched=!0),!d||a!==m||c&&c.enabled||this.hasDerivedData)q=!0}else n.push(b)},this);if(q)for(b=g.length;b--;)(m=g[b])&&!m.touched&&m.remove&&m.remove(!1,a);else!d||c&&c.enabled?w=!1:(b.forEach(function(b,a){g[a].update&&b!==g[a].y&&g[a].update(b,!1,null,!1)}),n.length=0);g.forEach(function(b){b&&(b.touched=!1)});if(!w)return!1; n.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=k(this.xData),this.autoIncrement());return!0};d.prototype.setData=function(a,e,c,g){var f=this,k=f.points,m=k&&k.length||0,x,d=f.options,w=f.chart,t=d.dataSorting,p=null,v=f.xAxis;p=d.turboThreshold;var h=this.xData,A=this.yData,z=(x=f.pointArrayMap)&&x.length,y=d.keys,r=0,u=1,E;a=a||[];x=a.length;e=q(e,!0);t&&t.enabled&&(a=this.sortData(a));!1!==g&&x&&m&&!f.cropped&& !f.hasGroupedData&&f.visible&&!f.isSeriesBoosting&&(E=this.updateData(a,c));if(!E){f.xIncrement=null;f.colorCounter=0;this.parallelArrays.forEach(function(b){f[b+"Data"].length=0});if(p&&x>p)if(p=f.getFirstValidPoint(a),l(p))for(c=0;cb?1:0}).forEach(function(b,a){b.x=a},this);a.linkedSeries&&a.linkedSeries.forEach(function(a){var e=a.options,g=e.data;e.dataSorting&&e.dataSorting.enabled||!g||(g.forEach(function(e,f){g[f]=c(a,e);b[f]&&(g[f].x=b[f].x,g[f].index=f)}),a.setData(g,!1))});return b};d.prototype.getProcessedData=function(a){var e=this.xData,c=this.yData,g=e.length;var f=0;var l=this.xAxis,k= this.options;var n=k.cropThreshold;var q=a||this.getExtremesFromAll||k.getExtremesFromAll,m=this.isCartesian;a=l&&l.val2lin;k=!(!l||!l.logarithmic);var x=this.requireSorting;if(l){l=l.getExtremes();var C=l.min;var d=l.max}if(m&&this.sorted&&!q&&(!n||g>n||this.forceCrop))if(e[g-1]d)e=[],c=[];else if(this.yData&&(e[0]d)){f=this.cropData(this.xData,this.yData,C,d);e=f.xData;c=f.yData;f=f.start;var w=!0}for(n=e.length||1;--n;)if(g=k?a(e[n])-a(e[n-1]):e[n]-e[n-1],0g&&x&&(b(15,!1,this.chart),x=!1);return{xData:e,yData:c,cropped:w,cropStart:f,closestPointRange:t}};d.prototype.processData=function(b){var a=this.xAxis;if(this.isCartesian&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!b)return!1;b=this.getProcessedData();this.cropped=b.cropped;this.cropStart=b.cropStart;this.processedXData=b.xData;this.processedYData=b.yData;this.closestPointRange=this.basePointRange=b.closestPointRange};d.prototype.cropData=function(b,a,e,c,g){var f= b.length,l=0,k=f,n;g=q(g,this.cropShoulder);for(n=0;n=e){l=Math.max(0,n-g);break}for(e=n;ec){k=e+g;break}return{xData:b.slice(l,k),yData:a.slice(l,k),start:l,end:k}};d.prototype.generatePoints=function(){var b=this.options,a=b.data,e=this.data,c,g=this.processedXData,f=this.processedYData,l=this.pointClass,k=g.length,n=this.cropStart||0,q=this.hasGroupedData,m=b.keys,x=[],C;b=b.dataGrouping&&b.dataGrouping.groupAll?n:0;e||q||(e=[],e.length=a.length,e=this.data=e);m&& q&&(this.options.keys=!1);for(C=0;C=x&&(g[t-d]||p)<=C;if(h&&p)if(h=v.length)for(;h--;)l(v[h])&&(f[q++]=v[h]);else f[q++]=v}b={dataMin:m(f),dataMax:k(f)};H(this,"afterGetExtremes",{dataExtremes:b});return b};d.prototype.applyExtremes=function(){var b=this.getExtremes();this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b};d.prototype.getFirstValidPoint=function(b){for(var a=null,e=b.length,c=0;null===a&&c=B&&(B=null),r.total=r.stackTotal=O.total,r.percentage=O.total&&r.y/O.total*100,r.stackY=E,this.irregularWidths||O.setOffset(this.pointXOffset||0,this.barW||0));r.yBottom=f(B)?L(k.translate(B, 0,1,0,1),-1E5,1E5):null;C&&(E=this.modifyValue(E,r));r.plotY=void 0;l(E)&&(E=k.translate(E,!1,!0,!1,!0),"undefined"!==typeof E&&(r.plotY=L(E,-1E5,1E5)));r.isInside=this.isPointInside(r);r.clientX=p?t(e.translate(u,0,0,0,1,w)):A;r.negative=r[z]<(b[z+"Threshold"]||v||0);r.category=c&&"undefined"!==typeof c[r.x]?c[r.x]:r.x;if(!r.isNull&&!1!==r.visible){"undefined"!==typeof G&&(y=Math.min(y,Math.abs(A-G)));var G=A}r.zone=this.zones.length&&r.getZone();!r.graphic&&this.group&&g&&(r.isNew=!0)}this.closestPointRangePx= y;H(this,"afterTranslate")};d.prototype.getValidPoints=function(b,a,e){var c=this.chart;return(b||this.points||[]).filter(function(b){return a&&!c.isInsidePlot(b.plotX,b.plotY,{inverted:c.inverted})?!1:!1!==b.visible&&(e||!b.isNull)})};d.prototype.getClipBox=function(b,a){var e=this.options,c=this.chart,g=c.inverted,f=this.xAxis,l=f&&this.yAxis,k=c.options.chart.scrollablePlotArea||{};b&&!1===e.clip&&l?b=g?{y:-c.chartWidth+l.len+l.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+f.len+ f.pos}:{y:-l.pos,height:c.chartHeight,width:c.chartWidth,x:-f.pos}:(b=this.clipBox||c.clipBox,a&&(b.width=c.plotSizeX,b.x=(c.scrollablePixelsX||0)*(k.scrollPositionX||0)));return a?{width:b.width,x:b.x}:b};d.prototype.getSharedClipKey=function(b){if(this.sharedClipKey)return this.sharedClipKey;var a=[b&&b.duration,b&&b.easing,b&&b.defer,this.getClipBox(b).height,this.options.xAxis,this.options.yAxis].join();if(!1!==this.options.clip||b)this.sharedClipKey=a;return a};d.prototype.setClip=function(b){var a= this.chart,e=this.options,c=a.renderer,g=a.inverted,f=this.clipBox,l=this.getClipBox(b),k=this.getSharedClipKey(b),n=a.sharedClips[k],q=a.sharedClips[k+"m"];b&&(l.width=0,g&&(l.x=a.plotHeight+(!1!==e.clip?0:a.plotTop)));n?a.hasLoaded||n.attr(l):(b&&(a.sharedClips[k+"m"]=q=c.clipRect(g?(a.plotSizeX||0)+99:-99,g?-a.plotLeft:-a.plotTop,99,g?a.chartWidth:a.chartHeight)),a.sharedClips[k]=n=c.clipRect(l),n.count={length:0});b&&!n.count[this.index]&&(n.count[this.index]=!0,n.count.length+=1);if(!1!==e.clip|| b)this.group.clip(b||f?n:a.clipRect),this.markerGroup.clip(q);b||(n.count[this.index]&&(delete n.count[this.index],--n.count.length),0===n.count.length&&(f||(a.sharedClips[k]=n.destroy()),q&&(a.sharedClips[k+"m"]=q.destroy())))};d.prototype.animate=function(b){var a=this.chart,e=B(this.options.animation),c=this.sharedClipKey;if(b)this.setClip(e);else if(c){b=a.sharedClips[c];c=a.sharedClips[c+"m"];var g=this.getClipBox(e,!0);b&&b.animate(g,e);c&&c.animate({width:g.width+99,x:g.x-(a.inverted?0:99)}, e)}};d.prototype.afterAnimate=function(){this.setClip();H(this,"afterAnimate");this.finishedAnimating=!0};d.prototype.drawPoints=function(){var b=this.points,a=this.chart,e,c,g=this.options.marker,f=this[this.specialGroup]||this.markerGroup,l=this.xAxis,k=q(g.enabled,!l||l.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(e=0;ey.max;b.resetZones&&0===f&&(f=void 0)});this.clips=l}else b.visible&&(n&&n.show(!0),m&&m.show(!0))};d.prototype.invertGroups=function(b){function a(){["group","markerGroup"].forEach(function(a){e[a]&&(c.renderer.isVML&&e[a].attr({width:e.yAxis.len,height:e.xAxis.len}),e[a].width=e.yAxis.len,e[a].height=e.xAxis.len,e[a].invert(e.isRadialSeries? !1:b))})}var e=this,c=e.chart;e.xAxis&&(e.eventsToUnbind.push(O(c,"resize",a)),a(),e.invertGroups=a)};d.prototype.plotGroup=function(b,a,e,c,g){var l=this[b],k=!l;e={visibility:e,zIndex:c||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(e.opacity=this.opacity);k&&(this[b]=l=this.chart.renderer.g().add(g));l.addClass("highcharts-"+a+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(f(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ": "")+(this.options.className||"")+(l.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);l.attr(e)[k?"attr":"animate"](this.getPlotBox());return l};d.prototype.getPlotBox=function(){var b=this.chart,a=this.xAxis,e=this.yAxis;b.inverted&&(a=e,e=this.xAxis);return{translateX:a?a.left:b.plotLeft,translateY:e?e.top:b.plotTop,scaleX:1,scaleY:1}};d.prototype.removeEvents=function(b){b||z(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length= 0)};d.prototype.render=function(){var b=this,a=b.chart,e=b.options,c=B(e.animation),g=!b.finishedAnimating&&a.renderer.isSVG&&c.duration,f=b.visible?"inherit":"hidden",l=e.zIndex,k=b.hasRendered,n=a.seriesGroup,m=a.inverted;H(this,"render");var x=b.plotGroup("group","series",f,l,n);b.markerGroup=b.plotGroup("markerGroup","markers",f,l,n);g&&b.animate&&b.animate(!0);x.inverted=q(b.invertible,b.isCartesian)?m:!1;b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&& b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&&!1!==b.options.enableMouseTracking&&b.drawTracker();b.invertGroups(m);!1===e.clip||b.sharedClipKey||k||x.clip(a.clipRect);g&&b.animate&&b.animate();k||(g&&c.defer&&(g+=c.defer),b.animationTimeout=V(function(){b.afterAnimate()},g||0));b.isDirty=!1;b.hasRendered=!0;H(b,"afterRender")};d.prototype.redraw=function(){var b=this.chart,a=this.isDirty||this.isDirtyData,e=this.group,c=this.xAxis,g=this.yAxis;e&&(b.inverted&&e.attr({width:b.plotWidth, height:b.plotHeight}),e.animate({translateX:q(c&&c.left,b.plotLeft),translateY:q(g&&g.top,b.plotTop)}));this.translate();this.render();a&&delete this.kdTree};d.prototype.searchPoint=function(b,a){var e=this.xAxis,c=this.yAxis,g=this.chart.inverted;return this.searchKDTree({clientX:g?e.len-b.chartY+e.pos:b.chartX-e.pos,plotY:g?c.len-b.chartX+c.pos:b.chartY-c.pos},a,b)};d.prototype.buildKDTree=function(b){function a(b,c,g){var f;if(f=b&&b.length){var l=e.kdAxisArray[c%g];b.sort(function(b,a){return b[l]- a[l]});f=Math.floor(f/2);return{point:b[f],left:a(b.slice(0,f),c+1,g),right:a(b.slice(f+1),c+1,g)}}}this.buildingKdTree=!0;var e=this,c=-1x?"left":"right";w=0>x?"right":"left";a[d]&&(d=c(b,a[d],e+1,q),C=d[n]w;)t--;this.updateParallelArrays(d,"splice",t,0,0);this.updateParallelArrays(d,t);n&&d.name&&(n[w]=d.name);m.splice(t,0,b);C&&(this.data.splice(t,0,null),this.processData());"point"===f.legendType&&this.generatePoints();e&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(d,"shift"),m.shift()));!1!==g&&H(this,"addPoint",{point:d});this.isDirtyData=this.isDirty=!0;a&&k.redraw(c)};d.prototype.removePoint=function(b, a,e){var c=this,g=c.data,f=g[b],l=c.points,k=c.chart,n=function(){l&&l.length===g.length&&l.splice(b,1);g.splice(b,1);c.options.data.splice(b,1);c.updateParallelArrays(f||{series:c},"splice",b,1);f&&f.destroy();c.isDirty=!0;c.isDirtyData=!0;a&&k.redraw()};u(e,k);a=q(a,!0);f?f.firePointEvent("remove",null,n):n()};d.prototype.remove=function(b,a,e,c){function g(){f.destroy(c);l.isDirtyLegend=l.isDirtyBox=!0;l.linkSeries();q(b,!0)&&l.redraw(a)}var f=this,l=f.chart;!1!==e?H(f,"remove",null,g):g()};d.prototype.update= function(a,e){a=A(a,this.userOptions);H(this,"update",{options:a});var c=this,g=c.chart,f=c.userOptions,l=c.initialType||c.type,k=g.options.plotOptions,n=a.type||f.type||g.options.chart.type,m=!(this.hasDerivedData||n&&n!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||c.hasOptionChanged("dataGrouping")||c.hasOptionChanged("pointStart")||c.hasOptionChanged("pointInterval")||c.hasOptionChanged("pointIntervalUnit")||c.hasOptionChanged("keys")),C=p[l].prototype,d, w=["eventOptions","navigatorSeries","baseSeries"],t=c.finishedAnimating&&{animation:!1},v={};n=n||l;m&&(w.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&w.push("area","graph"),c.parallelArrays.forEach(function(b){w.push(b+"Data")}),a.data&&(a.dataSorting&&E(c.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=x(f,t,{index:"undefined"=== typeof f.index?c.index:f.index,pointStart:q(k&&k.series&&k.series.pointStart,f.pointStart,c.xData[0])},!m&&{data:c.options.data},a);m&&a.data&&(a.data=c.options.data);w=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(w);w.forEach(function(b){w[b]=c[b];delete c[b]});f=!1;if(p[n]){if(f=n!==c.type,c.remove(!1,!1,!1,!0),f)if(Object.setPrototypeOf)Object.setPrototypeOf(c,p[n].prototype);else{k=Object.hasOwnProperty.call(c,"hcEvents")&&c.hcEvents;for(d in C)c[d]=void 0;E(c,p[n].prototype); k?c.hcEvents=k:delete c.hcEvents}}else b(17,!0,g,{missingModuleFor:n});w.forEach(function(b){c[b]=w[b]});c.init(g,a);if(m&&this.points){var h=c.options;!1===h.visible?(v.graphic=1,v.dataLabel=1):c._hasPointLabels||(a=h.marker,n=h.dataLabels,a&&(!1===a.enabled||"symbol"in a)&&(v.graphic=1),n&&!1===n.enabled&&(v.dataLabel=1));this.points.forEach(function(b){b&&b.series&&(b.resolveColor(),Object.keys(v).length&&b.destroyElements(v),!1===h.showInLegend&&b.legendItem&&g.legend.destroyItem(b))},this)}c.initialType= l;g.linkSeries();f&&c.linkedSeries.length&&(c.isDirtyData=!0);H(this,"afterUpdate");q(e,!0)&&g.redraw(m?void 0:!1)};d.prototype.setName=function(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0};d.prototype.hasOptionChanged=function(b){var a=this.options[b],e=this.chart.options.plotOptions,c=this.userOptions[b];return c?a!==c:a!==q(e&&e[this.type]&&e[this.type][b],e&&e.series&&e.series[b],a)};d.prototype.onMouseOver=function(){var b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex(); if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&H(this,"mouseOver");this.setState("hover");b.hoverSeries=this};d.prototype.onMouseOut=function(){var b=this.options,a=this.chart,e=a.tooltip,c=a.hoverPoint;a.hoverSeries=null;if(c)c.onMouseOut();this&&b.events.mouseOut&&H(this,"mouseOut");!e||this.stickyTracking||e.shared&&!this.noSharedTooltip||e.hide();a.series.forEach(function(b){b.setState("",!0)})};d.prototype.setState=function(b,a){var e=this,c=e.options,g=e.graph,f=c.inactiveOtherPoints, l=c.states,k=c.lineWidth,n=c.opacity,m=q(l[b||"normal"]&&l[b||"normal"].animation,e.chart.options.chart.animation);c=0;b=b||"";if(e.state!==b&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach(function(a){a&&(e.state&&a.removeClass("highcharts-series-"+e.state),b&&a.addClass("highcharts-series-"+b))}),e.state=b,!e.chart.styledMode)){if(l[b]&&!1===l[b].enabled)return;b&&(k=l[b].lineWidth||k+(l[b].lineWidthPlus||0),n=q(l[b].opacity,n));if(g&&!g.dashstyle)for(l={"stroke-width":k},g.animate(l,m);e["zone-graph-"+ c];)e["zone-graph-"+c].animate(l,m),c+=1;f||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach(function(b){b&&b.animate({opacity:n},m)})}a&&f&&e.points&&e.setAllPointsToState(b||void 0)};d.prototype.setAllPointsToState=function(b){this.points.forEach(function(a){a.setState&&a.setState(b)})};d.prototype.setVisible=function(b,a){var e=this,c=e.chart,g=e.legendItem,f=c.options.chart.ignoreHiddenSeries,l=e.visible;var k=(e.visible=b=e.options.visible=e.userOptions.visible="undefined"=== typeof b?!l:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(e[b])e[b][k]()});if(c.hoverSeries===e||(c.hoverPoint&&c.hoverPoint.series)===e)e.onMouseOut();g&&c.legend.colorizeItem(e,b);e.isDirty=!0;e.options.stacking&&c.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});e.linkedSeries.forEach(function(a){a.setVisible(b,!1)});f&&(c.isDirtyBox=!0);H(e,k);!1!==a&&c.redraw()};d.prototype.show=function(){this.setVisible(!0)};d.prototype.hide= function(){this.setVisible(!1)};d.prototype.select=function(b){this.selected=b=this.options.selected="undefined"===typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);H(this,b?"select":"unselect")};d.prototype.shouldShowTooltip=function(b,a,e){void 0===e&&(e={});e.series=this;e.visiblePlotOnly=!0;return this.chart.isInsidePlot(b,a,e)};d.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:J.backgroundColor, lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:J.neutralColor20,lineColor:J.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){var b=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":b(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0}, cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"};return d}();E(d.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:K.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"], parallelArrays:["x","y"],pointClass:M,requireSorting:!0,sorted:!0});G.series=d;"";"";return d});Q(d,"Extensions/ScrollablePlotArea.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Axis/Axis.js"],d["Core/Chart/Chart.js"],d["Core/Series/Series.js"],d["Core/Globals.js"],d["Core/Utilities.js"]],function(d,h,K,F,J,M){var G=d.stop,I=M.addEvent,D=M.createElement,B=M.merge,u=M.pick;"";I(K,"afterSetChartSize",function(c){var a=this.options.chart.scrollablePlotArea,d=a&&a.minWidth;a=a&&a.minHeight;if(!this.renderer.forExport){if(d){if(this.scrollablePixelsX= d=Math.max(0,d-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=B(this.plotBox);this.plotBox.width=this.plotWidth+=d;this.inverted?this.clipBox.height+=d:this.clipBox.width+=d;var h={1:{name:"right",value:d}}}}else a&&(this.scrollablePixelsY=d=Math.max(0,a-this.chartHeight))&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=B(this.plotBox),this.plotBox.height=this.plotHeight+=d,this.inverted?this.clipBox.width+=d:this.clipBox.height+=d,h={2:{name:"bottom",value:d}}); h&&!c.skipAxes&&this.axes.forEach(function(a){h[a.side]?a.getPlotLinePath=function(){var c=h[a.side].name,k=this[c];this[c]=k-h[a.side].value;var m=J.Axis.prototype.getPlotLinePath.apply(this,arguments);this[c]=k;return m}:(a.setAxisSize(),a.setAxisTranslation())})}});I(K,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});K.prototype.setUpScrolling=function(){var c=this,a={WebkitOverflowScrolling:"touch", overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(a.overflowX="auto");this.scrollablePixelsY&&(a.overflowY="auto");this.scrollingParent=D("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=D("div",{className:"highcharts-scrolling"},a,this.scrollingParent);I(this.scrollingContainer,"scroll",function(){c.pointer&&delete c.pointer.chartPosition});this.innerContainer=D("div",{className:"highcharts-inner-container"},null,this.scrollingContainer); this.innerContainer.appendChild(this.container);this.setUpScrolling=null};K.prototype.moveFixedElements=function(){var c=this.container,a=this.fixedRenderer,d=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),h;this.scrollablePixelsX&& !this.inverted?h=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?h=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?h=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(h=".highcharts-yaxis");h&&d.push(h+":not(.highcharts-radial-axis)",h+"-labels:not(.highcharts-radial-axis-labels)");d.forEach(function(d){[].forEach.call(c.querySelectorAll(d),function(c){(c.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(c);c.style.pointerEvents="auto"})})};K.prototype.applyFixed= function(){var c=!this.fixedDiv;var a=this.options.chart;var d=a.scrollablePlotArea;c?(this.fixedDiv=D("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(a.style&&a.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=a=new J.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style), this.scrollableMask=a.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":u(d.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),I(this,"afterShowResetZoom",this.moveFixedElements),I(this,"afterDrilldown",this.moveFixedElements),I(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||c)this.scrollableDirty=!1,this.moveFixedElements();a=this.chartWidth+(this.scrollablePixelsX|| 0);var h=this.chartHeight+(this.scrollablePixelsY||0);G(this.container);this.container.style.width=a+"px";this.container.style.height=h+"px";this.renderer.boxWrapper.attr({width:a,height:h,viewBox:[0,0,a,h].join(" ")});this.chartBackground.attr({width:a,height:h});this.scrollingContainer.style.height=this.chartHeight+"px";c&&(d.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*d.scrollPositionX),d.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY* d.scrollPositionY));h=this.axisOffset;c=this.plotTop-h[0]-1;d=this.plotLeft-h[3]-1;a=this.plotTop+this.plotHeight+h[2]+1;h=this.plotLeft+this.plotWidth+h[1]+1;var p=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),B=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);c=this.scrollablePixelsX?[["M",0,c],["L",this.plotLeft-1,c],["L",this.plotLeft-1,a],["L",0,a],["Z"],["M",p,c],["L",this.chartWidth,c],["L",this.chartWidth,a],["L",p,a],["Z"]]:this.scrollablePixelsY?[["M",d,0],["L",d,this.plotTop- 1],["L",h,this.plotTop-1],["L",h,0],["Z"],["M",d,B],["L",d,this.chartHeight],["L",h,this.chartHeight],["L",h,B],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:c})};I(h,"afterInit",function(){this.chart.scrollableDirty=!0});I(F,"show",function(){this.chart.scrollableDirty=!0})});Q(d,"Core/Axis/StackingAxis.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Utilities.js"]],function(d,h){var N=d.getDeferredAnimation,F=h.addEvent,J=h.destroyObjectProperties,M= h.fireEvent,G=h.isNumber,I=h.objectEach,D=function(){function d(d){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=d}d.prototype.buildStacks=function(){var d=this.axis,c=d.series,a=d.options.reversedStacks,h=c.length,y;if(!d.isXAxis){this.usePercentage=!1;for(y=h;y--;){var p=c[a?y:h-y-1];p.setStackedPoints();p.setGroupedPoints()}for(y=0;yp&&u.shadow));k&&(k.startX=c.xMap,k.isArea=c.isArea)})};D.prototype.getGraphPath=function(d,h,c){var a=this,r=a.options,y=r.step,p,u=[],k=[],m;d=d||a.points;(p=d.reversed)&&d.reverse();(y={right:1, center:2}[y]||y&&3)&&p&&(y=4-y);d=this.getValidPoints(d,!1,!(r.connectNulls&&!h&&!c));d.forEach(function(p,A){var t=p.plotX,f=p.plotY,v=d[A-1];(p.leftCliff||v&&v.rightCliff)&&!c&&(m=!0);p.isNull&&!M(h)&&0d&&k>a?(k=Math.max(d,a),m=2*a-k):ku&&m>a?(m=Math.max(u,a),k=2*a-m):m=Math.abs(a)&&.5b.closestPointRange*b.xAxis.transA;k=b.borderWidth=A(f.borderWidth,k?0:1);var g=b.xAxis,n=b.yAxis,e=f.threshold,l=b.translatedThreshold=n.getThreshold(e),d=A(f.minPointLength,5),x=b.getColumnMetrics(),h=x.width,q=b.barW=Math.max(h,1+2*k),p=b.pointXOffset=x.offset,t=b.dataMin,v=b.dataMax;c.inverted&&(l-=.5);f.pointPadding&&(q=Math.ceil(q));M.prototype.translate.apply(b);b.points.forEach(function(k){var C= A(k.yBottom,l),w=999+Math.abs(C),z=h,r=k.plotX||0;w=a(k.plotY,-w,n.len+w);r+=p;var u=q,E=Math.min(w,C),H=Math.max(w,C)-E;if(d&&Math.abs(H)d?C-d:l-(B?d:0)}y(k.options.pointWidth)&&(z=u=Math.ceil(k.options.pointWidth),r-=Math.round((z-h)/2));f.centerInCategory&&(r=b.adjustForMissingColumns(r,z,k,x));k.barX=r;k.pointWidth=z;k.tooltipPos=c.inverted?[a(n.len+ n.pos-c.plotLeft-w,n.pos-c.plotLeft,n.len+n.pos-c.plotLeft),g.len+g.pos-c.plotTop-r-u/2,H]:[g.left-c.plotLeft+r+u/2,a(w+n.pos-c.plotTop,n.pos-c.plotTop,n.len+n.pos-c.plotTop),H];k.shapeType=b.pointClass.prototype.shapeType||"rect";k.shapeArgs=b.crispCol.apply(b,k.isNull?[r,l,u,0]:[r,E,u,H])})};d.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};d.prototype.pointAttribs=function(b,a){var c=this.options,f=this.pointAttrToOptions||{};var g=f.stroke|| "borderColor";var k=f["stroke-width"]||"borderWidth",e=b&&b.color||this.color,l=b&&b[g]||c[g]||e,d=b&&b[k]||c[k]||this[k]||0;f=b&&b.options.dashStyle||c.dashStyle;var m=A(b&&b.opacity,c.opacity,1);if(b&&this.zones.length){var h=b.getZone();e=b.options.color||h&&(h.color||b.nonZonedColor)||this.color;h&&(l=h.borderColor||l,f=h.dashStyle||f,d=h.borderWidth||d)}a&&b&&(b=L(c.states[a],b.options.states&&b.options.states[a]||{}),a=b.brightness,e=b.color||"undefined"!==typeof a&&u(e).brighten(b.brightness).get()|| e,l=b[g]||l,d=b[k]||d,f=b.dashStyle||f,m=A(b.opacity,m));g={fill:e,stroke:l,"stroke-width":d,opacity:m};f&&(g.dashstyle=f);return g};d.prototype.drawPoints=function(){var b=this,a=this.chart,c=b.options,f=a.renderer,g=c.animationLimit||250,k;b.points.forEach(function(e){var l=e.graphic,d=!!l,n=l&&a.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});return B}(h);G(F.prototype,{drawTracker:d.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});N(F,"afterTranslate",function(){this.applyJitter()});K.registerSeriesType("scatter", F);"";return F});Q(d,"Mixins/CenteredSeries.js",[d["Core/Globals.js"],d["Core/Series/Series.js"],d["Core/Utilities.js"]],function(d,h,K){var F=K.isNumber,J=K.pick,N=K.relativeLength,G=d.deg2rad;return d.CenteredSeriesMixin={getCenter:function(){var d=this.options,D=this.chart,B=2*(d.slicedOffset||0),u=D.plotWidth-2*B,c=D.plotHeight-2*B,a=d.center,r=Math.min(u,c),y=d.size,p=d.innerSize||0;"string"===typeof y&&(y=parseFloat(y));"string"===typeof p&&(p=parseFloat(p));d=[J(a[0],"50%"),J(a[1],"50%"),J(y&& 0>y?void 0:d.size,"100%"),J(p&&0>p?void 0:d.innerSize||0,"0%")];!D.angular||this instanceof h||(d[3]=0);for(a=0;4>a;++a)y=d[a],D=2>a||2===a&&/%$/.test(y),d[a]=N(y,[u,c,r,d[2]][a])+(D?B:0);d[3]>d[2]&&(d[3]=d[2]);return d},getStartAndEndRadians:function(d,h){d=F(d)?d:0;h=F(h)&&h>d&&360>h-d?h:d+360;return{start:G*(d+-90),end:G*(h+-90)}}}});Q(d,"Series/Pie/PiePoint.js",[d["Core/Animation/AnimationUtilities.js"],d["Core/Series/Point.js"],d["Core/Utilities.js"]],function(d,h,K){var F=this&&this.__extends|| function(){var d=function(c,a){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return d(c,a)};return function(c,a){function h(){this.constructor=c}d(c,a);c.prototype=null===a?Object.create(a):(h.prototype=a.prototype,new h)}}(),J=d.setAnimation,N=K.addEvent,G=K.defined;d=K.extend;var I=K.isNumber,D=K.pick,B=K.relativeLength;K=function(d){function c(){var a=null!==d&&d.apply(this,arguments)||this; a.labelDistance=void 0;a.options=void 0;a.series=void 0;return a}F(c,d);c.prototype.getConnectorPath=function(){var a=this.labelPosition,c=this.series.options.dataLabels,d=c.connectorShape,h=this.connectorShapes;h[d]&&(d=h[d]);return d.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,c)};c.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};c.prototype.haloPath=function(a){var c=this.shapeArgs;return this.sliced||!this.visible? []:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:c.r-1,start:c.start,end:c.end})};c.prototype.init=function(){h.prototype.init.apply(this,arguments);var a=this;a.name=D(a.name,"Slice");var c=function(c){a.slice("select"===c.type)};N(a,"select",c);N(a,"unselect",c);return a};c.prototype.isValid=function(){return I(this.y)&&0<=this.y};c.prototype.setVisible=function(a,c){var d=this,h=d.series,r=h.chart,k=h.options.ignoreHiddenPoint;c=D(c,k);a!==d.visible&&(d.visible=d.options.visible= a="undefined"===typeof a?!d.visible:a,h.options.data[h.data.indexOf(d)]=d.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(c){if(d[c])d[c][a?"show":"hide"](a)}),d.legendItem&&r.legend.colorizeItem(d,a),a||"hover"!==d.state||d.setState(""),k&&(h.isDirty=!0),c&&r.redraw())};c.prototype.slice=function(a,c,d){var h=this.series;J(d,h.chart);D(c,!0);this.sliced=this.options.sliced=G(a)?a:!this.sliced;h.options.data[h.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate()); this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return c}(h);d(K.prototype,{connectorShapes:{fixedOffset:function(d,c,a){var h=c.breakAt;c=c.touchingSliceAt;return[["M",d.x,d.y],a.softConnector?["C",d.x+("left"===d.alignment?-5:5),d.y,2*h.x-c.x,2*h.y-c.y,h.x,h.y]:["L",h.x,h.y],["L",c.x,c.y]]},straight:function(d,c){c=c.touchingSliceAt;return[["M",d.x,d.y],["L",c.x,c.y]]},crookedLine:function(d,c,a){c=c.touchingSliceAt;var h=this.series,y=h.center[0],p=h.chart.plotWidth,u=h.chart.plotLeft; h=d.alignment;var k=this.shapeArgs.r;a=B(a.crookDistance,1);p="left"===h?y+k+(p+u-y-k)*(1-a):u+(y-k)*a;a=["L",p,d.y];y=!0;if("left"===h?p>d.x||pc.x)y=!1;d=[["M",d.x,d.y]];y&&d.push(a);d.push(["L",c.x,c.y]);return d}}});return K});Q(d,"Series/Pie/PieSeries.js",[d["Mixins/CenteredSeries.js"],d["Series/Column/ColumnSeries.js"],d["Core/Globals.js"],d["Mixins/LegendSymbol.js"],d["Core/Color/Palette.js"],d["Series/Pie/PiePoint.js"],d["Core/Series/Series.js"],d["Core/Series/SeriesRegistry.js"], d["Core/Renderer/SVG/SVGRenderer.js"],d["Core/Utilities.js"]],function(d,h,K,F,J,M,G,I,D,B){var u=this&&this.__extends||function(){var a=function(c,k){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var f in c)c.hasOwnProperty(f)&&(a[f]=c[f])};return a(c,k)};return function(c,k){function d(){this.constructor=c}a(c,k);c.prototype=null===k?Object.create(k):(d.prototype=k.prototype,new d)}}(),c=d.getStartAndEndRadians;K=K.noop;var a=B.clamp,r= B.extend,y=B.fireEvent,p=B.merge,O=B.pick,k=B.relativeLength;B=function(d){function h(){var a=null!==d&&d.apply(this,arguments)||this;a.center=void 0;a.data=void 0;a.maxLabelDistance=void 0;a.options=void 0;a.points=void 0;return a}u(h,d);h.prototype.animate=function(a){var c=this,f=c.points,k=c.startAngleRad;a||f.forEach(function(b){var a=b.graphic,f=b.shapeArgs;a&&f&&(a.attr({r:O(b.startR,c.center&&c.center[3]/2),start:k,end:k}),a.animate({r:f.r,start:f.start,end:f.end},c.options.animation))})}; h.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,f=this.options;if(0===this.total&&this.center){var k=this.center[0];var b=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(k,b,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:D.prototype.symbols.arc(k,b,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color|| J.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())};h.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic&&c.hasNewShapeType()&&(c.graphic=c.graphic.destroy());c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})};h.prototype.generatePoints=function(){d.prototype.generatePoints.call(this);this.updateTotals()};h.prototype.getX=function(c,k,f){var d=this.center,b=this.radii?this.radii[f.index]|| 0:d[2]/2;c=Math.asin(a((c-d[1])/(b+f.labelDistance),-1,1));return d[0]+(k?-1:1)*Math.cos(c)*(b+f.labelDistance)+(01.5*Math.PI?x-=2*Math.PI:x<-Math.PI/2&&(x+=2*Math.PI);l.slicedTranslation={translateX:Math.round(Math.cos(x)* h),translateY:Math.round(Math.sin(x)*h)};w=Math.cos(x)*a[2]/2;var q=Math.sin(x)*a[2]/2;l.tooltipPos=[a[0]+.7*w,a[1]+.7*q];l.half=x<-Math.PI/2||x>Math.PI/2?1:0;l.angle=x;C=Math.min(b,l.labelDistance/5);l.labelPosition={natural:{x:a[0]+w+Math.cos(x)*l.labelDistance,y:a[1]+q+Math.sin(x)*l.labelDistance},"final":{},alignment:0>l.labelDistance?"center":l.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+w+Math.cos(x)*C,y:a[1]+q+Math.sin(x)*C},touchingSliceAt:{x:a[0]+w,y:a[1]+q}}}}y(this,"afterTranslate")}; h.prototype.updateTotals=function(){var a,c=0,f=this.points,k=f.length,b=this.options.ignoreHiddenPoint;for(a=0;ae){A(a,function(b,a){return(a.rank||0)-(b.rank||0)});for(n=f=0;n<=e;)n+=a[f].size,f++;g=a.splice(f-1,a.length)}A(a,b);for(a=a.map(function(b){return{size:b.size,targets:[b.target], align:k(b.align,.5)}});h;){for(f=a.length;f--;)h=a[f],n=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=u(n-h.size*h.align,0,c-h.size);f=a.length;for(h=!1;f--;)0a[f].pos&&(a[f-1].size+=a[f].size,a[f-1].targets=a[f-1].targets.concat(a[f].targets),a[f-1].align=.5,a[f-1].pos+a[f-1].size>c&&(a[f-1].pos=c-a[f-1].size),a.splice(f,1),h=!0)}m.push.apply(m,g);f=0;a.some(function(b){var a=0;if(b.targets.some(function(){m[f].pos=b.pos+a;if("undefined"!==typeof d&& Math.abs(m[f].pos-m[f].target)>d)return m.slice(0,f+1).forEach(function(b){delete b.pos}),m.reducedLen=(m.reducedLen||c)-.1*c,m.reducedLen>.1*c&&K.distribute(m,c,d),!0;a+=m[f].size;f++}))return!0});A(m,b)};J.prototype.drawDataLabels=function(){function a(b,a){var c=a.filter;return c?(a=c.operator,b=b[c.property],c=c.value,">"===a&&b>c||"<"===a&&b="===a&&b>=c||"<="===a&&b<=c||"=="===a&&b==c||"==="===a&&b===c?!0:!1):!0}function f(b,a){var c=[],e;if(y(b)&&!y(a))c=b.map(function(b){return p(b,a)}); else if(y(a)&&!y(b))c=a.map(function(a){return p(b,a)});else if(y(b)||y(a))for(e=Math.max(b.length,a.length);e--;)c[e]=p(b[e],a[e]);else c=p(b,a);return c}var d=this,b=d.chart,h=d.options,m=h.dataLabels,A=d.points,g,n=d.hasRendered||0,e=m.animation;e=m.defer?I(b,e,d):{defer:0,duration:0};var l=b.renderer;m=f(f(b.options.plotOptions&&b.options.plotOptions.series&&b.options.plotOptions.series.dataLabels,b.options.plotOptions&&b.options.plotOptions[d.type]&&b.options.plotOptions[d.type].dataLabels), m);r(this,"drawDataLabels");if(y(m)||m.enabled||d._hasPointLabels){var C=d.plotGroup("dataLabelsGroup","data-labels",n?"inherit":"hidden",m.zIndex||6);C.attr({opacity:+n});!n&&(n=d.dataLabelsGroup)&&(d.visible&&C.show(!0),n[h.animation?"animate":"attr"]({opacity:1},e));A.forEach(function(e){g=L(f(m,e.dlOptions||e.options&&e.options.dataLabels));g.forEach(function(g,f){var n=g.enabled&&(!e.isNull||e.dataLabelOnNull)&&a(e,g),q=e.dataLabels?e.dataLabels[f]:e.dataLabel,m=e.connectors?e.connectors[f]: e.connector,x=k(g.distance,e.labelDistance),p=!q;if(n){var w=e.getLabelConfig();var t=k(g[e.formatPrefix+"Format"],g.format);w=c(t)?D(t,w,b):(g[e.formatPrefix+"Formatter"]||g.formatter).call(w,g);t=g.style;var v=g.rotation;b.styledMode||(t.color=k(g.color,t.color,d.color,F.neutralColor100),"contrast"===t.color?(e.contrastColor=l.getContrast(e.color||d.color),t.color=!c(x)&&g.inside||0>x||h.stacking?e.contrastColor:F.neutralColor100):delete e.contrastColor,h.cursor&&(t.cursor=h.cursor));var A={r:g.borderRadius|| 0,rotation:v,padding:g.padding,zIndex:1};b.styledMode||(A.fill=g.backgroundColor,A.stroke=g.borderColor,A["stroke-width"]=g.borderWidth);O(A,function(b,a){"undefined"===typeof b&&delete A[a]})}!q||n&&c(w)?n&&c(w)&&(q?A.text=w:(e.dataLabels=e.dataLabels||[],q=e.dataLabels[f]=v?l.text(w,0,-9999,g.useHTML).addClass("highcharts-data-label"):l.label(w,0,-9999,g.shape,null,null,g.useHTML,null,"data-label"),f||(e.dataLabel=q),q.addClass(" highcharts-data-label-color-"+e.colorIndex+" "+(g.className||"")+ (g.useHTML?" highcharts-tracker":""))),q.options=g,q.attr(A),b.styledMode||q.css(t).shadow(g.shadow),q.added||q.add(C),g.textPath&&!g.useHTML&&(q.setTextPath(e.getDataLabelPath&&e.getDataLabelPath(q)||e.graphic,g.textPath),e.dataLabelPath&&!g.textPath.enabled&&(e.dataLabelPath=e.dataLabelPath.destroy())),d.alignDataLabel(e,q,g,null,p)):(e.dataLabel=e.dataLabel&&e.dataLabel.destroy(),e.dataLabels&&(1===e.dataLabels.length?delete e.dataLabels:delete e.dataLabels[f]),f||delete e.dataLabel,m&&(e.connector= e.connector.destroy(),e.connectors&&(1===e.connectors.length?delete e.connectors:delete e.connectors[f])))})})}r(this,"afterDrawDataLabels")};J.prototype.alignDataLabel=function(c,f,d,b,h){var m=this,p=this.chart,g=this.isCartesian&&p.inverted,n=this.enabledDataSorting,e=k(c.dlBox&&c.dlBox.centerX,c.plotX,-9999),l=k(c.plotY,-9999),C=f.getBBox(),x=d.rotation,w=d.align,q=p.isInsidePlot(e,Math.round(l),{inverted:g,paneCoordinates:!0,series:m}),t="justify"===k(d.overflow,n?"none":"justify"),v=this.visible&& !1!==c.visible&&(c.series.forceDL||n&&!t||q||k(d.inside,!!this.options.stacking)&&b&&p.isInsidePlot(e,g?b.x+1:b.y+b.height-1,{inverted:g,paneCoordinates:!0,series:m}));var A=function(b){n&&m.xAxis&&!t&&m.setDataLabelStartPos(c,f,h,q,b)};if(v){var r=p.renderer.fontMetrics(p.styledMode?void 0:d.style.fontSize,f).b;b=a({x:g?this.yAxis.len-l:e,y:Math.round(g?this.xAxis.len-e:l),width:0,height:0},b);a(d,{width:C.width,height:C.height});x?(t=!1,e=p.renderer.rotCorr(r,x),e={x:b.x+(d.x||0)+b.width/2+e.x, y:b.y+(d.y||0)+{top:0,middle:.5,bottom:1}[d.verticalAlign]*b.height},A(e),f[h?"attr":"animate"](e).attr({align:w}),A=(x+720)%360,A=180A,"left"===w?e.y-=A?C.height:0:"center"===w?(e.x-=C.width/2,e.y-=C.height/2):"right"===w&&(e.x-=C.width,e.y-=A?0:C.height),f.placed=!0,f.alignAttr=e):(A(b),f.align(d,void 0,b),e=f.alignAttr);t&&0<=b.height?this.justifyDataLabel(f,d,e,C,b,h):k(d.crop,!0)&&(v=p.isInsidePlot(e.x,e.y,{paneCoordinates:!0,series:m})&&p.isInsidePlot(e.x+C.width,e.y+C.height,{paneCoordinates:!0, series:m}));if(d.shape&&!x)f[h?"attr":"animate"]({anchorX:g?p.plotWidth-c.plotY:c.plotX,anchorY:g?p.plotHeight-c.plotX:c.plotY})}h&&n&&(f.placed=!1);v||n&&!t||(f.hide(!0),f.placed=!1)};J.prototype.setDataLabelStartPos=function(a,c,k,b,d){var f=this.chart,h=f.inverted,g=this.xAxis,n=g.reversed,e=h?c.height/2:c.width/2;a=(a=a.pointWidth)?a/2:0;g=h?d.x:n?-e-a:g.width-e+a;d=h?n?this.yAxis.height-e+a:-e-a:d.y;c.startXPos=g;c.startYPos=d;b?"hidden"===c.visibility&&(c.show(),c.attr({opacity:0}).animate({opacity:1})): c.attr({opacity:1}).animate({opacity:0},void 0,c.hide);f.hasRendered&&(k&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)};J.prototype.justifyDataLabel=function(a,c,k,b,d,h){var f=this.chart,g=c.align,n=c.verticalAlign,e=a.box?0:a.padding||0,l=c.x;l=void 0===l?0:l;var m=c.y;var x=void 0===m?0:m;m=(k.x||0)+e;if(0>m){"right"===g&&0<=l?(c.align="left",c.inside=!0):l-=m;var p=!0}m=(k.x||0)+b.width-e;m>f.plotWidth&&("left"===g&&0>=l?(c.align="right",c.inside=!0):l+=f.plotWidth-m,p=!0);m=k.y+e;0>m&& ("bottom"===n&&0<=x?(c.verticalAlign="top",c.inside=!0):x-=m,p=!0);m=(k.y||0)+b.height-e;m>f.plotHeight&&("top"===n&&0>=x?(c.verticalAlign="bottom",c.inside=!0):x+=f.plotHeight-m,p=!0);p&&(c.x=l,c.y=x,a.placed=!h,a.align(c,void 0,d));return p};M.pie&&(M.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,c,k,b){return a.getX(kc.bottom-2?b:k,c.half,c)},justify:function(a,c,k){return k[0]+(a.half?-1:1)*(c+a.labelDistance)}, alignToPlotEdges:function(a,c,k,b){a=a.getBBox().width;return c?a+b:k-a-b},alignToConnectors:function(a,c,k,b){var f=0,d;a.forEach(function(b){d=b.dataLabel.getBBox().width;d>f&&(f=d)});return c?f+b:k-f-b}},M.pie.prototype.drawDataLabels=function(){var a=this,f=a.data,d,b=a.chart,h=a.options.dataLabels||{},m=h.connectorPadding,A,g=b.plotWidth,n=b.plotHeight,e=b.plotLeft,l=Math.round(b.chartWidth/3),C,x=a.center,w=x[2]/2,q=x[1],z,r,y,u,L=[[],[]],D,G,I,O,N=[0,0,0,0],M=a.dataLabelPositioners,Q;a.visible&& (h.enabled||a._hasPointLabels)&&(f.forEach(function(b){b.dataLabel&&b.visible&&b.dataLabel.shortened&&(b.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),b.dataLabel.shortened=!1)}),J.prototype.drawDataLabels.apply(a),f.forEach(function(b){b.dataLabel&&(b.visible?(L[b.half].push(b),b.dataLabel._pos=null,!c(h.style.width)&&!c(b.options.dataLabels&&b.options.dataLabels.style&&b.options.dataLabels.style.width)&&b.dataLabel.getBBox().width>l&&(b.dataLabel.css({width:Math.round(.7* l)+"px"}),b.dataLabel.shortened=!0)):(b.dataLabel=b.dataLabel.destroy(),b.dataLabels&&1===b.dataLabels.length&&delete b.dataLabels))}),L.forEach(function(f,l){var C=f.length,p=[],t;if(C){a.sortByAngle(f,l-.5);if(0g-m&&0===l&&(A=Math.round(D+r-g+m),N[1]=Math.max(A,N[1])),0>G-u/2?N[0]=Math.max(Math.round(-G+u/2),N[0]):G+u/2>n&&(N[2]=Math.max(Math.round(G+ u/2-n),N[2])),z.sideOverflow=A)}}}),0===B(N)||this.verifyDataLabelOverflow(N))&&(this.placeDataLabels(),this.points.forEach(function(c){Q=p(h,c.options.dataLabels);if(A=k(Q.connectorWidth,1)){var e;C=c.connector;if((z=c.dataLabel)&&z._pos&&c.visible&&0k(this.translatedThreshold,m.yAxis.len)),e=k(d.inside,!!this.options.stacking);g&&(b=p(g),0>b.y&&(b.height+=b.y,b.y=0),g=b.y+b.height-m.yAxis.len,0=m.x+m.width||L.x+L.width<= m.x||L.y>=m.y+m.height||L.y+L.height<=m.y||((k.labelrank=I(a.minWidth,0)&&this.chartHeight>=I(a.minHeight,0)}).call(this)&&c.push(d._id)};d.prototype.currentOptions=function(d){function c(d,h,r,k){var m;G(d,function(d,p){if(!k&&-1r&&(h?d=c-p:c=d+p);G(d)&&G(c)||(d=c=void 0);return{min:d,max:c}};return d}();return function(){function d(){}d.compose=function(d){d.keepProps.push("navigatorAxis");F(d,"init",function(){this.navigatorAxis||(this.navigatorAxis= new D(this))});F(d,"zoom",function(c){var a=this.chart.options,d=a.navigator,h=this.navigatorAxis,p=a.chart.pinchType,u=a.rangeSelector;a=a.chart.zoomType;this.isXAxis&&(d&&d.enabled||u&&u.enabled)&&("y"===a?c.zoomed=!1:(!K&&"xy"===a||K&&"xy"===p)&&this.options.range&&(d=h.previousZoom,M(c.newMin)?h.previousZoom=[this.min,this.max]:d&&(c.newMin=d[0],c.newMax=d[1],h.previousZoom=void 0)));"undefined"!==typeof c.zoomed&&c.preventDefault()})};d.AdditionsClass=D;return d}()});Q(d,"Core/Axis/ScrollbarAxis.js", [d["Core/Utilities.js"]],function(d){var h=d.addEvent,K=d.defined,F=d.pick;return function(){function d(){}d.compose=function(d,G){var I=function(d){var h=F(d.options&&d.options.min,d.min),u=F(d.options&&d.options.max,d.max);return{axisMin:h,axisMax:u,scrollMin:K(d.dataMin)?Math.min(h,d.min,d.dataMin,F(d.threshold,Infinity)):h,scrollMax:K(d.dataMax)?Math.max(u,d.max,d.dataMax,F(d.threshold,-Infinity)):u}};h(d,"afterInit",function(){var d=this;d.options&&d.options.scrollbar&&d.options.scrollbar.enabled&& (d.options.scrollbar.vertical=!d.horiz,d.options.startOnTick=d.options.endOnTick=!1,d.scrollbar=new G(d.chart.renderer,d.options.scrollbar,d.chart),h(d.scrollbar,"changed",function(h){var u=I(d),c=u.axisMax,a=u.scrollMin,r=u.scrollMax-a;K(u.axisMin)&&K(c)&&(d.horiz&&!d.reversed||!d.horiz&&d.reversed?(u=a+r*this.to,a+=r*this.from):(u=a+r*(1-this.from),a+=r*(1-this.to)),this.shouldUpdateExtremes(h.DOMType)?d.setExtremes(a,u,!0,"mousemove"!==h.DOMType&&"touchmove"!==h.DOMType,h):this.setRange(this.from, this.to))}))});h(d,"afterRender",function(){var d=I(this),h=d.scrollMin,u=d.scrollMax;d=this.scrollbar;var c=this.axisTitleMargin+(this.titleOffset||0),a=this.chart.scrollbarsOffsets,r=this.options.margin||0;d&&(this.horiz?(this.opposite||(a[1]+=c),d.position(this.left,this.top+this.height+2+a[1]-(this.opposite?r:0),this.width,this.height),this.opposite||(a[1]+=r),c=1):(this.opposite&&(a[0]+=c),d.position(this.left+this.width+2+a[0]-(this.opposite?0:r),this.top,this.width,this.height),this.opposite&& (a[0]+=r),c=0),a[c]+=d.size+d.options.margin,isNaN(h)||isNaN(u)||!K(this.min)||!K(this.max)||this.min===this.max?d.setRange(0,1):(a=(this.min-h)/(u-h),h=(this.max-h)/(u-h),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(a,h):d.setRange(1-h,1-a)))});h(d,"afterGetOffset",function(){var d=this.horiz?2:1,h=this.scrollbar;h&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[d]+=h.size+h.options.margin)})};return d}()});Q(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,h,K,F,J,M){var G=J.addEvent,I=J.correctFloat,D=J.defined,B=J.destroyObjectProperties,u=J.fireEvent,c=J.merge,a=J.pick,r=J.removeEvent;J=M.defaultOptions;var y=h.isTouchDevice,p=h.swapXY=function(a,c){c&&a.forEach(function(a){for(var c=a.length,d,k=0;kthis.calculatedWidth?c.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-c),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-c)}};d.prototype.destroy=function(){var a=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,B(a.scrollbarButtons))};d.prototype.drawScrollbarButton=function(a){var c= this.renderer,d=this.scrollbarButtons,k=this.options,h=this.size;var f=c.g().add(this.group);d.push(f);f=c.rect().addClass("highcharts-scrollbar-button").add(f);this.chart.styledMode||f.attr({stroke:k.buttonBorderColor,"stroke-width":k.buttonBorderWidth,fill:k.buttonBackgroundColor});f.attr(f.crisp({x:-.5,y:-.5,width:h+1,height:h+1,r:k.buttonBorderRadius},f.strokeWidth()));f=c.path(p([["M",h/2+(a?-1:1),h/2-3],["L",h/2+(a?-1:1),h/2+3],["L",h/2+(a?2:-2),h/2]],k.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]); this.chart.styledMode||f.attr({fill:k.buttonArrowColor})};d.prototype.init=function(k,h,p){this.scrollbarButtons=[];this.renderer=k;this.userOptions=h;this.options=c(d.defaultOptions,h);this.chart=p;this.size=a(this.options.size,this.options.height);h.enabled&&(this.render(),this.addEvents())};d.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};d.prototype.mouseMoveHandler=function(a){var c=this.chart.pointer.normalize(a),d=this.options.vertical?"chartY":"chartX",k=this.initPositions||[];!this.grabbedCenter||a.touches&&0===a.touches[0][d]||(c=this.cursorToScrollbarPosition(c)[d],d=this[d],d=c-d,this.hasDragged=!0,this.updatePosition(k[0]+d,k[1]+d),this.hasDragged&&u(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};d.prototype.mouseUpHandler=function(a){this.hasDragged&&u(this,"changed",{from:this.from, to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};d.prototype.position=function(a,c,d,h){var k=this.options.vertical,f=0,m=this.rendered?"animate":"attr";this.x=a;this.y=c+this.trackBorderWidth;this.width=d;this.xOffset=this.height=h;this.yOffset=f;k?(this.width=this.yOffset=d=f=this.size,this.xOffset=c=0,this.barWidth=h-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=h=c=this.size,this.barWidth=d-2*h,this.y+=this.options.margin); this.group[m]({translateX:a,translateY:this.y});this.track[m]({width:d,height:h});this.scrollbarButtons[1][m]({translateX:k?0:d-c,translateY:k?h-f:0})};d.prototype.removeEvents=function(){this._events.forEach(function(a){r.apply(null,a)});this._events.length=0};d.prototype.render=function(){var a=this.renderer,c=this.options,d=this.size,h=this.chart.styledMode,t;this.group=t=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:d,width:d}).add(t);h||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(t);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:c.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(p([["M",-3,d/4],["L",-3,2*d/3],["M",0,d/4],["L", 0,2*d/3],["M",3,d/4],["L",3,2*d/3]],c.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);h||(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)};d.prototype.setRange= function(a,c){var d=this.options,k=d.vertical,h=d.minWidth,f=this.barWidth,m,b=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(D(f)){a=Math.max(a,0);var p=Math.ceil(f*a);this.calculatedWidth=m=I(f*Math.min(c,1)-p);m=m?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===d.showFull&&(0>=a&&1<=c?this.group.hide():this.group.show());this.rendered=!0}};d.prototype.shouldUpdateExtremes=function(c){return a(this.options.liveRedraw,h.svg&&!h.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===c||"touchend"===c||!D(c)};d.prototype.trackClick= function(a){var c=this.chart.pointer.normalize(a),d=this.to-this.from,k=this.y+this.scrollbarTop,h=this.x+this.scrollbarLeft;this.options.vertical&&c.chartY>k||!this.options.vertical&&c.chartX>h?this.updatePosition(this.from+d,this.to+d):this.updatePosition(this.from-d,this.to-d);u(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};d.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,c(!0,this.options,a),this.chart)};d.prototype.updatePosition=function(a, c){1a&&(c=I(c-a),a=0);this.from=a;this.to=c};d.defaultOptions={height:y?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:K.neutralColor20,barBorderWidth:1,barBorderColor:K.neutralColor20,buttonArrowColor:K.neutralColor80,buttonBackgroundColor:K.neutralColor10,buttonBorderColor:K.neutralColor20,buttonBorderWidth:1,rifleColor:K.neutralColor80,trackBackgroundColor:K.neutralColor5,trackBorderColor:K.neutralColor5, trackBorderWidth:1};return d}();h.Scrollbar||(J.scrollbar=c(!0,M.defaultOptions,J.scrollbar),h.Scrollbar=M,F.compose(d,M));return h.Scrollbar});Q(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,h,K,F,J,M,G,I,D,B,u){K=K.parse;var c=F.hasTouch, a=F.isTouchDevice,r=M.defaultOptions,y=u.addEvent,p=u.clamp,O=u.correctFloat,k=u.defined,m=u.destroyObjectProperties,L=u.erase,A=u.extend,t=u.find,f=u.isArray,v=u.isNumber,b=u.merge,E=u.pick,N=u.removeEvent,H=u.splat,g=function(a){for(var b=[],c=1;cr&&(this.grabbedLeft?c=l.toPixels(b-r-n,!0):this.grabbedRight&&(e=l.toPixels(a+r+n,!0)));this.zoomedMax=p(Math.max(c,e),0,x);this.zoomedMin=p(this.fixedWidth?this.zoomedMax-this.fixedWidth: Math.min(c,e),0,x);this.range=this.zoomedMax-this.zoomedMin;x=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"visible"}),C=C&&!this.hasDragged?"animate":"attr",this.drawMasks(c,x,w,C),this.drawOutline(c,x,w,C),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,w,C),this.drawHandle(x,1,w,C)));this.scrollbar&&(w?(w=this.top-g,h=this.left-g+(m||!h.opposite?0:(h.titleOffset||0)+h.axisTitleMargin),g=f+2*g):(w=this.top+(m?this.height:-g),h=this.left- g),this.scrollbar.position(h,w,d,g),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1)));this.rendered=!0}};e.prototype.addMouseEvents=function(){var a=this,b=a.chart,e=b.container,d=[],g,f;a.mouseMoveHandler=g=function(b){a.onMouseMove(b)};a.mouseUpHandler=f=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(y(b.renderTo,"mousemove",g),y(e.ownerDocument,"mouseup",f));c&&(d.push(y(b.renderTo,"touchmove",g),y(e.ownerDocument,"touchend",f)),d.concat(a.getPartsEvents("touchstart"))); a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(y(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))};e.prototype.getPartsEvents=function(a){var b=this,c=[];["shades","handles"].forEach(function(e){b[e].forEach(function(d,g){c.push(y(d.element,a,function(a){b[e+"Mousedown"](a,g)}))})});return c};e.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,e=this.xAxis,d=this.zoomedMin,g=this.left,f=this.size,l=this.range,n=a.chartX; c.inverted&&(n=a.chartY,g=this.top);if(1===b)this.grabbedCenter=n,this.fixedWidth=l,this.dragOffset=n-d;else{a=n-g-l/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+l>=f)if(a=f-l,this.reversedExtremes){a-=l;var h=this.getUnionExtremes().dataMin}else var m=this.getUnionExtremes().dataMax;a!==d&&(this.fixedWidth=l,b=e.navigatorAxis.toFixedRange(a,a+l,h,m),k(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};e.prototype.handlesMousedown=function(a, b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],e=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=e?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=e?c.max:c.min);a.fixedRange=null};e.prototype.onMouseMove=function(b){var c=this,e=c.chart,d=c.left,g=c.navigatorSize,f=c.range,l=c.dragOffset,k=e.inverted;b.touches&&0===b.touches[0].pageX||(b=e.pointer.normalize(b),e=b.chartX,k&&(d=c.top,e= b.chartY),c.grabbedLeft?(c.hasDragged=!0,c.render(0,0,e-d,c.otherHandlePos)):c.grabbedRight?(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,e-d)):c.grabbedCenter&&(c.hasDragged=!0,eg+l-f&&(e=g+l-f),c.render(0,0,e-l,e-l+f)),c.hasDragged&&c.scrollbar&&E(c.scrollbar.options.liveRedraw,F.svg&&!a&&!this.chart.isBoosting)&&(b.DOMType=b.type,setTimeout(function(){c.onMouseUp(b)},0)))};e.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,e=this.scrollbar,d=a.DOMEvent||a,g=b.inverted,f= this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!e||!e.hasDragged)||"scrollbar"===a.trigger){e=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var l=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var n=this.fixedExtreme;this.zoomedMax===this.size&&(n=this.reversedExtremes?e.dataMin:e.dataMax);0===this.zoomedMin&&(l=this.reversedExtremes?e.dataMax:e.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,l,n);k(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min, c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&v(this.zoomedMin)&&v(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,g,f),this.outline&&this.drawOutline(b, a,g,f),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,g,f),this.drawHandle(a,1,g,f)))};e.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};e.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){N(a,"updatedData", this.updatedDataHandler)},this),a[0].xAxis&&N(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};e.prototype.init=function(a){var c=a.options,e=c.navigator,f=e.enabled,k=c.scrollbar,l=k.enabled;c=f?e.height:0;var n=l?k.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=c;this.scrollbarHeight=n;this.scrollbarEnabled=l;this.navigatorEnabled=f;this.navigatorOptions=e;this.scrollbarOptions=k;this.outlineHeight=c+n;this.opposite=E(e.opposite,!(f||!a.inverted)); var h=this;f=h.baseSeries;k=a.xAxis.length;l=a.yAxis.length;var m=f&&f[0]&&f[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;h.navigatorEnabled?(h.xAxis=new d(a,b({breaks:m.options.breaks,ordinal:m.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:k,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[n,0,-n,0],width:c}:{offsets:[0,-n,0,n],height:c})),h.yAxis=new d(a, b(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,reversed:E(e.yAxis&&e.yAxis.reversed,a.yAxis[0]&&a.yAxis[0].reversed,!1),zoomEnabled:!1},a.inverted?{width:c}:{height:c})),f||e.series.data?h.updateNavigatorSeries(!1):0===a.series.length&&(h.unbindRedraw=y(a,"beforeRedraw",function(){0g.indexOf(b)?(b&&(N(b,"updatedData",e.updatedDataHandler),delete b.navigatorSeries), a.chart&&a.destroy(),!1):!0});g&&g.length&&g.forEach(function(a){var q=a.navigatorSeries,x=A({color:a.color,visible:a.visible},f(h)?r.navigator.series:h);q&&!1===e.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+g.length,k=a.options||{},n=k.navigatorOptions||{},x.dataLabels=H(x.dataLabels),l=b(k,m,x,n),l.pointRange=E(x.pointRange,n.pointRange,r.plotOptions[l.type||"line"].pointRange),x=n.data||x.data,e.hasNavigatorData=e.hasNavigatorData||!!x,l.data=x||k.data&&k.data.slice(0),q&&q.options? q.update(l,c):(a.navigatorSeries=d.initSeries(l),a.navigatorSeries.baseSeries=a,p.push(a.navigatorSeries)))});if(h.data&&(!g||!g.length)||f(h))e.hasNavigatorData=!1,h=H(h),h.forEach(function(a,c){m.name="Navigator "+(p.length+1);l=b(r.navigator.series,{color:d.series[c]&&!d.series[c].options.isInternal&&d.series[c].color||d.options.colors[c]||d.options.colors[0]},m,a);l.data=a.data;l.data&&(e.hasNavigatorData=!0,p.push(d.initSeries(l)))});a&&this.addBaseSeriesEvents()};e.prototype.addBaseSeriesEvents= function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&b[0].eventsToUnbind.push(y(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));b.forEach(function(b){b.eventsToUnbind.push(y(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}));b.eventsToUnbind.push(y(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&b.eventsToUnbind.push(y(b,"updatedData",this.updatedDataHandler)); b.eventsToUnbind.push(y(b,"remove",function(){this.navigatorSeries&&(L(a.series,this.navigatorSeries),k(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)};e.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)};e.prototype.modifyNavigatorAxisExtremes=function(){var a=this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax=== a.max||(a.min=b.dataMin,a.max=b.dataMax))};e.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,e=b.dataMax;b=b.max-b.min;var d=a.stickToMin,g=a.stickToMax,f=E(this.options.overscroll,0),k=a.series&&a.series[0],h=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(d){var n=c;var m=n+b}g&&(m=e+f,d||(n=Math.max(c,m-b,a.getBaseSeriesMin(k&&k.xData?k.xData[0]:-Number.MAX_VALUE))));h&&(d||g)&&v(n)&&(this.min=this.userMin= n,this.max=this.userMax=m)}a.stickToMin=a.stickToMax=null};e.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=v(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};e.prototype.addChartEvents= function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(y(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||this.xAxis[0]);b&&a.render(b.min,b.max)}),y(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))};e.prototype.destroy= function(){this.removeEvents();this.xAxis&&(L(this.chart.xAxis,this.xAxis),L(this.chart.axes,this.xAxis));this.yAxis&&(L(this.chart.yAxis,this.yAxis),L(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){m(a)},this)}; return e}();F.Navigator||(F.Navigator=n,J.compose(d),y(h,"beforeShowResetZoom",function(){var b=this.options,c=b.navigator,d=b.rangeSelector;if((c&&c.enabled||d&&d.enabled)&&(!a&&"x"===b.chart.zoomType||a&&"x"===b.chart.pinchType))return!1}),y(h,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new n(this)}),y(h,"afterSetChartSize",function(){var a=this.legend,b=this.navigator;if(b){var c=a&&a.options;var d=b.xAxis;var g=b.yAxis; var f=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-f-b.height:this.spacing[3]+f,b.top=this.plotTop+f):(b.left=this.plotLeft+f,b.top=b.navigatorOptions.top||this.chartHeight-b.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&"proximate"!==c.layout&&c.enabled&&!c.floating?a.legendHeight+E(c.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));d&&g&&(this.inverted?d.options.left=g.options.left= b.left:d.options.top=g.options.top=b.top,d.setAxisSize(),g.setAxisSize())}}),y(h,"update",function(a){var c=a.options.navigator||{},e=a.options.scrollbar||{};this.navigator||this.scroller||!c.enabled&&!e.enabled||(b(!0,this.options.navigator,c),b(!0,this.options.scrollbar,e),delete a.options.navigator,delete a.options.scrollbar)}),y(h,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new n(this), E(a.redraw,!0)&&this.redraw(a.animation))}),y(h,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),y(D,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),h.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}));F.Navigator=n;return F.Navigator});Q(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,h,K,F,J){var M=F.addEvent,G=F.css,I=F.defined,D=F.error,B=F.pick,u=F.timeUnits,c;(function(a){var c=function(){function a(a){this.index={};this.axis=a}a.prototype.beforeSetTickPositions=function(){var a=this.axis,c=a.ordinal,d=[],h,r=!1,A=a.getExtremes(),t=A.min,f=A.max,v,b=a.isXAxis&&!!a.options.breaks;A=a.options.ordinal;var y=Number.MAX_VALUE,u=a.chart.options.chart.ignoreHiddenSeries,H;if(A||b){a.series.forEach(function(a,c){h=[];if(!(u&& !1===a.visible||!1===a.takeOrdinalPosition&&!b)&&(d=d.concat(a.processedXData),g=d.length,d.sort(function(a,b){return a-b}),y=Math.min(y,B(a.closestPointRange,y)),g)){for(c=0;cn||f-d[d.length-1]>n)&&(r=!0)}else a.options.overscroll&&(2===g?y=d[1]-d[0]:1===g?(y=a.options.overscroll, d=[d[0],d[0]+y]):y=c.overscrollPointsRange);r||a.forceOrdinal?(a.options.overscroll&&(c.overscrollPointsRange=y,d=d.concat(c.getOverscrollPositions())),c.positions=d,n=a.ordinal2lin(Math.max(t,d[0]),!0),v=Math.max(a.ordinal2lin(Math.min(f,d[d.length-1]),!0),1),c.slope=f=(f-t)/(v-n),c.offset=t-n*f):(c.overscrollPointsRange=B(a.closestPointRange,c.overscrollPointsRange),c.positions=a.ordinal.slope=c.offset=void 0)}a.isOrdinal=A&&r;c.groupIntervalFactor=null};a.prototype.getExtendedPositions=function(){var a= this,c=a.axis,d=c.constructor.prototype,m=c.chart,r=c.series[0].currentDataGrouping,y=a.index,t=r?r.count+r.unitName:"raw",f=c.options.overscroll,v=c.getExtremes(),b;y||(y=a.index={});if(!y[t]){var u={series:[],chart:m,forceOrdinal:!1,getExtremes:function(){return{min:v.dataMin,max:v.dataMax+f}},getGroupPixelWidth:d.getGroupPixelWidth,getTimeTicks:d.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:d.ordinal2lin,val2lin:d.val2lin};u.ordinal.axis= u;c.series.forEach(function(c){b={xAxis:u,xData:c.xData.slice(),chart:m,destroyGroupedData:h.noop,getProcessedData:K.prototype.getProcessedData};b.xData=b.xData.concat(a.getOverscrollPositions());b.options={dataGrouping:r?{enabled:!0,forced:!0,approximation:"open",units:[[r.unitName,[r.count]]]}:{enabled:!1}};u.series.push(b);c.processData.apply(b);b.closestPointRange!==b.basePointRange&&b.currentDataGrouping&&(u.forceOrdinal=!0)});c.ordinal.beforeSetTickPositions.apply({axis:u});y[t]=u.ordinal.positions}return y[t]}; a.prototype.getGroupIntervalFactor=function(a,c,d){d=d.processedXData;var k=d.length,h=[];var p=this.groupIntervalFactor;if(!p){for(p=0;pf.length||"undefined"===typeof c)return C.getTimeTicks.apply(C, arguments);var w=f.length;for(p=0;pd;f[p]5*h||q){if(f[p]>e){for(t=C.getTimeTicks(a,f[m],f[p],k);t.length&&t[0]<=e;)t.shift();t.length&&(e=t[t.length-1]);x.push(n.length);n=n.concat(t)}m=p+1}if(q)break}if(t){t=t.info;if(b&&t.unitRange<=u.hour){p=n.length-1;for(m=1;md?t-1:t;for(C=void 0;m--;)p=r[m],t=Math.abs(C-p),C&&t<.8*l&&(null===x||t<.8*x)?(g[n[m]]&&!g[n[m+1]]?(t=m+1,C=p):t=m,n.splice(t,1)):C=p}return n};k.lin2val=function(a,c){var d=this.ordinal,k=d.positions;if(k){var f=d.slope,h=d.offset;d=k.length-1;var b=void 0;if(c)0>a?a=k[0]:a>d?a=k[d]:(d=Math.floor(a),b=a-d);else for(;d--;)if(c=f*d+h,a>=c){f=f* (d+1)+h;b=(a-c)/(f-c);break}return"undefined"!==typeof b&&"undefined"!==typeof k[d]?k[d]+(b?b*(k[d+1]-k[d]):0):a}return a};k.val2lin=function(a,c){var d=this.ordinal,k=d.positions;if(k){var f=k.length,h,b=void 0;for(h=f;h--;)if(k[h]===a){b=h;break}for(h=f-1;h--;)if(a>k[h]||0===h){a=(a-k[h])/(k[h+1]-k[h]);b=h+a;break}c=c?b:d.slope*(b||0)+d.offset}else c=a;return c};k.ordinal2lin=k.val2lin;M(c,"afterInit",function(){this.ordinal||(this.ordinal=new a.Composition(this))});M(c,"foundExtremes",function(){this.isXAxis&& I(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&&I(this.userMin)&&(this.min+=this.options.overscroll))});M(c,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)});M(c,"initialAxisTranslation",function(){this.ordinal&&(this.ordinal.beforeSetTickPositions(), this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))});M(d,"pan",function(a){var c=this.xAxis[0],d=c.options.overscroll,k=a.originalEvent.chartX,f=this.options.chart.panning,h=!1;if(f&&"y"!==f.type&&c.options.ordinal&&c.series.length){var b=this.mouseDownX,m=c.getExtremes(),p=m.dataMax,r=m.min,g=m.max,n=void 0;n=this.hoverPoints;var e=c.closestPointRange||c.ordinal&&c.ordinal.overscrollPointsRange;b=(b-k)/(c.translationSlope*(c.ordinal.slope||e));e={ordinal:{positions:c.ordinal.getExtendedPositions()}}; var l=void 0,C=void 0,x=c.lin2val,w=c.val2lin,q=void 0;e.ordinal.positions?1b?(C=e,q=c.ordinal.positions?c:e):(C=c.ordinal.positions?c:e,q=e),l=q.ordinal.positions,p>l[l.length-1]&&l.push(p),this.fixedRange=g-r,n=c.navigatorAxis.toFixedRange(null,null,x.apply(C,[w.apply(C,[r,!0])+b,!0]),x.apply(q,[w.apply(q,[g,!0])+b,!0])),n.min>=Math.min(m.dataMin,r)&&n.max<=Math.max(p,g)+d&&c.setExtremes(n.min,n.max,!0,!1,{trigger:"pan"}),this.mouseDownX= k,G(this.container,{cursor:"move"})):h=!0}else h=!0;h||f&&/y/.test(f.type)?d&&(c.max=c.dataMax+d):a.preventDefault()});M(h,"updatedData",function(){var a=this.xAxis;a&&a.options.ordinal&&delete a.ordinal.index})}})(c||(c={}));c.compose(d,J,K);return c});Q(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,h,K,F){var J=F.addEvent,M=F.find,G=F.fireEvent,I=F.isArray,D=F.isNumber,B=F.pick,u=function(){function c(a){this.hasBreaks= !1;this.axis=a}c.isInBreak=function(a,c){var d=a.repeat||Infinity,h=a.from,r=a.to-a.from;c=c>=h?(c-h)%d:d-(h-c)%d;return a.inclusive?c<=r:c=a)break;else p.to=a)break;else if(c.isInBreak(u,a)){h-=a-u.from;break}}return h};c.prototype.findBreakAt=function(a,c){return M(c,function(c){return c.fromf;)H-=t;for(;Hb.to||r>b.from&&fb.from&&fb.from&&f>b.to&&fa&&c>=this.basePointRange&&(a=c),u=void 0;h--;)u&&!1!==u.visible||(u=d[h+1]),c=d[h],!1!==u.visible&&!1!==c.visible&&(u.x-c.x>a&&(u=(c.x+u.x)/2,d.splice(h+1,0,{isNull:!0,x:u}), r.stacking&&this.options.stacking&&(u=r.stacking.stacks[this.stackKey][u]=new K(r,r.options.stackLabels,!1,u,this.stack),u.total=0)),u=c);return this.getGraphPath(d)};J(a,"init",function(){this.brokenAxis||(this.brokenAxis=new u(this))});J(a,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});J(a,"afterSetTickPositions",function(){var a=this.brokenAxis;if(a&&a.hasBreaks){var c=this.tickPositions,d=this.tickPositions.info,h=[],r;for(r=0;r< c.length;r++)a.isInAnyBreak(c[r])||h.push(c[r]);this.tickPositions=h;this.tickPositions.info=d}});J(a,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)});J(c,"afterGeneratePoints",function(){var a=this.options.connectNulls,c=this.points,d=this.xAxis,h=this.yAxis;if(this.isDirty)for(var r=c.length;r--;){var u=c[r],t=!(null===u.y&&!1===a)&&(d&&d.brokenAxis&&d.brokenAxis.isInAnyBreak(u.x,!0)||h&&h.brokenAxis&&h.brokenAxis.isInAnyBreak(u.y,!0));u.visible= t?!1:!1!==u.options.visible}});J(c,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,B(this.pointArrayMap,["y"]))})};return c}();F.compose(d,h);return F});Q(d,"masters/modules/broken-axis.src.js",[],function(){});Q(d,"Extensions/DataGrouping.js",[d["Core/Axis/Axis.js"],d["Core/Axis/DateTimeAxis.js"],d["Core/FormatUtilities.js"],d["Core/Globals.js"],d["Core/Series/Point.js"],d["Core/Series/Series.js"],d["Core/Tooltip.js"],d["Core/Options.js"],d["Core/Utilities.js"]], function(d,h,K,F,J,M,G,I,D){var B=K.format,u=M.prototype;K=D.addEvent;var c=D.arrayMax,a=D.arrayMin,r=D.correctFloat,y=D.defined,p=D.error,N=D.extend,k=D.isNumber,m=D.merge,L=D.pick;"";var A=F.approximations={sum:function(a){var b=a.length;if(!b&&a.hasNulls)var c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var b=a.length;a=A.sum(a);k(a)&&b&&(a=r(a/b));return a},averages:function(){var a=[];[].forEach.call(arguments,function(b){a.push(A.average(b))});return"undefined"===typeof a[0]? void 0:a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?c(a):a.hasNulls?null:void 0},low:function(b){return b.length?a(b):b.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},ohlc:function(a,b,c,e){a=A.open(a);b=A.high(b);c=A.low(c);e=A.close(e);if(k(a)||k(b)||k(c)||k(e))return[a,b,c,e]},range:function(a,b){a=A.low(a);b=A.high(b);if(k(a)||k(b))return[a,b];if(null===a&&null===b)return null}};D=function(a,b, c,e){var d=this,g=d.data,f=d.options&&d.options.data,h=[],n=[],p=[],r=a.length,t=!!b,u=[],v=d.pointArrayMap,B=v&&v.length,E=["x"].concat(v||["y"]),D=this.options.dataGrouping&&this.options.dataGrouping.groupAll,H=0,G=0,F;e="function"===typeof e?e:A[e]?A[e]:A[d.getDGApproximation&&d.getDGApproximation()||"average"];B?v.forEach(function(){u.push([])}):u.push([]);var L=B||1;for(F=0;F<=r&&!(a[F]>=c[0]);F++);for(F;F<=r;F++){for(;"undefined"!==typeof c[H+1]&&a[F]>=c[H+1]||F===r;){var I=c[H];d.dataGroupInfo= {start:D?G:d.cropStart+G,length:u[0].length};var J=e.apply(d,u);d.pointClass&&!y(d.dataGroupInfo.options)&&(d.dataGroupInfo.options=m(d.pointClass.prototype.optionsToObject.call({series:d},d.options.data[d.cropStart+G])),E.forEach(function(a){delete d.dataGroupInfo.options[a]}));"undefined"!==typeof J&&(h.push(I),n.push(J),p.push(d.dataGroupInfo));G=F;for(I=0;I=a[0]){D=this.groupMap[0].start;F=this.groupMap[0].length;var I=void 0;k(D)&&k(F)&&(I=D+(F-1));a[0]={middle:a[0]+.5*A,end:a[0]+A,firstPoint:this.xData[0],lastPoint:I&&this.xData[I]}[G]}B&& "start"!==B&&A&&a[E]>=v-A&&(v=this.groupMap[this.groupMap.length-1].start,a[E]={middle:a[E]+.5*A,end:a[E]+A,firstPoint:v&&this.xData[v],lastPoint:this.xData[this.xData.length-1]}[B])}for(v=1;vx.max){if(!y(x.options.max)&&k(x.dataMax)&&x.max>=x.dataMax||x.max===x.dataMax)x.max=Math.max(e[e.length-1],x.max);x.dataMax=Math.max(e[e.length-1],x.dataMax)}}b.groupAll&&(b=this.cropData(w,q,x.min,x.max,1),w=b.xData,q=b.yData,this.cropStart=b.start);this.processedXData=w;this.processedYData=q}else this.groupMap=null;this.hasGroupedData=d;this.currentDataGrouping=v;this.preventGraphAnimation= (m&&m.totalRange)!==(v&&v.totalRange)}};u.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(a,b){a&&(this.groupedData[b]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)};u.generatePoints=function(){v.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};K(J,"update",function(){if(this.dataGroup)return p(24,!1,this.series.chart),!1});K(G,"headerFormatter",function(a){var c=this.chart,d=c.time,e=a.labelConfig,f=e.series, h=f.tooltipOptions,m=f.options.dataGrouping,p=h.xDateFormat,q=f.xAxis,r=h[(a.isFooter?"footer":"header")+"Format"];if(q&&"datetime"===q.options.type&&m&&k(e.key)){var t=f.currentDataGrouping;m=m.dateTimeLabelFormats||b.dateTimeLabelFormats;if(t)if(h=m[t.unitName],1===t.count)p=h[0];else{p=h[1];var u=h[2]}else!p&&m&&(p=this.getXDateFormat(e,h,q));p=d.dateFormat(p,e.key);u&&(p+=d.dateFormat(u,e.key+t.totalRange-1));f.chart.styledMode&&(r=this.styledModeFormat(r));a.text=B(r,{point:N(e.point,{key:p}), series:f},c);a.preventDefault()}});K(M,"destroy",u.destroyGroupedData);K(M,"afterSetOptions",function(a){a=a.options;var c=this.type,d=this.chart.options.plotOptions,e=I.defaultOptions.plotOptions[c].dataGrouping,f=this.useCommonDataGrouping&&b;if(E[c]||f){e||(e=m(b,E[c]));var h=this.chart.rangeSelector;a.dataGrouping=m(f,e,d.series&&d.series.dataGrouping,d[c].dataGrouping,this.userOptions.dataGrouping,!a.isInternal&&h&&k(h.selected)&&h.buttonOptions[h.selected].dataGrouping)}});K(d,"afterSetScale", function(){this.series.forEach(function(a){a.hasProcessed=!1})});d.prototype.getGroupPixelWidth=function(){var a=this.series,c=a.length,d,e=0,f=!1,k;for(d=c;d--;)(k=a[d].options.dataGrouping)&&(e=Math.max(e,L(k.groupPixelWidth,b.groupPixelWidth)));for(d=c;d--;)(k=a[d].options.dataGrouping)&&a[d].hasProcessed&&(c=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||c>this.chart.plotSizeX/e||c&&k.forced)&&(f=!0);return f?e:0};d.prototype.setDataGrouping=function(a,b){var c;b=L(b,!0);a||(a= {forced:!1,units:null});if(this instanceof d)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else this.chart.options.series.forEach(function(b){b.dataGrouping=a},!1);this.ordinal&&(this.ordinal.slope=void 0);b&&this.chart.redraw()};F.dataGrouping=t;"";return t});Q(d,"Series/OHLC/OHLCPoint.js",[d["Core/Series/SeriesRegistry.js"]],function(d){var h=this&&this.__extends||function(){var d=function(h,J){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,h){d.__proto__= h}||function(d,h){for(var G in h)h.hasOwnProperty(G)&&(d[G]=h[G])};return d(h,J)};return function(h,J){function F(){this.constructor=h}d(h,J);h.prototype=null===J?Object.create(J):(F.prototype=J.prototype,new F)}}();return function(d){function F(){var h=null!==d&&d.apply(this,arguments)||this;h.close=void 0;h.high=void 0;h.low=void 0;h.open=void 0;h.options=void 0;h.plotClose=void 0;h.plotOpen=void 0;h.series=void 0;return h}h(F,d);F.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 h}(J);M(K.prototype,{animate:null,directTouch:!1,pointArrayMap:["open","high", "low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"});K.prototype.pointClass=d;h.registerSeriesType("ohlc",K);"";return K});Q(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,h,K,F){var J=this&&this.__extends||function(){var d=function(h,c){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&& (a[d]=c[d])};return d(h,c)};return function(h,c){function a(){this.constructor=h}d(h,c);h.prototype=null===c?Object.create(c):(a.prototype=c.prototype,new a)}}(),M=d.defaultOptions;d=K.seriesTypes;var G=d.column,I=d.ohlc,D=F.merge;F=function(d){function u(){var c=null!==d&&d.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;return c}J(u,d);u.prototype.pointAttribs=function(c,a){var d=G.prototype.pointAttribs.call(this,c,a),h=this.options,p=c.openc)break}}}u.forEach(function(b,c){b.plotX+=A;if("undefined"===typeof b.plotY||k)0<=b.plotX&&b.plotX<=m.len?k?(b.plotY=m.translate(b.x,0,1,0,1),b.plotX=M(b.y)?L.translate(b.y,0,0,0,1):0):b.plotY=(m.opposite?0:d.yAxis.len)+m.offset:b.shapeArgs={};if((a=u[c-1])&&a.plotX===b.plotX){"undefined"=== typeof a.stackIndex&&(a.stackIndex=0);var f=a.stackIndex+1}b.stackIndex=f});this.onSeries=r}}});Q(d,"Series/Flags/FlagsSymbols.js",[d["Core/Globals.js"],d["Core/Renderer/SVG/SVGRenderer.js"]],function(d,h){function K(d){M[d+"pin"]=function(h,D,B,u,c){var a=c&&c.anchorX;c=c&&c.anchorY;"circle"===d&&u>B&&(h-=Math.round((u-B)/2),B=u);var r=M[d](h,D,B,u);if(a&&c){var y=a;"circle"===d?y=h+B/2:(h=r[0],B=r[1],"M"===h[0]&&"L"===B[0]&&(y=(h[1]+B[1])/2));r.push(["M",y,D>c?D:D+u],["L",a,c]);r=r.concat(M.circle(a- 1,c-1,2,2))}return r}}var F=d.Renderer,J=d.VMLRenderer,M=h.prototype.symbols;M.flag=function(d,h,D,B,u){var c=u&&u.anchorX||d;u=u&&u.anchorY||h;var a=M.circle(c-1,u-1,2,2);a.push(["M",c,u],["L",d,h+B],["L",d,h],["L",d+D,h],["L",d+D,h+B],["L",d,h+B],["Z"]);return a};K("circle");K("square");F===J&&["circlepin","flag","squarepin"].forEach(function(d){J.prototype.symbols[d]=M[d]});return M});Q(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,h,K,F,J,M,G){var I=this&&this.__extends||function(){var a=function(c,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c,d)};return function(c,d){function h(){this.constructor=c}a(c,d);c.prototype=null===d?Object.create(d):(h.prototype=d.prototype,new h)}}(), D=h.noop,B=J.series,u=J.seriesTypes.column,c=G.addEvent,a=G.defined,r=G.extend,y=G.merge,p=G.objectEach,N=G.wrap;G=function(d){function k(){var a=null!==d&&d.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}I(k,d);k.prototype.animate=function(a){a&&this.setClip()};k.prototype.drawPoints=function(){var c=this.points,d=this.chart,k=d.renderer,f=d.inverted,m=this.options,b=m.y,r,u=this.yAxis,B={},g=[];for(r=c.length;r--;){var n=c[r];var e=(f?n.plotY:n.plotX)>this.xAxis.len; var l=n.plotX;var C=n.stackIndex;var x=n.options.shape||m.shape;var w=n.plotY;"undefined"!==typeof w&&(w=n.plotY+b-("undefined"!==typeof C&&C*m.stackDistance));n.anchorX=C?void 0:n.plotX;var q=C?void 0:n.plotY;var z="flag"!==x;C=n.graphic;"undefined"!==typeof w&&0<=l&&!e?(C&&n.hasNewShapeType()&&(C=C.destroy()),C||(C=n.graphic=k.label("",null,null,x,null,null,m.useHTML).addClass("highcharts-point").add(this.markerGroup),n.graphic.div&&(n.graphic.div.point=n),C.isNew=!0),C.attr({align:z?"center":"left", width:m.width,height:m.height,"text-align":m.textAlign}),d.styledMode||C.attr(this.pointAttribs(n)).css(y(m.style,n.style)).shadow(m.shadow),0p-k,C=h=864E5*{month:28,year:365}[l]*n-x&&g-36E5<=864E5*{month:31,year:366}[l]*n+x?h=!0:"ytd"===l?(h=t-r+x===g,z=!b):"all"===l&&(h=d.max-d.min>=p-k,B=!b&&v&&h);l=!y&&(w||C||B||f);n=b&&h||h&&!v&&!z||b&&a.frozenStates;l?q=3:n&&(v=!0,q=2);m.state!==q&&(m.setState(q),c&&(c.options[e+1].disabled=l,2===q&&(c.selectedIndex=e+1)),0===q&&u===e&&a.setSelected())})};g.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4, hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=f(a.offsetMin,0);a._offsetMax=f(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};g.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};g.prototype.setInputValue=function(b,c){var d= this.options,e=this.chart.time,g="min"===b?this.minInput:this.maxInput;b="min"===b?this.minDateBox:this.maxDateBox;if(g){var f=g.getAttribute("data-hc-time");f=a(f)?Number(f):void 0;a(c)&&(a(f)&&g.setAttribute("data-hc-time-previous",f),g.setAttribute("data-hc-time",c),f=c);g.value=e.dateFormat(this.inputTypeFormats[g.type]||d.inputEditDateFormat,f);b&&b.attr({text:e.dateFormat(d.inputDateFormat,f)})}};g.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var d= this.inputTypeFormats[a.type],e=this.chart.time;d&&(b=e.dateFormat(d,b),a.min!==b&&(a.min=b),c=e.dateFormat(d,c),a.max!==c&&(a.max=c))}};g.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var d="text"===a.type,g=this.inputGroup,f=g.translateX;g=g.translateY;var h=this.options.inputBoxWidth;c(a,{width:d?b.width+(h?-2:20)+"px":"auto",height:d?b.height-2+"px":"auto",border:"2px solid silver"});d&&h?c(a,{left:f+ b.x+"px",top:g+"px"}):c(a,{left:Math.min(Math.round(b.x+f-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:g-1-(a.offsetHeight-b.height)/2+"px"})}};g.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&c(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};g.prototype.defaultInputDateParser=function(a,b,c){var d=a.split("/").join("-").split(" ").join("T");-1===d.indexOf("T")&&(d+="T00:00");if(b)d+="Z";else{var e;if(e=K.isSafari)e=d,e=!(6=e?"+"+t(-e)+":00":"-"+t(e)+":00")}d=Date.parse(d);m(d)||(a=a.split("-"),d=Date.UTC(v(a[0]),v(a[1])-1,v(a[2])));c&&b&&m(d)&&(d+=c.getTimezoneOffset(d));return d};g.prototype.drawInput=function(a){function b(){var b=h.getInputValue(a),c=d.xAxis[0],e=d.scroller&&d.scroller.xAxis?d.scroller.xAxis:c,g=e.dataMin;e=e.dataMax;var f=h.maxInput,k=h.minInput;b!==Number(y.getAttribute("data-hc-time-previous"))&&m(b)&& (y.setAttribute("data-hc-time-previous",b),t&&f&&m(g)?b>Number(f.getAttribute("data-hc-time"))?b=void 0:be&&(b=e)),"undefined"!==typeof b&&c.setExtremes(t?b:c.min,t?c.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var d=this.chart,g=this.div,f=this.inputGroup,h=this,k=d.renderer.style||{},n=d.renderer,r=d.options.rangeSelector,t="min"===a,v=D.lang[t?"rangeSelectorFrom":"rangeSelectorTo"];v=n.label(v,0).addClass("highcharts-range-label").attr({padding:v? 2:0}).add(f);n=n.label("",0).addClass("highcharts-range-input").attr({padding:2,width:r.inputBoxWidth,height:r.inputBoxHeight,"text-align":"center"}).on("click",function(){h.showInput(a);h[a+"Input"].focus()});d.styledMode||n.attr({stroke:r.inputBoxBorderColor,"stroke-width":1});n.add(f);var y=u("input",{name:a,className:"highcharts-range-selector"},void 0,g);y.setAttribute("type",I(r.inputDateFormat||"%b %e, %Y"));d.styledMode||(v.css(L(k,r.labelStyle)),n.css(L({color:J.neutralColor80},k,r.inputStyle)), c(y,p({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:k.fontSize,fontFamily:k.fontFamily,top:"-9999em"},r.inputStyle)));y.onfocus=function(){h.showInput(a)};y.onblur=function(){y===K.doc.activeElement&&b();h.hideInput(a);h.setInputValue(a);y.blur()};var A=!1;y.onchange=function(){A||(b(),h.hideInput(a),y.blur())};y.onkeypress=function(a){13===a.keyCode&&b()};y.onkeydown=function(a){A=!0;38!==a.keyCode&&40!==a.keyCode|| b()};y.onkeyup=function(){A=!1};return{dateBox:n,input:y,label:v}};g.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};g.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e=new d.Date(a),g=d.get("FullYear",e);c=c?d.Date.UTC(g,0,1):+new d.Date(g,0,1);b=Math.max(b,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};g.prototype.render=function(b, c){var d=this.chart,e=d.renderer,g=d.container,h=d.options,k=h.rangeSelector,n=f(h.chart.style&&h.chart.style.zIndex,0)+1;h=k.inputEnabled;if(!1!==k.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=u("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),g.parentNode&&g.parentNode.insertBefore(this.div,g),h&&(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(h&&(this.setInputValue("min",b),this.setInputValue("max",c),b=d.scroller&&d.scroller.getUnionExtremes()||d.xAxis[0]||{},a(b.dataMin)&&a(b.dataMax)&&(d=d.xAxis[0].minRange||0,this.setInputExtremes("min",b.dataMin,Math.min(b.dataMax,this.getInputValue("max"))-d),this.setInputExtremes("max",Math.max(b.dataMin,this.getInputValue("min"))+d,b.dataMax)),this.inputGroup)){var m= 0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){if(a){var b=a.getBBox().width;b&&(a.attr({x:m}),m+=b+k.inputSpacing)}})}this.alignElements();this.rendered=!0}};g.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,d=D.lang,g=this.chart.renderer,h=L(c.buttonTheme),m=h&&h.states,p=h.width||28;delete h.width;delete h.states;this.buttonGroup=g.g("range-selector-buttons").add(this.group);var r=this.dropdown=u("select",void 0,{position:"absolute", width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);B(r,"touchstart",function(){r.style.fontSize="16px"});[[K.isMS?"mouseover":"mouseenter"],[K.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d=c[0],e=c[1];B(r,d,function(){var c=b[a.currentButtonIndex()];c&&k(c.element,e||d)})});this.zoomText=g.text(d.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),h["stroke-width"]=f(h["stroke-width"], 0));u("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,r);this.buttonOptions.forEach(function(c,d){u("option",{textContent:c.title||c.text},void 0,r);b[d]=g.button(c.text,0,0,function(b){var e=c.events&&c.events.click,g;e&&(g=e.call(c,b));!1!==g&&a.clickButton(d);a.isActive=!0},h,m&&m.hover,m&&m.select,m&&m.disabled).attr({"text-align":"center",width:p}).add(a.buttonGroup);c.title&&b[d].attr("title",c.title)})};g.prototype.alignElements=function(){var a=this,b=this.buttonGroup,c=this.buttons, d=this.chart,g=this.group,h=this.inputGroup,k=this.options,m=this.zoomText,p=d.options,r=p.exporting&&!1!==p.exporting.enabled&&p.navigation&&p.navigation.buttonOptions;p=k.buttonPosition;var t=k.inputPosition,u=k.verticalAlign,v=function(b,c){return r&&a.titleCollision(d)&&"top"===u&&"right"===c.align&&c.y-b.getBBox().height-12<(r.y||0)+(r.height||0)+d.spacing[0]?-40:0},y=d.plotLeft;if(g&&p&&t){var A=p.x-d.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var B=0;m&&(B+=m.getBBox().width+ 5);c.forEach(function(a,b){B+=a.width;b!==c.length-1&&(B+=k.buttonSpacing)});this.initialButtonGroupWidth=B}y-=d.spacing[3];this.updateButtonStates();m=v(b,p);this.alignButtonGroup(m);g.placed=b.placed=d.hasLoaded}b=0;h&&(b=v(h,t),"left"===t.align?A=y:"right"===t.align&&(A=-Math.max(d.axisOffset[1],-b)),h.align({y:t.y,width:h.getBBox().width,align:t.align,x:t.x+A-2},!0,d.spacingBox),h.placed=d.hasLoaded);this.handleCollision(b);g.align({verticalAlign:u},!0,d.spacingBox);h=g.alignAttr.translateY;b= g.getBBox().height+20;v=0;"bottom"===u&&(v=(v=d.legend&&d.legend.options)&&"bottom"===v.verticalAlign&&v.enabled&&!v.floating?d.legend.legendHeight+f(v.margin,10):0,b=b+v-20,v=h-b-(k.floating?0:k.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===u)k.floating&&(v=0),d.titleOffset&&d.titleOffset[0]&&(v=d.titleOffset[0]),v+=d.margin[0]-d.spacing[0]||0;else if("middle"===u)if(t.y===p.y)v=h;else if(t.y||p.y)v=0>t.y||0>p.y?v-Math.min(t.y,p.y):h-b;g.translate(k.x,k.y+Math.floor(v));p=this.minInput;t= this.maxInput;h=this.dropdown;k.inputEnabled&&p&&t&&(p.style.marginTop=g.translateY+"px",t.style.marginTop=g.translateY+"px");h&&(h.style.marginTop=g.translateY+"px")}};g.prototype.alignButtonGroup=function(a,b){var c=this.chart,d=this.buttonGroup,e=this.options.buttonPosition,g=c.plotLeft-c.spacing[3],h=e.x-c.spacing[3];"right"===e.align?h+=a-g:"center"===e.align&&(h-=g/2);d&&d.align({y:e.y,width:f(b,this.initialButtonGroupWidth),align:e.align,x:h},!0,c.spacingBox)};g.prototype.positionButtons=function(){var a= this.buttons,b=this.chart,c=this.options,d=this.zoomText,g=b.hasLoaded?"animate":"attr",h=c.buttonPosition,k=b.plotLeft,m=k;d&&"hidden"!==d.visibility&&(d[g]({x:f(k+h.x,k)}),m+=h.x+d.getBBox().width+5);this.buttonOptions.forEach(function(b,d){if("hidden"!==a[d].visibility)a[d][g]({x:m}),m+=a[d].width+c.buttonSpacing;else a[d][g]({x:k})})};g.prototype.handleCollision=function(a){var b=this,c=this.chart,d=this.buttonGroup,g=this.inputGroup,f=this.options,h=f.buttonPosition,k=f.dropdown,n=f.inputPosition; f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var m=function(b){if(g&&d){var c=g.alignAttr.translateX+g.alignOptions.x-a+g.getBBox().x+2,e=g.alignOptions.width,f=d.alignAttr.translateX+d.getBBox().x;return f+b>c&&c+e>f&&h.y=-a?0:-a),translateY:g.alignAttr.translateY+d.getBBox().height+10})};if(d){if("always"===k){this.collapseButtons(a); m(f())&&p();return}"never"===k&&this.expandButtons()}g&&d?n.align===h.align||m(this.initialButtonGroupWidth+20)?"responsive"===k?(this.collapseButtons(a),m(f())&&p()):p():"responsive"===k&&this.expandButtons():d&&"responsive"===k&&(this.initialButtonGroupWidth>c.plotWidth?this.collapseButtons(a):this.expandButtons())};g.prototype.collapseButtons=function(a){var b=this.buttons,c=this.buttonOptions,d=this.dropdown,g=this.options,f=this.zoomText,h=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto", paddingLeft:8,paddingRight:8}};f&&f.hide();var k=!1;c.forEach(function(a,c){c=b[c];2!==c.state?c.hide():(c.show(),c.attr(h(a.text)),k=!0)});k||(d&&(d.selectedIndex=0),b[0].show(),b[0].attr(h(this.zoomText&&this.zoomText.textStr)));c=g.buttonPosition.align;this.positionButtons();"right"!==c&&"center"!==c||this.alignButtonGroup(a,b[this.currentButtonIndex()].getBBox().width);this.showDropdown()};g.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options,d=this.zoomText; this.hideDropdown();d&&d.show();b.forEach(function(b,d){d=a[d];d.show();d.attr({text:b.text,width:c.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>d.state&&d.setState(0)});this.positionButtons()};g.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0g&&0>d||0m+d.width)&&(F?p=u=t(p,m,m+d.width):b=!0);b||y.push(["M",p,r],["L",u,v])}):H.forEach(function(a){var b;p=a.pos;u=p+a.len;r=v=Math.round(n+d.height-I);"pass"!==F&&(rn+d.height)&&(F?r=v=t(r,n,n+d.height):b=!0);b||y.push(["M",p,r],["L",u,v])}));a.path=0F&&t=c&&(B=-(p.translateX+f.width-c));p.attr({x:e+B,y:n,anchorX:h?e:this.opposite?0:d.chartWidth,anchorY:h?this.opposite?d.chartHeight:0:n+f.height/2})}});I.prototype.init=function(){k.apply(this,arguments);this.initCompare(this.options.compare)};I.prototype.setCompare=function(a){this.initCompare(a);this.userOptions.compare=a};I.prototype.initCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;return"undefined"!== typeof b&&"undefined"!==typeof d?(b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b):0}:null;this.chart.hasRendered&&(this.isDirty=!0)};I.prototype.processData=function(a){var b,c=-1,d=!0===this.options.compareStart?0:1;m.apply(this,arguments);if(this.xAxis&&this.processedYData){var e=this.processedXData;var f=this.processedYData;var g=f.length;this.pointArrayMap&&(c=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y"));for(b=0;b=this.xAxis.min&&0!==h){this.compareValue=h;break}}}};d(I,"afterGetExtremes",function(a){a=a.dataExtremes;if(this.modifyValue&&a){var b=[this.modifyValue(a.dataMin),this.modifyValue(a.dataMax)];a.dataMin=A(b);a.dataMax=L(b)}});h.prototype.setCompare=function(a,b){this.isXAxis||(this.series.forEach(function(b){b.setCompare(a)}),g(b,!0)&&this.chart.redraw())};G.prototype.tooltipFormatter=function(a){var b=this.series.chart.numberFormatter;a=a.replace("{point.change}", (0