(function(x,U){"object"===typeof module&&module.exports?module.exports=x.document?U(x):U:x.Highcharts=U(x)})("undefined"!==typeof window?window:this,function(x){function U(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw Error(c);x.console&&console.log(c)}function za(a,b,c){this.options=b;this.elem=a;this.prop=c}function F(){var a,b=arguments,c,d={},e=function(a,b){var c,d;"object"!==typeof a&&(a={});for(d in b)b.hasOwnProperty(d)&&(c=b[d],a[d]=c&&"object"===typeof c&& "[object Array]"!==Object.prototype.toString.call(c)&&"renderTo"!==d&&"number"!==typeof c.nodeType?e(a[d]||{},c):b[d]);return a};!0===b[0]&&(d=b[1],b=Array.prototype.slice.call(b,2));c=b.length;for(a=0;a=c&&(b=[1/c])));for(d=0;d=a||!e&&f<=(b[d]+(b[d+1]||b[d]))/2);d++);return g*c}function Ya(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Ja(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Ba(a){pb||(pb=Y(Za));a&&pb.appendChild(a);pb.innerHTML=""}function C(a,b){return parseFloat(a.toPrecision(b||14))}function cb(a,b){b.renderer.globalAnimation=t(a,b.animation)}function hb(a){return aa(a)? F(a):{duration:a?500:0}}function Ib(){var a=ga.global,b=a.useUTC,c=b?"getUTC":"get",d=b?"setUTC":"set";Ca=a.Date||x.Date;wb=b&&a.timezoneOffset;gb=b&&a.getTimezoneOffset;qb=function(a,c,d,h,k,l){var m;b?(m=Ca.UTC.apply(0,arguments),m+=Oa(m)):m=(new Ca(a,c,t(d,1),t(h,0),t(k,0),t(l,0))).getTime();return m};xb=c+"Minutes";yb=c+"Hours";zb=c+"Day";db=c+"Date";ib=c+"Month";jb=c+"FullYear";Jb=d+"Milliseconds";Kb=d+"Seconds";Lb=d+"Minutes";Mb=d+"Hours";rb=d+"Date";Ab=d+"Month";Bb=d+"FullYear"}function R(a){if(!(this instanceof R))return new R(a);this.init(a)}function S(){}function ea(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;c||d||this.addLabel()}function Nb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:t(b.y,f?4:c?14:-6),x:t(b.x,f?c?-6:6:0)};this.textAlign= b.textAlign||(f?c?"right":"left":"center")}var I,D=x.document,ha=Math,M=ha.round,ja=ha.floor,Ka=ha.ceil,z=ha.max,Q=ha.min,ba=ha.abs,la=ha.cos,ra=ha.sin,Ga=ha.PI,xa=2*Ga/360,Pa=x.navigator&&x.navigator.userAgent||"",Ob=x.opera,Na=/(msie|trident|edge)/i.test(Pa)&&!Ob,sb=D&&8===D.documentMode,tb=!Na&&/AppleWebKit/.test(Pa),$a=/Firefox/.test(Pa),Pb=/(Mobile|Android|Windows Phone)/.test(Pa),Va="http://www.w3.org/2000/svg",ta=D&&D.createElementNS&&!!D.createElementNS(Va,"svg").createSVGRect,Tb=$a&&4>parseInt(Pa.split("Firefox/")[1], 10),ya=D&&!ta&&!Na&&!!D.createElement("canvas").getContext,kb,lb,Qb={},Cb=0,pb,ga,bb,O,Qa=function(){},fa=[],mb=0,Za="div",Ub=/^[0-9]+$/,ub=["plotTop","marginRight","marginBottom","plotLeft"],Ca,qb,wb,gb,xb,yb,zb,db,ib,jb,Jb,Kb,Lb,Mb,rb,Ab,Bb,Z={},L;L=x.Highcharts?U(16,!0):{win:x};L.seriesTypes=Z;var Wa=[],Da,Ha,u,Ra,Db,Sa,W,ma,T,eb,ab;za.prototype={dSetter:function(){var a=this.paths[0],b=this.paths[1],c=[],d=this.now,e=a.length,f;if(1===d)c=this.toD;else if(e===b.length&&1>d)for(;e--;)f=parseFloat(a[e]), c[e]=isNaN(f)?a[e]:d*parseFloat(b[e]-f)+f;else c=b;this.elem.attr("d",c)},update:function(){var a=this.elem,b=this.prop,c=this.now,d=this.options.step;if(this[b+"Setter"])this[b+"Setter"]();else a.attr?a.element&&a.attr(b,c):a.style[b]=c+this.unit;d&&d.call(a,c,this)},run:function(a,b,c){var d=this,e=function(a){return e.stopped?!1:d.step(a)},f;this.startTime=+new Ca;this.start=a;this.end=b;this.unit=c;this.now=this.start;this.pos=0;e.elem=this.elem;e()&&1===Wa.push(e)&&(e.timerId=setInterval(function(){for(f= 0;f=f+this.startTime){this.now=this.end;this.pos=1;this.update();a=g[this.prop]=!0;for(h in g)!0!==g[h]&&(a=!1);a&&e&&e.call(c);c=!1}else this.pos=d.easing((b-this.startTime)/f),this.now=this.start+(this.end-this.start)*this.pos,this.update(),c=!0;return c},initPath:function(a, b,c){b=b||"";var d=a.shift,e=-1f?"AM":"PM",P:12>f?"am":"pm",S:Ia(d.getSeconds()),L:Ia(M(b%1E3),3)},L.dateFormats);for(e in d)for(;-1!==a.indexOf("%"+e);)a=a.replace("%"+e,"function"===typeof d[e]?d[e](b):d[e]);return c?a.substr(0,1).toUpperCase()+ a.substr(1):a};O={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};L.numberFormat=function(a,b,c,d){a=+a||0;b=+b;var e=ga.lang,f=(a.toString().split(".")[1]||"").length,g,h,k=Math.abs(a);-1===b?b=Math.min(f,20):X(b)||(b=2);g=String(K(k.toFixed(b)));h=3a?"-":"")+(h?g.substr(0,h)+d:"");a+=g.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+d);b&&(d=Math.abs(k-g+Math.pow(10,-Math.max(b,f)-1)), a+=c+d.toFixed(b).slice(2));return a};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};Da=function(a,b){var c;return"width"===b?Math.min(a.offsetWidth,a.scrollWidth)-Da(a,"padding-left")-Da(a,"padding-right"):"height"===b?Math.min(a.offsetHeight,a.scrollHeight)-Da(a,"padding-top")-Da(a,"padding-bottom"):(c=x.getComputedStyle(a,void 0))&&K(c.getPropertyValue(b))};Ha=function(a,b){return b.indexOf?b.indexOf(a):[].indexOf.call(b,a)};Ra=function(a,b){return[].filter.call(a,b)};Sa=function(a, b){for(var c=[],d=0,e=a.length;d{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
', shadow:!0,snap:Pb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var sa=ga.plotOptions,ua=sa.line;Ib();R.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[K(a[1]), K(a[2]),K(a[3]),parseFloat(a[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[K(a[1],16),K(a[2],16),K(a[3],16),1]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[K(a[1]),K(a[2]),K(a[3]),1]}}],init:function(a){var b,c,d,e;if((this.input=a)&&a.stops)this.stops=Sa(a.stops,function(a){return new R(a[1])});else for(d=this.parsers.length;d--&&!c;)e=this.parsers[d],(b=e.regex.exec(a))&&(c=e.parse(b));this.rgba= c||[]},get:function(a){var b=this.input,c=this.rgba,d;this.stops?(d=F(b),d.stops=[].concat(d.stops),u(this.stops,function(b,c){d.stops[c]=[d.stops[c][0],b.get(a)]})):d=c&&X(c[0])?"rgb"===a||!a&&1===c[3]?"rgb("+c[0]+","+c[1]+","+c[2]+")":"a"===a?c[3]:"rgba("+c.join(",")+")":b;return d},brighten:function(a){var b,c=this.rgba;if(this.stops)u(this.stops,function(b){b.brighten(a)});else if(X(a)&&0!==a)for(b=0;3>b;b++)c[b]+=K(255*a),0>c[b]&&(c[b]=0),255c.width)c={width:0,height:0}}else c=this.htmlGetBBox();d.isSVG&&(d=c.width,e=c.height,Na&&k&&"11px"===k.fontSize&&"16.9"===e.toPrecision(3)&&(c.height= e=14),f&&(c.width=ba(e*ra(g))+ba(d*la(g)),c.height=ba(e*la(g))+ba(d*ra(g))));if(v){for(;250]*>/g, "")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},visibilitySetter:function(a,b,c){"inherit"===a?c.removeAttribute(b):c.setAttribute(b,a)},zIndexSetter:function(a,b){var c=this.renderer,d=this.parentGroup,c=(d||c).element||c.box,e,f,g=this.element,h;e=this.added;var k;r(a)&&(g.zIndex=a,a=+a,this[b]===a&&(e=!1),this[b]=a);if(e){(a= this.zIndex)&&d&&(d.handleZ=!0);d=c.childNodes;for(k=0;ka||!r(a)&&r(f)))c.insertBefore(g,e),h=!0;h||c.appendChild(g)}return h},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};S.prototype.yGetter=S.prototype.xGetter;S.prototype.translateXSetter=S.prototype.translateYSetter=S.prototype.rotationSetter=S.prototype.verticalAlignSetter=S.prototype.scaleXSetter=S.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};S.prototype["stroke-widthSetter"]= S.prototype.strokeSetter=function(a,b,c){this[b]=a;this.stroke&&this["stroke-width"]?(this.strokeWidth=this["stroke-width"],S.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(c.removeAttribute("stroke"),this.hasStroke=!1)};var Ta=function(){this.init.apply(this,arguments)};Ta.prototype={Element:S,init:function(a,b,c,d,e,f){var g;d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d)); g=d.element;a.appendChild(g);-1===a.innerHTML.indexOf("xmlns")&&P(g,"xmlns",Va);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects=[];this.url=($a||tb)&&D.getElementsByTagName("base").length?x.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(D.createTextNode("Created with Highcharts 4.2.5"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=e;this.gradients={};this.cache= {};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);var h;$a&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){N(a,{left:0,top:0});h=a.getBoundingClientRect();N(a,{left:Ka(h.left)-h.left+"px",top:Ka(h.top)-h.top+"px"})},b(),W(x,"resize",b))},getStyle:function(a){return this.style=E({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box= null;this.boxWrapper=this.boxWrapper.destroy();Ja(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.subPixelFix&&ma(x,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=t(a.textStr,"").toString(),f=-1!==e.indexOf("<"), g=b.childNodes,h,k,l,m=P(b,"x"),n=a.styles,p=a.textWidth,q=n&&n.lineHeight,v=n&&n.textShadow,H=n&&"ellipsis"===n.textOverflow,w=g.length,na=p&&!a.added&&this.box,J=function(a){return q?K(q):c.fontMetrics(/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:n&&n.fontSize||c.style.fontSize||12,a).h};w--;)b.removeChild(g[w]);f||v||H||-1!==e.indexOf(" ")?(h=/<.*style="([^"]+)".*>/,k=/<.*href="(http[^"]+)".*>/,na&&na.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g, '').replace(//g,"").split(//g):[e],e=Ra(e,function(a){return""!==a}),u(e,function(e,f){var g,q=0;e=e.replace(/^\s+|\s+$/g,"").replace(//g,"|||");g=e.split("|||");u(g,function(e){if(""!==e||1===g.length){var v={},w=D.createElementNS(Va,"tspan"),t;h.test(e)&&(t=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),P(w,"style",t));k.test(e)&&!d&&(P(w,"onclick",'location.href="'+ e.match(k)[1]+'"'),N(w,{cursor:"pointer"}));e=(e.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");if(" "!==e){w.appendChild(D.createTextNode(e));q?v.dx=0:f&&null!==m&&(v.x=m);P(w,v);b.appendChild(w);!q&&f&&(!ta&&d&&N(w,{display:"block"}),P(w,"dy",J(w)));if(p){for(var v=e.replace(/([^\^])-/g,"$1- ").split(" "),u=1p,void 0===l&&(l=na),H&&l?(E/=2,""===C||!na&&.5>E?v=[]:(C=e.substring(0,C.length+(na?-1:1)*Ka(E)),v=[C+(3p&&(p=A)),v.length&&w.appendChild(D.createTextNode(v.join(" ").replace(/- /g,"-")));a.rotation=B}q++}}})}), l&&a.attr("title",a.textStr),na&&na.removeChild(b),v&&a.applyTextShadow&&a.applyTextShadow(v)):b.appendChild(D.createTextNode(e.replace(/</g,"<").replace(/>/g,">")))},getContrast:function(a){a=R(a).rgba;return 384c&&e>b+g&&eh&&e>b+g&&ed&&h>a+g&&he&&h>a+g&&ha?a+3:M(1.2*a);d=M(.8*c);return{h:c,b:d,f:a}},rotCorr:function(a,b,c){var d=a;b&&c&&(d=z(d*la(b*xa),4));return{x:-a/3*ra(b*xa),y:d}},label:function(a,b,c,d,e,f,g,h,k){var l=this,m=l.g(k),n=l.text("",0,0,g).attr({zIndex:1}), p,q,v=0,H=3,w=0,t,J,A,Eb,z=0,pa={},y,C,B,x,G;B=function(){var a,b;a=n.element.style;q=(void 0===t||void 0===J||m.styles.textAlign)&&r(n.textStr)&&n.getBBox();m.width=(t||q.width||0)+2*H+w;m.height=(J||q.height||0)+2*H;y=H+l.fontMetrics(a&&a.fontSize,n).b;C&&(p||(a=z,b=(h?-y:0)+z,m.box=p=d?l.symbol(d,a,b,m.width,m.height,pa):l.rect(a,b,m.width,m.height,0,pa["stroke-width"]),p.isImg||p.attr("fill","none"),p.add(m)),p.isImg||p.attr(E({width:M(m.width),height:M(m.height)},pa)),pa=null)};x=function(){var a= m.styles,a=a&&a.textAlign,b=w+H,c;c=h?0:y;r(t)&&q&&("center"===a||"right"===a)&&(b+={center:.5,right:1}[a]*(t-q.width));if(b!==n.x||c!==n.y)n.attr("x",b),c!==I&&n.attr("y",c);n.x=b;n.y=c};G=function(a,b){p?p.attr(a,b):pa[a]=b};m.onAdd=function(){n.add(m);m.attr({text:a||0===a?a:"",x:b,y:c});p&&r(e)&&m.attr({anchorX:e,anchorY:f})};m.widthSetter=function(a){t=a};m.heightSetter=function(a){J=a};m.paddingSetter=function(a){r(a)&&a!==H&&(H=m.padding=a,x())};m.paddingLeftSetter=function(a){r(a)&&a!==w&& (w=a,x())};m.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==v&&(v=a,q&&m.attr({x:A}))};m.textSetter=function(a){a!==I&&n.textSetter(a);B();x()};m["stroke-widthSetter"]=function(a,b){a&&(C=!0);z=a%2/2;G(b,a)};m.strokeSetter=m.fillSetter=m.rSetter=function(a,b){"fill"===b&&a&&(C=!0);G(b,a)};m.anchorXSetter=function(a,b){e=a;G(b,M(a)-z-A)};m.anchorYSetter=function(a,b){f=a;G(b,a-Eb)};m.xSetter=function(a){m.x=a;v&&(a-=v*((t||q.width)+2*H));A=M(a);m.attr("translateX",A)};m.ySetter=function(a){Eb= m.y=M(a);m.attr("translateY",Eb)};var D=m.css;return E(m,{css:function(a){if(a){var b={};a=F(a);u(m.textProps,function(c){a[c]!==I&&(b[c]=a[c],delete a[c])});n.css(b)}return D.call(m,a)},getBBox:function(){return{width:q.width+2*H,height:q.height+2*H,x:q.x-H,y:q.y-H}},shadow:function(a){p&&p.shadow(a);return m},destroy:function(){ma(m.element,"mouseenter");ma(m.element,"mouseleave");n&&(n=n.destroy());p&&(p=p.destroy());S.prototype.destroy.call(m);m=l=B=x=G=null}})}};kb=Ta;E(S.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=E(this.styles,a);N(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");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,c=this.translateX|| 0,d=this.translateY||0,e=this.x||0,f=this.y||0,g=this.textAlign||"left",h={left:0,center:.5,right:1}[g],k=this.shadows,l=this.styles;N(b,{marginLeft:c,marginTop:d});k&&u(k,function(a){N(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&u(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var k=this.rotation,m=K(this.textWidth),n=l&&l.whiteSpace,p=[k,g,b.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&&(l=a.fontMetrics(b.style.fontSize).b,r(k)&&this.setSpanRotation(k, h,l),b.offsetWidth>m&&/[ \-]/.test(b.textContent||b.innerText)?(N(b,{width:m+"px",display:"block",whiteSpace:n||"normal"}),this.hasTextWidth=!0):this.hasTextWidth&&(N(b,{width:"",display:"",whiteSpace:n||"nowrap"}),this.hasTextWidth=!1),this.getSpanCorrection(this.hasTextWidth?m:b.offsetWidth,l,h,k,g));N(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});tb&&(l=b.offsetHeight);this.cTT=p}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=Na?"-ms-transform":tb?"-webkit-transform": $a?"MozTransform":Ob?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+($a?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";N(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});E(Ta.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,f=d.renderer,g=f.isSVG,h=function(a,b){u(["opacity","visibility"],function(c){nb(a,c+"Setter",function(a,c,d,e){a.call(this,c,d,e);b[d]=c})})};d.textSetter=function(a){a!==e.innerHTML&&delete this.bBox; e.innerHTML=this.textStr=a;d.htmlUpdateTransform()};g&&h(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,b){"align"===b&&(b="textAlign");d[b]=a;d.htmlUpdateTransform()};d.attr({text:a,x:M(b),y:M(c)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});e.style.whiteSpace="nowrap";d.css=d.htmlCss;g&&(d.add=function(a){var b,c=f.box.parentNode,g=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)g.push(a),a=a.parentGroup;u(g.reverse(), function(a){var d,e=P(a.element,"class");e&&(e={className:e});b=a.div=a.div||Y(Za,e,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",opacity:a.opacity},b||c);d=b.style;E(a,{translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=b+"px";a[c]=b;a.doTransform=!0}});h(a,d)})}}else b=c;b.appendChild(e);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}});var da;if(!ta&&!ya){da={init:function(a,b){var c=["<", b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===Za;("shape"===b||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');b&&(c=e||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=Y(c));this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box,e=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);e&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&& this.updateTransform();if(this.onAdd)this.onAdd();return this},updateTransform:S.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=la(a*xa),c=ra(a*xa);N(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,c,d,e){var f=d?la(d*xa):1,g=d?ra(d*xa):0,h=t(this.elemHeight,this.element.offsetHeight),k;this.xCorr=0>f&&-a;this.yCorr=0>g&&-h; k=0>f*g;this.xCorr+=g*b*(k?1-c:c);this.yCorr-=f*b*(d?k?c:1-c:1);e&&"left"!==e&&(this.xCorr-=a*c*(0>f?-1:1),d&&(this.yCorr-=h*c*(0>g?-1:1)),N(this.element,{textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)X(a[b])?c[b]=M(10*a[b])-5:"Z"===a[b]?c[b]="x":(c[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b])||(c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1));return c.join(" ")||"x"},clip:function(a){var b=this,c;a?(c=a.members,ka(c,b),c.push(b),b.destroyClip= function(){ka(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:sb?"inherit":"rect(auto)"});return b.css(a)},css:S.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Ba(a)},destroy:function(){this.destroyClip&&this.destroyClip();return S.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=x.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=K(a[c-2])-10*b;return a.join(" ")}, shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,k=f.style,l,m=f.path,n,p,q,v;m&&"string"!==typeof m.value&&(m="x");p=m;if(a){q=t(a.width,3);v=(a.opacity||.15)/q;for(e=1;3>=e;e++)n=2*q+1-2*e,c&&(p=this.cutOffPath(m.value,n+.5)),l=[''],h=Y(g.prepVML(l),null,{left:K(k.left)+t(a.offsetX,1),top:K(k.top)+t(a.offsetY,1)}),c&&(h.cutOff=n+1),l=[''],Y(g.prepVML(l),null,null,h),b?b.element.appendChild(h):f.parentNode.insertBefore(h,f),d.push(h);this.shadows=d}return this},updateShadows:Qa,setAttr:function(a,b){sb?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){this.element.className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||Y(this.renderer.prepVML([""]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var d=this.shadows;a=a||[];this.d= a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(d)for(c=d.length;c--;)d[c].path=d[c].cutOff?this.cutOffPath(a,d[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var d=c.nodeName;"SPAN"===d?c.style.color=a:"IMG"!==d&&(c.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,c,b,this)))},"fill-opacitySetter":function(a,b,c){Y(this.renderer.prepVML(["<",b.split("-")[0],' opacity="',a,'"/>']),null,null,c)},opacitySetter:Qa,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a; c.left=-M(ra(a*xa)+1)+"px";c.top=M(la(a*xa))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b,this))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;X(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){"inherit"===a&&(a="visible");this.shadows&&u(this.shadows,function(c){c.style[b]=a});"DIV"===c.nodeName&&(a="hidden"===a?"-999em":0,sb||(c.style[b]=a?"visible":"hidden"),b="top"); c.style[b]=a},xSetter:function(a,b,c){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}};da["stroke-opacitySetter"]=da["fill-opacitySetter"];L.VMLElement=da=ia(S,da);da.prototype.ySetter=da.prototype.widthSetter=da.prototype.heightSetter=da.prototype.xSetter;var Fb={Element:da,isIE8:-1'];Y(e.prepVML(h),null,null,b)};q=a[0];A=a[a.length-1];0A[0]&&a.push([1,A[1]]);u(a,function(a,b){g.test(a[1])?(f=R(a[1]),m=f.get("rgb"),n=f.get("a")):(m=a[1],n=1);r.push(100*a[0]+"% "+m);b?(H=n,w=m):(v=n,t=m)});if("fill"===c)if("gradient"===k)c=p.x1||p[0]||0,a=p.y1||p[1]||0,q=p.x2||p[2]||0,p=p.y2||p[3]||0,J='angle="'+(90-180*ha.atan((p-a)/(q-c))/Ga)+'"',z();else{var l=p.r,pa=2*l,y=2*l,C=p.cx,B=p.cy,x=b.radialReference,E,l=function(){x&&(E=d.getBBox(),C+=(x[0]-E.x)/E.width-.5,B+=(x[1]-E.y)/E.height-.5,pa*=x[2]/E.width,y*=x[2]/E.height);J='src="'+ ga.global.VMLRadialGradientURL+'" size="'+pa+","+y+'" origin="0.5,0.5" position="'+C+","+B+'" color2="'+t+'" ';z()};d.added?l():d.onAdd=l;l=w}else l=m}else g.test(a)&&"IMG"!==b.tagName?(f=R(a),d[c+"-opacitySetter"](f.get("a"),c,b),l=f.get("rgb")):(l=b.getElementsByTagName(c),l.length&&(l[0].opacity=1,l[0].type="solid"),l=a);return l},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=-1===a.indexOf('style="')?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'): a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","h&&c-k*le&&(q=M((d-c)/la(h*xa)));else if(d=c+(1-k)*l,c-k*le&&(n=e-a.x+n*k,p=-1),n=Q(m,n),nn||b.autoRotation&&g.styles.width)q=n;q&&(v.width=q,b.options.labels.style.textOverflow||(v.textOverflow="ellipsis"),g.css(v))},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+ c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var k=this.axis,l=k.transA,m=k.reversed,n=k.staggerLines,p=k.tickRotCorr||{x:0,y:0},q=e.y;r(q)||(q=0===k.side?c.rotation?-8:-c.getBBox().height:2===k.side?p.y+8:la(c.rotation*xa)*(p.y-c.getBBox(!1,0).height/2));a=a+e.x+p.x-(f&&d?f*l*(m?-1:1):0);b=b+q-(f&&!d?f*l*(m? 1:-1):0);n&&(c=g/(h||1)%n,k.opposite&&(c=n-c-1),b+=k.labelOffset/n*c);return{x:a,y:M(b)}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,k=this.label,l=this.pos,m=e.labels,n=this.gridLine,p=h?h+"Grid":"grid",q=h?h+"Tick":"tick",v=e[p+"LineWidth"],H=e[p+"LineColor"],w=e[p+"LineDashStyle"],p=d.tickSize(q),q=e[q+"Color"],u=this.mark,J=m.step,A=!0,r=d.tickmarkOffset, z=this.getPosition(g,l,r,b),pa=z.x,z=z.y,y=g&&pa===d.pos+d.len||!g&&z===d.pos?-1:1;c=t(c,1);this.isActive=!0;if(v&&(l=d.getPlotLinePath(l+r,v*y,b,!0),n===I&&(n={stroke:H,"stroke-width":v},w&&(n.dashstyle=w),h||(n.zIndex=1),b&&(n.opacity=0),this.gridLine=n=v?f.path(l).attr(n).add(d.gridGroup):null),!b&&n&&l))n[this.isNew?"attr":"animate"]({d:l,opacity:c});p&&(d.opposite&&(p[0]=-p[0]),h=this.getMarkPath(pa,z,p[0],p[1]*y,g,f),u?u.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:q,"stroke-width":p[1], opacity:c}).add(d.axisGroup));k&&X(pa)&&(k.xy=z=this.getLabelPosition(pa,z,k,g,m,r,a,J),this.isFirst&&!this.isLast&&!t(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(e.showLastLabel,1)?A=!1:!g||d.isRadial||m.step||m.rotation||b||0===c||this.handleOverflow(z),J&&a%J&&(A=!1),A&&X(z.y)?(z.opacity=c,k[this.isNew?"attr":"animate"](z),this.isNew=!1):k.attr("y",-9999))},destroy:function(){Ja(this,this.axis)}};L.PlotLineOrBand=function(a,b){this.axis=a;b&&(this.options=b,this.id=b.id)};L.PlotLineOrBand.prototype= {render:function(){var a=this,b=a.axis,c=b.horiz,d=a.options,e=d.label,f=a.label,g=d.width,h=d.to,k=d.from,l=r(k)&&r(h),m=d.value,n=d.dashStyle,p=a.svgElem,q=[],v,H=d.color,w=t(d.zIndex,0),u=d.events,J={},A=b.chart.renderer,q=b.log2lin;b.isLog&&(k=q(k),h=q(h),m=q(m));if(g){if(q=b.getPlotLinePath(m,g),J={stroke:H,"stroke-width":g},n)J.dashstyle=n}else if(l)q=b.getPlotBandPath(k,h,d),H&&(J.fill=H),d.borderWidth&&(J.stroke=d.borderColor,J["stroke-width"]=d.borderWidth);else return;J.zIndex=w;if(p)if(q)p.show(), p.animate({d:q});else{if(p.hide(),f)a.label=f=f.destroy()}else if(q&&q.length&&(a.svgElem=p=A.path(q).attr(J).add(),u))for(v in d=function(b){p.on(b,function(c){u[b].apply(a,[c])})},u)d(v);e&&r(e.text)&&q&&q.length&&0=c&&0=== 10*b%c&&null!==e[f]&&(g=L.numberFormat(b/c,-1)+e[f]);g===I&&(g=1E4<=ba(b)?L.numberFormat(b,-1):L.numberFormat(b,-1,I,""));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();u(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d=c.options,e=d.threshold,f;a.hasVisibleSeries=!0;a.isLog&&0>=e&&(e=null);if(a.isXAxis){if(d=c.xData,d.length)c=G(d),!(X(c)|| c instanceof Ca)&&(d=Ra(d,function(a){return X(a)}),c=G(d)),a.dataMin=Q(t(a.dataMin,d[0]),c),a.dataMax=z(t(a.dataMax,d[0]),Ua(d))}else if(c.getExtremes(),f=c.dataMax,c=c.dataMin,r(c)&&r(f)&&(a.dataMin=Q(t(a.dataMin,c),c),a.dataMax=z(t(a.dataMax,f),f)),r(e)&&(a.threshold=e),!d.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,b,c,d,e,f){var g=this.linkedParent||this,h=1,k=0,l=d?g.oldTransA:g.transA;d=d?g.oldMin:g.min;var m=g.minPixelPadding;e=(g.isOrdinal||g.isBroken||g.isLog&&e)&& g.lin2val;l||(l=g.transA);c&&(h*=-1,k=g.len);g.reversed&&(h*=-1,k-=h*(g.sector||g.len));b?(a=a*h+k,a-=m,a=a/l+d,e&&(a=g.lin2val(a))):(e&&(a=g.val2lin(a)),"between"===f&&(f=.5),a=h*(a-d)*l+k+h*m+(X(f)?l*f*g.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,d,e){var f=this.chart,g=this.left,h=this.top,k,l,m=c&&f.oldChartHeight|| f.chartHeight,n=c&&f.oldChartWidth||f.chartWidth,p;k=this.transB;var q=function(a,b,c){if(ac)d?a=Q(z(b,a),c):p=!0;return a};e=t(e,this.translate(a,null,null,c));a=c=M(e+k);k=l=M(m-e-k);X(e)?this.horiz?(k=h,l=m-this.bottom,a=c=q(a,g,g+this.width)):(a=g,c=n-this.right,k=l=q(k,h,h+this.height)):p=!0;return p&&!d?null:f.renderer.crispLine(["M",a,k,"L",c,l],b||1)},getLinearTickPositions:function(a,b,c){var d,e=C(ja(b/a)*a),f=C(Ka(c/a)*a),g=[];if(b===c&&X(b))return[b];for(b=e;b<=f;){g.push(b);b=C(b+ a);if(b===d)break;d=b}return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e,f=this.pointRangePadding||0;e=this.min-f;var f=this.max+f,g=f-e;if(g&&g/c=this.minRange,f,g,h,k,l;this.isXAxis&&this.minRange===I&&!this.isLog&&(r(a.min)||r(a.max)?this.minRange=null:(u(this.series,function(a){k=a.xData;for(g=a.xIncrement?1:k.length-1;0=v?(w=v,m=0):b.dataMax<= v&&(na=v,l=0)),b.min=t(J,w,b.dataMin),b.max=t(A,na,b.dataMax));e&&(!a&&0>=Q(b.min,t(b.dataMin,b.min))&&U(10,1),b.min=C(f(b.min),15),b.max=C(f(b.max),15));b.range&&r(b.max)&&(b.userMin=b.min=J=z(b.min,b.minFromRange()),b.userMax=A=b.max,b.range=null);T(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(q||b.axisPointRange||b.usePercentage||k)&&r(b.min)&&r(b.max)&&(f=b.max-b.min)&&(!r(J)&&m&&(b.min-=f*m),!r(A)&&l&&(b.max+=f*l));X(d.floor)&&(b.min=z(b.min,d.floor));X(d.ceiling)&& (b.max=Q(b.max,d.ceiling));H&&r(b.dataMin)&&((v=v||0,!r(J)&&b.min=v)?b.min=v:!r(A)&&b.max>v&&b.dataMax<=v&&(b.max=v));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:k&&!n&&p===b.linkedParent.options.tickPixelInterval?n=b.linkedParent.tickInterval:t(n,this.tickAmount?(b.max-b.min)/z(this.tickAmount-1,1):void 0,q?1:(b.max-b.min)*p/z(b.len,p));h&&!a&&u(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&& b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!n&&(b.tickInterval=z(b.pointRange,b.tickInterval));a=t(d.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!n&&b.tickIntervalb.tickInterval&&1E3b.max)),!!this.tickAmount));!this.tickAmount&&this.len&&(b.tickInterval=b.unsquish()); this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,e=a.startOnTick,f=a.endOnTick,g;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();!b&&(b=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),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max])))&&(this.tickPositions=b=d);this.isLinked||(this.trimTicks(b,e,f),this.min===this.max&&r(this.min)&&!this.tickAmount&&(g=!0,this.min-=.5,this.max+=.5),this.single=g,c||d||this.adjustTickAmount())},trimTicks:function(a, b,c){var d=a[0],e=a[a.length-1],f=this.minPointOffset||0;if(b)this.min=d;else for(;this.min-f>a[0];)a.shift();if(c)this.max=e;else for(;this.max+fb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,e=b&&b.length;if(ec&&(this.tickInterval*=2,this.setTickPositions()); if(r(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0=e&&(b=e));this.displayBtn=a!==I||b!==I;this.setExtremes(a,b,!1,I,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,e=t(b.width,a.plotWidth-c+(b.offsetRight||0)),f=t(b.height,a.plotHeight),g=t(b.top,a.plotTop),b=t(b.left,a.plotLeft+c),c=/%$/;c.test(f)&&(f=Math.round(parseFloat(f)/100*a.plotHeight));c.test(g)&&(g=Math.round(parseFloat(g)/100*a.plotHeight+ a.plotTop));this.left=b;this.top=g;this.width=e;this.height=f;this.bottom=a.chartHeight-f-g;this.right=a.chartWidth-e-b;this.len=z(d?e:f,0);this.pos=d?b:g},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?C(b(this.min)):this.min,max:a?C(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=0>b?b:d:d>a?a=d:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=t(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz, c=this.tickInterval,d=c,e=this.len/(((this.categories?1:0)+this.max-this.min)/c),f,g=a.rotation,h=this.labelMetrics(),k,l=Number.MAX_VALUE,m,n=function(a){a/=e||1;a=1=a)k=n(ba(h.h/ra(xa*a))),b=k+ba(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/d||!b&&(e&&e-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,e=this.options.labels,f=this.horiz,g=this.getSlotWidth(),h=z(1,M(g-2*(e.padding||5))),k={},l=this.labelMetrics(),m=e.style.textOverflow,n,p=0,q,v;Aa(e.rotation)||(k.rotation=e.rotation|| 0);if(this.autoRotation)u(c,function(a){(a=d[a])&&a.labelLength>p&&(p=a.labelLength)}),p>h&&p>l.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(g&&(n={width:h+"px"},!m))for(n.textOverflow="clip",q=c.length;!f&&q--;)if(v=c[q],h=d[v].label)if("ellipsis"===h.styles.textOverflow?h.css({textOverflow:"clip"}):d[v].labelLength>g&&h.css({width:g+"px"}),h.getBBox().height>this.len/c.length-(l.h-l.f))h.specCss={textOverflow:"ellipsis"};k.rotation&&(n={width:(p>.5*a.chartHeight?.33*a.chartHeight: a.chartHeight)+"px"},!m)&&(n.textOverflow="ellipsis");if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))k.align=this.labelAlign;u(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(k),n&&b.css(F(n,b.specCss)),delete b.specCss,a.rotation=k.rotation)});this.tickRotCorr=b.rotCorr(l.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||r(this.min)&&r(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e= a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,k=b.inverted?[1,0,3,2][h]:h,l,m,n=0,p,q=0,v=d.title,H=d.labels,w=0,na=a.opposite,J=b.axisOffset,b=b.clipOffset,A=[-1,1,1,-1][h],y,C=a.axisParent,pa=this.tickSize("tick");l=a.hasData();a.showAxis=m=l||t(d.showEmpty,!0);a.staggerLines=a.horiz&&H.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).add(C),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(C),a.labelGroup=c.g("axis-labels").attr({zIndex:H.zIndex||7}).addClass("highcharts-"+ a.coll.toLowerCase()+"-labels").add(C));if(l||a.isLinked){if(u(e,function(b){f[b]?f[b].addLabel():f[b]=new ea(a,b)}),a.renderUnsquish(),!1!==H.reserveSpace&&(0===h||2===h||{1:"left",3:"right"}[h]===a.labelAlign||"center"===a.labelAlign)&&u(e,function(a){w=z(f[a].getLabelSize(),w)}),a.staggerLines)w*=a.staggerLines,a.labelOffset=w*(a.opposite?-1:1)}else for(y in f)f[y].destroy(),delete f[y];v&&v.text&&!1!==v.enabled&&(a.axisTitle||((y=v.textAlign)||(y=(g?{low:"left",middle:"center",high:"right"}:{low:na? "right":"left",middle:"center",high:na?"left":"right"})[v.align]),a.axisTitle=c.text(v.text,0,0,v.useHTML).attr({zIndex:7,rotation:v.rotation||0,align:y}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(v.style).add(a.axisGroup),a.axisTitle.isNew=!0),m&&(n=a.axisTitle.getBBox()[g?"height":"width"],p=v.offset,q=r(p)?0:t(v.margin,g?5:10)),a.axisTitle[m?"show":"hide"](!0));a.offset=A*t(d.offset,J[h]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===h?-a.labelMetrics().h:2===h?a.tickRotCorr.y: 0;q=Math.abs(w)+q;w&&(q-=c,q+=A*(g?t(H.y,a.tickRotCorr.y+8*A):H.x));a.axisTitleMargin=t(p,q);J[h]=z(J[h],a.axisTitleMargin+n+A*a.offset,q,l&&e.length&&pa?pa[0]:0);d=d.offset?0:2*ja(d.lineWidth/2);b[k]=z(b[k],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom], a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite,h=this.offset,k=e.x||0,l=e.y||0,m=K(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(2===this.side?m:0);return{x:a?d+k:b+(g?this.width:0)+h+k,y:a?b+l-(g?this.height:0)+h:d+l}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.isLog,f=a.lin2log,g=a.isLinked,h=a.tickPositions, k=a.axisTitle,l=a.ticks,m=a.minorTicks,n=a.alternateBands,p=d.stackLabels,q=d.alternateGridColor,v=a.tickmarkOffset,H=d.lineWidth,w,t=b.hasRendered&&X(a.oldMin),J=a.showAxis,A=hb(c.globalAnimation),z,r;a.labelEdge.length=0;a.overlap=!1;u([l,m,n],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||g)a.minorTickInterval&&!a.categories&&u(a.getMinorTickPositions(),function(b){m[b]||(m[b]=new ea(a,b,"minor"));t&&m[b].isNew&&m[b].render(null,!0);m[b].render(null,!1,1)}),h.length&&(u(h,function(b, c){if(!g||b>=a.min&&b<=a.max)l[b]||(l[b]=new ea(a,b)),t&&l[b].isNew&&l[b].render(c,!0,.1),l[b].render(c)}),v&&(0===a.min||a.single))&&(l[-1]||(l[-1]=new ea(a,-1,null,!0)),l[-1].render(-1)),q&&u(h,function(c,d){r=h[d+1]!==I?h[d+1]+v:a.max-v;0===d%2&&c=O.second?0:m*ja(k.getMilliseconds()/m));if(l>=O.second)k[Kb](l>=O.minute?0:m*ja(k.getSeconds()/m));if(l>=O.minute)k[Lb](l>=O.hour?0:m*ja(k[xb]()/m));if(l>=O.hour)k[Mb](l>=O.day?0:m*ja(k[yb]()/m));if(l>=O.day)k[rb](l>=O.month? 1:m*ja(k[db]()/m));l>=O.month&&(k[Ab](l>=O.year?0:m*ja(k[ib]()/m)),h=k[jb]());l>=O.year&&(h-=h%m,k[Bb](h));if(l===O.week)k[rb](k[db]()-k[zb]()+t(d,1));b=1;if(wb||gb)k=k.getTime(),k=new Ca(k+Oa(k));h=k[jb]();d=k.getTime();for(var n=k[ib](),p=k[db](),q=!g||!!gb,v=(O.day+(g?Oa(k):6E4*k.getTimezoneOffset()))%O.day;db&&(!d||p<=c)&&p!==I&&k.push(p),p>c&&(q=!0),p=n;else(b=g(b), c=g(c),a=e[d?"minorTickInterval":"tickInterval"],a=t("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(d?5:1)*(c-b)/((d?f/this.tickPositions.length:f)||1)),a=B(a,null,y(a)),k=Sa(this.getLinearTickPositions(a,b,c),h),d)||(this._minorAutoInterval=a/5);d||(this.tickInterval=a);return k};va.prototype.log2lin=function(a){return ha.log(a)/ha.LN10};va.prototype.lin2log=function(a){return ha.pow(10,a)};var Sb=L.Tooltip=function(){this.init.apply(this,arguments)};Sb.prototype={init:function(a, b){var c=b.borderWidth,d=b.style,e=K(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).add().attr({y:-9999});ya||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){this.label&&(this.label=this.label.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)}, move:function(a,b,c,d){var e=this,f=e.now,g=!1!==e.options.animation&&!e.isHidden&&(1n-g?n:n-g);else if(p)f[a]=z(h,d+g+c>b?d:d+g);else return!1},p=function(a, b,c,d){var g;db-e?g=!1:f[a]=db-c/2?b-c-2:d-c/2;return g},q=function(a){var b=k;k=l;l=b;h=a},v=function(){!1!==n.apply(0,k)?!1===p.apply(0,l)&&!h&&(q(!0),v()):h?f.x=f.y=0:(q(!0),v())};(d.inverted||1e){f=k;break}if(g[f]&&h.substr(g[f])!=="01-01 00:00:00.000".substr(g[f]))break;"week"!==f&&(k=f)}f&&(d=b[f])}else d=b.day;return d||b.year}, tooltipFooterHeaderFormatter:function(a,b){var c=b?"footer":"header",d=a.series,e=d.tooltipOptions,f=e.xDateFormat,g=d.xAxis,h=g&&"datetime"===g.options.type&&X(a.key),c=e[c+"Format"];h&&!f&&(f=this.getXDateFormat(a,e,g));h&&f&&(c=c.replace("{point.key}","{point.key:"+f+"}"));return Fa(c,{point:a,series:d})},bodyFormatter:function(a){return Sa(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}};var wa;lb=D&&D.documentElement.ontouchstart!== I;var fb=L.Pointer=function(a,b){this.init(a,b)};fb.prototype={init:function(a,b){var c=b.chart,d=c.events,e=ya?"":c.zoomType,c=a.inverted,f;this.options=b;this.chart=a;this.zoomX=f=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=f&&!c||e&&c;this.zoomVert=e&&!c||f&&c;this.hasZoom=f||e;this.runChartClick=d&&!!d.click;this.pinchDown=[];this.lastValidTouch={};L.Tooltip&&b.tooltip.enabled&&(a.tooltip=new Sb(a,b.tooltip),this.followTouchMove=t(b.tooltip.followTouchMove,!0));this.setDOMEvents()},normalize:function(a, b){var c,d;a=a||x.event;a.target||(a.target=a.srcElement);d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=Db(this.chart.container));d.pageX===I?(c=z(a.x,a.clientX-b.left),d=a.y):(c=d.pageX-b.left,d=d.pageY-b.top);return E(a,{chartX:M(c),chartY:M(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};u(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(a){var b= this.chart,c=b.series,d=b.tooltip,e=d?d.shared:!1,f=b.hoverPoint,g=b.hoverSeries,h,k=[Number.MAX_VALUE,Number.MAX_VALUE],l,m,n=[],p=[],q;if(!e&&!g)for(h=0;h=p[c].series.group.zIndex;if(a[b]h+l&&(d=h+l),ek+m&&(e=k+m),this.hasDragged=Math.sqrt(Math.pow(q-d,2)+Math.pow(v-e,2)),10J.max&&(b=J.max-v,B=!0);B?(r-=.8*(r-g[l][0]),A||(C-=.8*(C-g[l][1])),c()):g[l]=[r,C];u||(f[l]=t-q,f[p]=v);f=u?1/w:w;e[p]=v;e[l]=b;d[u?a?"scaleY":"scaleX":"scale"+m]=w;d["translate"+m]=f*q+(r-f*z)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown, e=a.touches,f=e.length,g=b.lastValidTouch,h=b.hasZoom,k=b.selectionMarker,l={},m=1===f&&(b.inClass(a.target,"highcharts-tracker")&&c.runTrackerClick||b.runChartClick),n={};1c- 6&&h(p||b.chartWidth-2*l-H-d.x)&&(this.itemX=H,this.itemY+=v+this.lastLineHeight+q,this.lastLineHeight=0);this.maxItemWidth=z(this.maxItemWidth,f);this.lastItemY=v+this.itemY+q;this.lastLineHeight=z(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=f:(this.itemY+=v+g+q,this.lastLineHeight=g);this.offsetWidth=p||z((e?this.itemX-H-m:f)+l,this.offsetWidth)},getAllItems:function(){var a=[];u(this.chart.series, function(b){var c=b.options;t(c.showInLegend,r(c.linkedTo)?!1:I,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},adjustMargins:function(a,b){var c=this.chart,d=this.options,e=d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0);this.display&&!d.floating&&u([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,g){f.test(e)&&!r(a[g])&&(c[ub[g]]=z(c[ub[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+t(d.margin, 12)+b[g]))})},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,k=a.box,l=a.options,m=a.padding,n=l.borderWidth,p=l.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;d||(a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup));a.renderTitle();e=a.getAllItems();Ya(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)}); l.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;a.lastLineHeight=0;u(e,function(b){a.renderItem(b)});g=(l.width||a.offsetWidth)+m;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);h+=m;if(n||p)k?0f&&!1!==l.enabled?(this.clipHeight=h=z(f-20-this.titleHeight-v,0),this.currentPage=t(this.currentPage,1),this.fullHeight=a,u(w,function(a,b){var c=a._legendItemPos[1],d=M(a.legendItem.getBBox().height),e=q.length;if(!e||c-q[e-1]>h&&(H||c)!==q[e-1])q.push(H||c),e++;b===w.length-1&&c+d-q[e-1]>h&&q.push(c);c!==H&&(H=c)}),k||(k=b.clipRect=d.clipRect(0,v,9999,0),b.contentGroup.clip(k)),r(h),p||(this.nav=p= d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,n,n).on("click",function(){b.scroll(-1,m)}).add(p),this.pager=d.text("",15,10).css(l.style).add(p),this.down=d.symbol("triangle-down",0,0,n,n).on("click",function(){b.scroll(1,m)}).add(p)),b.scroll(0),a=f):p&&(r(c.chartHeight),p.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor, g=g.inactiveColor,k=this.pager,l=this.padding;e>d&&(e=d);0g;++g)h=e[g],a=2>g||2===g&&/%$/.test(h),e[g]=(/%$/.test(h)?[d,b,f,e[2]][g]*parseFloat(h)/100:parseFloat(h))+(a?c:0);e[3]>e[2]&&(e[3]=e[2]);return e}},Xa=function(){};Xa.prototype={init:function(a, b,c){this.series=a;this.color=a.color;this.applyOptions(b,c);this.pointAttr={};a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length)&&(a.colorCounter=0);a.chart.pointCount++;return this},applyOptions:function(a,b){var c=this.series,d=c.options.pointValKey||c.pointValKey;a=Xa.prototype.optionsToObject.call(this,a);E(this,a);this.options=this.options?E(this.options,a):a;d&&(this.y=this[d]);this.isNull=null===this.x|| null===this.y;void 0===this.x&&c&&(this.x=void 0===b?c.autoIncrement():b);return this},optionsToObject:function(a){var b={},c=this.series,d=c.options.keys,e=d||c.pointArrayMap||["y"],f=e.length,g=0,h=0;if(X(a)||null===a)b[e[0]]=a;else if(oa(a))for(!d&&a.length>f&&(c=typeof a[0],"string"===c?b.name=a[0]:"number"===c&&(b.x=a[0]),g++);hq){for(c=0;null===m&&ck||this.forceCrop))if(b[d-1]v)b=[],c=[];else if(b[0]v)e=this.cropData(this.xData,this.yData,q,v),b=e.xData,c=e.yData,e=e.start,f=!0;for(k=b.length||1;--k;)d=p?l(b[k])-l(b[k-1]):b[k]-b[k-1],0d&&this.requireSorting&&U(15);this.cropped=f;this.cropStart=e;this.processedXData=b;this.processedYData= c;this.closestPointRange=g},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,h=t(this.cropShoulder,1),k;for(k=0;k=c){f=z(0,k-h);break}for(c=k;cd){g=c+h;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,k,l=this.hasGroupedData,m,n=[],p;b||l||(b=[],b.length=a.length,b=this.data=b);for(p=0;p=g&&(c[n-1]||l)<=h,k&&l)if(k=m.length)for(;k--;)null!==m[k]&&(e[f++]=m[k]);else e[f++]=m;this.dataMin=G(e);this.dataMax=Ua(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,k=a.pointPlacement,l="between"=== k||X(k),m=a.threshold,n=a.startFromThreshold?m:0,p,q,v,u,w=Number.MAX_VALUE,a=0;a=A&&(y.y=A=null,U(10));y.plotX=p=C(Q(z(-1E5,c.translate(J,0,0,0,1,k,"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&B&&B[J]&&(u=this.getStackIndicator(u,J,this.index),B=B[J],A=B.points[u.key],q=A[0],A=A[1],q===n&&(q=t(m,e.min)),e.isLog&&0>=q&&(q=null),y.total=y.stackTotal=B.total,y.percentage= B.total&&y.y/B.total*100,y.stackY=A,B.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=r(q)?e.translate(q,0,1,0,1):null;h&&(A=this.modifyValue(A,y));y.plotY=q="number"===typeof A&&Infinity!==A?Q(z(-1E5,e.translate(A,0,1,0,1)),1E5):I;y.isInside=q!==I&&0<=q&&q<=e.len&&0<=p&&p<=c.len;y.clientX=l?c.translate(J,0,0,0,1):p;y.negative=y.y<(m||0);y.category=d&&d[y.x]!==I?d[y.x]:y.x;y.isNull||(void 0!==v&&(w=Q(w,ba(p-v))),v=p)}this.closestPointRangePx=w},getValidPoints:function(a,b){var c=this.chart; return Ra(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,f=this.clipBox,g=f||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),k=b[h],l=b[h+"m"];k||(a&&(g.width=0,b[h+"m"]=l=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[h]=k=d.clipRect(g));a&&(k.count+=1);!1!==c.clip&&(this.group.clip(a|| f?k:b.clipRect),this.markerGroup.clip(l),this.sharedClipKey=h);a||(--k.count,0>=k.count&&h&&b[h]&&(f||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=this.options.animation,d;c&&!aa(c)&&(c=sa[this.type].animation);a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();T(this,"afterAnimate")},drawPoints:function(){var a, b=this.points,c=this.chart,d,e,f,g,h,k,l,m,n=this.options.marker,p=this.pointAttr[""],q,v,u,w=this.markerGroup,y=t(n.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*n.radius);if(!1!==n.enabled||this._hasPointMarkers)for(f=b.length;f--;)(g=b[f],d=ja(g.plotX),e=g.plotY,m=g.graphic,q=g.marker||{},v=!!g.marker,a=y&&q.enabled===I||q.enabled,u=g.isInside,a&&X(e)&&null!==g.y)?(a=g.pointAttr[g.selected?"select":""]||p,h=a.r,k=t(q.symbol,this.symbol),l=0===k.indexOf("url"),m)?m[u?"show":"hide"](!0).attr(a).animate(E({x:d- h,y:e-h},m.symbolName?{width:2*h,height:2*h}:{})):u&&(0=k.value;)k=w[++f];m.color=m.fillColor=k=t(k.color,a.color)}f=b.colorByPoint||m.color;if(m.options)for(A in q)r(c[q[A]])&&(f=!0);if(f){c=c||{};p=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker||m.negative&&!f.fillColor&&!e.fillColor)f[a.pointAttrToOptions.fill]=f.color||!m.options.color&&e[m.negative&&h?"negativeColor":"color"]||R(m.color).brighten(f.brightness|| e.brightness).get();J={color:m.color};H||(J.fillColor=m.color);v||(J.lineColor=m.color);c.hasOwnProperty("color")&&!c.color&&delete c.color;k&&!e.fillColor&&(f.fillColor=k);p[""]=a.convertAttribs(E(J,c),n[""]);p.hover=a.convertAttribs(d.hover,n.hover,p[""]);p.select=a.convertAttribs(d.select,n.select,p[""])}else p=n;m.pointAttr=p}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(Pa),d,e=a.data||[],f,g,h;T(a,"destroy");ma(a);u(a.axisTypes||[],function(b){if(h=a[b])ka(h.series,a), h.isDirty=h.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(d=e.length;d--;)(f=e[d])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);for(g in a)a[g]instanceof S&&!a[g].survive&&(d=c&&"group"===g?"hide":"destroy",a[g][d]());b.hoverSeries===a&&(b.hoverSeries=null);ka(b.series,a);for(g in a)delete a[g]},getGraphPath:function(a,b,c){var d=this,e=d.options,f=e.step,g,h=[],k;a=a||d.points;(g=a.reversed)&&a.reverse();(f={right:1,center:2}[f]||f&&3)&&g&&(f=4-f);e.connectNulls&& !b&&!c&&(a=this.getValidPoints(a));u(a,function(g,m){var n=g.plotX,p=g.plotY,q=a[m-1];(g.leftCliff||q&&q.rightCliff)&&!c&&(k=!0);g.isNull&&!r(b)&&0 k&&b.shadow))})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],h,k=this.graph,l=this.area,m=z(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],p,q=n.reversed,v=b.inverted,y=n.horiz,w,r,J,A=!1;d.length&&(k||l)&&n.min!==I&&(k&&k.hide(),l&&l.hide(),p=n.getExtremes(),u(d,function(d,u){e=q?y?b.plotWidth:0:y?0:n.toPixels(p.min);e=Q(z(t(f,e),0),m);f=Q(z(M(n.toPixels(t(d.value,p.max),!0)),0),m);A&&(e=f=n.toPixels(p.max));w=Math.abs(e-f);r=Q(e, f);J=z(e,f);if(n.isXAxis)(h={x:v?J:r,y:0,width:w,height:m},y)||(h.x=b.plotHeight-h.x);else if(h={x:0,y:v?J:r,width:m,height:w},y)h.y=b.plotWidth-h.y;b.inverted&&c.isVML&&(h=n.isXAxis?{x:0,y:q?r:J,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[u]?g[u].animate(h):(g[u]=c.clipRect(h),k&&a["zoneGraph"+u].clip(g[u]),l&&a["zoneArea"+u].clip(g[u]));A=d.value>p.max}),this.clips=g)},invertGroups:function(){function a(){var a={width:b.yAxis.len, height:b.xAxis.len};u(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;b.xAxis&&(W(c,"resize",a),W(b,"destroy",function(){ma(c,"resize",a)}),a(),b.invertGroups=a)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&& (b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&hb(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,h=a.hasRendered,k=b.seriesGroup;c=a.plotGroup("group","series",f,g,k);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,k);e&&a.animate(!0);a.getAttribs();c.inverted=a.isCartesian?b.inverted:!1;a.drawGraph&&(a.drawGraph(),a.applyZones()); u(a.points,function(a){a.redraw&&a.redraw()});a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();b.inverted&&a.invertGroups();!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);e&&a.animate();h||(a.animationTimeout=qa(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth, height:a.plotHeight}),c.animate({translateX:t(d&&d.left,a.plotLeft),translateY:t(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,e,f){var g,h;if(h=c&&c.length)return g=b.kdAxisArray[e%f],c.sort(function(a, b){return a[g]-b[g]}),h=Math.floor(h/2),{point:c[h],left:a(c.slice(0,h),e+1,f),right:a(c.slice(h+1),e+1,f)}}var b=this,c=b.kdDimensions;delete b.kdTree;qa(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,l,m){var n=b.point,p=d.kdAxisArray[l%m],q,v,t=n;v=r(a[e])&&r(n[e])?Math.pow(a[e]-n[e],2):null;q=r(a[f])&&r(n[f])?Math.pow(a[f]-n[f],2):null;q=(v||0)+(q||0);n.dist=r(q)?Math.sqrt(q):Number.MAX_VALUE;n.distX=r(v)?Math.sqrt(v): Number.MAX_VALUE;p=a[p]-n[p];q=0>p?"left":"right";v=0>p?"right":"left";b[q]&&(q=c(a,b[q],l+1,m),t=q[g]p;)d--;e.updateParallelArrays(k,"splice",d,0,0);e.updateParallelArrays(k,d);m&&k.name&&(m[p]=k.name);h.splice(d,0,a);q&&(e.data.splice(d,0,null),e.processData());"point"===f.legendType&&e.generatePoints();c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),e.updateParallelArrays(k,"shift"),h.shift()));e.isDirty=!0;e.isDirtyData=!0;b&&(e.getAttribs(), l.redraw())},removePoint:function(a,b,c){var d=this,e=d.data,f=e[a],g=d.points,h=d.chart,k=function(){g&&g.length===e.length&&g.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};cb(c,h);b=t(b,!0);f?f.firePointEvent("remove",null,k):k()},remove:function(a,b){var c=this,d=c.chart;T(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();t(a,!0)&&d.redraw(b)})}, update:function(a,b){var c=this,d=this.chart,e=this.userOptions,f=this.type,g=Z[f].prototype,h=["group","markerGroup","dataLabelsGroup"],k;if(a.type&&a.type!==f||void 0!==a.zIndex)h.length=0;u(h,function(a){h[a]=c[a];delete c[a]});a=F(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);for(k in g)this[k]=I;E(this,Z[a.type||f].prototype);u(h,function(a){c[a]=h[a]});this.init(d,a);d.linkSeries();t(b,!0)&&d.redraw(!1)}});E(va.prototype,{update:function(a, b){var c=this.chart;a=c.options[this.coll][this.options.index]=F(this.userOptions,a);this.destroy(!0);this._addedPlotLB=this.chart._labelPanes=I;this.init(c,E(a,{events:I}));c.isDirtyBox=!0;t(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);ka(b.axes,this);ka(b[c],this);b.options[c].splice(this.options.index,1);u(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;t(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, b)},setCategories:function(a,b){this.update({categories:a},b)}});var Ma=ia(ca);Z.line=Ma;sa.area=F(ua,{softThreshold:!1,threshold:0});var Ea=ia(ca,{type:"area",singleStacks:!1,getStackPoints:function(){var a=[],b=[],c=this.xAxis,d=this.yAxis,e=d.stacks[this.stackKey],f={},g=this.points,h=this.index,k=d.series,l=k.length,m,n=t(d.options.reversedStacks,!0)?1:-1,p,q;if(this.options.stacking){for(p=0;pa&&h>e?(h=z(a,e),l=2*e-h):hc&&l>e?(l=z(c,e),h=2*e-l):l=ba(b)&&.5a.closestPointRange*a.xAxis.transA?0:1),e=a.yAxis,f=a.translatedThreshold=e.getThreshold(c.threshold),g=t(c.minPointLength,5),h=a.getColumnMetrics(),k=h.width, l=a.barW=z(k,1+2*d),m=a.pointXOffset=h.offset;b.inverted&&(f-=.5);c.pointPadding&&(l=Ka(l));ca.prototype.translate.apply(a);u(a.points,function(c){var d=Q(t(c.yBottom,f),9E4),h=999+ba(d),h=Q(z(-h,c.plotY),e.len+h),v=c.plotX+m,u=l,w=Q(h,d),y,r=z(h,d)-w;ba(r)g?d-g:f-(y?g:0));c.barX=v;c.pointWidth=k;c.tooltipPos=b.inverted?[e.len+e.pos-b.plotLeft-h,a.xAxis.len-v-u/2,r]:[v+u/2,h+e.pos-b.plotTop,r];c.shapeType="rect";c.shapeArgs= a.crispCol(v,w,u,r)})},getSymbol:Qa,drawLegendSymbol:da.drawRectangle,drawGraph:Qa,drawPoints:function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,f,g;u(a.points,function(h){var k=h.graphic,l;X(h.plotY)&&null!==h.y?(f=h.shapeArgs,l=r(a.borderWidth)?{"stroke-width":a.borderWidth}:{},g=h.pointAttr[h.selected?"select":""]||a.pointAttr[""],k?(ab(k),k.attr(l).attr(g)[b.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});Ea=ia(ca,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group", "markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&ca.prototype.drawGraph.call(this)}});Z.scatter=Ea;sa.pie=F(ua,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1, tooltip:{followPointer:!0}});ua={type:"pie",isCartesian:!1,pointClass:ia(Xa,{init:function(){Xa.prototype.init.apply(this,arguments);var a=this,b;a.name=t(a.name,"Slice");b=function(b){a.slice("select"===b.type)};W(a,"select",b);W(a,"unselect",b);return a},setVisible:function(a,b){var c=this,d=c.series,e=d.chart,f=d.options.ignoreHiddenPoint;b=t(b,f);a!==c.visible&&(c.visible=c.options.visible=a=a===I?!c.visible:a,d.options.data[Ha(c,d.data)]=c.options,u(["graphic","dataLabel","connector","shadowGroup"], function(b){if(c[b])c[b][a?"show":"hide"](!0)}),c.legendItem&&e.legend.colorizeItem(c,a),!a&&"hover"===c.state&&c.setState(""),f&&(d.isDirty=!0),b&&e.redraw())},slice:function(a,b,c){var d=this.series;cb(c,d.chart);t(b,!0);this.sliced=this.options.sliced=a=r(a)?a:!this.sliced;d.options.data[Ha(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var b=this.shapeArgs,c=this.series.chart; return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.plotLeft+b.x,c.plotTop+b.y,b.r+a,b.r+a,{innerR:this.shapeArgs.r,start:b.start,end:b.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},animate:function(a){var b=this,c=b.points,d=b.startAngleRad;a||(u(c,function(a){var c=a.graphic,g=a.shapeArgs;c&&(c.attr({r:a.startR||b.center[3]/ 2,start:d,end:d}),c.animate({r:g.r,start:g.start,end:g.end},b.options.animation))}),b.animate=null)},updateTotals:function(){var a,b=0,c=this.points,d=c.length,e,f=this.options.ignoreHiddenPoint;for(a=0;a1.5*Ga?h-=2*Ga:h<-Ga/2&&(h+=2*Ga);v.slicedTranslation={translateX:M(la(h)*d),translateY:M(ra(h)*d)};f=la(h)*a[2]/2;g=ra(h)*a[2]/2;v.tooltipPos=[a[0]+.7*f,a[1]+.7*g];v.half=h<-Ga/2||h>Ga/2?1:0;v.angle=h;e=Q(e,n/2);v.labelPos=[a[0]+f+la(h)*n,a[1]+g+ra(h)*n,a[0]+f+la(h)*e,a[1]+g+ra(h)*e,a[0]+f,a[1]+g,0>n?"center":v.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g,h,k;e&&!a.shadowGroup&&(a.shadowGroup= b.g("shadow").add(a.group));u(a.points,function(l){null!==l.y&&(d=l.graphic,h=l.shapeArgs,f=l.shadowGroup,g=l.pointAttr[l.selected?"select":""],g.stroke||(g.stroke=g.fill),e&&!f&&(f=l.shadowGroup=b.g("shadow").add(a.shadowGroup)),c=l.sliced?l.slicedTranslation:{translateX:0,translateY:0},f&&f.attr(c),d?d.setRadialReference(a.center).attr(g).animate(E(h,c)):(k={"stroke-linejoin":"round"},l.visible||(k.visibility="hidden"),l.graphic=d=b[l.shapeType](h).setRadialReference(a.center).attr(g).attr(k).attr(c).add(a.group).shadow(e, f)))})},searchPoint:Qa,sortByAngle:function(a,b){a.sort(function(a,d){return void 0!==a.angle&&(d.angle-a.angle)*b})},drawLegendSymbol:da.drawRectangle,getCenter:Fb.getCenter,getSymbol:Qa};ua=ia(ca,ua);Z.pie=ua;ca.prototype.drawDataLabels=function(){var a=this,b=a.options,c=b.cursor,d=b.dataLabels,e=a.points,f,g,h=a.hasRendered||0,k,l,m=t(d.defer,!0),n=a.chart.renderer;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),l=a.plotGroup("dataLabelsGroup","data-labels",m&&!h?"hidden": "visible",d.zIndex||6),m&&(l.attr({opacity:+h}),h||W(a,"afterAnimate",function(){a.visible&&l.show();l[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=d,u(e,function(e){var h,m=e.dataLabel,u,w,y=e.connector,z=!0,A,B={};f=e.dlOptions||e.options&&e.options.dataLabels;h=t(f&&f.enabled,g.enabled)&&null!==e.y;if(m&&!h)e.dataLabel=m.destroy();else if(h){d=F(g,f);A=d.style;h=d.rotation;u=e.getLabelConfig();k=d.format?Fa(d.format,u):d.formatter.call(u,d);A.color=t(d.color,A.color,a.color,"black"); if(m)if(r(k))m.attr({text:k}),z=!1;else{if(e.dataLabel=m=m.destroy(),y)e.connector=y.destroy()}else if(r(k)){m={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:h,padding:d.padding,zIndex:1};"contrast"===A.color&&(B.color=d.inside||0>d.distance||b.stacking?n.getContrast(e.color||a.color):"#000000");c&&(B.cursor=c);for(w in m)m[w]===I&&delete m[w];m=e.dataLabel=n[h?"text":"label"](k,0,-9999,d.shape,null,null,d.useHTML).attr(m).css(E(A,B)).add(l).shadow(d.shadow)}m&& a.alignDataLabel(e,m,d,null,z)}})};ca.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=t(a.plotX,-9999),k=t(a.plotY,-9999),l=b.getBBox(),m=f.renderer.fontMetrics(c.style.fontSize).b,n=c.rotation,p=c.align,q=this.visible&&(a.series.forceDL||f.isInsidePlot(h,M(k),g)||d&&f.isInsidePlot(h,g?d.x+1:d.y+d.height-1,g)),v="justify"===t(c.overflow,"justify");q&&(d=E({x:g?f.plotWidth-k:h,y:M(g?f.plotHeight-h:k),width:0,height:0},d),E(c,{width:l.width,height:l.height}),n?(v=!1,g=f.renderer.rotCorr(m, n),g={x:d.x+c.x+d.width/2+g.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},b[e?"attr":"animate"](g).attr({align:p}),h=(n+720)%360,h=180h,"left"===p?g.y-=h?l.height:0:"center"===p?(g.x-=l.width/2,g.y-=l.height/2):"right"===p&&(g.x-=l.width,g.y-=h?0:l.height)):(b.align(c,null,d),g=b.alignAttr),v?this.justifyDataLabel(b,c,g,l,d,e):t(c.crop,!0)&&(q=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+l.width,g.y+l.height)),c.shape&&!n&&b.attr({anchorX:a.plotX,anchorY:a.plotY}));q||(ab(b), b.attr({y:-9999}),b.placed=!1)};ca.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g=this.chart,h=b.align,k=b.verticalAlign,l,m,n=a.box?0:a.padding||0;l=c.x+n;0>l&&("right"===h?b.align="left":b.x=-l,m=!0);l=c.x+d.width-n;l>g.plotWidth&&("left"===h?b.align="right":b.x=g.plotWidth-l,m=!0);l=c.y+n;0>l&&("bottom"===k?b.verticalAlign="top":b.y=-l,m=!0);l=c.y+d.height-n;l>g.plotHeight&&("top"===k?b.verticalAlign="bottom":b.y=g.plotHeight-l,m=!0);m&&(a.placed=!f,a.align(b,null,e))};Z.pie&&(Z.pie.prototype.drawDataLabels= function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=t(e.connectorPadding,10),g=t(e.connectorWidth,1),h=d.plotWidth,k=d.plotHeight,l,m,n=t(e.softConnector,!0),p=e.distance,q=a.center,v=q[2]/2,y=q[1],w=0B){c=[].concat(N);c.sort(Ya);for(D=R;D--;)c[D].rank=D;for(D=R;D--;)N[D].rank>=B&&N.splice(D,1);R=N.length}for(D=0;Dx&&null!==F[O+1]||ch-f&&(L[1]=z(M(E+B-h+f),L[1])),0> x-b/2?L[0]=z(M(-x+b/2),L[0]):x+b/2>k&&(L[2]=z(M(x+b/2-k),L[2])))}}}if(0===Ua(L)||this.verifyDataLabelOverflow(L))this.placeDataLabels(),w&&g&&u(this.points,function(b){l=b.connector;A=b.labelPos;(r=b.dataLabel)&&r._pos&&b.visible?(G=r._attr.visibility,E=r.connX,x=r.connY,m=n?["M",E+("left"===A[6]?5:-5),x,"C",E,x,2*A[2]-A[4],2*A[3]-A[5],A[2],A[3],"L",A[4],A[5]]:["M",E+("left"===A[6]?5:-5),x,"L",A[2],A[3],"L",A[4],A[5]],l?(l.animate({d:m}),l.attr("visibility",G)):b.connector=l=a.chart.renderer.path(m).attr({"stroke-width":g, stroke:e.connectorColor||b.color||"#606060",visibility:G}).add(a.dataLabelsGroup)):l&&(b.connector=l.destroy())})}},Z.pie.prototype.placeDataLabels=function(){u(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))})},Z.pie.prototype.alignDataLabel=Qa,Z.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f=e,g;null!==d[0]?f=z(b[2]-z(a[1],a[3]),e): (f=z(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2);null!==d[1]?f=z(Q(f,b[2]-z(a[0],a[2])),e):(f=z(Q(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);ft(this.translatedThreshold, g.yAxis.len)),l=t(c.inside,!!this.options.stacking);h&&(d=F(h),0>d.y&&(d.height+=d.y,d.y=0),h=d.y+d.height-g.yAxis.len,0n.x+q.translateX+(l.width-t)||p.x+v.translateX+(m.width-t)n.y+q.translateY+(l.height-t)||p.y+v.translateY+(m.height-t)this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&u(d,function(a){a.setState()});u("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,h=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",k=c[d],l=(b.pointRange||0)/ 2,m=b.getExtremes(),n=b.toValue(k-h,!0)+l,l=b.toValue(k+b.len-h,!0)-l,k=k>h;b.series.length&&(k||n>Q(m.dataMin,m.min))&&(!k||l.*?$/,"").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"\u00a0").replace(/­/g,"\u00ad").replace(//g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g, 'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(y){return y.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(y){var r=this,F,G,K,Ja,Ba,C=P(r.options,y),U=C.exporting.allowHTML;za.createElementNS||(za.createElementNS=function(r,y){return za.createElement(y)});G=oa("div",null,{position:"absolute",top:"-9999em",width:r.chartWidth+ "px",height:r.chartHeight+"px"},za.body);K=r.renderTo.style.width;Ba=r.renderTo.style.height;K=C.exporting.sourceWidth||C.chart.width||/px$/.test(K)&&parseInt(K,10)||600;Ba=C.exporting.sourceHeight||C.chart.height||/px$/.test(Ba)&&parseInt(Ba,10)||400;qa(C.chart,{animation:!1,renderTo:G,forExport:!0,renderer:"SVGRenderer",width:K,height:Ba});C.exporting.enabled=!1;delete C.data;C.series=[];V(r.series,function(r){Ja=P(r.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:r.visible}); Ja.isInternal||C.series.push(Ja)});y&&V(["xAxis","yAxis"],function(r){V(N(y[r]),function(y,B){C[r][B]=P(C[r][B],y)})});F=new x.Chart(C,r.callback);V(["xAxis","yAxis"],function(y){V(r[y],function(r,B){var x=F[y][B],C=r.getExtremes(),G=C.userMin,C=C.userMax;x&&(void 0!==G||void 0!==C)&&x.setExtremes(G,C,!0,!1)})});K=F.getChartHTML();C=null;F.destroy();ka(G);U&&(G=K.match(/<\/svg>(.*?$)/))&&(G=''+G[1]+"", K=K.replace("",G+""));K=this.sanitizeSVG(K);return K=K.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g,"'")},getSVGForExport:function(r,B){var x=this.options.exporting;return this.getSVG(P({chart:{borderRadius:0}},x.chartOptions,B,{exporting:{sourceWidth:r&&r.sourceWidth||x.sourceWidth,sourceHeight:r&&r.sourceHeight||x.sourceHeight}}))},exportChart:function(r,B){var F=this.getSVGForExport(r,B);r=P(this.options.exporting,r);x.post(r.url,{filename:r.filename||"chart", type:r.type,width:r.width||0,scale:r.scale||2,svg:F},r.formAttributes)},print:function(){var r=this,B=r.container,x=[],G=B.parentNode,F=za.body,K=F.childNodes,N=r.options.exporting.printMaxWidth,C,P,Y;if(!r.isPrinting){r.isPrinting=!0;r.pointer.reset(null,0);aa(r,"beforePrint");if(Y=N&&r.chartWidth>N)C=r.hasUserSize,P=[r.chartWidth,r.chartHeight,!1],r.setSize(N,r.chartHeight,!1);V(K,function(r,y){1===r.nodeType&&(x[y]=r.style.display,r.style.display="none")});F.appendChild(B);U.focus();U.print(); setTimeout(function(){G.appendChild(B);V(K,function(r,y){1===r.nodeType&&(r.style.display=x[y])});r.isPrinting=!1;Y&&(r.setSize.apply(r,P),r.hasUserSize=C);aa(r,"afterPrint")},1E3)}},contextMenu:function(y,B,x,G,F,N,P){var C=this,U=C.options.navigation,aa=U.menuItemStyle,ka=C.chartWidth,R=C.chartHeight,S="cache-"+y,ea=C[S],ia=Y(F,N),I,D,ha,M=function(r){C.pointer.inClass(r.target,y)||D()};ea||(C[S]=ea=oa("div",{className:y},{position:"absolute",zIndex:1E3,padding:ia+"px"},C.container),I=oa("div", null,qa({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},U.menuStyle),ea),D=function(){r(ea,{display:"none"});P&&P.setState(0);C.openMenu=!1},K(ea,"mouseleave",function(){ha=setTimeout(D,500)}),K(ea,"mouseenter",function(){clearTimeout(ha)}),K(za,"mouseup",M),K(C,"destroy",function(){Aa(za,"mouseup",M)}),V(B,function(y){if(y){var B=y.separator?oa("hr",null,null,I):oa("div",{onmouseover:function(){r(this,U.menuItemHoverStyle)},onmouseout:function(){r(this, aa)},onclick:function(r){r&&r.stopPropagation();D();y.onclick&&y.onclick.apply(C,arguments)},innerHTML:y.text||C.options.lang[y.textKey]},qa({cursor:"pointer"},aa),I);C.exportDivElements.push(B)}}),C.exportDivElements.push(I,ea),C.exportMenuWidth=ea.offsetWidth,C.exportMenuHeight=ea.offsetHeight);B={display:"block"};x+C.exportMenuWidth>ka?B.right=ka-x-F-ia+"px":B.left=x-ia+"px";G+N+C.exportMenuHeight>R&&"top"!==P.alignOptions.verticalAlign?B.bottom=R-G-ia+"px":B.top=G+N-ia+"px";r(ea,B);C.openMenu= !0},addButton:function(r){var B=this,F=B.renderer,G=P(B.options.navigation.buttonOptions,r),K=G.onclick,N=G.menuItems,U,C,aa={stroke:G.symbolStroke,fill:G.symbolFill},Y=G.symbolSize||12;B.btnCount||(B.btnCount=0);B.exportDivElements||(B.exportDivElements=[],B.exportSVGElements=[]);if(!1!==G.enabled){var V=G.theme,R=V.states,S=R&&R.hover,R=R&&R.select,ea;delete V.states;K?ea=function(r){r.stopPropagation();K.call(B,r)}:N&&(ea=function(){B.contextMenu(C.menuClassName,N,C.translateX,C.translateY,C.width, C.height,C);C.setState(2)});G.text&&G.symbol?V.paddingLeft=x.pick(V.paddingLeft,25):G.text||qa(V,{width:G.width,height:G.height,padding:0});C=F.button(G.text,0,0,ea,V,S,R).attr({title:B.options.lang[G._titleKey],"stroke-linecap":"round",zIndex:3});C.menuClassName=r.menuClassName||"highcharts-menu-"+B.btnCount++;G.symbol&&(U=F.symbol(G.symbol,G.symbolX-Y/2,G.symbolY-Y/2,Y,Y).attr(qa(aa,{"stroke-width":G.symbolStrokeWidth||1,zIndex:1})).add(C));C.add().align(qa(G,{width:C.width,x:x.pick(G.x,Fa)}),!0, "spacingBox");Fa+=(C.width+G.buttonSpacing)*("right"===G.align?-1:1);B.exportSVGElements.push(C,U)}},destroyExport:function(r){r=r.target;var B,x;for(B=0;B