/*
 Highmaps JS v5.0.0 (2016-09-29)
 Highmaps as a plugin for Highcharts 4.1.x or Highstock 2.1.x (x being the patch version of this file)

 (c) 2011-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(a){var p=a.Axis,e=a.each,h=a.pick;a=a.wrap;a(p.prototype,"getSeriesExtremes",function(a){var d=this.isXAxis,l,q,u=[],w;d&&e(this.series,function(a,b){a.useMapGeometry&&(u[b]=a.xData,a.xData=[])});a.call(this);d&&(l=h(this.dataMin,Number.MAX_VALUE),q=h(this.dataMax,-Number.MAX_VALUE),e(this.series,function(a,b){a.useMapGeometry&&(l=Math.min(l,h(a.minX,l)),q=Math.max(q,h(a.maxX,l)),a.xData=u[b],
w=!0)}),w&&(this.dataMin=l,this.dataMax=q))});a(p.prototype,"setAxisTranslation",function(a){var d=this.chart,l=d.plotWidth/d.plotHeight,d=d.xAxis[0],h;a.call(this);"yAxis"===this.coll&&void 0!==d.transA&&e(this.series,function(a){a.preserveAspectRatio&&(h=!0)});if(h&&(this.transA=d.transA=Math.min(this.transA,d.transA),a=l/((d.max-d.min)/(this.max-this.min)),a=1>a?this:d,l=(a.max-a.min)*a.transA,a.pixelPadding=a.len-l,a.minPixelPadding=a.pixelPadding/2,l=a.fixTo)){l=l[1]-a.toValue(l[0],!0);l*=a.transA;
if(Math.abs(l)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)l=0;a.minPixelPadding-=l}});a(p.prototype,"render",function(a){a.call(this);this.fixTo=null})})(x);(function(a){var p=a.Axis,e=a.Chart,h=a.color,t,d=a.each,l=a.extend,q=a.isNumber,u=a.Legend,w=a.LegendSymbolMixin,g=a.noop,b=a.merge,c=a.pick,k=a.wrap;t=a.ColorAxis=function(){this.init.apply(this,arguments)};l(t.prototype,p.prototype);l(t.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,
startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify"},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},init:function(a,n){var f="vertical"!==a.options.legend.layout,m;this.coll="colorAxis";m=b(this.defaultColorAxisOptions,{side:f?2:1,reversed:!f},n,{opposite:!f,showEmpty:!1,title:null});p.prototype.init.call(this,a,m);n.dataClasses&&this.initDataClasses(n);this.initStops(n);this.horiz=f;this.zoomEnabled=!1;this.defaultLegendLength=
200},tweenColors:function(b,a,f){var m;a.rgba.length&&b.rgba.length?(b=b.rgba,a=a.rgba,m=1!==a[3]||1!==b[3],b=(m?"rgba(":"rgb(")+Math.round(a[0]+(b[0]-a[0])*(1-f))+","+Math.round(a[1]+(b[1]-a[1])*(1-f))+","+Math.round(a[2]+(b[2]-a[2])*(1-f))+(m?","+(a[3]+(b[3]-a[3])*(1-f)):"")+")"):b=a.input||"none";return b},initDataClasses:function(a){var n=this,f,m=0,c=this.chart.options.chart.colorCount,g=this.options,k=a.dataClasses.length;this.dataClasses=f=[];this.legendItems=[];d(a.dataClasses,function(a,
v){a=b(a);f.push(a);a.color||("category"===g.dataClassColor?(a.colorIndex=m,m++,m===c&&(m=0)):a.color=n.tweenColors(h(g.minColor),h(g.maxColor),2>k?.5:v/(k-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];d(this.stops,function(a){a.color=h(a[1])})},setOptions:function(a){p.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,b=this.chart,f=b.options.legend||{},m,c;a?(this.left=
f=a.attr("x"),this.top=m=a.attr("y"),this.width=c=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-f-c,this.bottom=b.chartHeight-m-a,this.len=this.horiz?c:a,this.pos=this.horiz?f:m):this.len=(this.horiz?f.symbolWidth:f.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var f,m=this.stops,c,d=this.dataClasses,g,k;if(d)for(k=d.length;k--;){if(g=d[k],c=g.from,m=g.to,(void 0===c||a>=c)&&(void 0===m||a<=m)){f=g.color;b&&(b.dataClass=k,b.colorIndex=g.colorIndex);break}}else{this.isLog&&
(a=this.val2lin(a));f=1-(this.max-a)/(this.max-this.min||1);for(k=m.length;k--&&!(f>m[k][0]););c=m[k]||m[k+1];m=m[k+1]||c;f=1-(m[0]-f)/(m[0]-c[0]||1);f=this.tweenColors(c.color,m.color,f)}return f},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,p.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=b)},setLegendColor:function(){var a,b=this.options,f=this.reversed;
a=f?1:0;f=f?0:1;a=this.horiz?[a,0,f,0]:[0,f,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var f=a.padding,m=a.options,z=this.horiz,g=c(m.symbolWidth,z?this.defaultLegendLength:12),k=c(m.symbolHeight,z?12:this.defaultLegendLength),d=c(m.labelPadding,z?16:30),m=c(m.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,g,k).attr({zIndex:1}).add(b.legendGroup);
this.legendItemWidth=g+f+(z?m:d);this.legendItemHeight=k+f+(z?d:0)},setState:g,visible:!0,setVisible:g,getSeriesExtremes:function(){var a;this.series.length&&(a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax)},drawCrosshair:function(a,b){var f=b&&b.plotX,m=b&&b.plotY,c,g=this.pos,k=this.len;b&&(c=this.toPixels(b[b.series.colorKey]),c<g?c=g-2:c>g+k&&(c=g+k+2),b.plotX=c,b.plotY=this.len-c,p.prototype.drawCrosshair.call(this,a,b),b.plotX=f,b.plotY=m,this.cross&&this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup))},
getPlotLinePath:function(a,b,f,c,g){return q(g)?this.horiz?["M",g-4,this.top-6,"L",g+4,this.top-6,g,this.top,"Z"]:["M",this.left,g,"L",this.left-6,g+6,this.left-6,g-6,"Z"]:p.prototype.getPlotLinePath.call(this,a,b,f,c)},update:function(a,c){var f=this.chart,m=f.legend;d(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&m.allItems&&(d(m.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),f.isDirtyLegend=!0);f.options[this.coll]=b(this.userOptions,a);p.prototype.update.call(this,a,
c);this.legendItem&&(this.setLegendColor(),m.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var b=this,c=this.chart,f=this.legendItems,m=c.options.legend,k=m.valueDecimals,t=m.valueSuffix||"",A;f.length||d(this.dataClasses,function(m,h){var e=!0,r=m.from,q=m.to;A="";void 0===r?A="< ":void 0===q&&(A="> ");void 0!==r&&(A+=a.numberFormat(r,k)+t);void 0!==r&&void 0!==q&&(A+=" - ");void 0!==q&&(A+=a.numberFormat(q,k)+t);f.push(l({chart:c,name:A,options:{},drawLegendSymbol:w.drawRectangle,
visible:!0,setState:g,isDataClass:!0,setVisible:function(){e=this.visible=!e;d(b.series,function(a){d(a.points,function(a){a.dataClass===h&&a.setVisible(e)})});c.legend.colorizeItem(this,e)}},m))});return f},name:""});d(["fill","stroke"],function(b){a.Fx.prototype[b+"Setter"]=function(){this.elem.attr(b,t.prototype.tweenColors(h(this.start),h(this.end),this.pos))}});k(e.prototype,"getAxes",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&&new t(this,b)});k(u.prototype,"getAllItems",
function(a){var b=[],f=this.chart.colorAxis[0];f&&f.options&&(f.options.showInLegend&&(f.options.dataClasses?b=b.concat(f.getDataClassLegendSymbols()):b.push(f)),d(f.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});k(u.prototype,"colorizeItem",function(a,b,f){a.call(this,b,f);f&&b.legendColor&&b.legendSymbol.attr({fill:b.legendColor})})})(x);(function(a){var p=a.defined,e=a.each,h=a.noop;a.colorPointMixin={setVisible:function(a){var d=this,l=a?"show":"hide";e(["graphic",
"dataLabel"],function(a){if(d[a])d[a][l]()})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:h,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,d=this.options.nullColor,l=this.colorAxis,h=this.colorKey;e(this.data,function(e){var w=e[h];if(w=e.options.color||(null===w?d:l&&void 0!==w?l.toColor(w,e):e.color||a.color))e.color=w})},colorAttribs:function(a){var d=
{};p(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(x);(function(a){function p(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}var e=a.addEvent,h=a.Chart,t=a.doc,d=a.each,l=a.extend,q=a.merge,u=a.pick;a=a.wrap;l(h.prototype,{renderMapNavigation:function(){var a=this,g=this.options.mapNavigation,b=g.buttons,c,k,d,n=function(b){this.handler.call(a,b);p(b)};if(u(g.enableButtons,g.enabled)&&!a.renderer.forExport)for(c in a.mapNavButtons=
[],b)b.hasOwnProperty(c)&&(d=q(g.buttonOptions,b[c]),k=a.renderer.button(d.text,0,0,n,void 0,void 0,void 0,0,"zoomIn"===c?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:d.width,height:d.height,title:a.options.lang[c],padding:d.padding,zIndex:5}).add(),k.handler=d.onclick,k.align(l(d,{width:k.width,height:2*k.height}),null,d.alignTo),e(k.element,"dblclick",p),a.mapNavButtons.push(k))},fitToBox:function(a,g){d([["x","width"],["y","height"]],function(b){var c=b[0];b=b[1];
a[c]+a[b]>g[c]+g[b]&&(a[b]>g[b]?(a[b]=g[b],a[c]=g[c]):a[c]=g[c]+g[b]-a[b]);a[b]>g[b]&&(a[b]=g[b]);a[c]<g[c]&&(a[c]=g[c])});return a},mapZoom:function(a,g,b,c,d){var v=this.xAxis[0],n=v.max-v.min,f=u(g,v.min+n/2),m=n*a,n=this.yAxis[0],z=n.max-n.min,t=u(b,n.min+z/2),z=z*a,f=this.fitToBox({x:f-m*(c?(c-v.pos)/v.len:.5),y:t-z*(d?(d-n.pos)/n.len:.5),width:m,height:z},{x:v.dataMin,y:n.dataMin,width:v.dataMax-v.dataMin,height:n.dataMax-n.dataMin}),m=f.x<=v.dataMin&&f.width>=v.dataMax-v.dataMin&&f.y<=n.dataMin&&
f.height>=n.dataMax-n.dataMin;c&&(v.fixTo=[c-v.pos,g]);d&&(n.fixTo=[d-n.pos,b]);void 0===a||m?(v.setExtremes(void 0,void 0,!1),n.setExtremes(void 0,void 0,!1)):(v.setExtremes(f.x,f.x+f.width,!1),n.setExtremes(f.y,f.y+f.height,!1));this.redraw()}});a(h.prototype,"render",function(a){var g=this,b=g.options.mapNavigation;g.renderMapNavigation();a.call(g);(u(b.enableDoubleClickZoom,b.enabled)||b.enableDoubleClickZoomTo)&&e(g.container,"dblclick",function(a){g.pointer.onContainerDblClick(a)});u(b.enableMouseWheelZoom,
b.enabled)&&e(g.container,void 0===t.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){g.pointer.onContainerMouseWheel(a);p(a);return!1})})})(x);(function(a){var p=a.extend,e=a.pick,h=a.Pointer;a=a.wrap;p(h.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),
d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,l;a=this.normalize(a);l=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,l),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(h.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;a.apply(this,[].slice.call(arguments,1));e(d.enableTouchZoom,d.enabled)&&
(this.pinchX=this.pinchHor=this.pinchY=this.pinchVert=this.hasZoom=!0)});a(h.prototype,"pinchTranslate",function(a,d,l,e,h,p,g){a.call(this,d,l,e,h,p,g);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=e.scaleX>e.scaleY,this.pinchTranslateDirection(!a,d,l,e,h,p,g,a?e.scaleX:e.scaleY))})})(x);(function(a){var p=a.colorPointMixin,e=a.each,h=a.extend,t=a.isNumber,d=a.map,l=a.merge,q=a.noop,u=a.pick,w=a.isArray,g=a.Point,b=a.Series,c=a.seriesType,k=a.seriesTypes,v=a.splat,n=void 0!==a.doc.documentElement.style.vectorEffect;
c("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},l(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,
getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:q,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,g=-c,d=c,k=-c,n=c,v=c,h=this.xAxis,l=this.yAxis,p;e(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var f=b.path||[],e=f.length,h=!1,l=-c,r=c,q=-c,w=c,C=b.properties;if(!b._foundBox){for(;e--;)t(f[e])&&(h?(l=Math.max(l,f[e]),r=Math.min(r,f[e])):(q=Math.max(q,f[e]),w=Math.min(w,f[e])),h=!h);b._midX=
r+(l-r)*(b.middleX||C&&C["hc-middle-x"]||.5);b._midY=w+(q-w)*(b.middleY||C&&C["hc-middle-y"]||.5);b._maxX=l;b._minX=r;b._maxY=q;b._minY=w;b.labelrank=u(b.labelrank,(l-r)*(q-w));b._foundBox=!0}g=Math.max(g,b._maxX);d=Math.min(d,b._minX);k=Math.max(k,b._maxY);n=Math.min(n,b._minY);v=Math.min(b._maxX-b._minX,b._maxY-b._minY,v);p=!0}});p&&(this.minY=Math.min(n,u(this.minY,c)),this.maxY=Math.max(k,u(this.maxY,-c)),this.minX=Math.min(d,u(this.minX,c)),this.maxX=Math.max(g,u(this.maxX,-c)),h&&void 0===h.options.minRange&&
(h.minRange=Math.min(5*v,(this.maxX-this.minX)/5,h.minRange||c)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*v,(this.maxY-this.minY)/5,l.minRange||c)))},getExtremes:function(){b.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,g=this.yAxis,d=c.min,k=c.transA,c=c.minPixelPadding,
n=g.min,v=g.transA,g=g.minPixelPadding,e,l=[];if(a)for(e=a.length;e--;)t(a[e])?(l[e]=b?(a[e]-d)*k+c:(a[e]-n)*v+g,b=!b):l[e]=a[e];return l},setData:function(f,c,g,k){var n=this.options,h=this.chart.options.chart,p=h&&h.map,q=n.mapData,r=n.joinBy,u=null===r,x=n.keys||this.pointArrayMap,B=[],D={},y,E=this.chart.mapTransforms;!q&&p&&(q="string"===typeof p?a.maps[p]:p);u&&(r="_i");r=this.joinBy=v(r);r[1]||(r[1]=r[0]);f&&e(f,function(a,b){var c=0;if(t(a))f[b]={value:a};else if(w(a)){f[b]={};!n.keys&&a.length>
x.length&&"string"===typeof a[0]&&(f[b]["hc-key"]=a[0],++c);for(var m=0;m<x.length;++m,++c)x[m]&&(f[b][x[m]]=a[c])}u&&(f[b]._i=b)});this.getBox(f);if(this.chart.mapTransforms=E=h&&h.mapTransforms||q&&q["hc-transform"]||E)for(y in E)E.hasOwnProperty(y)&&y.rotation&&(y.cosAngle=Math.cos(y.rotation),y.sinAngle=Math.sin(y.rotation));if(q){"FeatureCollection"===q.type&&(this.mapTitle=q.title,q=a.geojson(q,this.type,this));this.mapData=q;this.mapMap={};for(y=0;y<q.length;y++)h=q[y],p=h.properties,h._i=
y,r[0]&&p&&p[r[0]]&&(h[r[0]]=p[r[0]]),D[h[r[0]]]=h;this.mapMap=D;f&&r[1]&&e(f,function(a){D[a[r[1]]]&&B.push(D[a[r[1]]])});n.allAreas?(this.getBox(q),f=f||[],r[1]&&e(f,function(a){B.push(a[r[1]])}),B="|"+d(B,function(a){return a&&a[r[0]]}).join("|")+"|",e(q,function(a){r[0]&&-1!==B.indexOf("|"+a[r[0]]+"|")||(f.push(l(a,{value:null})),k=!1)})):this.getBox(B)}b.prototype.setData.call(this,f,c,g,k)},drawGraph:q,drawDataLabels:q,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||
this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,g=a.doFullTranslate();a.generatePoints();e(a.data,function(d){d.plotX=b.toPixels(d._midX,!0);d.plotY=c.toPixels(d._midY,!0);g&&(d.shapeType="path",d.shapeArgs={d:a.translatePath(d.path)})});a.translateColors()},pointAttribs:function(a,b){var c=k.column.prototype.pointAttribs.call(this,a,b);a.isFading&&delete c.fill;n?c["vector-effect"]="non-scaling-stroke":c["stroke-width"]="inherit";return c},drawPoints:function(){var a=
this.xAxis,b=this.yAxis,c=this.group,g=this.chart.renderer,d,h=this.baseTrans;this.transformGroup||(this.transformGroup=g.g().attr({scaleX:1,scaleY:1}).add(c),this.transformGroup.survive=!0);this.doFullTranslate()?(this.group=this.transformGroup,k.column.prototype.drawPoints.apply(this),this.group=c,e(this.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(" ","-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),
this.baseTrans={originX:a.min-a.minPixelPadding/a.transA,originY:b.min-b.minPixelPadding/b.transA+(b.reversed?0:b.len/b.transA),transAX:a.transA,transAY:b.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(d=a.transA/h.transAX,c=b.transA/h.transAY,a=a.toPixels(h.originX,!0),b=b.toPixels(h.originY,!0),.99<d&&1.01>d&&.99<c&&1.01>c&&(c=d=1,a=Math.round(a),b=Math.round(b)),this.transformGroup.animate({translateX:a,translateY:b,scaleX:d,scaleY:c}));n||this.group.element.setAttribute("stroke-width",
this.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"]/(d||1));this.drawMapDataLabels()},drawMapDataLabels:function(){b.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=b.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){c.call(a)}):c.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,g=this.yAxis,k=d.pos,n=g.pos;
this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:k+d.len/2,translateY:n+g.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:k,translateY:n,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,g=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},e(this.points,
function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},g)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){k.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){k.column.prototype.animateDrillupTo.call(this,a)}}),h({applyOptions:function(a,b){var c=g.prototype.applyOptions.call(this,a,b),d=this.series,k=d.joinBy;d.mapData&&((k=void 0!==c[k[1]]&&d.mapMap[c[k[1]]])?(d.xyFromShape&&
(c.x=k._midX,c.y=k._midY),h(c,k)):c.value=c.value||null);return c},onMouseOver:function(a){clearTimeout(this.colorInterval);if(null!==this.value)g.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},p))})(x);(function(a){var p=a.seriesType;p("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(x);
(function(a){var p=a.merge,e=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,t){var d=void 0!==a.lat&&void 0!==a.lon?p(a,this.series.chart.fromLatLonToPoint(a)):a;return e.prototype.applyOptions.call(this,d,t)}})})(x);(function(a){var p=a.extend,e=a.Point,h=a.seriesType,t=a.seriesTypes;t.bubble&&h("mapbubble","bubble",{animationLimit:500,
tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:t.map.prototype.getMapData,getBox:t.map.prototype.getBox,setData:t.map.prototype.setData},{applyOptions:function(a,h){var q;a&&void 0!==a.lat&&void 0!==a.lon?(q=e.prototype.applyOptions.call(this,a,h),q=p(q,this.series.chart.fromLatLonToPoint(q))):q=t.map.prototype.pointClass.prototype.applyOptions.call(this,a,h);return q},ttBelow:!1})})(x);(function(a){var p=a.colorPointMixin,e=a.each,
h=a.merge,t=a.noop,d=a.pick,l=a.Series,q=a.seriesType,u=a.seriesTypes;q("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},h(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,
directTouch:!0,init:function(){var a;u.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=d(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,d=this.xAxis,b=this.yAxis,c=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();e(this.points,function(k){var e=(a.colsize||1)/2,n=(a.rowsize||1)/2,f=c(Math.round(d.len-d.translate(k.x-e,0,1,0,1)),-d.len,2*d.len),e=c(Math.round(d.len-d.translate(k.x+e,0,1,0,1)),
-d.len,2*d.len),m=c(Math.round(b.translate(k.y-n,0,1,0,1)),-b.len,2*b.len),n=c(Math.round(b.translate(k.y+n,0,1,0,1)),-b.len,2*b.len);k.plotX=k.clientX=(f+e)/2;k.plotY=(m+n)/2;k.shapeType="rect";k.shapeArgs={x:Math.min(f,e),y:Math.min(m,n),width:Math.abs(e-f),height:Math.abs(n-m)}});this.translateColors()},drawPoints:function(){u.column.prototype.drawPoints.call(this);e(this.points,function(a){a.graphic.attr(this.colorAttribs(a,a.state))},this)},animate:t,getBox:t,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,
alignDataLabel:u.column.prototype.alignDataLabel,getExtremes:function(){l.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;l.prototype.getExtremes.call(this)}}),p)})(x);(function(a){function p(a,b){var c,d,e,n,f=!1,m=a.x,h=a.y;c=0;for(d=b.length-1;c<b.length;d=c++)e=b[c][1]>h,n=b[d][1]>h,e!==n&&m<(b[d][0]-b[c][0])*(h-b[c][1])/(b[d][1]-b[c][1])+b[c][0]&&(f=!f);return f}var e=a.Chart,h=a.each,t=a.extend,d=a.error,l=a.format,q=a.merge,u=a.win,w=a.wrap;
e.prototype.transformFromLatLon=function(a,b){if(void 0===u.proj4)return d(21),{x:0,y:null};var c=u.proj4(b.crs,[a.lon,a.lat]),k=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation),c=b.rotation?[c[0]*k+c[1]*e,-c[0]*e+c[1]*k]:c;return{x:((c[0]-(b.xoffset||0))*(b.scale||1)+(b.xpan||0))*(b.jsonres||1)+(b.jsonmarginX||0),y:(((b.yoffset||0)-c[1])*(b.scale||1)+(b.ypan||0))*(b.jsonres||1)-(b.jsonmarginY||0)}};e.prototype.transformToLatLon=function(a,b){if(void 0===
u.proj4)d(21);else{var c={x:((a.x-(b.jsonmarginX||0))/(b.jsonres||1)-(b.xpan||0))/(b.scale||1)+(b.xoffset||0),y:((-a.y-(b.jsonmarginY||0))/(b.jsonres||1)+(b.ypan||0))/(b.scale||1)+(b.yoffset||0)},k=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation),c=u.proj4(b.crs,"WGS84",b.rotation?{x:c.x*k+c.y*-e,y:c.x*e+c.y*k}:c);return{lat:c.y,lon:c.x}}};e.prototype.fromPointToLatLon=function(a){var b=this.mapTransforms,c;if(b){for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&
p({x:a.x,y:-a.y},b[c].hitZone.coordinates[0]))return this.transformToLatLon(a,b[c]);return this.transformToLatLon(a,b["default"])}d(22)};e.prototype.fromLatLonToPoint=function(a){var b=this.mapTransforms,c,k;if(!b)return d(22),{x:0,y:null};for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&(k=this.transformFromLatLon(a,b[c]),p({x:k.x,y:-k.y},b[c].hitZone.coordinates[0])))return k;return this.transformFromLatLon(a,b["default"])};a.geojson=function(a,b,c){var d=[],e=[],n=function(a){var b,c=a.length;
e.push("M");for(b=0;b<c;b++)1===b&&e.push("L"),e.push(a[b][0],-a[b][1])};b=b||"map";h(a.features,function(a){var c=a.geometry,g=c.type,c=c.coordinates;a=a.properties;var l;e=[];"map"===b||"mapbubble"===b?("Polygon"===g?(h(c,n),e.push("Z")):"MultiPolygon"===g&&(h(c,function(a){h(a,n)}),e.push("Z")),e.length&&(l={path:e})):"mapline"===b?("LineString"===g?n(c):"MultiLineString"===g&&h(c,n),e.length&&(l={path:e})):"mappoint"===b&&"Point"===g&&(l={x:c[0],y:-c[1]});l&&d.push(t(l,{name:a.name||a.NAME,properties:a}))});
c&&a.copyrightShort&&(c.chart.mapCredits=l(c.chart.options.credits.mapText,{geojson:a}),c.chart.mapCreditsFull=l(c.chart.options.credits.mapTextFull,{geojson:a}));return d};w(e.prototype,"addCredits",function(a,b){b=q(!0,this.options.credits,b);this.mapCredits&&(b.href=null);a.call(this,b);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(x);(function(a){function p(a,c,d,e,g,f,h,l){return["M",a+g,c,"L",a+d-f,c,"C",a+d-f/2,c,a+d,c+f/2,a+d,c+f,"L",a+d,c+e-h,"C",a+
d,c+e-h/2,a+d-h/2,c+e,a+d-h,c+e,"L",a+l,c+e,"C",a+l/2,c+e,a,c+e-l/2,a,c+e-l,"L",a,c+g,"C",a,c+g/2,a+g/2,c,a+g,c,"Z"]}var e=a.Chart,h=a.defaultOptions,t=a.each,d=a.extend,l=a.merge,q=a.pick,u=a.Renderer,w=a.SVGRenderer,g=a.VMLRenderer;d(h.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});h.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},
text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var c;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(c=0;c<a.length;c++)/[a-zA-Z]/.test(a[c])||(a[c]=parseFloat(a[c]));return a};a.maps={};w.prototype.symbols.topbutton=function(a,c,d,e,g){return p(a-1,c-1,d,e,g.r,g.r,0,0)};w.prototype.symbols.bottombutton=function(a,c,d,e,g){return p(a-1,c-1,d,e,0,0,g.r,g.r)};u===g&&t(["topbutton","bottombutton"],function(a){g.prototype.symbols[a]=
w.prototype.symbols[a]});a.Map=a.mapChart=function(b,c,d){var g="string"===typeof b||b.nodeName,h=arguments[g?1:0],f={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},m,p=a.getOptions().credits;m=h.series;h.series=null;h=l({chart:{panning:"xy",type:"map"},credits:{mapText:q(p.mapText,' \u00a9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:q(p.mapTextFull,"{geojson.copyright}")},xAxis:f,yAxis:l(f,{reversed:!0})},h,{chart:{inverted:!1,alignTicks:!1}});h.series=
m;return g?new e(b,h,d):new e(h,c)}})(x)});
