/*
 Highcharts JS v5.0.12 (2017-05-24)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(v){"object"===typeof module&&module.exports?module.exports=v:v(Highcharts)})(function(v){(function(a){function n(a,c){this.init(a,c)}var r=a.CenteredSeriesMixin,u=a.each,h=a.extend,f=a.merge,k=a.splat;h(n.prototype,{coll:"pane",init:function(a,c){this.chart=c;this.background=[];c.pane.push(this);this.setOptions(a)},setOptions:function(a){this.options=f(this.defaultOptions,this.chart.angular?{background:{}}:void 0,a)},render:function(){var a=this.options,c=this.options.background,e=this.chart.renderer;
this.group||(this.group=e.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(c)for(c=k(c),a=Math.max(c.length,this.background.length||0),e=0;e<a;e++)c[e]&&this.axis?this.renderBackground(f(this.defaultBackgroundOptions,c[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))},renderBackground:function(a,c){var e="animate";this.background[c]||(this.background[c]=this.chart.renderer.path().add(this.group),e="attr");this.background[c][e]({d:this.axis.getPlotBandPath(a.from,
a.to,a)}).attr({"class":"highcharts-pane "+(a.className||"")})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=r.getCenter.call(this)},update:function(a,c){f(!0,this.options,a);this.setOptions(this.options);this.render();u(this.chart.axes,function(e){e.pane===this&&(e.pane=null,e.update({},c))},this)}});
a.Pane=n})(v);(function(a){var n=a.each,r=a.extend,u=a.map,h=a.merge,f=a.noop,k=a.pick,p=a.pInt,c=a.wrap,e,g,l=a.Axis.prototype;a=a.Tick.prototype;e={getOffset:f,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:f,setCategories:f,setTitle:f};g={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},
zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(b){b=this.options=h(this.defaultOptions,this.defaultRadialOptions,b);b.plotBands||(b.plotBands=[])},getOffset:function(){l.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(b,
d){b=this.center;var c=this.chart,e=k(d,b[2]/2-this.offset);this.isCircular||void 0!==d?d=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],e,e,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(d=this.postTranslate(this.angleRad,e),d=["M",b[0]+c.plotLeft,b[1]+c.plotTop,"L",d.x,d.y]);return d},setAxisTranslation:function(){l.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/
2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===k(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){l.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=
this.height=this.center[2]*k(this.sector,1)/2)},getPosition:function(b,d){return this.postTranslate(this.isCircular?this.translate(b):this.angleRad,k(this.isCircular?d:this.translate(b),this.center[2]/2)-this.offset)},postTranslate:function(b,d){var c=this.chart,e=this.center;b=this.startAngleRad+b;return{x:c.plotLeft+e[0]+Math.cos(b)*d,y:c.plotTop+e[1]+Math.sin(b)*d}},getPlotBandPath:function(b,d,c){var e=this.center,q=this.startAngleRad,a=e[2]/2,g=[k(c.outerRadius,"100%"),c.innerRadius,k(c.thickness,
10)],l=Math.min(this.offset,0),f=/%$/,y,h=this.isCircular;"polygon"===this.options.gridLineInterpolation?e=this.getPlotLinePath(b).concat(this.getPlotLinePath(d,!0)):(b=Math.max(b,this.min),d=Math.min(d,this.max),h||(g[0]=this.translate(b),g[1]=this.translate(d)),g=u(g,function(b){f.test(b)&&(b=p(b,10)*a/100);return b}),"circle"!==c.shape&&h?(b=q+this.translate(b),d=q+this.translate(d)):(b=-Math.PI/2,d=1.5*Math.PI,y=!0),g[0]-=l,g[2]-=l,e=this.chart.renderer.symbols.arc(this.left+e[0],this.top+e[1],
g[0],g[0],{start:Math.min(b,d),end:Math.max(b,d),innerR:k(g[1],g[0]-g[2]),open:y}));return e},getPlotLinePath:function(b,c){var e=this,d=e.center,g=e.chart,a=e.getPosition(b),l,p,f;e.isCircular?f=["M",d[0]+g.plotLeft,d[1]+g.plotTop,"L",a.x,a.y]:"circle"===e.options.gridLineInterpolation?(b=e.translate(b))&&(f=e.getLinePath(0,b)):(n(g.xAxis,function(b){b.pane===e.pane&&(l=b)}),f=[],b=e.translate(b),d=l.tickPositions,l.autoConnect&&(d=d.concat([d[0]])),c&&(d=[].concat(d).reverse()),n(d,function(e,d){p=
l.getPosition(e,b);f.push(d?"L":"M",p.x,p.y)}));return f},getTitlePosition:function(){var b=this.center,e=this.chart,c=this.options.title;return{x:e.plotLeft+b[0]+(c.x||0),y:e.plotTop+b[1]-{high:.5,middle:.25,low:0}[c.align]*b[2]+(c.y||0)}}};c(l,"init",function(b,c,a){var d=c.angular,q=c.polar,l=a.isX,f=d&&l,p,F=c.options,y=this.pane=c.pane[a.pane||0],n=y.options;if(d){if(r(this,f?e:g),p=!l)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else q&&(r(this,g),this.defaultRadialOptions=(p=l)?
this.defaultRadialXOptions:h(this.defaultYAxisOptions,this.defaultRadialYOptions));d||q?(this.isRadial=!0,c.inverted=!1,F.chart.zoomType=null):this.isRadial=!1;p&&(y.axis=this);b.call(this,c,a);f||!d&&!q||(b=this.options,this.angleRad=(b.angle||0)*Math.PI/180,this.startAngleRad=(n.startAngle-90)*Math.PI/180,this.endAngleRad=(k(n.endAngle,n.startAngle+360)-90)*Math.PI/180,this.offset=b.offset||0,this.isCircular=p)});c(l,"autoLabelAlign",function(b){if(!this.isRadial)return b.apply(this,[].slice.call(arguments,
1))});c(a,"getPosition",function(b,c,e,g,a){var d=this.axis;return d.getPosition?d.getPosition(e):b.call(this,c,e,g,a)});c(a,"getLabelPosition",function(b,c,e,g,a,l,p,f,h){var d=this.axis,q=l.y,m=20,t=l.align,x=(d.translate(this.pos)+d.startAngleRad+Math.PI/2)/Math.PI*180%360;d.isRadial?(b=d.getPosition(this.pos,d.center[2]/2+k(l.distance,-25)),"auto"===l.rotation?g.attr({rotation:x}):null===q&&(q=d.chart.renderer.fontMetrics(g.styles.fontSize).b-g.getBBox().height/2),null===t&&(d.isCircular?(this.label.getBBox().width>
d.len*d.tickInterval/(d.max-d.min)&&(m=0),t=x>m&&x<180-m?"left":x>180+m&&x<360-m?"right":"center"):t="center",g.attr({align:t})),b.x+=l.x,b.y+=q):b=b.call(this,c,e,g,a,l,p,f,h);return b});c(a,"getMarkPath",function(b,c,e,g,a,l,p){var d=this.axis;d.isRadial?(b=d.getPosition(this.pos,d.center[2]/2+g),c=["M",c,e,"L",b.x,b.y]):c=b.call(this,c,e,g,a,l,p);return c})})(v);(function(a){var n=a.each,r=a.noop,u=a.pick,h=a.Series,f=a.seriesType,k=a.seriesTypes;f("arearange","area",{marker:null,threshold:null,
tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{series.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel","dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var c=
this.chart,e=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=e.x-c.plotLeft;a.plotHigh=e.y-c.plotTop},translate:function(){var a=this,c=a.yAxis,e=!!a.modifyValue;k.area.prototype.translate.apply(a);n(a.points,function(g){var l=g.low,b=g.high,d=g.plotY;null===b||null===l?g.isNull=!0:(g.plotLow=d,g.plotHigh=c.translate(e?a.modifyValue(b,g):b,0,1,0,1),e&&(g.yBottom=g.plotHigh))});this.chart.polar&&n(this.points,function(c){a.highToXY(c)})},getGraphPath:function(a){var c=[],
e=[],g,l=k.area.prototype.getGraphPath,b,d,q;q=this.options;var t=this.chart.polar&&!1!==q.connectEnds,m=q.connectNulls,f=q.step;a=a||this.points;for(g=a.length;g--;)b=a[g],b.isNull||t||m||a[g+1]&&!a[g+1].isNull||e.push({plotX:b.plotX,plotY:b.plotY,doCurve:!1}),d={polarPlotY:b.polarPlotY,rectPlotX:b.rectPlotX,yBottom:b.yBottom,plotX:u(b.plotHighX,b.plotX),plotY:b.plotHigh,isNull:b.isNull},e.push(d),c.push(d),b.isNull||t||m||a[g-1]&&!a[g-1].isNull||e.push({plotX:b.plotX,plotY:b.plotY,doCurve:!1});
a=l.call(this,a);f&&(!0===f&&(f="left"),q.step={left:"right",center:"center",right:"left"}[f]);c=l.call(this,c);e=l.call(this,e);q.step=f;q=[].concat(a,c);this.chart.polar||"M"!==e[0]||(e[0]="L");this.graphPath=q;this.areaPath=this.areaPath.concat(a,e);q.isArea=!0;q.xMap=a.xMap;this.areaPath.xMap=a.xMap;return q},drawDataLabels:function(){var a=this.data,c=a.length,e,g=[],l=h.prototype,b=this.options.dataLabels,d=b.align,q=b.verticalAlign,t=b.inside,m,f,w=this.chart.inverted;if(b.enabled||this._hasPointLabels){for(e=
c;e--;)if(m=a[e])f=t?m.plotHigh<m.plotLow:m.plotHigh>m.plotLow,m.y=m.high,m._plotY=m.plotY,m.plotY=m.plotHigh,g[e]=m.dataLabel,m.dataLabel=m.dataLabelUpper,m.below=f,w?d||(b.align=f?"right":"left"):q||(b.verticalAlign=f?"top":"bottom"),b.x=b.xHigh,b.y=b.yHigh;l.drawDataLabels&&l.drawDataLabels.apply(this,arguments);for(e=c;e--;)if(m=a[e])f=t?m.plotHigh<m.plotLow:m.plotHigh>m.plotLow,m.dataLabelUpper=m.dataLabel,m.dataLabel=g[e],m.y=m.low,m.plotY=m._plotY,m.below=!f,w?d||(b.align=f?"left":"right"):
q||(b.verticalAlign=f?"bottom":"top"),b.x=b.xLow,b.y=b.yLow;l.drawDataLabels&&l.drawDataLabels.apply(this,arguments)}b.align=d;b.verticalAlign=q},alignDataLabel:function(){k.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:r,getSymbol:r,drawPoints:r})})(v);(function(a){var n=a.seriesType;n("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(v);(function(a){var n=a.defaultPlotOptions,r=a.each,u=a.merge,h=a.noop,f=a.pick,k=a.seriesType,
p=a.seriesTypes.column.prototype;k("columnrange","arearange",u(n.column,n.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var c=this,e=c.yAxis,a=c.xAxis,l=a.startAngleRad,b,d=c.chart,q=c.xAxis.isRadial,t;p.translate.apply(c);r(c.points,function(g){var m=g.shapeArgs,w=c.options.minPointLength,h,k;g.plotHigh=t=e.translate(g.high,0,1,0,1);g.plotLow=g.plotY;k=t;h=f(g.rectPlotY,g.plotY)-t;Math.abs(h)<w?(w-=h,h+=w,k-=w/2):0>h&&(h*=-1,k-=h);q?(b=g.barX+l,g.shapeType="path",g.shapeArgs={d:c.polarArc(k+
h,k,b,b+g.pointWidth)}):(m.height=h,m.y=k,g.tooltipPos=d.inverted?[e.len+e.pos-d.plotLeft-k-h/2,a.len+a.pos-d.plotTop-m.x-m.width/2,h]:[a.left-d.plotLeft+m.x+m.width/2,e.pos-d.plotTop+k+h/2,h])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:h,crispCol:p.crispCol,drawPoints:p.drawPoints,drawTracker:p.drawTracker,getColumnMetrics:p.getColumnMetrics,animate:function(){return p.animate.apply(this,arguments)},polarArc:function(){return p.polarArc.apply(this,arguments)},pointAttribs:p.pointAttribs})})(v);
(function(a){var n=a.each,r=a.isNumber,u=a.merge,h=a.pick,f=a.pInt,k=a.Series,p=a.seriesType,c=a.TrackerMixin;p("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var c=this.yAxis,a=this.options,l=c.center;this.generatePoints();n(this.points,
function(b){var d=u(a.dial,b.dial),e=f(h(d.radius,80))*l[2]/200,g=f(h(d.baseLength,70))*e/100,m=f(h(d.rearLength,10))*e/100,k=d.baseWidth||3,w=d.topWidth||1,p=a.overshoot,n=c.startAngleRad+c.translate(b.y,null,null,null,!0);r(p)?(p=p/180*Math.PI,n=Math.max(c.startAngleRad-p,Math.min(c.endAngleRad+p,n))):!1===a.wrap&&(n=Math.max(c.startAngleRad,Math.min(c.endAngleRad,n)));n=180*n/Math.PI;b.shapeType="path";b.shapeArgs={d:d.path||["M",-m,-k/2,"L",g,-k/2,e,-w/2,e,w/2,g,k/2,-m,k/2,"z"],translateX:l[0],
translateY:l[1],rotation:n};b.plotX=l[0];b.plotY=l[1]})},drawPoints:function(){var c=this,a=c.yAxis.center,l=c.pivot,b=c.options,d=b.pivot,q=c.chart.renderer;n(c.points,function(d){var e=d.graphic,a=d.shapeArgs,g=a.d;u(b.dial,d.dial);e?(e.animate(a),a.d=g):d.graphic=q[d.shapeType](a).attr({rotation:a.rotation,zIndex:1}).addClass("highcharts-dial").add(c.group)});l?l.animate({translateX:a[0],translateY:a[1]}):c.pivot=q.circle(0,0,h(d.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(a[0],
a[1]).add(c.group)},animate:function(c){var e=this;c||(n(e.points,function(c){var b=c.graphic;b&&(b.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),b.animate({rotation:c.shapeArgs.rotation},e.options.animation))}),e.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);k.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(c,a){k.prototype.setData.call(this,c,!1);this.processData();
this.generatePoints();h(a,!0)&&this.chart.redraw()},drawTracker:c&&c.drawTrackerPoint},{setState:function(c){this.state=c}})})(v);(function(a){var n=a.each,r=a.noop,u=a.seriesType,h=a.seriesTypes;u("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},
whiskerLength:"50%"},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",drawDataLabels:r,translate:function(){var a=this.yAxis,k=this.pointArrayMap;h.column.prototype.translate.apply(this);n(this.points,function(f){n(k,function(c){null!==f[c]&&(f[c+"Plot"]=a.translate(f[c],0,1,0,1))})})},drawPoints:function(){var a=this,h=a.chart.renderer,p,c,e,g,l,b,d=0,q,t,m,x,w=!1!==a.doQuartiles,r,u=a.options.whiskerLength;n(a.points,
function(f){var k=f.graphic,n=k?"animate":"attr",E=f.shapeArgs;void 0!==f.plotY&&(q=E.width,t=Math.floor(E.x),m=t+q,x=Math.round(q/2),p=Math.floor(w?f.q1Plot:f.lowPlot),c=Math.floor(w?f.q3Plot:f.lowPlot),e=Math.floor(f.highPlot),g=Math.floor(f.lowPlot),k||(f.graphic=k=h.g("point").add(a.group),f.stem=h.path().addClass("highcharts-boxplot-stem").add(k),u&&(f.whiskers=h.path().addClass("highcharts-boxplot-whisker").add(k)),w&&(f.box=h.path(void 0).addClass("highcharts-boxplot-box").add(k)),f.medianShape=
h.path(void 0).addClass("highcharts-boxplot-median").add(k)),b=f.stem.strokeWidth()%2/2,d=t+x+b,f.stem[n]({d:["M",d,c,"L",d,e,"M",d,p,"L",d,g]}),w&&(b=f.box.strokeWidth()%2/2,p=Math.floor(p)+b,c=Math.floor(c)+b,t+=b,m+=b,f.box[n]({d:["M",t,c,"L",t,p,"L",m,p,"L",m,c,"L",t,c,"z"]})),u&&(b=f.whiskers.strokeWidth()%2/2,e+=b,g+=b,r=/%$/.test(u)?x*parseFloat(u)/100:u/2,f.whiskers[n]({d:["M",d-r,e,"L",d+r,e,"M",d-r,g,"L",d+r,g]})),l=Math.round(f.medianPlot),b=f.medianShape.strokeWidth()%2/2,l+=b,f.medianShape[n]({d:["M",
t,l,"L",m,l]}))})},setStackedPoints:r})})(v);(function(a){var n=a.each,r=a.noop,u=a.seriesType,h=a.seriesTypes;u("errorbar","boxplot",{grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:h.arearange?
function(){var a=this.pointValKey;h.arearange.prototype.drawDataLabels.call(this);n(this.data,function(f){f.y=f[a]})}:r,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||h.column.prototype.getColumnMetrics.call(this)}})})(v);(function(a){var n=a.correctFloat,r=a.isNumber,u=a.pick,h=a.Point,f=a.Series,k=a.seriesType,p=a.seriesTypes;k("waterfall","column",{dataLabels:{inside:!0}},{pointValKey:"y",translate:function(){var c=this.options,a=this.yAxis,g,l,b,d,f,t,m,
h,w,k,r=u(c.minPointLength,5),v=r/2,A=c.threshold,B=c.stacking,z;p.column.prototype.translate.apply(this);h=w=A;l=this.points;g=0;for(c=l.length;g<c;g++)b=l[g],m=this.processedYData[g],d=b.shapeArgs,f=B&&a.stacks[(this.negStacks&&m<A?"-":"")+this.stackKey],z=this.getStackIndicator(z,b.x,this.index),k=f?f[b.x].points[z.key]:[0,m],b.isSum?b.y=n(m):b.isIntermediateSum&&(b.y=n(m-w)),t=Math.max(h,h+b.y)+k[0],d.y=a.translate(t,0,1,0,1),b.isSum?(d.y=a.translate(k[1],0,1,0,1),d.height=Math.min(a.translate(k[0],
0,1,0,1),a.len)-d.y):b.isIntermediateSum?(d.y=a.translate(k[1],0,1,0,1),d.height=Math.min(a.translate(w,0,1,0,1),a.len)-d.y,w=k[1]):(d.height=0<m?a.translate(h,0,1,0,1)-d.y:a.translate(h,0,1,0,1)-a.translate(h-m,0,1,0,1),h+=f&&f[b.x]?f[b.x].total:m),0>d.height&&(d.y+=d.height,d.height*=-1),b.plotY=d.y=Math.round(d.y)-this.borderWidth%2/2,d.height=Math.max(Math.round(d.height),.001),b.yBottom=d.y+d.height,d.height<=r&&!b.isNull?(d.height=r,d.y-=v,b.plotY=d.y,b.minPointLengthOffset=0>b.y?-v:v):b.minPointLengthOffset=
0,d=b.plotY+(b.negative?d.height:0),this.chart.inverted?b.tooltipPos[0]=a.len-d:b.tooltipPos[1]=d},processData:function(c){var a=this.yData,g=this.options.data,l,b=a.length,d,q,t,m,h,k;q=d=t=m=this.options.threshold||0;for(k=0;k<b;k++)h=a[k],l=g&&g[k]?g[k]:{},"sum"===h||l.isSum?a[k]=n(q):"intermediateSum"===h||l.isIntermediateSum?a[k]=n(d):(q+=h,d+=h),t=Math.min(q,t),m=Math.max(q,m);f.prototype.processData.call(this,c);this.options.stacking||(this.dataMin=t,this.dataMax=m)},toYData:function(c){return c.isSum?
0===c.x?null:"sum":c.isIntermediateSum?0===c.x?null:"intermediateSum":c.y},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var c=this.data,a=c.length,g=this.graph.strokeWidth()+this.borderWidth,g=Math.round(g)%2/2,f=this.yAxis.reversed,b=[],d,q,h;for(h=1;h<a;h++){q=c[h].shapeArgs;d=c[h-1].shapeArgs;q=["M",d.x+d.width,d.y+c[h-1].minPointLengthOffset+g,"L",q.x,d.y+c[h-1].minPointLengthOffset+g];if(0>c[h-1].y&&!f||0<c[h-1].y&&f)q[2]+=d.height,q[5]+=d.height;b=b.concat(q)}return b},drawGraph:function(){f.prototype.drawGraph.call(this);
this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var c=this.options,a,g;f.prototype.setStackedPoints.apply(this,arguments);a=this.stackedYData?this.stackedYData.length:0;for(g=1;g<a;g++)c.data[g].isSum||c.data[g].isIntermediateSum||(this.stackedYData[g]+=this.stackedYData[g-1])},getExtremes:function(){if(this.options.stacking)return f.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var c=h.prototype.getClassName.call(this);this.isSum?c+=" highcharts-sum":
this.isIntermediateSum&&(c+=" highcharts-intermediate-sum");return c},isValid:function(){return r(this.y,!0)||this.isSum||this.isIntermediateSum}})})(v);(function(a){var n=a.Series,r=a.seriesType,u=a.seriesTypes;r("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=n.prototype.getGraphPath.call(this),f=a.length+1;f--;)(f===a.length||"M"===a[f])&&0<f&&a.splice(f,
0,"z");return this.areaPath=a},drawGraph:function(){u.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:n.prototype.drawTracker,setStackedPoints:a.noop})})(v);(function(a){var n=a.arrayMax,r=a.arrayMin,u=a.Axis,h=a.each,f=a.isNumber,k=a.noop,p=a.pick,c=a.pInt,e=a.Point,g=a.seriesType,l=a.seriesTypes;g("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{radius:null,states:{hover:{radiusPlus:0}},
symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(b,a,c,e){var d,g,f,l=this.zData,q=[],h=this.options,k="width"!==h.sizeBy,t=h.zThreshold,n=a-b;g=0;for(d=l.length;g<d;g++)f=l[g],
h.sizeByAbsoluteValue&&null!==f&&(f=Math.abs(f-t),a=Math.max(a-t,Math.abs(b-t)),b=0),null===f?f=null:f<b?f=c/2-1:(f=0<n?(f-b)/n:.5,k&&0<=f&&(f=Math.sqrt(f)),f=Math.ceil(c+f*(e-c))/2),q.push(f);this.radii=q},animate:function(b){var a=this.options.animation;b||(h(this.points,function(b){var c=b.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:b.plotX,y:b.plotY,width:1,height:1}),c.animate(d,a))}),this.animate=null)},translate:function(){var b,c=this.data,e,g,h=this.radii;
l.scatter.prototype.translate.call(this);for(b=c.length;b--;)e=c[b],g=h?h[b]:0,f(g)&&g>=this.minPxSize/2?(e.marker=a.extend(e.marker,{radius:g,width:2*g,height:2*g}),e.dlBox={x:e.plotX-g,y:e.plotY-g,width:2*g,height:2*g}):e.shapeArgs=e.plotY=e.dlBox=void 0},alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:k,applyZones:k},{haloPath:function(c){return e.prototype.haloPath.call(this,0===c?0:(this.marker?this.marker.radius||0:0)+c)},ttBelow:!1});u.prototype.beforePadding=function(){var b=
this,a=this.len,e=this.chart,g=0,l=a,k=this.isXAxis,w=k?"xData":"yData",u=this.min,v={},y=Math.min(e.plotWidth,e.plotHeight),A=Number.MAX_VALUE,B=-Number.MAX_VALUE,z=this.max-u,C=a/z,D=[];h(this.series,function(a){var d=a.options;!a.bubblePadding||!a.visible&&e.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,D.push(a),k&&(h(["minSize","maxSize"],function(a){var b=d[a],e=/%$/.test(b),b=c(b);v[a]=e?y*b/100:b}),a.minPxSize=v.minSize,a.maxPxSize=Math.max(v.maxSize,v.minSize),a=a.zData,a.length&&
(A=p(d.zMin,Math.min(A,Math.max(r(a),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),B=p(d.zMax,Math.max(B,n(a))))))});h(D,function(a){var c=a[w],d=c.length,e;k&&a.getRadii(A,B,a.minPxSize,a.maxPxSize);if(0<z)for(;d--;)f(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(e=a.radii[d],g=Math.min((c[d]-u)*C-e,g),l=Math.max((c[d]-u)*C+e,l))});D.length&&0<z&&!this.isLog&&(l-=a,C*=(a+g-l)/a,h([["min","userMin",g],["max","userMax",l]],function(a){void 0===p(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/C)}))}})(v);
(function(a){function n(a,e){var c=this.chart,f=this.options.animation,b=this.group,d=this.markerGroup,h=this.xAxis.center,k=c.plotLeft,m=c.plotTop;c.polar?c.renderer.isSVG&&(!0===f&&(f={}),e?(a={translateX:h[0]+k,translateY:h[1]+m,scaleX:.001,scaleY:.001},b.attr(a),d&&d.attr(a)):(a={translateX:k,translateY:m,scaleX:1,scaleY:1},b.animate(a,f),d&&d.animate(a,f),this.animate=null)):a.call(this,e)}var r=a.each,u=a.pick,h=a.seriesTypes,f=a.wrap,k=a.Series.prototype,p=a.Pointer.prototype;k.searchPointByAngle=
function(a){var c=this.chart,g=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-g[0]-c.plotLeft,a.chartY-g[1]-c.plotTop)})};k.getConnectors=function(a,e,g,f){var b,c,l,h,k,n,p,r;c=f?1:0;b=0<=e&&e<=a.length-1?e:0>e?a.length-1+e:0;e=0>b-1?a.length-(1+c):b-1;c=b+1>a.length-1?c:b+1;l=a[e];c=a[c];h=l.plotX;l=l.plotY;k=c.plotX;n=c.plotY;c=a[b].plotX;b=a[b].plotY;h=(1.5*c+h)/2.5;l=(1.5*b+l)/2.5;k=(1.5*c+k)/2.5;p=(1.5*b+n)/2.5;n=Math.sqrt(Math.pow(h-c,2)+Math.pow(l-
b,2));r=Math.sqrt(Math.pow(k-c,2)+Math.pow(p-b,2));h=Math.atan2(l-b,h-c);p=Math.PI/2+(h+Math.atan2(p-b,k-c))/2;Math.abs(h-p)>Math.PI/2&&(p-=Math.PI);h=c+Math.cos(p)*n;l=b+Math.sin(p)*n;k=c+Math.cos(Math.PI+p)*r;p=b+Math.sin(Math.PI+p)*r;c={rightContX:k,rightContY:p,leftContX:h,leftContY:l,plotX:c,plotY:b};g&&(c.prevPointCont=this.getConnectors(a,e,!1,f));return c};f(k,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy=
"xy");a.apply(this)});k.toXY=function(a){var c,g=this.chart,f=a.plotX;c=a.plotY;a.rectPlotX=f;a.rectPlotY=c;c=this.xAxis.postTranslate(a.plotX,this.yAxis.len-c);a.plotX=a.polarPlotX=c.x-g.plotLeft;a.plotY=a.polarPlotY=c.y-g.plotTop;this.kdByAngle?(g=(f/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>g&&(g+=360),a.clientX=g):a.clientX=a.plotX};h.spline&&(f(h.spline.prototype,"getPointSpline",function(a,e,g,f){this.chart.polar?f?(a=this.getConnectors(e,f,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,
a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",g.plotX,g.plotY]:a=a.call(this,e,g,f);return a}),h.areasplinerange&&(h.areasplinerange.prototype.getPointSpline=h.spline.prototype.getPointSpline));f(k,"translate",function(a){var c=this.chart;a.call(this);if(c.polar&&(this.kdByAngle=c.tooltip&&c.tooltip.shared,!this.preventPostTranslate))for(a=this.points,c=a.length;c--;)this.toXY(a[c])});f(k,"getGraphPath",function(a,e){var c=this,f,b,d;if(this.chart.polar){e=e||this.points;
for(f=0;f<e.length;f++)if(!e[f].isNull){b=f;break}!1!==this.options.connectEnds&&void 0!==b&&(this.connectEnds=!0,e.splice(e.length,0,e[b]),d=!0);r(e,function(a){void 0===a.polarPlotY&&c.toXY(a)})}f=a.apply(this,[].slice.call(arguments,1));d&&e.pop();return f});f(k,"animate",n);h.column&&(h=h.column.prototype,h.polarArc=function(a,e,g,f){var b=this.xAxis.center,c=this.yAxis.len;return this.chart.renderer.symbols.arc(b[0],b[1],c-e,null,{start:g,end:f,innerR:c-u(a,c)})},f(h,"animate",n),f(h,"translate",
function(a){var c=this.xAxis,f=c.startAngleRad,h,b,d;this.preventPostTranslate=!0;a.call(this);if(c.isRadial)for(h=this.points,d=h.length;d--;)b=h[d],a=b.barX+f,b.shapeType="path",b.shapeArgs={d:this.polarArc(b.yBottom,b.plotY,a,a+b.pointWidth)},this.toXY(b),b.tooltipPos=[b.plotX,b.plotY],b.ttBelow=b.plotY>c.center[1]}),f(h,"alignDataLabel",function(a,e,f,h,b,d){this.chart.polar?(a=e.rectPlotX/Math.PI*180,null===h.align&&(h.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===h.verticalAlign&&
(h.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),k.alignDataLabel.call(this,e,f,h,b,d)):a.call(this,e,f,h,b,d)}));f(p,"getCoordinates",function(a,e){var c=this.chart,f={xAxis:[],yAxis:[]};c.polar?r(c.axes,function(a){var b=a.isXAxis,g=a.center,h=e.chartX-g[0]-c.plotLeft,g=e.chartY-g[1]-c.plotTop;f[b?"xAxis":"yAxis"].push({axis:a,value:a.translate(b?Math.PI-Math.atan2(h,g):Math.sqrt(Math.pow(h,2)+Math.pow(g,2)),!0)})}):f=a.call(this,e);return f});f(a.Chart.prototype,"getAxes",function(c){this.pane||
(this.pane=[]);r(a.splat(this.options.pane),function(c){new a.Pane(c,this)},this);c.call(this)});f(a.Chart.prototype,"drawChartBox",function(a){a.call(this);r(this.pane,function(a){a.render()})});f(a.Chart.prototype,"get",function(c,e){return a.find(this.pane,function(a){return a.options.id===e})||c.call(this,e)})})(v)});
