u?this.maxItemWidth:a.itemWidth;e&&this.itemX-c+b>u&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=m+this.lastLineHeight+g),this.lastLineHeight=0);this.lastItemY=m+this.itemY+g;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=m+f+g,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-c-(a.checkbox?0:k):b)+c,this.offsetWidth)},
-getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&r(c.showInLegend,k(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});g(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,c){var b=this.chart,e=this.options,f=this.getAlignment(),
-g=void 0!==b.options.title.margin?b.titleOffset+b.options.title.margin:0;f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(m,n){m.test(f)&&!k(a[n])&&(b[v[n]]=Math.max(b[v[n]],b.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*e[n%2?"x":"y"]+r(e.margin,12)+c[n]+(0===n&&(0===b.titleOffset?0:g))))})},proximatePositions:function(){var b=this.chart,c=[],e="left"===this.options.align;this.allItems.forEach(function(f){var g=e;if(f.yAxis&&f.points){f.xAxis.options.reversed&&
-(g=!g);var m=a.find(g?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)});g=f.legendGroup.getBBox().height;var n=f.yAxis.top-b.plotTop;f.visible?(m=m?m.plotY:f.yAxis.height,m+=n-.3*g):m=n+f.yAxis.height;c.push({target:m,size:g,item:f})}},this);a.distribute(c,b.plotHeight);c.forEach(function(a){a.item._legendItemPos[1]=b.plotTop-b.spacing[0]+a.pos})},render:function(){var b=this.chart,e=b.renderer,f=this.group,m,k=this.box,r=this.options,A=this.padding;this.itemX=A;this.itemY=
-this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(r.width,b.spacingBox.width-A);var p=b.spacingBox.width-2*A-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(p/=2);this.maxLegendWidth=this.widthOption||p;f||(this.group=f=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(f),this.scrollGroup=e.g().add(this.contentGroup));this.renderTitle();p=this.getAllItems();c(p,function(a,b){return(a.options&&a.options.legendIndex||
-0)-(b.options&&b.options.legendIndex||0)});r.reversed&&p.reverse();this.allItems=p;this.display=m=!!p.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;p.forEach(this.renderItem,this);p.forEach(this.layoutItem,this);p=(this.widthOption||this.offsetWidth)+A;var u=this.lastItemY+this.lastLineHeight+this.titleHeight;u=this.handleOverflow(u);u+=A;k||(this.box=k=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(f),k.isNew=!0);b.styledMode||k.attr({stroke:r.borderColor,
-"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow);0g&&!1!==w.enabled?(this.clipHeight=u=Math.max(g-20-this.titleHeight-m,0),this.currentPage=r(this.currentPage,1),this.fullHeight=a,p.forEach(function(a,b){var d=a._legendItemPos[1],c=Math.round(a.legendItem.getBBox().height),
-e=h.length;if(!e||d-h[e-1]>u&&(x||d)!==h[e-1])h.push(x||d),e++;a.pageIx=e-1;x&&(p[b-1].pageIx=e-1);b===p.length-1&&d+c-h[e-1]>u&&d!==x&&(h.push(d),a.pageIx=e);d!==x&&(x=d)}),d||(d=b.clipRect=e.clipRect(0,m,9999,0),b.contentGroup.clip(d)),v(u),H||(this.nav=H=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,G,G).add(H),K("upTracker").on("click",function(){b.scroll(-1,q)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(w.style),
-this.pager.add(H),this.down=e.symbol("triangle-down",0,0,G,G).add(H),K("downTracker").on("click",function(){b.scroll(1,q)})),b.scroll(0),a=g):H&&(v(),this.nav=H.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,e=b.length,g=this.currentPage+a,m=this.clipHeight,n=this.options.navigation,k=this.pager,u=this.padding;g>e&&(g=e);0k&&(b=typeof c[0],"string"===b?e.name=c[0]:"number"===b&&(e.x=c[0]),r++);t=f.value;)f=c[++b];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?f.color:this.nonZonedColor;return f},destroy:function(){var a=this.series.chart,f=a.hoverPoints,b;a.pointCount--;f&&(this.setState(),C(f,this),f.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)c(this),this.destroyElements();
-this.legendItem&&a.legend.destroyItem(this);for(b in this)this[b]=null},destroyElements:function(a){var c=this,b=[],e;a=a||{graphic:1,dataLabel:1};a.graphic&&b.push("graphic","shadowGroup");a.dataLabel&&b.push("dataLabel","dataLabelUpper","connector");for(e=b.length;e--;){var f=b[e];c[f]&&(c[f]=c[f].destroy())}["dataLabel","connector"].forEach(function(b){var e=b+"s";a[b]&&c[e]&&(c[e].forEach(function(a){a.element&&a.destroy()}),delete c[e])})},getLabelConfig:function(){return{x:this.category,y:this.y,
-color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,b=c.tooltipOptions,e=t(b.valueDecimals,""),f=b.valuePrefix||"",k=b.valueSuffix||"";c.chart.styledMode&&(a=c.chart.tooltip.styledModeFormat(a));(c.pointArrayMap||["y"]).forEach(function(b){b="{point."+b;if(f||k)a=a.replace(RegExp(b+"}","g"),f+b+"}"+k);a=a.replace(RegExp(b+"}","g"),b+":,."+
-e+"f}")});return g(a,{point:this,series:this.series},c.chart.time)},firePointEvent:function(a,c,b){var e=this,f=this.series.options;(f.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&f.allowPointSelect&&(b=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});k(this,a,c,b)},visible:!0}});L(I,"v7.1.2/js/parts/Series.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.animObject,C=a.arrayMax,k=a.arrayMin,g=a.correctFloat,
-p=a.defaultOptions,v=a.defaultPlotOptions,t=a.defined,r=a.erase,f=a.extend,c=a.fireEvent,e=a.isArray,m=a.isNumber,b=a.isString,n=a.merge,l=a.objectEach,y=a.pick,D=a.removeEvent,N=a.splat,A=a.SVGElement,E=a.syncTimeout,u=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},
-select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},
-inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(b,e){c(this,"init",{options:e});var d=this,g=b.series,m;d.chart=b;d.options=e=d.setOptions(e);d.linkedSeries=[];d.bindAxes();f(d,{name:e.name,state:"",visible:!1!==e.visible,selected:!0===e.selected});var h=
-e.events;l(h,function(b,c){!a.isFunction(b)||d.hcEvents&&d.hcEvents[c]&&d.hcEvents[c].some(function(a){return a.fn===b})||B(d,c,b)});if(h&&h.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)b.runTrackerClick=!0;d.getColor();d.getSymbol();d.parallelArrays.forEach(function(a){d[a+"Data"]||(d[a+"Data"]=[])});d.points||d.setData(e.data,!1);d.isCartesian&&(b.hasCartesianSeries=!0);g.length&&(m=g[g.length-1]);d._i=y(m&&m._i,-1)+1;b.orderSeries(this.insert(g));c(this,"afterInit")},
-insert:function(a){var b=this.options.index,d;if(m(b)){for(d=a.length;d--;)if(b>=y(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return y(d,a.length-1)},bindAxes:function(){var b=this,e=b.options,q=b.chart,f;c(this,"bindAxes",null,function(){(b.axisTypes||[]).forEach(function(d){q[d].forEach(function(a){f=a.options;if(e[d]===f.index||void 0!==e[d]&&e[d]===f.id||void 0===e[d]&&0===f.index)b.insert(a.series),b[d]=a,a.isDirty=!0});b[d]||b.optionalAxis===
-d||a.error(18,!0,q)})})},updateParallelArrays:function(a,b){var d=a.series,c=arguments,e=m(b)?function(c){var e="y"===c&&d.toYData?d.toYData(a):a[c];d[c+"Data"][b]=e}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(c,2))};d.parallelArrays.forEach(e)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0=this.cropStart?f-this.cropStart:f);!h&&e[f]&&e[f].touched&&(f=void 0);return f},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var d=this.options,c=this.points,e=[],f,h,g,k=this.requireSorting,u=b.length===c.length,
-n=!0;this.xIncrement=null;b.forEach(function(b,h){var q=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};var w=q.x;if(q.id||m(w))if(w=this.findPointIndex(q,g),-1===w||void 0===w?e.push(b):c[w]&&b!==d.data[w]?(c[w].update(b,!1,null,!1),c[w].touched=!0,k&&(g=w+1)):c[w]&&(c[w].touched=!0),!u||h!==w||this.hasDerivedData)f=!0},this);if(f)for(b=c.length;b--;)(h=c[b])&&!h.touched&&h.remove(!1);else u?b.forEach(function(a,b){c[b].update&&a!==c[b].y&&c[b].update(a,!1,null,
-!1)}):n=!1;c.forEach(function(a){a&&(a.touched=!1)});if(!n)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(d,c,f,g){var q=this,h=q.points,w=h&&h.length||0,u,k=q.options,n=q.chart,l=null,G=q.xAxis,r=k.turboThreshold,p=this.xData,A=this.yData,v=(u=q.pointArrayMap)&&u.length,t=k.keys,D=0,E=1,C;d=d||[];u=d.length;c=y(c,!0);!1!==g&&u&&w&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.isSeriesBoosting&&(C=this.updateData(d));if(!C){q.xIncrement=null;q.colorCounter=
-0;this.parallelArrays.forEach(function(a){q[a+"Data"].length=0});if(r&&u>r){for(f=0;null===l&&fm||this.forceCrop))if(d[e-1]p)d=[],c=[];else if(this.yData&&(d[0]p)){f=this.cropData(this.xData,this.yData,r,p);d=f.xData;c=f.yData;f=f.start;var A=!0}for(m=d.length||1;--m;)if(e=n?g(d[m])-g(d[m-1]):d[m]-d[m-1],0e&&l&&(a.error(15,!1,this.chart),l=!1);this.cropped=A;this.cropStart=
-f;this.processedXData=d;this.processedYData=c;this.closestPointRange=y},cropData:function(a,b,c,e,f){var d=a.length,q=0,g=d,m;f=y(f,this.cropShoulder);for(m=0;m=c){q=Math.max(0,m-f);break}for(c=m;ce){g=c+f;break}return{xData:a.slice(q,g),yData:b.slice(q,g),start:q,end:g}},generatePoints:function(){var a=this.options,b=a.data,e=this.data,g,m=this.processedXData,h=this.processedYData,u=this.pointClass,k=m.length,l=this.cropStart||0,n=this.hasGroupedData;a=a.keys;var r=
-[],p;e||n||(e=[],e.length=b.length,e=this.data=e);a&&n&&(this.options.keys=!1);for(p=0;p=u&&(d[r-l]||p)<=n;if(y&&p)if(y=A.length)for(;y--;)"number"===typeof A[y]&&(f[g++]=A[y]);else f[g++]=A}this.dataMin=k(f);this.dataMax=C(f);c(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,f=this.xAxis,u=f.categories,k=this.yAxis,h=this.points,n=h.length,l=!!this.modifyValue,r,p=this.pointPlacementToXValue(),A=m(p),v=a.threshold,z=a.startFromThreshold?v:0,D,E=this.zoneAxis||"y",C=Number.MAX_VALUE;
-for(r=0;r=F&&(B.isNull=!0);B.plotX=D=g(Math.min(Math.max(-1E5,f.translate(N,0,0,0,1,p,"flags"===this.type)),1E5));if(b&&this.visible&&!B.isNull&&L&&L[N]){var V=this.getStackIndicator(V,N,this.index);var P=L[N];var W=P.points[V.key]}e(W)&&(I=W[0],F=W[1],I===z&&V.key===L[N].base&&(I=y(m(v)&&v,k.min)),k.positiveValuesOnly&&0>=I&&(I=null),B.total=B.stackTotal=
-P.total,B.percentage=P.total&&B.y/P.total*100,B.stackY=F,P.setOffset(this.pointXOffset||0,this.barW||0));B.yBottom=t(I)?Math.min(Math.max(-1E5,k.translate(I,0,1,0,1)),1E5):null;l&&(F=this.modifyValue(F,B));B.plotY=F="number"===typeof F&&Infinity!==F?Math.min(Math.max(-1E5,k.translate(F,0,1,0,1)),1E5):void 0;B.isInside=void 0!==F&&0<=F&&F<=k.len&&0<=D&&D<=f.len;B.clientX=A?g(f.translate(N,0,0,0,1,p)):D;B.negative=B[E]<(a[E+"Threshold"]||v||0);B.category=u&&void 0!==u[B.x]?u[B.x]:B.x;if(!B.isNull){void 0!==
-X&&(C=Math.min(C,Math.abs(D-X)));var X=D}B.zone=this.zones.length&&B.getZone()}this.closestPointRangePx=C;c(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:c||!a.isNull})},getClipBox:function(a,b){var d=this.options,c=this.chart,e=c.inverted,h=this.xAxis,f=h&&this.yAxis;a&&!1===d.clip&&f?d=e?{y:-c.chartWidth+f.len+f.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+
-h.len+h.pos}:{y:-f.pos,height:c.chartHeight,width:c.chartWidth,x:-h.pos}:(d=this.clipBox||c.clipBox,b&&(d.width=c.plotSizeX,d.x=0));return b?{width:d.width,x:d.x}:d},setClip:function(a){var b=this.chart,d=this.options,c=b.renderer,e=b.inverted,h=this.clipBox,f=this.getClipBox(a),g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,d.xAxis,d.yAxis].join(),m=b[g],u=b[g+"m"];m||(a&&(f.width=0,e&&(f.x=b.plotSizeX+(!1!==d.clip?0:b.plotTop)),b[g+"m"]=u=c.clipRect(e?b.plotSizeX+99:-99,
-e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[g]=m=c.clipRect(f),m.count={length:0});a&&!m.count[this.index]&&(m.count[this.index]=!0,m.count.length+=1);if(!1!==d.clip||a)this.group.clip(a||h?m:b.clipRect),this.markerGroup.clip(u),this.sharedClipKey=g;a||(m.count[this.index]&&(delete m.count[this.index],--m.count.length),0===m.count.length&&g&&b[g]&&(h||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,d=F(this.options.animation);
-if(a)this.setClip(d);else{var c=this.sharedClipKey;a=b[c];var e=this.getClipBox(d,!0);a&&a.animate(e,d);b[c+"m"]&&b[c+"m"].animate({width:e.width+99,x:e.x-(b.inverted?0:99)},d);this.animate=null}},afterAnimate:function(){this.setClip();c(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e=this.options.marker,f=this[this.specialGroup]||this.markerGroup;var h=this.xAxis;var g=y(e.enabled,!h||h.isRadial?!0:null,this.closestPointRangePx>=e.enabledThreshold*
-e.radius);if(!1!==e.enabled||this._hasPointMarkers)for(h=0;hf&&b.shadow));g&&(g.startX=c.xMap,g.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,d){var c=["zone-graph-"+d,"highcharts-graph highcharts-zone-graph-"+d+" "+
-(b.className||"")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,e=this.zones,f,h,g=this.clips||[],m,u=this.graph,k=this.area,l=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],r=b.inverted,p,A,v,t=!1;if(e.length&&(u||k)&&n&&void 0!==n.min){var D=n.reversed;var E=n.horiz;u&&!this.showLine&&u.hide();k&&k.hide();var B=n.getExtremes();e.forEach(function(d,
-e){f=D?E?b.plotWidth:0:E?0:n.toPixels(B.min)||0;f=Math.min(Math.max(y(h,f),0),l);h=Math.min(Math.max(Math.round(n.toPixels(y(d.value,B.max),!0)||0),0),l);t&&(f=h=n.toPixels(B.max));p=Math.abs(f-h);A=Math.min(f,h);v=Math.max(f,h);n.isXAxis?(m={x:r?v:A,y:0,width:p,height:l},E||(m.x=b.plotHeight-m.x)):(m={x:0,y:r?v:A,width:l,height:p},E&&(m.y=b.plotWidth-m.y));r&&c.isVML&&(m=n.isXAxis?{x:0,y:D?A:v,height:m.width,width:b.chartWidth}:{x:m.y-b.plotLeft-b.spacingBox.x,y:0,width:m.height,height:b.chartHeight});
-g[e]?g[e].animate(m):g[e]=c.clipRect(m);u&&a["zone-graph-"+e].clip(g[e]);k&&a["zone-area-"+e].clip(g[e]);t=d.value>B.max;a.resetZones&&0===h&&(h=void 0)});this.clips=g}else a.visible&&(u&&u.show(!0),k&&k.show(!0))},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){d[b]&&(c.renderer.isVML&&d[b].attr({width:d.yAxis.len,height:d.xAxis.len}),d[b].width=d.yAxis.len,d[b].height=d.xAxis.len,d[b].invert(a))})}var d=this,c=d.chart;if(d.xAxis){var e=B(c,"resize",b);B(d,"destroy",
-e);b(a);d.invertGroups=b}},plotGroup:function(a,b,c,e,f){var d=this[a],g=!d;g&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(f));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,
-b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,e=a.options,f=!!a.animate&&b.renderer.isSVG&&F(e.animation).duration,g=a.visible?"inherit":"hidden",h=e.zIndex,m=a.hasRendered,u=b.seriesGroup,k=b.inverted;c(this,"render");var n=a.plotGroup("group","series",g,h,u);a.markerGroup=a.plotGroup("markerGroup","markers",g,h,u);f&&a.animate(!0);n.inverted=a.isCartesian||a.invertable?
-k:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(k);!1===e.clip||a.sharedClipKey||m||n.clip(b.clipRect);f&&a.animate();m||(a.animationTimeout=E(function(){a.afterAnimate()},f));a.isDirty=!1;a.hasRendered=!0;c(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,e=this.xAxis,f=
-this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:y(e&&e.left,a.plotLeft),translateY:y(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var d=this.xAxis,c=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?c.len-a.chartX+c.pos:a.chartY-c.pos},b,a)},buildKDTree:function(a){function b(a,d,e){var f;if(f=a&&a.length){var h=
-c.kdAxisArray[d%e];a.sort(function(a,b){return a[h]-b[h]});f=Math.floor(f/2);return{point:a[f],left:b(a.slice(0,f),d+1,e),right:b(a.slice(f+1),d+1,e)}}}this.buildingKdTree=!0;var c=this,d=-1u?"left":"right";n=0>u?"right":"left";b[l]&&(l=d(a,b[l],c+1,h),k=l[m]r;)p--;this.updateParallelArrays(w,"splice",p,0,0);this.updateParallelArrays(w,p);k&&w.name&&(k[r]=w.name);q.splice(p,0,a);n&&(this.data.splice(p,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(w,"shift"),q.shift()));!1!==g&&f(this,"addPoint",{point:w});this.isDirtyData=this.isDirty=!0;b&&m.redraw(e)},removePoint:function(a,b,c){var d=
-this,e=d.data,f=e[a],h=d.points,g=d.chart,m=function(){h&&h.length===e.length&&h.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&g.redraw()};A(c,g);b=l(b,!0);f?f.firePointEvent("remove",null,m):m()},remove:function(a,b,c,e){function d(){g.destroy(e);g.remove=null;h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries();l(a,!0)&&h.redraw(b)}var g=this,h=g.chart;!1!==c?f(g,"remove",null,d):d()},update:function(c,
-d){c=a.cleanRecursively(c,this.userOptions);f(this,"update",{options:c});var e=this,g=e.chart,m=e.userOptions,k=e.initialType||e.type,h=c.type||m.type||g.options.chart.type,n=!(this.hasDerivedData||c.dataGrouping||h&&h!==this.type||void 0!==c.pointStart||c.pointInterval||c.pointIntervalUnit||c.keys),u=N[k].prototype,p,A=["group","markerGroup","dataLabelsGroup","transformGroup"],y=["navigatorSeries","baseSeries"],v=e.finishedAnimating&&{animation:!1},t={};n&&(y.push("data","isDirtyData","points","processedXData",
-"processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==c.visible&&y.push("area","graph"),e.parallelArrays.forEach(function(a){y.push(a+"Data")}),c.data&&this.setData(c.data,!1));c=b(m,v,{index:void 0===m.index?e.index:m.index,pointStart:l(m.pointStart,e.xData[0])},!n&&{data:e.options.data},c);y=A.concat(y);y.forEach(function(a){y[a]=e[a];delete e[a]});e.remove(!1,null,!1,!0);for(p in u)e[p]=void 0;N[h||k]?r(e,N[h||k].prototype):a.error(17,
-!0,g);y.forEach(function(a){e[a]=y[a]});e.init(g,c);if(n&&this.points){var D=e.options;!1===D.visible?(t.graphic=1,t.dataLabel=1):(D.marker&&!1===D.marker.enabled&&!e._hasPointMarkers&&(t.graphic=1),D.dataLabels&&!1===D.dataLabels.enabled&&!e._hasPointLabels&&(t.dataLabel=1));this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(t).length&&a.destroyElements(t),!1===D.showInLegend&&a.legendItem&&g.legend.destroyItem(a))},this)}c.zIndex!==m.zIndex&&A.forEach(function(a){e[a]&&e[a].attr({zIndex:c.zIndex})});
-e.initialType=k;g.linkSeries();f(this,"afterUpdate");l(d,!0)&&g.redraw(n?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});r(C.prototype,{update:function(a,c){var d=this.chart,e=a&&a.events||{};a=b(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=a);n(d.options[this.coll].events,function(a,b){"undefined"===typeof e[b]&&(e[b]=void 0)});this.destroy(!0);this.init(d,
-r(a,{events:e}));d.isDirtyBox=!0;l(c,!0)&&d.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);t(b.axes,this);t(b[c],this);m(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];b[c].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;l(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});L(I,"v7.1.2/js/parts/AreaSeries.js",
-[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.color,F=a.pick,C=a.Series,k=a.seriesType;k("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var k=[],v=[],t=this.xAxis,r=this.yAxis,f=r.stacks[this.stackKey],c={},e=this.index,m=r.series,b=m.length,n=F(r.options.reversedStacks,!0)?1:-1,l;g=g||this.points;if(this.options.stacking){for(l=0;la&&c>p?(c=Math.max(a,p),e=2*p-c):ck&&e>p?(e=Math.max(k,p),c=2*p-e):e=Math.abs(e)&&.5a.closestPointRange*a.xAxis.transA;b=a.borderWidth=v(f.borderWidth,b?0:1);var g=a.yAxis,l=f.threshold,p=a.translatedThreshold=g.getThreshold(l),r=v(f.minPointLength,5),B=a.getColumnMetrics(),A=B.width,E=a.barW=Math.max(A,1+2*b),u=a.pointXOffset=B.offset,d=a.dataMin,w=a.dataMax;e.inverted&&
-(p-=.5);f.pointPadding&&(E=Math.ceil(E));t.prototype.translate.apply(a);a.points.forEach(function(b){var c=v(b.yBottom,p),f=999+Math.abs(c),h=A;f=Math.min(Math.max(-f,b.plotY),g.len+f);var m=b.plotX+u,q=E,n=Math.min(f,c),y=Math.max(f,c)-n;if(r&&Math.abs(y)r?c-r:p-(t?r:0)}k(b.options.pointWidth)&&(h=q=Math.ceil(b.options.pointWidth),m-=Math.round((h-A)/2));b.barX=m;b.pointWidth=
-h;b.tooltipPos=e.inverted?[g.len+g.pos-e.plotLeft-f,a.xAxis.len-m-q/2,y]:[m+q/2,f+g.pos-e.plotTop,y];b.shapeType=a.pointClass.prototype.shapeType||"rect";b.shapeArgs=a.crispCol.apply(a,b.isNull?[m,p,q,0]:[m,n,q,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,e){var c=this.options,b=this.pointAttrToOptions||{};var f=b.stroke||"borderColor";var g=b["stroke-width"]||
-"borderWidth",k=a&&a.color||this.color,r=a&&a[f]||c[f]||this.color||k,t=a&&a[g]||c[g]||this[g]||0;b=a&&a.dashStyle||c.dashStyle;var A=v(c.opacity,1);if(a&&this.zones.length){var E=a.getZone();k=a.options.color||E&&E.color||this.color;E&&(r=E.borderColor||r,b=E.dashStyle||b,t=E.borderWidth||t)}e&&(c=p(c.states[e],a.options.states&&a.options.states[e]||{}),E=c.brightness,k=c.color||void 0!==E&&F(k).brighten(c.brightness).get()||k,r=c[f]||r,t=c[g]||t,b=c.dashStyle||b,A=v(c.opacity,A));f={fill:k,stroke:r,
-"stroke-width":t,opacity:A};b&&(f.dashstyle=b);return f},drawPoints:function(){var a=this,e=this.chart,f=a.options,b=e.renderer,k=f.animationLimit||250,l;a.points.forEach(function(c){var m=c.graphic,n=m&&e.pointCountc;++c){var e=r[c];a=2>c||2===c&&/%$/.test(e);r[c]=k(e,[t,p,f,r[2]][c])+(a?v:0)}r[3]>r[2]&&(r[3]=r[2]);return r},getStartAndEndRadians:function(a,k){var g=F(a)?a:0,p=F(k)&&k>g&&360>k-g?k:g+360;return{start:B*(g+-90),end:B*(p+-90)}}}});L(I,"v7.1.2/js/parts/PieSeries.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.CenteredSeriesMixin,C=a.defined,k=F.getStartAndEndRadians,g=a.merge,
-p=a.noop,v=a.pick,t=a.Point,r=a.Series,f=a.seriesType,c=a.setAnimation;f("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},
-borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,b=c.points,e=c.startAngleRad;a||(b.forEach(function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:e,end:e}),b.animate({r:f.r,start:f.start,end:f.end},c.options.animation))}),c.animate=null)},
-hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,c=0,b=this.points,f=b.length,g=this.options.ignoreHiddenPoint;for(a=0;a1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);d.slicedTranslation={translateX:Math.round(Math.cos(q)*f),translateY:Math.round(Math.sin(q)*
-f)};var G=Math.cos(q)*c[2]/2;var H=Math.sin(q)*c[2]/2;d.tooltipPos=[c[0]+.7*G,c[1]+.7*H];d.half=q<-Math.PI/2||q>Math.PI/2?1:0;d.angle=q;w=Math.min(g,d.labelDistance/5);d.labelPosition={natural:{x:c[0]+G+Math.cos(q)*d.labelDistance,y:c[1]+H+Math.sin(q)*d.labelDistance},"final":{},alignment:0>d.labelDistance?"center":d.half?"right":"left",connectorPosition:{breakAt:{x:c[0]+G+Math.cos(q)*w,y:c[1]+H+Math.sin(q)*w},touchingSliceAt:{x:c[0]+G,y:c[1]+H}}}}},drawGraph:null,redrawPoints:function(){var a=this,
-c=a.chart,b=c.renderer,f,k,r,p,t=a.options.shadow;!t||a.shadowGroup||c.styledMode||(a.shadowGroup=b.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(e){var m={};k=e.graphic;if(!e.isNull&&k){p=e.shapeArgs;f=e.getTranslate();if(!c.styledMode){var l=e.shadowGroup;t&&!l&&(l=e.shadowGroup=b.g("shadow").add(a.shadowGroup));l&&l.attr(f);r=a.pointAttribs(e,e.selected&&"select")}e.delayedRendering?(k.setRadialReference(a.center).attr(p).attr(f),c.styledMode||k.attr(r).attr({"stroke-linejoin":"round"}).shadow(t,
-l),e.delayedRendering=!1):(k.setRadialReference(a.center),c.styledMode||g(!0,m,r),g(!0,m,p,f),k.animate(m));k.attr({visibility:e.visible?"inherit":"hidden"});k.addClass(e.getClassName())}else k&&(e.graphic=k.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})},searchPoint:p,sortByAngle:function(a,c){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*
-c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:F.getCenter,getSymbol:p},{init:function(){t.prototype.init.apply(this,arguments);var a=this;a.name=v(a.name,"Slice");var c=function(b){a.slice("select"===b.type)};B(a,"select",c);B(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var b=this,e=b.series,f=e.chart,g=e.options.ignoreHiddenPoint;c=v(c,g);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,e.options.data[e.data.indexOf(b)]=
-b.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&f.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),g&&(e.isDirty=!0),c&&f.redraw())},slice:function(a,f,b){var e=this.series;c(b,e.chart);v(f,!0);this.sliced=this.options.sliced=C(a)?a:!this.sliced;e.options.data[e.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?
-this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r-1,start:c.start,end:c.end})},connectorShapes:{fixedOffset:function(a,c,b){var e=c.breakAt;c=c.touchingSliceAt;return["M",a.x,a.y].concat(b.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*e.x-c.x,2*e.y-c.y,e.x,e.y]:["L",e.x,e.y]).concat(["L",c.x,c.y])},straight:function(a,c){var b=
-c.touchingSliceAt;return["M",a.x,a.y,"L",b.x,b.y]},crookedLine:function(c,f,b){f=f.touchingSliceAt;var e=this.series,g=e.center[0],k=e.chart.plotWidth,m=e.chart.plotLeft;e=c.alignment;var r=this.shapeArgs.r;b=a.relativeLength(b.crookDistance,1);b="left"===e?g+r+(k+m-g-r)*(1-b):m+(g-r)*b;g=["L",b,c.y];if("left"===e?b>c.x||bf.x)g=[];return["M",c.x,c.y].concat(g).concat(["L",f.x,f.y])}},getConnectorPath:function(){var a=this.labelPosition,c=this.series.options.dataLabels,b=c.connectorShape,
-f=this.connectorShapes;f[b]&&(b=f[b]);return b.call(this,{x:a["final"].x,y:a["final"].y,alignment:a.alignment},a.connectorPosition,c)}})});L(I,"v7.1.2/js/parts/PlotLineOrBand.js",[I["v7.1.2/js/parts/Globals.js"],I["v7.1.2/js/parts/Axis.js"]],function(a,B){var F=a.arrayMax,C=a.arrayMin,k=a.defined,g=a.destroyObjectProperties,p=a.erase,v=a.merge,t=a.pick;a.PlotLineOrBand=function(a,f){this.axis=a;f&&(this.options=f,this.id=f.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");
-var g=this,f=g.axis,c=f.horiz,e=g.options,m=e.label,b=g.label,n=e.to,l=e.from,p=e.value,D=k(l)&&k(n),B=k(p),A=g.svgElem,E=!A,u=[],d=e.color,w=t(e.zIndex,0),q=e.events;u={"class":"highcharts-plot-"+(D?"band ":"line ")+(e.className||"")};var G={},H=f.chart.renderer,h=D?"bands":"lines";f.isLog&&(l=f.log2lin(l),n=f.log2lin(n),p=f.log2lin(p));f.chart.styledMode||(B?(u.stroke=d,u["stroke-width"]=e.width,e.dashStyle&&(u.dashstyle=e.dashStyle)):D&&(d&&(u.fill=d),e.borderWidth&&(u.stroke=e.borderColor,u["stroke-width"]=
-e.borderWidth)));G.zIndex=w;h+="-"+w;(d=f.plotLinesAndBandsGroups[h])||(f.plotLinesAndBandsGroups[h]=d=H.g("plot-"+h).attr(G).add());E&&(g.svgElem=A=H.path().attr(u).add(d));if(B)u=f.getPlotLinePath({value:p,lineWidth:A.strokeWidth(),acrossPanes:e.acrossPanes});else if(D)u=f.getPlotBandPath(l,n,e);else return;(E||!A.d)&&u&&u.length?(A.attr({d:u}),q&&a.objectEach(q,function(a,b){A.on(b,function(a){q[b].apply(g,[a])})})):A&&(u?(A.show(!0),A.animate({d:u})):A.d&&(A.hide(),b&&(g.label=b=b.destroy())));
-m&&k(m.text)&&u&&u.length&&0this.max&&f>this.max;if(e&&c){if(l){var p=e.toString()===c.toString();k=0}for(l=0;l=f&&
-m<=l||q||!a.defined(m))u=!0;d[q?"zoomX":"zoomY"]&&u&&(g=c.zoom(b.min,b.max),c.displayBtn&&(k=!0))});var l=e.resetZoomButton;k&&!l?e.showResetZoom():!k&&f(l)&&(e.resetZoomButton=l.destroy());g&&e.redraw(b(e.options.chart.animation,c&&c.animation,100>e.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;t(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"];d=
-d?"mouseDownX":"mouseDownY";var g=c[d],k=(b.pointRange||0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),q=b.toValue(g-f,!0)+k*m;m=b.toValue(g+b.len-f,!0)-k*m;var n=m\u25cf