(function(){function au(o,n){var s;o||(o={});for(s in n){o[s]=n[s]}return o}function bR(){for(var o=0,n=arguments,t=n.length,s={};o-1?n.split(".")[1].length:0):o=isNaN(n=a3(n))?2:n;var n=o,x=x===void 0?u.decimalPoint:x,w=w===void 0?u.thousandsSep:w,u=t<0?"-":"",o=String(at(t=a3(+t||0).toFixed(n))),s=o.length>3?o.length%3:0;return u+(s?o.substr(0,s)+w:"")+o.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+w)+(n?x+a3(t-o).toFixed(n).slice(2):"")}function bG(o,n){return Array((n||2)+1-String(o).length).join(0)+o}function bx(o,n,u,t){var s,u=ax(u,1);s=o/u;n||(n=[1,2,2.5,5,10],t&&t.allowDecimals===!1&&(u===1?n=[1,2,5,10]:u<=0.1&&(n=[1/u])));for(t=0;t=bj[a5]&&(u.setMilliseconds(0),u.setSeconds(D>=bj[e]?0:t*aR(u.getSeconds()/t)));if(D>=bj[e]){u[r](D>=bj[bV]?0:t*aR(u[aB]()/t))}if(D>=bj[bV]){u[a](D>=bj[aH]?0:t*aR(u[ad]()/t))}if(D>=bj[aH]){u[h](D>=bj[bH]?1:t*aR(u[br]()/t))}D>=bj[bH]&&(u[bI](D>=bj[bp]?0:t*aR(u[bl]()/t)),w=u[bv]());D>=bj[bp]&&(w-=w%t,u[bs](w));if(D===bj[bL]){u[h](u[br]()-u[bP]()+ax(B,1))}B=1;w=u[bv]();for(var s=u.getTime(),o=u[bl](),n=u[br](),u=x?0:(86400000+u.getTimezoneOffset()*60000)%86400000;ss&&(s=o[n])}return s}function bA(o,n){for(var s in o){o[s]&&o[s]!==n&&o[s].destroy&&o[s].destroy(),delete o[s]}}function ao(n){ay||(ay=aV(aC));n&&ay.appendChild(n);ay.innerHTML=""}function bB(o,n){var s="Highcharts error #"+o+": www.highcharts.com/errors/"+o;if(n){throw s}else{a2.console&&console.log(s)}}function af(n){return parseFloat(n.toPrecision(14))}function aL(o,n){H=ax(o,n.animation)}function by(){var o=aS.global.useUTC,n=o?"getUTC":"get",s=o?"setUTC":"set";aZ=o?Date.UTC:function(u,t,A,z,x,w){return(new Date(u,t,ax(A,1),ax(z,0),ax(x,0),ax(w,0))).getTime()};aB=n+"Minutes";ad=n+"Hours";bP=n+"Day";br=n+"Date";bl=n+"Month";bv=n+"FullYear";r=s+"Minutes";a=s+"Hours";h=s+"Date";bI=s+"Month";bs=s+"FullYear"}function an(){}function d(o,n,s){this.axis=o;this.pos=n;this.type=s||"";this.isNew=!0;s||this.addLabel()}function be(o,n){this.axis=o;if(n){this.options=n,this.id=n.id}return this}function a7(o,n,w,u,t){var s=o.chart.inverted;this.axis=o;this.isNegative=w;this.options=n;this.x=u;this.stack=t;this.alignOptions={align:n.align||(s?w?"left":"right":"center"),verticalAlign:n.verticalAlign||(s?"middle":w?"bottom":"top"),y:ax(n.y,s?4:w?14:-6),x:ax(n.x,s?w?-6:6:0)};this.textAlign=n.textAlign||(s?w?"right":"left":"center")}function aF(){this.init.apply(this,arguments)}function ah(o,n){var w=n.borderWidth,u=n.style,t=n.shared,s=at(u.padding);this.chart=o;this.options=n;u.padding=0;this.crosshairs=[];this.currentY=this.currentX=0;this.tooltipIsHidden=!0;this.label=o.renderer.label("",0,0,null,null,null,n.useHTML,null,"tooltip").attr({padding:s,fill:n.backgroundColor,"stroke-width":w,r:n.borderRadius,zIndex:8}).css(u).hide().add();bz||this.label.shadow(n.shadow);this.shared=t}function aD(o,n){var s=bz?"":n.chart.zoomType;this.zoomX=/x/.test(s);this.zoomY=/y/.test(s);this.options=n;this.chart=o;this.init(o,n.tooltip)}function l(n){this.init(n)}function bS(o,n){var u,t=o.series;o.series=null;u=bk(aS,o);u.series=o.series=t;var t=u.chart,s=t.margin,s=bw(s)?s:[s,s,s,s];this.optionsMarginTop=ax(t.marginTop,s[0]);this.optionsMarginRight=ax(t.marginRight,s[1]);this.optionsMarginBottom=ax(t.marginBottom,s[2]);this.optionsMarginLeft=ax(t.marginLeft,s[3]);this.runChartClick=(s=t.events)&&!!s.click;this.callback=n;this.isResizing=0;this.options=u;this.axes=[];this.series=[];this.hasCartesianSeries=t.showAxes;this.init(s)}var bo,bm=document,a2=window,a4=Math,av=a4.round,aR=a4.floor,y=a4.ceil,ar=a4.max,a1=a4.min,a3=a4.abs,aQ=a4.cos,ac=a4.sin,c=a4.PI,ae=c*2/360,bJ=navigator.userAgent,q=/msie/i.test(bJ)&&!a2.opera,a9=bm.documentMode===8,j=/AppleWebKit/.test(bJ),bQ=/Firefox/.test(bJ),aE=!!bm.createElementNS&&!!bm.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,v=bQ&&parseInt(bJ.split("Firefox/")[1],10)<4,bz=!aE&&!q&&!!bm.createElement("canvas").getContext,bK,g=bm.documentElement.ontouchstart!==bo,bC={},bE=0,ay,aS,K,H,bu,bj,b=function(){},aC="div",aT="none",bn="rgba(192,192,192,"+(aE?0.000001:0.002)+")",al="millisecond",a5="second",e="minute",bV="hour",aH="day",bL="week",bH="month",bp="year",aZ,aB,ad,bP,br,bl,bv,r,a,h,bI,bs,aP={};a2.Highcharts={};K=function(D,C,B){if(!aw(C)||isNaN(C)){return"Invalid date"}var D=ax(D,"%Y-%m-%d %H:%M:%S"),A=new Date(C),z,x=A[ad](),w=A[bP](),u=A[br](),t=A[bl](),s=A[bv](),o=aS.lang,n=o.weekdays,C={a:n[w].substr(0,3),A:n[w],d:bG(u),e:u,b:o.shortMonths[t],B:o.months[t],m:bG(t+1),y:s.toString().substr(2,2),Y:s,H:bG(x),I:bG(x%12||12),l:x%12||12,M:bG(A[aB]()),p:x<12?"AM":"PM",P:x<12?"am":"pm",S:bG(A.getSeconds()),L:bG(av(C%1000),3)};for(z in C){D=D.replace("%"+z,C[z])}return B?D.substr(0,1).toUpperCase()+D.substr(1):D};bN.prototype={wrapColor:function(n){if(this.color>=n){this.color=0}},wrapSymbol:function(n){if(this.symbol>=n){this.symbol=0}}};bj=bR(al,1,a5,1000,e,60000,bV,3600000,aH,86400000,bL,604800000,bH,2592000000,bp,31556952000);bu={init:function(B,A,z){var A=A||"",x=B.shift,w=A.indexOf("C")>-1,u=w?7:3,t,A=A.split(" "),z=[].concat(z),s,o,n=function(C){for(t=C.length;t--;){C[t]==="M"&&C.splice(t+1,0,C[t+1],C[t+2],C[t+1],C[t+2])}};w&&(n(A),n(z));B.isArea&&(s=A.splice(A.length-6,6),o=z.splice(z.length-6,6));if(x<=z.length/u){for(;x--;){z=[].concat(z).splice(0,u).concat(z)}}B.shift=0;if(A.length){for(B=z.length;A.length{point.key}
',pointFormat:'{series.name}: {point.y}
',shadow:!0,shared:bz,snap:g?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var aN=aS.plotOptions,aU=aN.line;by();var ai=function(o){var n=[],s;(function(t){(s=/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*\)/.exec(t))?n=[at(s[1]),at(s[2]),at(s[3]),parseFloat(s[4],10)]:(s=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(t))&&(n=[at(s[1],16),at(s[2],16),at(s[3],16),1])})(o);return{get:function(t){return n&&!isNaN(n[0])?t==="rgb"?"rgb("+n[0]+","+n[1]+","+n[2]+")":t==="a"?n[3]:"rgba("+n.join(",")+")":o},brighten:function(t){if(ak(t)&&t!==0){var u;for(u=0;u<3;u++){n[u]+=at(t*255),n[u]<0&&(n[u]=0),n[u]>255&&(n[u]=255)}}return this},setOpacity:function(t){n[3]=t;return this}}};an.prototype={init:function(o,n){this.element=n==="span"?aV(n):bm.createElementNS("http://www.w3.org/2000/svg",n);this.renderer=o;this.attrSetters={}},animate:function(o,n,s){n=ax(n,H,!0);k(this);if(n){n=bk(n);if(s){n.complete=s}f(this,o,n)}else{this.attr(o),s&&s()}},attr:function(G,F){var E,D,C,B,A=this.element,z=A.nodeName,x=this.renderer,w,u=this.attrSetters,t=this.shadows,s,o,n=this;bU(G)&&aw(F)&&(E=G,G={},G[E]=F);if(bU(G)){E=G,z==="circle"?E={x:"cx",y:"cy"}[E]||E:E==="strokeWidth"&&(E="stroke-width"),n=ap(A,E)||this[E]||0,E!=="d"&&E!=="visibility"&&(n=parseFloat(n))}else{for(E in G){if(w=!1,D=G[E],C=u[E]&&u[E](D,E),C!==!1){C!==bo&&(D=C);if(E==="d"){D&&D.join&&(D=D.join(" ")),/(NaN| {2}|^$)/.test(D)&&(D="M 0 0")}else{if(E==="x"&&z==="text"){for(C=0;Cx&&/[ \-]/.test(M.innerText)&&(bd(M,{width:x+"px",display:"block",whiteSpace:"normal"}),A=x),x=N.fontMetrics(M.style.fontSize).b,s=u<0&&-A,o=t<0&&-z,w=u*t<0,s+=t*x*(w?1-D:D),o-=u*x*(B?w?D:1-D:1),C&&(s-=A*D*(u<0?-1:1),B&&(o-=z*D*(t<0?-1:1)),bd(M,{textAlign:E})),this.xCorr=s,this.yCorr=o}bd(M,{left:G+s+"px",top:F+o+"px"});this.cTT=n}}else{this.alignOnAdd=!0}},updateTransform:function(){var o=this.translateX||0,n=this.translateY||0,u=this.inverted,t=this.rotation,s=[];u&&(o+=this.attr("width"),n+=this.attr("height"));(o||n)&&s.push("translate("+o+","+n+")");u?s.push("rotate(90) scale(-1,1)"):t&&s.push("rotate("+t+" "+(this.x||0)+" "+(this.y||0)+")");s.length&&ap(this.element,"transform",s.join(" "))},toFront:function(){var n=this.element;n.parentNode.appendChild(n);return this},align:function(o,n,z){o?(this.alignOptions=o,this.alignByTranslate=n,z||this.renderer.alignedObjects.push(this)):(o=this.alignOptions,n=this.alignByTranslate);var z=ax(z,this.renderer),x=o.align,w=o.verticalAlign,u=(z.x||0)+(o.x||0),t=(z.y||0)+(o.y||0),s={};/^(right|center)$/.test(x)&&(u+=(z.width-(o.width||0))/{right:1,center:2}[x]);s[n?"translateX":"x"]=av(u);/^(bottom|middle)$/.test(w)&&(t+=(z.height-(o.height||0))/({bottom:1,middle:2}[w]||1));s[n?"translateY":"y"]=av(t);this[this.placed?"animate":"attr"](s);this.placed=!0;this.alignAttr=s;return this},getBBox:function(o){var n,w,u=this.rotation;w=this.element;var t=u*ae;if(w.namespaceURI==="http://www.w3.org/2000/svg"||this.renderer.forExport){try{n=w.getBBox?au({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight}}catch(s){}if(!n||n.width<0){n={width:0,height:0}}o=n.width;w=n.height;if(u){n.width=a3(w*ac(t))+a3(o*aQ(t)),n.height=a3(w*aQ(t))+a3(o*ac(t))}}else{n=this.htmlGetBBox(o)}return n},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},add:function(o){var n=this.renderer,z=o||n,x=z.element||n.box,w=x.childNodes,u=this.element,t=ap(u,"zIndex"),s;this.parentInverted=o&&o.inverted;this.textStr!==void 0&&n.buildText(this);if(t){z.handleZ=!0,t=at(t)}if(z.handleZ){for(z=0;zt||!aw(t)&&aw(n))){x.insertBefore(u,o);s=!0;break}}}s||x.appendChild(u);this.added=!0;bf(this,"add");return this},safeRemoveChild:function(o){var n=o.parentNode;n&&n.removeChild(o)},destroy:function(){var o=this,n=o.element||{},w=o.shadows,u=o.box,t,s;n.onclick=n.onmouseout=n.onmouseover=n.onmousemove=null;k(o);if(o.clipPath){o.clipPath=o.clipPath.destroy()}if(o.stops){for(s=0;s/g,'').replace(/<(i|em)>/g,'').replace(//g,"").split(//g),A=C.childNodes,z=/style="([^"]+)"/,x=/href="([^"]+)"/,w=ap(C,"x"),u=D.styles,t=u&&at(u.width),s=u&&u.lineHeight,o,u=A.length,n=[];u--;){C.removeChild(A[u])}t&&!D.added&&this.box.appendChild(C);B[B.length-1]===""&&B.pop();az(B,function(L,I){var E,G=0,F,L=L.replace(//g,"|||");E=L.split("|||");az(E,function(Q){if(Q!==""||E.length===1){var M={},P=bm.createElementNS("http://www.w3.org/2000/svg","tspan");z.test(Q)&&ap(P,"style",Q.match(z)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));x.test(Q)&&(ap(P,"onclick",'location.href="'+Q.match(x)[1]+'"'),bd(P,{cursor:"pointer"}));Q=(Q.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");P.appendChild(bm.createTextNode(Q));G?M.dx=3:M.x=w;if(!G){if(I){!aE&&D.renderer.forExport&&bd(P,{display:"block"});F=a2.getComputedStyle&&at(a2.getComputedStyle(o,null).getPropertyValue("line-height"));if(!F||isNaN(F)){var O;if(!(O=s)){if(!(O=o.offsetHeight)){n[I]=C.getBBox().height,O=av(n[I]-(n[I-1]||0))||18}}F=O}ap(P,"dy",F)}o=P}ap(P,M);C.appendChild(P);G++;if(t){for(var Q=Q.replace(/-/g,"- ").split(" "),N=[];Q.length||N.length;){O=D.getBBox().width,M=O>t,!M||Q.length===1?(Q=N,N=[],Q.length&&(P=bm.createElementNS("http://www.w3.org/2000/svg","tspan"),ap(P,{dy:s||16,x:w}),C.appendChild(P),O>t&&(t=O))):(P.removeChild(P.firstChild),N.unshift(Q.pop())),Q.length&&P.appendChild(bm.createTextNode(Q.join(" ").replace(/- /g,"-")))}}}})})},button:function(F,E,D,C,B,A,z){var x=this.label(F,E,D),w=0,u,t,s,o,n,F={x1:0,y1:0,x2:0,y2:1},B=bk(bR("stroke-width",1,"stroke","#999","fill",bR("linearGradient",F,"stops",[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",bR("color","black")),B);s=B.style;delete B.style;A=bk(B,bR("stroke","#68A","fill",bR("linearGradient",F,"stops",[[0,"#FFF"],[1,"#ACF"]])),A);o=A.style;delete A.style;z=bk(B,bR("stroke","#68A","fill",bR("linearGradient",F,"stops",[[0,"#9BD"],[1,"#CDF"]])),z);n=z.style;delete z.style;a8(x.element,"mouseenter",function(){x.attr(A).css(o)});a8(x.element,"mouseleave",function(){u=[B,A,z][w];t=[s,o,n][w];x.attr(u).css(t)});x.setState=function(G){(w=G)?G===2&&x.attr(z).css(n):x.attr(B).css(s)};return x.on("click",function(){C.call(x)}).attr(B).css(au({cursor:"default"},s))},crispLine:function(o,n){o[1]===o[4]&&(o[1]=o[4]=av(o[1])+n%2/2);o[2]===o[5]&&(o[2]=o[5]=av(o[2])+n%2/2);return o},path:function(o){var n={fill:aT};aI(o)?n.d=o:bw(o)&&au(n,o);return this.createElement("path").attr(n)},circle:function(o,n,s){o=bw(o)?o:{x:o,y:n,r:s};return this.createElement("circle").attr(o)},arc:function(o,n,w,u,t,s){if(bw(o)){n=o.y,w=o.r,u=o.innerR,t=o.start,s=o.end,o=o.x}return this.symbol("arc",o||0,n||0,w||0,w||0,{innerR:u||0,start:t||0,end:s||0})},rect:function(o,n,w,u,t,s){t=bw(o)?o.r:t;t=this.createElement("rect").attr({rx:t,ry:t,fill:aT});return t.attr(bw(o)?o:t.crisp(s,o,n,ar(w,0),ar(u,0)))},setSize:function(o,n,u){var t=this.alignedObjects,s=t.length;this.width=o;this.height=n;for(this.boxWrapper[ax(u,!0)?"animate":"attr"]({width:o,height:n});s--;){t[s].align()}},g:function(o){var n=this.createElement("g");return aw(o)?n.attr({"class":"highcharts-"+o}):n},image:function(o,n,w,u,t){var s={preserveAspectRatio:aT};arguments.length>1&&au(s,{x:n,y:w,width:u,height:t});s=this.createElement("image").attr(s);s.element.setAttributeNS?s.element.setAttributeNS("http://www.w3.org/1999/xlink","href",o):s.element.setAttribute("hc-svg-href",o);return s},symbol:function(C,B,A,z,x,w){var u,t=this.symbols[C],t=t&&t(av(B),av(A),z,x,w),s=/^url\((.*?)\)$/,o,n;t?(u=this.path(t),au(u,{symbolName:C,x:B,y:A,width:z,height:x}),w&&au(u,w)):s.test(C)&&(n=function(E,D){E.attr({width:D[0],height:D[1]});E.alignByTranslate||E.translate(-av(D[0]/2),-av(D[1]/2))},o=C.match(s)[1],C=bC[o],u=this.image(o).attr({x:B,y:A}),C?n(u,C):(u.attr({width:0,height:0}),aV("img",{onload:function(){n(u,bC[o]=[this.width,this.height])},src:o})));return u},symbols:{circle:function(o,n,u,t){var s=0.166*u;return["M",o+u/2,n,"C",o+u+s,n,o+u+s,n+t,o+u/2,n+t,"C",o-s,n+t,o-s,n,o+u/2,n,"Z"]},square:function(o,n,t,s){return["M",o,n,"L",o+t,n,o+t,n+s,o,n+s,"Z"]},triangle:function(o,n,t,s){return["M",o+t/2,n,"L",o+t,n+s,o,n+s,"Z"]},"triangle-down":function(o,n,t,s){return["M",o,n,"L",o+t,n,o+t/2,n+s,"Z"]},diamond:function(o,n,t,s){return["M",o+t/2,n,"L",o+t,n+s/2,o+t/2,n+s,o,n+s/2,"Z"]},arc:function(C,B,A,z,x){var w=x.start,A=x.r||A||z,u=x.end-0.000001,z=x.innerR,t=x.open,s=aQ(w),o=ac(w),n=aQ(u),u=ac(u),x=x.end-w');if(n){t=n===aC||n==="span"||n==="img"?t.join(""):o.prepVML(t),this.element=aV(t)}this.renderer=o;this.attrSetters={}},add:function(o){var n=this.renderer,t=this.element,s=n.box,s=o?o.element||o:s;o&&o.inverted&&n.invertChild(t,s);a9&&s.gVis==="hidden"&&bd(t,{visibility:"hidden"});s.appendChild(t);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();bf(this,"add");return this},toggleChildren:function(o,n){for(var t=o.childNodes,s=t.length;s--;){bd(t[s],{visibility:n}),t[s].nodeName==="DIV"&&this.toggleChildren(t[s],n)}},updateTransform:an.prototype.htmlUpdateTransform,attr:function(G,F){var E,D,C,B=this.element||{},A=B.style,z=B.nodeName,x=this.renderer,w=this.symbolName,u,t=this.shadows,s,o=this.attrSetters,n=this;bU(G)&&aw(F)&&(E=G,G={},G[E]=F);if(bU(G)){E=G,n=E==="strokeWidth"||E==="stroke-width"?this.strokeweight:this[E]}else{for(E in G){if(D=G[E],s=!1,C=o[E]&&o[E](D,E),C!==!1&&D!==null){C!==bo&&(D=C);if(w&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(E)){u||(this.symbolAttr(G),u=!0),s=!0}else{if(E==="d"){D=D||[];this.d=D.join(" ");C=D.length;for(s=[];C--;){s[C]=ak(D[C])?av(D[C]*10)-5:D[C]==="Z"?"x":D[C]}D=s.join(" ")||"x";B.path=D;if(t){for(C=t.length;C--;){t[C].path=t[C].cutOff?this.cutOffPath(D,t[C].cutOff):D}}s=!0}else{if(E==="zIndex"||E==="visibility"){if(a9&&E==="visibility"&&z==="DIV"){B.gVis=D,this.toggleChildren(B,D),D==="visible"&&(D=null)}D&&(A[E]=D);s=!0}else{if(E==="width"||E==="height"){D=ar(0,D),this[E]=D,this.updateClipping?(this[E]=D,this.updateClipping()):A[E]=D,s=!0}else{if(E==="x"||E==="y"){this[E]=D,A[{x:"left",y:"top"}[E]]=D}else{if(E==="class"){B.className=D}else{if(E==="stroke"){D=x.color(D,B,E),E="strokecolor"}else{if(E==="stroke-width"||E==="strokeWidth"){B.stroked=D?!0:!1,E="strokeweight",this[E]=D,ak(D)&&(D+="px")}else{if(E==="dashstyle"){(B.getElementsByTagName("stroke")[0]||aV(x.prepVML([""]),null,null,B))[E]=D||"solid",this.dashstyle=D,s=!0}else{if(E==="fill"){z==="SPAN"?A.color=D:(B.filled=D!==aT?!0:!1,D=x.color(D,B,E),E="fillcolor")}else{if(z==="shape"&&E==="rotation"){this[E]=D}else{if(E==="translateX"||E==="translateY"||E==="rotation"){this[E]=D,this.updateTransform(),s=!0}else{if(E==="text"){this.bBox=null,B.innerHTML=D,s=!0}}}}}}}}}}}}}if(t&&E==="visibility"){for(C=t.length;C--;){t[C].style[E]=D}}s||(a9?B[E]=D:ap(B,E,D))}}}return n},clip:function(o){var n=this,u=o.members,t=n.element,s=t.parentNode;u.push(n);n.destroyClip=function(){bt(u,n)};s&&s.className==="highcharts-tracker"&&!a9&&bd(t,{visibility:"hidden"});return n.css(o.getCSS(n))},css:an.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&ao(n)},destroy:function(){this.destroyClip&&this.destroyClip();return an.prototype.destroy.apply(this)},empty:function(){for(var o=this.element.childNodes,n=o.length,s;n--;){s=o[n],s.parentNode.removeChild(s)}},on:function(o,n){this.element["on"+o]=function(){var s=a2.event;s.target=s.srcElement;n(s)};return this},cutOffPath:function(o,n){var s,o=o.split(/[ ,]/);s=o.length;if(s===9||s===11){o[s-4]=o[s-2]=at(o[s-2])-10*n}return o.join(" ")},shadow:function(D,C,B){var A=[],z=this.element,x=this.renderer,w,u=z.style,t,s=z.path,o,n;s&&typeof s.value!=="string"&&(s="x");n=s;if(D){for(D=1;D<=3;D++){o=7-2*D;B&&(n=this.cutOffPath(s.value,o+0.5));t=[''];w=aV(x.prepVML(t),null,{left:at(u.left)+1,top:at(u.top)+1});if(B){w.cutOff=o+1}t=[''];aV(x.prepVML(t),null,null,w);C?C.element.appendChild(w):z.parentNode.insertBefore(w,z);A.push(w)}this.shadows=A}return this}};i=aA(an,i);var a6={Element:i,isIE8:bJ.indexOf("MSIE 8.0")>-1,init:function(o,n,u){var t,s;this.alignedObjects=[];t=this.createElement(aC);s=t.element;s.style.position="relative";o.appendChild(t.element);this.box=s;this.boxWrapper=t;this.setSize(n,u,!1);if(!bm.namespaces.hcv){bm.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),bm.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}},isHidden:function(){return !this.box.offsetWidth},clipRect:function(o,n,u,t){var s=this.createElement();return au(s,{members:[],left:o,top:n,width:u,height:t,getCSS:function(x){var w=x.inverted,C=this.top,B=this.left,A=B+this.width,z=C+this.height,C={clip:"rect("+av(w?B:C)+"px,"+av(w?z:A)+"px,"+av(w?A:z)+"px,"+av(w?C:B)+"px)"};!w&&a9&&x.element.nodeName!=="IMG"&&au(C,{width:A+"px",height:z+"px"});return C},updateClipping:function(){az(s.members,function(w){w.css(s.getCSS(w))})}})},color:function(P,O,N){var M,L=/^rgba/,I,G=aT;P&&P.linearGradient?I="gradient":P&&P.radialGradient&&(I="pattern");if(I){var F,E,D=P.linearGradient||P.radialGradient,C,B,A,x,w,z,u="",P=P.stops,n,t=[];B=P[0];n=P[P.length-1];B[0]>0&&P.unshift([0,B[1]]);n[0]<1&&P.push([1,n[1]]);az(P,function(s,o){L.test(s[1])?(M=ai(s[1]),F=M.get("rgb"),E=M.get("a")):(F=s[1],E=1);t.push(s[0]*100+"% "+F);o?(x=E,w=F):(A=E,z=F)});I==="gradient"?(C=D.x1||D[0]||0,P=D.y1||D[1]||0,B=D.x2||D[2]||0,D=D.y2||D[3]||0,C=90-a4.atan((D-P)/(B-C))*180/c):(G=D.r*2,u='src="http://code.highcharts.com/gfx/radial-gradient.png" size="'+G+","+G+'" origin="0.5,0.5" position="'+D.cx+","+D.cy+'" color2="'+z+'" ',G=w);N==="fill"?(N=[''],aV(this.prepVML(N),null,null,O)):G=F}else{if(L.test(P)&&O.tagName!=="IMG"){M=ai(P),N=["<",N,' opacity="',M.get("a"),'"/>'],aV(this.prepVML(N),null,null,O),G=M.get("rgb")}else{O=O.getElementsByTagName(N);if(O.length){O[0].opacity=1}G=P}}return G},prepVML:function(o){var n=this.isIE8,o=o.join("");n?(o=o.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),o=o.indexOf('style="')===-1?o.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):o.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):o=o.replace("<","1&&s.css({left:n,top:w,width:u,height:t});return s},rect:function(o,n,x,w,u,t){if(bw(o)){n=o.y,x=o.width,w=o.height,t=o.strokeWidth,o=o.x}var s=this.symbol("rect");s.r=u;return s.attr(s.crisp(t,o,n,ar(x,0),ar(w,0)))},invertChild:function(o,n){var s=n.style;bd(o,{flip:"x",left:at(s.width)-1,top:at(s.height)-1,rotation:-90})},symbols:{arc:function(E,D,C,B,A){var z=A.start,x=A.end,w=A.r||C||B,C=aQ(z),B=ac(z),u=aQ(x),t=ac(x),s=A.innerR,o=0.08/w,n=s&&0.1/s||0;if(x-z===0){return["x"]}else{2*c-x+zt&&(C=!1)):w+s>n&&(w=n-s,B&&w+o0&&Q.height>0){M=bk({align:P&&E&&"center",x:P?!E&&4:10,verticalAlign:!P&&E&&"middle",y:P?E?16:10:E?6:-4,rotation:P&&!E&&90},M);if(!L){R.label=L=s.text(M.text,0,0).attr({align:M.textAlign||M.align,rotation:M.rotation,zIndex:o}).css(M.style).add()}Q=[z[1],z[4],ax(z[6],z[1])];z=[z[2],z[5],ax(z[7],z[2])];P=aM(Q);E=aM(z);L.align(M,!1,{x:P,y:E,width:bO(Q)-P,height:bO(z)-E});L.show()}else{L&&L.hide()}return R},destroy:function(){bt(this.axis.plotLinesAndBands,this);bA(this,this.axis)}};a7.prototype={destroy:function(){bA(this,this.axis)},setTotal:function(n){this.cum=this.total=n},render:function(o){var n=this.options.formatter.call(this);this.label?this.label.attr({text:n,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(n,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:"hidden"}).add(o)},setOffset:function(o,n){var z=this.axis,x=z.chart,w=x.inverted,u=this.isNegative,t=z.translate(this.total,0,0,0,1),z=z.translate(0),z=a3(t-z),s=x.xAxis[0].translate(this.x)+o,x=x.plotHeight,w={x:w?u?t:t-z:s,y:w?x-s-n:u?x-t-z:x-t,width:w?z:n,height:w?n:z};this.label&&this.label.align(this.alignOptions,null,w).attr({visibility:"visible"})}};aF.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,gridLineColor:"#C0C0C0",labels:bc,lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:bc.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(o,n){var x=n.isX;this.horiz=o.inverted?!x:x;this.xOrY=(this.isXAxis=x)?"x":"y";this.opposite=n.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(n);var w=this.options,u=w.type,t=u==="datetime";this.labelFormatter=w.labels.formatter||this.defaultLabelFormatter;this.staggerLines=this.horiz&&w.labels.staggerLines;this.userOptions=n;this.minPixelPadding=0;this.chart=o;this.reversed=w.reversed;this.categories=w.categories;this.isLog=u==="logarithmic";this.isLinked=aw(w.linkedTo);this.isDatetimeAxis=t;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=w.minRange||w.maxZoom;this.range=w.range;this.offset=w.offset||0;this.stacks={};this.min=this.max=null;var s,w=this.options.events;o.axes.push(this);o[x?"xAxis":"yAxis"].push(this);this.series=[];if(o.inverted&&x&&this.reversed===bo){this.reversed=!0}this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;this.addPlotLine=this.addPlotBand=this.addPlotBandOrLine;for(s in w){a8(this,s,w[s])}if(this.isLog){this.val2lin=bD,this.lin2val=a0}},setOptions:function(n){this.options=bk(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n)},defaultLabelFormatter:function(){var o=this.axis,n=this.value,t=o.tickInterval,s=this.dateTimeLabelFormat;return o.categories?n:s?K(s,n):t%1000000===0?n/1000000+"M":t%1000===0?n/1000+"k":n>=1000?J(n,0):J(n,-1)},getSeriesExtremes:function(){var o=this,n=o.chart,w=o.stacks,u=[],t=[],s;o.dataMin=o.dataMax=null;az(o.series,function(W){if(W.visible||!n.options.chart.ignoreHiddenSeries){var V=W.options,U,T,S,R,Q,O,N,P,M,A=V.threshold,I,G=[],F=0;if(o.isLog&&A<=0){A=V.threshold=null}if(o.isXAxis){if(V=W.xData,V.length){o.dataMin=a1(ax(o.dataMin,V[0]),aM(V)),o.dataMax=ar(ax(o.dataMax,V[0]),bO(V))}}else{var E,z,x,L=W.cropped,B=W.xAxis.getExtremes(),D=!!W.modifyValue;U=V.stacking;o.usePercentage=U==="percent";if(U){Q=V.stack,R=W.type+ax(Q,""),O="-"+R,W.stackKey=R,T=u[R]||[],u[R]=T,S=t[O]||[],t[O]=S}if(o.usePercentage){o.dataMin=0,o.dataMax=99}V=W.processedXData;N=W.processedYData;I=N.length;for(s=0;s=B.min&&(V[s-1]||P)<=B.max)){if(P=M.length){for(;P--;){M[P]!==null&&(G[F++]=M[P])}}else{G[F++]=M}}}if(!o.usePercentage&&G.length){o.dataMin=a1(ax(o.dataMin,G[0]),aM(G)),o.dataMax=ar(ax(o.dataMax,G[0]),bO(G))}if(aw(A)){if(o.dataMin>=A){o.dataMin=A,o.ignoreMinPadding=!0}else{if(o.dataMaxz+this.width){n=!0}}else{if(B=z,u=o-this.right,wx+this.height){n=!0}}}return n?null:A.renderer.crispLine(["M",B,w,"L",u,t],C||0)},getPlotBandPath:function(o,n){var t=this.getPlotLinePath(n),s=this.getPlotLinePath(o);s&&t?s.push(t[4],t[5],t[1],t[2]):s=null;return s},getLinearTickPositions:function(o,n,u){for(var t,n=af(aR(n/o)*o),u=af(y(u/o)*o),s=[];n<=u;){s.push(n);n=af(n+o);if(n===t){break}t=n}return s},getLogTickPositions:function(D,C,B,A){var z=this.options,x=this.len,w=[];if(!A){this._minorAutoInterval=null}if(D>=0.5){D=av(D),w=this.getLinearTickPositions(D,C,B)}else{if(D>=0.08){for(var x=aR(C),u,t,s,o,n,z=D>0.3?[1,2,4]:D>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];xC&&w.push(o),o>B&&(n=!0),o=s}}}else{if(C=a0(C),B=a0(B),D=z[A?"minorTickInterval":"tickInterval"],D=ax(D==="auto"?null:D,this._minorAutoInterval,(B-C)*(z.tickPixelInterval/(A?5:1))/((A?x/this.tickPositions.length:x)||1)),D=bx(D,null,a4.pow(10,aR(a4.log(D)/a4.LN10))),w=ag(this.getLinearTickPositions(D,C,B),bD),!A){this._minorAutoInterval=D/5}}}if(!A){this.tickInterval=D}return w},getMinorTickPositions:function(){var o=this.tickPositions,n=this.minorTickInterval,u=[],t,s;if(this.isLog){s=o.length;for(t=1;t=this.minRange,w,u,t,s,o;if(this.isXAxis&&this.minRange===bo&&!this.isLog){aw(C.min)||aw(C.max)?this.minRange=null:(az(this.series,function(D){s=D.xData;for(u=o=D.xIncrement?1:s.length-1;u>0;u--){if(t=s[u]-s[u-1],w===bo||t0||!E.ignoreMaxPadding)){E.max+=D*u}}E.tickInterval=E.min===E.max||E.min===void 0||E.max===void 0?1:x&&!s&&o===E.linkedParent.options.tickPixelInterval?E.linkedParent.tickInterval:ax(s,n?1:(E.max-E.min)*o/(E.len||1));z&&!F&&az(E.series,function(G){G.processData(E.min!==E.oldMin||E.max!==E.oldMax)});E.setAxisTranslation();E.beforeSetTickPositions&&E.beforeSetTickPositions();if(E.postProcessTickInterval){E.tickInterval=E.postProcessTickInterval(E.tickInterval)}if(!A&&!B&&(F=a4.pow(10,aR(a4.log(E.tickInterval)/a4.LN10)),!aw(C.tickInterval))){E.tickInterval=bx(E.tickInterval,null,F,C)}E.minorTickInterval=C.minorTickInterval==="auto"&&E.tickInterval?E.tickInterval/5:C.minorTickInterval;E.tickPositions=w=C.tickPositions||w&&w.apply(E,[E.min,E.max]);if(!w){w=A?(E.getNonLinearTimeTicks||aK)(bq(E.tickInterval,C.units),E.min,E.max,C.startOfWeek,E.ordinalPositions,E.closestPointRange,!0):B?E.getLogTickPositions(E.tickInterval,E.min,E.max):E.getLinearTickPositions(E.tickInterval,E.min,E.max),E.tickPositions=w}if(!x){B=w[0],A=w[w.length-1],C.startOnTick?E.min=B:E.min>B&&w.shift(),C.endOnTick?E.max=A:E.maxn[s]&&this.options.alignTicks!==!1){n[s]=t.length}o.maxTicks=n},adjustTickAmount:function(){var o=this.xOrY,n=this.tickPositions,u=this.chart.maxTicks;if(u&&u[o]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var t=this.tickAmount,s=n.length;this.tickAmount=o=u[o];if(so||o===null?o=s:n=T.min&&o<=T.max){I[o]||(I[o]=new d(T,o)),A&&I[o].isNew&&I[o].render(t,!0),I[o].isActive=!0,I[o].render(t)}}),C&&az(N,function(o,t){if(t%2===0&&o1||a3(n-s.currentY)>1?function(){s.move(o,n)}:null},hide:function(){if(!this.tooltipIsHidden){var n=this.chart.hoverPoints;this.label.hide();n&&az(n,function(o){o.setState()});this.chart.hoverPoints=null;this.tooltipIsHidden=!0}},hideCrosshairs:function(){az(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(o,n){var x,w=this.chart,u=w.inverted,t=0,s=0,o=bh(o);x=o[0].tooltipPos;x||(az(o,function(z){t+=z.plotX;s+=z.plotLow?(z.plotLow+z.plotHigh)/2:z.plotY}),t/=o.length,s/=o.length,x=[u?w.plotWidth-s:t,this.shared&&!u&&o.length>1&&n?n.chartY-w.plotTop:u?w.plotHeight-t:s]);return ag(x,av)},getPosition:function(D,C,B){var A=this.chart,z=A.plotLeft,x=A.plotTop,w=A.plotWidth,u=A.plotHeight,t=ax(this.options.distance,12),s=B.plotX,B=B.plotY,A=s+z+(A.inverted?t:-D-t),o=B-C+x+15,n;A<7&&(A=z+s+t);A+D>z+w&&(A-=A+D-(z+w),o=B-C+x-t,n=!0);o=o&&B<=o+C&&(o=B+x+t));o+C>x+u&&(o=ar(x,x+u-C-t));return{x:A,y:o}},refresh:function(F,E){function D(){var I=this.points||bh(this),G=I[0].series,L;L=[G.tooltipHeaderFormatter(I[0].key)];az(I,function(M){G=M.series;L.push(G.tooltipFormatter&&G.tooltipFormatter(M)||M.point.tooltipFormatter(G.tooltipOptions.pointFormat))});L.push(A.footerFormat||"");return L.join("")}var C=this.chart,B=this.label,A=this.options,z,x,w,u={},t,s=[];t=A.formatter||D;var u=C.hoverPoints,o,n=A.crosshairs;w=this.shared;x=this.getAnchor(F,E);z=x[0];x=x[1];w&&(!F.series||!F.series.noSharedTooltip)?(u&&az(u,function(G){G.setState()}),C.hoverPoints=F,az(F,function(G){G.setState("hover");s.push(G.getLabelConfig())}),u={x:F[0].category,y:F[0].y},u.points=s,F=F[0]):u=F.getLabelConfig();t=t.call(u);u=F.series;w=w||!u.isCartesian||u.tooltipOutsidePlot||C.isInsidePlot(z,x);t===!1||!w?this.hide():(this.tooltipIsHidden&&B.show(),B.attr({text:t}),o=A.borderColor||F.color||u.color||"#606060",B.attr({stroke:o}),B=(A.positioner||this.getPosition).call(this,B.width,B.height,{plotX:z,plotY:x}),this.move(av(B.x),av(B.y)),this.tooltipIsHidden=!1);if(n){n=bh(n);for(B=n.length;B--;){if(w=F.series[B?"yAxis":"xAxis"],n[B]&&w){if(w=w.getPlotLinePath(B?ax(F.stackY,F.y):F.x,1),this.crosshairs[B]){this.crosshairs[B].attr({d:w,visibility:"visible"})}else{u={"stroke-width":n[B].width||1,stroke:n[B].color||"#C0C0C0",zIndex:n[B].zIndex||2};if(n[B].dashStyle){u.dashstyle=n[B].dashStyle}this.crosshairs[B]=C.renderer.path(w).attr(u).add()}}}}bf(C,"tooltipRefresh",{text:t,x:z+C.plotLeft,y:x+C.plotTop,borderColor:o})},tick:function(){this.tooltipTick&&this.tooltipTick()}};aD.prototype={normalizeMouseEvent:function(o){var n,t,s,o=o||a2.event;if(!o.target){o.target=o.srcElement}if(o.originalEvent){o=o.originalEvent}if(o.event){o=o.event}s=o.touches?o.touches.item(0):o;this.chartPosition=n=aG(this.chart.container);s.pageX===bo?(t=o.x,n=o.y):(t=s.pageX-n.left,n=s.pageY-n.top);return au(o,{chartX:av(t),chartY:av(n)})},getMouseCoordinates:function(o){var n={xAxis:[],yAxis:[]},s=this.chart;az(s.axes,function(u){var t=u.isXAxis;n[t?"xAxis":"yAxis"].push({axis:u,value:u.translate((s.inverted?!t:t)?o.chartX-s.plotLeft:s.plotHeight-o.chartY+s.plotTop,!0)})});return n},onmousemove:function(C){var B=this.chart,A=B.series,z,x,w=B.hoverPoint,u=B.hoverSeries,t,s,o=B.chartWidth,n=B.inverted?B.plotHeight+B.plotTop-C.chartY:C.chartX-B.plotLeft;if(B.tooltip&&this.options.tooltip.shared&&(!u||!u.noSharedTooltip)){x=[];t=A.length;for(s=0;so&&x.splice(t,1)}if(x.length&&x[0].plotX!==this.hoverX){B.tooltip.refresh(x,C),this.hoverX=x[0].plotX}}if(u&&u.tracker&&(z=u.tooltipPoints[n])&&z!==w){z.onMouseOver()}},resetTracker:function(o){var n=this.chart,u=n.hoverSeries,t=n.hoverPoint,s=n.hoverPoints||t,n=n.tooltip;(o=o&&n&&s)&&bh(s)[0].plotX===bo&&(o=!1);if(o){n.refresh(s)}else{if(t){t.onMouseOut()}if(u){u.onMouseOut()}n&&(n.hide(),n.hideCrosshairs());this.hoverX=null}},setDOMEvents:function(){function o(){if(n.selectionMarker){var E={xAxis:[],yAxis:[]},D=n.selectionMarker.getBBox(),C=D.x-z.plotLeft,B=D.y-z.plotTop,A;w&&(az(z.axes,function(G){if(G.options.zoomEnabled!==!1){var F=G.isXAxis,L=z.inverted?!F:F,I=G.translate(L?C:z.plotHeight-B-D.height,!0,0,0,1),L=G.translate(L?C+D.width:z.plotHeight-B,!0,0,0,1);!isNaN(I)&&!isNaN(L)&&(E[F?"xAxis":"yAxis"].push({axis:G,min:a1(I,L),max:ar(I,L)}),A=!0)}}),A&&bf(z,"selection",E,function(F){z.zoom(F)}));n.selectionMarker=n.selectionMarker.destroy()}if(z){bd(x,{cursor:"auto"}),z.cancelClick=w,z.mouseIsDown=w=!1}aY(bm,g?"touchend":"mouseup",o)}var n=this,z=n.chart,x=z.container,w,u=n.zoomX&&!z.inverted||n.zoomY&&z.inverted,t=n.zoomY&&!z.inverted||n.zoomX&&z.inverted;n.hideTooltipOnMouseMove=function(A){aj(A);n.chartPosition&&z.hoverSeries&&z.hoverSeries.isCartesian&&!z.isInsidePlot(A.pageX-n.chartPosition.left-z.plotLeft,A.pageY-n.chartPosition.top-z.plotTop)&&n.resetTracker()};n.hideTooltipOnMouseLeave=function(){n.resetTracker();n.chartPosition=null};x.onmousedown=function(A){A=n.normalizeMouseEvent(A);!g&&A.preventDefault&&A.preventDefault();z.mouseIsDown=!0;z.cancelClick=!1;z.mouseDownX=n.mouseDownX=A.chartX;n.mouseDownY=A.chartY;a8(bm,g?"touchend":"mouseup",o)};var s=function(C){if(!C||!(C.touches&&C.touches.length>1)){C=n.normalizeMouseEvent(C);if(!g){C.returnValue=!1}var E=C.chartX,D=C.chartY,B=!z.isInsidePlot(E-z.plotLeft,D-z.plotTop);g&&C.type==="touchstart"&&(ap(C.target,"isTracker")?z.runTrackerClick||C.preventDefault():!z.runChartClick&&!B&&C.preventDefault());if(B){Ez.plotLeft+z.plotWidth&&(E=z.plotLeft+z.plotWidth),Dz.plotTop+z.plotHeight&&(D=z.plotTop+z.plotHeight)}if(z.mouseIsDown&&C.type!=="touchstart"){if(w=Math.sqrt(Math.pow(n.mouseDownX-E,2)+Math.pow(n.mouseDownY-D,2)),w>10){C=z.isInsidePlot(n.mouseDownX-z.plotLeft,n.mouseDownY-z.plotTop);if(z.hasCartesianSeries&&(n.zoomX||n.zoomY)&&C&&!n.selectionMarker){n.selectionMarker=z.renderer.rect(z.plotLeft,z.plotTop,u?1:z.plotWidth,t?1:z.plotHeight,0).attr({fill:n.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()}if(n.selectionMarker&&u){var A=E-n.mouseDownX;n.selectionMarker.attr({width:a3(A),x:(A>0?0:A)+n.mouseDownX})}n.selectionMarker&&t&&(D-=n.mouseDownY,n.selectionMarker.attr({height:a3(D),y:(D>0?0:D)+n.mouseDownY}));C&&!n.selectionMarker&&n.options.chart.panning&&z.pan(E)}}else{if(!B){n.onmousemove(C)}}return B||!z.hasCartesianSeries}};x.onmousemove=s;a8(x,"mouseleave",n.hideTooltipOnMouseLeave);a8(bm,"mousemove",n.hideTooltipOnMouseMove);x.ontouchstart=function(A){if(n.zoomX||n.zoomY){x.onmousedown(A)}s(A)};x.ontouchmove=s;x.ontouchend=function(){w&&n.resetTracker()};x.onclick=function(A){var D=z.hoverPoint,C,B,A=n.normalizeMouseEvent(A);A.cancelBubble=!0;if(!z.cancelClick){D&&(ap(A.target,"isTracker")||ap(A.target.parentNode,"isTracker"))?(C=D.plotX,B=D.plotY,au(D,{pageX:n.chartPosition.left+z.plotLeft+(z.inverted?z.plotWidth-B:C),pageY:n.chartPosition.top+z.plotTop+(z.inverted?z.plotHeight-C:B)}),bf(D.series,"click",au(A,{point:D})),D.firePointEvent("click",A)):(au(A,n.getMouseCoordinates(A)),z.isInsidePlot(A.chartX-z.plotLeft,A.chartY-z.plotTop)&&bf(z,"click",A))}}},destroy:function(){var o=this.chart,n=o.container;if(o.trackerGroup){o.trackerGroup=o.trackerGroup.destroy()}aY(n,"mouseleave",this.hideTooltipOnMouseLeave);aY(bm,"mousemove",this.hideTooltipOnMouseMove);n.onclick=n.onmousedown=n.onmousemove=n.ontouchstart=n.ontouchend=n.ontouchmove=null;clearInterval(this.tooltipInterval)},init:function(o,n){if(!o.trackerGroup){o.trackerGroup=o.renderer.g("tracker").attr({zIndex:9}).add()}if(n.enabled){o.tooltip=new ah(o,n),this.tooltipInterval=setInterval(function(){o.tooltip.tick()},32)}this.setDOMEvents()}};l.prototype={init:function(o){var n=this,w=n.options=o.options.legend;if(w.enabled){var u=w.itemStyle,t=ax(w.padding,8),s=w.itemMarginTop||0;n.baseline=at(u.fontSize)+3+s;n.itemStyle=u;n.itemHiddenStyle=bk(u,w.itemHiddenStyle);n.itemMarginTop=s;n.padding=t;n.initialItemX=t;n.initialItemY=t-5;n.maxItemWidth=0;n.chart=o;n.itemHeight=0;n.lastLineHeight=0;n.render();a8(n.chart,"endResize",function(){n.positionCheckboxes()})}},colorizeItem:function(o,n){var x=this.options,w=o.legendItem,u=o.legendLine,t=o.legendSymbol,s=this.itemHiddenStyle.color,x=n?x.itemStyle.color:s,s=n?o.color:s;w&&w.css({fill:x});u&&u.attr({stroke:s});t&&t.attr({stroke:s,fill:s})},positionItem:function(o){var n=this.options,w=n.symbolPadding,n=!n.rtl,u=o._legendItemPos,t=u[0],u=u[1],s=o.checkbox;o.legendGroup&&o.legendGroup.translate(n?t:this.legendWidth-t-2*w-4,u);if(s){s.x=t,s.y=u}},destroyItem:function(o){var n=o.checkbox;az(["legendItem","legendLine","legendSymbol","legendGroup"],function(s){o[s]&&o[s].destroy()});n&&ao(o.checkbox)},destroy:function(){var o=this.group,n=this.box;if(n){this.box=n.destroy()}if(o){this.group=o.destroy()}},positionCheckboxes:function(){var n=this;az(n.allItems,function(o){var t=o.checkbox,s=n.group.alignAttr;t&&bd(t,{left:s.translateX+o.legendItemWidth+t.x-20+"px",top:s.translateY+t.y+3+"px"})})},renderItem:function(U){var B;var T=this,S=T.chart,R=S.renderer,Q=T.options,P=Q.layout==="horizontal",O=Q.symbolWidth,N=Q.symbolPadding,M=T.itemStyle,L=T.itemHiddenStyle,I=T.padding,G=!Q.rtl,F=Q.width,C=Q.itemMarginBottom||0,E=T.itemMarginTop,D=T.initialItemX,A=U.legendItem,z=U.series||U,x=z.options,w=x.showCheckbox;if(!A&&(U.legendGroup=R.g("legend-item").attr({zIndex:1}).add(T.scrollGroup),z.drawLegendSymbol(T,U),U.legendItem=A=R.text(Q.labelFormatter.call(U),G?O+N:-N,T.baseline,Q.useHTML).css(bk(U.visible?M:L)).attr({align:G?"left":"right",zIndex:2}).add(U.legendGroup),U.legendGroup.on("mouseover",function(){U.setState("hover");A.css(T.options.itemHoverStyle)}).on("mouseout",function(){A.css(U.visible?M:L);U.setState()}).on("click",function(n){var o=function(){U.setVisible()},n={browserEvent:n};U.firePointEvent?U.firePointEvent("legendItemClick",n,o):bf(U,"legendItemClick",n,o)}),T.colorizeItem(U,U.visible),x&&w)){U.checkbox=aV("input",{type:"checkbox",checked:U.selected,defaultChecked:U.selected},Q.itemCheckboxStyle,S.container),a8(U.checkbox,"click",function(n){bf(U,"checkboxClick",{checked:n.target.checked},function(){U.select()})})}R=A.getBBox();B=U.legendItemWidth=Q.itemWidth||O+N+R.width+I+(w?20:0),Q=B;T.itemHeight=O=R.height;if(P&&T.itemX-D+Q>(F||S.chartWidth-2*I-D)){T.itemX=D,T.itemY+=E+T.lastLineHeight+C,T.lastLineHeight=0}T.maxItemWidth=ar(T.maxItemWidth,Q);T.lastItemY=E+T.itemY+C;T.lastLineHeight=ar(O,T.lastLineHeight);U._legendItemPos=[T.itemX,T.itemY];P?T.itemX+=Q:(T.itemY+=E+O+C,T.lastLineHeight=O);T.offsetWidth=F||ar(P?T.itemX-D:Q,T.offsetWidth)},render:function(){var E=this,D=E.chart,C=D.renderer,B=E.group,A,z,x,w,u=E.box,t=E.options,s=E.padding,o=t.borderWidth,n=t.backgroundColor;E.itemX=E.initialItemX;E.itemY=E.initialItemY;E.offsetWidth=0;E.lastItemY=0;if(!B){E.group=B=C.g("legend").attr({zIndex:7}).add(),E.contentGroup=C.g().attr({zIndex:1}).add(B),E.scrollGroup=C.g().add(E.contentGroup),E.clipRect=C.clipRect(0,0,9999,D.chartHeight),E.contentGroup.clip(E.clipRect)}A=[];az(D.series,function(G){var F=G.options;F.showInLegend&&(A=A.concat(G.legendItems||(F.legendType==="point"?G.data:G)))});am(A,function(G,F){return(G.options.legendIndex||0)-(F.options.legendIndex||0)});t.reversed&&A.reverse();E.allItems=A;E.display=z=!!A.length;az(A,function(F){E.renderItem(F)});x=t.width||E.offsetWidth;w=E.lastItemY+E.lastLineHeight;w=E.handleOverflow(w);if(o||n){x+=s;w+=s;if(u){if(x>0&&w>0){u[u.isNew?"attr":"animate"](u.crisp(null,null,null,x,w)),u.isNew=!1}}else{E.box=u=C.rect(0,0,x,w,t.borderRadius,o||0).attr({stroke:t.borderColor,"stroke-width":o||0,fill:n||aT}).add(B).shadow(t.shadow),u.isNew=!0}u[z?"show":"hide"]()}E.legendWidth=x;E.legendHeight=w;az(A,function(F){E.positionItem(F)});z&&B.align(au({width:x,height:w},t),!0,D.spacingBox);D.isResizing||this.positionCheckboxes()},handleOverflow:function(D){var C=this,B=this.chart,A=B.renderer,z=this.options,x=z.y,x=B.spacingBox.height+(z.verticalAlign==="top"?-x:x)-this.padding,w=z.maxHeight,u=this.clipRect,t=z.navigation,s=ax(t.animation,!0),o=t.arrowSize||12,n=this.nav;z.layout==="horizontal"&&(x/=2);w&&(x=a1(x,w));if(D>x){this.clipHeight=B=x-20;this.pageCount=y(D/B);this.currentPage=ax(this.currentPage,1);this.fullHeight=D;u.attr({height:B});if(!n){this.nav=n=A.g().attr({zIndex:1}).add(this.group),this.up=A.symbol("triangle",0,0,o,o).on("click",function(){C.scroll(-1,s)}).add(n),this.pager=A.text("",15,10).css(t.style).add(n),this.down=A.symbol("triangle-down",0,0,o,o).on("click",function(){C.scroll(1,s)}).add(n)}C.scroll(0);D=x}else{n&&(u.attr({height:B.chartHeight}),n.hide(),this.scrollGroup.attr({translateY:1}))}return D},scroll:function(A,z){var x=this.pageCount,w=this.currentPage+A,u=this.clipHeight,t=this.options.navigation,s=t.activeColor,t=t.inactiveColor,o=this.pager,n=this.padding;w>x&&(w=x);if(w>0){z!==bo&&aL(z,this.chart),this.nav.attr({translateX:n,translateY:u+7,visibility:"visible"}),this.up.attr({fill:w===1?t:s}).css({cursor:w===1?"default":"pointer"}),o.attr({text:w+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:w===x?t:s}).css({cursor:w===x?"default":"pointer"}),this.scrollGroup.animate({translateY:-a1(u*(w-1),this.fullHeight-u+n)+1}),o.attr({text:w+"/"+x}),this.currentPage=w}}};bS.prototype={initSeries:function(o){var n=this.options.chart,n=new aP[o.type||n.type||n.defaultSeriesType];n.init(this,o);return n},addSeries:function(o,n,t){var s=this;o&&(aL(t,s),n=ax(n,!0),bf(s,"addSeries",{options:o},function(){s.initSeries(o);s.isDirtyLegend=!0;n&&s.redraw()}))},isInsidePlot:function(o,n){return o>=0&&o<=this.plotWidth&&n>=0&&n<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&az(this.axes,function(n){n.adjustTickAmount()});this.maxTicks=null},redraw:function(E){var D=this.axes,C=this.series,B=this.tracker,A=this.legend,z=this.isDirtyLegend,x,w=this.isDirtyBox,u=C.length,t=u,s=this.clipRect,o=this.renderer,n=o.isHidden();aL(E,this);for(n&&this.cloneRenderTo();t--;){if(E=C[t],E.isDirty&&E.options.stacking){x=!0;break}}if(x){for(t=u;t--;){if(E=C[t],E.options.stacking){E.isDirty=!0}}}az(C,function(F){F.isDirty&&F.options.legendType==="point"&&(z=!0)});if(z&&A.options.enabled){A.render(),this.isDirtyLegend=!1}if(this.hasCartesianSeries){if(!this.isResizing){this.maxTicks=null,az(D,function(F){F.setScale()})}this.adjustTickAmounts();this.getMargins();az(D,function(F){if(F.isDirtyExtremes){F.isDirtyExtremes=!1,bf(F,"afterSetExtremes",F.getExtremes())}if(F.isDirty||w||x){F.redraw(),w=!0}})}w&&(this.drawChartBox(),s&&(k(s),s.animate({width:this.plotSizeX,height:this.plotSizeY+1})));az(C,function(F){F.isDirty&&F.visible&&(!F.isCartesian||F.xAxis)&&F.redraw()});B&&B.resetTracker&&B.resetTracker(!0);o.draw();bf(this,"redraw");n&&this.cloneRenderTo(!0)},showLoading:function(o){var n=this.options,t=this.loadingDiv,s=n.loading;if(!t){this.loadingDiv=t=aV(aC,{className:"highcharts-loading"},au(s.style,{left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px",zIndex:10,display:aT}),this.container),this.loadingSpan=aV("span",null,s.labelStyle,t)}this.loadingSpan.innerHTML=o||n.lang.loading;if(!this.loadingShown){bd(t,{opacity:0,display:""}),f(t,{opacity:s.style.opacity},{duration:s.showDuration||0}),this.loadingShown=!0}},hideLoading:function(){var o=this.options,n=this.loadingDiv;n&&f(n,{opacity:0},{duration:o.loading.hideDuration||100,complete:function(){bd(n,{display:aT})}});this.loadingShown=!1},get:function(o){var n=this.axes,u=this.series,t,s;for(t=0;ta1(t.dataMin,t.min)&&w19?this.containerHeight:400)},cloneRenderTo:function(o){var n=this.renderToClone,s=this.container;o?n&&(this.renderTo.appendChild(s),ao(n),delete this.renderToClone):(s&&this.renderTo.removeChild(s),this.renderToClone=n=this.renderTo.cloneNode(0),bd(n,{position:"absolute",top:"-9999px",display:"block"}),bm.body.appendChild(n),s&&n.appendChild(s))},getContainer:function(){var o,n=this.options.chart,u,t,s;this.renderTo=o=n.renderTo;s="highcharts-"+bE++;if(bU(o)){this.renderTo=o=bm.getElementById(o)}o||bB(13,!0);o.innerHTML="";o.offsetWidth||this.cloneRenderTo();this.getChartSize();u=this.chartWidth;t=this.chartHeight;this.container=o=aV(aC,{className:"highcharts-container"+(n.className?" "+n.className:""),id:s},au({position:"relative",overflow:"hidden",width:u+"px",height:t+"px",textAlign:"left",lineHeight:"normal"},n.style),this.renderToClone||o);this.renderer=n.forExport?new m(o,u,t,!0):new bK(o,u,t);bz&&this.renderer.create(this,o,u,t)},getMargins:function(){var N=this.options.chart,M=N.spacingTop,L=N.spacingRight,I=N.spacingBottom,N=N.spacingLeft,G,F=this.legend,E=this.optionsMarginTop,D=this.optionsMarginLeft,C=this.optionsMarginRight,B=this.optionsMarginBottom,A=this.chartTitleOptions,z=this.chartSubtitleOptions,x=this.options.legend,w=ax(x.margin,10),u=x.x,o=x.y,s=x.align,n=x.verticalAlign;this.resetMargins();G=this.axisOffset;if((this.title||this.subtitle)&&!aw(this.optionsMarginTop)){if(z=ar(this.title&&!A.floating&&!A.verticalAlign&&A.y||0,this.subtitle&&!z.floating&&!z.verticalAlign&&z.y||0)){this.plotTop=ar(this.plotTop,z+ax(A.margin,15)+M)}}if(F.display&&!x.floating){if(s==="right"){if(!aw(C)){this.marginRight=ar(this.marginRight,F.legendWidth-u+w+L)}}else{if(s==="left"){if(!aw(D)){this.plotLeft=ar(this.plotLeft,F.legendWidth+u+w+N)}}else{if(n==="top"){if(!aw(E)){this.plotTop=ar(this.plotTop,F.legendHeight+o+w+M)}}else{if(n==="bottom"&&!aw(B)){this.marginBottom=ar(this.marginBottom,F.legendHeight-o+w+I)}}}}}this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&az(this.axes,function(t){t.getOffset()});aw(D)||(this.plotLeft+=G[3]);aw(E)||(this.plotTop+=G[0]);aw(B)||(this.marginBottom+=G[2]);aw(C)||(this.marginRight+=G[1]);this.setChartSize()},initReflow:function(){function o(w){var z=u.width||aO(t,"width"),x=u.height||aO(t,"height"),w=w?w.target:a2;if(z&&x&&(w===a2||w===bm)){if(z!==n.containerWidth||x!==n.containerHeight){clearTimeout(s),s=setTimeout(function(){n.resize(z,x,!1)},100)}n.containerWidth=z;n.containerHeight=x}}var n=this,u=n.options.chart,t=n.renderTo,s;a8(a2,"resize",o);a8(n,"destroy",function(){aY(a2,"resize",o)})},fireEndResize:function(){var n=this;n&&bf(n,"endResize",null,function(){n.isResizing-=1})},resize:function(o,n,x){var w,u,t=this.title,s=this.subtitle;this.isResizing+=1;aL(x,this);this.oldChartHeight=this.chartHeight;this.oldChartWidth=this.chartWidth;if(aw(o)){this.chartWidth=w=av(o)}if(aw(n)){this.chartHeight=u=av(n)}bd(this.container,{width:w+"px",height:u+"px"});this.renderer.setSize(w,u,x);this.plotWidth=w-this.plotLeft-this.marginRight;this.plotHeight=u-this.plotTop-this.marginBottom;this.maxTicks=null;az(this.axes,function(z){z.isDirty=!0;z.setScale()});az(this.series,function(z){z.isDirty=!0});this.isDirtyBox=this.isDirtyLegend=!0;this.getMargins();o=this.spacingBox;t&&t.align(null,null,o);s&&s.align(null,null,o);this.redraw(x);this.oldChartHeight=null;bf(this,"resize");H===!1?this.fireEndResize():setTimeout(this.fireEndResize,H&&H.duration||500)},setChartSize:function(){var o=this.inverted,n=this.chartWidth,x=this.chartHeight,w=this.options.chart,u=w.spacingTop,t=w.spacingRight,s=w.spacingBottom,w=w.spacingLeft;this.plotLeft=av(this.plotLeft);this.plotTop=av(this.plotTop);this.plotWidth=av(n-this.plotLeft-this.marginRight);this.plotHeight=av(x-this.plotTop-this.marginBottom);this.plotSizeX=o?this.plotHeight:this.plotWidth;this.plotSizeY=o?this.plotWidth:this.plotHeight;this.spacingBox={x:w,y:u,width:n-w-t,height:x-u-s};az(this.axes,function(z){z.setAxisSize();z.setAxisTranslation()})},resetMargins:function(){var o=this.options.chart,n=o.spacingRight,t=o.spacingBottom,s=o.spacingLeft;this.plotTop=ax(this.optionsMarginTop,o.spacingTop);this.marginRight=ax(this.optionsMarginRight,n);this.marginBottom=ax(this.optionsMarginBottom,t);this.plotLeft=ax(this.optionsMarginLeft,s);this.axisOffset=[0,0,0,0]},drawChartBox:function(){var F=this.options.chart,E=this.renderer,D=this.chartWidth,C=this.chartHeight,B=this.chartBackground,A=this.plotBackground,z=this.plotBorder,x=this.plotBGImage,w=F.borderWidth||0,u=F.backgroundColor,t=F.plotBackgroundColor,s=F.plotBackgroundImage,o,n={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};o=w+(F.shadow?8:0);if(w||u){if(B){B.animate(B.crisp(null,null,null,D-o,C-o))}else{B={fill:u||aT};if(w){B.stroke=F.borderColor,B["stroke-width"]=w}this.chartBackground=E.rect(o/2,o/2,D-o,C-o,F.borderRadius,w).attr(B).add().shadow(F.shadow)}}if(t){A?A.animate(n):this.plotBackground=E.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight,0).attr({fill:t}).add().shadow(F.plotShadow)}if(s){x?x.animate(n):this.plotBGImage=E.image(s,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight).add()}if(F.plotBorderWidth){z?z.animate(z.crisp(null,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight)):this.plotBorder=E.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight,0,F.plotBorderWidth).attr({stroke:F.plotBorderColor,"stroke-width":F.plotBorderWidth,zIndex:4}).add()}this.isDirtyBox=!1},propFromSeries:function(){var o=this,n=o.options.chart,w,u=o.options.series,t,s;az(["inverted","angular","polar"],function(x){w=aP[n.type||n.defaultSeriesType];s=o[x]||n[x]||w&&w.prototype[x];for(t=u&&u.length;!s&&t--;){(w=aP[u[t].type])&&w.prototype[x]&&(s=!0)}o[x]=s})},render:function(){var o=this,n=o.axes,w=o.renderer,u=o.options,t=u.labels,u=u.credits,s;o.setTitle();o.legend=new l(o);az(n,function(x){x.setScale()});o.getMargins();o.maxTicks=null;az(n,function(x){x.setTickPositions(!0);x.setMaxTicks()});o.adjustTickAmounts();o.getMargins();o.drawChartBox();o.hasCartesianSeries&&az(n,function(x){x.render()});if(!o.seriesGroup){o.seriesGroup=w.g("series-group").attr({zIndex:3}).add()}az(o.series,function(x){x.translate();x.setTooltipPoints();x.render()});t.items&&az(t.items,function(){var x=au(t.style,this.style),A=at(x.left)+o.plotLeft,z=at(x.top)+o.plotTop+12;delete x.left;delete x.top;w.text(this.html,A,z).attr({zIndex:2}).css(x).add()});if(u.enabled&&!o.credits){s=u.href,o.credits=w.text(u.text,0,0).on("click",function(){if(s){location.href=s}}).attr({align:u.position.align,zIndex:8}).css(u.style).add().align(u.position)}o.hasRendered=!0},destroy:function(){var o=this,n=o.axes,w=o.series,u=o.container,t,s=u&&u.parentNode;if(o!==null){bf(o,"destroy");aY(o);for(t=n.length;t--;){n[t]=n[t].destroy()}for(t=w.length;t--;){w[t]=w[t].destroy()}az("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,tracker,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(x){var z=o[x];z&&(o[x]=z.destroy())});if(u){u.innerHTML="",aY(u),s&&ao(u),u=null}for(t in o){delete o[t]}o=o.options=null}},firstRender:function(){var o=this,n=o.options,s=o.callback;if(!aE&&a2==a2.top&&bm.readyState!=="complete"||bz&&!a2.canvg){bz?bF.push(function(){o.firstRender()},n.global.canvasToolsURL):bm.attachEvent("onreadystatechange",function(){bm.detachEvent("onreadystatechange",o.firstRender);bm.readyState==="complete"&&o.firstRender()})}else{o.getContainer();bf(o,"init");if(Highcharts.RangeSelector&&n.rangeSelector.enabled){o.rangeSelector=new Highcharts.RangeSelector(o)}o.resetMargins();o.setChartSize();o.propFromSeries();o.getAxes();az(n.series||[],function(t){o.initSeries(t)});if(Highcharts.Scroller&&(n.navigator.enabled||n.scrollbar.enabled)){o.scroller=new Highcharts.Scroller(o)}o.tracker=new aD(o,n);o.render();o.renderer.draw();s&&s.apply(o,[o]);az(o.callbacks,function(t){t.apply(o,[o])});o.cloneRenderTo(!0);bf(o,"load")}},init:function(o){var n=this.options.chart,s;n.reflow!==!1&&a8(this,"load",this.initReflow);if(o){for(s in o){a8(this,s,o[s])}}this.xAxis=[];this.yAxis=[];this.animation=bz?!1:ax(n.animation,!0);this.setSize=this.resize;this.pointCount=0;this.counters=new bN;this.firstRender()}};bS.prototype.callbacks=[];var aq=function(){};aq.prototype={init:function(o,n,t){var s=o.chart.counters;this.series=o;this.applyOptions(n,t);this.pointAttr={};if(o.options.colorByPoint){n=o.chart.options.colors;if(!this.options){this.options={}}this.color=this.options.color=this.color||n[s.color++];s.wrapColor(n.length)}o.chart.pointCount++;return this},applyOptions:function(o,n){var t=this.series,s=typeof o;this.config=o;if(s==="number"||o===null){this.y=o}else{if(typeof o[0]==="number"){this.x=o[0],this.y=o[1]}else{if(s==="object"&&typeof o.length!=="number"){if(au(this,o),this.options=o,o.dataLabels){t._hasPointLabels=!0}}else{if(typeof o[0]==="string"){this.name=o[0],this.y=o[1]}}}}if(this.x===bo){this.x=n===bo?t.autoIncrement():n}},destroy:function(){var o=this.series.chart,n=o.hoverPoints,s;o.pointCount--;if(n&&(this.setState(),bt(n,this),!n.length)){o.hoverPoints=null}if(this===o.hoverPoint){this.onMouseOut()}if(this.graphic||this.dataLabel){aY(this),this.destroyElements()}this.legendItem&&o.legend.destroyItem(this);for(s in this){this[s]=null}},destroyElements:function(){for(var o="graphic,tracker,dataLabel,group,connector,shadowGroup".split(","),n,s=6;s--;){n=o[s],this[n]&&(this[n]=this[n].destroy())}},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(o,n){var t=this,s=t.series.chart,o=ax(o,!t.selected);t.firePointEvent(o?"select":"unselect",{accumulate:n},function(){t.selected=o;t.setState(o&&"select");n||az(s.getSelectedPoints(),function(u){if(u.selected&&u!==t){u.selected=!1,u.setState(""),u.firePointEvent("unselect")}})})},onMouseOver:function(){var o=this.series,n=o.chart,t=n.tooltip,s=n.hoverPoint;if(s&&s!==this){s.onMouseOut()}this.firePointEvent("mouseOver");t&&(!t.shared||o.noSharedTooltip)&&t.refresh(this);this.setState("hover");n.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(B){var A=this.series,z=A.tooltipOptions,x=B.match(/\{(series|point)\.[a-zA-Z]+\}/g),w=/[{\.}]/,u,t,s,o,n={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};z.valuePrefix=z.valuePrefix||z.yPrefix;z.valueDecimals=z.valueDecimals||z.yDecimals;z.valueSuffix=z.valueSuffix||z.ySuffix;for(o in x){t=x[o],bU(t)&&t!==B&&(s=(" "+t).split(w),u={point:this,series:A}[s[1]],s=s[2],u===this&&n.hasOwnProperty(s)?(u=n[s]?s:"value",u=(z[u+"Prefix"]||"")+J(this[s],ax(z[u+"Decimals"],-1))+(z[u+"Suffix"]||"")):u=u[s],B=B.replace(t,u))}return B},update:function(B,A,z){var x=this,w=x.series,u=x.graphic,t,s=w.data,o=s.length,n=w.chart,A=ax(A,!0);x.firePointEvent("update",{options:B},function(){x.applyOptions(B);bw(B)&&(w.getAttribs(),u&&u.attr(x.pointAttr[w.state]));for(t=0;to+1&&n.push(t.slice(o+1,w)),o=w):w===s-1&&n.push(t.slice(o+1,w+1))})}}this.segments=n},setOptions:function(o){var n=this.chart.options,t=n.plotOptions,s=o.data;o.data=null;t=bk(t[this.type],t.series,o);t.data=o.data=s;this.tooltipOptions=bk(n.tooltip,t.tooltip);return t},getColor:function(){var o=this.options,n=this.chart.options.colors,s=this.chart.counters;this.color=o.color||!o.colorByPoint&&n[s.color++]||"gray";s.wrapColor(n.length)},getSymbol:function(){var o=this.options.marker,n=this.chart,s=n.options.symbols,n=n.counters;this.symbol=o.symbol||s[n.symbol++];if(/^url/.test(this.symbol)){o.radius=0}n.wrapSymbol(s.length)},drawLegendSymbol:function(o){var n=this.options,x=n.marker,w=o.options.symbolWidth,u=this.chart.renderer,t=this.legendGroup,o=o.baseline,s;if(n.lineWidth){s={"stroke-width":n.lineWidth};if(n.dashStyle){s.dashstyle=n.dashStyle}this.legendLine=u.path(["M",0,o-4,"L",w,o-4]).attr(s).add(t)}if(x&&x.enabled){n=x.radius,this.legendSymbol=u.symbol(this.symbol,w/2-n,o-4-n,2*n,2*n).attr(this.pointAttr[""]).add(t)}},addPoint:function(D,C,B,A){var z=this.data,x=this.graph,w=this.area,u=this.chart,t=this.xData,s=this.yData,o=x&&x.shift||0,n=this.options.data;aL(A,u);if(x&&B){x.shift=o+1}if(w){if(B){w.shift=o+1}w.isArea=!0}C=ax(C,!0);A={series:this};this.pointClass.prototype.applyOptions.apply(A,[D]);t.push(A.x);s.push(this.valueCount===4?[A.open,A.high,A.low,A.close]:A.y);n.push(D);B&&(z[0]&&z[0].remove?z[0].remove(!1):(z.shift(),t.shift(),s.shift(),n.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;C&&u.redraw()},setData:function(E,D){var C=this.points,B=this.options,A=this.initialColor,z=this.chart,x=null,w=this.xAxis,u=this.pointClass.prototype;this.xIncrement=null;this.pointRange=w&&w.categories&&1||B.pointRange;if(aw(A)){z.counters.color=A}var t=[],s=[],o=E?E.length:[],n=this.valueCount;if(o>(B.turboThreshold||1000)){for(A=0;x===null&&Ao||this.forceCrop)){if(D=t.getExtremes(),t=D.min,o=D.max,C[A-1]o){C=[],B=[]}else{if(C[0]o){for(D=0;D=t){z=ar(0,D-1);break}}for(;Do){x=D+1;break}}C=C.slice(z,x);B=B.slice(z,x);w=!0}}}for(D=C.length-1;D>0;D--){if(A=C[D]-C[D-1],A>0&&(u===bo||A=0&&x<=w;){s[x++]=u}}this.tooltipPoints=s}},tooltipHeaderFormatter:function(o){var n=this.tooltipOptions,w=n.xDateFormat,u=this.xAxis,t=u&&u.options.type==="datetime",s;if(t&&!w){for(s in bj){if(bj[s]>=u.closestPointRange){w=n.dateTimeLabelFormats[s];break}}}return n.headerFormat.replace("{point.key}",t?K(w,o):o).replace("{series.name}",this.name).replace("{series.color}",this.color)},onMouseOver:function(){var o=this.chart,n=o.hoverSeries;if(g||!o.mouseIsDown){if(n&&n!==this){n.onMouseOut()}this.options.events.mouseOver&&bf(this,"mouseOver");this.setState("hover");o.hoverSeries=this}},onMouseOut:function(){var o=this.options,n=this.chart,t=n.tooltip,s=n.hoverPoint;if(s){s.onMouseOut()}this&&o.events.mouseOut&&bf(this,"mouseOut");t&&!o.stickyTracking&&!t.shared&&t.hide();this.setState();n.hoverSeries=null},animate:function(o){var n=this.chart,t=this.clipRect,s=this.options.animation;s&&!bw(s)&&(s={});if(o){if(!t.isAnimating){t.attr("width",0),t.isAnimating=!0}}else{t.animate({width:n.plotSizeX},s),this.animate=null}},drawPoints:function(){var C,B=this.points,A=this.chart,z,x,w,u,t,s,o,n;if(this.options.marker.enabled){for(w=B.length;w--;){if(u=B[w],z=u.plotX,x=u.plotY,n=u.graphic,x!==bo&&!isNaN(x)){if(C=u.pointAttr[u.selected?"select":""],t=C.r,s=ax(u.marker&&u.marker.symbol,this.symbol),o=s.indexOf("url")===0,n){n.animate(au({x:z-t,y:x-t},n.symbolName?{width:2*t,height:2*t}:{}))}else{if(t>0||o){u.graphic=A.renderer.symbol(s,z-t,x-t,2*t,2*t).attr(C).add(this.group)}}}}}},convertAttribs:function(o,n,z,x){var w=this.pointAttrToOptions,u,t,s={},o=o||{},n=n||{},z=z||{},x=x||{};for(u in w){t=w[u],s[u]=ax(o[t],n[u],z[u],x[u])}return s},getAttribs:function(){var D=this,C=aN[D.type].marker?D.options.marker:D.options,B=C.states,A=B.hover,z,x=D.color,w={stroke:x,fill:x},u=D.points||[],t=[],s,o=D.pointAttrToOptions,n;D.options.marker?(A.radius=A.radius||C.radius+2,A.lineWidth=A.lineWidth||C.lineWidth+1):A.color=A.color||ai(A.color||x).brighten(A.brightness).get();t[""]=D.convertAttribs(C,w);az(["hover","select"],function(E){t[E]=D.convertAttribs(B[E],t[""])});D.pointAttr=t;for(x=u.length;x--;){w=u[x];if((C=w.options&&w.options.marker||w.options)&&C.enabled===!1){C.radius=0}z=!1;if(w.options){for(n in o){aw(C[o[n]])&&(z=!0)}}if(z){s=[];B=C.states||{};z=B.hover=B.hover||{};if(!D.options.marker){z.color=ai(z.color||w.options.color).brighten(z.brightness||A.brightness).get()}s[""]=D.convertAttribs(C,t[""]);s.hover=D.convertAttribs(B.hover,t.hover,s[""]);s.select=D.convertAttribs(B.select,t.select,s[""])}else{s=t}w.pointAttr=s}},destroy:function(){var B=this,A=B.chart,z=B.clipRect,x=/AppleWebKit\/533/.test(bJ),w,u,t=B.data||[],s,o,n;bf(B,"destroy");aY(B);az(["xAxis","yAxis"],function(C){if(n=B[C]){bt(n.series,B),n.isDirty=!0}});B.legendItem&&B.chart.legend.destroyItem(B);for(u=t.length;u--;){(s=t[u])&&s.destroy&&s.destroy()}B.points=null;if(z&&z!==A.clipRect){B.clipRect=z.destroy()}az("area,graph,dataLabelsGroup,group,tracker,trackerGroup".split(","),function(C){B[C]&&(w=x&&C==="group"?"hide":"destroy",B[C][w]())});if(A.hoverSeries===B){A.hoverSeries=null}bt(A.series,B);for(o in B){delete B[o]}},drawDataLabels:function(){var X=this,W=X.options,V=W.dataLabels;if(V.enabled||X._hasPointLabels){var U,T,S=X.points,R,Q,P,O=X.dataLabelsGroup,N=X.chart,M=X.xAxis,M=M?M.left:N.plotLeft,L=X.yAxis,L=L?L.top:N.plotTop,I=N.renderer,G=N.inverted,E=X.type,F=W.stacking,t=E==="column"||E==="bar",A=V.verticalAlign===null,C=V.y===null,D=I.fontMetrics(V.style.fontSize),B=D.h,s=D.b,o,n;t&&(D={top:s,middle:s-B/2,bottom:-B+s},F?(A&&(V=bk(V,{verticalAlign:"middle"})),C&&(V=bk(V,{y:D[V.verticalAlign]}))):A?V=bk(V,{verticalAlign:"top"}):C&&(V=bk(V,{y:D[V.verticalAlign]})));O?O.translate(M,L):O=X.dataLabelsGroup=I.g("data-labels").attr({visibility:X.visible?"visible":"hidden",zIndex:6}).translate(M,L).add();Q=V;az(S,function(z){o=z.dataLabel;V=Q;(R=z.options)&&R.dataLabels&&(V=bk(V,R.dataLabels));if(n=V.enabled){var w=z.barX&&z.barX+z.barW/2||ax(z.plotX,-999),u=ax(z.plotY,-999),Y=V.y===null?z.y>=W.threshold?-B+s:s:V.y;U=(G?N.plotWidth-u:w)+V.x;T=av((G?N.plotHeight-w:u)+Y)}if(o&&X.isCartesian&&(!N.isInsidePlot(U,T)||!n)){z.dataLabel=o.destroy()}else{if(n){var w=V.align,x;P=V.formatter.call(z.getLabelConfig(),V);E==="column"&&(U+={left:-1,right:1}[w]*z.barW/2||0);!F&&G&&z.y<0&&(w="right",U-=10);V.style.color=ax(V.color,V.style.color,X.color,"black");if(o){o.attr({text:P}).animate({x:U,y:T})}else{if(aw(P)){w={align:w,fill:V.backgroundColor,stroke:V.borderColor,"stroke-width":V.borderWidth,r:V.borderRadius||0,rotation:V.rotation,padding:V.padding,zIndex:1};for(x in w){w[x]===bo&&delete w[x]}o=z.dataLabel=I[V.rotation?"text":"label"](P,U,T,null,null,null,V.useHTML,!0).attr(w).css(V.style).add(O).shadow(V.shadow)}}if(t&&W.stacking&&o){x=z.barX,w=z.barY,u=z.barW,z=z.barH,o.align(V,null,{x:G?N.plotWidth-w-z:x,y:G?N.plotHeight-x-u:w,width:G?z:u,height:G?u:z})}}}})}},getSegmentPath:function(o){var n=this,s=[];az(o,function(u,t){n.getPointSpline?s.push.apply(s,n.getPointSpline(o,u,t)):(s.push(t?"L":"M"),t&&n.options.step&&s.push(u.plotX,o[t-1].plotY),s.push(u.plotX,u.plotY))});return s},drawGraph:function(){var C=this,B=C.options,A=C.graph,z=[],x=C.group,w=B.lineColor||C.color,u=B.lineWidth,t=B.dashStyle,s,o=C.chart.renderer,n=[];az(C.segments,function(D){s=C.getSegmentPath(D);D.length>1?z=z.concat(s):n.push(D[0])});C.graphPath=z;C.singlePoints=n;if(A){k(A),A.animate({d:z})}else{if(u){A={stroke:w,"stroke-width":u};if(t){A.dashstyle=t}C.graph=o.path(z).attr(A).add(x).shadow(B.shadow)}}},invertGroups:function(){function o(){var w={width:n.yAxis.len,height:n.xAxis.len};u.attr(w).invert();t&&t.attr(w).invert()}var n=this,u=n.group,t=n.trackerGroup,s=n.chart;a8(s,"resize",o);a8(n,"destroy",function(){aY(s,"resize",o)});o();n.invertGroups=o},createGroup:function(){var n=this.chart;(this.group=n.renderer.g("series")).attr({visibility:this.visible?"visible":"hidden",zIndex:this.options.zIndex}).translate(this.xAxis.left,this.yAxis.top).add(n.seriesGroup);this.createGroup=b},render:function(){var o=this,n=o.chart,z,x=o.options,w=x.clip!==!1,u=x.animation,u=(x=u&&o.animate)?u&&u.duration||500:0,t=o.clipRect,s=n.renderer;if(!t&&(t=o.clipRect=!n.hasRendered&&n.clipRect?n.clipRect:s.clipRect(0,0,n.plotSizeX,n.plotSizeY+1),!n.clipRect)){n.clipRect=t}o.createGroup();z=o.group;o.drawDataLabels();x&&o.animate(!0);o.getAttribs();o.drawGraph&&o.drawGraph();o.drawPoints();o.options.enableMouseTracking!==!1&&o.drawTracker();n.inverted&&o.invertGroups();w&&!o.hasRendered&&(z.clip(t),o.trackerGroup&&o.trackerGroup.clip(n.clipRect));x&&o.animate();setTimeout(function(){t.isAnimating=!1;if((z=o.group)&&t!==n.clipRect&&t.renderer){if(w){z.clip(o.clipRect=n.clipRect)}t.destroy()}},u);o.isDirty=o.isDirtyData=!1;o.hasRendered=!0},redraw:function(){var o=this.chart,n=this.isDirtyData,s=this.group;s&&(o.inverted&&s.attr({width:o.plotWidth,height:o.plotHeight}),s.animate({translateX:this.xAxis.left,translateY:this.yAxis.top}));this.translate();this.setTooltipPoints(!0);this.render();n&&bf(this,"updatedData")},setState:function(o){var n=this.options,t=this.graph,s=n.states,n=n.lineWidth,o=o||"";if(this.state!==o){this.state=o,s[o]&&s[o].enabled===!1||(o&&(n=s[o].lineWidth||n+1),t&&!t.dashstyle&&t.attr({"stroke-width":n},o?0:500))}},setVisible:function(B,A){var z=this.chart,x=this.legendItem,w=this.group,u=this.tracker,t=this.dataLabelsGroup,s,o=this.points,n=z.options.chart.ignoreHiddenSeries;s=this.visible;s=(this.visible=B=B===bo?!s:B)?"show":"hide";if(w){w[s]()}if(u){u[s]()}else{if(o){for(w=o.length;w--;){if(u=o[w],u.tracker){u.tracker[s]()}}}}if(t){t[s]()}x&&z.legend.colorizeItem(this,B);this.isDirty=!0;this.options.stacking&&az(z.series,function(C){if(C.options.stacking&&C.visible){C.isDirty=!0}});if(n){z.isDirtyBox=!0}A!==!1&&z.redraw();bf(this,s)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===bo?!this.selected:n;if(this.checkbox){this.checkbox.checked=n}bf(this,n?"select":"unselect")},drawTrackerGroup:function(){var o=this.trackerGroup,n=this.chart;if(this.isCartesian){if(!o){this.trackerGroup=o=n.renderer.g().attr({zIndex:this.options.zIndex||1}).add(n.trackerGroup)}o.translate(this.xAxis.left,this.yAxis.top)}return o},drawTracker:function(){var E=this,D=E.options,C=D.trackByArea,B=[].concat(C?E.areaPath:E.graphPath),A=B.length,z=E.chart,x=z.renderer,w=z.options.tooltip.snap,u=E.tracker,t=D.cursor,t=t&&{cursor:t},s=E.singlePoints,o=E.drawTrackerGroup(),n;if(A&&!C){for(n=A+1;n--;){B[n]==="M"&&B.splice(n+1,0,B[n+1]-w,B[n+2],"L"),(n&&B[n]==="M"||n===A)&&B.splice(n,0,"L",B[n-2]+w,B[n-1])}}for(n=0;n=0;u--){uD&&t>z?(t=ar(D,z),o=2*z-t):tw&&o>z?(o=ar(w,z),t=2*z-o):ou?U-u:n-(V<=n?u:0));au(W,{barX:T,barY:z,barW:o,barH:w,pointWidth:A});W.shapeType="rect";W.shapeArgs=V=R.renderer.Element.prototype.crisp.call(0,O,T,z,o,w);O%2&&(V.y-=1,V.height+=1);W.trackerArgs=a3(w)<3&&bk(W.shapeArgs,{height:6,y:z-3})})},getSymbol:function(){},drawLegendSymbol:bc.prototype.drawLegendSymbol,drawGraph:function(){},drawPoints:function(){var o=this,n=o.options,u=o.chart.renderer,t,s;az(o.points,function(x){var w=x.plotY;if(w!==bo&&!isNaN(w)&&x.y!==null){t=x.graphic,s=x.shapeArgs,t?(k(t),t.animate(bk(s))):x.graphic=t=u[x.shapeType](s).attr(x.pointAttr[x.selected?"select":""]).add(o.group).shadow(n.shadow,null,n.stacking&&!n.borderRadius)}})},drawTracker:function(){var E=this,D=E.chart,C=D.renderer,B,A,z=+new Date,x=E.options,w=x.cursor,u=w&&{cursor:w},t=E.drawTrackerGroup(),s,o,n;az(E.points,function(F){A=F.tracker;B=F.trackerArgs||F.shapeArgs;o=F.plotY;n=!E.isCartesian||o!==bo&&!isNaN(o);delete B.strokeWidth;if(F.y!==null&&n){A?A.attr(B):F.tracker=C[F.shapeType](B).attr({isTracker:z,fill:bn,visibility:E.visible?"visible":"hidden"}).on(g?"touchstart":"mouseover",function(G){s=G.relatedTarget||G.fromElement;if(D.hoverSeries!==E&&ap(s,"isTracker")!==z){E.onMouseOver()}F.onMouseOver()}).on("mouseout",function(G){if(!x.stickyTracking&&(s=G.relatedTarget||G.toElement,ap(s,"isTracker")!==z)){E.onMouseOut()}}).css(u).add(F.group||t)}})},animate:function(o){var n=this,t=n.points,s=n.options;if(!o){az(t,function(u){var z=u.graphic,u=u.shapeArgs,x=n.yAxis,w=s.threshold;z&&(z.attr({height:0,y:aw(w)?x.getThreshold(w):x.translate(x.getExtremes().min,0,1,0,1)}),z.animate({height:u.height,y:u.y},s.animation))}),n.animate=null}},remove:function(){var o=this,n=o.chart;n.hasRendered&&az(n.series,function(s){if(s.type===o.type){s.isDirty=!0}});aW.prototype.remove.apply(o,arguments)}});aP.column=a6;aN.bar=bk(aN.column,{dataLabels:{align:"left",x:5,y:null,verticalAlign:"middle"}});bi=aA(a6,{type:"bar",inverted:!0});aP.bar=bi;aN.scatter=bk(aU,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});bi=aA(aW,{type:"scatter",sorted:!1,translate:function(){var n=this;aW.prototype.translate.apply(n);az(n.points,function(o){o.shapeType="circle";o.shapeArgs={x:o.plotX,y:o.plotY,r:n.chart.options.tooltip.snap}})},drawTracker:function(){for(var o=this,n=o.options.cursor,n=n&&{cursor:n},u=o.points,t=u.length,s;t--;){if(s=u[t].graphic){s.element._i=t}}o._hasTracking?o._hasTracking=!0:o.group.attr({isTracker:!0}).on(g?"touchstart":"mouseover",function(w){o.onMouseOver();if(w.target._i!==bo){u[w.target._i].onMouseOver()}}).on("mouseout",function(){if(!o.options.stickyTracking){o.onMouseOut()}}).css(n)}});aP.scatter=bi;aN.pie=bk(aU,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});aU={type:"pie",isCartesian:!1,pointClass:aA(aq,{init:function(){aq.prototype.init.apply(this,arguments);var o=this,n;au(o,{visible:o.visible!==!1,name:ax(o.name,"Slice")});n=function(){o.slice()};a8(o,"select",n);a8(o,"unselect",n);return o},setVisible:function(o){var n=this.series.chart,x=this.tracker,w=this.dataLabel,u=this.connector,t=this.shadowGroup,s;s=(this.visible=o=o===bo?!this.visible:o)?"show":"hide";this.group[s]();if(x){x[s]()}if(w){w[s]()}if(u){u[s]()}if(t){t[s]()}this.legendItem&&n.legend.colorizeItem(this,o)},slice:function(o,n,u){var t=this.series.chart,s=this.slicedTranslation;aL(u,t);ax(n,!0);o=this.sliced=aw(o)?o:!this.sliced;o={translateX:o?s[0]:t.plotLeft,translateY:o?s[1]:t.plotTop};this.group.animate(o);this.shadowGroup&&this.shadowGroup.animate(o)}}),pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var n=this;az(n.points,function(o){var t=o.graphic,o=o.shapeArgs,s=-c/2;t&&(t.attr({r:0,start:s,end:s}),t.animate({r:o.r,start:o.start,end:o.end},n.options.animation))});n.animate=null},setData:function(o,n){aW.prototype.setData.call(this,o,!1);this.processData();this.generatePoints();ax(n,!0)&&this.chart.redraw()},getCenter:function(){var o=this.options,n=this.chart,w=n.plotWidth,u=n.plotHeight,o=o.center.concat([o.size,o.innerSize||0]),t=a1(w,u),s;return ag(o,function(z,x){return(s=/%$/.test(z))?[w,u,t,t][x]*at(z)/100:z})},translate:function(){this.generatePoints();var L=0,I=-0.25,G=this.options,F=G.slicedOffset,E=F+G.borderWidth,D,C=this.chart,B,A,z,x=this.points,w=2*c,u,n,t,M=G.dataLabels.distance;this.center=D=this.getCenter();this.getX=function(s,o){z=a4.asin((s-D[1])/(D[2]/2+M));return D[0]+(o?-1:1)*aQ(z)*(D[2]/2+M)};az(x,function(o){L+=o.y});az(x,function(o){u=L?o.y/L:0;B=av(I*w*1000)/1000;I+=u;A=av(I*w*1000)/1000;o.shapeType="arc";o.shapeArgs={x:D[0],y:D[1],r:D[2]/2,innerR:D[3]/2,start:B,end:A};z=(A+B)/2;o.slicedTranslation=ag([aQ(z)*F+C.plotLeft,ac(z)*F+C.plotTop],av);n=aQ(z)*D[2]/2;t=ac(z)*D[2]/2;o.tooltipPos=[D[0]+n*0.7,D[1]+t*0.7];o.labelPos=[D[0]+n+aQ(z)*M,D[1]+t+ac(z)*M,D[0]+n+aQ(z)*E,D[1]+t+ac(z)*E,D[0]+n,D[1]+t,M<0?"center":z0,O=[[],[]],I,M,G,F,o=2,E;if(aa.enabled){aW.prototype.drawDataLabels.apply(this);az(bb,function(s){s.dataLabel&&O[s.labelPos[7]0){for(E=R-S-U;E<=R+S+U;E+=bb){D.push(E)}G=D.length;if(P>G){W=[].concat(n);W.sort(F);for(E=P;E--;){W[E].rank=E}for(E=P;E--;){n[E].rank>=G&&n.splice(E,1)}P=n.length}for(E=0;E0){if(M=L.pop(),N=M.i,M=M.y,I>M&&D[N+1]!==null||I