/* Highstock JS v6.0.4 (2017-12-15) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(Q,L){"object"===typeof module&&module.exports?module.exports=Q.document?L(Q):L:Q.Highcharts=L(Q)})("undefined"!==typeof window?window:this,function(Q){var L=function(){var a="undefined"===typeof Q?window:Q,G=a.document,E=a.navigator&&a.navigator.userAgent||"",H=G&&G.createElementNS&&!!G.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,v=/(edge|msie|trident)/i.test(E)&&!a.opera,k=/Firefox/.test(E),q=k&&4>parseInt(E.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16, !0):{product:"Highstock",version:"6.0.4",deg2rad:2*Math.PI/360,doc:G,hasBidiBug:q,hasTouch:G&&void 0!==G.documentElement.ontouchstart,isMS:v,isWebKit:/AppleWebKit/.test(E),isFirefox:k,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(E),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:H,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var G=a.charts,E=a.doc,H=a.win;a.error=function(v, k){v=a.isNumber(v)?"Highcharts error #"+v+": www.highcharts.com/errors/"+v:v;if(k)throw Error(v);H.console&&console.log(v)};a.Fx=function(a,k,q){this.options=k;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],k=this.paths[1],q=[],w=this.now,t=a.length,u;if(1===w)q=this.toD;else if(t===k.length&&1>w)for(;t--;)u=parseFloat(a[t]),q[t]=isNaN(u)?k[t]:w*parseFloat(k[t]-u)+u;else q=k;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,k=this.prop,q=this.now,w= this.options.step;if(this[k+"Setter"])this[k+"Setter"]();else a.attr?a.element&&a.attr(k,q,null,!0):a.style[k]=q+this.unit;w&&w.call(a,q,this)},run:function(v,k,q){var w=this,t=w.options,u=function(a){return u.stopped?!1:w.step(a)},z=H.requestAnimationFrame||function(a){setTimeout(a,13)},m=function(){for(var g=0;g=z+this.startTime?(this.now=this.end,this.pos=1,this.update(),q=m[this.prop]=!0,a.objectEach(m,function(a){!0!==a&&(q=!1)}),q&&u&&u.call(t),v=!1):(this.pos=w.easing((k-this.startTime)/z),this.now=this.start+(this.end- this.start)*this.pos,this.update(),v=!0);return v},initPath:function(v,k,q){function w(a){var b,c;for(r=a.length;r--;)b="M"===a[r]||"L"===a[r],c=/[a-zA-Z]/.test(a[r+3]),b&&c&&a.splice(r+1,0,a[r+1],a[r+2],a[r+1],a[r+2])}function t(a,b){for(;a.lengtha&&-Infinityu?"AM":"PM",P:12>u?"am":"pm",S:r(t.getSeconds()),L:r(Math.round(k%1E3),3)},a.dateFormats);a.objectEach(w,function(a,b){for(;-1!==v.indexOf("%"+b);)v=v.replace("%"+b,"function"===typeof a?a(k):a)});return q?v.substr(0,1).toUpperCase()+v.substr(1):v};a.formatSingle=function(v,k){var q=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(v)?(q=(q=v.match(q))?q[1]:-1,null!==k&&(k=a.numberFormat(k,q,w.decimalPoint,-1=q&&(k=[1/q])));for(w=0;w=v||!t&&u<=(k[w]+(k[w+1]||k[w]))/2);w++);return z=a.correctFloat(z*q,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,k){var q=a.length,v,t;for(t=0;tq&&(q=a[k]);return q};a.destroyObjectProperties=function(v,k){a.objectEach(v,function(a,w){a&&a!==k&&a.destroy&&a.destroy();delete v[w]})};a.discardElement=function(v){var k=a.garbageBin;k||(k=a.createElement("div"));v&&k.appendChild(v);k.innerHTML=""};a.correctFloat=function(a,k){return parseFloat(a.toPrecision(k||14))};a.setAnimation=function(v,k){k.renderer.globalAnimation=a.pick(v,k.options.chart.animation, !0)};a.animObject=function(v){return a.isObject(v)?a.merge(v):{duration:v?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(v,k,q,w){v=+v||0;k=+k;var t=a.defaultOptions.lang,u=(v.toString().split(".")[1]||"").split("e")[0].length,z,m,g=v.toString().split("e");-1===k?k=Math.min(u,20):a.isNumber(k)?k&&g[1]&&0>g[1]&&(z=k+ +g[1],0<=z?(g[0]=(+g[0]).toExponential(z).split("e")[0],k=z):(g[0]=g[0].split(".")[0]||0, v=20>k?(g[0]*Math.pow(10,g[1])).toFixed(k):0,g[1]=0)):k=2;m=(Math.abs(g[1]?g[0]:v)+Math.pow(10,-Math.max(k,u)-1)).toFixed(k);u=String(a.pInt(m));z=3v?"-":"")+(z?u.substr(0,z)+w:"");v+=u.substr(z).replace(/(\d{3})(?=\d)/g,"$1"+w);k&&(v+=q+m.slice(-k));g[1]&&0!==+v&&(v+="e"+g[1]);return v};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(v,k,q){if("width"===k)return Math.min(v.offsetWidth, v.scrollWidth)-a.getStyle(v,"padding-left")-a.getStyle(v,"padding-right");if("height"===k)return Math.min(v.offsetHeight,v.scrollHeight)-a.getStyle(v,"padding-top")-a.getStyle(v,"padding-bottom");H.getComputedStyle||a.error(27,!0);if(v=H.getComputedStyle(v,void 0))v=v.getPropertyValue(k),a.pick(q,"opacity"!==k)&&(v=a.pInt(v));return v};a.inArray=function(v,k){return(a.indexOfPolyfill||Array.prototype.indexOf).call(k,v)};a.grep=function(v,k){return(a.filterPolyfill||Array.prototype.filter).call(v, k)};a.find=Array.prototype.find?function(a,k){return a.find(k)}:function(a,k){var q,w=a.length;for(q=0;q>16,(q&65280)>> 8,q&255,1]:4===k&&(t=[(q&3840)>>4|(q&3840)>>8,(q&240)>>4|q&240,(q&15)<<4|q&15,1])),!t)for(u=this.parsers.length;u--&&!t;)z=this.parsers[u],(k=z.regex.exec(q))&&(t=z.parse(k));this.rgba=t||[]},get:function(a){var q=this.input,t=this.rgba,u;this.stops?(u=v(q),u.stops=[].concat(u.stops),G(this.stops,function(t,m){u.stops[m]=[u.stops[m][0],t.get(a)]})):u=t&&E(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?t[3]:"rgba("+t.join(",")+")":q;return u},brighten:function(a){var q,t=this.rgba; if(this.stops)G(this.stops,function(t){t.brighten(a)});else if(E(a)&&0!==a)for(q=0;3>q;q++)t[q]+=k(255*a),0>t[q]&&(t[q]=0),255d.width)d={width:0,height:0}}else d=this.htmlGetBBox();y.isSVG&& (a=d.width,y=d.height,K&&"11px"===K.fontSize&&17===Math.round(y)&&(d.height=y=14),h&&(d.width=Math.abs(y*Math.sin(b))+Math.abs(a*Math.cos(b)),d.height=Math.abs(y*Math.cos(b))+Math.abs(a*Math.sin(b))));if(M&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,h,d){"string"===typeof a?d.setAttribute(h,a):a&&this.colorGradient(a,h,d)},visibilitySetter:function(a,h,d){"inherit"===a?d.removeAttribute(h):this[h]!==a&&d.setAttribute(h,a);this[h]=a},zIndexSetter:function(a,d){var y=this.renderer,b=this.parentGroup,c=(b||y).element||y.box,p,e=this.element,l,n,y=c===y.box;p=this.added;var A;z(a)&& (e.zIndex=a,a=+a,this[d]===a&&(p=!1),this[d]=a);if(p){(a=this.zIndex)&&b&&(b.handleZ=!0);d=c.childNodes;for(A=d.length-1;0<=A&&!l;A--)if(b=d[A],p=b.zIndex,n=!z(p),b!==e)if(0>a&&n&&!y&&!A)c.insertBefore(e,d[A]),l=!0;else if(h(p)<=a||n&&(!z(a)||0<=a))c.insertBefore(e,d[A+1]||null),l=!0;l||(c.insertBefore(e,d[y?3:0]||null),l=!0)}return l},_defaultSetter:function(a,h,d){d.setAttribute(h,a)}});G.prototype.yGetter=G.prototype.xGetter;G.prototype.translateXSetter=G.prototype.translateYSetter=G.prototype.rotationSetter= G.prototype.verticalAlignSetter=G.prototype.rotationOriginXSetter=G.prototype.rotationOriginYSetter=G.prototype.scaleXSetter=G.prototype.scaleYSetter=G.prototype.matrixSetter=function(a,h){this[h]=a;this.doTransform=!0};G.prototype["stroke-widthSetter"]=G.prototype.strokeSetter=function(a,h,d){this[h]=a;this.stroke&&this["stroke-width"]?(G.prototype.fillSetter.call(this,this.stroke,"stroke",d),d.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===h&&0===a&&this.hasStroke&& (d.removeAttribute("stroke"),this.hasStroke=!1)};E=a.SVGRenderer=function(){this.init.apply(this,arguments)};c(E.prototype,{Element:G,SVG_NS:O,init:function(a,h,d,y,b,c){var p;y=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(y));p=y.element;a.appendChild(p);k(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&k(p,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=p;this.boxWrapper=y;this.alignedObjects=[];this.url=(x||J)&&f.getElementsByTagName("base").length? R.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highstock 6.0.4"));this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=b;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(h,d,!1);var e;x&&a.getBoundingClientRect&&(h=function(){t(a,{left:0,top:0});e=a.getBoundingClientRect();t(a,{left:Math.ceil(e.left)- e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},h(),this.unSubPixelFix=H(R,"resize",h))},getStyle:function(a){return this.style=c({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();g(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy()); this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var h=new this.Element;h.init(this,a);return h},draw:d,getRadialAttr:function(a,h){return{cx:a[0]-a[2]/2+h.cx*a[2],cy:a[1]-a[2]/2+h.cy*a[2],r:h.r*a[2]}},getSpanWidth:function(a,h){var d=a.getBBox(!0).width;!M&&this.forExport&&(d=this.measureSpanWidth(h.firstChild.data,a.styles));return d},applyEllipsis:function(a,h,d,y){var b=a.rotation,c=d,p,e=0,l=d.length,n=function(a){h.removeChild(h.firstChild); a&&h.appendChild(f.createTextNode(a))},A;a.rotation=0;c=this.getSpanWidth(a,h);if(A=c>y){for(;e<=l;)p=Math.ceil((e+l)/2),c=d.substring(0,p)+"\u2026",n(c),c=this.getSpanWidth(a,h),e===l?e=l+1:c>y?l=p-1:e=p;0===l&&n("")}a.rotation=b;return A},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var d=a.element,y=this,b=y.forExport,c=D(a.textStr,"").toString(),l=-1!==c.indexOf("\x3c"),n=d.childNodes,A,K,C,g,B=k(d,"x"),x=a.styles,m=a.textWidth, N=x&&x.lineHeight,P=x&&x.textOutline,F=x&&"ellipsis"===x.textOverflow,I=x&&"nowrap"===x.whiteSpace,u=x&&x.fontSize,R,q,J=n.length,x=m&&!a.added&&this.box,z=function(a){var b;b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:u||y.style.fontSize||12;return N?h(N):y.fontMetrics(b,a.getAttribute("style")?a:d).h},w=function(a){p(y.escapes,function(h,d){a=a.replace(new RegExp(h,"g"),d)});return a};R=[c,F,I,N,P,u,m].join();if(R!==a.textCache){for(a.textCache=R;J--;)d.removeChild(n[J]);l||P||F||m|| -1!==c.indexOf(" ")?(A=/<.*class="([^"]+)".*>/,K=/<.*style="([^"]+)".*>/,C=/<.*href="([^"]+)".*>/,x&&x.appendChild(d),c=l?c.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[c],c=r(c,function(a){return""!==a}),e(c,function(h,c){var p,l=0;h=h.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||"); p=h.split("|||");e(p,function(h){if(""!==h||1===p.length){var e={},n=f.createElementNS(y.SVG_NS,"tspan"),r,D;A.test(h)&&(r=h.match(A)[1],k(n,"class",r));K.test(h)&&(D=h.match(K)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),k(n,"style",D));C.test(h)&&!b&&(k(n,"onclick",'location.href\x3d"'+h.match(C)[1]+'"'),k(n,"class","highcharts-anchor"),t(n,{cursor:"pointer"}));h=w(h.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==h){n.appendChild(f.createTextNode(h));l?e.dx=0:c&&null!==B&&(e.x=B);k(n,e);d.appendChild(n); !l&&q&&(!M&&b&&t(n,{display:"block"}),k(n,"dy",z(n)));if(m){e=h.replace(/([^\^])-/g,"$1- ").split(" ");r=1m,void 0===g&&(g=h),h&&1!==e.length?(n.removeChild(n.firstChild),x.unshift(e.pop())):(e=x,x=[],e.length&&!I&&(n=f.createElementNS(O,"tspan"),k(n,{dy:P,x:B}),D&&k(n,"style",D),d.appendChild(n)),N>m&&(m=N)),e.length&&n.appendChild(f.createTextNode(e.join(" ").replace(/- /g, "-")));a.rotation=S}l++}}});q=q||d.childNodes.length}),g&&a.attr("title",a.textStr),x&&x.removeChild(d),P&&a.applyTextOutline&&a.applyTextOutline(P)):d.appendChild(f.createTextNode(w(c)))}},getContrast:function(a){a=w(a).rgba;return 510Math.abs(b.end-b.start-2*Math.PI));var l=Math.cos(p),A=Math.sin(p),r=Math.cos(n),n=Math.sin(n);b=.001>b.end-p-Math.PI?0:1;c=["M",a+c*l,h+e*A,"A",c,e,0,b,1,a+c*r,h+e*n];z(d)&&c.push(y?"M":"L",a+d* r,h+d*n,"A",d,d,0,b,0,a+d*l,h+d*A);c.push(y?"":"Z");return c},callout:function(a,h,d,y,b){var p=Math.min(b&&b.r||0,d,y),c=p+6,e=b&&b.anchorX;b=b&&b.anchorY;var n;n=["M",a+p,h,"L",a+d-p,h,"C",a+d,h,a+d,h,a+d,h+p,"L",a+d,h+y-p,"C",a+d,h+y,a+d,h+y,a+d-p,h+y,"L",a+p,h+y,"C",a,h+y,a,h+y,a,h+y-p,"L",a,h+p,"C",a,h,a,h,a+p,h];e&&e>d?b>h+c&&be?b>h+c&&by&&e>a+c&&eb&&e>a+c&&ea?a+3:Math.round(1.2*a);return{h:d,b:Math.round(.8* d),f:a}},rotCorr:function(a,h,d){var y=a;h&&d&&(y=Math.max(y*Math.cos(h*m),4));return{x:-a/3*Math.sin(h*m),y:y}},label:function(h,d,b,p,n,l,r,f,M){var C=this,D=C.g("button"!==M&&"label"),g=D.text=C.text("",0,0,r).attr({zIndex:1}),x,B,m=0,N=3,P=0,F,t,I,u,K,O={},R,k,q=/^url\((.*?)\)$/.test(p),J=q,w,S,v,W;M&&D.addClass("highcharts-"+M);J=q;w=function(){return(R||0)%2/2};S=function(){var a=g.element.style,h={};B=(void 0===F||void 0===t||K)&&z(g.textStr)&&g.getBBox();D.width=(F||B.width||0)+2*N+P;D.height= (t||B.height||0)+2*N;k=N+C.fontMetrics(a&&a.fontSize,g).b;J&&(x||(D.box=x=C.symbols[p]||q?C.symbol(p):C.rect(),x.addClass(("button"===M?"":"highcharts-label-box")+(M?" highcharts-"+M+"-box":"")),x.add(D),a=w(),h.x=a,h.y=(f?-k:0)+a),h.width=Math.round(D.width),h.height=Math.round(D.height),x.attr(c(h,O)),O={})};v=function(){var a=P+N,h;h=f?0:k;z(F)&&B&&("center"===K||"right"===K)&&(a+={center:.5,right:1}[K]*(F-B.width));if(a!==g.x||h!==g.y)g.attr("x",a),void 0!==h&&g.attr("y",h);g.x=a;g.y=h};W=function(a, h){x?x.attr(a,h):O[a]=h};D.onAdd=function(){g.add(D);D.attr({text:h||0===h?h:"",x:d,y:b});x&&z(n)&&D.attr({anchorX:n,anchorY:l})};D.widthSetter=function(h){F=a.isNumber(h)?h:null};D.heightSetter=function(a){t=a};D["text-alignSetter"]=function(a){K=a};D.paddingSetter=function(a){z(a)&&a!==N&&(N=D.padding=a,v())};D.paddingLeftSetter=function(a){z(a)&&a!==P&&(P=a,v())};D.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==m&&(m=a,B&&D.attr({x:I}))};D.textSetter=function(a){void 0!==a&&g.textSetter(a); S();v()};D["stroke-widthSetter"]=function(a,h){a&&(J=!0);R=this["stroke-width"]=a;W(h,a)};D.strokeSetter=D.fillSetter=D.rSetter=function(a,h){"r"!==h&&("fill"===h&&a&&(J=!0),D[h]=a);W(h,a)};D.anchorXSetter=function(a,h){n=D.anchorX=a;W(h,Math.round(a)-w()-I)};D.anchorYSetter=function(a,h){l=D.anchorY=a;W(h,a-u)};D.xSetter=function(a){D.x=a;m&&(a-=m*((F||B.width)+2*N));I=Math.round(a);D.attr("translateX",I)};D.ySetter=function(a){u=D.y=Math.round(a);D.attr("translateY",u)};var aa=D.css;return c(D, {css:function(a){if(a){var h={};a=A(a);e(D.textProps,function(d){void 0!==a[d]&&(h[d]=a[d],delete a[d])});g.css(h)}return aa.call(D,a)},getBBox:function(){return{width:B.width+2*N,height:B.height+2*N,x:B.x-N,y:B.y-N}},shadow:function(a){a&&(S(),x&&x.shadow(a));return D},destroy:function(){y(D.element,"mouseenter");y(D.element,"mouseleave");g&&(g=g.destroy());x&&(x=x.destroy());G.prototype.destroy.call(D);D=C=S=v=W=null}})}});a.Renderer=E})(L);(function(a){var G=a.attr,E=a.createElement,H=a.css,v= a.defined,k=a.each,q=a.extend,w=a.isFirefox,t=a.isMS,u=a.isWebKit,z=a.pick,m=a.pInt,g=a.SVGRenderer,f=a.win,e=a.wrap;q(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=q(this.styles,a);H(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth, height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,e=this.translateX||0,l=this.translateY||0,f=this.x||0,g=this.y||0,x=this.textAlign||"left",F={left:0,center:.5,right:1}[x],n=this.styles;H(b,{marginLeft:e,marginTop:l});this.shadows&&k(this.shadows,function(a){H(a,{marginLeft:e+1,marginTop:l+1})});this.inverted&&k(b.childNodes,function(d){a.invertChild(d,b)});if("SPAN"===b.tagName){var B=this.rotation,t=m(this.textWidth),A=n&&n.whiteSpace,d=[B, x,b.innerHTML,this.textWidth,this.textAlign].join();d!==this.cTT&&(n=a.fontMetrics(b.style.fontSize).b,v(B)&&this.setSpanRotation(B,F,n),H(b,{width:"",whiteSpace:A||"nowrap"}),b.offsetWidth>t&&/[ \-]/.test(b.textContent||b.innerText)&&H(b,{width:t+"px",display:"block",whiteSpace:A||"normal"}),this.getSpanCorrection(b.offsetWidth,n,F,B,x));H(b,{left:f+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});u&&(n=b.offsetHeight);this.cTT=d}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,e){var c={}, r=this.renderer.getTransformKey();c[r]=c.transform="rotate("+a+"deg)";c[r+(w?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+e+"px";H(this.element,c)},getSpanCorrection:function(a,b,e){this.xCorr=-a*e;this.yCorr=-b}});q(g.prototype,{getTransformKey:function(){return t&&!/Edge/.test(f.navigator.userAgent)?"-ms-transform":u?"-webkit-transform":w?"MozTransform":f.opera?"-o-transform":""},html:function(a,b,r){var c=this.createElement("span"),f=c.element,g=c.renderer,x=g.isSVG,m=function(a,b){k(["opacity", "visibility"],function(c){e(a,c+"Setter",function(a,d,c,e){a.call(this,d,c,e);b[c]=d})})};c.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=z(a,"");c.htmlUpdateTransform()};x&&m(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.htmlUpdateTransform()};c.attr({text:a,x:Math.round(b),y:Math.round(r)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});f.style.whiteSpace= "nowrap";c.css=c.htmlCss;x&&(c.add=function(a){var b,e=g.box.parentNode,n=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)n.push(a),a=a.parentGroup;k(n.reverse(),function(a){function d(h,d){a[d]=h;t?l[g.getTransformKey()]="translate("+(a.x||a.translateX)+"px,"+(a.y||a.translateY)+"px)":"translateX"===d?l.left=h+"px":l.top=h+"px";a.doTransform=!0}var l,h=G(a.element,"class");h&&(h={className:h});b=a.div=a.div||E("div",h,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display, opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||e);l=b.style;q(a,{classSetter:function(a){return function(h){this.element.setAttribute("class",h);a.className=h}}(b),on:function(){n[0].div&&c.on.apply({element:n[0].div},arguments);return a},translateXSetter:d,translateYSetter:d});m(a,l)})}}else b=e;b.appendChild(f);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(L);(function(a){function G(){var t=a.defaultOptions.global,u=w.moment;if(t.timezone){if(u)return function(a){return-u.tz(a, t.timezone).utcOffset()};a.error(25)}return t.useUTC&&t.getTimezoneOffset}function E(){var t=a.defaultOptions.global,u,k=t.useUTC,m=k?"getUTC":"get",g=k?"setUTC":"set",f="Minutes Hours Day Date Month FullYear".split(" "),e=f.concat(["Milliseconds","Seconds"]);a.Date=u=t.Date||w.Date;u.hcTimezoneOffset=k&&t.timezoneOffset;u.hcGetTimezoneOffset=G();u.hcHasTimeZone=!(!u.hcTimezoneOffset&&!u.hcGetTimezoneOffset);u.hcMakeTime=function(a,b,e,l,f,g){var c;k?(c=u.UTC.apply(0,arguments),c+=v(c)):c=(new u(a, b,q(e,1),q(l,0),q(f,0),q(g,0))).getTime();return c};for(t=0;tb&&m-r*lf&&(F=Math.round((g-m)/Math.cos(b*w)));else if(g=m+(1-r)*l,m-r*lf&&(I=f-a.x+I*r,x=-1),I=Math.min(C,I),II||t.autoRotation&&(c.styles||{}).width)F=I;F&&(n.width=F,(k.style||{}).textOverflow||(n.textOverflow="ellipsis"),c.css(n))},getPosition:function(a,k,q,m){var g=this.axis,f=g.chart,e=m&&f.oldChartHeight||f.chartHeight;return{x:a?g.translate(k+q,null,null,m)+g.transB:g.left+g.offset+(g.opposite?(m&&f.oldChartWidth||f.chartWidth)-g.right-g.left:0),y:a?e-g.bottom+g.offset-(g.opposite?g.height:0):e-g.translate(k+q,null,null,m)-g.transB}},getLabelPosition:function(a, k,q,m,g,f,e,c){var b=this.axis,r=b.transA,l=b.reversed,C=b.staggerLines,t=b.tickRotCorr||{x:0,y:0},x=g.y,F=m||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1);E(x)||(x=0===b.side?q.rotation?-8:-q.getBBox().height:2===b.side?t.y+8:Math.cos(q.rotation*w)*(t.y-q.getBBox(!1,0).height/2));a=a+g.x+F+t.x-(f&&m?f*r*(l?-1:1):0);k=k+x-(f&&!m?f*r*(l?1:-1):0);C&&(q=e/(c||1)%C,b.opposite&&(q=C-q-1),k+=b.labelOffset/C*q);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,q,m,g,f){return f.crispLine(["M", a,k,"L",a+(g?0:-q),k+(g?q:0)],m)},renderGridLine:function(a,k,q){var m=this.axis,g=m.options,f=this.gridLine,e={},c=this.pos,b=this.type,r=m.tickmarkOffset,l=m.chart.renderer,C=b?b+"Grid":"grid",t=g[C+"LineWidth"],x=g[C+"LineColor"],g=g[C+"LineDashStyle"];f||(e.stroke=x,e["stroke-width"]=t,g&&(e.dashstyle=g),b||(e.zIndex=1),a&&(e.opacity=0),this.gridLine=f=l.path().attr(e).addClass("highcharts-"+(b?b+"-":"")+"grid-line").add(m.gridGroup));if(!a&&f&&(a=m.getPlotLinePath(c+r,f.strokeWidth()*q,a,!0)))f[this.isNew? "attr":"animate"]({d:a,opacity:k})},renderMark:function(a,k,z){var m=this.axis,g=m.options,f=m.chart.renderer,e=this.type,c=e?e+"Tick":"tick",b=m.tickSize(c),r=this.mark,l=!r,C=a.x;a=a.y;var t=q(g[c+"Width"],!e&&m.isXAxis?1:0),g=g[c+"Color"];b&&(m.opposite&&(b[0]=-b[0]),l&&(this.mark=r=f.path().addClass("highcharts-"+(e?e+"-":"")+"tick").add(m.axisGroup),r.attr({stroke:g,"stroke-width":t})),r[l?"attr":"animate"]({d:this.getMarkPath(C,a,b[0],r.strokeWidth()*z,m.horiz,f),opacity:k}))},renderLabel:function(a, k,z,m){var g=this.axis,f=g.horiz,e=g.options,c=this.label,b=e.labels,r=b.step,g=g.tickmarkOffset,l=!0,C=a.x;a=a.y;c&&v(C)&&(c.xy=a=this.getLabelPosition(C,a,c,f,b,g,m,r),this.isFirst&&!this.isLast&&!q(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!q(e.showLastLabel,1)?l=!1:!f||b.step||b.rotation||k||0===z||this.handleOverflow(a),r&&m%r&&(l=!1),l&&v(a.y)?(a.opacity=z,c[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(c.attr("y",-9999),this.isNewLabel=!0))},render:function(a,k,z){var m= this.axis,g=m.horiz,f=this.getPosition(g,this.pos,m.tickmarkOffset,k),e=f.x,c=f.y,m=g&&e===m.pos+m.len||!g&&c===m.pos?-1:1;z=q(z,1);this.isActive=!0;this.renderGridLine(k,z,m);this.renderMark(f,z,m);this.renderLabel(f,k,z,a);this.isNew=!1},destroy:function(){H(this,this.axis)}}})(L);var Z=function(a){var G=a.addEvent,E=a.animObject,H=a.arrayMax,v=a.arrayMin,k=a.color,q=a.correctFloat,w=a.defaultOptions,t=a.defined,u=a.deg2rad,z=a.destroyObjectProperties,m=a.each,g=a.extend,f=a.fireEvent,e=a.format, c=a.getMagnitude,b=a.grep,r=a.inArray,l=a.isArray,C=a.isNumber,I=a.isString,x=a.merge,F=a.normalizeTickInterval,n=a.objectEach,B=a.pick,J=a.removeEvent,A=a.splat,d=a.syncTimeout,p=a.Tick,D=function(){this.init.apply(this,arguments)};a.extend(D.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"}, x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05, minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45], x:0},title:{rotation:0}},init:function(a,d){var h=d.isX,y=this;y.chart=a;y.horiz=a.inverted&&!y.isZAxis?!h:h;y.isXAxis=h;y.coll=y.coll||(h?"xAxis":"yAxis");y.opposite=d.opposite;y.side=d.side||(y.horiz?y.opposite?0:2:y.opposite?1:3);y.setOptions(d);var b=this.options,c=b.type;y.labelFormatter=b.labels.formatter||y.defaultLabelFormatter;y.userOptions=d;y.minPixelPadding=0;y.reversed=b.reversed;y.visible=!1!==b.visible;y.zoomEnabled=!1!==b.zoomEnabled;y.hasNames="category"===c||!0===b.categories;y.categories= b.categories||y.hasNames;y.names=y.names||[];y.plotLinesAndBandsGroups={};y.isLog="logarithmic"===c;y.isDatetimeAxis="datetime"===c;y.positiveValuesOnly=y.isLog&&!y.allowNegativeLog;y.isLinked=t(b.linkedTo);y.ticks={};y.labelEdge=[];y.minorTicks={};y.plotLinesAndBands=[];y.alternateBands={};y.len=0;y.minRange=y.userMinRange=b.minRange||b.maxZoom;y.range=b.range;y.offset=b.offset||0;y.stacks={};y.oldStacks={};y.stacksTouched=0;y.max=null;y.min=null;y.crosshair=B(b.crosshair,A(a.options.tooltip.crosshairs)[h? 0:1],!1);d=y.options.events;-1===r(y,a.axes)&&(h?a.axes.splice(a.xAxis.length,0,y):a.axes.push(y),a[y.coll].push(y));y.series=y.series||[];a.inverted&&!y.isZAxis&&h&&void 0===y.reversed&&(y.reversed=!0);n(d,function(a,h){G(y,h,a)});y.lin2log=b.linearToLogConverter||y.lin2log;y.isLog&&(y.val2lin=y.log2lin,y.lin2val=y.lin2log)},setOptions:function(a){this.options=x(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side],x(w[this.coll],a))},defaultLabelFormatter:function(){var h=this.axis,d=this.value,b=h.categories,c=this.dateTimeLabelFormat,p=w.lang,n=p.numericSymbols,p=p.numericSymbolMagnitude||1E3,l=n&&n.length,A,r=h.options.labels.format,h=h.isLog?Math.abs(d):h.tickInterval;if(r)A=e(r,this);else if(b)A=d;else if(c)A=a.dateFormat(c,d);else if(l&&1E3<=h)for(;l--&&void 0===A;)b=Math.pow(p,l+1),h>=b&&0===10*d%b&&null!==n[l]&&0!==d&&(A=a.numberFormat(d/b,-1)+n[l]);void 0=== A&&(A=1E4<=Math.abs(d)?a.numberFormat(d,-1):a.numberFormat(d,-1,void 0,""));return A},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();m(a.series,function(h){if(h.visible||!d.options.chart.ignoreHiddenSeries){var y=h.options,c=y.threshold,p;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=c&&(c=null);if(a.isXAxis)y=h.xData,y.length&&(h=v(y),p=H(y),C(h)||h instanceof Date||(y=b(y,C), h=v(y)),a.dataMin=Math.min(B(a.dataMin,y[0],h),h),a.dataMax=Math.max(B(a.dataMax,y[0],p),p));else if(h.getExtremes(),p=h.dataMax,h=h.dataMin,t(h)&&t(p)&&(a.dataMin=Math.min(B(a.dataMin,h),h),a.dataMax=Math.max(B(a.dataMax,p),p)),t(c)&&(a.threshold=c),!y.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,d,b,c,p,e){var h=this.linkedParent||this,y=1,n=0,l=c?h.oldTransA:h.transA;c=c?h.oldMin:h.min;var A=h.minPixelPadding;p=(h.isOrdinal||h.isBroken||h.isLog&&p)&&h.lin2val; l||(l=h.transA);b&&(y*=-1,n=h.len);h.reversed&&(y*=-1,n-=y*(h.sector||h.len));d?(a=(a*y+n-A)/l+c,p&&(a=h.lin2val(a))):(p&&(a=h.val2lin(a)),a=C(c)?y*(a-c)*l+n+y*A+(C(e)?l*e:0):void 0);return a},toPixels:function(a,d){return this.translate(a,!1,!this.horiz,null,!0)+(d?0:this.pos)},toValue:function(a,d){return this.translate(a-(d?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,d,b,c,p){var h=this.chart,y=this.left,e=this.top,n,l,A=b&&h.oldChartHeight||h.chartHeight,r=b&&h.oldChartWidth|| h.chartWidth,f;n=this.transB;var D=function(a,h,d){if(ad)c?a=Math.min(Math.max(h,a),d):f=!0;return a};p=B(p,this.translate(a,null,null,b));a=b=Math.round(p+n);n=l=Math.round(A-p-n);C(p)?this.horiz?(n=e,l=A-this.bottom,a=b=D(a,y,y+this.width)):(a=y,b=r-this.right,n=l=D(n,e,e+this.height)):(f=!0,c=!1);return f&&!c?null:h.renderer.crispLine(["M",a,n,"L",b,l],d||1)},getLinearTickPositions:function(a,d,b){var h,y=q(Math.floor(d/a)*a);b=q(Math.ceil(b/a)*a);var c=[],p;q(y+a)===y&&(p=20);if(this.single)return[d]; for(d=y;d<=b;){c.push(d);d=q(d+a,p);if(d===h)break;h=d}return c},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?B(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,d=a.options,b=a.tickPositions,c=a.minorTickInterval,p=[],e=a.pointRangePadding||0,n=a.min-e,e=a.max+e,l=e-n;if(l&&l/c=this.minRange,f=this.minRange,c=(f-b+d)/2,c=[d-c,B(a.min,d-c)],p&&(c[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),d=H(c),b=[d+f,B(a.max,d+f)],p&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=v(b),b-d=J?(z=J,g=0):d.dataMax<=J&&(w=J,D=0)),d.min= B(v,z,d.dataMin),d.max=B(E,w,d.dataMax));e&&(d.positiveValuesOnly&&!h&&0>=Math.min(d.min,B(d.dataMin,d.min))&&a.error(10,1),d.min=q(n(d.min),15),d.max=q(n(d.max),15));d.range&&t(d.max)&&(d.userMin=d.min=v=Math.max(d.dataMin,d.minFromRange()),d.userMax=E=d.max,d.range=null);f(d,"foundExtremes");d.beforePadding&&d.beforePadding();d.adjustForMinRange();!(I||d.axisPointRange||d.usePercentage||r)&&t(d.min)&&t(d.max)&&(n=d.max-d.min)&&(!t(v)&&g&&(d.min-=n*g),!t(E)&&D&&(d.max+=n*D));C(p.softMin)&&!C(d.userMin)&& (d.min=Math.min(d.min,p.softMin));C(p.softMax)&&!C(d.userMax)&&(d.max=Math.max(d.max,p.softMax));C(p.floor)&&(d.min=Math.max(d.min,p.floor));C(p.ceiling)&&(d.max=Math.min(d.max,p.ceiling));u&&t(d.dataMin)&&(J=J||0,!t(v)&&d.min=J?d.min=J:!t(E)&&d.max>J&&d.dataMax<=J&&(d.max=J));d.tickInterval=d.min===d.max||void 0===d.min||void 0===d.max?1:r&&!x&&k===d.linkedParent.options.tickPixelInterval?x=d.linkedParent.tickInterval:B(x,this.tickAmount?(d.max-d.min)/Math.max(this.tickAmount-1,1): void 0,I?1:(d.max-d.min)*k/Math.max(d.len,k));A&&!h&&m(d.series,function(a){a.processData(d.min!==d.oldMin||d.max!==d.oldMax)});d.setAxisTranslation(!0);d.beforeSetTickPositions&&d.beforeSetTickPositions();d.postProcessTickInterval&&(d.tickInterval=d.postProcessTickInterval(d.tickInterval));d.pointRange&&!x&&(d.tickInterval=Math.max(d.pointRange,d.tickInterval));h=B(p.minTickInterval,d.isDatetimeAxis&&d.closestPointRange);!x&&d.tickIntervald.tickInterval&&1E3d.max)),!!this.tickAmount));this.tickAmount||(d.tickInterval=d.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,d,b=a.tickPositions;d=this.getMinorTickInterval();var c=a.tickPositioner,p=a.startOnTick,e=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===d&&this.tickInterval?this.tickInterval/ 5:d;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=d=b&&b.slice();!d&&(d=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),d.length>this.len&&(d= [d[0],d.pop()],d[0]===d[1]&&(d.length=1)),this.tickPositions=d,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=d=c);this.paddedTicks=d.slice(0);this.trimTicks(d,p,e);this.isLinked||(this.single&&2>d.length&&(this.min-=.5,this.max+=.5),b||c||this.adjustTickAmount())},trimTicks:function(a,d,b){var h=a[0],c=a[a.length-1],p=this.minPointOffset||0;if(!this.isLinked){if(d&&-Infinity!==h)this.min=h;else for(;this.min-p>a[0];)a.shift();if(b)this.max=c;else for(;this.max+pd&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var a=this.tickInterval,d=this.tickPositions,b=this.tickAmount,c=this.finalTickAmt,p=d&&d.length,e=B(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(pb&&(this.tickInterval*= 2,this.setTickPositions());if(t(c)){for(a=b=d.length;a--;)(3===c&&1===a%2||2>=c&&0c&&(a=c)),t(b)&&(dc&&(d=c))),this.displayBtn=void 0!==a||void 0!==d,this.setExtremes(a,d,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var d=this.chart,b=this.options,c=b.offsets||[0,0,0,0],p=this.horiz,e=this.width=Math.round(a.relativeLength(B(b.width,d.plotWidth-c[3]+c[1]),d.plotWidth)),n=this.height=Math.round(a.relativeLength(B(b.height, d.plotHeight-c[0]+c[2]),d.plotHeight)),l=this.top=Math.round(a.relativeLength(B(b.top,d.plotTop+c[0]),d.plotHeight,d.plotTop)),b=this.left=Math.round(a.relativeLength(B(b.left,d.plotLeft+c[3]),d.plotWidth,d.plotLeft));this.bottom=d.chartHeight-n-l;this.right=d.chartWidth-e-b;this.len=Math.max(p?e:n,0);this.pos=p?b:l},getExtremes:function(){var a=this.isLog,d=this.lin2log;return{min:a?q(d(this.min)):this.min,max:a?q(d(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin, userMax:this.userMax}},getThreshold:function(a){var d=this.isLog,h=this.lin2log,b=d?h(this.min):this.min,d=d?h(this.max):this.max;null===a?a=b:b>a?a=b:da?"right":195a?"left":"center"},tickSize:function(a){var d=this.options,h=d[a+"Length"],b=B(d[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(b&&h)return"inside"===d[a+"Position"]&&(h=-h),[h,b]},labelMetrics:function(){var a= this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,d=this.horiz,b=this.tickInterval,c=b,p=this.len/(((this.categories?1:0)+this.max-this.min)/b),e,n=a.rotation,l=this.labelMetrics(),A,r=Number.MAX_VALUE,f,D=function(a){a/=p||1;a=1=a)A=D(Math.abs(l.h/Math.sin(u*a))),d=A+Math.abs(a/360),d(b.step||0)&&!b.rotation&&(this.staggerLines||1)*this.len/c||!d&&(b.style&&parseInt(b.style.width,10)||p&&p-a.spacing[3]|| .33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,c=this.ticks,p=this.options.labels,e=this.horiz,n=this.getSlotWidth(),l=Math.max(1,Math.round(n-2*(p.padding||5))),A={},r=this.labelMetrics(),f=p.style&&p.style.textOverflow,D,g=0,C,B;I(p.rotation)||(A.rotation=p.rotation||0);m(b,function(a){(a=c[a])&&a.labelLength>g&&(g=a.labelLength)});this.maxLabelLength=g;if(this.autoRotation)g>l&&g>r.h?A.rotation=this.labelRotation:this.labelRotation=0;else if(n&& (D={width:l+"px"},!f))for(D.textOverflow="clip",C=b.length;!e&&C--;)if(B=b[C],l=c[B].label)l.styles&&"ellipsis"===l.styles.textOverflow?l.css({textOverflow:"clip"}):c[B].labelLength>n&&l.css({width:n+"px"}),l.getBBox().height>this.len/b.length-(r.h-r.f)&&(l.specCss={textOverflow:"ellipsis"});A.rotation&&(D={width:(g>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},f||(D.textOverflow="ellipsis"));if(this.labelAlign=p.align||this.autoLabelAlign(this.labelRotation))A.align=this.labelAlign;m(b, function(a){var d=(a=c[a])&&a.label;d&&(d.attr(A),D&&d.css(x(D,d.specCss)),delete d.specCss,a.rotation=A.rotation)});this.tickRotCorr=d.rotCorr(r.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||t(this.min)&&t(this.max)&&this.tickPositions&&0=this.min&&a<=this.max)h[a]||(h[a]=new p(this,a)),c&&h[a].isNew&&h[a].render(d,!0,.1),h[a].render(d)},render:function(){var b= this,c=b.chart,e=b.options,l=b.isLog,A=b.lin2log,r=b.isLinked,f=b.tickPositions,D=b.axisTitle,g=b.ticks,x=b.minorTicks,B=b.alternateBands,F=e.stackLabels,k=e.alternateGridColor,q=b.tickmarkOffset,t=b.axisLine,I=b.showAxis,J=E(c.renderer.globalAnimation),u,z;b.labelEdge.length=0;b.overlap=!1;m([g,x,B],function(a){n(a,function(a){a.isActive=!1})});if(b.hasData()||r)b.minorTickInterval&&!b.categories&&m(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),f.length&&(m(f,function(a,d){b.renderTick(a, d)}),q&&(0===b.min||b.single)&&(g[-1]||(g[-1]=new p(b,-1,null,!0)),g[-1].render(-1))),k&&m(f,function(d,h){z=void 0!==f[h+1]?f[h+1]+q:b.max-q;0===h%2&&d=g.second?0:B*Math.floor(x.getMilliseconds()/B));if(n>=g.second)x[E.hcSetSeconds](n>=g.minute? 0:B*Math.floor(x.getSeconds()/B));if(n>=g.minute)x[E.hcSetMinutes](n>=g.hour?0:B*Math.floor(x[E.hcGetMinutes]()/B));if(n>=g.hour)x[E.hcSetHours](n>=g.day?0:B*Math.floor(x[E.hcGetHours]()/B));if(n>=g.day)x[E.hcSetDate](n>=g.month?1:B*Math.floor(x[E.hcGetDate]()/B));n>=g.month&&(x[E.hcSetMonth](n>=g.year?0:B*Math.floor(x[E.hcGetMonth]()/B)),t=x[E.hcGetFullYear]());if(n>=g.year)x[E.hcSetFullYear](t-t%B);if(n===g.week)x[E.hcSetDate](x[E.hcGetDate]()-x[E.hcGetDay]()+m(b,1));t=x[E.hcGetFullYear]();b=x[E.hcGetMonth](); var d=x[E.hcGetDate](),p=x[E.hcGetHours]();e=x.getTime();E.hcHasTimeZone&&(A=(!f||!!E.hcGetTimezoneOffset)&&(c-e>4*g.month||u(e)!==u(c)),J=u(x),x=new E(e+J));f=x.getTime();for(e=1;fr.length&&q(r,function(a){0===a%18E5&&"000000000"===H("%H%M%S%L",a)&&(l[a]="day")})}r.info=w(a,{higherRanks:l,totalRange:n*B});return r}; G.prototype.normalizeTimeTickInterval=function(a,e){var c=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];e=c[c.length-1];var b=g[e[0]],r=e[1],l;for(l=0;lw&&(!u||l<=t)&&void 0!==l&&e.push(l),l>t&& (C=!0),l=r;else w=g(w),t=g(t),a=u?this.getMinorTickInterval():q.tickInterval,a=k("auto"===a?null:a,this._minorAutoInterval,q.tickPixelInterval/(u?5:1)*(t-w)/((u?m/this.tickPositions.length:m)||1)),a=v(a,null,E(a)),e=H(this.getLinearTickPositions(a,w,t),f),u||(this._minorAutoInterval=a/5);u||(this.tickInterval=a);return e};G.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};G.prototype.lin2log=function(a){return Math.pow(10,a)}})(L);(function(a,G){var E=a.arrayMax,H=a.arrayMin,v=a.defined, k=a.destroyObjectProperties,q=a.each,w=a.erase,t=a.merge,u=a.pick;a.PlotLineOrBand=function(a,m){this.axis=a;m&&(this.options=m,this.id=m.id)};a.PlotLineOrBand.prototype={render:function(){var k=this,m=k.axis,g=m.horiz,f=k.options,e=f.label,c=k.label,b=f.to,r=f.from,l=f.value,C=v(r)&&v(b),q=v(l),x=k.svgElem,F=!x,n=[],B=f.color,J=u(f.zIndex,0),A=f.events,n={"class":"highcharts-plot-"+(C?"band ":"line ")+(f.className||"")},d={},p=m.chart.renderer,D=C?"bands":"lines",h=m.log2lin;m.isLog&&(r=h(r),b=h(b), l=h(l));q?(n={stroke:B,"stroke-width":f.width},f.dashStyle&&(n.dashstyle=f.dashStyle)):C&&(B&&(n.fill=B),f.borderWidth&&(n.stroke=f.borderColor,n["stroke-width"]=f.borderWidth));d.zIndex=J;D+="-"+J;(B=m.plotLinesAndBandsGroups[D])||(m.plotLinesAndBandsGroups[D]=B=p.g("plot-"+D).attr(d).add());F&&(k.svgElem=x=p.path().attr(n).add(B));if(q)n=m.getPlotLinePath(l,x.strokeWidth());else if(C)n=m.getPlotBandPath(r,b,f);else return;F&&n&&n.length?(x.attr({d:n}),A&&a.objectEach(A,function(a,d){x.on(d,function(a){A[d].apply(k, [a])})})):x&&(n?(x.show(),x.animate({d:n})):(x.hide(),c&&(k.label=c=c.destroy())));e&&v(e.text)&&n&&n.length&&0this.max&& m>this.max;if(f&&g)for(a&&(r=f.toString()===g.toString(),b=0),a=0;af-l?f:f-l);else if(p)r[a]=Math.max(n,h+l+e>c?h:h+l);else return!1},B=function(a,c,e,h){var d;hc-b?d=!1:r[a]=hc-e/2?c-e-2:h-e/2;return d},k=function(a){var d=m;m=x;x=d;g=a},A=function(){!1!==n.apply(0,m)?!1!==B.apply(0,x)||g||(k(!0),A()):g?r.x=r.y=0:(k(!0),A())};(c.inverted||1A&&(l=!1);a=(n.series&& n.series.yAxis&&n.series.yAxis.pos)+(n.plotY||0);a-=b.plotTop;c.push({target:n.isHeader?b.plotHeight+k:a,rank:n.isHeader?1:0,size:g.tt.getBBox().height+1,point:n,x:A,tt:C})}});this.cleanSplit();a.distribute(c,b.plotHeight+k);E(c,function(a){var c=a.point,e=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:l||c.isHeader?a.x:c.plotX+b.plotLeft+t(m.distance,16),y:a.pos+b.plotTop,anchorX:c.isHeader?c.plotX+b.plotLeft:c.plotX+e.xAxis.pos,anchorY:c.isHeader?a.pos+b.plotTop-15:c.plotY+e.yAxis.pos})})}, updatePosition:function(a){var f=this.chart,e=this.getLabel(),e=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+f.plotLeft,a.plotY+f.plotTop)},getDateFormat:function(a,f,e,c){var b=G("%m-%d %H:%M:%S.%L",f),r,l,g={millisecond:15,second:12,minute:9,hour:6,day:3},k="millisecond";for(l in m){if(a===m.week&&+G("%w",f)===e&&"00:00:00.000"===b.substr(6)){l="week";break}if(m[l]>a){l=k;break}if(g[l]&&b.substr(g[l])!=="01-01 00:00:00.000".substr(g[l]))break; "week"!==l&&(k=l)}l&&(r=c[l]);return r},getXDateFormat:function(a,f,e){f=f.dateTimeLabelFormats;var c=e&&e.closestPointRange;return(c?this.getDateFormat(c,a.x,e.options.startOfWeek,f):f.day)||f.year},tooltipFooterHeaderFormatter:function(a,f){f=f?"footer":"header";var e=a.series,c=e.tooltipOptions,b=c.xDateFormat,r=e.xAxis,l=r&&"datetime"===r.options.type&&k(a.key),g=c[f+"Format"];l&&!b&&(b=this.getXDateFormat(a,c,r));l&&b&&E(a.point&&a.point.tooltipDateKeys||["key"],function(a){g=g.replace("{point."+ a+"}","{point."+a+":"+b+"}")});return v(g,{point:a,series:e})},bodyFormatter:function(a){return q(a,function(a){var e=a.series.tooltipOptions;return(e[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,e[(a.point.formatPrefix||"point")+"Format"])})}}})(L);(function(a){var G=a.addEvent,E=a.attr,H=a.charts,v=a.color,k=a.css,q=a.defined,w=a.each,t=a.extend,u=a.find,z=a.fireEvent,m=a.isObject,g=a.offset,f=a.pick,e=a.splat,c=a.Tooltip;a.Pointer=function(a,c){this.init(a, c)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&(a.tooltip=new c(a,e.tooltip),this.followTouchMove=f(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,e=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=f(c.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&& !b||a&&b;this.hasZoom=a||e},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=c=g(this.chart.container));return t(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};w(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,e){var b;w(a,function(a){var l= !(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,l);if((l=m(a,!0))&&!(l=!m(b,!0)))var l=b.distX-a.distX,r=b.dist-a.dist,n=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),l=0<(0!==l&&c?l:0!==r?r:0!==n?n:b.series.index>a.series.index?-1:1);l&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,e=b.xAxis,b=b.yAxis,r= f(a.clientX,a.plotX);if(e&&b)return c?{chartX:e.len+e.pos-r,chartY:b.len+b.pos-a.plotY}:{chartX:r+e.pos,chartY:a.plotY+b.pos}},getHoverData:function(b,c,e,g,k,x,F){var n,l=[],r=F&&F.isBoosting;g=!(!g||!b);F=c&&!c.stickyTracking?[c]:a.grep(e,function(a){return a.visible&&!(!k&&a.directTouch)&&f(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(n=g?b:this.findNearestKDPoint(F,k,x))&&n.series;n&&(k&&!c.noSharedTooltip?(F=a.grep(e,function(a){return a.visible&&!(!k&&a.directTouch)&&f(a.options.enableMouseTracking, !0)&&!a.noSharedTooltip}),w(F,function(a){var d=u(a.points,function(a){return a.x===n.x&&!a.isNull});m(d)&&(r&&(d=a.getPoint(d)),l.push(d))})):l.push(n));return{hoverPoint:n,hoverSeries:c,hoverPoints:l}},runPointActions:function(b,c){var e=this.chart,r=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,g=r?r.shared:!1,x=c||e.hoverPoint,m=x&&x.series||e.hoverSeries,m=this.getHoverData(x,m,e.series,!!c||m&&m.directTouch&&this.isDirectTouch,g,b,{isBoosting:e.isBoosting}),n,x=m.hoverPoint;n=m.hoverPoints; c=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;g=g&&m&&!m.noSharedTooltip;if(x&&(x!==e.hoverPoint||r&&r.isHidden)){w(e.hoverPoints||[],function(b){-1===a.inArray(b,n)&&b.setState()});w(n||[],function(a){a.setState("hover")});if(e.hoverSeries!==m)m.onMouseOver();e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!x.series)return;x.firePointEvent("mouseOver");e.hoverPoints=n;e.hoverPoint=x;r&&r.refresh(g?n:x,b)}else c&&r&&!r.isHidden&&(x=r.getAnchor([{}],b),r.updatePosition({plotX:x[0],plotY:x[1]})); this.unDocMouseMove||(this.unDocMouseMove=G(e.container.ownerDocument,"mousemove",function(b){var c=H[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));w(e.axes,function(c){var e=f(c.crosshair.snap,!0),l=e?a.find(n,function(a){return a.series[c.coll]===c}):void 0;l||!e?c.drawCrosshair(b,l):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,r=b.hoverSeries,f=b.hoverPoint,g=b.hoverPoints,m=b.tooltip,n=m&&m.shared?g:f;a&&n&&w(e(n),function(b){b.series.isCartesian&&void 0===b.plotX&& (a=!1)});if(a)m&&n&&(m.refresh(n),f&&(f.setState(f.state,!0),w(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();g&&w(g,function(a){a.setState()});if(r)r.onMouseOut();m&&m.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());w(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,e;w(b.series,function(l){e=a||l.getPlotBox();l.xAxis&&l.xAxis.zoomEnabled&&l.group&&(l.group.attr(e), l.markerGroup&&(l.markerGroup.attr(e),l.markerGroup.clip(c?b.clipRect:null)),l.dataLabelsGroup&&l.dataLabelsGroup.attr(e))});b.clipRect.attr(c||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,e=a.chartX,f=a.chartY,g=this.zoomHor,m=this.zoomVert,n=b.plotLeft,B=b.plotTop,k=b.plotWidth,A=b.plotHeight,d,p=this.selectionMarker,D=this.mouseDownX, h=this.mouseDownY,y=c.panKey&&a[c.panKey+"Key"];p&&p.touch||(en+k&&(e=n+k),fB+A&&(f=B+A),this.hasDragged=Math.sqrt(Math.pow(D-e,2)+Math.pow(h-f,2)),10u.max&&(k=u.max-x,y=!0);y?(p-=.8*(p-f[b][0]),A||(h-=.8*(h-f[b][1])),q()):f[b]=[p,h];B||(g[b]=F-t,g[C]=x);g=B?1/n:n;m[C]=x;m[b]=k;v[B?a?"scaleY":"scaleX":"scale"+r]=n;v["translate"+r]=g*t+(p-g*d)},pinch:function(a){var t=this,u=t.chart,w=t.pinchDown,m=a.touches,g=m.length,f=t.lastValidTouch, e=t.hasZoom,c=t.selectionMarker,b={},r=1===g&&(t.inClass(a.target,"highcharts-tracker")&&u.runTrackerClick||t.runChartClick),l={};1c-6&&g(A||c.spacingBox.width-2*n-e.x)&&(this.itemX=n,this.itemY+=p+this.lastLineHeight+d,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,m);this.lastItemY=p+this.itemY+d;this.lastLineHeight=Math.max(b,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];l?this.itemX+=m:(this.itemY+=p+b+d,this.lastLineHeight=b);this.offsetWidth=A||Math.max((l?this.itemX-n-(a.checkbox?0:B):m)+n,this.offsetWidth)}, getAllItems:function(){var a=[];k(this.chart.series,function(c){var b=c&&c.options;c&&u(b.showInLegend,v(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:c)))});return a},getAlignment:function(){var a=this.options;return a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,c){var b=this.chart,e=this.options,l=this.getAlignment();l&&k([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,g){f.test(l)&& !v(a[g])&&(b[w[g]]=Math.max(b[w[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*e[g%2?"x":"y"]+u(e.margin,12)+c[g]+(0===g?b.titleOffset+b.options.title.margin:0)))})},render:function(){var a=this,c=a.chart,b=c.renderer,f=a.group,l,g,q,x,F=a.box,n=a.options,B=a.padding;a.itemX=B;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;f||(a.group=f=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(f),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle(); l=a.getAllItems();m(l,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});n.reversed&&l.reverse();a.allItems=l;a.display=g=!!l.length;a.lastLineHeight=0;k(l,function(b){a.renderItem(b)});q=(n.width||a.offsetWidth)+B;x=a.lastItemY+a.lastLineHeight+a.titleHeight;x=a.handleOverflow(x);x+=B;F||(a.box=F=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(f),F.isNew=!0);F.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor|| "none"}).shadow(n.shadow);0b&&!1!==n.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-g,0),this.currentPage=u(this.currentPage,1),this.fullHeight=a,k(D,function(a,b){var c=a._legendItemPos[1],h=Math.round(a.legendItem.getBBox().height),e=d.length;if(!e||c-d[e-1]>m&&(p||c)!==d[e-1])d.push(p||c),e++;a.pageIx=e-1;p&&(D[b-1].pageIx=e-1);b===D.length-1&&c+h-d[e-1]>m&&(d.push(c),a.pageIx=e);c!==p&&(p=c)}),F||(F=c.clipRect=e.clipRect(0,g,9999,0),c.contentGroup.clip(F)),h(m),A||(this.nav=A=e.g().attr({zIndex:1}).add(this.group), this.up=e.symbol("triangle",0,0,q,q).on("click",function(){c.scroll(-1,B)}).add(A),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(A),this.down=e.symbol("triangle-down",0,0,q,q).on("click",function(){c.scroll(1,B)}).add(A)),c.scroll(0),a=b):A&&(h(),this.nav=A.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,e=b.length;a=this.currentPage+a;var l=this.clipHeight,f=this.options.navigation,g=this.pager, m=this.padding;a>e&&(a=e);0b&&(f=typeof a[0],"string"===f?g.name=a[0]:"number"===f&&(g.x=a[0]),m++);l=e.value;)e=g[++f];e&&e.color&&!this.options.color&&(this.color=e.color);return e},destroy:function(){var a=this.series.chart,g=a.hoverPoints,f;a.pointCount--;g&&(this.setState(),v(g,this),g.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)z(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel", "dataLabelUpper","connector","shadowGroup"],g,f=6;f--;)g=a[f],this[g]&&(this[g]=this[g].destroy())},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}},tooltipFormatter:function(a){var g=this.series,f=g.tooltipOptions,e=u(f.valueDecimals,""),c=f.valuePrefix||"",b=f.valueSuffix||"";E(g.pointArrayMap||["y"],function(f){f="{point."+ f;if(c||b)a=a.replace(f+"}",c+f+"}"+b);a=a.replace(f+"}",f+":,."+e+"f}")});return q(a,{point:this,series:this.series})},firePointEvent:function(a,g,f){var e=this,c=this.series.options;(c.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&c.allowPointSelect&&(f=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});k(this,a,g,f)},visible:!0}})(L);(function(a){var G=a.addEvent,E=a.animObject,H=a.arrayMax,v=a.arrayMin,k=a.correctFloat, q=a.Date,w=a.defaultOptions,t=a.defaultPlotOptions,u=a.defined,z=a.each,m=a.erase,g=a.extend,f=a.fireEvent,e=a.grep,c=a.isArray,b=a.isNumber,r=a.isString,l=a.merge,C=a.objectEach,I=a.pick,x=a.removeEvent,F=a.splat,n=a.SVGElement,B=a.syncTimeout,J=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc", lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"}, {isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,d){var b=this,c,h=a.series,e;b.chart=a;b.options=d=b.setOptions(d);b.linkedSeries=[];b.bindAxes();g(b,{name:d.name,state:"",visible:!1!==d.visible,selected:!0===d.selected});c=d.events;C(c,function(a,d){G(b,d,a)});if(c&&c.click||d.point&&d.point.events&&d.point.events.click||d.allowPointSelect)a.runTrackerClick=!0;b.getColor(); b.getSymbol();z(b.parallelArrays,function(a){b[a+"Data"]=[]});b.setData(d.data,!1);b.isCartesian&&(a.hasCartesianSeries=!0);h.length&&(e=h[h.length-1]);b._i=I(e&&e._i,-1)+1;a.orderSeries(this.insert(h))},insert:function(a){var d=this.options.index,c;if(b(d)){for(c=a.length;c--;)if(d>=I(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return I(c,a.length-1)},bindAxes:function(){var b=this,d=b.options,c=b.chart,e;z(b.axisTypes||[],function(h){z(c[h], function(a){e=a.options;if(d[h]===e.index||void 0!==d[h]&&d[h]===e.id||void 0===d[h]&&0===e.index)b.insert(a.series),b[h]=a,a.isDirty=!0});b[h]||b.optionalAxis===h||a.error(18,!0)})},updateParallelArrays:function(a,d){var c=a.series,e=arguments,h=b(d)?function(b){var h="y"===b&&c.toYData?c.toYData(a):a[b];c[b+"Data"][d]=h}:function(a){Array.prototype[d].apply(c[a+"Data"],Array.prototype.slice.call(e,2))};z(c.parallelArrays,h)},autoIncrement:function(){var b=this.options,d=this.xIncrement,c,e=b.pointIntervalUnit, h=0,d=I(d,b.pointStart,0);this.pointInterval=c=I(this.pointInterval,b.pointInterval,1);e&&(b=new q(d),"day"===e?b=+b[q.hcSetDate](b[q.hcGetDate]()+c):"month"===e?b=+b[q.hcSetMonth](b[q.hcGetMonth]()+c):"year"===e&&(b=+b[q.hcSetFullYear](b[q.hcGetFullYear]()+c)),q.hcHasTimeZone&&(h=a.getTZOffset(b)-a.getTZOffset(d)),c=b-d+h);this.xIncrement=d+c;return d},setOptions:function(a){var d=this.chart,b=d.options,c=b.plotOptions,h=(d.userOptions||{}).plotOptions||{},e=c[this.type];this.userOptions=a;d=l(e, c.series,a);this.tooltipOptions=l(w.tooltip,w.plotOptions.series&&w.plotOptions.series.tooltip,w.plotOptions[this.type].tooltip,b.tooltip.userOptions,c.series&&c.series.tooltip,c[this.type].tooltip,a.tooltip);this.stickyTracking=I(a.stickyTracking,h[this.type]&&h[this.type].stickyTracking,h.series&&h.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:d.stickyTracking);null===e.marker&&delete d.marker;this.zoneAxis=d.zoneAxis;a=this.zones=(d.zones||[]).slice();!d.negativeColor&& !d.negativeFillColor||d.zones||a.push({value:d[this.zoneAxis+"Threshold"]||d.threshold||0,className:"highcharts-negative",color:d.negativeColor,fillColor:d.negativeFillColor});a.length&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return d},getCyclic:function(a,d,b){var c,h=this.chart,p=this.userOptions,e=a+"Index",n=a+"Counter",l=b?b.length:I(h.options.chart[a+"Count"],h[a+"Count"]);d||(c=I(p[e],p["_"+e]),u(c)||(h.series.length||(h[n]=0),p["_"+e]=c=h[n]%l,h[n]+=1), b&&(d=b[c]));void 0!==c&&(this[e]=c);this[a]=d},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||t[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(e,d,p,n){var h=this,l=h.points,f=l&&l.length||0,g,A=h.options,D=h.chart,m=null,x=h.xAxis,B=A.turboThreshold,k=this.xData,q= this.yData,F=(g=h.pointArrayMap)&&g.length;e=e||[];g=e.length;d=I(d,!0);if(!1!==n&&g&&f===g&&!h.cropped&&!h.hasGroupedData&&h.visible)z(e,function(a,d){l[d].update&&a!==A.data[d]&&l[d].update(a,!1,null,!1)});else{h.xIncrement=null;h.colorCounter=0;z(this.parallelArrays,function(a){h[a+"Data"].length=0});if(B&&g>B){for(p=0;null===m&&pg||this.forceCrop))if(d[e-1]q)d=[],c=[];else if(d[0]q)h=this.cropData(this.xData,this.yData,k,q),d=h.xData,c=h.yData,h=h.start,n=!0;for(g=d.length|| 1;--g;)e=B?A(d[g])-A(d[g-1]):d[g]-d[g-1],0e&&r&&(a.error(15),r=!1);this.cropped=n;this.cropStart=h;this.processedXData=d;this.processedYData=c;this.closestPointRange=l},cropData:function(a,d,b,c){var h=a.length,p=0,e=h,n=I(this.cropShoulder,1),l;for(l=0;l=b){p=Math.max(0,l-n);break}for(b=l;bc){e=b+n;break}return{xData:a.slice(p,e),yData:d.slice(p,e),start:p,end:e}},generatePoints:function(){var a=this.options,d=a.data,b=this.data,c,h=this.processedXData, e=this.processedYData,n=this.pointClass,l=h.length,f=this.cropStart||0,g,m=this.hasGroupedData,a=a.keys,x,B=[],r;b||m||(b=[],b.length=d.length,b=this.data=b);a&&m&&(this.options.keys=!1);for(r=0;r=l&&(p[r-1]||A)<=f,g&&A)if(g=m.length)for(;g--;)"number"===typeof m[g]&&(h[n++]=m[g]);else h[n++]=m;this.dataMin= v(h);this.dataMax=H(h)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,d=a.stacking,c=this.xAxis,e=c.categories,h=this.yAxis,n=this.points,l=n.length,f=!!this.modifyValue,g=a.pointPlacement,m="between"===g||b(g),r=a.threshold,x=a.startFromThreshold?r:0,B,q,F,t,C=Number.MAX_VALUE;"between"===g&&(g=.5);b(g)&&(g*=I(a.pointRange||c.pointRange));for(a=0;a=w&&(J.isNull=!0);J.plotX=B=k(Math.min(Math.max(-1E5,c.translate(v,0,0,0,1,g,"flags"===this.type)),1E5));d&&this.visible&&!J.isNull&&z&&z[v]&&(t=this.getStackIndicator(t,v,this.index),E=z[v],w=E.points[t.key],q=w[0],w=w[1],q===x&&t.key===z[v].base&&(q=I(r,h.min)),h.positiveValuesOnly&&0>=q&&(q=null),J.total=J.stackTotal=E.total,J.percentage=E.total&&J.y/E.total*100,J.stackY=w,E.setOffset(this.pointXOffset||0,this.barW||0));J.yBottom=u(q)?h.translate(q,0,1,0,1): null;f&&(w=this.modifyValue(w,J));J.plotY=q="number"===typeof w&&Infinity!==w?Math.min(Math.max(-1E5,h.translate(w,0,1,0,1)),1E5):void 0;J.isInside=void 0!==q&&0<=q&&q<=h.len&&0<=B&&B<=c.len;J.clientX=m?k(c.translate(v,0,0,0,1,g)):B;J.negative=J.y<(r||0);J.category=e&&void 0!==e[J.x]?e[J.x]:J.x;J.isNull||(void 0!==F&&(C=Math.min(C,Math.abs(B-F))),F=B);J.zone=this.zones.length&&J.getZone()}this.closestPointRangePx=C},getValidPoints:function(a,d){var b=this.chart;return e(a||this.points||[],function(a){return d&& !b.isInsidePlot(a.plotX,a.plotY,b.inverted)?!1:!a.isNull})},setClip:function(a){var d=this.chart,b=this.options,c=d.renderer,h=d.inverted,e=this.clipBox,n=e||d.clipBox,l=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,n.height,b.xAxis,b.yAxis].join(),f=d[l],g=d[l+"m"];f||(a&&(n.width=0,h&&(n.x=d.plotSizeX),d[l+"m"]=g=c.clipRect(h?d.plotSizeX+99:-99,h?-d.plotLeft:-d.plotTop,99,h?d.chartWidth:d.chartHeight)),d[l]=f=c.clipRect(n),f.count={length:0});a&&!f.count[this.index]&&(f.count[this.index]= !0,f.count.length+=1);!1!==b.clip&&(this.group.clip(a||e?f:d.clipRect),this.markerGroup.clip(g),this.sharedClipKey=l);a||(f.count[this.index]&&(delete f.count[this.index],--f.count.length),0===f.count.length&&l&&d[l]&&(e||(d[l]=d[l].destroy()),d[l+"m"]&&(d[l+"m"]=d[l+"m"].destroy())))},animate:function(a){var d=this.chart,b=E(this.options.animation),c;a?this.setClip(b):(c=this.sharedClipKey,(a=d[c])&&a.animate({width:d.plotSizeX,x:0},b),d[c+"m"]&&d[c+"m"].animate({width:d.plotSizeX+99,x:0},b),this.animate= null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,d=this.chart,b,c,h,e,n=this.options.marker,l,f,g,m=this[this.specialGroup]||this.markerGroup,r,x=I(n.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(b=0;be&&d.shadow));p&&(p.startX=b.xMap,p.isArea=b.isArea)})}, applyZones:function(){var a=this,d=this.chart,b=d.renderer,c=this.zones,h,e,n=this.clips||[],l,f=this.graph,g=this.area,m=Math.max(d.chartWidth,d.chartHeight),r=this[(this.zoneAxis||"y")+"Axis"],x,B,k=d.inverted,q,F,t,C,u=!1;c.length&&(f||g)&&r&&void 0!==r.min&&(B=r.reversed,q=r.horiz,f&&f.hide(),g&&g.hide(),x=r.getExtremes(),z(c,function(c,p){h=B?q?d.plotWidth:0:q?0:r.toPixels(x.min);h=Math.min(Math.max(I(e,h),0),m);e=Math.min(Math.max(Math.round(r.toPixels(I(c.value,x.max),!0)),0),m);u&&(h=e=r.toPixels(x.max)); F=Math.abs(h-e);t=Math.min(h,e);C=Math.max(h,e);r.isXAxis?(l={x:k?C:t,y:0,width:F,height:m},q||(l.x=d.plotHeight-l.x)):(l={x:0,y:k?C:t,width:m,height:F},q&&(l.y=d.plotWidth-l.y));k&&b.isVML&&(l=r.isXAxis?{x:0,y:B?t:C,height:l.width,width:d.chartWidth}:{x:l.y-d.plotLeft-d.spacingBox.x,y:0,width:l.height,height:d.chartHeight});n[p]?n[p].animate(l):(n[p]=b.clipRect(l),f&&a["zone-graph-"+p].clip(n[p]),g&&a["zone-area-"+p].clip(n[p]));u=c.value>x.max}),this.clips=n)},invertGroups:function(a){function d(){z(["group", "markerGroup"],function(d){b[d]&&(c.renderer.isVML&&b[d].attr({width:b.yAxis.len,height:b.xAxis.len}),b[d].width=b.yAxis.len,b[d].height=b.xAxis.len,b[d].invert(a))})}var b=this,c=b.chart,h;b.xAxis&&(h=G(c,"resize",d),G(b,"destroy",h),d(a),b.invertGroups=d)},plotGroup:function(a,d,b,c,h){var e=this[a],p=!e;p&&(this[a]=e=this.chart.renderer.g().attr({zIndex:c||.1}).add(h));e.addClass("highcharts-"+d+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(u(this.colorIndex)?"highcharts-color-"+ this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);e.attr({visibility:b})[p?"attr":"animate"](this.getPlotBox());return e},getPlotBox:function(){var a=this.chart,d=this.xAxis,b=this.yAxis;a.inverted&&(d=b,b=this.xAxis);return{translateX:d?d.left:a.plotLeft,translateY:b?b.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,d=a.chart,b,c=a.options,h=!!a.animate&&d.renderer.isSVG&&E(c.animation).duration,e=a.visible?"inherit": "hidden",n=c.zIndex,l=a.hasRendered,f=d.seriesGroup,g=d.inverted;b=a.plotGroup("group","series",e,n,f);a.markerGroup=a.plotGroup("markerGroup","markers",e,n,f);h&&a.animate(!0);b.inverted=a.isCartesian?g:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(g);!1===c.clip||a.sharedClipKey||l||b.clip(d.clipRect);h&&a.animate();l||(a.animationTimeout=B(function(){a.afterAnimate()}, h));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,d=this.isDirty||this.isDirtyData,b=this.group,c=this.xAxis,h=this.yAxis;b&&(a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight}),b.animate({translateX:I(c&&c.left,a.plotLeft),translateY:I(h&&h.top,a.plotTop)}));this.translate();this.render();d&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,d){var b=this.xAxis,c=this.yAxis,h=this.chart.inverted;return this.searchKDTree({clientX:h?b.len-a.chartY+ b.pos:a.chartX-b.pos,plotY:h?c.len-a.chartX+c.pos:a.chartY-c.pos},d)},buildKDTree:function(){function a(b,c,e){var h,p;if(p=b&&b.length)return h=d.kdAxisArray[c%e],b.sort(function(a,d){return a[h]-d[h]}),p=Math.floor(p/2),{point:b[p],left:a(b.slice(0,p),c+1,e),right:a(b.slice(p+1),c+1,e)}}this.buildingKdTree=!0;var d=this,b=-1g?"left":"right";r=0>g?"right":"left";d[m]&&(m=b(a,d[m],p+1,l),x=m[n]k;)x--;this.updateParallelArrays(f,"splice",x,0,0);this.updateParallelArrays(f,x);h&&f.name&&(h[k]=f.name);l.splice(x,0,a);g&&(this.data.splice(x,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(p[0]&&p[0].remove?p[0].remove(!1):(p.shift(),this.updateParallelArrays(f,"shift"),l.shift()));this.isDirtyData=this.isDirty=!0;b&&n.redraw(e)},removePoint:function(a,b,c){var e=this,d=e.data,p=d[a],n=e.points,h=e.chart,l=function(){n&&n.length===d.length&& n.splice(a,1);d.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(p||{series:e},"splice",a,1);p&&p.destroy();e.isDirty=!0;e.isDirtyData=!0;b&&h.redraw()};x(c,h);b=r(b,!0);p?p.firePointEvent("remove",null,l):l()},remove:function(a,b,c){function e(){d.destroy();p.isDirtyLegend=p.isDirtyBox=!0;p.linkSeries();r(a,!0)&&p.redraw(b)}var d=this,p=d.chart;!1!==c?z(d,"remove",null,e):e()},update:function(a,b){var e=this,n=e.chart,d=e.userOptions,p=e.oldType||e.type,l=a.type||d.type||n.options.chart.type, h=I[p].prototype,f,g=["group","markerGroup","dataLabelsGroup"],m=["navigatorSeries","baseSeries"],x=e.finishedAnimating&&{animation:!1};if(Object.keys&&"data"===Object.keys(a).toString())return this.setData(a.data,b);m=g.concat(m);w(m,function(a){m[a]=e[a];delete e[a]});a=c(d,x,{index:e.index,pointStart:e.xData[0]},{data:e.options.data},a);e.remove(!1,null,!1);for(f in h)e[f]=void 0;u(e,I[l||p].prototype);w(m,function(a){e[a]=m[a]});e.init(n,a);a.zIndex!==d.zIndex&&w(g,function(d){e[d]&&e[d].attr({zIndex:a.zIndex})}); e.oldType=p;n.linkSeries();r(b,!0)&&n.redraw(!1)}});u(H.prototype,{update:function(a,b){var e=this.chart;a=e.options[this.coll][this.options.index]=c(this.userOptions,a);this.destroy(!0);this.init(e,u(a,{events:void 0}));e.isDirtyBox=!0;r(b,!0)&&e.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,n=this.series,d=n.length;d--;)n[d]&&n[d].remove(!1);t(b.axes,this);t(b[c],this);e(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];w(b[c],function(a,d){a.options.index= d});this.destroy();b.isDirtyBox=!0;r(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(L);(function(a){var G=a.color,E=a.each,H=a.map,v=a.pick,k=a.Series,q=a.seriesType;q("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(k){var q=[],u=[],w=this.xAxis,m=this.yAxis,g=m.stacks[this.stackKey],f={},e=this.index,c=m.series,b=c.length,r,l=v(m.options.reversedStacks,!0)?1:-1,C;k=k||this.points; if(this.options.stacking){for(C=0;Ca&&u>q?(u=Math.max(a,q),m=2*q-u):uv&&m>q?(m=Math.max(v,q),u=2*q-m):m=Math.abs(g)&&.5a.closestPointRange*a.xAxis.transA,e=a.borderWidth=w(f.borderWidth,e?0:1),c=a.yAxis,b=f.threshold,r=a.translatedThreshold=c.getThreshold(b),l=w(f.minPointLength,5),k=a.getColumnMetrics(),q=k.width,x=a.barW=Math.max(q,1+2*e),F=a.pointXOffset=k.offset;g.inverted&&(r-=.5);f.pointPadding&&(x=Math.ceil(x));t.prototype.translate.apply(a);H(a.points,function(e){var n=w(e.yBottom,r),f=999+Math.abs(n),f=Math.min(Math.max(-f,e.plotY),c.len+f),k=e.plotX+F,d=x,p=Math.min(f,n),m,h=Math.max(f,n)-p;l&& Math.abs(h)l?n-l:r-(m?l:0));e.barX=k;e.pointWidth=q;e.tooltipPos=g.inverted?[c.len+c.pos-g.plotLeft-f,a.xAxis.len-k-d/2,h]:[k+d/2,f+c.pos-g.plotTop,h];e.shapeType="rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[k,r,d,0]:[k,p,d,h])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}, pointAttribs:function(a,g){var f=this.options,e,c=this.pointAttrToOptions||{};e=c.stroke||"borderColor";var b=c["stroke-width"]||"borderWidth",r=a&&a.color||this.color,l=a&&a[e]||f[e]||this.color||r,k=a&&a[b]||f[b]||this[b]||0,c=f.dashStyle;a&&this.zones.length&&(r=a.getZone(),r=a.options.color||r&&r.color||this.color);g&&(a=q(f.states[g],a.options.states&&a.options.states[g]||{}),g=a.brightness,r=a.color||void 0!==g&&E(r).brighten(a.brightness).get()||r,l=a[e]||l,k=a[b]||k,c=a.dashStyle||c);e={fill:r, stroke:l,"stroke-width":k};c&&(e.dashstyle=c);return e},drawPoints:function(){var a=this,g=this.chart,f=a.options,e=g.renderer,c=f.animationLimit||250,b;H(a.points,function(r){var l=r.graphic;if(k(r.plotY)&&null!==r.y){b=r.shapeArgs;if(l)l[g.pointCountm;++m)g=u[m],a=2>m||2===m&&/%$/.test(g),u[m]=v(g,[t,q,z,u[2]][m])+(a?w:0);u[3]>u[2]&&(u[3]=u[2]);return u},getStartAndEndRadians:function(a,q){a=E(a)?a:0;q=E(q)&&q>a&&360>q-a?q:a+360;return{start:G*(a+-90),end:G*(q+-90)}}}})(L);(function(a){var G=a.addEvent,E=a.CenteredSeriesMixin,H=a.defined,v=a.each,k=a.extend,q=E.getStartAndEndRadians,w=a.inArray,t=a.noop,u=a.pick,z=a.Point,m=a.Series,g=a.seriesType,f=a.setAnimation;g("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30, enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c= this,b=c.points,e=c.startAngleRad;a||(v(b,function(a){var b=a.graphic,l=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:e,end:e}),b.animate({r:l.r,start:l.start,end:l.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,c=0,b=this.points,f=b.length,l,g=this.options.ignoreHiddenPoint;for(a=0;a1.5*Math.PI?x-=2*Math.PI:x<-Math.PI/2&&(x+=2*Math.PI);D.slicedTranslation={translateX:Math.round(Math.cos(x)*e),translateY:Math.round(Math.sin(x)*e)};g=Math.cos(x)*a[2]/ 2;t=Math.sin(x)*a[2]/2;D.tooltipPos=[a[0]+.7*g,a[1]+.7*t];D.half=x<-Math.PI/2||x>Math.PI/2?1:0;D.angle=x;f=Math.min(l,D.labelDistance/5);D.labelPos=[a[0]+g+Math.cos(x)*D.labelDistance,a[1]+t+Math.sin(x)*D.labelDistance,a[0]+g+Math.cos(x)*f,a[1]+t+Math.sin(x)*f,a[0]+g,a[1]+t,0>D.labelDistance?"center":D.half?"right":"left",x]}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart.renderer,b,f,l,g,m=a.options.shadow;m&&!a.shadowGroup&&(a.shadowGroup=c.g("shadow").add(a.group));v(a.points,function(e){f= e.graphic;if(e.isNull)f&&(e.graphic=f.destroy());else{g=e.shapeArgs;b=e.getTranslate();var r=e.shadowGroup;m&&!r&&(r=e.shadowGroup=c.g("shadow").add(a.shadowGroup));r&&r.attr(b);l=a.pointAttribs(e,e.selected&&"select");f?f.setRadialReference(a.center).attr(l).animate(k(g,b)):(e.graphic=f=c[e.shapeType](g).setRadialReference(a.center).attr(b).add(a.group),e.visible||f.attr({visibility:"hidden"}),f.attr(l).attr({"stroke-linejoin":"round"}).shadow(m,r));f.addClass(e.getClassName())}})},searchPoint:t, sortByAngle:function(a,c){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:E.getCenter,getSymbol:t},{init:function(){z.prototype.init.apply(this,arguments);var a=this,c;a.name=u(a.name,"Slice");c=function(b){a.slice("select"===b.type)};G(a,"select",c);G(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var b=this,e=b.series,l=e.chart,f=e.options.ignoreHiddenPoint; c=u(c,f);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,e.options.data[w(b,e.data)]=b.options,v(["graphic","dataLabel","connector","shadowGroup"],function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&l.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),f&&(e.isDirty=!0),c&&l.redraw())},slice:function(a,c,b){var e=this.series;f(b,e.chart);u(c,!0);this.sliced=this.options.sliced=H(a)?a:!this.sliced;e.options.data[w(this,e.data)]=this.options;this.graphic.animate(this.getTranslate()); this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},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:this.shapeArgs.r-1,start:c.start,end:c.end})}})})(L);(function(a){var G=a.addEvent,E=a.arrayMax,H=a.defined,v=a.each,k=a.extend,q=a.format,w=a.map,t=a.merge,u=a.noop,z=a.pick,m=a.relativeLength,g= a.Series,f=a.seriesTypes,e=a.stableSort;a.distribute=function(a,b){function c(a,b){return a.target-b.target}var l,f=!0,g=a,x=[],k;k=0;for(l=a.length;l--;)k+=a[l].size;if(k>b){e(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=l=0;k<=b;)k+=a[l].size,l++;x=a.splice(l-1,a.length)}e(a,c);for(a=w(a,function(a){return{size:a.size,targets:[a.target],align:z(a.align,.5)}});f;){for(l=a.length;l--;)f=a[l],k=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,k-f.size* f.align),b-f.size);l=a.length;for(f=!1;l--;)0a[l].pos&&(a[l-1].size+=a[l].size,a[l-1].targets=a[l-1].targets.concat(a[l].targets),a[l-1].align=.5,a[l-1].pos+a[l-1].size>b&&(a[l-1].pos=b-a[l-1].size),a.splice(l,1),f=!0)}l=0;v(a,function(a){var b=0;v(a.targets,function(){g[l].pos=a.pos+b;b+=g[l].size;l++})});g.push.apply(g,x);e(g,c)};g.prototype.drawDataLabels=function(){function c(a,b){var d=b.filter;return d?(b=d.operator,a=a[d.property],d=d.value,"\x3e"===b&&a>d||"\x3c"=== b&&a=d||"\x3c\x3d"===b&&a<=d||"\x3d\x3d"===b&&a==d||"\x3d\x3d\x3d"===b&&a===d?!0:!1):!0}var b=this,e=b.options,f=e.dataLabels,g=b.points,k,x,m=b.hasRendered||0,n,B,u=z(f.defer,!!e.animation),A=b.chart.renderer;if(f.enabled||b._hasPointLabels)b.dlProcessOptions&&b.dlProcessOptions(f),B=b.plotGroup("dataLabelsGroup","data-labels",u&&!m?"hidden":"visible",f.zIndex||6),u&&(B.attr({opacity:+m}),m||G(b,"afterAnimate",function(){b.visible&&B.show(!0);B[e.animation?"animate":"attr"]({opacity:1}, {duration:200})})),x=f,v(g,function(d){var p,l=d.dataLabel,h,g,r=d.connector,m=!l,F;k=d.dlOptions||d.options&&d.options.dataLabels;(p=z(k&&k.enabled,x.enabled)&&!d.isNull)&&(p=!0===c(d,k||f));p&&(f=t(x,k),h=d.getLabelConfig(),F=f[d.formatPrefix+"Format"]||f.format,n=H(F)?q(F,h):(f[d.formatPrefix+"Formatter"]||f.formatter).call(h,f),F=f.style,h=f.rotation,F.color=z(f.color,F.color,b.color,"#000000"),"contrast"===F.color&&(d.contrastColor=A.getContrast(d.color||b.color),F.color=f.inside||0>z(d.labelDistance, f.distance)||e.stacking?d.contrastColor:"#000000"),e.cursor&&(F.cursor=e.cursor),g={fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth,r:f.borderRadius||0,rotation:h,padding:f.padding,zIndex:1},a.objectEach(g,function(a,d){void 0===a&&delete g[d]}));!l||p&&H(n)?p&&H(n)&&(l?g.text=n:(l=d.dataLabel=h?A.text(n,0,-9999).addClass("highcharts-data-label"):A.label(n,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),l.addClass(" highcharts-data-label-color-"+d.colorIndex+" "+(f.className|| "")+(f.useHTML?"highcharts-tracker":""))),l.attr(g),l.css(F).shadow(f.shadow),l.added||l.add(B),b.alignDataLabel(d,l,f,null,m)):(d.dataLabel=l=l.destroy(),r&&(d.connector=r.destroy()))})};g.prototype.alignDataLabel=function(a,b,e,f,g){var c=this.chart,l=c.inverted,r=z(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),n=z(a.plotY,-9999),m=b.getBBox(),q,t=e.rotation,d=e.align,p=this.visible&&(a.series.forceDL||c.isInsidePlot(r,Math.round(n),l)||f&&c.isInsidePlot(r,l?f.x+1:f.y+f.height-1,l)),D="justify"===z(e.overflow, "justify");if(p&&(q=e.style.fontSize,q=c.renderer.fontMetrics(q,b).b,f=k({x:l?this.yAxis.len-n:r,y:Math.round(l?this.xAxis.len-r:n),width:0,height:0},f),k(e,{width:m.width,height:m.height}),t?(D=!1,r=c.renderer.rotCorr(q,t),r={x:f.x+e.x+f.width/2+r.x,y:f.y+e.y+{top:0,middle:.5,bottom:1}[e.verticalAlign]*f.height},b[g?"attr":"animate"](r).attr({align:d}),n=(t+720)%360,n=180n,"left"===d?r.y-=n?m.height:0:"center"===d?(r.x-=m.width/2,r.y-=m.height/2):"right"===d&&(r.x-=m.width,r.y-=n?0:m.height)): (b.align(e,null,f),r=b.alignAttr),D?a.isLabelJustified=this.justifyDataLabel(b,e,r,m,f,g):z(e.crop,!0)&&(p=c.isInsidePlot(r.x,r.y)&&c.isInsidePlot(r.x+m.width,r.y+m.height)),e.shape&&!t))b[g?"attr":"animate"]({anchorX:l?c.plotWidth-a.plotY:a.plotX,anchorY:l?c.plotHeight-a.plotX:a.plotY});p||(b.attr({y:-9999}),b.placed=!1)};g.prototype.justifyDataLabel=function(a,b,e,f,g,k){var c=this.chart,l=b.align,n=b.verticalAlign,r,m,q=a.box?0:a.padding||0;r=e.x+q;0>r&&("right"===l?b.align="left":b.x=-r,m=!0); r=e.x+f.width-q;r>c.plotWidth&&("left"===l?b.align="right":b.x=c.plotWidth-r,m=!0);r=e.y+q;0>r&&("bottom"===n?b.verticalAlign="top":b.y=-r,m=!0);r=e.y+f.height-q;r>c.plotHeight&&("top"===n?b.verticalAlign="bottom":b.y=c.plotHeight-r,m=!0);m&&(a.placed=!k,a.align(b,null,g));return m};f.pie&&(f.pie.prototype.drawDataLabels=function(){var c=this,b=c.data,e,f=c.chart,k=c.options.dataLabels,m=z(k.connectorPadding,10),x=z(k.connectorWidth,1),q=f.plotWidth,n=f.plotHeight,t,u=c.center,A=u[2]/2,d=u[1],p,D, h,y,w=[[],[]],M,O,N,G,K=[0,0,0,0];c.visible&&(k.enabled||c._hasPointLabels)&&(v(b,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),g.prototype.drawDataLabels.apply(c),v(b,function(a){a.dataLabel&&a.visible&&(w[a.half].push(a),a.dataLabel._pos=null)}),v(w,function(b,l){var g,r,x=b.length,t=[],B;if(x)for(c.sortByAngle(b,l-.5),0e.bottom-2?g:O,l,e),p._attr={visibility:N,align:h[6]},p._pos={x:M+k.x+({left:m,right:-m}[h[6]]||0),y:O+k.y-10},h.x=M,h.y=O,z(k.crop,!0)&&(D=p.getBBox().width,g=null,M-Dq-m&&(g=Math.round(M+D-q+m),K[1]=Math.max(g,K[1])),0>O-y/2?K[0]=Math.max(Math.round(-O+y/2),K[0]):O+y/2>n&&(K[2]=Math.max(Math.round(O+y/2-n),K[2])),p.sideOverflow=g)}),0===E(K)||this.verifyDataLabelOverflow(K))&&(this.placeDataLabels(), x&&v(this.points,function(a){var d;t=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible&&0z(this.translatedThreshold,l.yAxis.len)),m=z(e.inside,!!this.options.stacking);r&&(f=t(r),0>f.y&&(f.height+=f.y,f.y=0),r=f.y+f.height-l.yAxis.len,0a+c||f+nb+e||g+kthis.pointCount))},pan:function(a,b){var c=this,e=c.hoverPoints,f;e&&w(e,function(a){a.setState()});w("xy"===b?[1,0]:[1],function(b){b= c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,n=b.getExtremes(),l=b.toValue(g-e,!0)+h,k=b.toValue(g+b.len-e,!0)-h,m=k=q(t.minWidth,0)&&this.chartHeight>=q(t.minHeight,0)}).call(this)&&k.push(a._id)};G.prototype.currentOptions=function(q){function t(m,g,f,e){var c;a.objectEach(m,function(a,m){if(!e&&-1l.length||void 0===c)return a.call(this,e,c,b,g);A=l.length;for(r=0;rb;l[r]5*t||d){if(l[r]>D){for(n=a.call(this,e,l[f],l[r],g);n.length&&n[0]<=D;)n.shift();n.length&&(D=n[n.length-1]);p=p.concat(n)}f=r+1}if(d)break}a=n.info;if(u&&a.unitRange<=m.hour){r=p.length-1;for(f=1;fb?a-1:a;for(y=void 0;u--;)f=r[u],b=Math.abs(y-f),y&&b<.8*h&&(null===C||b<.8*C)?(v[p[u]]&&!v[p[u+1]]?(b=u+1,y=f):b=u,p.splice(b,1)):y=f}return p});t(E.prototype,{beforeSetTickPositions:function(){var a,e=[],c=!1,b,g=this.getExtremes(),l=g.min,k=g.max,m,t=this.isXAxis&&!!this.options.breaks,g=this.options.ordinal,u=Number.MAX_VALUE,n=this.chart.options.chart.ignoreHiddenSeries; b="highcharts-navigator-xaxis"===this.options.className;!this.options.overscroll||this.max!==this.dataMax||this.chart.mouseIsDown&&!b||this.eventArgs&&(!this.eventArgs||"navigator"===this.eventArgs.trigger)||(this.max+=this.options.overscroll,!b&&q(this.userMin)&&(this.min+=this.options.overscroll));if(g||t){w(this.series,function(b,c){if(!(n&&!1===b.visible||!1===b.takeOrdinalPosition&&!t)&&(e=e.concat(b.processedXData),a=e.length,e.sort(function(a,b){return a-b}),u=Math.min(u,z(b.closestPointRange, u)),a))for(c=a-1;c--;)e[c]===e[c+1]&&e.splice(c,1)});a=e.length;if(2b||k-e[e.length-1]>b)&&(c=!0)}else this.options.overscroll&&(2===a?u=e[1]-e[0]:1===a?(u=this.options.overscroll,e=[e[0],e[0]+u]):u=this.overscrollPointsRange);c?(this.options.overscroll&&(this.overscrollPointsRange=u,e=e.concat(this.getOverscrollPositions())),this.ordinalPositions=e,b=this.ordinal2lin(Math.max(l,e[0]),!0),m=Math.max(this.ordinal2lin(Math.min(k, e[e.length-1]),!0),1),this.ordinalSlope=k=(k-l)/(m-b),this.ordinalOffset=l-b*k):(this.overscrollPointsRange=z(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=g&&c;this.groupIntervalFactor=null},val2lin:function(a,e){var c=this.ordinalPositions;if(c){var b=c.length,f,g;for(f=b;f--;)if(c[f]===a){g=f;break}for(f=b-1;f--;)if(a>c[f]||0===f){a=(a-c[f])/(c[f+1]-c[f]);g=f+a;break}e=e?g:this.ordinalSlope*(g||0)+this.ordinalOffset}else e= a;return e},lin2val:function(a,e){var c=this.ordinalPositions;if(c){var b=this.ordinalSlope,f=this.ordinalOffset,g=c.length-1,k;if(e)0>a?a=c[0]:a>g?a=c[g]:(g=Math.floor(a),k=a-g);else for(;g--;)if(e=b*g+f,a>=e){b=b*(g+1)+f;k=(a-e)/(b-e);break}return void 0!==k&&void 0!==c[g]?c[g]+(k?k*(c[g+1]-c[g]):0):a}return a},getExtendedPositions:function(){var a=this,e=a.chart,c=a.series[0].currentDataGrouping,b=a.ordinalIndex,g=c?c.count+c.unitName:"raw",l=a.options.overscroll,k=a.getExtremes(),m,q;b||(b=a.ordinalIndex= {});b[g]||(m={series:[],chart:e,getExtremes:function(){return{min:k.dataMin,max:k.dataMax+l}},options:{ordinal:!0},val2lin:E.prototype.val2lin,ordinal2lin:E.prototype.ordinal2lin},w(a.series,function(b){q={xAxis:m,xData:b.xData.slice(),chart:e,destroyGroupedData:u};q.xData=q.xData.concat(a.getOverscrollPositions());q.options={dataGrouping:c?{enabled:!0,forced:!0,approximation:"open",units:[[c.unitName,[c.count]]]}:{enabled:!1}};b.processData.apply(q);m.series.push(q)}),a.beforeSetTickPositions.apply(m), b[g]=m.ordinalPositions);return b[g]},getOverscrollPositions:function(){var f=this.options.overscroll,e=this.overscrollPointsRange,c=[],b=this.dataMax;if(a.defined(e))for(c.push(b);b<=this.dataMax+f;)b+=e,c.push(b);return c},getGroupIntervalFactor:function(a,e,c){var b;c=c.processedXData;var f=c.length,g=[];b=this.groupIntervalFactor;if(!b){for(b=0;bk?(u=A,p=c.ordinalPositions?c:A):(u=c.ordinalPositions?c:A,p=A),A=p.ordinalPositions,q>A[A.length-1]&&A.push(q),this.fixedRange=n-t,k=c.toFixedRange(null,null,z.apply(u,[d.apply(u,[t,!0])+k,!0]),z.apply(p,[d.apply(p,[n,!0])+k,!0])),k.min>=Math.min(m.dataMin,t)&&k.max<=Math.max(q,n)+b&&c.setExtremes(k.min,k.max,!0,!1,{trigger:"pan"}),this.mouseDownX= f,v(this.container,{cursor:"move"})):g=!0}else g=!0;g&&(b&&(c.max=c.dataMax+b),a.apply(this,Array.prototype.slice.call(arguments,1)))})})(L);(function(a){function G(){return Array.prototype.slice.call(arguments,1)}function E(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,H(this.pointArrayMap,["y"]))}var H=a.pick,v=a.wrap,k=a.each,q=a.extend,w=a.isArray,t=a.fireEvent,u=a.Axis,z=a.Series;q(u.prototype,{isInBreak:function(a,g){var f=a.repeat||Infinity,e=a.from,c=a.to-a.from; g=g>=e?(g-e)%f:f-(e-g)%f;return a.inclusive?g<=c:g=a)break;else if(e.isInBreak(c,a)){b-=a-c.from;break}return b},e.lin2val=function(a){var b,c;for(c=0;c=a);c++)b.toq;)B-=m;for(;Bc.to||b>c.from&&lc.from&&lc.from&&l>c.to&&lk&&(c=(g[f].x+g[f+1].x)/2,g.splice(f+1,0,{isNull:!0,x:c}),this.options.stacking&&(c=e.stacks[this.stackKey][c]=new a.StackItem(e,e.options.stackLabels,!1,c,this.stack),c.total=0));return this.getGraphPath(g)};v(a.seriesTypes.column.prototype,"drawPoints",E);v(a.Series.prototype,"drawPoints",E)})(L);(function(a){var G=a.arrayMax,E=a.arrayMin,H=a.Axis,v=a.defaultPlotOptions, k=a.defined,q=a.each,w=a.extend,t=a.format,u=a.isNumber,z=a.merge,m=a.pick,g=a.Point,f=a.Tooltip,e=a.wrap,c=a.Series.prototype,b=c.processData,r=c.generatePoints,l={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y", "%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},C={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},I=a.defaultDataGroupingUnits=[["millisecond", [1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],x=a.approximations={sum:function(a){var b=a.length,c;if(!b&&a.hasNulls)c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var b=a.length;a=x.sum(a);u(a)&&b&&(a/=b);return a},averages:function(){var a=[];q(arguments,function(b){a.push(x.average(b))});return void 0===a[0]?void 0:a},open:function(a){return a.length? a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?G(a):a.hasNulls?null:void 0},low:function(a){return a.length?E(a):a.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=x.open(a);b=x.high(b);c=x.low(c);e=x.close(e);if(u(a)||u(b)||u(c)||u(e))return[a,b,c,e]},range:function(a,b){a=x.low(a);b=x.high(b);if(u(a)||u(b))return[a,b];if(null===a&&null===b)return null}};c.groupData=function(a,b,c,e){var f=this.data,d=this.options.data, g=[],n=[],h=[],k=a.length,m,r,t=!!b,v=[];e="function"===typeof e?e:x[e]||C[this.type]&&x[C[this.type].approximation]||x[l.approximation];var B=this.pointArrayMap,w=B&&B.length,z=0;r=0;var F,J;w?q(B,function(){v.push([])}):v.push([]);F=w||1;for(J=0;J<=k&&!(a[J]>=c[0]);J++);for(J;J<=k;J++){for(;void 0!==c[z+1]&&a[J]>=c[z+1]||J===k;){m=c[z];this.dataGroupInfo={start:r,length:v[0].length};r=e.apply(this,v);void 0!==r&&(g.push(m),n.push(r),h.push(this.dataGroupInfo));r=J;for(m=0;mthis.chart.plotSizeX/e||b&&d.forced)&&(f=!0);return f?e:0};H.prototype.setDataGrouping=function(a,b){var c;b=m(b,!0);a||(a={forced:!1,units:null});if(this instanceof H)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else q(this.chart.options.series,function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(L);(function(a){var G=a.each,E=a.Point, H=a.seriesType,v=a.seriesTypes;H("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:"close", pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,q){q=v.column.prototype.pointAttribs.call(this,a,q);var k=this.options;delete q.fill;!a.options.color&&k.upColor&&a.openw)););G(q,function(a,g){var l;void 0===a.plotY&&(a.x>=c.min&&a.x<=c.max?a.plotY=k.chartHeight-f.bottom-(f.opposite?f.height:0)+f.offset-e.top:a.shapeArgs={});a.plotX+=b; (u=q[g-1])&&u.plotX===a.plotX&&(void 0===u.stackIndex&&(u.stackIndex=0),l=u.stackIndex+1);a.stackIndex=l})}}}(L);(function(a,G){function E(a){m[a+"pin"]=function(f,e,c,b,g){var l=g&&g.anchorX;g=g&&g.anchorY;"circle"===a&&b>c&&(f-=Math.round((b-c)/2),c=b);f=m[a](f,e,c,b);l&&g&&(f.push("M","circle"===a?f[1]-f[4]:f[1]+f[4]/2,e>g?e:e+b,"L",l,g),f=f.concat(m.circle(l-1,g-1,2,2)));return f}}var H=a.addEvent,v=a.each,k=a.merge,q=a.noop,w=a.Renderer,t=a.seriesType,u=a.TrackerMixin,z=a.VMLRenderer,m=a.SVGRenderer.prototype.symbols; t("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,pointAttribs:function(a,f){var e=this.options,c=a&&a.color||this.color, b=e.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||e.fillColor;f&&(a=e.states[f].fillColor,b=e.states[f].lineColor,g=e.states[f].lineWidth);return{fill:a||c,stroke:b||c,"stroke-width":g||e.lineWidth||0}},translate:G.translate,drawPoints:function(){var g=this.points,f=this.chart,e=f.renderer,c,b,m=this.options,l=m.y,q,t,u,w,n,B,z=this.yAxis,A={},d=[];for(t=g.length;t--;)u=g[t],B=u.plotX>this.xAxis.len,c=u.plotX,w=u.stackIndex,q=u.options.shape||m.shape,b=u.plotY,void 0!==b&&(b=u.plotY+l-(void 0!==w&& w*m.stackDistance)),u.anchorX=w?void 0:u.plotX,n=w?void 0:u.plotY,w=u.graphic,void 0!==b&&0<=c&&!B?(w||(w=u.graphic=e.label("",null,null,q,null,null,m.useHTML).attr(this.pointAttribs(u)).css(k(m.style,u.style)).attr({align:"flag"===q?"left":"center",width:m.width,height:m.height,"text-align":m.textAlign}).addClass("highcharts-point").add(this.markerGroup),u.graphic.div&&(u.graphic.div.point=u),w.shadow(m.shadow),w.isNew=!0),0=k?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===c.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var c=a.chart.pointer.normalize(b),e=a.options.vertical?"chartY":"chartX",f=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][e]|| (c=a.cursorToScrollbarPosition(c)[e],e=a[e],e=c-e,a.hasDragged=!0,a.updatePosition(f[0]+e,f[1]+e),a.hasDragged&&u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY; a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var c=v(a.to-a.from)*a.options.step;a.updatePosition(v(a.from-c),v(a.to-c));u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),e=a.to-a.from,f=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft; a.options.vertical&&c.chartY>f||!a.options.vertical&&c.chartX>g?a.updatePosition(a.from+e,a.to+e):a.updatePosition(a.from-e,a.to-e);u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1a&&(b=v(b-a),a=0); this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,g(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,c=this.scrollbarGroup.element,e=this.mouseDownHandler,f=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[c,"mousedown",e],[c.ownerDocument,"mousemove",f],[c.ownerDocument, "mouseup",g]];z&&a.push([c,"touchstart",e],[c.ownerDocument,"touchmove",f],[c.ownerDocument,"touchend",g]);t(a,function(a){E.apply(null,a)});this._events=a},removeEvents:function(){t(this._events,function(a){e.apply(null,a)});this._events.length=0},destroy:function(){var a=this.chart.scroller;this.removeEvents();t(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,w(a.scrollbarButtons))}}; c(H.prototype,"init",function(a){var b=this;a.apply(b,Array.prototype.slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new G(b.chart.renderer,b.options.scrollbar,b.chart),E(b.scrollbar,"changed",function(a){var c=Math.min(f(b.options.min,b.min),b.min,b.dataMin),e=Math.max(f(b.options.max,b.max),b.max,b.dataMax)-c,g;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(g=c+e*this.to,c+=e* this.from):(g=c+e*(1-this.from),c+=e*(1-this.to));b.setExtremes(c,g,!0,!1,a)}))});c(H.prototype,"render",function(a){var b=Math.min(f(this.options.min,this.min),this.min,f(this.dataMin,this.min)),c=Math.max(f(this.options.max,this.max),this.max,f(this.dataMax,this.max)),e=this.scrollbar,g=this.titleOffset||0;a.apply(this,Array.prototype.slice.call(arguments,1));if(e){this.horiz?(e.position(this.left,this.top+this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:g+this.axisTitleMargin+this.offset), this.width,this.height),g=1):(e.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?g+this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),g=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[g]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(b)||isNaN(c)||!q(this.min)||!q(this.max)?e.setRange(0,0):(g=(this.min-b)/(c-b),b=(this.max-b)/(c-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(g, b):e.setRange(1-b,1-g))}});c(H.prototype,"getOffset",function(a){var b=this.horiz?2:1,c=this.scrollbar;a.apply(this,Array.prototype.slice.call(arguments,1));c&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[b]+=c.size+c.options.margin)});c(H.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,Array.prototype.slice.call(arguments,1))});a.Scrollbar=G})(L);(function(a){function G(a){this.init(a)}var E=a.addEvent,H=a.Axis,v=a.Chart,k=a.color, q=a.defaultOptions,w=a.defined,t=a.destroyObjectProperties,u=a.each,z=a.erase,m=a.error,g=a.extend,f=a.grep,e=a.hasTouch,c=a.isArray,b=a.isNumber,r=a.isObject,l=a.merge,C=a.pick,I=a.removeEvent,x=a.Scrollbar,F=a.Series,n=a.seriesTypes,B=a.wrap,J=[].concat(a.defaultDataGroupingUnits),A=function(a){var d=f(arguments,b);if(d.length)return Math[a].apply(0,d)};J[4]=["day",[1,2,3,4]];J[5]=["week",[1,2,3]];n=void 0===n.areaspline?"line":"areaspline";g(q,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7, height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:k("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:n,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:J},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0, threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});a.Renderer.prototype.symbols["navigator-handle"]=function(a,b,c,e,f){a=f.width/ 2;b=Math.round(a/3)+.5;f=f.height;return["M",-a-1,.5,"L",a,.5,"L",a,f+.5,"L",-a-1,f+.5,"L",-a-1,.5,"M",-b,4,"L",-b,f-3,"M",b-1,4,"L",b-1,f-3]};G.prototype={drawHandle:function(a,b,c,e){var d=this.navigatorOptions.handles.height;this.handles[b][e](c?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(a,10)+.5-d)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-d/2-1)})},drawOutline:function(a,b,c,e){var d=this.navigatorOptions.maskInside, h=this.outline.strokeWidth(),f=h/2,h=h%2/2,g=this.outlineHeight,p=this.scrollbarHeight,k=this.size,n=this.left-p,l=this.top;c?(n-=f,c=l+b+h,b=l+a+h,a=["M",n+g,l-p-h,"L",n+g,c,"L",n,c,"L",n,b,"L",n+g,b,"L",n+g,l+k+p].concat(d?["M",n+g,c-f,"L",n+g,b+f]:[])):(a+=n+p-h,b+=n+p-h,l+=f,a=["M",n,l,"L",a,l,"L",a,l+g,"L",b,l+g,"L",b,l,"L",n+k+2*p,l].concat(d?["M",a-f,l,"L",b+f,l]:[]));this.outline[e]({d:a})},drawMasks:function(a,b,c,e){var d=this.left,h=this.top,f=this.height,g,p,n,k;c?(n=[d,d,d],k=[h,h+a, h+b],p=[f,f,f],g=[a,b-a,this.size-b]):(n=[d,d+a,d+b],k=[h,h,h],p=[a,b-a,this.size-b],g=[f,f,f]);u(this.shades,function(a,b){a[e]({x:n[b],y:k[b],width:p[b],height:g[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,e=a.chart,f=e.inverted,g=e.renderer,n;a.navigatorGroup=n=g.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();var k={cursor:f?"ns-resize":"ew-resize"};u([!c,c,!c],function(d,c){a.shades[c]=g.rect().addClass("highcharts-navigator-mask"+(1===c?"-inside": "-outside")).attr({fill:d?b.maskFill:"rgba(0,0,0,0)"}).css(1===c&&k).add(n)});a.outline=g.path().addClass("highcharts-navigator-outline").attr({"stroke-width":b.outlineWidth,stroke:b.outlineColor}).add(n);b.handles.enabled&&u([0,1],function(d){b.handles.inverted=e.inverted;a.handles[d]=g.symbol(b.handles.symbols[d],-b.handles.width/2-1,0,b.handles.width,b.handles.height,b.handles);a.handles[d].attr({zIndex:7-d}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][d]).add(n); var c=b.handles;a.handles[d].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.lineWidth}).css(k)})},update:function(a){u(this.series||[],function(a){a.baseSeries&&delete a.baseSeries.navigatorSeries});this.destroy();l(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(d,c,e,h){var f=this.chart,g,p,n=this.scrollbarHeight,k,l=this.xAxis;g=l.fake?f.xAxis[0]:l;var m=this.navigatorEnabled,q,r=this.rendered;p=f.inverted;var t,u=f.xAxis[0].minRange,v= f.xAxis[0].options.maxRange;if(!this.hasDragged||w(e)){if(!b(d)||!b(c))if(r)e=0,h=C(l.width,g.width);else return;this.left=C(l.left,f.plotLeft+n+(p?f.plotWidth:0));this.size=q=k=C(l.len,(p?f.plotHeight:f.plotWidth)-2*n);f=p?n:k+2*n;e=C(e,l.toPixels(d,!0));h=C(h,l.toPixels(c,!0));b(e)&&Infinity!==Math.abs(e)||(e=0,h=f);d=l.toValue(e,!0);c=l.toValue(h,!0);t=Math.abs(a.correctFloat(c-d));tv&&(this.grabbedLeft? e=l.toPixels(c-v,!0):this.grabbedRight&&(h=l.toPixels(d+v,!0)));this.zoomedMax=Math.min(Math.max(e,h,0),q);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(e,h),0),q);this.range=this.zoomedMax-this.zoomedMin;q=Math.round(this.zoomedMax);e=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"visible"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(e,q,p,r),this.drawOutline(e,q,p,r),this.navigatorOptions.handles.enabled&&(this.drawHandle(e, 0,p,r),this.drawHandle(q,1,p,r)));this.scrollbar&&(p?(p=this.top-n,g=this.left-n+(m||!g.opposite?0:(g.titleOffset||0)+g.axisTitleMargin),n=k+2*n):(p=this.top+(m?this.height:-n),g=this.left-n),this.scrollbar.position(g,p,f,n),this.scrollbar.setRange(this.zoomedMin/k,this.zoomedMax/k));this.rendered=!0}},addMouseEvents:function(){var a=this,b=a.chart,c=b.container,h=[],f,g;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=g=function(b){a.onMouseUp(b)};h=a.getPartsEvents("mousedown"); h.push(E(c,"mousemove",f),E(c.ownerDocument,"mouseup",g));e&&(h.push(E(c,"touchmove",f),E(c.ownerDocument,"touchend",g)),h.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=h;a.series&&a.series[0]&&h.push(E(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,d=[];u(["shades","handles"],function(c){u(b[c],function(e,h){d.push(E(e.element,a,function(a){b[c+"Mousedown"](a,h)}))})});return d},shadesMousedown:function(a, b){a=this.chart.pointer.normalize(a);var d=this.chart,c=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,p=this.range,n=a.chartX,k;d.inverted&&(n=a.chartY,f=this.top);1===b?(this.grabbedCenter=n,this.fixedWidth=p,this.dragOffset=n-e):(a=n-f-p/2,0===b?a=Math.max(0,a):2===b&&a+p>=g&&(a=g-p,k=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=p,b=c.toFixedRange(a,a+p,null,k),w(b.min)&&d.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a, b){this.chart.pointer.normalize(a);a=this.chart;var d=a.xAxis[0],c=a.inverted&&!d.reversed||!a.inverted&&d.reversed;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=c?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=c?d.max:d.min);a.fixedRange=null},onMouseMove:function(a){var b=this,d=b.chart,c=b.left,e=b.navigatorSize,f=b.range,g=b.dragOffset,n=d.inverted;a.touches&&0===a.touches[0].pageX||(a=d.pointer.normalize(a),d=a.chartX, n&&(c=b.top,d=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,d-c,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,d-c)):b.grabbedCenter&&(b.hasDragged=!0,de+g-f&&(d=e+g-f),b.render(0,0,d-g,d-g+f)),b.hasDragged&&b.scrollbar&&b.scrollbar.options.liveRedraw&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,d=this.xAxis,c=this.scrollbar,e,f,g=a.DOMEvent||a;(!this.hasDragged||c&&c.hasDragged)&&"scrollbar"!== a.trigger||(this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.getUnionExtremes().dataMax),d=d.toFixedRange(this.zoomedMin,this.zoomedMax,e,f),w(d.min)&&b.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:g}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth= this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(u(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&u(a,function(a){I(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&I(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b= a.options,d=b.navigator,c=d.enabled,e=b.scrollbar,f=e.enabled,b=c?d.height:0,g=f?e.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=g;this.scrollbarEnabled=f;this.navigatorEnabled=c;this.navigatorOptions=d;this.scrollbarOptions=e;this.outlineHeight=b+g;this.opposite=C(d.opposite,!c&&a.inverted);var n=this,e=n.baseSeries,f=a.xAxis.length,k=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraMargin={type:n.opposite?"plotTop":"marginBottom", value:(c||!a.inverted?n.outlineHeight:0)+d.margin};a.inverted&&(a.extraMargin.type=n.opposite?"marginRight":"plotLeft");a.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new H(a,l({breaks:m.options.breaks,ordinal:m.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[g,0,-g,0],width:b}:{offsets:[0,-g,0,g],height:b})),n.yAxis=new H(a, l(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:k,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),e||d.series.data?n.updateNavigatorSeries():0===a.series.length&&B(a,"redraw",function(b,d){0a.inArray(c,f)?(c&&(I(c,"updatedData",d.updatedDataHandler),delete c.navigatorSeries), b.destroy(),!1):!0});f&&f.length&&u(f,function(a){var h=a.navigatorSeries,p=g({color:a.color},c(m)?q.navigator.series:m);h&&!1===d.navigatorOptions.adaptToUpdatedData||(t.name="Navigator "+f.length,n=a.options||{},r=n.navigatorOptions||{},k=l(n,t,p,r),p=r.data||p.data,d.hasNavigatorData=d.hasNavigatorData||!!p,k.data=p||n.data&&n.data.slice(0),h&&h.options?h.update(k,b):(a.navigatorSeries=e.initSeries(k),a.navigatorSeries.baseSeries=a,v.push(a.navigatorSeries)))});if(m.data&&(!f||!f.length)||c(m))d.hasNavigatorData= !1,m=a.splat(m),u(m,function(a,b){t.name="Navigator "+(v.length+1);k=l(q.navigator.series,{color:e.series[b]&&!e.series[b].options.isInternal&&e.series[b].color||e.options.colors[b]||e.options.colors[0]},t,a);k.data=a.data;k.data&&(d.hasNavigatorData=!0,v.push(e.initSeries(k)))});this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&E(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);u(b,function(b){E(b,"show",function(){this.navigatorSeries&& this.navigatorSeries.setVisible(!0,!1)});E(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&E(b,"updatedData",this.updatedDataHandler);E(b,"remove",function(){this.navigatorSeries&&(z(a.series,this.navigatorSeries),this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&& b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,c=this.getExtremes(),e=c.dataMin,f=c.dataMax,c=c.max-c.min,g=a.stickToMin,n=a.stickToMax,k=this.options.overscroll,l,m,q=a.series&&a.series[0],r=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(m=e,l=m+c),n&&(l=f+k,g||(m=Math.max(l-c,q&&q.xData?q.xData[0]:-Number.MAX_VALUE))),r&&(g||n)&&b(m)&&(this.min=this.userMin=m,this.max=this.userMax=l));a.stickToMin= a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,c=this.navigatorSeries;a.stickToMax=Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=b(this.xAxis.min)&&this.xAxis.min<=this.xData[0]&&(!this.chart.fixedRange||!a.stickToMax);c&&!a.hasNavigatorData&&(c.options.pointStart=this.xData[0],c.setData(this.options.data,!1,null,!1))},addChartEvents:function(){E(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis|| a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)})},destroy:function(){this.removeEvents();this.xAxis&&(z(this.chart.xAxis,this.xAxis),z(this.chart.axes,this.xAxis));this.yAxis&&(z(this.chart.yAxis,this.yAxis),z(this.chart.axes,this.yAxis));u(this.series||[],function(a){a.destroy&&a.destroy()});u("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this); u([this.handles],function(a){t(a)},this)}};a.Navigator=G;B(H.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,n;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?n=!1:"xy"===f&&this.options.range&&(d=this.previousZoom,w(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!==n?n:a.call(this,b,c)});B(v.prototype,"init",function(a,b,c){E(this,"beforeRender", function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new G(this)});a.call(this,b,c)});B(v.prototype,"setChartSize",function(a){var b=this.legend,c=this.navigator,d,e,f,g;a.apply(this,[].slice.call(arguments,1));c&&(e=b&&b.options,f=c.xAxis,g=c.yAxis,d=c.scrollbarHeight,this.inverted?(c.left=c.opposite?this.chartWidth-d-c.height:this.spacing[3]+d,c.top=this.plotTop+d):(c.left=this.plotLeft+d,c.top=c.navigatorOptions.top||this.chartHeight-c.height-d- this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&e.enabled&&!e.floating?b.legendHeight+C(e.margin,10):0)),f&&g&&(this.inverted?f.options.left=g.options.left=c.left:f.options.top=g.options.top=c.top,f.setAxisSize(),g.setAxisSize()))});B(F.prototype,"addPoint",function(a,b,c,e,f){var d=this.options.turboThreshold;d&&this.xData.length>d&&r(b,!0)&&this.chart.navigator&&m(20,!0);a.call(this,b,c,e,f)});B(v.prototype,"addSeries", function(a,b,c,e){a=a.call(this,b,!1,e);this.navigator&&this.navigator.setBaseSeries(null,!1);C(c,!0)&&this.redraw();return a});B(F.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1);C(c,!0)&&this.chart.redraw()});v.prototype.callbacks.push(function(a){var b=a.navigator;b&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(L);(function(a){function G(a){this.init(a)}var E=a.addEvent,H=a.Axis,v=a.Chart, k=a.css,q=a.createElement,w=a.dateFormat,t=a.defaultOptions,u=t.global.useUTC,z=a.defined,m=a.destroyObjectProperties,g=a.discardElement,f=a.each,e=a.extend,c=a.fireEvent,b=a.Date,r=a.isNumber,l=a.merge,C=a.pick,I=a.pInt,x=a.splat,F=a.wrap;e(t,{rangeSelector:{verticalAlign:"top",buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});t.lang=l(t.lang, {rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});G.prototype={clickButton:function(a,b){var c=this,e=c.chart,d=c.buttonOptions[a],g=e.xAxis[0],n=e.scroller&&e.scroller.getUnionExtremes()||g||{},h=n.dataMin,k=n.dataMax,l,m=g&&Math.round(Math.min(g.max,C(k,g.max))),q=d.type,t,n=d._range,v,w,B,z=d.dataGrouping;if(null!==h&&null!==k){e.fixedRange=n;z&&(this.forcedDataGrouping=!0,H.prototype.setDataGrouping.call(g||{chart:this.chart},z,!1));if("month"===q||"year"===q)g?(q={range:d, max:m,dataMin:h,dataMax:k},l=g.minFromRange.call(q),r(q.newMax)&&(m=q.newMax)):n=d;else if(n)l=Math.max(m-n,h),m=Math.min(l+n,k);else if("ytd"===q)if(g)void 0===k&&(h=Number.MAX_VALUE,k=Number.MIN_VALUE,f(e.series,function(a){a=a.xData;h=Math.min(a[0],h);k=Math.max(a[a.length-1],k)}),b=!1),m=c.getYTDExtremes(k,h,u),l=v=m.min,m=m.max;else{E(e,"beforeRender",function(){c.clickButton(a)});return}else"all"===q&&g&&(l=h,m=k);l+=d._offsetMin;m+=d._offsetMax;c.setSelected(a);g?g.setExtremes(l,m,C(b,1),null, {trigger:"rangeSelectorButton",rangeSelectorButton:d}):(t=x(e.options.xAxis)[0],B=t.range,t.range=n,w=t.min,t.min=v,E(e,"load",function(){t.range=B;t.min=w}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,e=a.options.rangeSelector,g=e.buttons||[].concat(b.defaultButtons), d=e.selected,n=function(){var a=b.minInput,d=b.maxInput;a&&a.blur&&c(a,"blur");d&&d.blur&&c(d,"blur")};b.chart=a;b.options=e;b.buttons=[];a.extraTopMargin=e.height;b.buttonOptions=g;this.unMouseDown=E(a.container,"mousedown",n);this.unResize=E(a,"resize",n);f(g,b.computeButtonRange);void 0!==d&&g[d]&&this.clickButton(d,!1);E(a,"load",function(){a.xAxis&&a.xAxis[0]&&E(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&& b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],c=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,d=a.dataMin,g=a.dataMax,a=this.getYTDExtremes(g,d,u),k=a.min,h=a.max,l=this.selected,m=r(l),q=this.options.allButtonsEnabled,t=this.buttons;f(this.buttonOptions,function(a,f){var n=a._range,p=a.type,r=a.count||1,u=t[f],v=0;a=a._offsetMax-a._offsetMin;f=f===l;var y=n>g-d,A=n=864E5*{month:28,year:365}[p]*r+a&&c-36E5<=864E5*{month:31,year:366}[p]*r+a?n=!0:"ytd"===p?(n=h-k+a===c,w=!f):"all"===p&&(n=b.max-b.min>=g-d,x=!f&&m&&n);p=!q&&(y||A||x||e);r=f&&n||n&&!m&&!w;p?v=3:r&&(m=!0,v=2);u.state!==v&&u.setState(v)})},computeButtonRange:function(a){var b=a.type,c=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]* c;a._offsetMin=C(a.offsetMin,0);a._offsetMax=C(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,e=this[a+"Input"];z(b)&&(e.previousValue=e.HCTime,e.HCTime=b);e.value=w(c.inputEditDateFormat||"%Y-%m-%d",e.HCTime);this[a+"DateBox"].attr({text:w(c.inputDateFormat||"%b %e, %Y",e.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];k(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width- 2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){k(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=v.value,b=(n.inputDateParser||Date.parse)(a),d=f.xAxis[0],e=f.scroller&&f.scroller.xAxis?f.scroller.xAxis:d,g=e.dataMin,e=e.dataMax;b!==v.previousValue&&(v.previousValue=b,r(b)||(b=a.split("-"),b=Date.UTC(I(b[0]),I(b[1])-1,I(b[2]))),r(b)&&(u||(b+=6E4*(new Date).getTimezoneOffset()),m?b>c.maxInput.HCTime? b=void 0:be&&(b=e),void 0!==b&&d.setExtremes(m?b:d.min,m?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var c=this,f=c.chart,d=f.renderer.style||{},g=f.renderer,n=f.options.rangeSelector,h=c.div,m="min"===a,v,w,x=this.inputGroup;this[a+"Label"]=w=g.label(t.lang[m?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(x);x.offset+=w.width+5;this[a+"DateBox"]=g=g.label("",x.offset).addClass("highcharts-range-input").attr({padding:2, width:n.inputBoxWidth||90,height:n.inputBoxHeight||17,stroke:n.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",function(){c.showInput(a);c[a+"Input"].focus()}).add(x);x.offset+=g.width+(m?10:0);this[a+"Input"]=v=q("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:f.plotTop+"px"},h);w.css(l(d,n.labelStyle));g.css(l({color:"#333333"},d,n.inputStyle));k(v,e({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:d.fontSize, fontFamily:d.fontFamily,top:"-9999em"},n.inputStyle));v.onfocus=function(){c.showInput(a)};v.onblur=function(){c.hideInput(a)};v.onchange=b;v.onkeypress=function(a){13===a.keyCode&&b()}},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}},getYTDExtremes:function(a,c,e){var f=new b(a),d=f[b.hcGetFullYear]();e=e?b.UTC(d,0,1):+new b(d,0,1);c=Math.max(c||0,e);f=f.getTime(); return{max:Math.min(a||f,f),min:c}},render:function(a,b){var c=this,e=c.chart,d=e.renderer,g=e.container,k=e.options,h=k.exporting&&!1!==k.exporting.enabled&&k.navigation&&k.navigation.buttonOptions,n=t.lang,l=c.div,m=k.rangeSelector,k=m.floating,r=c.buttons,l=c.inputGroup,u=m.buttonTheme,v=m.buttonPosition,w=m.inputPosition,x=m.inputEnabled,z=u&&u.states,B=e.plotLeft,E,F=c.buttonGroup,G;G=c.rendered;var H=c.options.verticalAlign,I=e.legend,L=I&&I.options,Y=v.y,X=w.y,Q=G||!1,T=0,U=0,V;if(!1!==m.enabled){G|| (c.group=G=d.g("range-selector-group").attr({zIndex:7}).add(),c.buttonGroup=F=d.g("range-selector-buttons").add(G),c.zoomText=d.text(n.rangeSelectorZoom,C(B+v.x,B),15).css(m.labelStyle).add(F),E=C(B+v.x,B)+c.zoomText.getBBox().width+5,f(c.buttonOptions,function(a,b){r[b]=d.button(a.text,E,0,function(){var d=a.events&&a.events.click,e;d&&(e=d.call(a));!1!==e&&c.clickButton(b);c.isActive=!0},u,z&&z.hover,z&&z.select,z&&z.disabled).attr({"text-align":"center"}).add(F);E+=r[b].width+C(m.buttonSpacing, 5)}),!1!==x&&(c.div=l=q("div",null,{position:"relative",height:0,zIndex:1}),g.parentNode.insertBefore(l,g),c.inputGroup=l=d.g("input-group").add(G),l.offset=0,c.drawInput("min"),c.drawInput("max")));B=e.plotLeft-e.spacing[3];c.updateButtonStates();h&&this.titleCollision(e)&&"top"===H&&"right"===v.align&&v.y+F.getBBox().height-12<(h.y||0)+h.height&&(T=-40);"left"===v.align?V=v.x-e.spacing[3]:"right"===v.align&&(V=v.x+T-e.spacing[1]);F.align({y:v.y,width:F.getBBox().width,align:v.align,x:V},!0,e.spacingBox); c.group.placed=Q;c.buttonGroup.placed=Q;!1!==x&&(T=h&&this.titleCollision(e)&&"top"===H&&"right"===w.align&&w.y-l.getBBox().height-12<(h.y||0)+h.height+e.spacing[0]?-40:0,"left"===w.align?V=B:"right"===w.align&&(V=-Math.max(e.axisOffset[1],-T)),l.align({y:w.y,width:l.getBBox().width,align:w.align,x:w.x+V-2},!0,e.spacingBox),g=l.alignAttr.translateX+l.alignOptions.x-T+l.getBBox().x+2,h=l.alignOptions.width,n=F.alignAttr.translateX+F.getBBox().x,V=F.getBBox().width+20,(w.align===v.align||n+V>g&&g+h> n&&Y=-T?0:-T),translateY:l.alignAttr.translateY+F.getBBox().height+10}),c.setInputValue("min",a),c.setInputValue("max",b),c.inputGroup.placed=Q);c.group.align({verticalAlign:H},!0,e.spacingBox);a=c.group.getBBox().height+20;b=c.group.alignAttr.translateY;"bottom"===H&&(I=L&&"bottom"===L.verticalAlign&&L.enabled&&!L.floating?I.legendHeight+C(L.margin,10):0,a=a+I-20,U=b-a-(k?0:m.y)-10);if("top"===H)k&&(U=0),e.titleOffset&& (U=e.titleOffset+e.options.title.margin),U+=e.margin[0]-e.spacing[0]||0;else if("middle"===H)if(X===Y)U=0>X?b+void 0:b;else if(X||Y)U=0>X||0>Y?U-Math.min(X,Y):b-a+NaN;c.group.translate(m.x,m.y+Math.floor(U));!1!==x&&(c.minInput.style.marginTop=c.group.translateY+"px",c.maxInput.style.marginTop=c.group.translateY+"px");c.rendered=!0}},getHeight:function(){var a=this.options,b=this.group,c=a.y,e=a.buttonPosition.y,a=a.inputPosition.y,b=b?b.getBBox(!0).height+13+c:0,c=Math.min(a,e);if(0>a&&0>e||0c&&(e?a=b-d:b=a+d);r(a)&&r(b)||(a=b=void 0);return{min:a,max:b}};H.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],c,e=this.max,d,f,g=function(a,c){var d=new Date(a),e=d["get"+b]();d["set"+b](e+c);e===d["get"+b]()&&d.setDate(0);return d.getTime()- a};r(a)?(c=e-a,f=a):(c=e+g(e,-a.count),this.chart&&(this.chart.fixedRange=e-c));d=C(this.dataMin,Number.MIN_VALUE);r(c)||(c=d);c<=d&&(c=d,void 0===f&&(f=g(c,a.count)),this.newMax=Math.min(c+f,this.dataMax));r(e)||(c=void 0);return c};F(v.prototype,"init",function(a,b,c){E(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new G(this))});a.call(this,b,c)});F(v.prototype,"render",function(a,b,c){var e=this.axes,d=this.rangeSelector;d&&(f(e,function(a){a.updateNames();a.setScale()}), this.getAxisMargins(),d.render(),e=d.options.verticalAlign,d.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0)));a.call(this,b,c)});F(v.prototype,"update",function(b,c,e,f){var d=this.rangeSelector,g;this.extraTopMargin=this.extraBottomMargin=!1;d&&(d.render(),g=c.rangeSelector&&c.rangeSelector.verticalAlign||d.options&&d.options.verticalAlign,d.options.floating||("bottom"===g?this.extraBottomMargin=!0:"middle"!==g&&(this.extraTopMargin=!0)));b.call(this, a.merge(!0,c,{chart:{marginBottom:C(c.chart&&c.chart.marginBottom,this.margin.bottom),spacingBottom:C(c.chart&&c.chart.spacingBottom,this.spacing.bottom)}}),e,f)});F(v.prototype,"redraw",function(a,b,c){var e=this.rangeSelector;e&&!e.options.floating&&(e.render(),e=e.options.verticalAlign,"bottom"===e?this.extraBottomMargin=!0:"middle"!==e&&(this.extraTopMargin=!0));a.call(this,b,c)});v.prototype.adjustPlotArea=function(){var a=this.rangeSelector;this.rangeSelector&&(a=a.getHeight(),this.extraTopMargin&& (this.plotTop+=a),this.extraBottomMargin&&(this.marginBottom+=a))};v.prototype.callbacks.push(function(a){function b(){c=a.xAxis[0].getExtremes();r(c.min)&&e.render(c.min,c.max)}var c,e=a.rangeSelector,d,f;e&&(f=E(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),d=E(a,"redraw",b),b());E(a,"destroy",function(){e&&(d(),f())})});a.RangeSelector=G})(L);(function(a){var G=a.arrayMax,E=a.arrayMin,H=a.Axis,v=a.Chart,k=a.defined,q=a.each,w=a.extend,t=a.format,u=a.grep,z=a.inArray,m=a.isNumber, g=a.isString,f=a.map,e=a.merge,c=a.pick,b=a.Point,r=a.Renderer,l=a.Series,C=a.splat,I=a.SVGRenderer,x=a.VMLRenderer,F=a.wrap,n=l.prototype,B=n.init,J=n.processData,A=b.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,k,l){var d=g(b)||b.nodeName,m=arguments[d?1:0],p=m.series,n=a.getOptions(),q,r=c(m.navigator&&m.navigator.enabled,n.navigator.enabled,!0),t=r?{startOnTick:!1,endOnTick:!1}:null,u={marker:{enabled:!1,radius:2}},w={shadow:!1,borderWidth:0};m.xAxis=f(C(m.xAxis||{}),function(a){return e({minPadding:0, maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,a,{type:"datetime",categories:null},t)});m.yAxis=f(C(m.yAxis||{}),function(a){q=c(a.opposite,!0);return e({labels:{y:-2},opposite:q,showLastLabel:!1,title:{text:null}},n.yAxis,a)});m.series=null;m=e({chart:{panning:!0,pinchType:"x"},navigator:{enabled:r},scrollbar:{enabled:c(n.scrollbar.enabled,!0)},rangeSelector:{enabled:c(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:c(n.tooltip.split, !0),crosshairs:!0},legend:{enabled:!1},plotOptions:{line:u,spline:u,area:u,areaspline:u,arearange:u,areasplinerange:u,column:w,columnrange:w,candlestick:w,ohlc:w}},m,{isStock:!0});m.series=p;return d?new v(b,m,l):new v(m,k)};F(H.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"), b[c]=this,"right"):a.apply(this,[].slice.call(arguments,1))});F(H.prototype,"destroy",function(a){var b=this.chart,c=this.options&&this.options.top+","+this.options.height;c&&b._labelPanes&&b._labelPanes[c]===this&&delete b._labelPanes[c];return a.apply(this,Array.prototype.slice.call(arguments,1))});F(H.prototype,"getPlotLinePath",function(b,e,l,h,n,r){var d=this,p=this.isLinked&&!this.series?this.linkedParent.series:this.series,t=d.chart,u=t.renderer,v=d.left,w=d.top,y,x,A,B,D=[],C=[],E,F;if("xAxis"!== d.coll&&"yAxis"!==d.coll)return b.apply(this,[].slice.call(arguments,1));C=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=d.options[b];return m(a)?[t[b][a]]:g(a)?[t.get(a)]:f(p,function(a){return a[b]})}(d.coll);q(d.isXAxis?t.yAxis:t.xAxis,function(a){if(k(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=k(a.options[b])?t[b][a.options[b]]:t[b][0];d===b&&C.push(a)}});E=C.length?[]:[d.isXAxis?t.yAxis[0]:t.xAxis[0]];q(C,function(b){-1!==z(b,E)||a.find(E,function(a){return a.pos=== b.pos&&a.len&&b.len})||E.push(b)});F=c(r,d.translate(e,null,null,h));m(F)&&(d.horiz?q(E,function(a){var b;x=a.pos;B=x+a.len;y=A=Math.round(F+d.transB);if(yv+d.width)n?y=A=Math.min(Math.max(v,y),v+d.width):b=!0;b||D.push("M",y,x,"L",A,B)}):q(E,function(a){var b;y=a.pos;A=y+a.len;x=B=Math.round(w+d.height-F);if(xw+d.height)n?x=B=Math.min(Math.max(w,x),d.top+d.height):b=!0;b||D.push("M",y,x,"L",A,B)}));return 0=f&&(x=-(n.translateX+b.width-f));n.attr({x:p+x,y:m,anchorX:l?p:this.opposite?0:a.chartWidth,anchorY:l?this.opposite?a.chartHeight:0:m+b.height/2})}}); n.init=function(){B.apply(this,arguments);this.setCompare(this.options.compare)};n.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};n.processData=function(){var a,b=-1,c,e,f=!0===this.options.compareStart?0:1,g,k;J.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c= this.processedXData,e=this.processedYData,g=e.length,this.pointArrayMap&&(b=z("close",this.pointArrayMap),-1===b&&(b=z(this.pointValKey||"y",this.pointArrayMap))),a=0;a=this.xAxis.min&&0!==k){this.compareValue=k;break}};F(n,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=E(b),this.dataMax=G(b))});H.prototype.setCompare=function(a, b){this.isXAxis||(q(this.series,function(b){b.setCompare(a)}),c(b,!0)&&this.chart.redraw())};b.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0