highcharts.min.js 139 KB

1
  1. (function(){function az(o,n){var r;o||(o={});for(r in n){o[r]=n[r]}return o}function at(){var o,n=arguments.length,s={},r=function(u,t){var w,v;typeof u!=="object"&&(u={});for(v in t){t.hasOwnProperty(v)&&(w=t[v],u[v]=w&&typeof w==="object"&&Object.prototype.toString.call(w)!=="[object Array]"&&typeof w.nodeType!=="number"?r(u[v]||{},w):t[v])}return u};for(o=0;o<n;o++){s=r(s,arguments[o])}return s}function bn(o,n){return parseInt(o,n||10)}function f(n){return typeof n==="string"}function aY(n){return typeof n==="object"}function bl(n){return Object.prototype.toString.call(n)==="[object Array]"}function bI(n){return typeof n==="number"}function bj(n){return a0.log(n)/a0.LN10}function bR(n){return a0.pow(10,n)}function bz(o,n){for(var r=o.length;r--;){if(o[r]===n){o.splice(r,1);break}}}function aw(n){return n!==au&&n!==null}function av(o,n,t){var s,r;if(f(n)){aw(t)?o.setAttribute(n,t):o&&o.getAttribute&&(r=o.getAttribute(n))}else{if(aw(n)&&aY(n)){for(s in n){o.setAttribute(s,n[s])}}}return r}function ae(n){return bl(n)?n:[n]}function aB(){var o=arguments,n,s,r=o.length;for(n=0;n<r;n++){if(s=o[n],typeof s!=="undefined"&&s!==null){return s}}}function a7(o,n){if(bq&&n&&n.opacity!==au){n.filter="alpha(opacity="+n.opacity*100+")"}az(o.style,n)}function aX(o,n,t,s,r){o=aq.createElement(o);n&&az(o,n);r&&a7(o,{padding:0,border:aZ,margin:0});t&&a7(o,t);s&&s.appendChild(o);return o}function bc(o,n){var r=function(){};r.prototype=new o;az(r.prototype,n);return r}function bS(o,n,v,u){var t=a6.lang,o=+o||0,s=n===-1?(o.toString().split(".")[1]||"").length:isNaN(n=a5(n))?2:n,n=v===void 0?t.decimalPoint:v,u=u===void 0?t.thousandsSep:u,t=o<0?"-":"",v=String(bn(o=a5(o).toFixed(s))),r=v.length>3?v.length%3:0;return t+(r?v.substr(0,r)+u:"")+v.substr(r).replace(/(\d{3})(?=\d)/g,"$1"+u)+(s?n+a5(o-v).toFixed(s).slice(2):"")}function bA(o,n){return Array((n||2)+1-String(o).length).join(0)+o}function bB(o,n,s){var r=o[n];o[n]=function(){var t=Array.prototype.slice.call(arguments);t.unshift(r);return s.apply(this,t)}}function be(y,x){for(var w="{",v=!1,u,t,s,r,o,n=[];(w=y.indexOf(w))!==-1;){u=y.slice(0,w);if(v){t=u.split(":");s=t.shift().split(".");o=s.length;u=x;for(r=0;r<o;r++){u=u[s[r]]}if(t.length){t=t.join(":"),s=/\.([0-9])/,r=a6.lang,o=void 0,/f$/.test(t)?(o=(o=t.match(s))?o[1]:-1,u=bS(u,o,r.decimalPoint,t.indexOf(",")>-1?r.thousandsSep:"")):u=H(t,u)}}n.push(u);y=y.slice(w+1);w=(v=!v)?"}":"{"}n.push(y);return n.join("")}function bh(n){return a0.pow(10,a3(a0.log(n)/a0.LN10))}function aI(o,n,t,s){var r,t=aB(t,1);r=o/t;n||(n=[1,2,2.5,5,10],s&&s.allowDecimals===!1&&(t===1?n=[1,2,5,10]:t<=0.1&&(n=[1/t])));for(s=0;s<n.length;s++){if(o=n[s],r<=(n[s]+(n[s+1]||n[s]))/2){break}}o*=t;return o}function ba(o,n){var v=n||[[aF,[1,2,5,10,20,25,50,100,200,500]],[ag,[1,2,5,10,15,30]],[d,[1,2,5,10,15,30]],[an,[1,2,3,4,6,8,12]],[aN,[1,2]],[bO,[1,2]],[B,[1,2,3,4,6]],[aH,null]],u=v[v.length-1],t=bk[u[0]],s=u[1],r;for(r=0;r<v.length;r++){if(u=v[r],t=bk[u[0]],s=u[1],v[r+1]&&o<=(t*s[s.length-1]+bk[v[r+1][0]])/2){break}}t===bk[aH]&&o<5*t&&(s=[1,2,5]);v=aI(o/t,s,u[0]===aH?bh(o/t):1);return{unitRange:t,count:v,unitName:u[0]}}function ad(F,D,C,z){var y=[],x={},w=a6.global.useUTC,v,u=new Date(D),t=F.unitRange,s=F.count;if(aw(D)){t>=bk[ag]&&(u.setMilliseconds(0),u.setSeconds(t>=bk[d]?0:s*a3(u.getSeconds()/s)));if(t>=bk[d]){u[g](t>=bk[an]?0:s*a3(u[j]()/s))}if(t>=bk[an]){u[bT](t>=bk[aN]?0:s*a3(u[bV]()/s))}if(t>=bk[aN]){u[bG](t>=bk[B]?1:s*a3(u[c]()/s))}t>=bk[B]&&(u[bD](t>=bk[aH]?0:s*a3(u[bm]()/s)),v=u[bv]());t>=bk[aH]&&(v-=v%s,u[bi](v));if(t===bk[bO]){u[bG](u[c]()-u[bo]()+aB(z,1))}D=1;v=u[bv]();for(var z=u.getTime(),r=u[bm](),o=u[c](),n=w?0:(86400000+u.getTimezoneOffset()*60000)%86400000;z<C;){y.push(z),t===bk[aH]?z=a2(v+D*s,0):t===bk[B]?z=a2(v,r+D*s):!w&&(t===bk[aN]||t===bk[bO])?z=a2(v,r,o+D*s*(t===bk[aN]?1:7)):z+=t*s,D++}y.push(z);aC(aM(y,function(G){return t<=bk[an]&&G%bk[aN]===n}),function(G){x[G]=aN})}y.info=az(F,{higherRanks:x,totalRange:t*s});return y}function aJ(){this.symbol=this.color=0}function ai(o,n){var t=o.length,s,r;for(r=0;r<t;r++){o[r].ss_i=r}o.sort(function(u,v){s=n(u,v);return s===0?u.ss_i-v.ss_i:s});for(r=0;r<t;r++){delete o[r].ss_i}}function aL(o){for(var n=o.length,r=o[0];n--;){o[n]<r&&(r=o[n])}return r}function am(o){for(var n=o.length,r=o[0];n--;){o[n]>r&&(r=o[n])}return r}function aj(o,n){for(var r in o){o[r]&&o[r]!==n&&o[r].destroy&&o[r].destroy(),delete o[r]}}function bN(n){aA||(aA=aX(af));n&&aA.appendChild(n);aA.innerHTML=""}function h(o,n){var r="Highcharts error #"+o+": www.highcharts.com/errors/"+o;if(n){throw r}else{a4.console&&console.log(r)}}function aG(n){return parseFloat(n.toPrecision(14))}function m(o,n){i=aB(o,n.animation)}function l(){var o=a6.global.useUTC,n=o?"getUTC":"get",r=o?"setUTC":"set";a2=o?Date.UTC:function(t,s,x,w,v,u){return(new Date(t,s,aB(x,1),aB(w,0),aB(v,0),aB(u,0))).getTime()};j=n+"Minutes";bV=n+"Hours";bo=n+"Day";c=n+"Date";bm=n+"Month";bv=n+"FullYear";g=r+"Minutes";bT=r+"Hours";bG=r+"Date";bD=r+"Month";bi=r+"FullYear"}function A(){}function bY(o,n,s,r){this.axis=o;this.pos=n;this.type=s||"";this.isNew=!0;!s&&!r&&this.addLabel()}function ak(o,n){this.axis=o;if(n){this.options=n,this.id=n.id}}function bX(o,n,v,u,t,s){var r=o.chart.inverted;this.axis=o;this.isNegative=v;this.options=n;this.x=u;this.total=null;this.points={};this.stack=t;this.percent=s==="percent";this.alignOptions={align:n.align||(r?v?"left":"right":"center"),verticalAlign:n.verticalAlign||(r?"middle":v?"bottom":"top"),y:aB(n.y,r?4:v?14:-6),x:aB(n.x,r?v?-6:6:0)};this.textAlign=n.textAlign||(r?v?"right":"left":"center")}function L(){this.init.apply(this,arguments)}function p(){this.init.apply(this,arguments)}function a(o,n){this.init(o,n)}function e(o,n){this.init(o,n)}function bK(){this.init.apply(this,arguments)}var au,aq=document,a4=window,a0=Math,ax=a0.round,a3=a0.floor,b=a0.ceil,ay=a0.max,bd=a0.min,a5=a0.abs,aW=a0.cos,aD=a0.sin,bM=a0.PI,bu=bM*2/360,aK=navigator.userAgent,bH=a4.opera,bq=/msie/i.test(aK)&&!bH,bP=aq.documentMode===8,bx=/AppleWebKit/.test(aK),a8=/Firefox/.test(aK),bp=/(Mobile|Android|Windows Phone)/.test(aK),bt="http://www.w3.org/2000/svg",aR=!!aq.createElementNS&&!!aq.createElementNS(bt,"svg").createSVGRect,bs=a8&&parseInt(aK.split("Firefox/")[1],10)<4,bF=!aR&&!bq&&!!aq.createElement("canvas").getContext,aT,aE=aq.documentElement.ontouchstart!==au,aO={},br=0,aA,a6,H,i,bQ,bk,ah=function(){},bU=[],af="div",aZ="none",al="rgba(192,192,192,"+(aR?0.0001:0.002)+")",aF="millisecond",ag="second",d="minute",an="hour",aN="day",bO="week",B="month",aH="year",q="stroke-width",a2,j,bV,bo,c,bm,bv,g,bT,bG,bD,bi,aV={};a4.Highcharts=a4.Highcharts?h(16,!0):{};H=function(C,z,y){if(!aw(z)||isNaN(z)){return"Invalid date"}var C=aB(C,"%Y-%m-%d %H:%M:%S"),x=new Date(z),w,v=x[bV](),u=x[bo](),t=x[c](),s=x[bm](),r=x[bv](),o=a6.lang,n=o.weekdays,x=az({a:n[u].substr(0,3),A:n[u],d:bA(t),e:t,b:o.shortMonths[s],B:o.months[s],m:bA(s+1),y:r.toString().substr(2,2),Y:r,H:bA(v),I:bA(v%12||12),l:v%12||12,M:bA(x[j]()),p:v<12?"AM":"PM",P:v<12?"am":"pm",S:bA(x.getSeconds()),L:bA(ax(z%1000),3)},Highcharts.dateFormats);for(w in x){for(;C.indexOf("%"+w)!==-1;){C=C.replace("%"+w,typeof x[w]==="function"?x[w](z):x[w])}}return y?C.substr(0,1).toUpperCase()+C.substr(1):C};aJ.prototype={wrapColor:function(n){if(this.color>=n){this.color=0}},wrapSymbol:function(n){if(this.symbol>=n){this.symbol=0}}};bk=function(){for(var o=0,n=arguments,s=n.length,r={};o<s;o++){r[n[o++]]=n[o]}return r}(aF,1,ag,1000,d,60000,an,3600000,aN,86400000,bO,604800000,B,2678400000,aH,31556952000);bQ={init:function(y,x,w){var x=x||"",v=y.shift,u=x.indexOf("C")>-1,t=u?7:3,s,x=x.split(" "),w=[].concat(w),r,o,n=function(z){for(s=z.length;s--;){z[s]==="M"&&z.splice(s+1,0,z[s+1],z[s+2],z[s+1],z[s+2])}};u&&(n(x),n(w));y.isArea&&(r=x.splice(x.length-6,6),o=w.splice(w.length-6,6));if(v<=w.length/t&&x.length===w.length){for(;v--;){w=[].concat(w).splice(0,t).concat(w)}}y.shift=0;if(x.length){for(y=w.length;x.length<y;){v=[].concat(x).splice(x.length-t,t),u&&(v[t-6]=v[t-2],v[t-5]=v[t-1]),x=x.concat(v)}}r&&(x=x.concat(r),w=w.concat(o));return[x,w]},step:function(o,n,u,t){var s=[],r=o.length;if(u===1){s=t}else{if(r===n.length&&u<1){for(;r--;){t=parseFloat(o[r]),s[r]=isNaN(t)?o[r]:u*parseFloat(n[r]-t)+t}}else{s=n}}return s}};(function(n){a4.HighchartsAdapter=a4.HighchartsAdapter||n&&{init:function(o){var v=n.fx,u=v.step,t,s=n.Tween,r=s&&s.propHooks;t=n.cssHooks.opacity;n.extend(n.easing,{easeOutQuad:function(x,w,C,z,y){return -z*(w/=y)*(w-2)+C}});n.each(["cur","_default","width","height","opacity"],function(y,w){var C=u,z,x;w==="cur"?C=v.prototype:w==="_default"&&s&&(C=r[w],w="set");(z=C[w])&&(C[w]=function(D){D=y?D:this;if(D.prop!=="align"){return x=D.elem,x.attr?x.attr(D.prop,w==="cur"?au:D.now):z.apply(this,arguments)}})});bB(t,"get",function(x,w,y){return w.attr?w.opacity||0:x.call(this,w,y)});t=function(w){var y=w.elem,x;if(!w.started){x=o.init(y,y.d,y.toD),w.start=x[0],w.end=x[1],w.started=!0}y.attr("d",o.step(w.start,w.end,w.pos,y.toD))};s?r.d={set:t}:u.d=t;this.each=Array.prototype.forEach?function(x,w){return Array.prototype.forEach.call(x,w)}:function(x,w){for(var z=0,y=x.length;z<y;z++){if(w.call(x[z],x[z],z,x)===!1){return z}}};n.fn.highcharts=function(){var x="Chart",w=arguments,z,y;f(w[0])&&(x=w[0],w=Array.prototype.slice.call(w,1));z=w[0];if(z!==au){z.chart=z.chart||{},z.chart.renderTo=this[0],new Highcharts[x](z,w[1]),y=this}z===au&&(y=bU[av(this[0],"data-highcharts-chart")]);return y}},getScript:n.getScript,inArray:n.inArray,adapterRun:function(o,r){return n(o)[r]()},grep:n.grep,map:function(o,u){for(var t=[],s=0,r=o.length;s<r;s++){t[s]=u.call(o[s],o[s],s,o)}return t},offset:function(o){return n(o).offset()},addEvent:function(o,s,r){n(o).bind(s,r)},removeEvent:function(o,t,s){var r=aq.removeEventListener?"removeEventListener":"detachEvent";aq[r]&&o&&!o[r]&&(o[r]=function(){});n(o).unbind(t,s)},fireEvent:function(o,w,v,u){var t=n.Event(w),s="detached"+w,r;!bq&&v&&(delete v.layerX,delete v.layerY);az(t,v);o[w]&&(o[s]=o[w],o[w]=null);n.each(["preventDefault","stopPropagation"],function(y,x){var z=t[x];t[x]=function(){try{z.call(t)}catch(C){x==="preventDefault"&&(r=!0)}}});n(o).trigger(t);o[s]&&(o[w]=o[s],o[s]=null);u&&!t.isDefaultPrevented()&&!r&&u(t)},washMouseEvent:function(o){var r=o.originalEvent||o;if(r.pageX===au){r.pageX=o.pageX,r.pageY=o.pageY}return r},animate:function(o,t,s){var r=n(o);if(!o.style){o.style={}}if(t.d){o.toD=t.d,t.d=1}r.stop();t.opacity!==au&&o.attr&&(t.opacity+="px");r.animate(t,s)},stop:function(o){n(o).stop()}}})(a4.jQuery);var aU=a4.HighchartsAdapter,bf=aU||{};aU&&aU.init.call(aU,bQ);var ac=bf.adapterRun,aQ=bf.getScript,k=bf.inArray,aC=bf.each,aM=bf.grep,ap=bf.offset,bJ=bf.map,a9=bf.addEvent,bw=bf.removeEvent,ao=bf.fireEvent,E=bf.washMouseEvent,by=bf.animate,ar=bf.stop,bf={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}};a6={colors:"#2f7ed8,#0d233a,#8bbc21,#910000,#1aadce,#492970,#f28f43,#77a1e5,#c42525,#a6c96a".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.6/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.6/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1000},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:at(bf,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":bS(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,animation:aR,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',shadow:!0,snap:bp?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",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 aS=a6.plotOptions,aU=aS.line;l();var bW=function(o){var n=[],s,r;(function(t){t&&t.stops?r=bJ(t.stops,function(u){return bW(u[1])}):(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=[bn(s[1]),bn(s[2]),bn(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=[bn(s[1],16),bn(s[2],16),bn(s[3],16),1]:(s=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(t))&&(n=[bn(s[1]),bn(s[2]),bn(s[3]),1])})(o);return{get:function(u){var t;r?(t=at(o),t.stops=[].concat(t.stops),aC(r,function(w,v){t.stops[v]=[t.stops[v][0],w.get(u)]})):t=n&&!isNaN(n[0])?u==="rgb"?"rgb("+n[0]+","+n[1]+","+n[2]+")":u==="a"?n[3]:"rgba("+n.join(",")+")":o;return t},brighten:function(t){if(r){aC(r,function(v){v.brighten(t)})}else{if(bI(t)&&t!==0){var u;for(u=0;u<3;u++){n[u]+=bn(t*255),n[u]<0&&(n[u]=0),n[u]>255&&(n[u]=255)}}}return this},rgba:n,setOpacity:function(t){n[3]=t;return this}}};A.prototype={init:function(o,n){this.element=n==="span"?aX(n):aq.createElementNS(bt,n);this.renderer=o;this.attrSetters={}},opacity:1,animate:function(o,n,r){n=aB(n,i,!0);ar(this);if(n){n=at(n);if(r){n.complete=r}by(this,o,n)}else{this.attr(o),r&&r()}},attr:function(G,F){var D,C,z,y,x=this.element,w=x.nodeName.toLowerCase(),v=this.renderer,u,t=this.attrSetters,s=this.shadows,r,o,n=this;f(G)&&aw(F)&&(D=G,G={},G[D]=F);if(f(G)){D=G,w==="circle"?D={x:"cx",y:"cy"}[D]||D:D==="strokeWidth"&&(D="stroke-width"),n=av(x,D)||this[D]||0,D!=="d"&&D!=="visibility"&&D!=="fill"&&(n=parseFloat(n))}else{for(D in G){if(u=!1,C=G[D],z=t[D]&&t[D].call(this,C,D),z!==!1){z!==au&&(C=z);if(D==="d"){C&&C.join&&(C=C.join(" ")),/(NaN| {2}|^$)/.test(C)&&(C="M 0 0")}else{if(D==="x"&&w==="text"){for(z=0;z<x.childNodes.length;z++){y=x.childNodes[z],av(y,"x")===av(x,"x")&&av(y,"x",C)}}else{if(this.rotation&&(D==="x"||D==="y")){o=!0}else{if(D==="fill"){C=v.color(C,x,D)}else{if(w==="circle"&&(D==="x"||D==="y")){D={x:"cx",y:"cy"}[D]||D}else{if(w==="rect"&&D==="r"){av(x,{rx:C,ry:C}),u=!0}else{if(D==="translateX"||D==="translateY"||D==="rotation"||D==="verticalAlign"||D==="scaleX"||D==="scaleY"){u=o=!0}else{if(D==="stroke"){C=v.color(C,x,D)}else{if(D==="dashstyle"){if(D="stroke-dasharray",C=C&&C.toLowerCase(),C==="solid"){C=aZ}else{if(C){C=C.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(z=C.length;z--;){C[z]=bn(C[z])*aB(G["stroke-width"],this["stroke-width"])}C=C.join(",")}}}else{if(D==="width"){C=bn(C)}else{if(D==="align"){D="text-anchor",C={left:"start",center:"middle",right:"end"}[C]}else{if(D==="title"){z=x.getElementsByTagName("title")[0],z||(z=aq.createElementNS(bt,"title"),x.appendChild(z)),z.textContent=C}}}}}}}}}}}}D==="strokeWidth"&&(D="stroke-width");if(D==="stroke-width"||D==="stroke"){this[D]=C;if(this.stroke&&this["stroke-width"]){av(x,"stroke",this.stroke),av(x,"stroke-width",this["stroke-width"]),this.hasStroke=!0}else{if(D==="stroke-width"&&C===0&&this.hasStroke){x.removeAttribute("stroke"),this.hasStroke=!1}}u=!0}this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(D)&&(r||(this.symbolAttr(G),r=!0),u=!0);if(s&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(D)){for(z=s.length;z--;){av(s[z],D,D==="height"?ay(C-(s[z].cutHeight||0),0):C)}}if((D==="width"||D==="height")&&w==="rect"&&C<0){C=0}this[D]=C;D==="text"?(C!==this.textStr&&delete this.bBox,this.textStr=C,this.added&&v.buildText(this)):u||av(x,D,C)}}o&&this.updateTransform()}return n},addClass:function(o){var n=this.element,r=av(n,"class")||"";r.indexOf(o)===-1&&av(n,"class",r+" "+o);return this},symbolAttr:function(o){var n=this;aC("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(r){n[r]=aB(o[r],n[r])});n.attr({d:n.renderer.symbols[n.symbolName](n.x,n.y,n.width,n.height,n)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":aZ)},crisp:function(x,w,v,u,t){var s,r={},o={},n,x=x||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;n=ax(x)%2/2;o.x=a3(w||this.x||0)+n;o.y=a3(v||this.y||0)+n;o.width=a3((u||this.width||0)-2*n);o.height=a3((t||this.height||0)-2*n);o.strokeWidth=x;for(s in o){this[s]!==o[s]&&(this[s]=r[s]=o[s])}return r},css:function(o){var n=this.element,u=o&&o.width&&n.nodeName.toLowerCase()==="text",t,s="",r=function(w,v){return"-"+v.toLowerCase()};if(o&&o.color){o.fill=o.color}this.styles=o=az(this.styles,o);bF&&u&&delete o.width;if(bq&&!aR){u&&delete o.width,a7(this.element,o)}else{for(t in o){s+=t.replace(/([A-Z])/g,r)+":"+o[t]+";"}av(n,"style",s)}u&&this.added&&this.renderer.buildText(this);return this},on:function(o,n){var s=this,r=s.element;aE&&o==="click"?(r.ontouchstart=function(t){s.touchEventFired=Date.now();t.preventDefault();n.call(r,t)},r.onclick=function(t){(aK.indexOf("Android")===-1||Date.now()-(s.touchEventFired||0)>1100)&&n.call(r,t)}):r["on"+o]=n;return this},setRadialReference:function(n){this.element.radialReference=n;return this},translate:function(o,n){return this.attr({translateX:o,translateY:n})},invert:function(){this.inverted=!0;this.updateTransform();return this},htmlCss:function(o){var n=this.element;if(n=o&&n.tagName==="SPAN"&&o.width){delete o.width,this.textWidth=n,this.updateTransform()}this.styles=az(this.styles,o);a7(this.element,o);return this},htmlGetBBox:function(){var o=this.element,n=this.bBox;if(!n){if(o.nodeName==="text"){o.style.position="absolute"}n=this.bBox={x:o.offsetLeft,y:o.offsetTop,width:o.offsetWidth,height:o.offsetHeight}}return n},htmlUpdateTransform:function(){if(this.added){var M=this.renderer,K=this.element,J=this.translateX||0,I=this.translateY||0,G=this.x||0,F=this.y||0,D=this.textAlign||"left",C={left:0,center:0.5,right:1}[D],z=D&&D!=="left",y=this.shadows;a7(K,{marginLeft:J,marginTop:I});y&&aC(y,function(N){a7(N,{marginLeft:J+1,marginTop:I+1})});this.inverted&&aC(K.childNodes,function(N){M.invertChild(N,K)});if(K.tagName==="SPAN"){var x,w,y=this.rotation,v;x=0;var u=1,s=0,o;v=bn(this.textWidth);var t=this.xCorr||0,r=this.yCorr||0,n=[y,D,K.innerHTML,this.textWidth].join(",");if(n!==this.cTT){aw(y)&&(x=y*bu,u=aW(x),s=aD(x),this.setSpanRotation(y,s,u));x=aB(this.elemWidth,K.offsetWidth);w=aB(this.elemHeight,K.offsetHeight);if(x>v&&/[ \-]/.test(K.textContent||K.innerText)){a7(K,{width:v+"px",display:"block",whiteSpace:"normal"}),x=v}v=M.fontMetrics(K.style.fontSize).b;t=u<0&&-x;r=s<0&&-w;o=u*s<0;t+=s*v*(o?1-C:C);r-=u*v*(y?o?C:1-C:1);z&&(t-=x*C*(u<0?-1:1),y&&(r-=w*C*(s<0?-1:1)),a7(K,{textAlign:D}));this.xCorr=t;this.yCorr=r}a7(K,{left:G+t+"px",top:F+r+"px"});if(bx){w=K.offsetHeight}this.cTT=n}}else{this.alignOnAdd=!0}},setSpanRotation:function(o){var n={};n[bq?"-ms-transform":bx?"-webkit-transform":a8?"MozTransform":bH?"-o-transform":""]=n.transform="rotate("+o+"deg)";a7(this.element,n)},updateTransform:function(){var o=this.translateX||0,n=this.translateY||0,u=this.scaleX,t=this.scaleY,s=this.inverted,r=this.rotation;s&&(o+=this.attr("width"),n+=this.attr("height"));o=["translate("+o+","+n+")"];s?o.push("rotate(90) scale(-1,1)"):r&&o.push("rotate("+r+" "+(this.x||0)+" "+(this.y||0)+")");(aw(u)||aw(t))&&o.push("scale("+aB(u,1)+" "+aB(t,1)+")");o.length&&av(this.element,"transform",o.join(" "))},toFront:function(){var n=this.element;n.parentNode.appendChild(n);return this},align:function(o,n,w){var v,u,t,s,r={};u=this.renderer;t=u.alignedObjects;if(o){if(this.alignOptions=o,this.alignByTranslate=n,!w||f(w)){this.alignTo=v=w||"renderer",bz(t,this),t.push(this),w=null}}else{o=this.alignOptions,n=this.alignByTranslate,v=this.alignTo}w=aB(w,u[v],u);v=o.align;u=o.verticalAlign;t=(w.x||0)+(o.x||0);s=(w.y||0)+(o.y||0);if(v==="right"||v==="center"){t+=(w.width-(o.width||0))/{right:1,center:2}[v]}r[n?"translateX":"x"]=ax(t);if(u==="bottom"||u==="middle"){s+=(w.height-(o.height||0))/({bottom:1,middle:2}[u]||1)}r[n?"translateY":"y"]=ax(s);this[this.placed?"animate":"attr"](r);this.placed=!0;this.alignAttr=r;return this},getBBox:function(){var o=this.bBox,n=this.renderer,v,u=this.rotation;v=this.element;var t=this.styles,s=u*bu;if(!o){if(v.namespaceURI===bt||n.forExport){try{o=v.getBBox?az({},v.getBBox()):{width:v.offsetWidth,height:v.offsetHeight}}catch(r){}if(!o||o.width<0){o={width:0,height:0}}}else{o=this.htmlGetBBox()}if(n.isSVG){n=o.width;v=o.height;if(bq&&t&&t.fontSize==="11px"&&v.toPrecision(3)==="22.7"){o.height=v=14}if(u){o.width=a5(v*aD(s))+a5(n*aW(s)),o.height=a5(v*aW(s))+a5(n*aD(s))}}this.bBox=o}return o},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(o){var n=this;n.animate({opacity:0},{duration:o||150,complete:function(){n.hide()}})},add:function(o){var n=this.renderer,w=o||n,v=w.element||n.box,u=v.childNodes,t=this.element,s=av(t,"zIndex"),r;if(o){this.parentGroup=o}this.parentInverted=o&&o.inverted;this.textStr!==void 0&&n.buildText(this);if(s){w.handleZ=!0,s=bn(s)}if(w.handleZ){for(w=0;w<u.length;w++){if(o=u[w],n=av(o,"zIndex"),o!==t&&(bn(n)>s||!aw(s)&&aw(n))){v.insertBefore(t,o);r=!0;break}}}r||v.appendChild(t);this.added=!0;ao(this,"add");return this},safeRemoveChild:function(o){var n=o.parentNode;n&&n.removeChild(o)},destroy:function(){var o=this,n=o.element||{},u=o.shadows,t=o.renderer.isSVG&&n.nodeName==="SPAN"&&n.parentNode,s,r;n.onclick=n.onmouseout=n.onmouseover=n.onmousemove=n.point=null;ar(o);if(o.clipPath){o.clipPath=o.clipPath.destroy()}if(o.stops){for(r=0;r<o.stops.length;r++){o.stops[r]=o.stops[r].destroy()}o.stops=null}o.safeRemoveChild(n);for(u&&aC(u,function(v){o.safeRemoveChild(v)});t&&t.childNodes.length===0;){n=t.parentNode,o.safeRemoveChild(t),t=n}o.alignTo&&bz(o.renderer.alignedObjects,o);for(s in o){delete o[s]}return null},shadow:function(z,y,x){var w=[],v,u,t=this.element,s,r,o,n;if(z){r=aB(z.width,3);o=(z.opacity||0.15)/r;n=this.parentInverted?"(-1,-1)":"("+aB(z.offsetX,1)+", "+aB(z.offsetY,1)+")";for(v=1;v<=r;v++){u=t.cloneNode(0);s=r*2+1-2*v;av(u,{isShadow:"true",stroke:z.color||"black","stroke-opacity":o*v,"stroke-width":s,transform:"translate"+n,fill:aZ});if(x){av(u,"height",ay(av(u,"height")-s,0)),u.cutHeight=s}y?y.element.appendChild(u):t.parentNode.insertBefore(u,t);w.push(u)}this.shadows=w}return this}};var bE=function(){this.init.apply(this,arguments)};bE.prototype={Element:A,init:function(o,n,w,v){var u=location,t,s;t=this.createElement("svg").attr({version:"1.1"});s=t.element;o.appendChild(s);o.innerHTML.indexOf("xmlns")===-1&&av(s,"xmlns",bt);this.isSVG=!0;this.box=s;this.boxWrapper=t;this.alignedObjects=[];this.url=(a8||bx)&&aq.getElementsByTagName("base").length?u.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(aq.createTextNode("Created with Highcharts 3.0.6"));this.defs=this.createElement("defs").add();this.forExport=v;this.gradients={};this.setSize(n,w,!1);var r;if(a8&&o.getBoundingClientRect){this.subPixelFix=n=function(){a7(o,{left:0,top:0});r=o.getBoundingClientRect();a7(o,{left:b(r.left)-r.left+"px",top:b(r.top)-r.top+"px"})},n(),a9(a4,"resize",n)}},isHidden:function(){return !this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();aj(this.gradients||{});this.gradients=null;if(n){this.defs=n.destroy()}this.subPixelFix&&bw(a4,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(o){var n=new this.Element;n.init(this,o);return n},draw:function(){},buildText:function(D){for(var C=D.element,z=this,y=z.forExport,x=aB(D.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),w=C.childNodes,v=/style="([^"]+)"/,u=/href="(http[^"]+)"/,t=av(C,"x"),s=D.styles,r=s&&s.width&&bn(s.width),o=s&&s.lineHeight,n=w.length;n--;){C.removeChild(w[n])}r&&!D.added&&this.box.appendChild(C);x[x.length-1]===""&&x.pop();aC(x,function(I,G){var F,J=0,I=I.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");F=I.split("|||");aC(F,function(O){if(O!==""||F.length===1){var M={},N=aq.createElementNS(bt,"tspan"),T;v.test(O)&&(T=O.match(v)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),av(N,"style",T));u.test(O)&&!y&&(av(N,"onclick",'location.href="'+O.match(u)[1]+'"'),a7(N,{cursor:"pointer"}));O=(O.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");if(O!==" "&&(N.appendChild(aq.createTextNode(O)),J?M.dx=0:M.x=t,av(N,M),!J&&G&&(!aR&&y&&a7(N,{display:"block"}),av(N,"dy",o||z.fontMetrics(/px$/.test(N.style.fontSize)?N.style.fontSize:s.fontSize).h,bx&&N.offsetHeight)),C.appendChild(N),J++,r)){for(var O=O.replace(/([^\^])-/g,"$1- ").split(" "),Q,R,M=D._clipHeight,S=[],P=bn(o||16),K=1;O.length||S.length;){delete D.bBox,Q=D.getBBox(),R=Q.width,Q=R>r,!Q||O.length===1?(O=S,S=[],O.length&&(K++,M&&K*P>M?(O=["..."],D.attr("title",D.textStr)):(N=aq.createElementNS(bt,"tspan"),av(N,{dy:P,x:t}),T&&av(N,"style",T),C.appendChild(N),R>r&&(r=R)))):(N.removeChild(N.firstChild),S.unshift(O.pop())),O.length&&N.appendChild(aq.createTextNode(O.join(" ").replace(/- /g,"-")))}}}})})},button:function(J,I,G,F,D,C,z,y){var x=this.label(J,I,G,null,null,null,null,null,"button"),w=0,v,u,t,r,o,s,J={x1:0,y1:0,x2:0,y2:1},D=at({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:J,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},D);t=D.style;delete D.style;C=at(D,{stroke:"#68A",fill:{linearGradient:J,stops:[[0,"#FFF"],[1,"#ACF"]]}},C);r=C.style;delete C.style;z=at(D,{stroke:"#68A",fill:{linearGradient:J,stops:[[0,"#9BD"],[1,"#CDF"]]}},z);o=z.style;delete z.style;y=at(D,{style:{color:"#CCC"}},y);s=y.style;delete y.style;a9(x.element,bq?"mouseover":"mouseenter",function(){w!==3&&x.attr(C).css(r)});a9(x.element,bq?"mouseout":"mouseleave",function(){w!==3&&(v=[D,C,z][w],u=[t,r,o][w],x.attr(v).css(u))});x.setState=function(n){(x.state=w=n)?n===2?x.attr(z).css(o):n===3&&x.attr(y).css(s):x.attr(D).css(t)};return x.on("click",function(){w!==3&&F.call(x)}).attr(D).css(az({cursor:"default"},t))},crispLine:function(o,n){o[1]===o[4]&&(o[1]=o[4]=ax(o[1])-n%2/2);o[2]===o[5]&&(o[2]=o[5]=ax(o[2])+n%2/2);return o},path:function(o){var n={fill:aZ};bl(o)?n.d=o:aY(o)&&az(n,o);return this.createElement("path").attr(n)},circle:function(o,n,r){o=aY(o)?o:{x:o,y:n,r:r};return this.createElement("circle").attr(o)},arc:function(o,n,u,t,s,r){if(aY(o)){n=o.y,u=o.r,t=o.innerR,s=o.start,r=o.end,o=o.x}o=this.symbol("arc",o||0,n||0,u||0,u||0,{innerR:t||0,start:s||0,end:r||0});o.r=u;return o},rect:function(o,n,u,t,s,r){s=aY(o)?o.r:s;s=this.createElement("rect").attr({rx:s,ry:s,fill:aZ});return s.attr(aY(o)?o:s.crisp(r,o,n,ay(u,0),ay(t,0)))},setSize:function(o,n,t){var s=this.alignedObjects,r=s.length;this.width=o;this.height=n;for(this.boxWrapper[aB(t,!0)?"animate":"attr"]({width:o,height:n});r--;){s[r].align()}},g:function(o){var n=this.createElement("g");return aw(o)?n.attr({"class":"highcharts-"+o}):n},image:function(o,n,u,t,s){var r={preserveAspectRatio:aZ};arguments.length>1&&az(r,{x:n,y:u,width:t,height:s});r=this.createElement("image").attr(r);r.element.setAttributeNS?r.element.setAttributeNS("http://www.w3.org/1999/xlink","href",o):r.element.setAttribute("hc-svg-href",o);return r},symbol:function(z,y,x,w,v,u){var t,s=this.symbols[z],s=s&&s(ax(y),ax(x),w,v,u),r=/^url\((.*?)\)$/,o,n;if(s){t=this.path(s),az(t,{symbolName:z,x:y,y:x,width:w,height:v}),u&&az(t,u)}else{if(r.test(z)){n=function(D,C){D.element&&(D.attr({width:C[0],height:C[1]}),D.alignByTranslate||D.translate(ax((w-C[0])/2),ax((v-C[1])/2)))},o=z.match(r)[1],z=aO[o],t=this.image(o).attr({x:y,y:x}),t.isImg=!0,z?n(t,z):(t.attr({width:0,height:0}),aX("img",{onload:function(){n(t,aO[o]=[this.width,this.height])},src:o}))}}return t},symbols:{circle:function(o,n,t,s){var r=0.166*t;return["M",o+t/2,n,"C",o+t+r,n,o+t+r,n+s,o+t/2,n+s,"C",o-r,n+s,o-r,n,o+t/2,n,"Z"]},square:function(o,n,s,r){return["M",o,n,"L",o+s,n,o+s,n+r,o,n+r,"Z"]},triangle:function(o,n,s,r){return["M",o+s/2,n,"L",o+s,n+r,o,n+r,"Z"]},"triangle-down":function(o,n,s,r){return["M",o,n,"L",o+s,n,o+s/2,n+r,"Z"]},diamond:function(o,n,s,r){return["M",o+s/2,n,"L",o+s,n+r/2,o+s/2,n+r,o,n+r/2,"Z"]},arc:function(z,y,x,w,v){var u=v.start,x=v.r||x||w,t=v.end-0.001,w=v.innerR,s=v.open,r=aW(u),o=aD(u),n=aW(t),t=aD(t),v=v.end-u<bM?0:1;return["M",z+x*r,y+x*o,"A",x,x,0,v,1,z+x*n,y+x*t,s?"M":"L",z+w*n,y+w*t,"A",w,w,0,v,0,z+w*r,y+w*o,s?"":"Z"]}},clipRect:function(o,n,u,t){var s="highcharts-"+br++,r=this.createElement("clipPath").attr({id:s}).add(this.defs),o=this.rect(o,n,u,t,0).add(r);o.id=s;o.clipPath=r;return o},color:function(F,D,C){var z=this,y,x=/^rgba/,w,v,u,t,s,r,o,n=[];F&&F.linearGradient?w="linearGradient":F&&F.radialGradient&&(w="radialGradient");if(w){C=F[w];v=z.gradients;t=F.stops;D=D.radialReference;bl(C)&&(F[w]=C={x1:C[0],y1:C[1],x2:C[2],y2:C[3],gradientUnits:"userSpaceOnUse"});w==="radialGradient"&&D&&!aw(C.gradientUnits)&&(C=at(C,{cx:D[0]-D[2]/2+C.cx*D[2],cy:D[1]-D[2]/2+C.cy*D[2],r:C.r*D[2],gradientUnits:"userSpaceOnUse"}));for(o in C){o!=="id"&&n.push(o,C[o])}for(o in t){n.push(t[o])}n=n.join(",");v[n]?F=v[n].id:(C.id=F="highcharts-"+br++,v[n]=u=z.createElement(w).attr(C).add(z.defs),u.stops=[],aC(t,function(G){x.test(G[1])?(y=bW(G[1]),s=y.get("rgb"),r=y.get("a")):(s=G[1],r=1);G=z.createElement("stop").attr({offset:G[0],"stop-color":s,"stop-opacity":r}).add(u);u.stops.push(G)}));return"url("+z.url+"#"+F+")"}else{return x.test(F)?(y=bW(F),av(D,C+"-opacity",y.get("a")),y.get("rgb")):(D.removeAttribute(C+"-opacity"),F)}},text:function(o,n,u,t){var s=a6.chart.style,r=bF||!aR&&this.forExport;if(t&&!this.forExport){return this.html(o,n,u)}n=ax(aB(n,0));u=ax(aB(u,0));o=this.createElement("text").attr({x:n,y:u,text:o}).css({fontFamily:s.fontFamily,fontSize:s.fontSize});r&&o.css({position:"absolute"});o.x=n;o.y=u;return o},html:function(o,n,w){var v=a6.chart.style,u=this.createElement("span"),t=u.attrSetters,s=u.element,r=u.renderer;t.text=function(x){x!==s.innerHTML&&delete this.bBox;s.innerHTML=x;return !1};t.x=t.y=t.align=function(y,x){x==="align"&&(x="textAlign");u[x]=y;u.htmlUpdateTransform();return !1};u.attr({text:o,x:ax(n),y:ax(w)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:v.fontFamily,fontSize:v.fontSize});u.css=u.htmlCss;if(r.isSVG){u.add=function(y){var x,C=r.box.parentNode,z=[];if(y){if(x=y.div,!x){for(;y;){z.push(y),y=y.parentGroup}aC(z.reverse(),function(D){var F;x=D.div=D.div||aX(af,{className:av(D.element,"class")},{position:"absolute",left:(D.translateX||0)+"px",top:(D.translateY||0)+"px"},x||C);F=x.style;az(D.attrSetters,{translateX:function(G){F.left=G+"px"},translateY:function(G){F.top=G+"px"},visibility:function(I,G){F[G]=I}})})}}else{x=C}x.appendChild(s);u.added=!0;u.alignOnAdd&&u.htmlUpdateTransform();return u}}return u},fontMetrics:function(o){var o=bn(o||11),o=o<24?o+4:ax(o*1.2),n=ax(o*0.8);return{h:o,b:n}},label:function(ab,aa,Z,Y,X,W,U,T,S){function R(){var s,o;s=K.element.style;r=(V===void 0||O===void 0||G.styles.textAlign)&&K.getBBox();G.width=(V||r.width||0)+2*bb+n;G.height=(O||r.height||0)+2*bb;w=bb+J.fontMetrics(s&&s.fontSize).b;if(D){if(!I){s=ax(-z*bb),o=T?-w:0,G.box=I=Y?J.symbol(Y,s,o,G.width,G.height):J.rect(s,o,G.width,G.height,0,M[q]),I.add(G)}I.isImg||I.attr(at({width:G.width,height:G.height},M));M=null}}function Q(){var s=G.styles,s=s&&s.textAlign,o=n+bb*(1-z),v;v=T?0:w;if(aw(V)&&(s==="center"||s==="right")){o+={center:0.5,right:1}[s]*(V-r.width)}(o!==K.x||v!==K.y)&&K.attr({x:o,y:v});K.x=o;K.y=v}function P(s,o){I?I.attr(s,o):M[s]=o}function N(){K.add(G);G.attr({text:ab,x:aa,y:Z});I&&aw(X)&&G.attr({anchorX:X,anchorY:W})}var J=this,G=J.g(S),K=J.text("",0,0,U).attr({zIndex:1}),I,r,z=0,bb=3,n=0,V,O,x,u,F=0,M={},w,U=G.attrSetters,D;a9(G,"add",N);U.width=function(o){V=o;return !1};U.height=function(o){O=o;return !1};U.padding=function(o){aw(o)&&o!==bb&&(bb=o,Q());return !1};U.paddingLeft=function(o){aw(o)&&o!==n&&(n=o,Q());return !1};U.align=function(o){z={left:0,center:0.5,right:1}[o];return !1};U.text=function(s,o){K.attr(o,s);R();Q();return !1};U[q]=function(s,o){D=!0;F=s%2/2;P(o,s);return !1};U.stroke=U.fill=U.r=function(s,o){o==="fill"&&(D=!0);P(o,s);return !1};U.anchorX=function(s,o){X=s;P(o,s+F-x);return !1};U.anchorY=function(s,o){W=s;P(o,s-u);return !1};U.x=function(o){G.x=o;o-=z*((V||r.width)+bb);x=ax(o);G.attr("translateX",x);return !1};U.y=function(o){u=G.y=ax(o);G.attr("translateY",u);return !1};var t=G.css;return az(G,{css:function(s){if(s){var o={},s=at(s);aC("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(v){s[v]!==au&&(o[v]=s[v],delete s[v])});K.css(o)}return t.call(G,s)},getBBox:function(){return{width:r.width+2*bb,height:r.height+2*bb,x:r.x-bb,y:r.y-bb}},shadow:function(o){I&&I.shadow(o);return G},destroy:function(){bw(G,"add",N);bw(G.element,"mouseenter");bw(G.element,"mouseleave");K&&(K=K.destroy());I&&(I=I.destroy());A.prototype.destroy.call(G);G=J=R=Q=P=N=null}})}};aT=bE;var bg;if(!aR&&!bF){Highcharts.VMLElement=bg={init:function(o,n){var t=["<",n,' filled="f" stroked="f"'],s=["position: ","absolute",";"],r=n===af;(n==="shape"||r)&&s.push("left:0;top:0;width:1px;height:1px;");s.push("visibility: ",r?"hidden":"visible");t.push(' style="',s.join(""),'"/>');if(n){t=r||n==="span"||n==="img"?t.join(""):o.prepVML(t),this.element=aX(t)}this.renderer=o;this.attrSetters={}},add:function(o){var n=this.renderer,s=this.element,r=n.box,r=o?o.element||o:r;o&&o.inverted&&n.invertChild(s,r);r.appendChild(s);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();ao(this,"add");return this},updateTransform:A.prototype.htmlUpdateTransform,setSpanRotation:function(o,n,r){a7(this.element,{filter:o?["progid:DXImageTransform.Microsoft.Matrix(M11=",r,", M12=",-n,", M21=",n,", M22=",r,", sizingMethod='auto expand')"].join(""):aZ})},pathToVML:function(o){for(var n=o.length,s=[],r;n--;){if(bI(o[n])){s[n]=ax(o[n]*10)-5}else{if(o[n]==="Z"){s[n]="x"}else{if(s[n]=o[n],o.isArc&&(o[n]==="wa"||o[n]==="at")){r=o[n]==="wa"?1:-1,s[n+5]===s[n+7]&&(s[n+7]-=r),s[n+6]===s[n+8]&&(s[n+8]-=r)}}}}return s.join(" ")||"x"},attr:function(G,F){var D,C,z,y=this.element||{},x=y.style,w=y.nodeName,v=this.renderer,u=this.symbolName,t,s=this.shadows,r,o=this.attrSetters,n=this;f(G)&&aw(F)&&(D=G,G={},G[D]=F);if(f(G)){D=G,n=D==="strokeWidth"||D==="stroke-width"?this.strokeweight:this[D]}else{for(D in G){if(C=G[D],r=!1,z=o[D]&&o[D].call(this,C,D),z!==!1&&C!==null){z!==au&&(C=z);if(u&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(D)){t||(this.symbolAttr(G),t=!0),r=!0}else{if(D==="d"){C=C||[];this.d=C.join(" ");y.path=C=this.pathToVML(C);if(s){for(z=s.length;z--;){s[z].path=s[z].cutOff?this.cutOffPath(C,s[z].cutOff):C}}r=!0}else{if(D==="visibility"){if(s){for(z=s.length;z--;){s[z].style[D]=C}}w==="DIV"&&(C=C==="hidden"?"-999em":0,bP||(x[D]=C?"visible":"hidden"),D="top");x[D]=C;r=!0}else{if(D==="zIndex"){C&&(x[D]=C),r=!0}else{if(k(D,["x","y","width","height"])!==-1){this[D]=C,D==="x"||D==="y"?D={x:"left",y:"top"}[D]:C=ay(0,C),this.updateClipping?(this[D]=C,this.updateClipping()):x[D]=C,r=!0}else{if(D==="class"&&w==="DIV"){y.className=C}else{if(D==="stroke"){C=v.color(C,y,D),D="strokecolor"}else{if(D==="stroke-width"||D==="strokeWidth"){y.stroked=C?!0:!1,D="strokeweight",this[D]=C,bI(C)&&(C+="px")}else{if(D==="dashstyle"){(y.getElementsByTagName("stroke")[0]||aX(v.prepVML(["<stroke/>"]),null,null,y))[D]=C||"solid",this.dashstyle=C,r=!0}else{if(D==="fill"){if(w==="SPAN"){x.color=C}else{if(w!=="IMG"){y.filled=C!==aZ?!0:!1,C=v.color(C,y,D,this),D="fillcolor"}}}else{if(D==="opacity"){r=!0}else{if(w==="shape"&&D==="rotation"){this[D]=y.style[D]=C,y.style.left=-ax(aD(C*bu)+1)+"px",y.style.top=ax(aW(C*bu))+"px"}else{if(D==="translateX"||D==="translateY"||D==="rotation"){this[D]=C,this.updateTransform(),r=!0}else{if(D==="text"){this.bBox=null,y.innerHTML=C,r=!0}}}}}}}}}}}}}}r||(bP?y[D]=C:av(y,D,C))}}}return n},clip:function(o){var n=this,r;o?(r=o.members,bz(r,n),r.push(n),n.destroyClip=function(){bz(r,n)},o=o.getCSS(n)):(n.destroyClip&&n.destroyClip(),o={clip:bP?"inherit":"rect(auto)"});return n.css(o)},css:A.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&bN(n)},destroy:function(){this.destroyClip&&this.destroyClip();return A.prototype.destroy.apply(this)},on:function(o,n){this.element["on"+o]=function(){var r=a4.event;r.target=r.srcElement;n(r)};return this},cutOffPath:function(o,n){var r,o=o.split(/[ ,]/);r=o.length;if(r===9||r===11){o[r-4]=o[r-2]=bn(o[r-2])-10*n}return o.join(" ")},shadow:function(G,F,D){var C=[],z,y=this.element,x=this.renderer,w,v=y.style,u,t=y.path,s,r,o,n;t&&typeof t.value!=="string"&&(t="x");r=t;if(G){o=aB(G.width,3);n=(G.opacity||0.15)/o;for(z=1;z<=3;z++){s=o*2+1-2*z;D&&(r=this.cutOffPath(t.value,s+0.5));u=['<shape isShadow="true" strokeweight="',s,'" filled="false" path="',r,'" coordsize="10 10" style="',y.style.cssText,'" />'];w=aX(x.prepVML(u),null,{left:bn(v.left)+aB(G.offsetX,1),top:bn(v.top)+aB(G.offsetY,1)});if(D){w.cutOff=s+1}u=['<stroke color="',G.color||"black",'" opacity="',n*z,'"/>'];aX(x.prepVML(u),null,null,w);F?F.element.appendChild(w):y.parentNode.insertBefore(w,y);C.push(w)}this.shadows=C}return this}};bg=bc(A,bg);var bC={Element:bg,isIE8:aK.indexOf("MSIE 8.0")>-1,init:function(o,n,t){var s,r;this.alignedObjects=[];s=this.createElement(af);r=s.element;r.style.position="relative";o.appendChild(s.element);this.isVML=!0;this.box=r;this.boxWrapper=s;this.setSize(n,t,!1);aq.namespaces.hcv||(aq.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),(aq.styleSheets.length?aq.styleSheets[0]:aq.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(),r=aY(o);return az(s,{members:[],left:(r?o.x:o)+1,top:(r?o.y:n)+1,width:(r?o.width:u)-1,height:(r?o.height:t)-1,getCSS:function(w){var v=w.element,C=v.nodeName,w=w.inverted,z=this.top-(C==="shape"?v.offsetTop:0),y=this.left,v=y+this.width,x=z+this.height,z={clip:"rect("+ax(w?y:z)+"px,"+ax(w?x:v)+"px,"+ax(w?v:x)+"px,"+ax(w?z:y)+"px)"};!w&&bP&&C==="DIV"&&az(z,{width:v+"px",height:x+"px"});return z},updateClipping:function(){aC(s.members,function(v){v.css(s.getCSS(v))})}})},color:function(bZ,bb,ab,aa){var Z=this,Y,X=/^rgba/,W,V,U=aZ;bZ&&bZ.linearGradient?V="gradient":bZ&&bZ.radialGradient&&(V="pattern");if(V){var T,S,R=bZ.linearGradient||bZ.radialGradient,P,N,Q,O,n,J="",bZ=bZ.stops,F,I=[],C=function(){W=['<fill colors="'+I.join(",")+'" opacity="',Q,'" o:opacity2="',N,'" type="',V,'" ',J,'focus="100%" method="any" />'];aX(Z.prepVML(W),null,null,bb)};P=bZ[0];F=bZ[bZ.length-1];P[0]>0&&bZ.unshift([0,P[1]]);F[0]<1&&bZ.push([1,F[1]]);aC(bZ,function(r,o){X.test(r[1])?(Y=bW(r[1]),T=Y.get("rgb"),S=Y.get("a")):(T=r[1],S=1);I.push(r[0]*100+"% "+T);o?(Q=S,O=T):(N=S,n=T)});if(ab==="fill"){if(V==="gradient"){ab=R.x1||R[0]||0,bZ=R.y1||R[1]||0,P=R.x2||R[2]||0,R=R.y2||R[3]||0,J='angle="'+(90-a0.atan((R-bZ)/(P-ab))*180/bM)+'"',C()}else{var U=R.r,K=U*2,G=U*2,z=R.cx,M=R.cy,y=bb.radialReference,D,U=function(){y&&(D=aa.getBBox(),z+=(y[0]-D.x)/D.width-0.5,M+=(y[1]-D.y)/D.height-0.5,K*=y[2]/D.width,G*=y[2]/D.height);J='src="'+a6.global.VMLRadialGradientURL+'" size="'+K+","+G+'" origin="0.5,0.5" position="'+z+","+M+'" color2="'+n+'" ';C()};aa.added?U():a9(aa,"add",U);U=O}}else{U=T}}else{if(X.test(bZ)&&bb.tagName!=="IMG"){Y=bW(bZ),W=["<",ab,' opacity="',Y.get("a"),'"/>'],aX(this.prepVML(W),null,null,bb),U=Y.get("rgb")}else{U=bb.getElementsByTagName(ab);if(U.length){U[0].opacity=1,U[0].type="solid"}U=bZ}}return U},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("<","<hcv:");return o},text:bE.prototype.html,path:function(o){var n={coordsize:"10 10"};bl(o)?n.d=o:aY(o)&&az(n,o);return this.createElement("shape").attr(n)},circle:function(o,n,s){var r=this.symbol("circle");if(aY(o)){s=o.r,n=o.y,o=o.x}r.isCircle=!0;r.r=s;return r.attr({x:o,y:n})},g:function(o){var n;o&&(n={className:"highcharts-"+o,"class":"highcharts-"+o});return this.createElement(af).attr(n)},image:function(o,n,u,t,s){var r=this.createElement("img").attr({src:o});arguments.length>1&&r.attr({x:n,y:u,width:t,height:s});return r},rect:function(o,n,v,u,t,s){var r=this.symbol("rect");r.r=aY(o)?o.r:t;return r.attr(aY(o)?o:r.crisp(s,o,n,ay(v,0),ay(u,0)))},invertChild:function(o,n){var r=n.style;a7(o,{flip:"x",left:bn(r.width)-1,top:bn(r.height)-1,rotation:-90})},symbols:{arc:function(z,y,x,w,v){var u=v.start,t=v.end,s=v.r||x||w,x=v.innerR,w=aW(u),r=aD(u),o=aW(t),n=aD(t);if(t-u===0){return["x"]}u=["wa",z-s,y-s,z+s,y+s,z+s*w,y+s*r,z+s*o,y+s*n];v.open&&!x&&u.push("e","M",z,y);u.push("at",z-x,y-x,z+x,y+x,z+x*o,y+x*n,z+x*w,y+x*r,"x","e");u.isArc=!0;return u},circle:function(o,n,t,s,r){r&&(t=s=2*r.r);r&&r.isCircle&&(o-=t/2,n-=s/2);return["wa",o,n,o+t,n+s,o+t,n+s/2,o+t,n+s/2,"e"]},rect:function(o,n,w,v,u){var t=o+w,s=n+v,r;!aw(u)||!u.r?t=bE.prototype.symbols.square.apply(0,arguments):(r=bd(u.r,w,v),t=["M",o+r,n,"L",t-r,n,"wa",t-2*r,n,t,n+2*r,t-r,n,t,n+r,"L",t,s-r,"wa",t-2*r,s-2*r,t,s,t,s-r,t-r,s,"L",o+r,s,"wa",o,s-2*r,o+2*r,s,o+r,s,o,s-r,"L",o,n+r,"wa",o,n,o+2*r,n+2*r,o,n+r,o+r,n,"x","e"]);return t}}};Highcharts.VMLRenderer=bg=function(){this.init.apply(this,arguments)};bg.prototype=at(bE.prototype,bC);aT=bg}var bL;if(bF){Highcharts.CanVGRenderer=bg=function(){bt="http://www.w3.org/1999/xhtml"},bg.prototype.symbols={},bL=function(){function o(){var r=n.length,s;for(s=0;s<r;s++){n[s]()}n=[]}var n=[];return{push:function(s,r){n.length===0&&aQ(r,o);n.push(s)}}}(),aT=bg}bY.prototype={addLabel:function(){var D=this.axis,C=D.options,z=D.chart,y=D.horiz,x=D.categories,w=D.series[0]&&D.series[0].names,v=this.pos,u=C.labels,t=D.tickPositions,y=y&&x&&!u.step&&!u.staggerLines&&!u.rotation&&z.plotWidth/t.length||!y&&(z.margin[3]||z.chartWidth*0.33),s=v===t[0],r=v===t[t.length-1],o,w=x?aB(x[v],w&&w[v],v):v,x=this.label,n=t.info;D.isDatetimeAxis&&n&&(o=C.dateTimeLabelFormats[n.higherRanks[v]||n.unitName]);this.isFirst=s;this.isLast=r;C=D.labelFormatter.call({axis:D,chart:z,isFirst:s,isLast:r,dateTimeLabelFormat:o,value:D.isLog?aG(bR(w)):w});v=y&&{width:ay(1,ax(y-2*(u.padding||10)))+"px"};v=az(v,u.style);if(aw(x)){x&&x.attr({text:C}).css(v)}else{o={align:D.labelAlign};if(bI(u.rotation)){o.rotation=u.rotation}if(y&&u.ellipsis){o._clipHeight=D.len/t.length}this.label=aw(C)&&u.enabled?z.renderer.text(C,0,0,u.useHTML).attr(o).css(v).add(D.labelGroup):null}},getLabelSize:function(){var o=this.label,n=this.axis;return o?(this.labelBBox=o.getBBox())[n.horiz?"height":"width"]:0},getLabelSides:function(){var o=this.axis,n=this.labelBBox.width,o=n*{left:0,center:0.5,right:1}[o.labelAlign]-o.options.labels.x;return[-o,n-o]},handleOverflow:function(D,C){var z=!0,y=this.axis,x=y.chart,w=this.isFirst,v=this.isLast,u=C.x,t=y.reversed,s=y.tickPositions;if(w||v){var r=this.getLabelSides(),o=r[0],r=r[1],x=x.plotLeft,n=x+y.len,s=(y=y.ticks[s[D+(w?1:-1)]])&&y.label.xy&&y.label.xy.x+y.getLabelSides()[w?0:1];w&&!t||v&&t?u+o<x&&(u=x-o,y&&u+r>s&&(z=!1)):u+r>n&&(u=n-r,y&&u+o<s&&(z=!1));C.x=u}return z},getPosition:function(o,n,v,u){var t=this.axis,s=t.chart,r=u&&s.oldChartHeight||s.chartHeight;return{x:o?t.translate(n+v,null,null,u)+t.transB:t.left+t.offset+(t.opposite?(u&&s.oldChartWidth||s.chartWidth)-t.right-t.left:0),y:o?r-t.bottom+t.offset-(t.opposite?t.height:0):r-t.translate(n+v,null,null,u)-t.transB}},getLabelPosition:function(F,D,C,z,y,x,w,v){var u=this.axis,t=u.transA,s=u.reversed,r=u.staggerLines,o=u.chart.renderer.fontMetrics(y.style.fontSize).b,n=y.rotation,F=F+y.x-(x&&z?x*t*(s?-1:1):0),D=D+y.y-(x&&!z?x*t*(s?1:-1):0);n&&u.side===2&&(D-=o-o*aW(n*bu));!aw(y.y)&&!n&&(D+=o-C.getBBox().height/2);r&&(D+=w/(v||1)%r*(u.labelOffset/r));return{x:F,y:D}},getMarkPath:function(o,n,u,t,s,r){return r.crispLine(["M",o,n,"L",o+(s?0:-u),n+(s?u:0)],t)},render:function(bb,ab,aa){var Z=this.axis,Y=Z.options,X=Z.chart.renderer,W=Z.horiz,V=this.type,U=this.label,T=this.pos,S=Y.labels,R=this.gridLine,Q=V?V+"Grid":"grid",O=V?V+"Tick":"tick",M=Y[Q+"LineWidth"],P=Y[Q+"LineColor"],N=Y[Q+"LineDashStyle"],G=Y[O+"Length"],Q=Y[O+"Width"]||0,z=Y[O+"Color"],F=Y[O+"Position"],O=this.mark,J=S.step,y=!0,o=Z.tickmarkOffset,D=this.getPosition(W,T,o,ab),w=D.x,D=D.y,K=W&&w===Z.pos+Z.len||!W&&D===Z.pos?-1:1,I=Z.staggerLines;this.isActive=!0;if(M){T=Z.getPlotLinePath(T+o,M*K,ab,!0);if(R===au){R={stroke:P,"stroke-width":M};if(N){R.dashstyle=N}if(!V){R.zIndex=1}if(ab){R.opacity=0}this.gridLine=R=M?X.path(T).attr(R).add(Z.gridGroup):null}if(!ab&&R&&T){R[this.isNew?"attr":"animate"]({d:T,opacity:aa})}}if(Q&&G){F==="inside"&&(G=-G),Z.opposite&&(G=-G),ab=this.getMarkPath(w,D,G,Q*K,W,X),O?O.animate({d:ab,opacity:aa}):this.mark=X.path(ab).attr({stroke:z,"stroke-width":Q,opacity:aa}).add(Z.axisGroup)}if(U&&!isNaN(w)){U.xy=D=this.getLabelPosition(w,D,U,W,S,o,bb,J),this.isFirst&&!this.isLast&&!aB(Y.showFirstLabel,1)||this.isLast&&!this.isFirst&&!aB(Y.showLastLabel,1)?y=!1:!I&&W&&S.overflow==="justify"&&!this.handleOverflow(bb,D)&&(y=!1),J&&bb%J&&(y=!1),y&&!isNaN(D.y)?(D.opacity=aa,U[this.isNew?"attr":"animate"](D),this.isNew=!1):U.attr("y",-9999)}},destroy:function(){aj(this,this.axis)}};ak.prototype={render:function(){var Q=this,P=Q.axis,O=P.horiz,N=(P.pointRange||0)/2,M=Q.options,K=M.label,J=Q.label,I=M.width,G=M.to,F=M.from,D=aw(F)&&aw(G),C=M.value,z=M.dashStyle,x=Q.svgElem,u=[],y,v=M.color,o=M.zIndex,s=M.events,r=P.chart.renderer;P.isLog&&(F=bj(F),G=bj(G),C=bj(C));if(I){if(u=P.getPlotLinePath(C,I),N={stroke:v,"stroke-width":I},z){N.dashstyle=z}}else{if(D){if(F=ay(F,P.min-N),G=bd(G,P.max+N),u=P.getPlotBandPath(F,G,M),N={fill:v},M.borderWidth){N.stroke=M.borderColor,N["stroke-width"]=M.borderWidth}}else{return}}if(aw(o)){N.zIndex=o}if(x){u?x.animate({d:u},null,x.onGetPath):(x.hide(),x.onGetPath=function(){x.show()})}else{if(u&&u.length&&(Q.svgElem=x=r.path(u).attr(N).add(),s)){for(y in M=function(n){x.on(n,function(t){s[n].apply(Q,[t])})},s){M(y)}}}if(K&&aw(K.text)&&u&&u.length&&P.width>0&&P.height>0){K=at({align:O&&D&&"center",x:O?!D&&4:10,verticalAlign:!O&&D&&"middle",y:O?D?16:10:D?6:-4,rotation:O&&!D&&90},K);if(!J){Q.label=J=r.text(K.text,0,0,K.useHTML).attr({align:K.textAlign||K.align,rotation:K.rotation,zIndex:o}).css(K.style).add()}P=[u[1],u[4],aB(u[6],u[1])];u=[u[2],u[5],aB(u[7],u[2])];O=aL(P);D=aL(u);J.align(K,!1,{x:O,y:D,width:am(P)-O,height:am(u)-D});J.show()}else{J&&J.hide()}return Q},destroy:function(){bz(this.axis.plotLinesAndBands,this);delete this.axis;aj(this)}};bX.prototype={destroy:function(){aj(this,this.axis)},render:function(o){var n=this.options,r=n.format,r=r?be(r,this):n.formatter.call(this);this.label?this.label.attr({text:r,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(r,0,0,n.useHTML).css(n.style).attr({align:this.textAlign,rotation:n.rotation,visibility:"hidden"}).add(o)},setOffset:function(x,w){var v=this.axis,u=v.chart,t=u.inverted,s=this.isNegative,r=v.translate(this.percent?100:this.total,0,0,0,1),v=v.translate(0),v=a5(r-v),o=u.xAxis[0].translate(this.x)+x,n=u.plotHeight,s={x:t?s?r:r-v:o,y:t?n-o-w:s?n-r-v:n-r,width:t?v:w,height:t?w:v};if(t=this.label){t.align(this.alignOptions,null,s),s=t.alignAttr,t.attr({visibility:this.options.crop===!1||u.isInsidePlot(s.x,s.y)?aR?"inherit":"visible":"hidden"})}}};L.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:bf,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:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return bS(this.total,-1)},style:bf.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(o,n){var u=n.isX;this.horiz=o.inverted?!u:u;this.xOrY=(this.isXAxis=u)?"x":"y";this.opposite=n.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(n);var t=this.options,s=t.type;this.labelFormatter=t.labels.formatter||this.defaultLabelFormatter;this.userOptions=n;this.minPixelPadding=0;this.chart=o;this.reversed=t.reversed;this.zoomEnabled=t.zoomEnabled!==!1;this.categories=t.categories||s==="category";this.isLog=s==="logarithmic";this.isDatetimeAxis=s==="datetime";this.isLinked=aw(t.linkedTo);this.tickmarkOffset=this.categories&&t.tickmarkPlacement==="between"?0.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=t.minRange||t.maxZoom;this.range=t.range;this.offset=t.offset||0;this.stacks={};this.oldStacks={};this.stackExtremes={};this.min=this.max=null;var r,t=this.options.events;k(this,o.axes)===-1&&(o.axes.push(this),o[u?"xAxis":"yAxis"].push(this));this.series=this.series||[];if(o.inverted&&u&&this.reversed===au){this.reversed=!0}this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(r in t){a9(this,r,t[r])}if(this.isLog){this.val2lin=bj,this.lin2val=bR}},setOptions:function(n){this.options=at(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],at(a6[this.isXAxis?"xAxis":"yAxis"],n))},update:function(o,n){var r=this.chart,o=r.options[this.xOrY+"Axis"][this.options.index]=at(this.userOptions,o);this.destroy(!0);this._addedPlotLB=this.userMin=this.userMax=au;this.init(r,az(o,{events:au}));r.isDirtyBox=!0;aB(n,!0)&&r.redraw()},remove:function(o){var n=this.chart,r=this.xOrY+"Axis";aC(this.series,function(s){s.remove(!1)});bz(n.axes,this);bz(n[r],this);n.options[r].splice(this.options.index,1);aC(n[r],function(t,s){t.options.index=s});this.destroy();n.isDirtyBox=!0;aB(o,!0)&&n.redraw()},defaultLabelFormatter:function(){var o=this.axis,n=this.value,w=o.categories,v=this.dateTimeLabelFormat,u=a6.lang.numericSymbols,t=u&&u.length,s,r=o.options.labels.format,o=o.isLog?n:o.tickInterval;if(r){s=be(r,this)}else{if(w){s=n}else{if(v){s=H(v,n)}else{if(t&&o>=1000){for(;t--&&s===au;){w=Math.pow(1000,t+1),o>=w&&u[t]!==null&&(s=bS(n/w,-1)+u[t])}}}}}s===au&&(s=n>=1000?bS(n,0):bS(n,-1));return s},getSeriesExtremes:function(){var o=this,n=o.chart;o.hasVisibleSeries=!1;o.dataMin=o.dataMax=null;o.stackExtremes={};o.buildStacks();aC(o.series,function(t){if(t.visible||!n.options.chart.ignoreHiddenSeries){var s;s=t.options.threshold;var r;o.hasVisibleSeries=!0;o.isLog&&s<=0&&(s=null);if(o.isXAxis){if(s=t.xData,s.length){o.dataMin=bd(aB(o.dataMin,s[0]),aL(s)),o.dataMax=ay(aB(o.dataMax,s[0]),am(s))}}else{t.getExtremes();r=t.dataMax;t=t.dataMin;if(aw(t)&&aw(r)){o.dataMin=bd(aB(o.dataMin,t),t),o.dataMax=ay(aB(o.dataMax,r),r)}if(aw(s)){if(o.dataMin>=s){o.dataMin=s,o.ignoreMinPadding=!0}else{if(o.dataMax<s){o.dataMax=s,o.ignoreMaxPadding=!0}}}}}})},translate:function(z,y,x,w,v,u){var t=this.len,s=1,r=0,o=w?this.oldTransA:this.transA,w=w?this.oldMin:this.min,n=this.minPixelPadding,v=(this.options.ordinal||this.isLog&&v)&&this.lin2val;if(!o){o=this.transA}x&&(s*=-1,r=t);this.reversed&&(s*=-1,r-=s*t);y?(z=z*s+r,z-=n,z=z/o+w,v&&(z=this.lin2val(z))):(v&&(z=this.val2lin(z)),u==="between"&&(u=0.5),z=s*(z-w)*o+r+s*n+(bI(u)?o*u*this.pointRange:0));return z},toPixels:function(o,n){return this.translate(o,!1,!this.horiz,null,!0)+(n?0:this.pos)},toValue:function(o,n){return this.translate(o-(n?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(D,C,z,y){var x=this.chart,w=this.left,v=this.top,u,t,s,D=this.translate(D,null,null,z),r=z&&x.oldChartHeight||x.chartHeight,o=z&&x.oldChartWidth||x.chartWidth,n;u=this.transB;z=t=ax(D+u);u=s=ax(r-D-u);if(isNaN(D)){n=!0}else{if(this.horiz){if(u=v,s=r-this.bottom,z<w||z>w+this.width){n=!0}}else{if(z=w,t=o-this.right,u<v||u>v+this.height){n=!0}}}return n&&!y?null:x.renderer.crispLine(["M",z,u,"L",t,s],C||0)},getPlotBandPath:function(o,n){var s=this.getPlotLinePath(n),r=this.getPlotLinePath(o);r&&s?r.push(s[4],s[5],s[1],s[2]):r=null;return r},getLinearTickPositions:function(o,n,t){for(var s,n=aG(a3(n/o)*o),t=aG(b(t/o)*o),r=[];n<=t;){r.push(n);n=aG(n+o);if(n===s){break}s=n}return r},getLogTickPositions:function(C,z,y,x){var w=this.options,v=this.len,u=[];if(!x){this._minorAutoInterval=null}if(C>=0.5){C=ax(C),u=this.getLinearTickPositions(C,z,y)}else{if(C>=0.08){for(var v=a3(z),t,s,r,o,n,w=C>0.3?[1,2,4]:C>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];v<y+1&&!n;v++){s=w.length;for(t=0;t<s&&!n;t++){r=bj(bR(v)*w[t]),r>z&&(!x||o<=y)&&u.push(o),o>y&&(n=!0),o=r}}}else{if(z=bR(z),y=bR(y),C=w[x?"minorTickInterval":"tickInterval"],C=aB(C==="auto"?null:C,this._minorAutoInterval,(y-z)*(w.tickPixelInterval/(x?5:1))/((x?v/this.tickPositions.length:v)||1)),C=aI(C,null,bh(C)),u=bJ(this.getLinearTickPositions(C,z,y),bj),!x){this._minorAutoInterval=C/5}}}if(!x){this.tickInterval=C}return u},getMinorTickPositions:function(){var o=this.options,n=this.tickPositions,t=this.minorTickInterval,s=[],r;if(this.isLog){r=n.length;for(o=1;o<r;o++){s=s.concat(this.getLogTickPositions(t,n[o-1],n[o],!0))}}else{if(this.isDatetimeAxis&&o.minorTickInterval==="auto"){s=s.concat(ad(ba(t),this.min,this.max,o.startOfWeek)),s[0]<this.min&&s.shift()}else{for(n=this.min+(n[0]-this.min)%t;n<=this.max;n+=t){s.push(n)}}}return s},adjustForMinRange:function(){var z=this.options,y=this.min,x=this.max,w,v=this.dataMax-this.dataMin>=this.minRange,u,t,s,r,o;if(this.isXAxis&&this.minRange===au&&!this.isLog){aw(z.min)||aw(z.max)?this.minRange=null:(aC(this.series,function(C){r=C.xData;for(t=o=C.xIncrement?1:r.length-1;t>0;t--){if(s=r[t]-r[t-1],u===au||s<u){u=s}}}),this.minRange=bd(u*5,this.dataMax-this.dataMin))}if(x-y<this.minRange){var n=this.minRange;w=(n-x+y)/2;w=[y-w,aB(z.min,y-w)];if(v){w[2]=this.dataMin}y=am(w);x=[y+n,aB(z.max,y+n)];if(v){x[2]=this.dataMax}x=aL(x);x-y<n&&(w[0]=x-n,w[1]=aB(z.min,x-n),y=am(w))}this.min=y;this.max=x},setAxisTranslation:function(o){var n=this.max-this.min,w=0,v,u=0,t=0,s=this.linkedParent,r=this.transA;if(this.isXAxis){s?(u=s.minPointOffset,t=s.pointRangePadding):aC(this.series,function(y){var C=y.pointRange,z=y.options.pointPlacement,x=y.closestPointRange;C>n&&(C=0);w=ay(w,C);u=ay(u,f(z)?0:C/2);t=ay(t,z==="on"?0:C);!y.noSharedTooltip&&aw(x)&&(v=aw(v)?bd(v,x):x)}),s=this.ordinalSlope&&v?this.ordinalSlope/v:1,this.minPointOffset=u*=s,this.pointRangePadding=t*=s,this.pointRange=bd(w,n),this.closestPointRange=v}if(o){this.oldTransA=r}this.translationSlope=this.transA=r=this.len/(n+t||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=r*u},setTickPositions:function(I){var G=this,F=G.chart,C=G.options,z=G.isLog,y=G.isDatetimeAxis,x=G.isXAxis,w=G.isLinked,v=G.options.tickPositioner,u=C.maxPadding,t=C.minPadding,s=C.tickInterval,r=C.minTickInterval,o=C.tickPixelInterval,n,D=G.categories;w?(G.linkedParent=F[x?"xAxis":"yAxis"][C.linkedTo],F=G.linkedParent.getExtremes(),G.min=aB(F.min,F.dataMin),G.max=aB(F.max,F.dataMax),C.type!==G.linkedParent.options.type&&h(11,1)):(G.min=aB(G.userMin,C.min,G.dataMin),G.max=aB(G.userMax,C.max,G.dataMax));if(z){!I&&bd(G.min,aB(G.dataMin,G.min))<=0&&h(10,1),G.min=aG(bj(G.min)),G.max=aG(bj(G.max))}if(G.range&&(G.userMin=G.min=ay(G.min,G.max-G.range),G.userMax=G.max,I)){G.range=null}G.beforePadding&&G.beforePadding();G.adjustForMinRange();if(!D&&!G.usePercentage&&!w&&aw(G.min)&&aw(G.max)&&(F=G.max-G.min)){if(!aw(C.min)&&!aw(G.userMin)&&t&&(G.dataMin<0||!G.ignoreMinPadding)){G.min-=F*t}if(!aw(C.max)&&!aw(G.userMax)&&u&&(G.dataMax>0||!G.ignoreMaxPadding)){G.max+=F*u}}G.min===G.max||G.min===void 0||G.max===void 0?G.tickInterval=1:w&&!s&&o===G.linkedParent.options.tickPixelInterval?G.tickInterval=G.linkedParent.tickInterval:(G.tickInterval=aB(s,D?1:(G.max-G.min)*o/ay(G.len,o)),!aw(s)&&G.len<o&&!this.isRadial&&(n=!0,G.tickInterval/=4));x&&!I&&aC(G.series,function(J){J.processData(G.min!==G.oldMin||G.max!==G.oldMax)});G.setAxisTranslation(!0);G.beforeSetTickPositions&&G.beforeSetTickPositions();if(G.postProcessTickInterval){G.tickInterval=G.postProcessTickInterval(G.tickInterval)}if(G.pointRange){G.tickInterval=ay(G.pointRange,G.tickInterval)}if(!s&&G.tickInterval<r){G.tickInterval=r}if(!y&&!z&&!s){G.tickInterval=aI(G.tickInterval,null,bh(G.tickInterval),C)}G.minorTickInterval=C.minorTickInterval==="auto"&&G.tickInterval?G.tickInterval/5:C.minorTickInterval;G.tickPositions=I=C.tickPositions?[].concat(C.tickPositions):v&&v.apply(G,[G.min,G.max]);if(!I){!G.ordinalPositions&&(G.max-G.min)/G.tickInterval>ay(2*G.len,200)&&h(19,!0),I=y?(G.getNonLinearTimeTicks||ad)(ba(G.tickInterval,C.units),G.min,G.max,C.startOfWeek,G.ordinalPositions,G.closestPointRange,!0):z?G.getLogTickPositions(G.tickInterval,G.min,G.max):G.getLinearTickPositions(G.tickInterval,G.min,G.max),n&&I.splice(1,I.length-2),G.tickPositions=I}if(!w){z=I[0],y=I[I.length-1],w=G.minPointOffset||0,C.startOnTick?G.min=z:G.min-w>z&&I.shift(),C.endOnTick?G.max=y:G.max+w<y&&I.pop(),I.length===1&&(G.min-=0.001,G.max+=0.001)}},setMaxTicks:function(){var o=this.chart,n=o.maxTicks||{},s=this.tickPositions,r=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");if(!this.isLinked&&!this.isDatetimeAxis&&s&&s.length>(n[r]||0)&&this.options.alignTicks!==!1){n[r]=s.length}o.maxTicks=n},adjustTickAmount:function(){var o=this._maxTicksKey,n=this.tickPositions,t=this.chart.maxTicks;if(t&&t[o]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var s=this.tickAmount,r=n.length;this.tickAmount=o=t[o];if(r<o){for(;n.length<o;){n.push(aG(n[n.length-1]+this.tickInterval))}this.transA*=(r-1)/(o-1);this.max=n[n.length-1]}if(aw(s)&&o!==s){this.isDirty=!0}}},setScale:function(){var o=this.stacks,n,t,s,r;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();r=this.len!==this.oldAxisLength;aC(this.series,function(u){if(u.isDirtyData||u.isDirty||u.xAxis.isDirty){s=!0}});if(r||s||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis){for(n in o){delete o[n]}}this.forceRedraw=!1;this.getSeriesExtremes();this.setTickPositions();this.oldUserMin=this.userMin;this.oldUserMax=this.userMax;if(!this.isDirty){this.isDirty=r||this.min!==this.oldMin||this.max!==this.oldMax}}else{if(!this.isXAxis){if(this.oldStacks){o=this.stacks=this.oldStacks}for(n in o){for(t in o[n]){o[n][t].cum=o[n][t].total}}}}this.setMaxTicks()},setExtremes:function(o,n,v,u,t){var s=this,r=s.chart,v=aB(v,!0),t=az(t,{min:o,max:n});ao(s,"setExtremes",t,function(){s.userMin=o;s.userMax=n;s.eventArgs=t;s.isDirtyExtremes=!0;v&&r.redraw(u)})},zoom:function(o,n){this.allowZoomOutside||(aw(this.dataMin)&&o<=this.dataMin&&(o=au),aw(this.dataMax)&&n>=this.dataMax&&(n=au));this.displayBtn=o!==au||n!==au;this.setExtremes(o,n,!1,au,{trigger:"zoom"});return !0},setAxisSize:function(){var o=this.chart,n=this.options,v=n.offsetLeft||0,u=n.offsetRight||0,t=this.horiz,s,r;this.left=r=aB(n.left,o.plotLeft+v);this.top=s=aB(n.top,o.plotTop);this.width=v=aB(n.width,o.plotWidth-v+u);this.height=n=aB(n.height,o.plotHeight);this.bottom=o.chartHeight-n-s;this.right=o.chartWidth-v-r;this.len=ay(t?v:n,0);this.pos=t?r:s},getExtremes:function(){var n=this.isLog;return{min:n?aG(bR(this.min)):this.min,max:n?aG(bR(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(o){var n=this.isLog,r=n?bR(this.min):this.min,n=n?bR(this.max):this.max;r>o||o===null?o=r:n<o&&(o=n);return this.translate(o,0,1,0,1)},addPlotBand:function(n){this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(o,n){var s=(new ak(this,o)).render(),r=this.userOptions;s&&(n&&(r[n]=r[n]||[],r[n].push(o)),this.plotLinesAndBands.push(s));return s},autoLabelAlign:function(n){n=(aB(n,0)-this.side*90+720)%360;return n>15&&n<165?"right":n>195&&n<345?"left":"center"},getOffset:function(){var X=this,W=X.chart,V=W.renderer,U=X.options,T=X.tickPositions,S=X.ticks,R=X.horiz,Q=X.side,P=W.inverted?[1,0,3,2][Q]:Q,O,N=0,M,J=0,I=U.title,F=U.labels,n=0,G=W.axisOffset,o=W.clipOffset,z=[-1,1,1,-1][Q],C,w=1,s=aB(F.maxStaggerLines,5),K,y,u,D;X.hasData=O=X.hasVisibleSeries||aw(X.min)&&aw(X.max)&&!!T;X.showAxis=W=O||aB(U.showEmpty,!0);X.staggerLines=X.horiz&&F.staggerLines;if(!X.axisGroup){X.gridGroup=V.g("grid").attr({zIndex:U.gridZIndex||1}).add(),X.axisGroup=V.g("axis").attr({zIndex:U.zIndex||2}).add(),X.labelGroup=V.g("axis-labels").attr({zIndex:F.zIndex||7}).add()}if(O||X.isLinked){X.labelAlign=aB(F.align||X.autoLabelAlign(F.rotation));aC(T,function(r){S[r]?S[r].addLabel():S[r]=new bY(X,r)});if(X.horiz&&!X.staggerLines&&s&&!F.rotation){for(C=X.reversed?[].concat(T).reverse():T;w<s;){O=[];K=!1;for(F=0;F<C.length;F++){y=C[F],u=(u=S[y].label&&S[y].label.getBBox())?u.width:0,D=F%w,u&&(y=X.translate(y),O[D]!==au&&y<O[D]&&(K=!0),O[D]=y+u)}if(K){w++}else{break}}if(w>1){X.staggerLines=w}}aC(T,function(r){if(Q===0||Q===2||{1:"left",3:"right"}[Q]===X.labelAlign){n=ay(S[r].getLabelSize(),n)}});if(X.staggerLines){n*=X.staggerLines,X.labelOffset=n}}else{for(C in S){S[C].destroy(),delete S[C]}}if(I&&I.text&&I.enabled!==!1){if(!X.axisTitle){X.axisTitle=V.text(I.text,0,0,I.useHTML).attr({zIndex:7,rotation:I.rotation||0,align:I.textAlign||{low:"left",middle:"center",high:"right"}[I.align]}).css(I.style).add(X.axisGroup),X.axisTitle.isNew=!0}if(W){N=X.axisTitle.getBBox()[R?"height":"width"],J=aB(I.margin,R?5:10),M=I.offset}X.axisTitle[W?"show":"hide"]()}X.offset=z*aB(U.offset,G[Q]);X.axisTitleMargin=aB(M,n+J+(Q!==2&&n&&z*U.labels[R?"y":"x"]));G[Q]=ay(G[Q],X.axisTitleMargin+N+z*X.offset);o[P]=ay(o[P],a3(U.lineWidth/2)*2)},getLinePath:function(o){var n=this.chart,u=this.opposite,t=this.offset,s=this.horiz,r=this.left+(u?this.width:0)+t,t=n.chartHeight-this.bottom-(u?this.height:0)+t;u&&(o*=-1);return n.renderer.crispLine(["M",s?this.left:r,s?t:this.top,"L",s?n.chartWidth-this.right:r,s?t:n.chartHeight-this.bottom],o)},getTitlePosition:function(){var x=this.horiz,w=this.left,v=this.top,u=this.len,t=this.options.title,s=x?w:v,r=this.opposite,o=this.offset,n=bn(t.style.fontSize||12),u={low:s+(x?0:u),middle:s+u/2,high:s+(x?u:0)}[t.align],w=(x?v+this.height:w)+(x?1:-1)*(r?-1:1)*this.axisTitleMargin+(this.side===2?n:0);return{x:x?u:w+(r?this.width:0)+o+(t.x||0),y:x?w-(r?this.height:0)+o:u+(t.y||0)}},render:function(){var W=this,V=W.chart,U=V.renderer,T=W.options,S=W.isLog,R=W.isLinked,Q=W.tickPositions,P=W.axisTitle,O=W.stacks,N=W.ticks,M=W.minorTicks,K=W.alternateBands,I=T.stackLabels,F=T.alternateGridColor,C=W.tickmarkOffset,G=T.lineWidth,D,y=V.hasRendered&&aw(W.oldMin)&&!isNaN(W.oldMin);D=W.hasData;var w=W.showAxis,z,u;aC([N,M,K],function(r){for(var o in r){r[o].isActive=!1}});if(D||R){if(W.minorTickInterval&&!W.categories&&aC(W.getMinorTickPositions(),function(o){M[o]||(M[o]=new bY(W,o,"minor"));y&&M[o].isNew&&M[o].render(null,!0);M[o].render(null,!1,1)}),Q.length&&(aC(Q.slice(1).concat([Q[0]]),function(o,r){r=r===Q.length-1?0:r+1;if(!R||o>=W.min&&o<=W.max){N[o]||(N[o]=new bY(W,o)),y&&N[o].isNew&&N[o].render(r,!0),N[o].render(r,!1,1)}}),C&&W.min===0&&(N[-1]||(N[-1]=new bY(W,-1,null,!0)),N[-1].render(-1))),F&&aC(Q,function(o,r){if(r%2===0&&o<W.max){K[o]||(K[o]=new ak(W)),z=o+C,u=Q[r+1]!==au?Q[r+1]+C:W.max,K[o].options={from:S?bR(z):z,to:S?bR(u):u,color:F},K[o].render(),K[o].isActive=!0}}),!W._addedPlotLB){aC((T.plotLines||[]).concat(T.plotBands||[]),function(o){W.addPlotBandOrLine(o)}),W._addedPlotLB=!0}}aC([N,M,K],function(o){var x,v,t=[],s=i?i.duration||500:0,r=function(){for(v=t.length;v--;){o[t[v]]&&!o[t[v]].isActive&&(o[t[v]].destroy(),delete o[t[v]])}};for(x in o){if(!o[x].isActive){o[x].render(x,!1,0),o[x].isActive=!1,t.push(x)}}o===K||!V.hasRendered||!s?r():s&&setTimeout(r,s)});if(G){D=W.getLinePath(G),W.axisLine?W.axisLine.animate({d:D}):W.axisLine=U.path(D).attr({stroke:T.lineColor,"stroke-width":G,zIndex:7}).add(W.axisGroup),W.axisLine[w?"show":"hide"]()}if(P&&w){P[P.isNew?"attr":"animate"](W.getTitlePosition()),P.isNew=!1}if(I&&I.enabled){var n,J,T=W.stackTotalGroup;if(!T){W.stackTotalGroup=T=U.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()}T.translate(V.plotLeft,V.plotTop);for(n in O){for(J in U=O[n],U){U[J].render(T)}}}W.isDirty=!1},removePlotBandOrLine:function(o){for(var n=this.plotLinesAndBands,t=this.options,s=this.userOptions,r=n.length;r--;){n[r].id===o&&n[r].destroy()}aC([t.plotLines||[],s.plotLines||[],t.plotBands||[],s.plotBands||[]],function(u){for(r=u.length;r--;){u[r].id===o&&bz(u,u[r])}})},setTitle:function(o,n){this.update({title:o},n)},redraw:function(){var n=this.chart.pointer;n.reset&&n.reset(!0);this.render();aC(this.plotLinesAndBands,function(o){o.render()});aC(this.series,function(o){o.isDirty=!0})},buildStacks:function(){var o=this.series,n=o.length;if(!this.isXAxis){for(;n--;){o[n].setStackedPoints()}if(this.usePercentage){for(n=0;n<o.length;n++){o[n].setPercentStacks()}}}},setCategories:function(o,n){this.update({categories:o},n)},destroy:function(o){var n=this,t=n.stacks,s,r=n.plotLinesAndBands;o||bw(n);for(s in t){aj(t[s]),t[s]=null}aC([n.ticks,n.minorTicks,n.alternateBands],function(u){aj(u)});for(o=r.length;o--;){r[o].destroy()}aC("stackTotalGroup,axisLine,axisGroup,gridGroup,labelGroup,axisTitle".split(","),function(u){n[u]&&(n[u]=n[u].destroy())})}};p.prototype={init:function(o,n){var t=n.borderWidth,s=n.style,r=bn(s.padding);this.chart=o;this.options=n;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=o.renderer.label("",0,0,n.shape,null,null,n.useHTML,null,"tooltip").attr({padding:r,fill:n.backgroundColor,"stroke-width":t,r:n.borderRadius,zIndex:8}).css(s).css({padding:0}).add().attr({y:-999});bF||this.label.shadow(n.shadow);this.shared=n.shared},destroy:function(){aC(this.crosshairs,function(n){n&&n.destroy()});if(this.label){this.label=this.label.destroy()}clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(o,n,v,u){var t=this,s=t.now,r=t.options.animation!==!1&&!t.isHidden;az(s,{x:r?(2*s.x+o)/3:o,y:r?(s.y+n)/2:n,anchorX:r?(2*s.anchorX+v)/3:v,anchorY:r?(s.anchorY+u)/2:u});t.label.attr(s);if(r&&(a5(o-s.x)>1||a5(n-s.y)>1)){clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){t&&t.move(o,n,v,u)},32)}},hide:function(){var o=this,n;clearTimeout(this.hideTimer);if(!this.isHidden){n=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){o.label.fadeOut();o.isHidden=!0},aB(this.options.hideDelay,500)),n&&aC(n,function(r){r.setState()}),this.chart.hoverPoints=null}},hideCrosshairs:function(){aC(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(x,w){var v,u=this.chart,t=u.inverted,s=u.plotTop,r=0,o=0,n,x=ae(x);v=x[0].tooltipPos;this.followPointer&&w&&(w.chartX===au&&(w=u.pointer.normalize(w)),v=[w.chartX-u.plotLeft,w.chartY-s]);v||(aC(x,function(y){n=y.series.yAxis;r+=y.plotX;o+=(y.plotLow?(y.plotLow+y.plotHigh)/2:y.plotY)+(!t&&n?n.top-s:0)}),r/=x.length,o/=x.length,v=[t?u.plotWidth-o:r,this.shared&&!t&&x.length>1&&w?w.chartY-s:t?u.plotHeight-r:o]);return bJ(v,ax)},getPosition:function(C,z,y){var x=this.chart,w=x.plotLeft,v=x.plotTop,u=x.plotWidth,t=x.plotHeight,s=aB(this.options.distance,12),r=y.plotX,y=y.plotY,x=r+w+(x.inverted?s:-C-s),o=y-z+v+15,n;x<7&&(x=w+ay(r,0)+s);x+C>w+u&&(x-=x+C-(w+u),o=y-z+v-s,n=!0);o<v+5&&(o=v+5,n&&y>=o&&y<=o+z&&(o=y+v+s));o+z>v+t&&(o=ay(v,v+t-z-s));return{x:x,y:o}},defaultFormatter:function(o){var n=this.points||ae(this),s=n[0].series,r;r=[s.tooltipHeaderFormatter(n[0])];aC(n,function(t){s=t.series;r.push(s.tooltipFormatter&&s.tooltipFormatter(t)||t.point.tooltipFormatter(s.tooltipOptions.pointFormat))});r.push(o.options.footerFormat||"");return r.join("")},refresh:function(D,C){var z=this.chart,y=this.label,x=this.options,w,v,u={},t,s=[];t=x.formatter||this.defaultFormatter;var u=z.hoverPoints,r,o=x.crosshairs,n=this.shared;clearTimeout(this.hideTimer);this.followPointer=ae(D)[0].series.tooltipOptions.followPointer;v=this.getAnchor(D,C);w=v[0];v=v[1];n&&(!D.series||!D.series.noSharedTooltip)?(z.hoverPoints=D,u&&aC(u,function(F){F.setState()}),aC(D,function(F){F.setState("hover");s.push(F.getLabelConfig())}),u={x:D[0].category,y:D[0].y},u.points=s,D=D[0]):u=D.getLabelConfig();t=t.call(u,this);u=D.series;t===!1?this.hide():(this.isHidden&&(ar(y),y.attr("opacity",1).show()),y.attr({text:t}),r=x.borderColor||D.color||u.color||"#606060",y.attr({stroke:r}),this.updatePosition({plotX:w,plotY:v}),this.isHidden=!1);if(o){o=ae(o);for(y=o.length;y--;){if(n=D.series,x=n[y?"yAxis":"xAxis"],o[y]&&x){if(u=y?aB(D.stackY,D.y):D.x,x.isLog&&(u=bj(u)),y===1&&n.modifyValue&&(u=n.modifyValue(u)),x=x.getPlotLinePath(u,1),this.crosshairs[y]){this.crosshairs[y].attr({d:x,visibility:"visible"})}else{u={"stroke-width":o[y].width||1,stroke:o[y].color||"#C0C0C0",zIndex:o[y].zIndex||2};if(o[y].dashStyle){u.dashstyle=o[y].dashStyle}this.crosshairs[y]=z.renderer.path(x).attr(u).add()}}}}ao(z,"tooltipRefresh",{text:t,x:w+z.plotLeft,y:v+z.plotTop,borderColor:r})},updatePosition:function(o){var n=this.chart,r=this.label,r=(this.options.positioner||this.getPosition).call(this,r.width,r.height,o);this.move(ax(r.x),ax(r.y),o.plotX+n.plotLeft,o.plotY+n.plotTop)}};a.prototype={init:function(o,n){var u=n.chart,t=u.events,s=bF?"":u.zoomType,u=o.inverted,r;this.options=n;this.chart=o;this.zoomX=r=/x/.test(s);this.zoomY=s=/y/.test(s);this.zoomHor=r&&!u||s&&u;this.zoomVert=s&&!u||r&&u;this.runChartClick=t&&!!t.click;this.pinchDown=[];this.lastValidTouch={};if(n.tooltip.enabled){o.tooltip=new p(o,n.tooltip)}this.setDOMEvents()},normalize:function(o,n){var s,r,o=o||a4.event;if(!o.target){o.target=o.srcElement}o=E(o);r=o.touches?o.touches.item(0):o;if(!n){this.chartPosition=n=ap(this.chart.container)}r.pageX===au?(s=ay(o.x,o.clientX-n.left),r=o.y):(s=r.pageX-n.left,r=r.pageY-n.top);return az(o,{chartX:ax(s),chartY:ax(r)})},getCoordinates:function(o){var n={xAxis:[],yAxis:[]};aC(this.chart.axes,function(r){n[r.isXAxis?"xAxis":"yAxis"].push({axis:r,value:r.toValue(o[r.horiz?"chartX":"chartY"])})});return n},getIndex:function(o){var n=this.chart;return n.inverted?n.plotHeight+n.plotTop-o.chartY:o.chartX-n.plotLeft},runPointActions:function(z){var y=this.chart,x=y.series,w=y.tooltip,v,u=y.hoverPoint,t=y.hoverSeries,s,r,o=y.chartWidth,n=this.getIndex(z);if(w&&this.options.tooltip.shared&&(!t||!t.noSharedTooltip)){v=[];s=x.length;for(r=0;r<s;r++){if(x[r].visible&&x[r].options.enableMouseTracking!==!1&&!x[r].noSharedTooltip&&x[r].tooltipPoints.length&&(y=x[r].tooltipPoints[n])&&y.series){y._dist=a5(n-y.clientX),o=bd(o,y._dist),v.push(y)}}for(s=v.length;s--;){v[s]._dist>o&&v.splice(s,1)}if(v.length&&v[0].clientX!==this.hoverX){w.refresh(v,z),this.hoverX=v[0].clientX}}if(t&&t.tracker){if((y=t.tooltipPoints[n])&&y!==u){y.onMouseOver(z)}}else{w&&w.followPointer&&!w.isHidden&&(z=w.getAnchor([{}],z),w.updatePosition({plotX:z[0],plotY:z[1]}))}},reset:function(o){var n=this.chart,t=n.hoverSeries,s=n.hoverPoint,r=n.tooltip,n=r&&r.shared?n.hoverPoints:s;(o=o&&r&&n)&&ae(n)[0].plotX===au&&(o=!1);if(o){r.refresh(n)}else{if(s){s.onMouseOut()}if(t){t.onMouseOut()}r&&(r.hide(),r.hideCrosshairs());this.hoverX=null}},scaleGroups:function(o,n){var s=this.chart,r;aC(s.series,function(t){r=o||t.getPlotBox();t.xAxis&&t.xAxis.zoomEnabled&&(t.group.attr(r),t.markerGroup&&(t.markerGroup.attr(r),t.markerGroup.clip(n?s.clipRect:null)),t.dataLabelsGroup&&t.dataLabelsGroup.attr(r))});s.clipRect.attr(n||s.clipBox)},pinchTranslateDirection:function(aa,Z,Y,X,W,V,U){var T=this.chart,S=aa?"x":"y",R=aa?"X":"Y",Q="chart"+R,P=aa?"width":"height",O=T["plot"+(aa?"Left":"Top")],K,J,M=1,N=T.inverted,G=T.bounds[aa?"h":"v"],F=Z.length===1,D=Z[0][Q],I=Y[0][Q],z=!F&&Z[1][Q],C=!F&&Y[1][Q],y,Y=function(){!F&&a5(D-z)>20&&(M=a5(I-C)/a5(D-z));J=(O-I)/M+D;K=T["plot"+(aa?"Width":"Height")]/M};Y();Z=J;Z<G.min?(Z=G.min,y=!0):Z+K>G.max&&(Z=G.max-K,y=!0);y?(I-=0.8*(I-U[S][0]),F||(C-=0.8*(C-U[S][1])),Y()):U[S]=[I,C];N||(V[S]=J-O,V[P]=K);V=N?1/M:M;W[P]=K;W[S]=Z;X[N?aa?"scaleY":"scaleX":"scale"+R]=M;X["translate"+R]=V*O+(I-V*D)},pinch:function(G){var F=this,D=F.chart,C=F.pinchDown,z=D.tooltip&&D.tooltip.options.followTouchMove,y=G.touches,x=y.length,w=F.lastValidTouch,v=F.zoomHor||F.pinchHor,u=F.zoomVert||F.pinchVert,t=v||u,s=F.selectionMarker,r={},o=x===1&&(F.inClass(G.target,"highcharts-tracker")&&D.runTrackerClick||D.runChartClick),n={};(t||z)&&!o&&G.preventDefault();bJ(y,function(I){return F.normalize(I)});if(G.type==="touchstart"){aC(y,function(J,I){C[I]={chartX:J.chartX,chartY:J.chartY}}),w.x=[C[0].chartX,C[1]&&C[1].chartX],w.y=[C[0].chartY,C[1]&&C[1].chartY],aC(D.axes,function(J){if(J.zoomEnabled){var I=D.bounds[J.horiz?"h":"v"],O=J.minPixelPadding,N=J.toPixels(J.dataMin),M=J.toPixels(J.dataMax),K=bd(N,M),N=ay(N,M);I.min=bd(J.pos,K-O);I.max=ay(J.pos+J.len,N+O)}})}else{if(C.length){if(!s){F.selectionMarker=s=az({destroy:ah},D.plotBox)}v&&F.pinchTranslateDirection(!0,C,y,r,s,n,w);u&&F.pinchTranslateDirection(!1,C,y,r,s,n,w);F.hasPinched=t;F.scaleGroups(r,n);!t&&z&&x===1&&this.runPointActions(F.normalize(G))}}},dragStart:function(o){var n=this.chart;n.mouseIsDown=o.type;n.cancelClick=!1;n.mouseDownX=this.mouseDownX=o.chartX;n.mouseDownY=this.mouseDownY=o.chartY},drag:function(F){var D=this.chart,C=D.options.chart,z=F.chartX,y=F.chartY,x=this.zoomHor,w=this.zoomVert,v=D.plotLeft,u=D.plotTop,t=D.plotWidth,s=D.plotHeight,r,o=this.mouseDownX,n=this.mouseDownY;z<v?z=v:z>v+t&&(z=v+t);y<u?y=u:y>u+s&&(y=u+s);this.hasDragged=Math.sqrt(Math.pow(o-z,2)+Math.pow(n-y,2));if(this.hasDragged>10){r=D.isInsidePlot(o-v,n-u);if(D.hasCartesianSeries&&(this.zoomX||this.zoomY)&&r&&!this.selectionMarker){this.selectionMarker=D.renderer.rect(v,u,x?1:t,w?1:s,0).attr({fill:C.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()}this.selectionMarker&&x&&(z-=o,this.selectionMarker.attr({width:a5(z),x:(z>0?0:z)+o}));this.selectionMarker&&w&&(z=y-n,this.selectionMarker.attr({height:a5(z),y:(z>0?0:z)+n}));r&&!this.selectionMarker&&C.panning&&D.pan(F,C.panning)}},drop:function(o){var n=this.chart,w=this.hasPinched;if(this.selectionMarker){var v={xAxis:[],yAxis:[],originalEvent:o.originalEvent||o},u=this.selectionMarker,t=u.x,s=u.y,r;if(this.hasDragged||w){aC(n.axes,function(y){if(y.zoomEnabled){var x=y.horiz,z=y.toValue(x?t:s),x=y.toValue(x?t+u.width:s+u.height);!isNaN(z)&&!isNaN(x)&&(v[y.xOrY+"Axis"].push({axis:y,min:bd(z,x),max:ay(z,x)}),r=!0)}}),r&&ao(n,"selection",v,function(x){n.zoom(az(x,w?{animation:!1}:null))})}this.selectionMarker=this.selectionMarker.destroy();w&&this.scaleGroups()}if(n){a7(n.container,{cursor:n._cursor}),n.cancelClick=this.hasDragged>10,n.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]}},onContainerMouseDown:function(n){n=this.normalize(n);n.preventDefault&&n.preventDefault();this.dragStart(n)},onDocumentMouseUp:function(n){this.drop(n)},onDocumentMouseMove:function(o){var n=this.chart,s=this.chartPosition,r=n.hoverSeries,o=this.normalize(o,s);s&&r&&!this.inClass(o.target,"highcharts-tracker")&&!n.isInsidePlot(o.chartX-n.plotLeft,o.chartY-n.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset();this.chartPosition=null},onContainerMouseMove:function(o){var n=this.chart,o=this.normalize(o);o.returnValue=!1;n.mouseIsDown==="mousedown"&&this.drag(o);(this.inClass(o.target,"highcharts-tracker")||n.isInsidePlot(o.chartX-n.plotLeft,o.chartY-n.plotTop))&&!n.openMenu&&this.runPointActions(o)},inClass:function(o,n){for(var r;o;){if(r=av(o,"class")){if(r.indexOf(n)!==-1){return !0}else{if(r.indexOf("highcharts-container")!==-1){return !1}}}o=o.parentNode}},onTrackerMouseOut:function(o){var n=this.chart.hoverSeries;if(n&&!n.options.stickyTracking&&!this.inClass(o.toElement||o.relatedTarget,"highcharts-tooltip")){n.onMouseOut()}},onContainerClick:function(x){var w=this.chart,v=w.hoverPoint,u=w.plotLeft,t=w.plotTop,s=w.inverted,r,o,n,x=this.normalize(x);x.cancelBubble=!0;if(!w.cancelClick){v&&this.inClass(x.target,"highcharts-tracker")?(r=this.chartPosition,o=v.plotX,n=v.plotY,az(v,{pageX:r.left+u+(s?w.plotWidth-n:o),pageY:r.top+t+(s?w.plotHeight-o:n)}),ao(v.series,"click",az(x,{point:v})),w.hoverPoint&&v.firePointEvent("click",x)):(az(x,this.getCoordinates(x)),w.isInsidePlot(x.chartX-u,x.chartY-t)&&ao(w,"click",x))}},onContainerTouchStart:function(o){var n=this.chart;o.touches.length===1?(o=this.normalize(o),n.isInsidePlot(o.chartX-n.plotLeft,o.chartY-n.plotTop)?(this.runPointActions(o),this.pinch(o)):this.reset()):o.touches.length===2&&this.pinch(o)},onContainerTouchMove:function(n){(n.touches.length===1||n.touches.length===2)&&this.pinch(n)},onDocumentTouchEnd:function(n){this.drop(n)},setDOMEvents:function(){var o=this,n=o.chart.container,r;this._events=r=[[n,"onmousedown","onContainerMouseDown"],[n,"onmousemove","onContainerMouseMove"],[n,"onclick","onContainerClick"],[n,"mouseleave","onContainerMouseLeave"],[aq,"mousemove","onDocumentMouseMove"],[aq,"mouseup","onDocumentMouseUp"]];aE&&r.push([n,"ontouchstart","onContainerTouchStart"],[n,"ontouchmove","onContainerTouchMove"],[aq,"touchend","onDocumentTouchEnd"]);aC(r,function(s){o["_"+s[2]]=function(t){o[s[2]](t)};s[1].indexOf("on")===0?s[0][s[1]]=o["_"+s[2]]:a9(s[0],s[1],o["_"+s[2]])})},destroy:function(){var n=this;aC(n._events,function(o){o[1].indexOf("on")===0?o[0][o[1]]=null:bw(o[0],o[1],n["_"+o[2]])});delete n._events;clearInterval(n.tooltipTimeout)}};e.prototype={init:function(o,n){var u=this,t=n.itemStyle,s=aB(n.padding,8),r=n.itemMarginTop||0;this.options=n;if(n.enabled){u.baseline=bn(t.fontSize)+3+r,u.itemStyle=t,u.itemHiddenStyle=at(t,n.itemHiddenStyle),u.itemMarginTop=r,u.padding=s,u.initialItemX=s,u.initialItemY=s-5,u.maxItemWidth=0,u.chart=o,u.itemHeight=0,u.lastLineHeight=0,u.render(),a9(u.chart,"endResize",function(){u.positionCheckboxes()})}},colorizeItem:function(y,x){var w=this.options,v=y.legendItem,u=y.legendLine,t=y.legendSymbol,s=this.itemHiddenStyle.color,w=x?w.itemStyle.color:s,r=x?y.color:s,s=y.options&&y.options.marker,o={stroke:r,fill:r},n;v&&v.css({fill:w,color:w});u&&u.attr({stroke:r});if(t){if(s&&t.isMarker){for(n in s=y.convertAttribs(s),s){v=s[n],v!==au&&(o[n]=v)}}t.attr(o)}},positionItem:function(o){var n=this.options,u=n.symbolPadding,n=!n.rtl,t=o._legendItemPos,s=t[0],t=t[1],r=o.checkbox;o.legendGroup&&o.legendGroup.translate(n?s:this.legendWidth-s-2*u-4,t);if(r){r.x=s,r.y=t}},destroyItem:function(o){var n=o.checkbox;aC(["legendItem","legendLine","legendSymbol","legendGroup"],function(r){o[r]&&(o[r]=o[r].destroy())});n&&bN(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(o){var n=this.group.alignAttr,s,r=this.clipHeight||this.legendHeight;if(n){s=n.translateY,aC(this.allItems,function(v){var u=v.checkbox,t;u&&(t=s+u.y+(o||0)+3,a7(u,{left:n.translateX+v.legendItemWidth+u.x-20+"px",top:t+"px",display:t>s-6&&t<s+r-6?"":aZ}))})}},renderTitle:function(){var o=this.padding,n=this.options.title,r=0;if(n.text){if(!this.title){this.title=this.chart.renderer.label(n.text,o-3,o-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(n.style).add(this.group)}o=this.title.getBBox();r=o.height;this.offsetWidth=o.width;this.contentGroup.attr({translateY:r})}this.titleHeight=r},renderItem:function(W){var C;var V=this,U=V.chart,T=U.renderer,S=V.options,R=S.layout==="horizontal",Q=S.symbolWidth,P=S.symbolPadding,O=V.itemStyle,N=V.itemHiddenStyle,M=V.padding,K=R?aB(S.itemDistance,8):0,J=!S.rtl,G=S.width,D=S.itemMarginBottom||0,I=V.itemMarginTop,F=V.initialItemX,y=W.legendItem,x=W.series||W,z=x.options,o=z.showCheckbox,s=S.useHTML;if(!y&&(W.legendGroup=T.g("legend-item").attr({zIndex:1}).add(V.scrollGroup),x.drawLegendSymbol(V,W),W.legendItem=y=T.text(S.labelFormat?be(S.labelFormat,W):S.labelFormatter.call(W),J?Q+P:-P,V.baseline,s).css(at(W.visible?O:N)).attr({align:J?"left":"right",zIndex:2}).add(W.legendGroup),(s?y:W.legendGroup).on("mouseover",function(){W.setState("hover");y.css(V.options.itemHoverStyle)}).on("mouseout",function(){y.css(W.visible?O:N);W.setState()}).on("click",function(n){var r=function(){W.setVisible()},n={browserEvent:n};W.firePointEvent?W.firePointEvent("legendItemClick",n,r):ao(W,"legendItemClick",n,r)}),V.colorizeItem(W,W.visible),z&&o)){W.checkbox=aX("input",{type:"checkbox",checked:W.selected,defaultChecked:W.selected},S.itemCheckboxStyle,U.container),a9(W.checkbox,"click",function(n){ao(W,"checkboxClick",{checked:n.target.checked},function(){W.select()})})}T=y.getBBox();C=W.legendItemWidth=S.itemWidth||Q+P+T.width+K+(o?20:0),S=C;V.itemHeight=Q=T.height;if(R&&V.itemX-F+S>(G||U.chartWidth-2*M-F)){V.itemX=F,V.itemY+=I+V.lastLineHeight+D,V.lastLineHeight=0}V.maxItemWidth=ay(V.maxItemWidth,S);V.lastItemY=I+V.itemY+D;V.lastLineHeight=ay(Q,V.lastLineHeight);W._legendItemPos=[V.itemX,V.itemY];R?V.itemX+=S:(V.itemY+=I+Q+D,V.lastLineHeight=Q);V.offsetWidth=G||ay((R?V.itemX-F-K:S)+M,V.offsetWidth)},render:function(){var D=this,C=D.chart,z=C.renderer,y=D.group,x,w,v,u,t=D.box,s=D.options,r=D.padding,o=s.borderWidth,n=s.backgroundColor;D.itemX=D.initialItemX;D.itemY=D.initialItemY;D.offsetWidth=0;D.lastItemY=0;if(!y){D.group=y=z.g("legend").attr({zIndex:7}).add(),D.contentGroup=z.g().attr({zIndex:1}).add(y),D.scrollGroup=z.g().add(D.contentGroup)}D.renderTitle();x=[];aC(C.series,function(G){var F=G.options;F.showInLegend&&!aw(F.linkedTo)&&(x=x.concat(G.legendItems||(F.legendType==="point"?G.data:G)))});ai(x,function(G,F){return(G.options&&G.options.legendIndex||0)-(F.options&&F.options.legendIndex||0)});s.reversed&&x.reverse();D.allItems=x;D.display=w=!!x.length;aC(x,function(F){D.renderItem(F)});v=s.width||D.offsetWidth;u=D.lastItemY+D.lastLineHeight+D.titleHeight;u=D.handleOverflow(u);if(o||n){v+=r;u+=r;if(t){if(v>0&&u>0){t[t.isNew?"attr":"animate"](t.crisp(null,null,null,v,u)),t.isNew=!1}}else{D.box=t=z.rect(0,0,v,u,s.borderRadius,o||0).attr({stroke:s.borderColor,"stroke-width":o||0,fill:n||aZ}).add(y).shadow(s.shadow),t.isNew=!0}t[w?"show":"hide"]()}D.legendWidth=v;D.legendHeight=u;aC(x,function(F){D.positionItem(F)});w&&y.align(az({width:v,height:u},s),!0,"spacingBox");C.isResizing||this.positionCheckboxes()},handleOverflow:function(C){var z=this,y=this.chart,x=y.renderer,w=this.options,v=w.y,v=y.spacingBox.height+(w.verticalAlign==="top"?-v:v)-this.padding,u=w.maxHeight,t=this.clipRect,s=w.navigation,r=aB(s.animation,!0),o=s.arrowSize||12,n=this.nav;w.layout==="horizontal"&&(v/=2);u&&(v=bd(v,u));if(C>v&&!w.useHTML){this.clipHeight=y=v-20-this.titleHeight;this.pageCount=b(C/y);this.currentPage=aB(this.currentPage,1);this.fullHeight=C;if(!t){t=z.clipRect=x.clipRect(0,0,9999,0),z.contentGroup.clip(t)}t.attr({height:y});if(!n){this.nav=n=x.g().attr({zIndex:1}).add(this.group),this.up=x.symbol("triangle",0,0,o,o).on("click",function(){z.scroll(-1,r)}).add(n),this.pager=x.text("",15,10).css(s.style).add(n),this.down=x.symbol("triangle-down",0,0,o,o).on("click",function(){z.scroll(1,r)}).add(n)}z.scroll(0);C=v}else{if(n){t.attr({height:y.chartHeight}),n.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0}}return C},scroll:function(x,w){var v=this.pageCount,u=this.currentPage+x,t=this.clipHeight,s=this.options.navigation,r=s.activeColor,o=s.inactiveColor,s=this.pager,n=this.padding;u>v&&(u=v);if(u>0){w!==au&&m(w,this.chart),this.nav.attr({translateX:n,translateY:t+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:u===1?o:r}).css({cursor:u===1?"default":"pointer"}),s.attr({text:u+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:u===v?o:r}).css({cursor:u===v?"default":"pointer"}),t=-bd(t*(u-1),this.fullHeight-t+n)+1,this.scrollGroup.animate({translateY:t}),s.attr({text:u+"/"+v}),this.currentPage=u,this.positionCheckboxes(t)}}};/Trident.*?11\.0/.test(aK)&&bB(e.prototype,"positionItem",function(o,n){var r=this;setTimeout(function(){o.call(r,n)})});bK.prototype={init:function(o,n){var v,u=o.series;o.series=null;v=at(a6,o);v.series=o.series=u;u=v.chart;this.margin=this.splashArray("margin",u);this.spacing=this.splashArray("spacing",u);var t=u.events;this.bounds={h:{},v:{}};this.callback=n;this.isResizing=0;this.options=v;this.axes=[];this.series=[];this.hasCartesianSeries=u.showAxes;var s=this,r;s.index=bU.length;bU.push(s);u.reflow!==!1&&a9(s,"load",function(){s.initReflow()});if(t){for(r in t){a9(s,r,t[r])}}s.xAxis=[];s.yAxis=[];s.animation=bF?!1:aB(u.animation,!0);s.pointCount=0;s.counters=new aJ;s.firstRender()},initSeries:function(o){var n=this.options.chart;(n=aV[o.type||n.type||n.defaultSeriesType])||h(17,!0);n=new n;n.init(this,o);return n},addSeries:function(o,n,t){var s,r=this;o&&(n=aB(n,!0),ao(r,"addSeries",{options:o},function(){s=r.initSeries(o);r.isDirtyLegend=!0;r.linkSeries();n&&r.redraw(t)}));return s},addAxis:function(o,n,u,t){var s=n?"xAxis":"yAxis",r=this.options;new L(this,at(o,{index:this[s].length,isX:n}));r[s]=ae(r[s]||{});r[s].push(o);aB(u,!0)&&this.redraw(t)},isInsidePlot:function(o,n,s){var r=s?n:o,o=s?o:n;return r>=0&&r<=this.plotWidth&&o>=0&&o<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&aC(this.axes,function(n){n.adjustTickAmount()});this.maxTicks=null},redraw:function(F){var D=this.axes,C=this.series,z=this.pointer,y=this.legend,x=this.isDirtyLegend,w,v,u=this.isDirtyBox,t=C.length,s=t,r=this.renderer,o=r.isHidden(),n=[];m(F,this);o&&this.cloneRenderTo();for(this.layOutTitles();s--;){if(F=C[s],F.options.stacking&&(w=!0,F.isDirty)){v=!0;break}}if(v){for(s=t;s--;){if(F=C[s],F.options.stacking){F.isDirty=!0}}}aC(C,function(G){G.isDirty&&G.options.legendType==="point"&&(x=!0)});if(x&&y.options.enabled){y.render(),this.isDirtyLegend=!1}w&&this.getStacks();if(this.hasCartesianSeries){if(!this.isResizing){this.maxTicks=null,aC(D,function(G){G.setScale()})}this.adjustTickAmounts();this.getMargins();aC(D,function(G){G.isDirty&&(u=!0)});aC(D,function(G){if(G.isDirtyExtremes){G.isDirtyExtremes=!1,n.push(function(){ao(G,"afterSetExtremes",az(G.eventArgs,G.getExtremes()));delete G.eventArgs})}(u||w)&&G.redraw()})}u&&this.drawChartBox();aC(C,function(G){G.isDirty&&G.visible&&(!G.isCartesian||G.xAxis)&&G.redraw()});z&&z.reset&&z.reset(!0);r.draw();ao(this,"redraw");o&&this.cloneRenderTo(!0);aC(n,function(G){G.call()})},showLoading:function(o){var n=this.options,s=this.loadingDiv,r=n.loading;if(!s){this.loadingDiv=s=aX(af,{className:"highcharts-loading"},az(r.style,{zIndex:10,display:aZ}),this.container),this.loadingSpan=aX("span",null,r.labelStyle,s)}this.loadingSpan.innerHTML=o||n.lang.loading;if(!this.loadingShown){a7(s,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),by(s,{opacity:r.style.opacity},{duration:r.showDuration||0}),this.loadingShown=!0}},hideLoading:function(){var o=this.options,n=this.loadingDiv;n&&by(n,{opacity:0},{duration:o.loading.hideDuration||100,complete:function(){a7(n,{display:aZ})}});this.loadingShown=!1},get:function(o){var n=this.axes,t=this.series,s,r;for(s=0;s<n.length;s++){if(n[s].options.id===o){return n[s]}}for(s=0;s<t.length;s++){if(t[s].options.id===o){return t[s]}}for(s=0;s<t.length;s++){r=t[s].points||[];for(n=0;n<r.length;n++){if(r[n].id===o){return r[n]}}}return null},getAxes:function(){var o=this,n=this.options,r=n.xAxis=ae(n.xAxis||{}),n=n.yAxis=ae(n.yAxis||{});aC(r,function(t,s){t.index=s;t.isX=!0});aC(n,function(t,s){t.index=s});r=r.concat(n);aC(r,function(s){new L(o,s)});o.adjustTickAmounts()},getSelectedPoints:function(){var n=[];aC(this.series,function(o){n=n.concat(aM(o.points||[],function(r){return r.selected}))});return n},getSelectedSeries:function(){return aM(this.series,function(n){return n.selected})},getStacks:function(){var n=this;aC(n.yAxis,function(o){if(o.stacks&&o.hasVisibleSeries){o.oldStacks=o.stacks}});aC(n.series,function(o){if(o.options.stacking&&(o.visible===!0||n.options.chart.ignoreHiddenSeries===!1)){o.stackKey=o.type+aB(o.options.stack,"")}})},showResetZoom:function(){var o=this,n=a6.lang,u=o.options.chart.resetZoomButton,t=u.theme,s=t.states,r=u.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=o.renderer.button(n.resetZoom,null,null,function(){o.zoomOut()},t,s&&s.hover).attr({align:u.position.align,title:n.resetZoomTitle}).add().align(u.position,!1,r)},zoomOut:function(){var n=this;ao(n,"selection",{resetSelection:!0},function(){n.zoom()})},zoom:function(o){var n,t=this.pointer,s=!1,r;!o||o.resetSelection?aC(this.axes,function(u){n=u.zoom()}):aC(o.xAxis.concat(o.yAxis),function(u){var w=u.axis,v=w.isXAxis;if(t[v?"zoomX":"zoomY"]||t[v?"pinchX":"pinchY"]){n=w.zoom(u.min,u.max),w.displayBtn&&(s=!0)}});r=this.resetZoomButton;if(s&&!r){this.showResetZoom()}else{if(!s&&aY(r)){this.resetZoomButton=r.destroy()}}n&&this.redraw(aB(this.options.chart.animation,o&&o.animation,this.pointCount<100))},pan:function(o,n){var t=this,s=t.hoverPoints,r;s&&aC(s,function(u){u.setState()});aC(n==="xy"?[1,0]:[1],function(u){var C=o[u?"chartX":"chartY"],z=t[u?"xAxis":"yAxis"][0],y=t[u?"mouseDownX":"mouseDownY"],x=(z.pointRange||0)/2,w=z.getExtremes(),v=z.toValue(y-C,!0)+x,y=z.toValue(y+t[u?"plotWidth":"plotHeight"]-C,!0)-x;z.series.length&&v>bd(w.dataMin,w.min)&&y<ay(w.dataMax,w.max)&&(z.setExtremes(v,y,!1,!1,{trigger:"pan"}),r=!0);t[u?"mouseDownX":"mouseDownY"]=C});r&&t.redraw(!1);a7(t.container,{cursor:"move"})},setTitle:function(o,n){var r;var u=this,t=u.options,s;s=t.title=at(t.title,o);r=t.subtitle=at(t.subtitle,n),t=r;aC([["title",o,s],["subtitle",n,t]],function(w){var v=w[0],y=u[v],x=w[1],w=w[2];y&&x&&(u[v]=y=y.destroy());w&&w.text&&!y&&(u[v]=u.renderer.text(w.text,0,0,w.useHTML).attr({align:w.align,"class":"highcharts-"+v,zIndex:w.zIndex||4}).css(w.style).add())});u.layOutTitles()},layOutTitles:function(){var o=0,n=this.title,u=this.subtitle,t=this.options,s=t.title,t=t.subtitle,r=this.spacingBox.width-44;if(n&&(n.css({width:(s.width||r)+"px"}).align(az({y:15},s),!1,"spacingBox"),!s.floating&&!s.verticalAlign)){o=n.getBBox().height,o>=18&&o<=25&&(o=15)}u&&(u.css({width:(t.width||r)+"px"}).align(az({y:o+s.margin},t),!1,"spacingBox"),!t.floating&&!t.verticalAlign&&(o=b(o+u.getBBox().height)));this.titleOffset=o},getChartSize:function(){var o=this.options.chart,n=this.renderToClone||this.renderTo;this.containerWidth=ac(n,"width");this.containerHeight=ac(n,"height");this.chartWidth=ay(0,o.width||this.containerWidth||600);this.chartHeight=ay(0,aB(o.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(o){var n=this.renderToClone,r=this.container;o?n&&(this.renderTo.appendChild(r),bN(n),delete this.renderToClone):(r&&r.parentNode===this.renderTo&&this.renderTo.removeChild(r),this.renderToClone=n=this.renderTo.cloneNode(0),a7(n,{position:"absolute",top:"-9999px",display:"block"}),aq.body.appendChild(n),r&&n.appendChild(r))},getContainer:function(){var o,n=this.options.chart,t,s,r;this.renderTo=o=n.renderTo;r="highcharts-"+br++;if(f(o)){this.renderTo=o=aq.getElementById(o)}o||h(13,!0);t=bn(av(o,"data-highcharts-chart"));!isNaN(t)&&bU[t]&&bU[t].destroy();av(o,"data-highcharts-chart",this.index);o.innerHTML="";o.offsetWidth||this.cloneRenderTo();this.getChartSize();t=this.chartWidth;s=this.chartHeight;this.container=o=aX(af,{className:"highcharts-container"+(n.className?" "+n.className:""),id:r},az({position:"relative",overflow:"hidden",width:t+"px",height:s+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},n.style),this.renderToClone||o);this._cursor=o.style.cursor;this.renderer=n.forExport?new bE(o,t,s,!0):new aT(o,t,s);bF&&this.renderer.create(this,o,t,s)},getMargins:function(){var z=this.spacing,y,x=this.legend,w=this.margin,v=this.options.legend,u=aB(v.margin,10),t=v.x,s=v.y,r=v.align,o=v.verticalAlign,n=this.titleOffset;this.resetMargins();y=this.axisOffset;if(n&&!aw(w[0])){this.plotTop=ay(this.plotTop,n+this.options.title.margin+z[0])}if(x.display&&!v.floating){if(r==="right"){if(!aw(w[1])){this.marginRight=ay(this.marginRight,x.legendWidth-t+u+z[1])}}else{if(r==="left"){if(!aw(w[3])){this.plotLeft=ay(this.plotLeft,x.legendWidth+t+u+z[3])}}else{if(o==="top"){if(!aw(w[0])){this.plotTop=ay(this.plotTop,x.legendHeight+s+u+z[0])}}else{if(o==="bottom"&&!aw(w[2])){this.marginBottom=ay(this.marginBottom,x.legendHeight-s+u+z[2])}}}}}this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&aC(this.axes,function(C){C.getOffset()});aw(w[3])||(this.plotLeft+=y[3]);aw(w[0])||(this.plotTop+=y[0]);aw(w[2])||(this.marginBottom+=y[2]);aw(w[1])||(this.marginRight+=y[1]);this.setChartSize()},initReflow:function(){function o(u){var w=t.width||ac(s,"width"),v=t.height||ac(s,"height"),u=u?u.target:a4;if(!n.hasUserSize&&w&&v&&(u===a4||u===aq)){if(w!==n.containerWidth||v!==n.containerHeight){clearTimeout(r),n.reflowTimeout=r=setTimeout(function(){if(n.container){n.setSize(w,v,!1),n.hasUserSize=null}},100)}n.containerWidth=w;n.containerHeight=v}}var n=this,t=n.options.chart,s=n.renderTo,r;n.reflow=o;a9(a4,"resize",o);a9(n,"destroy",function(){bw(a4,"resize",o)})},setSize:function(o,n,v){var u=this,t,s,r;u.isResizing+=1;r=function(){u&&ao(u,"endResize",null,function(){u.isResizing-=1})};m(v,u);u.oldChartHeight=u.chartHeight;u.oldChartWidth=u.chartWidth;if(aw(o)){u.chartWidth=t=ay(0,ax(o)),u.hasUserSize=!!t}if(aw(n)){u.chartHeight=s=ay(0,ax(n))}a7(u.container,{width:t+"px",height:s+"px"});u.setChartSize(!0);u.renderer.setSize(t,s,v);u.maxTicks=null;aC(u.axes,function(w){w.isDirty=!0;w.setScale()});aC(u.series,function(w){w.isDirty=!0});u.isDirtyLegend=!0;u.isDirtyBox=!0;u.getMargins();u.redraw(v);u.oldChartHeight=null;ao(u,"resize");i===!1?r():setTimeout(r,i&&i.duration||500)},setChartSize:function(C){var z=this.inverted,y=this.renderer,x=this.chartWidth,w=this.chartHeight,v=this.options.chart,u=this.spacing,t=this.clipOffset,s,r,o,n;this.plotLeft=s=ax(this.plotLeft);this.plotTop=r=ax(this.plotTop);this.plotWidth=o=ay(0,ax(x-s-this.marginRight));this.plotHeight=n=ay(0,ax(w-r-this.marginBottom));this.plotSizeX=z?n:o;this.plotSizeY=z?o:n;this.plotBorderWidth=v.plotBorderWidth||0;this.spacingBox=y.spacingBox={x:u[3],y:u[0],width:x-u[3]-u[1],height:w-u[0]-u[2]};this.plotBox=y.plotBox={x:s,y:r,width:o,height:n};x=2*a3(this.plotBorderWidth/2);z=b(ay(x,t[3])/2);y=b(ay(x,t[0])/2);this.clipBox={x:z,y:y,width:a3(this.plotSizeX-ay(x,t[1])/2-z),height:a3(this.plotSizeY-ay(x,t[2])/2-y)};C||aC(this.axes,function(D){D.setAxisSize();D.setAxisTranslation()})},resetMargins:function(){var o=this.spacing,n=this.margin;this.plotTop=aB(n[0],o[0]);this.marginRight=aB(n[1],o[1]);this.marginBottom=aB(n[2],o[2]);this.plotLeft=aB(n[3],o[3]);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var U=this.options.chart,T=this.renderer,S=this.chartWidth,R=this.chartHeight,Q=this.chartBackground,P=this.plotBackground,O=this.plotBorder,N=this.plotBGImage,M=U.borderWidth||0,K=U.backgroundColor,J=U.plotBackgroundColor,I=U.plotBackgroundImage,G=U.plotBorderWidth||0,C,z=this.plotLeft,D=this.plotTop,F=this.plotWidth,x=this.plotHeight,w=this.plotBox,v=this.clipRect,y=this.clipBox;C=M+(U.shadow?8:0);if(M||K){if(Q){Q.animate(Q.crisp(null,null,null,S-C,R-C))}else{Q={fill:K||aZ};if(M){Q.stroke=U.borderColor,Q["stroke-width"]=M}this.chartBackground=T.rect(C/2,C/2,S-C,R-C,U.borderRadius,M).attr(Q).add().shadow(U.shadow)}}if(J){P?P.animate(w):this.plotBackground=T.rect(z,D,F,x,0).attr({fill:J}).add().shadow(U.plotShadow)}if(I){N?N.animate(w):this.plotBGImage=T.image(I,z,D,F,x).add()}v?v.animate({width:y.width,height:y.height}):this.clipRect=T.clipRect(y);if(G){O?O.animate(O.crisp(null,z,D,F,x)):this.plotBorder=T.rect(z,D,F,x,0,-G).attr({stroke:U.plotBorderColor,"stroke-width":G,zIndex:1}).add()}this.isDirtyBox=!1},propFromSeries:function(){var o=this,n=o.options.chart,u,t=o.options.series,s,r;aC(["inverted","angular","polar"],function(v){u=aV[n.type||n.defaultSeriesType];r=o[v]||n[v]||u&&u.prototype[v];for(s=t&&t.length;!r&&s--;){(u=aV[t[s].type])&&u.prototype[v]&&(r=!0)}o[v]=r})},linkSeries:function(){var o=this,n=o.series;aC(n,function(r){r.linkedSeries.length=0});aC(n,function(r){var s=r.options.linkedTo;if(f(s)&&(s=s===":previous"?o.series[r.index-1]:o.get(s))){s.linkedSeries.push(r),r.linkedParent=s}})},render:function(){var o=this,n=o.axes,v=o.renderer,u=o.options,t=u.labels,s=u.credits,r;o.setTitle();o.legend=new e(o,u.legend);o.getStacks();aC(n,function(w){w.setScale()});o.getMargins();o.maxTicks=null;aC(n,function(w){w.setTickPositions(!0);w.setMaxTicks()});o.adjustTickAmounts();o.getMargins();o.drawChartBox();o.hasCartesianSeries&&aC(n,function(w){w.render()});if(!o.seriesGroup){o.seriesGroup=v.g("series-group").attr({zIndex:3}).add()}aC(o.series,function(w){w.translate();w.setTooltipPoints();w.render()});t.items&&aC(t.items,function(w){var z=az(t.style,w.style),y=bn(z.left)+o.plotLeft,x=bn(z.top)+o.plotTop+12;delete z.left;delete z.top;v.text(w.html,y,x).attr({zIndex:2}).css(z).add()});if(s.enabled&&!o.credits){r=s.href,o.credits=v.text(s.text,0,0).on("click",function(){if(r){location.href=r}}).attr({align:s.position.align,zIndex:8}).css(s.style).add().align(s.position)}o.hasRendered=!0},destroy:function(){var o=this,n=o.axes,u=o.series,t=o.container,s,r=t&&t.parentNode;ao(o,"destroy");bU[o.index]=au;o.renderTo.removeAttribute("data-highcharts-chart");bw(o);for(s=n.length;s--;){n[s]=n[s].destroy()}for(s=u.length;s--;){u[s]=u[s].destroy()}aC("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(v){var w=o[v];w&&w.destroy&&(o[v]=w.destroy())});if(t){t.innerHTML="",bw(t),r&&bN(t)}for(s in o){delete o[s]}},isReadyToRender:function(){var n=this;return !aR&&a4==a4.top&&aq.readyState!=="complete"||bF&&!a4.canvg?(bF?bL.push(function(){n.firstRender()},n.options.global.canvasToolsURL):aq.attachEvent("onreadystatechange",function(){aq.detachEvent("onreadystatechange",n.firstRender);aq.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var o=this,n=o.options,r=o.callback;if(o.isReadyToRender()){o.getContainer(),ao(o,"init"),o.resetMargins(),o.setChartSize(),o.propFromSeries(),o.getAxes(),aC(n.series||[],function(s){o.initSeries(s)}),o.linkSeries(),ao(o,"beforeRender"),o.pointer=new a(o,n),o.render(),o.renderer.draw(),r&&r.apply(o,[o]),aC(o.callbacks,function(s){s.apply(o,[o])}),o.cloneRenderTo(!0),ao(o,"load")}},splashArray:function(o,n){var r=n[o],r=aY(r)?r:[r,r,r,r];return[aB(n[o+"Top"],r[0]),aB(n[o+"Right"],r[1]),aB(n[o+"Bottom"],r[2]),aB(n[o+"Left"],r[3])]}};bK.prototype.callbacks=[];var aP=function(){};aP.prototype={init:function(o,n,r){this.series=o;this.applyOptions(n,r);this.pointAttr={};if(o.options.colorByPoint&&(n=o.options.colors||o.chart.options.colors,this.color=this.color||n[o.colorCounter++],o.colorCounter===n.length)){o.colorCounter=0}o.chart.pointCount++;return this},applyOptions:function(o,n){var s=this.series,r=s.pointValKey,o=aP.prototype.optionsToObject.call(this,o);az(this,o);this.options=this.options?az(this.options,o):o;if(r){this.y=this[r]}if(this.x===au&&s){this.x=n===au?s.autoIncrement():n}return this},optionsToObject:function(o){var n,v=this.series,u=v.pointArrayMap||["y"],t=u.length,s=0,r=0;if(typeof o==="number"||o===null){n={y:o}}else{if(bl(o)){n={};if(o.length>t){v=typeof o[0];if(v==="string"){n.name=o[0]}else{if(v==="number"){n.x=o[0]}}s++}for(;r<t;){n[u[r++]]=o[s++]}}else{if(typeof o==="object"){n=o;if(o.dataLabels){v._hasPointLabels=!0}if(o.marker){v._hasPointMarkers=!0}}}}return n},destroy:function(){var o=this.series.chart,n=o.hoverPoints,r;o.pointCount--;if(n&&(this.setState(),bz(n,this),!n.length)){o.hoverPoints=null}if(this===o.hoverPoint){this.onMouseOut()}if(this.graphic||this.dataLabel){bw(this),this.destroyElements()}this.legendItem&&o.legend.destroyItem(this);for(r in this){this[r]=null}},destroyElements:function(){for(var o="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),n,r=6;r--;){n=o[r],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,r=s.chart,o=aB(o,!t.selected);t.firePointEvent(o?"select":"unselect",{accumulate:n},function(){t.selected=t.options.selected=o;s.options.data[k(t,s.data)]=t.options;t.setState(o&&"select");n||aC(r.getSelectedPoints(),function(u){if(u.selected&&u!==t){u.selected=u.options.selected=!1,s.options.data[k(u,s.data)]=u.options,u.setState(""),u.firePointEvent("unselect")}})})},onMouseOver:function(o){var n=this.series,t=n.chart,s=t.tooltip,r=t.hoverPoint;if(r&&r!==this){r.onMouseOut()}this.firePointEvent("mouseOver");s&&(!s.shared||n.noSharedTooltip)&&s.refresh(this,o);this.setState("hover");t.hoverPoint=this},onMouseOut:function(){var o=this.series.chart,n=o.hoverPoints;if(!n||k(this,n)===-1){this.firePointEvent("mouseOut"),this.setState(),o.hoverPoint=null}},tooltipFormatter:function(o){var n=this.series,u=n.tooltipOptions,t=aB(u.valueDecimals,""),s=u.valuePrefix||"",r=u.valueSuffix||"";aC(n.pointArrayMap||["y"],function(v){v="{point."+v;if(s||r){o=o.replace(v+"}",s+v+"}"+r)}o=o.replace(v+"}",v+":,."+t+"f}")});return be(o,{point:this,series:this.series})},update:function(y,x,w){var v=this,u=v.series,t=v.graphic,s,r=u.data,o=u.chart,n=u.options,x=aB(x,!0);v.firePointEvent("update",{options:y},function(){v.applyOptions(y);if(aY(y)&&(u.getAttribs(),t)){y.marker&&y.marker.symbol?v.graphic=t.destroy():t.attr(v.pointAttr[v.state||""])}s=k(v,r);u.xData[s]=v.x;u.yData[s]=u.toYData?u.toYData(v):v.y;u.zData[s]=v.z;n.data[s]=v.options;u.isDirty=u.isDirtyData=!0;if(!u.fixedBox&&u.hasCartesianSeries){o.isDirtyBox=!0}n.legendType==="point"&&o.legend.destroyItem(v);x&&o.redraw(w)})},remove:function(o,n){var w=this,v=w.series,u=v.points,t=v.chart,s,r=v.data;m(n,t);o=aB(o,!0);w.firePointEvent("remove",null,function(){s=k(w,r);r.length===u.length&&u.splice(s,1);r.splice(s,1);v.options.data.splice(s,1);v.xData.splice(s,1);v.yData.splice(s,1);v.zData.splice(s,1);w.destroy();v.isDirty=!0;v.isDirtyData=!0;o&&t.redraw()})},firePointEvent:function(o,n,t){var s=this,r=this.series.options;(r.point.events[o]||s.options&&s.options.events&&s.options.events[o])&&this.importEvents();o==="click"&&r.allowPointSelect&&(t=function(u){s.select(null,u.ctrlKey||u.metaKey||u.shiftKey)});ao(this,o,n,t)},importEvents:function(){if(!this.hasImportedEvents){var o=at(this.series.options.point,this.options).events,n;this.events=o;for(n in o){a9(this,n,o[n])}this.hasImportedEvents=!0}},setState:function(D){var C=this.plotX,z=this.plotY,y=this.series,x=y.options.states,w=aS[y.type].marker&&y.options.marker,v=w&&!w.enabled,u=w&&w.states[D],t=u&&u.enabled===!1,s=y.stateMarkerGraphic,r=this.marker||{},o=y.chart,n=this.pointAttr,D=D||"";if(!(D===this.state||this.selected&&D!=="select"||x[D]&&x[D].enabled===!1||D&&(t||v&&!u.enabled))){if(this.graphic){x=w&&this.graphic.symbolName&&n[D].r,this.graphic.attr(at(n[D],x?{x:C-x,y:z-x,width:2*x,height:2*x}:{}))}else{if(D&&u){x=u.radius,r=r.symbol||y.symbol,s&&s.currentSymbol!==r&&(s=s.destroy()),s?s.attr({x:C-x,y:z-x}):(y.stateMarkerGraphic=s=o.renderer.symbol(r,C-x,z-x,2*x,2*x).attr(n[D]).add(y.markerGroup),s.currentSymbol=r)}if(s){s[D&&o.isInsidePlot(C,z)?"show":"hide"]()}}this.state=D}}};var a1=function(){};a1.prototype={isCartesian:!0,type:"line",pointClass:aP,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(o,n){var t,s,r=o.series;this.chart=o;this.options=n=this.setOptions(n);this.linkedSeries=[];this.bindAxes();az(this,{name:n.name,state:"",pointAttr:{},visible:n.visible!==!1,selected:n.selected===!0});if(bF){n.animation=!1}s=n.events;for(t in s){a9(this,t,s[t])}if(s&&s.click||n.point&&n.point.events&&n.point.events.click||n.allowPointSelect){o.runTrackerClick=!0}this.getColor();this.getSymbol();this.setData(n.data,!1);if(this.isCartesian){o.hasCartesianSeries=!0}r.push(this);this._i=r.length-1;ai(r,function(v,u){return aB(v.options.index,v._i)-aB(u.options.index,v._i)});aC(r,function(v,u){v.index=u;v.name=v.name||"Series "+(u+1)})},bindAxes:function(){var o=this,n=o.options,s=o.chart,r;o.isCartesian&&aC(["xAxis","yAxis"],function(t){aC(s[t],function(u){r=u.options;if(n[t]===r.index||n[t]!==au&&n[t]===r.id||n[t]===au&&r.index===0){u.series.push(o),o[t]=u,u.isDirty=!0}});o[t]||h(18,!0)})},autoIncrement:function(){var o=this.options,n=this.xIncrement,n=aB(n,o.pointStart,0);this.pointInterval=aB(this.pointInterval,o.pointInterval,1);this.xIncrement=n+this.pointInterval;return n},getSegments:function(){var o=-1,n=[],t,s=this.points,r=s.length;if(r){if(this.options.connectNulls){for(t=r;t--;){s[t].y===null&&s.splice(t,1)}s.length&&(n=[s])}else{aC(s,function(v,u){v.y===null?(u>o+1&&n.push(s.slice(o+1,u)),o=u):u===r-1&&n.push(s.slice(o+1,u+1))})}}this.segments=n},setOptions:function(o){var n=this.chart.options,s=n.plotOptions,r=s[this.type];this.userOptions=o;o=at(r,s.series,o);this.tooltipOptions=at(n.tooltip,o.tooltip);r.marker===null&&delete o.marker;return o},getColor:function(){var o=this.options,n=this.userOptions,t=this.chart.options.colors,s=this.chart.counters,r;r=o.color||aS[this.type].color;if(!r&&!o.colorByPoint){aw(n._colorIndex)?o=n._colorIndex:(n._colorIndex=s.color,o=s.color++),r=t[o]}this.color=r;s.wrapColor(t.length)},getSymbol:function(){var o=this.userOptions,n=this.options.marker,s=this.chart,r=s.options.symbols,s=s.counters;this.symbol=n.symbol;if(!this.symbol){aw(o._symbolIndex)?o=o._symbolIndex:(o._symbolIndex=s.symbol,o=s.symbol++),this.symbol=r[o]}if(/^url/.test(this.symbol)){n.radius=0}s.wrapSymbol(r.length)},drawLegendSymbol:function(o){var n=this.options,v=n.marker,u=o.options,t;t=u.symbolWidth;var s=this.chart.renderer,r=this.legendGroup,o=o.baseline-ax(s.fontMetrics(u.itemStyle.fontSize).b*0.3);if(n.lineWidth){u={"stroke-width":n.lineWidth};if(n.dashStyle){u.dashstyle=n.dashStyle}this.legendLine=s.path(["M",0,o,"L",t,o]).attr(u).add(r)}if(v&&v.enabled){n=v.radius,this.legendSymbol=t=s.symbol(this.symbol,t/2-n,o-n,2*n,2*n).add(r),t.isMarker=!0}},addPoint:function(I,G,F,D){var C=this.options,z=this.data,y=this.graph,x=this.area,w=this.chart,v=this.xData,u=this.yData,t=this.zData,r=this.names,o=y&&y.shift||0,n=C.data,J;m(D,w);F&&aC([y,x,this.graphNeg,this.areaNeg],function(s){if(s){s.shift=o+1}});if(x){x.isArea=!0}G=aB(G,!0);D={series:this};this.pointClass.prototype.applyOptions.apply(D,[I]);y=D.x;x=v.length;if(this.requireSorting&&y<v[x-1]){for(J=!0;x&&v[x-1]>y;){x--}}v.splice(x,0,y);u.splice(x,0,this.toYData?this.toYData(D):D.y);t.splice(x,0,D.z);if(r){r[y]=D.name}n.splice(x,0,I);J&&(this.data.splice(x,0,null),this.processData());C.legendType==="point"&&this.generatePoints();F&&(z[0]&&z[0].remove?z[0].remove(!1):(z.shift(),v.shift(),u.shift(),t.shift(),n.shift()));this.isDirtyData=this.isDirty=!0;G&&(this.getAttribs(),w.redraw())},setData:function(G,F){var D=this.points,C=this.options,z=this.chart,y=null,x=this.xAxis,w=x&&x.categories&&!x.categories.length?[]:null,v;this.xIncrement=null;this.pointRange=x&&x.categories?1:C.pointRange;this.colorCounter=0;var u=[],t=[],s=[],r=G?G.length:[];v=aB(C.turboThreshold,1000);var o=this.pointArrayMap,o=o&&o.length,n=!!this.toYData;if(v&&r>v){for(v=0;y===null&&v<r;){y=G[v],v++}if(bI(y)){y=aB(C.pointStart,0);C=aB(C.pointInterval,1);for(v=0;v<r;v++){u[v]=y,t[v]=G[v],y+=C}this.xIncrement=y}else{if(bl(y)){if(o){for(v=0;v<r;v++){C=G[v],u[v]=C[0],t[v]=C.slice(1,o+1)}}else{for(v=0;v<r;v++){C=G[v],u[v]=C[0],t[v]=C[1]}}}else{h(12)}}}else{for(v=0;v<r;v++){if(G[v]!==au&&(C={series:this},this.pointClass.prototype.applyOptions.apply(C,[G[v]]),u[v]=C.x,t[v]=n?this.toYData(C):C.y,s[v]=C.z,w&&C.name)){w[C.x]=C.name}}}f(t[0])&&h(14,!0);this.data=[];this.options.data=G;this.xData=u;this.yData=t;this.zData=s;this.names=w;for(v=D&&D.length||0;v--;){D[v]&&D[v].destroy&&D[v].destroy()}if(x){x.minRange=x.userMinRange}this.isDirty=this.isDirtyData=z.isDirtyBox=!0;aB(F,!0)&&z.redraw(!1)},remove:function(o,n){var s=this,r=s.chart,o=aB(o,!0);if(!s.isRemoving){s.isRemoving=!0,ao(s,"remove",null,function(){s.destroy();r.isDirtyLegend=r.isDirtyBox=!0;r.linkSeries();o&&r.redraw(n)})}s.isRemoving=!1},processData:function(z){var y=this.xData,x=this.yData,w=y.length,v;v=0;var u,t,s=this.xAxis,r=this.options,o=r.cropThreshold,n=this.isCartesian;if(n&&!this.isDirty&&!s.isDirty&&!this.yAxis.isDirty&&!z){return !1}if(n&&this.sorted&&(!o||w>o||this.forceCrop)){if(z=s.min,s=s.max,y[w-1]<z||y[0]>s){y=[],x=[]}else{if(y[0]<z||y[w-1]>s){v=this.cropData(this.xData,this.yData,z,s),y=v.xData,x=v.yData,v=v.start,u=!0}}}for(s=y.length-1;s>=0;s--){w=y[s]-y[s-1],w>0&&(t===au||w<t)?t=w:w<0&&this.requireSorting&&h(15)}this.cropped=u;this.cropStart=v;this.processedXData=y;this.processedYData=x;if(r.pointRange===null){this.pointRange=t||1}this.closestPointRange=t},cropData:function(x,w,v,u){var t=x.length,s=0,r=t,o=aB(this.cropShoulder,1),n;for(n=0;n<t;n++){if(x[n]>=v){s=ay(0,n-o);break}}for(;n<t;n++){if(x[n]>u){r=n+o;break}}return{xData:x.slice(s,r),yData:w.slice(s,r),start:s,end:r}},generatePoints:function(){var D=this.options.data,C=this.data,z,y=this.processedXData,x=this.processedYData,w=this.pointClass,v=y.length,u=this.cropStart||0,t,s=this.hasGroupedData,r,o=[],n;if(!C&&!s){C=[],C.length=D.length,C=this.data=C}for(n=0;n<v;n++){t=u+n,s?o[n]=(new w).init(this,[y[n]].concat(ae(x[n]))):(C[t]?r=C[t]:D[t]!==au&&(C[t]=r=(new w).init(this,D[t],y[n])),o[n]=r)}if(C&&(v!==(z=C.length)||s)){for(n=0;n<z;n++){if(n===u&&!s&&(n+=v),C[n]){C[n].destroyElements(),C[n].plotX=au}}}this.data=C;this.points=o},setStackedPoints:function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){var O=this.processedXData,N=this.processedYData,M=[],K=N.length,J=this.options,I=J.threshold,G=J.stack,J=J.stacking,F=this.stackKey,D="-"+F,C=this.negStacks,z=this.yAxis,y=z.stacks,x=z.oldStacks,u,s,v,w,r;for(v=0;v<K;v++){w=O[v];r=N[v];s=(u=C&&r<I)?D:F;y[s]||(y[s]={});if(!y[s][w]){x[s]&&x[s][w]?(y[s][w]=x[s][w],y[s][w].total=null):y[s][w]=new bX(z,z.options.stackLabels,u,w,G,J)}s=y[s][w];s.points[this.index]=[s.cum||0];J==="percent"?(u=u?F:D,C&&y[u]&&y[u][w]?(u=y[u][w],s.total=u.total=ay(u.total,s.total)+a5(r)||0):s.total+=a5(r)||0):s.total+=r||0;s.cum=(s.cum||0)+(r||0);s.points[this.index].push(s.cum);M[v]=s.cum}if(J==="percent"){z.usePercentage=!0}this.stackedYData=M;z.oldStacks={}}},setPercentStacks:function(){var o=this,n=o.stackKey,r=o.yAxis.stacks;aC([n,"-"+n],function(s){var w;for(var v=o.xData.length,u,t;v--;){if(u=o.xData[v],w=(t=r[s]&&r[s][u])&&t.points[o.index],u=w){t=t.total?100/t.total:0,u[0]=aG(u[0]*t),u[1]=aG(u[1]*t),o.stackedYData[v]=u[1]}}})},getExtremes:function(){var C=this.yAxis,z=this.processedXData,y=this.stackedYData||this.processedYData,x=y.length,w=[],v=0,u=this.xAxis.getExtremes(),t=u.min,u=u.max,s,r,o,n;for(n=0;n<x;n++){if(r=z[n],o=y[n],s=o!==null&&o!==au&&(!C.isLog||o.length||o>0),r=this.getExtremesFromAll||this.cropped||(z[n+1]||r)>=t&&(z[n-1]||r)<=u,s&&r){if(s=o.length){for(;s--;){o[s]!==null&&(w[v++]=o[s])}}else{w[v++]=o}}}this.dataMin=aB(void 0,aL(w));this.dataMax=aB(void 0,am(w))},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var J=this.options,I=J.stacking,G=this.xAxis,F=G.categories,D=this.yAxis,C=this.points,z=C.length,y=!!this.modifyValue,x=J.pointPlacement,w=x==="between"||bI(x),v=J.threshold,J=0;J<z;J++){var u=C[J],t=u.x,r=u.y,o=u.low,s=D.stacks[(this.negStacks&&r<v?"-":"")+this.stackKey];if(D.isLog&&r<=0){u.y=r=null}u.plotX=G.translate(t,0,0,0,1,x,this.type==="flags");if(I&&this.visible&&s&&s[t]){s=s[t],r=s.points[this.index],o=r[0],r=r[1],o===0&&(o=aB(v,D.min)),D.isLog&&o<=0&&(o=null),u.percentage=I==="percent"&&r,u.total=u.stackTotal=s.total,u.stackY=r,s.setOffset(this.pointXOffset||0,this.barW||0)}u.yBottom=aw(o)?D.translate(o,0,1,0,1):null;y&&(r=this.modifyValue(r,u));u.plotY=typeof r==="number"&&r!==Infinity?D.translate(r,0,1,0,1):au;u.clientX=w?G.translate(t,0,0,0,1):u.plotX;u.negative=u.y<(v||0);u.category=F&&F[u.x]!==au?F[u.x]:u.x}this.getSegments()},setTooltipPoints:function(y){var x=[],w,v,u=this.xAxis,t=u&&u.getExtremes(),s=u?u.tooltipLen||u.len:this.chart.plotSizeX,r,o,n=[];if(this.options.enableMouseTracking!==!1){if(y){this.tooltipPoints=null}aC(this.segments||this.points,function(z){x=x.concat(z)});u&&u.reversed&&(x=x.reverse());this.orderTooltipPoints&&this.orderTooltipPoints(x);y=x.length;for(o=0;o<y;o++){if(u=x[o],w=u.x,w>=t.min&&w<=t.max){r=x[o+1];w=v===au?0:v+1;for(v=x[o+1]?bd(ay(0,a3((u.clientX+(r?r.wrappedClientX||r.clientX:s))/2)),s):s;w>=0&&w<=v;){n[w++]=u}}}this.tooltipPoints=n}},tooltipHeaderFormatter:function(o){var n=this.tooltipOptions,v=n.xDateFormat,u=n.dateTimeLabelFormats,t=this.xAxis,s=t&&t.options.type==="datetime",n=n.headerFormat,t=t&&t.closestPointRange,r;if(s&&!v){if(t){for(r in bk){if(bk[r]>=t){v=u[r];break}}}else{v=u.day}}s&&v&&bI(o.key)&&(n=n.replace("{point.key}","{point.key:"+v+"}"));return be(n,{point:o,series:this})},onMouseOver:function(){var o=this.chart,n=o.hoverSeries;if(n&&n!==this){n.onMouseOut()}this.options.events.mouseOver&&ao(this,"mouseOver");this.setState("hover");o.hoverSeries=this},onMouseOut:function(){var o=this.options,n=this.chart,s=n.tooltip,r=n.hoverPoint;if(r){r.onMouseOut()}this&&o.events.mouseOut&&ao(this,"mouseOut");s&&!o.stickyTracking&&(!s.shared||this.noSharedTooltip)&&s.hide();this.setState();n.hoverSeries=null},animate:function(o){var n=this,w=n.chart,v=w.renderer,u;u=n.options.animation;var t=w.clipBox,s=w.inverted,r;if(u&&!aY(u)){u=aS[n.type].animation}r="_sharedClip"+u.duration+u.easing;if(o){o=w[r],u=w[r+"m"],o||(w[r]=o=v.clipRect(az(t,{width:0})),w[r+"m"]=u=v.clipRect(-99,s?-w.plotLeft:-w.plotTop,99,s?w.chartWidth:w.chartHeight)),n.group.clip(o),n.markerGroup.clip(u),n.sharedClipKey=r}else{if(o=w[r]){o.animate({width:w.plotSizeX},u),w[r+"m"].animate({width:w.plotSizeX+99},u)}n.animate=null;n.animationTimeout=setTimeout(function(){n.afterAnimate()},u.duration)}},afterAnimate:function(){var o=this.chart,n=this.sharedClipKey,r=this.group;r&&this.options.clip!==!1&&(r.clip(o.clipRect),this.markerGroup.clip());setTimeout(function(){n&&o[n]&&(o[n]=o[n].destroy(),o[n+"m"]=o[n+"m"].destroy())},100)},drawPoints:function(){var F,D=this.points,C=this.chart,z,y,x,w,v,u,t,s,r=this.options.marker,o,n=this.markerGroup;if(r.enabled||this._hasPointMarkers){for(x=D.length;x--;){if(w=D[x],z=a3(w.plotX),y=w.plotY,s=w.graphic,u=w.marker||{},F=r.enabled&&u.enabled===au||u.enabled,o=C.isInsidePlot(ax(z),y,C.inverted),F&&y!==au&&!isNaN(y)&&w.y!==null){if(F=w.pointAttr[w.selected?"select":""],v=F.r,u=aB(u.symbol,this.symbol),t=u.indexOf("url")===0,s){s.attr({visibility:o?aR?"inherit":"visible":"hidden"}).animate(az({x:z-v,y:y-v},s.symbolName?{width:2*v,height:2*v}:{}))}else{if(o&&(v>0||t)){w.graphic=C.renderer.symbol(u,z-v,y-v,2*v,2*v).attr(F).add(n)}}}else{if(s){w.graphic=s.destroy()}}}}},convertAttribs:function(o,n,w,v){var u=this.pointAttrToOptions,t,s,r={},o=o||{},n=n||{},w=w||{},v=v||{};for(t in u){s=u[t],r[t]=aB(o[s],n[t],w[t],v[t])}return r},getAttribs:function(){var G=this,F=G.options,D=aS[G.type].marker?F.marker:F,C=D.states,z=C.hover,y,x=G.color,w={stroke:x,fill:x},v=G.points||[],u=[],t,s=G.pointAttrToOptions,r=F.negativeColor,o=D.lineColor,n;F.marker?(z.radius=z.radius||D.radius+2,z.lineWidth=z.lineWidth||D.lineWidth+1):z.color=z.color||bW(z.color||x).brighten(z.brightness).get();u[""]=G.convertAttribs(D,w);aC(["hover","select"],function(I){u[I]=G.convertAttribs(C[I],u[""])});G.pointAttr=u;for(x=v.length;x--;){w=v[x];if((D=w.options&&w.options.marker||w.options)&&D.enabled===!1){D.radius=0}if(w.negative&&r){w.color=w.fillColor=r}y=F.colorByPoint||w.color;if(w.options){for(n in s){aw(D[s[n]])&&(y=!0)}}if(y){D=D||{};t=[];C=D.states||{};y=C.hover=C.hover||{};if(!F.marker){y.color=bW(y.color||w.color).brighten(y.brightness||z.brightness).get()}t[""]=G.convertAttribs(az({color:w.color,fillColor:w.color,lineColor:o===null?w.color:au},D),u[""]);t.hover=G.convertAttribs(C.hover,u.hover,t[""]);t.select=G.convertAttribs(C.select,u.select,t[""])}else{t=u}w.pointAttr=t}},update:function(o,n){var u=this.chart,t=this.type,s=aV[t].prototype,r,o=at(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},o);this.remove(!1);for(r in s){s.hasOwnProperty(r)&&(this[r]=au)}az(this,aV[o.type||t].prototype);this.init(u,o);aB(n,!0)&&u.redraw(!1)},destroy:function(){var x=this,w=x.chart,v=/AppleWebKit\/533/.test(aK),u,t,s=x.data||[],r,o,n;ao(x,"destroy");bw(x);aC(["xAxis","yAxis"],function(y){if(n=x[y]){bz(n.series,x),n.isDirty=n.forceRedraw=!0,n.stacks={}}});x.legendItem&&x.chart.legend.destroyItem(x);for(t=s.length;t--;){(r=s[t])&&r.destroy&&r.destroy()}x.points=null;clearTimeout(x.animationTimeout);aC("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(y){x[y]&&(u=v&&y==="group"?"hide":"destroy",x[y][u]())});if(w.hoverSeries===x){w.hoverSeries=null}bz(w.series,x);for(o in x){delete x[o]}},drawDataLabels:function(){var o=this,n=o.options.dataLabels,v=o.points,u,t,s,r;if(n.enabled||o._hasPointLabels){o.dlProcessOptions&&o.dlProcessOptions(n),r=o.plotGroup("dataLabelsGroup","data-labels",o.visible?"visible":"hidden",n.zIndex||6),t=n,aC(v,function(F){var C,z=F.dataLabel,y,x,w=F.connector,D=!0;u=F.options&&F.options.dataLabels;C=aB(u&&u.enabled,t.enabled);if(z&&!C){F.dataLabel=z.destroy()}else{if(C){n=at(t,u);C=n.rotation;y=F.getLabelConfig();s=n.format?be(n.format,y):n.formatter.call(y,n);n.style.color=aB(n.color,n.style.color,o.color,"black");if(z){if(aw(s)){z.attr({text:s}),D=!1}else{if(F.dataLabel=z=z.destroy(),w){F.connector=w.destroy()}}}else{if(aw(s)){z={fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth,r:n.borderRadius||0,rotation:C,padding:n.padding,zIndex:1};for(x in z){z[x]===au&&delete z[x]}z=F.dataLabel=o.chart.renderer[C?"text":"label"](s,0,-999,null,null,null,n.useHTML).attr(z).css(n.style).add(r).shadow(n.shadow)}}z&&o.alignDataLabel(F,z,n,null,D)}}})}},alignDataLabel:function(y,x,w,v,u){var t=this.chart,s=t.inverted,r=aB(y.plotX,-999),o=aB(y.plotY,-999),n=x.getBBox();if(y=this.visible&&t.isInsidePlot(y.plotX,y.plotY,s)){v=az({x:s?t.plotWidth-o:r,y:ax(s?t.plotHeight-r:o),width:0,height:0},v),az(w,{width:n.width,height:n.height}),w.rotation?(s={align:w.align,x:v.x+w.x+v.width/2,y:v.y+w.y+v.height/2},x[u?"attr":"animate"](s)):(x.align(w,null,v),s=x.alignAttr,aB(w.overflow,"justify")==="justify"?this.justifyDataLabel(x,w,s,n,v,u):aB(w.crop,!0)&&(y=t.isInsidePlot(s.x,s.y)&&t.isInsidePlot(s.x+n.width,s.y+n.height)))}y||x.attr({y:-999})},justifyDataLabel:function(z,y,x,w,v,u){var t=this.chart,s=y.align,r=y.verticalAlign,o,n;o=x.x;if(o<0){s==="right"?y.align="left":y.x=-o,n=!0}o=x.x+w.width;if(o>t.plotWidth){s==="left"?y.align="right":y.x=t.plotWidth-o,n=!0}o=x.y;if(o<0){r==="bottom"?y.verticalAlign="top":y.y=-o,n=!0}o=x.y+w.height;if(o>t.plotHeight){r==="top"?y.verticalAlign="bottom":y.y=t.plotHeight-o,n=!0}if(n){z.placed=!u,z.align(y,null,v)}},getSegmentPath:function(o){var n=this,s=[],r=n.options.step;aC(o,function(x,w){var v=x.plotX,u=x.plotY,t;n.getPointSpline?s.push.apply(s,n.getPointSpline(o,x,w)):(s.push(w?"L":"M"),r&&w&&(t=o[w-1],r==="right"?s.push(t.plotX,u):r==="center"?s.push((t.plotX+v)/2,t.plotY,(t.plotX+v)/2,u):s.push(v,t.plotY)),s.push(x.plotX,x.plotY))});return s},getGraphPath:function(){var o=this,n=[],s,r=[];aC(o.segments,function(t){s=o.getSegmentPath(t);t.length>1?n=n.concat(s):r.push(t[0])});o.singlePoints=r;return o.graphPath=n},drawGraph:function(){var o=this,n=this.options,v=[["graph",n.lineColor||this.color]],u=n.lineWidth,t=n.dashStyle,s=this.getGraphPath(),r=n.negativeColor;r&&v.push(["graphNeg",r]);aC(v,function(z,y){var x=z[0],w=o[x];if(w){ar(w),w.animate({d:s})}else{if(u&&s.length){w={stroke:z[1],"stroke-width":u,zIndex:1},t?w.dashstyle=t:w["stroke-linecap"]=w["stroke-linejoin"]="round",o[x]=o.chart.renderer.path(s).attr(w).add(o.group).shadow(!y&&n.shadow)}}})},clipNeg:function(){var C=this.options,z=this.chart,y=z.renderer,x=C.negativeColor||C.negativeFillColor,w,v=this.graph,u=this.area,t=this.posClip,s=this.negClip;w=z.chartWidth;var r=z.chartHeight,o=ay(w,r),n=this.yAxis;if(x&&(v||u)){x=ax(n.toPixels(C.threshold||0,!0));C={x:0,y:0,width:o,height:x};o={x:0,y:x,width:o,height:o};if(z.inverted){C.height=o.y=z.plotWidth-x,y.isVML&&(C={x:z.plotWidth-x-z.plotLeft,y:0,width:w,height:r},o={x:x+z.plotLeft-w,y:0,width:z.plotLeft+x,height:w})}n.reversed?(z=o,w=C):(z=C,w=o);t?(t.animate(z),s.animate(w)):(this.posClip=t=y.clipRect(z),this.negClip=s=y.clipRect(w),v&&this.graphNeg&&(v.clip(t),this.graphNeg.clip(s)),u&&(u.clip(t),this.areaNeg.clip(s)))}},invertGroups:function(){function o(){var s={width:n.yAxis.len,height:n.xAxis.len};aC(["group","markerGroup"],function(t){n[t]&&n[t].attr(s).invert()})}var n=this,r=n.chart;if(n.xAxis){a9(r,"resize",o),a9(n,"destroy",function(){bw(r,"resize",o)}),o(),n.invertGroups=o}},plotGroup:function(o,n,v,u,t){var s=this[o],r=!s;r&&(this[o]=s=this.chart.renderer.g(n).attr({visibility:v,zIndex:u||0.1}).add(t));s[r?"attr":"animate"](this.getPlotBox());return s},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var o=this.chart,n,w=this.options,v=w.animation&&!!this.animate&&o.renderer.isSVG,u=this.visible?"visible":"hidden",t=w.zIndex,s=this.hasRendered,r=o.seriesGroup;n=this.plotGroup("group","series",u,t,r);this.markerGroup=this.plotGroup("markerGroup","markers",u,t,r);v&&this.animate(!0);this.getAttribs();n.inverted=this.isCartesian?o.inverted:!1;this.drawGraph&&(this.drawGraph(),this.clipNeg());this.drawDataLabels();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();o.inverted&&this.invertGroups();w.clip!==!1&&!this.sharedClipKey&&!s&&n.clip(o.clipRect);v?this.animate():s||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var o=this.chart,n=this.isDirtyData,t=this.group,s=this.xAxis,r=this.yAxis;t&&(o.inverted&&t.attr({width:o.plotWidth,height:o.plotHeight}),t.animate({translateX:aB(s&&s.left,o.plotLeft),translateY:aB(r&&r.top,o.plotTop)}));this.translate();this.setTooltipPoints(!0);this.render();n&&ao(this,"updatedData")},setState:function(o){var n=this.options,t=this.graph,s=this.graphNeg,r=n.states,n=n.lineWidth,o=o||"";if(this.state!==o){this.state=o,r[o]&&r[o].enabled===!1||(o&&(n=r[o].lineWidth||n+1),t&&!t.dashstyle&&(o={"stroke-width":n},t.attr(o),s&&s.attr(o)))}},setVisible:function(o,n){var w=this,v=w.chart,u=w.legendItem,t,s=v.options.chart.ignoreHiddenSeries,r=w.visible;t=(w.visible=o=w.userOptions.visible=o===au?!r:o)?"show":"hide";aC(["group","dataLabelsGroup","markerGroup","tracker"],function(x){if(w[x]){w[x][t]()}});if(v.hoverSeries===w){w.onMouseOut()}u&&v.legend.colorizeItem(w,o);w.isDirty=!0;w.options.stacking&&aC(v.series,function(x){if(x.options.stacking&&x.visible){x.isDirty=!0}});aC(w.linkedSeries,function(x){x.setVisible(o,!1)});if(s){v.isDirtyBox=!0}n!==!1&&v.redraw();ao(w,t)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===au?!this.selected:n;if(this.checkbox){this.checkbox.checked=n}ao(this,n?"select":"unselect")},drawTracker:function(){var F=this,D=F.options,C=D.trackByArea,z=[].concat(C?F.areaPath:F.graphPath),y=z.length,x=F.chart,w=x.pointer,v=x.renderer,u=x.options.tooltip.snap,t=F.tracker,s=D.cursor,r=s&&{cursor:s},s=F.singlePoints,o,n=function(){if(x.hoverSeries!==F){F.onMouseOver()}};if(y&&!C){for(o=y+1;o--;){z[o]==="M"&&z.splice(o+1,0,z[o+1]-u,z[o+2],"L"),(o&&z[o]==="M"||o===y)&&z.splice(o,0,"L",z[o-2]+u,z[o-1])}}for(o=0;o<s.length;o++){y=s[o],z.push("M",y.plotX-u,y.plotY,"L",y.plotX+u,y.plotY)}t?t.attr({d:z}):(F.tracker=v.path(z).attr({"stroke-linejoin":"round",visibility:F.visible?"visible":"hidden",stroke:al,fill:C?al:aZ,"stroke-width":D.lineWidth+(C?0:2*u),zIndex:2}).add(F.group),aC([F.tracker,F.markerGroup],function(G){G.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(I){w.onTrackerMouseOut(I)}).css(r);if(aE){G.on("touchstart",n)}}))}};bf=bc(a1);aV.line=bf;aS.area=at(aU,{threshold:0});bf=bc(a1,{type:"area",getSegments:function(){var F=[],D=[],C=[],z=this.xAxis,y=this.yAxis,x=y.stacks[this.stackKey],w={},v,u,t=this.points,s=this.options.connectNulls,r,o,n;if(this.options.stacking&&!this.cropped){for(o=0;o<t.length;o++){w[t[o].x]=t[o]}for(n in x){C.push(+n)}C.sort(function(I,G){return I-G});aC(C,function(G){if(!s||w[G]&&w[G].y!==null){w[G]?D.push(w[G]):(v=z.translate(G),r=x[G].percent?x[G].total?x[G].cum*100/x[G].total:0:x[G].cum,u=y.toPixels(r,!0),D.push({y:null,plotX:v,clientX:v,plotY:u,yBottom:u,onMouseOver:ah}))}});D.length&&F.push(D)}else{a1.prototype.getSegments.call(this),F=this.segments}this.segments=F},getSegmentPath:function(o){var n=a1.prototype.getSegmentPath.call(this,o),v=[].concat(n),u,t=this.options;u=n.length;var s=this.yAxis.getThreshold(t.threshold),r;u===3&&v.push("L",n[1],n[2]);if(t.stacking&&!this.closedStacks){for(u=o.length-1;u>=0;u--){r=aB(o[u].yBottom,s),u<o.length-1&&t.step&&v.push(o[u+1].plotX,r),v.push(o[u].plotX,r)}}else{this.closeSegment(v,o,s)}this.areaPath=this.areaPath.concat(v);return n},closeSegment:function(o,n,r){o.push("L",n[n.length-1].plotX,r,"L",n[0].plotX,r)},drawGraph:function(){this.areaPath=[];a1.prototype.drawGraph.apply(this);var o=this,n=this.areaPath,u=this.options,t=u.negativeColor,s=u.negativeFillColor,r=[["area",this.color,u.fillColor]];(t||s)&&r.push(["areaNeg",t,s]);aC(r,function(x){var w=x[0],v=o[w];v?v.animate({d:n}):o[w]=o.chart.renderer.path(n).attr({fill:aB(x[2],bW(x[1]).setOpacity(aB(u.fillOpacity,0.75)).get()),zIndex:0}).add(o.group)})},drawLegendSymbol:function(o,n){n.legendSymbol=this.chart.renderer.rect(0,o.baseline-11,o.options.symbolWidth,12,2).attr({zIndex:3}).add(n.legendGroup)}});aV.area=bf;aS.spline=at(aU);bg=bc(a1,{type:"spline",getPointSpline:function(C,z,y){var x=z.plotX,w=z.plotY,v=C[y-1],u=C[y+1],t,s,r,o;if(v&&u){C=v.plotY;r=u.plotX;var u=u.plotY,n;t=(1.5*x+v.plotX)/2.5;s=(1.5*w+C)/2.5;r=(1.5*x+r)/2.5;o=(1.5*w+u)/2.5;n=(o-s)*(r-x)/(r-t)+w-o;s+=n;o+=n;s>C&&s>w?(s=ay(C,w),o=2*w-s):s<C&&s<w&&(s=bd(C,w),o=2*w-s);o>u&&o>w?(o=ay(u,w),s=2*w-o):o<u&&o<w&&(o=bd(u,w),s=2*w-o);z.rightContX=r;z.rightContY=o}y?(z=["C",v.rightContX||v.plotX,v.rightContY||v.plotY,t||x,s||w,x,w],v.rightContX=v.rightContY=null):z=["M",x,w];return z}});aV.spline=bg;aS.areaspline=at(aS.area);bC=bf.prototype;bg=bc(bg,{type:"areaspline",closedStacks:!0,getSegmentPath:bC.getSegmentPath,closeSegment:bC.closeSegment,drawGraph:bC.drawGraph,drawLegendSymbol:bC.drawLegendSymbol});aV.areaspline=bg;aS.column=at(aU,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0});bg=bc(a1,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){a1.prototype.init.apply(this,arguments);var o=this,n=o.chart;n.hasRendered&&aC(n.series,function(r){if(r.type===o.type){r.isDirty=!0}})},getColumnMetrics:function(){var C=this,z=C.options,y=C.xAxis,x=C.yAxis,w=y.reversed,v,u={},t,s=0;z.grouping===!1?s=1:aC(C.chart.series,function(D){var G=D.options,F=D.yAxis;if(D.type===C.type&&D.visible&&x.len===F.len&&x.pos===F.pos){G.stacking?(v=D.stackKey,u[v]===au&&(u[v]=s++),t=u[v]):G.grouping!==!1&&(t=s++),D.columnIndex=t}});var y=bd(a5(y.transA)*(y.ordinalSlope||z.pointRange||y.closestPointRange||1),y.len),r=y*z.groupPadding,o=(y-2*r)/s,n=z.pointWidth,z=aw(n)?(o-n)/2:o*z.pointPadding,n=aB(n,o-2*z);return C.columnMetrics={width:n,offset:z+(r+((w?s-(C.columnIndex||0):C.columnIndex)||0)*o-y/2)*(w?-1:1)}},translate:function(){var z=this.chart,y=this.options,x=y.borderWidth,w=this.yAxis,v=this.translatedThreshold=w.getThreshold(y.threshold),u=aB(y.minPointLength,5),y=this.getColumnMetrics(),t=y.width,s=this.barW=b(ay(t,1+2*x)),r=this.pointXOffset=y.offset,o=-(x%2?0.5:0),n=x%2?0.5:1;z.renderer.isVML&&z.inverted&&(n+=1);a1.prototype.translate.apply(this);aC(this.points,function(F){var C=aB(F.yBottom,v),K=bd(ay(-999-C,F.plotY),w.len+999+C),J=F.plotX+r,G=s,I=bd(K,C),D,K=ay(K,C)-I;a5(K)<u&&u&&(K=u,I=ax(a5(I-v)>u?C-u:v-(w.translate(F.y,0,1,0,1)<=v?u:0)));F.barX=J;F.pointWidth=t;C=a5(J)<0.5;G=ax(J+G)+o;J=ax(J)+o;G-=J;D=a5(I)<0.5;K=ax(I+K)+n;I=ax(I)+n;K-=I;C&&(J+=1,G-=1);D&&(I-=1,K+=1);F.shapeType="rect";F.shapeArgs={x:J,y:I,width:G,height:K}})},getSymbol:ah,drawLegendSymbol:bf.prototype.drawLegendSymbol,drawGraph:ah,drawPoints:function(){var o=this,n=o.options,s=o.chart.renderer,r;aC(o.points,function(v){var u=v.plotY,t=v.graphic;if(u!==au&&!isNaN(u)&&v.y!==null){r=v.shapeArgs,t?(ar(t),t.animate(at(r))):v.graphic=s[v.shapeType](r).attr(v.pointAttr[v.selected?"select":""]).add(o.group).shadow(n.shadow,null,n.stacking&&!n.borderRadius)}else{if(t){v.graphic=t.destroy()}}})},drawTracker:function(){var o=this,n=o.chart,u=n.pointer,t=o.options.cursor,s=t&&{cursor:t},r=function(x){var w=x.target,v;if(n.hoverSeries!==o){o.onMouseOver()}for(;w&&!v;){v=w.point,w=w.parentNode}if(v!==au&&v!==n.hoverPoint){v.onMouseOver(x)}};aC(o.points,function(v){if(v.graphic){v.graphic.element.point=v}if(v.dataLabel){v.dataLabel.element.point=v}});if(!o._hasTracking){aC(o.trackerGroups,function(v){if(o[v]&&(o[v].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(w){u.onTrackerMouseOut(w)}).css(s),aE)){o[v].on("touchstart",r)}}),o._hasTracking=!0}},alignDataLabel:function(y,x,w,v,u){var t=this.chart,s=t.inverted,r=y.dlBox||y.shapeArgs,o=y.below||y.plotY>aB(this.translatedThreshold,t.plotSizeY),n=aB(w.inside,!!this.options.stacking);if(r&&(v=at(r),s&&(v={x:t.plotWidth-v.y-v.height,y:t.plotHeight-v.x-v.width,width:v.height,height:v.width}),!n)){s?(v.x+=o?0:v.width,v.width=0):(v.y+=o?v.height:0,v.height=0)}w.align=aB(w.align,!s||n?"center":o?"right":"left");w.verticalAlign=aB(w.verticalAlign,s||n?"middle":o?"top":"bottom");a1.prototype.alignDataLabel.call(this,y,x,w,v,u)},animate:function(o){var n=this.yAxis,t=this.options,s=this.chart.inverted,r={};if(aR){o?(r.scaleY=0.001,o=bd(n.pos+n.len,ay(n.pos,n.toPixels(t.threshold))),s?r.translateX=o-n.len:r.translateY=o,this.group.attr(r)):(r.scaleY=1,r[s?"translateX":"translateY"]=n.pos,this.group.animate(r,this.options.animation),this.animate=null)}},remove:function(){var o=this,n=o.chart;n.hasRendered&&aC(n.series,function(r){if(r.type===o.type){r.isDirty=!0}});a1.prototype.remove.apply(o,arguments)}});aV.column=bg;aS.bar=at(aS.column);bC=bc(bg,{type:"bar",inverted:!0});aV.bar=bC;aS.scatter=at(aU,{lineWidth:0,tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>",followPointer:!0},stickyTracking:!1});bC=bc(a1,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],drawTracker:bg.prototype.drawTracker,setTooltipPoints:ah});aV.scatter=bC;aS.pie=at(aU,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});aU={type:"pie",isCartesian:!1,pointClass:bc(aP,{init:function(){aP.prototype.init.apply(this,arguments);var o=this,n;if(o.y<0){o.y=null}az(o,{visible:o.visible!==!1,name:aB(o.name,"Slice")});n=function(r){o.slice(r.type==="select")};a9(o,"select",n);a9(o,"unselect",n);return o},setVisible:function(o){var n=this,t=n.series,s=t.chart,r;n.visible=n.options.visible=o=o===au?!n.visible:o;t.options.data[k(n,t.data)]=n.options;r=o?"show":"hide";aC(["graphic","dataLabel","connector","shadowGroup"],function(u){if(n[u]){n[u][r]()}});n.legendItem&&s.legend.colorizeItem(n,o);if(!t.isDirty&&t.options.ignoreHiddenPoint){t.isDirty=!0,s.redraw()}},slice:function(o,n,s){var r=this.series;m(s,r.chart);aB(n,!0);this.sliced=this.options.sliced=o=aw(o)?o:!this.sliced;r.options.data[k(this,r.data)]=this.options;o=o?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(o);this.shadowGroup&&this.shadowGroup.animate(o)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:ah,animate:function(o){var n=this,s=n.points,r=n.startAngleRad;if(!o){aC(s,function(t){var u=t.graphic,t=t.shapeArgs;u&&(u.attr({r:n.center[3]/2,start:r,end:r}),u.animate({r:t.r,start:t.start,end:t.end},n.options.animation))}),n.animate=null}},setData:function(o,n){a1.prototype.setData.call(this,o,!1);this.processData();this.generatePoints();aB(n,!0)&&this.chart.redraw()},generatePoints:function(){var o,n=0,u,t,s,r=this.options.ignoreHiddenPoint;a1.prototype.generatePoints.call(this);u=this.points;t=u.length;for(o=0;o<t;o++){s=u[o],n+=r&&!s.visible?0:s.y}this.total=n;for(o=0;o<t;o++){s=u[o],s.percentage=n>0?s.y/n*100:0,s.total=n}},getCenter:function(){var o=this.options,n=this.chart,w=2*(o.slicedOffset||0),v,u=n.plotWidth-2*w,t=n.plotHeight-2*w,n=o.center,o=[aB(n[0],"50%"),aB(n[1],"50%"),o.size||"100%",o.innerSize||0],s=bd(u,t),r;return bJ(o,function(y,x){r=/%$/.test(y);v=x<2||x===2&&r;return(r?[u,t,s,s][x]*bn(y)/100:y)+(v?w:0)})},translate:function(J){this.generatePoints();var I=0,G=this.options,F=G.slicedOffset,D=F+G.borderWidth,C,z,y,x=G.startAngle||0,w=this.startAngleRad=bM/180*(x-90),x=(this.endAngleRad=bM/180*((G.endAngle||x+360)-90))-w,v=this.points,u=G.dataLabels.distance,G=G.ignoreHiddenPoint,t,s=v.length,r;if(!J){this.center=J=this.getCenter()}this.getX=function(n,o){y=a0.asin((n-J[1])/(J[2]/2+u));return J[0]+(o?-1:1)*aW(y)*(J[2]/2+u)};for(t=0;t<s;t++){r=v[t];C=w+I*x;if(!G||r.visible){I+=r.percentage/100}z=w+I*x;r.shapeType="arc";r.shapeArgs={x:J[0],y:J[1],r:J[2]/2,innerR:J[3]/2,start:ax(C*1000)/1000,end:ax(z*1000)/1000};y=(z+C)/2;y>0.75*x&&(y-=2*bM);r.slicedTranslation={translateX:ax(aW(y)*F),translateY:ax(aD(y)*F)};C=aW(y)*J[2]/2;z=aD(y)*J[2]/2;r.tooltipPos=[J[0]+C*0.7,J[1]+z*0.7];r.half=y<-bM/2||y>bM/2?1:0;r.angle=y;D=bd(D,u/2);r.labelPos=[J[0]+C+aW(y)*u,J[1]+z+aD(y)*u,J[0]+C+aW(y)*D,J[1]+z+aD(y)*D,J[0]+C,J[1]+z,u<0?"center":r.half?"right":"left",y]}},setTooltipPoints:ah,drawGraph:null,drawPoints:function(){var o=this,n=o.chart.renderer,v,u,t=o.options.shadow,s,r;if(t&&!o.shadowGroup){o.shadowGroup=n.g("shadow").add(o.group)}aC(o.points,function(w){u=w.graphic;r=w.shapeArgs;s=w.shadowGroup;if(t&&!s){s=w.shadowGroup=n.g("shadow").add(o.shadowGroup)}v=w.sliced?w.slicedTranslation:{translateX:0,translateY:0};s&&s.attr(v);u?u.animate(az(r,v)):w.graphic=u=n.arc(r).setRadialReference(o.center).attr(w.pointAttr[w.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(v).add(o.group).shadow(t,s);w.visible===!1&&w.setVisible(!1)})},sortByAngle:function(o,n){o.sort(function(r,s){return r.angle!==void 0&&(s.angle-r.angle)*n})},drawDataLabels:function(){var cd=this,cc=cd.data,cb,ca=cd.chart,b9=cd.options.dataLabels,b8=aB(b9.connectorPadding,10),b7=aB(b9.connectorWidth,1),b6=ca.plotWidth,ca=ca.plotHeight,b5,b4,b3=aB(b9.softConnector,!0),b2=b9.distance,b1=cd.center,b0=b1[2]/2,bZ=b1[1],X=b2>0,ab,T,V,R,aa=[[],[]],P,t,Y,S,bb,Z=[0,0,0,0],Q=function(u,r){return r.y-u.y};if(cd.visible&&(b9.enabled||cd._hasPointLabels)){a1.prototype.drawDataLabels.apply(cd);aC(cc,function(r){r.dataLabel&&aa[r.half].push(r)});for(S=0;!R&&cc[S];){R=cc[S]&&cc[S].dataLabel&&(cc[S].dataLabel.getBBox().height||21),S++}for(S=2;S--;){var cc=[],s=[],U=aa[S],N=U.length,W;cd.sortByAngle(U,S-0.5);if(b2>0){for(bb=bZ-b0-b2;bb<=bZ+b0+b2;bb+=R){cc.push(bb)}T=cc.length;if(N>T){cb=[].concat(U);cb.sort(Q);for(bb=N;bb--;){cb[bb].rank=bb}for(bb=N;bb--;){U[bb].rank>=T&&U.splice(bb,1)}N=U.length}for(bb=0;bb<N;bb++){cb=U[bb];V=cb.labelPos;cb=9999;var n,o;for(o=0;o<T;o++){n=a5(cc[o]-V[1]),n<cb&&(cb=n,W=o)}if(W<bb&&cc[bb]!==null){W=bb}else{for(T<N-bb+W&&cc[bb]!==null&&(W=T-N+bb);cc[W]===null;){W++}}s.push({i:W,y:cc[W]});cc[W]=null}s.sort(Q)}for(bb=0;bb<N;bb++){cb=U[bb];V=cb.labelPos;ab=cb.dataLabel;Y=cb.visible===!1?"hidden":"visible";cb=V[1];if(b2>0){if(T=s.pop(),W=T.i,t=T.y,cb>t&&cc[W+1]!==null||cb<t&&cc[W-1]!==null){t=cb}}else{t=cb}P=b9.justify?b1[0]+(S?-1:1)*(b0+b2):cd.getX(W===0||W===cc.length-1?cb:t,S);ab._attr={visibility:Y,align:V[6]};ab._pos={x:P+b9.x+({left:b8,right:-b8}[V[6]]||0),y:t+b9.y-10};ab.connX=P;ab.connY=t;if(this.options.size===null){T=ab.width,P-T<b8?Z[3]=ay(ax(T-P+b8),Z[3]):P+T>b6-b8&&(Z[1]=ay(ax(P+T-b6+b8),Z[1])),t-R/2<0?Z[0]=ay(ax(-t+R/2),Z[0]):t+R/2>ca&&(Z[2]=ay(ax(t+R/2-ca),Z[2]))}}}if(am(Z)===0||this.verifyDataLabelOverflow(Z)){this.placeDataLabels(),X&&b7&&aC(this.points,function(r){b5=r.connector;V=r.labelPos;if((ab=r.dataLabel)&&ab._pos){Y=ab._attr.visibility,P=ab.connX,t=ab.connY,b4=b3?["M",P+(V[6]==="left"?5:-5),t,"C",P,t,2*V[2]-V[4],2*V[3]-V[5],V[2],V[3],"L",V[4],V[5]]:["M",P+(V[6]==="left"?5:-5),t,"L",V[2],V[3],"L",V[4],V[5]],b5?(b5.animate({d:b4}),b5.attr("visibility",Y)):r.connector=b5=cd.chart.renderer.path(b4).attr({"stroke-width":b7,stroke:b9.connectorColor||r.color||"#606060",visibility:Y}).add(cd.group)}else{if(b5){r.connector=b5.destroy()}}})}}},verifyDataLabelOverflow:function(o){var n=this.center,u=this.options,t=u.center,s=u=u.minSize||80,r;t[0]!==null?s=ay(n[2]-ay(o[1],o[3]),u):(s=ay(n[2]-o[1]-o[3],u),n[0]+=(o[3]-o[1])/2);t[1]!==null?s=ay(bd(s,n[2]-ay(o[0],o[2])),u):(s=ay(bd(s,n[2]-o[0]-o[2]),u),n[1]+=(o[0]-o[2])/2);s<n[2]?(n[2]=s,this.translate(n),aC(this.points,function(v){if(v.dataLabel){v.dataLabel._pos=null}}),this.drawDataLabels()):r=!0;return r},placeDataLabels:function(){aC(this.points,function(o){var o=o.dataLabel,n;if(o){(n=o._pos)?(o.attr(o._attr),o[o.moved?"animate":"attr"](n),o.moved=!0):o&&o.attr({y:-999})}})},alignDataLabel:ah,drawTracker:bg.prototype.drawTracker,drawLegendSymbol:bf.prototype.drawLegendSymbol,getSymbol:ah};aU=bc(a1,aU);aV.pie=aU;az(Highcharts,{Axis:L,Chart:bK,Color:bW,Legend:e,Pointer:a,Point:aP,Tick:bY,Tooltip:p,Renderer:aT,Series:a1,SVGElement:A,SVGRenderer:bE,arrayMin:aL,arrayMax:am,charts:bU,dateFormat:H,format:be,pathAnim:bQ,getOptions:function(){return a6},hasBidiBug:bs,isTouchDevice:bp,numberFormat:bS,seriesTypes:aV,setOptions:function(n){a6=at(a6,n);l();return a6},addEvent:a9,removeEvent:bw,createElement:aX,discardElement:bN,css:a7,each:aC,extend:az,map:bJ,merge:at,pick:aB,splat:ae,extendClass:bc,pInt:bn,wrap:bB,svg:aR,canvas:bF,vml:!aR&&!bF,product:"Highcharts",version:"3.0.6"})})();