/* Highmaps JS v6.1.0 (2018-04-13) (c) 2011-2016 Torstein Honsi License: www.highcharts.com/license */ (function(T,J){"object"===typeof module&&module.exports?module.exports=T.document?J(T):J:T.Highcharts=J(T)})("undefined"!==typeof window?window:this,function(T){var J=function(){var a="undefined"===typeof T?window:T,B=a.document,A=a.navigator&&a.navigator.userAgent||"",C=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,k=/(edge|msie|trident)/i.test(A)&&!a.opera,f=-1!==A.indexOf("Firefox"),g=-1!==A.indexOf("Chrome"),t=f&&4>parseInt(A.split("Firefox/")[1], 10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.1.0",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:t,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:k,isWebKit:-1!==A.indexOf("AppleWebKit"),isFirefox:f,isChrome:g,isSafari:!g&&-1!==A.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}, charts:[]}}();(function(a){a.timers=[];var B=a.charts,A=a.doc,C=a.win;a.error=function(k,f){k=a.isNumber(k)?"Highcharts error #"+k+": www.highcharts.com/errors/"+k:k;if(f)throw Error(k);C.console&&console.log(k)};a.Fx=function(a,f,g){this.options=f;this.elem=a;this.prop=g};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],g=[],t=this.now,x=a.length,r;if(1===t)g=this.toD;else if(x===f.length&&1>t)for(;x--;)r=parseFloat(a[x]),g[x]=isNaN(r)?f[x]:t*parseFloat(f[x]-r)+r;else g=f;this.elem.attr("d", g,null,!0)},update:function(){var a=this.elem,f=this.prop,g=this.now,t=this.options.step;if(this[f+"Setter"])this[f+"Setter"]();else a.attr?a.element&&a.attr(f,g,null,!0):a.style[f]=g+this.unit;t&&t.call(a,g,this)},run:function(k,f,g){var t=this,x=t.options,r=function(a){return r.stopped?!1:t.step(a)},e=C.requestAnimationFrame||function(a){setTimeout(a,13)},d=function(){for(var m=0;m=e+this.startTime?(this.now=this.end,this.pos=1,this.update(),g=d[this.prop]=!0,a.objectEach(d,function(a){!0!== a&&(g=!1)}),g&&r&&r.call(x),k=!1):(this.pos=t.easing((f-this.startTime)/e),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0);return k},initPath:function(k,f,g){function t(b){var a,d;for(c=b.length;c--;)a="M"===b[c]||"L"===b[c],d=/[a-zA-Z]/.test(b[c+3]),a&&d&&b.splice(c+1,0,b[c+1],b[c+2],b[c+1],b[c+2])}function x(b,a){for(;b.lengtha&&-Infinity=g&&(f=[1/g])));for(t=0;t=k|| !x&&r<=(f[t]+(f[t+1]||f[t]))/2);t++);return e=a.correctFloat(e*g,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,f){var g=a.length,k,x;for(x=0;xg&&(g=a[f]);return g};a.destroyObjectProperties=function(k,f){a.objectEach(k,function(a, t){a&&a!==f&&a.destroy&&a.destroy();delete k[t]})};a.discardElement=function(k){var f=a.garbageBin;f||(f=a.createElement("div"));k&&f.appendChild(k);f.innerHTML=""};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(k,f){f.renderer.globalAnimation=a.pick(k,f.options.chart.animation,!0)};a.animObject=function(k){return a.isObject(k)?a.merge(k):{duration:k?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5, year:314496E5};a.numberFormat=function(k,f,g,t){k=+k||0;f=+f;var x=a.defaultOptions.lang,r=(k.toString().split(".")[1]||"").split("e")[0].length,e,d,m=k.toString().split("e");-1===f?f=Math.min(r,20):a.isNumber(f)?f&&m[1]&&0>m[1]&&(e=f+ +m[1],0<=e?(m[0]=(+m[0]).toExponential(e).split("e")[0],f=e):(m[0]=m[0].split(".")[0]||0,k=20>f?(m[0]*Math.pow(10,m[1])).toFixed(f):0,m[1]=0)):f=2;d=(Math.abs(m[1]?m[0]:k)+Math.pow(10,-Math.max(f,r)-1)).toFixed(f);r=String(a.pInt(d));e=3k?"-":"")+(e?r.substr(0,e)+t:"");k+=r.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+t);f&&(k+=g+d.slice(-f));m[1]&&0!==+k&&(k+="e"+m[1]);return k};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(k,f,g){if("width"===f)return Math.min(k.offsetWidth,k.scrollWidth)-a.getStyle(k,"padding-left")-a.getStyle(k,"padding-right");if("height"===f)return Math.min(k.offsetHeight,k.scrollHeight)-a.getStyle(k,"padding-top")-a.getStyle(k, "padding-bottom");C.getComputedStyle||a.error(27,!0);if(k=C.getComputedStyle(k,void 0))k=k.getPropertyValue(f),a.pick(g,"opacity"!==f)&&(k=a.pInt(k));return k};a.inArray=function(k,f,g){return(a.indexOfPolyfill||Array.prototype.indexOf).call(f,k,g)};a.grep=function(k,f){return(a.filterPolyfill||Array.prototype.filter).call(k,f)};a.find=Array.prototype.find?function(a,f){return a.find(f)}:function(a,f){var g,k=a.length;for(g=0;g>16,(g&65280)>>8,g&255,1]:4===f&&(x=[(g&3840)>>4|(g&3840)>>8,(g&240)>>4|g&240,(g&15)<<4|g&15,1])),!x)for(r=this.parsers.length;r--&& !x;)e=this.parsers[r],(f=e.regex.exec(g))&&(x=e.parse(f));this.rgba=x||[]},get:function(a){var g=this.input,f=this.rgba,r;this.stops?(r=k(g),r.stops=[].concat(r.stops),B(this.stops,function(e,d){r.stops[d]=[r.stops[d][0],e.get(a)]})):r=f&&A(f[0])?"rgb"===a||!a&&1===f[3]?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===a?f[3]:"rgba("+f.join(",")+")":g;return r},brighten:function(a){var g,k=this.rgba;if(this.stops)B(this.stops,function(g){g.brighten(a)});else if(A(a)&&0!==a)for(g=0;3>g;g++)k[g]+=f(255*a),0> k[g]&&(k[g]=0),255v?"AM":"PM",P:12>v?"am":"pm",S:y(m.getSeconds()),L:y(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(m,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(d,f):a)});return e?g.substr(0,1).toUpperCase()+g.substr(1):g},getTimeTicks:function(a,r,e,d){var m=this,v=[],u={},h,b=new m.Date(r),c=a.unitRange,n=a.count||1, k;if(B(r)){m.set("Milliseconds",b,c>=g.second?0:n*Math.floor(m.get("Milliseconds",b)/n));c>=g.second&&m.set("Seconds",b,c>=g.minute?0:n*Math.floor(m.get("Seconds",b)/n));c>=g.minute&&m.set("Minutes",b,c>=g.hour?0:n*Math.floor(m.get("Minutes",b)/n));c>=g.hour&&m.set("Hours",b,c>=g.day?0:n*Math.floor(m.get("Hours",b)/n));c>=g.day&&m.set("Date",b,c>=g.month?1:n*Math.floor(m.get("Date",b)/n));c>=g.month&&(m.set("Month",b,c>=g.year?0:n*Math.floor(m.get("Month",b)/n)),h=m.get("FullYear",b));c>=g.year&& m.set("FullYear",b,h-h%n);c===g.week&&m.set("Date",b,m.get("Date",b)-m.get("Day",b)+f(d,1));h=m.get("FullYear",b);d=m.get("Month",b);var H=m.get("Date",b),y=m.get("Hours",b);r=b.getTime();m.variableTimezone&&(k=e-r>4*g.month||m.getTimezoneOffset(r)!==m.getTimezoneOffset(e));b=b.getTime();for(r=1;bv.length&&A(v,function(a){0===a%18E5&&"000000000"===m.dateFormat("%H%M%S%L",a)&&(u[a]="day")})}v.info=C(a,{higherRanks:u,totalRange:c*n});return v}}})(J);(function(a){var B=a.merge;a.defaultOptions={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:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{}, labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,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"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com", position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(A){a.defaultOptions=B(!0,a.defaultOptions,A);a.time.update(B(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(B(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,B,k){return a.time.dateFormat(A,B,k)}})(J);(function(a){var B,A,C=a.addEvent, k=a.animate,f=a.attr,g=a.charts,t=a.color,x=a.css,r=a.createElement,e=a.defined,d=a.deg2rad,m=a.destroyObjectProperties,v=a.doc,u=a.each,h=a.extend,b=a.erase,c=a.grep,n=a.hasTouch,I=a.inArray,H=a.isArray,y=a.isFirefox,F=a.isMS,w=a.isObject,p=a.isString,E=a.isWebKit,D=a.merge,L=a.noop,K=a.objectEach,q=a.pick,z=a.pInt,M=a.removeEvent,l=a.splat,G=a.stop,S=a.svg,Q=a.SVG_NS,O=a.symbolSizes,P=a.win;B=a.SVGElement=function(){return this};h(B.prototype,{opacity:1,SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "), init:function(a,b){this.element="span"===b?r(b):v.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,l,c){l=a.animObject(q(l,this.renderer.globalAnimation,!0));0!==l.duration?(c&&(l.complete=c),k(this,b,l)):(this.attr(b,null,c),l.step&&l.step.call(this));return this},complexColor:function(b,q,l){var c=this.renderer,z,N,d,h,p,n,m,g,G,f,y,M=[],w;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?N="radialGradient":b.linearGradient&&(N="linearGradient"); N&&(d=b[N],p=c.gradients,m=b.stops,f=l.radialReference,H(d)&&(b[N]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===N&&f&&!e(d.gradientUnits)&&(h=d,d=D(d,c.getRadialAttr(f,h),{gradientUnits:"userSpaceOnUse"})),K(d,function(a,b){"id"!==b&&M.push(b,a)}),K(m,function(a){M.push(a)}),M=M.join(","),p[M]?y=p[M].attr("id"):(d.id=y=a.uniqueKey(),p[M]=n=c.createElement(N).attr(d).add(c.defs),n.radAttr=h,n.stops=[],u(m,function(b){0===b[1].indexOf("rgba")?(z=a.color(b[1]), g=z.get("rgb"),G=z.get("a")):(g=b[1],G=1);b=c.createElement("stop").attr({offset:b[0],"stop-color":g,"stop-opacity":G}).add(n);n.stops.push(b)})),w="url("+c.url+"#"+y+")",l.setAttribute(q,w),l.gradient=M,b.toString=function(){return w})})},applyTextOutline:function(q){var l=this.element,c,z,d,e,h;-1!==q.indexOf("contrast")&&(q=q.replace(/contrast/g,this.renderer.getContrast(l.style.fill)));q=q.split(" ");z=q[q.length-1];if((d=q[0])&&"none"!==d&&a.svg){this.fakeTS=!0;q=[].slice.call(l.getElementsByTagName("tspan")); this.ySetter=this.xSetter;d=d.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,q){return 2*b+q});for(h=q.length;h--;)c=q[h],"highcharts-text-outline"===c.getAttribute("class")&&b(q,l.removeChild(c));e=l.firstChild;u(q,function(a,b){0===b&&(a.setAttribute("x",l.getAttribute("x")),b=l.getAttribute("y"),a.setAttribute("y",b||0),null===b&&l.setAttribute("y",0));a=a.cloneNode(1);f(a,{"class":"highcharts-text-outline",fill:z,stroke:z,"stroke-width":d,"stroke-linejoin":"round"});l.insertBefore(a,e)})}},attr:function(a, b,q,l){var c,z=this.element,d,e=this,h,N;"string"===typeof a&&void 0!==b&&(c=a,a={},a[c]=b);"string"===typeof a?e=(this[a+"Getter"]||this._defaultGetter).call(this,a,z):(K(a,function(b,q){h=!1;l||G(this,q);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(q)&&(d||(this.symbolAttr(a),d=!0),h=!0);!this.rotation||"x"!==q&&"y"!==q||(this.doTransform=!0);h||(N=this[q+"Setter"]||this._defaultSetter,N.call(this,b,q,z))},this),this.afterSetters());q&&q.call(this);return e},afterSetters:function(){this.doTransform&& (this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var q=this.attr("class")||"";-1===q.indexOf(a)&&(b||(a=(q+(q?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==I(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;u("x y r start end width height innerR anchorX anchorY".split(" "),function(l){b[l]=q(a[l],b[l])});b.attr({d:b.renderer.symbols[b.symbolName](b.x, b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var q;b=b||a.strokeWidth||0;q=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+q;a.y=Math.floor(a.y||this.y||0)+q;a.width=Math.floor((a.width||this.width||0)-2*q);a.height=Math.floor((a.height||this.height||0)-2*q);e(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,q={},l=this.element,c,d="",e,p=!b,n=["textOutline","textOverflow", "width"];a&&a.color&&(a.fill=a.color);b&&K(a,function(a,l){a!==b[l]&&(q[l]=a,p=!0)});p&&(b&&(a=h(b,q)),c=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===l.nodeName.toLowerCase()&&z(a.width),this.styles=a,c&&!S&&this.renderer.forExport&&delete a.width,l.namespaceURI===this.SVG_NS?(e=function(a,b){return"-"+b.toLowerCase()},K(a,function(a,b){-1===I(b,n)&&(d+=b.replace(/([A-Z])/g,e)+":"+a+";")}),d&&f(l,"style",d)):x(l,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this), a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return P.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=z(a):(b=v.createElementNS(Q,"rect"),f(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var q=this,l=q.element;n&&"click"===a?(l.ontouchstart=function(a){q.touchEventFired= Date.now();a.preventDefault();b.call(l,a)},l.onclick=function(a){(-1===P.navigator.userAgent.indexOf("Android")||1100l.width)l={width:0,height:0}}else l=this.htmlGetBBox();c.isSVG&&(a=l.width,c=l.height,n&&"11px"===n.fontSize&&17===Math.round(c)&& (l.height=c=14),b&&(l.width=Math.abs(c*Math.sin(z))+Math.abs(a*Math.cos(z)),l.height=Math.abs(c*Math.cos(z))+Math.abs(a*Math.sin(z))));if(f&&0]*>/g,"").replace(/</g,"\x3c").replace(/>/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&& this.renderer.buildText(this))},fillSetter:function(a,b,q){"string"===typeof a?q.setAttribute(b,a):a&&this.complexColor(a,b,q)},visibilitySetter:function(a,b,q){"inherit"===a?q.removeAttribute(b):this[b]!==a&&q.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var q=this.renderer,l=this.parentGroup,c=(l||q).element||q.box,d,h=this.element,p,n,q=c===q.box;d=this.added;var m;e(a)&&(h.zIndex=a,a=+a,this[b]===a&&(d=!1),this[b]=a);if(d){(a=this.zIndex)&&l&&(l.handleZ=!0);b=c.childNodes;for(m=b.length- 1;0<=m&&!p;m--)if(l=b[m],d=l.zIndex,n=!e(d),l!==h)if(0>a&&n&&!q&&!m)c.insertBefore(h,b[m]),p=!0;else if(z(d)<=a||n&&(!e(a)||0<=a))c.insertBefore(h,b[m+1]||null),p=!0;p||(c.insertBefore(h,b[q?3:0]||null),p=!0)}return p},_defaultSetter:function(a,b,q){q.setAttribute(b,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.rotationOriginXSetter=B.prototype.rotationOriginYSetter=B.prototype.scaleXSetter= B.prototype.scaleYSetter=B.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};h(A.prototype,{Element:B,SVG_NS:Q,init:function(a,b,q,l,c,z){var d;l=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});d=l.element;a.appendChild(d);f(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&f(d,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=d;this.boxWrapper=l;this.alignedObjects=[];this.url=(y||E)&&v.getElementsByTagName("base").length? P.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(v.createTextNode("Created with Highmaps 6.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=z;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,q,!1);var h;y&&a.getBoundingClientRect&&(b=function(){x(a,{left:0,top:0});h=a.getBoundingClientRect();x(a,{left:Math.ceil(h.left)- h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},b(),this.unSubPixelFix=C(P,"resize",b))},definition:function(a){function b(a,c){var z;u(l(a),function(a){var l=q.createElement(a.tagName),d={};K(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(d[b]=a)});l.attr(d);l.add(c||q.defs);a.textContent&&l.element.appendChild(v.createTextNode(a.textContent));b(a.children||[],l);z=l});return z}var q=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a= this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();m(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:L,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},getSpanWidth:function(a){return a.getBBox(!0).width},applyEllipsis:function(a,b,q,l){var c=a.rotation,z=q,d,h=0,e= q.length,p=function(a){b.removeChild(b.firstChild);a&&b.appendChild(v.createTextNode(a))},n;a.rotation=0;z=this.getSpanWidth(a,b);if(n=z>l){for(;h<=e;)d=Math.ceil((h+e)/2),z=q.substring(0,d)+"\u2026",p(z),z=this.getSpanWidth(a,b),h===e?h=e+1:z>l?e=d-1:h=d;0===e&&p("")}a.rotation=c;return n},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,l=this,d=l.forExport,h=q(a.textStr,"").toString(),e=-1!==h.indexOf("\x3c"),p=b.childNodes, n,m=f(b,"x"),D=a.styles,g=a.textWidth,G=D&&D.lineHeight,M=D&&D.textOutline,y=D&&"ellipsis"===D.textOverflow,w=D&&"nowrap"===D.whiteSpace,E,r=p.length,L=g&&!a.added&&this.box,F=function(a){return G?z(G):l.fontMetrics(void 0,a.getAttribute("style")?a:b).h},k=function(a,b){K(l.escapes,function(q,l){b&&-1!==I(q,b)||(a=a.toString().replace(new RegExp(q,"g"),l))});return a},N=function(a,b){var q;q=a.indexOf("\x3c");a=a.substring(q,a.indexOf("\x3e")-q);q=a.indexOf(b+"\x3d");if(-1!==q&&(q=q+b.length+1,b= a.charAt(q),'"'===b||"'"===b))return a=a.substring(q+1),a.substring(0,a.indexOf(b))},D=[h,y,w,G,M,D&&D.fontSize,g].join();if(D!==a.textCache){for(a.textCache=D;r--;)b.removeChild(p[r]);e||M||y||g||-1!==h.indexOf(" ")?(L&&L.appendChild(b),h=e?h.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[h],h=c(h,function(a){return""!== a}),u(h,function(q,c){var z,h=0;q=q.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");z=q.split("|||");u(z,function(q){if(""!==q||1===z.length){var e={},p=v.createElementNS(l.SVG_NS,"tspan"),D,G;(D=N(q,"class"))&&f(p,"class",D);if(D=N(q,"style"))D=D.replace(/(;| |^)color([ :])/,"$1fill$2"),f(p,"style",D);(G=N(q,"href"))&&!d&&(f(p,"onclick",'location.href\x3d"'+G+'"'),f(p,"class","highcharts-anchor"));q=k(q.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!== q){p.appendChild(v.createTextNode(q));h?e.dx=0:c&&null!==m&&(e.x=m);f(p,e);b.appendChild(p);!h&&E&&(!S&&d&&x(p,{display:"block"}),f(p,"dy",F(p)));if(g){e=q.replace(/([^\^])-/g,"$1- ").split(" ");G=1g,void 0===n&&(n=q),q&&1!==e.length?(p.removeChild(p.firstChild),u.unshift(e.pop())):(e=u,u=[],e.length&&!w&&(p=v.createElementNS(Q,"tspan"), f(p,{dy:r,x:m}),D&&f(p,"style",D),b.appendChild(p)),M>g&&(g=M)),e.length&&p.appendChild(v.createTextNode(e.join(" ").replace(/- /g,"-")));a.rotation=L}h++}}});E=E||b.childNodes.length}),n&&a.attr("title",k(a.textStr,["\x26lt;","\x26gt;"])),L&&L.removeChild(b),M&&a.applyTextOutline&&a.applyTextOutline(M)):b.appendChild(v.createTextNode(k(h)))}},getContrast:function(a){a=t(a).rgba;return 510Math.abs(z.end-z.start-2*Math.PI));var m=Math.cos(d),D=Math.sin(d),g=Math.cos(n),n=Math.sin(n);z=.001>z.end-d-Math.PI?0:1;h=["M",a+h*m,b+p*D,"A",h,p,0,z,1,a+h*g,b+p*n];e(l)&&h.push(c?"M":"L",a+l*g,b+l*n,"A",l,l,0,z,0,a+l*m,b+l*D);h.push(c?"":"Z");return h},callout:function(a,b,q,l,c){var z=Math.min(c&&c.r||0,q,l),d=z+6,h=c&&c.anchorX;c=c&&c.anchorY;var e; e=["M",a+z,b,"L",a+q-z,b,"C",a+q,b,a+q,b,a+q,b+z,"L",a+q,b+l-z,"C",a+q,b+l,a+q,b+l,a+q-z,b+l,"L",a+z,b+l,"C",a,b+l,a,b+l,a,b+l-z,"L",a,b+z,"C",a,b,a,b,a+z,b];h&&h>q?c>b+d&&ch?c>b+d&&cl&&h>a+d&&hc&&h>a+d&&ha?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,q){var l=a;b&&q&&(l=Math.max(l*Math.cos(b*d),4));return{x:-a/3*Math.sin(b*d),y:l}},label:function(b,q,l,c,z,d,p,n,m){var g=this,G=g.g("button"!== m&&"label"),f=G.text=g.text("",0,0,p).attr({zIndex:1}),y,w,E=0,v=3,r=0,L,k,F,I,S,Q={},K,H=/^url\((.*?)\)$/.test(c),x=H,t,O,P,N;m&&G.addClass("highcharts-"+m);x=!0;t=function(){return y.strokeWidth()%2/2};O=function(){var a=f.element.style,b={};w=(void 0===L||void 0===k||S)&&e(f.textStr)&&f.getBBox();G.width=(L||w.width||0)+2*v+r;G.height=(k||w.height||0)+2*v;K=v+g.fontMetrics(a&&a.fontSize,f).b;x&&(y||(G.box=y=g.symbols[c]||H?g.symbol(c):g.rect(),y.addClass(("button"===m?"":"highcharts-label-box")+ (m?" highcharts-"+m+"-box":"")),y.add(G),a=t(),b.x=a,b.y=(n?-K:0)+a),b.width=Math.round(G.width),b.height=Math.round(G.height),y.attr(h(b,Q)),Q={})};P=function(){var a=r+v,b;b=n?0:K;e(L)&&w&&("center"===S||"right"===S)&&(a+={center:.5,right:1}[S]*(L-w.width));if(a!==f.x||b!==f.y)f.attr("x",a),void 0!==b&&f.attr("y",b);f.x=a;f.y=b};N=function(a,b){y?y.attr(a,b):Q[a]=b};G.onAdd=function(){f.add(G);G.attr({text:b||0===b?b:"",x:q,y:l});y&&e(z)&&G.attr({anchorX:z,anchorY:d})};G.widthSetter=function(b){L= a.isNumber(b)?b:null};G.heightSetter=function(a){k=a};G["text-alignSetter"]=function(a){S=a};G.paddingSetter=function(a){e(a)&&a!==v&&(v=G.padding=a,P())};G.paddingLeftSetter=function(a){e(a)&&a!==r&&(r=a,P())};G.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==E&&(E=a,w&&G.attr({x:F}))};G.textSetter=function(a){void 0!==a&&f.textSetter(a);O();P()};G["stroke-widthSetter"]=function(a,b){a&&(x=!0);this["stroke-width"]=a;N(b,a)};G.rSetter=function(a,b){N(b,a)};G.anchorXSetter=function(a,b){z= G.anchorX=a;N(b,Math.round(a)-t()-F)};G.anchorYSetter=function(a,b){d=G.anchorY=a;N(b,a-I)};G.xSetter=function(a){G.x=a;E&&(a-=E*((L||w.width)+2*v),G["forceAnimate:x"]=!0);F=Math.round(a);G.attr("translateX",F)};G.ySetter=function(a){I=G.y=Math.round(a);G.attr("translateY",I)};var A=G.css;return h(G,{css:function(a){if(a){var b={};a=D(a);u(G.textProps,function(q){void 0!==a[q]&&(b[q]=a[q],delete a[q])});f.css(b);"width"in b&&O()}return A.call(G,a)},getBBox:function(){return{width:w.width+2*v,height:w.height+ 2*v,x:w.x-v,y:w.y-v}},destroy:function(){M(G.element,"mouseenter");M(G.element,"mouseleave");f&&(f=f.destroy());y&&(y=y.destroy());B.prototype.destroy.call(G);G=g=O=P=N=null}})}});a.Renderer=A})(J);(function(a){var B=a.attr,A=a.createElement,C=a.css,k=a.defined,f=a.each,g=a.extend,t=a.isFirefox,x=a.isMS,r=a.isWebKit,e=a.pick,d=a.pInt,m=a.SVGRenderer,v=a.win,u=a.wrap;g(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b, this.htmlUpdateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,c=this.x||0,e=this.y||0,m=this.textAlign||"left",g={left:0,center:.5,right:1}[m],y=this.styles,u=y&&y.whiteSpace;C(b,{marginLeft:this.translateX|| 0,marginTop:this.translateY||0});this.inverted&&f(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var y=this.rotation,w=this.textWidth&&d(this.textWidth),p=[y,m,b.innerHTML,this.textWidth,this.textAlign].join(),E;(E=w!==this.oldTextWidth)&&!(E=w>this.oldTextWidth)&&((E=this.textPxLength)||(C(b,{width:"",whiteSpace:u||"nowrap"}),E=b.offsetWidth),E=E>w);E&&/[ \-]/.test(b.textContent||b.innerText)&&(C(b,{width:w+"px",display:"block",whiteSpace:u||"normal"}),this.oldTextWidth=w); p!==this.cTT&&(u=a.fontMetrics(b.style.fontSize).b,k(y)&&y!==(this.oldRotation||0)&&this.setSpanRotation(y,g,u),this.getSpanCorrection(!k(y)&&this.textPxLength||b.offsetWidth,u,g,y,m));C(b,{left:c+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=p;this.oldRotation=y}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=this.renderer.getTransformKey();d[e]=d.transform="rotate("+a+"deg)";d[e+(t?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";C(this.element,d)},getSpanCorrection:function(a, b,c){this.xCorr=-a*c;this.yCorr=-b}});g(m.prototype,{getTransformKey:function(){return x&&!/Edge/.test(v.navigator.userAgent)?"-ms-transform":r?"-webkit-transform":t?"MozTransform":v.opera?"-o-transform":""},html:function(a,b,c){var d=this.createElement("span"),h=d.element,m=d.renderer,y=m.isSVG,v=function(a,b){f(["opacity","visibility"],function(c){u(a,c+"Setter",function(a,c,d,q){a.call(this,c,d,q);b[d]=c})});a.addedSetters=!0};d.textSetter=function(a){a!==h.innerHTML&&delete this.bBox;this.textStr= a;h.innerHTML=e(a,"");d.doTransform=!0};y&&v(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,b){"align"===b&&(b="textAlign");d[b]=a;d.doTransform=!0};d.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};d.attr({text:a,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"});h.style.whiteSpace="nowrap";d.css=d.htmlCss;y&&(d.add=function(a){var b,c=m.box.parentNode,e=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)e.push(a), a=a.parentGroup;f(e.reverse(),function(a){function h(b,l){a[l]=b;"translateX"===l?q.left=b+"px":q.top=b+"px";a.doTransform=!0}var q,z=B(a.element,"class");z&&(z={className:z});b=a.div=a.div||A("div",z,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||c);q=b.style;g(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){e[0].div&& d.on.apply({element:e[0].div},arguments);return a},translateXSetter:h,translateYSetter:h});a.addedSetters||v(a,q)})}}else b=c;b.appendChild(h);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})})(J);(function(a){var B=a.correctFloat,A=a.defined,C=a.destroyObjectProperties,k=a.fireEvent,f=a.isNumber,g=a.pick,t=a.deg2rad;a.Tick=function(a,g,e,d){this.axis=a;this.pos=g;this.type=e||"";this.isNewLabel=this.isNew=!0;e||d||this.addLabel()};a.Tick.prototype={addLabel:function(){var a= this.axis,f=a.options,e=a.chart,d=a.categories,m=a.names,v=this.pos,u=f.labels,h=a.tickPositions,b=v===h[0],c=v===h[h.length-1],m=d?g(d[v],m[v],v):v,d=this.label,h=h.info,n;a.isDatetimeAxis&&h&&(n=f.dateTimeLabelFormats[h.higherRanks[v]||h.unitName]);this.isFirst=b;this.isLast=c;f=a.labelFormatter.call({axis:a,chart:e,isFirst:b,isLast:c,dateTimeLabelFormat:n,value:a.isLog?B(a.lin2log(m)):m,pos:v});if(A(d))d&&d.attr({text:f});else{if(this.label=d=A(f)&&u.enabled?e.renderer.text(f,0,0,u.useHTML).add(a.labelGroup): null)d.textPxLength=d.getBBox().width;this.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var f=this.axis,e=f.options.labels,d=a.x,m=f.chart.chartWidth,v=f.chart.spacing,u=g(f.labelLeft,Math.min(f.pos,v[3])),v=g(f.labelRight,Math.max(f.isRadial?0:f.pos+f.len,m-v[1])),h=this.label,b=this.rotation,c={left:0,center:.5,right:1}[f.labelAlign||h.attr("align")],n=h.getBBox().width,k=f.getSlotWidth(),H=k,y=1,F,w= {};if(b||!1===e.overflow)0>b&&d-c*nv&&(F=Math.round((m-d)/Math.cos(b*t)));else if(m=d+(1-c)*n,d-c*nv&&(H=v-a.x+H*c,y=-1),H=Math.min(k,H),HH||f.autoRotation&&(h.styles||{}).width)F=H;F&&(w.width=F,(e.style||{}).textOverflow||(w.textOverflow="ellipsis"),h.css(w))},getPosition:function(g,f,e,d){var m=this.axis,v=m.chart,u=d&&v.oldChartHeight||v.chartHeight;g={x:g?a.correctFloat(m.translate(f+ e,null,null,d)+m.transB):m.left+m.offset+(m.opposite?(d&&v.oldChartWidth||v.chartWidth)-m.right-m.left:0),y:g?u-m.bottom+m.offset-(m.opposite?m.height:0):a.correctFloat(u-m.translate(f+e,null,null,d)-m.transB)};k(this,"afterGetPosition",{pos:g});return g},getLabelPosition:function(a,g,e,d,m,f,u,h){var b=this.axis,c=b.transA,n=b.reversed,v=b.staggerLines,r=b.tickRotCorr||{x:0,y:0},y=m.y,F=d||b.reserveSpaceDefault?0:-b.labelOffset*("center"===b.labelAlign?.5:1),w={};A(y)||(y=0===b.side?e.rotation?-8: -e.getBBox().height:2===b.side?r.y+8:Math.cos(e.rotation*t)*(r.y-e.getBBox(!1,0).height/2));a=a+m.x+F+r.x-(f&&d?f*c*(n?-1:1):0);g=g+y-(f&&!d?f*c*(n?1:-1):0);v&&(e=u/(h||1)%v,b.opposite&&(e=v-e-1),g+=b.labelOffset/v*e);w.x=a;w.y=Math.round(g);k(this,"afterGetLabelPosition",{pos:w});return w},getMarkPath:function(a,g,e,d,m,f){return f.crispLine(["M",a,g,"L",a+(m?0:-e),g+(m?e:0)],d)},renderGridLine:function(a,g,e){var d=this.axis,m=this.gridLine,f={},u=this.pos,h=this.type,b=d.tickmarkOffset,c=d.chart.renderer; m||(h||(f.zIndex=1),a&&(f.opacity=0),this.gridLine=m=c.path().attr(f).addClass("highcharts-"+(h?h+"-":"")+"grid-line").add(d.gridGroup));if(!a&&m&&(a=d.getPlotLinePath(u+b,m.strokeWidth()*e,a,!0)))m[this.isNew?"attr":"animate"]({d:a,opacity:g})},renderMark:function(a,g,e){var d=this.axis,m=d.chart.renderer,f=this.type,u=d.tickSize(f?f+"Tick":"tick"),h=this.mark,b=!h,c=a.x;a=a.y;u&&(d.opposite&&(u[0]=-u[0]),b&&(this.mark=h=m.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(d.axisGroup)),h[b? "attr":"animate"]({d:this.getMarkPath(c,a,u[0],h.strokeWidth()*e,d.horiz,m),opacity:g}))},renderLabel:function(a,k,e,d){var m=this.axis,v=m.horiz,u=m.options,h=this.label,b=u.labels,c=b.step,m=m.tickmarkOffset,n=!0,r=a.x;a=a.y;h&&f(r)&&(h.xy=a=this.getLabelPosition(r,a,h,v,b,m,d,c),this.isFirst&&!this.isLast&&!g(u.showFirstLabel,1)||this.isLast&&!this.isFirst&&!g(u.showLastLabel,1)?n=!1:!v||b.step||b.rotation||k||0===e||this.handleOverflow(a),c&&d%c&&(n=!1),n&&f(a.y)?(a.opacity=e,h[this.isNewLabel? "attr":"animate"](a),this.isNewLabel=!1):(h.attr("y",-9999),this.isNewLabel=!0))},render:function(f,k,e){var d=this.axis,m=d.horiz,v=this.getPosition(m,this.pos,d.tickmarkOffset,k),u=v.x,h=v.y,d=m&&u===d.pos+d.len||!m&&h===d.pos?-1:1;e=g(e,1);this.isActive=!0;this.renderGridLine(k,e,d);this.renderMark(v,e,d);this.renderLabel(v,k,e,f);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}})(J);var V=function(a){var B=a.addEvent,A=a.animObject,C=a.arrayMax,k=a.arrayMin, f=a.correctFloat,g=a.defaultOptions,t=a.defined,x=a.deg2rad,r=a.destroyObjectProperties,e=a.each,d=a.extend,m=a.fireEvent,v=a.format,u=a.getMagnitude,h=a.grep,b=a.inArray,c=a.isArray,n=a.isNumber,I=a.isString,H=a.merge,y=a.normalizeTickInterval,F=a.objectEach,w=a.pick,p=a.removeEvent,E=a.splat,D=a.syncTimeout,L=a.Tick,K=function(){this.init.apply(this,arguments)};a.extend(K.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,labels:{enabled:!0,x:0},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1, enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)}}},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var q=c.isX,l=this;l.chart=a;l.horiz=a.inverted&&!l.isZAxis?!q:q;l.isXAxis=q;l.coll=l.coll||(q?"xAxis":"yAxis");m(this,"init",{userOptions:c}); l.opposite=c.opposite;l.side=c.side||(l.horiz?l.opposite?0:2:l.opposite?1:3);l.setOptions(c);var d=this.options,z=d.type;l.labelFormatter=d.labels.formatter||l.defaultLabelFormatter;l.userOptions=c;l.minPixelPadding=0;l.reversed=d.reversed;l.visible=!1!==d.visible;l.zoomEnabled=!1!==d.zoomEnabled;l.hasNames="category"===z||!0===d.categories;l.categories=d.categories||l.hasNames;l.names||(l.names=[],l.names.keys={});l.plotLinesAndBandsGroups={};l.isLog="logarithmic"===z;l.isDatetimeAxis="datetime"=== z;l.positiveValuesOnly=l.isLog&&!l.allowNegativeLog;l.isLinked=t(d.linkedTo);l.ticks={};l.labelEdge=[];l.minorTicks={};l.plotLinesAndBands=[];l.alternateBands={};l.len=0;l.minRange=l.userMinRange=d.minRange||d.maxZoom;l.range=d.range;l.offset=d.offset||0;l.stacks={};l.oldStacks={};l.stacksTouched=0;l.max=null;l.min=null;l.crosshair=w(d.crosshair,E(a.options.tooltip.crosshairs)[q?0:1],!1);c=l.options.events;-1===b(l,a.axes)&&(q?a.axes.splice(a.xAxis.length,0,l):a.axes.push(l),a[l.coll].push(l));l.series= l.series||[];a.inverted&&!l.isZAxis&&q&&void 0===l.reversed&&(l.reversed=!0);F(c,function(a,b){B(l,b,a)});l.lin2log=d.linearToLogConverter||l.lin2log;l.isLog&&(l.val2lin=l.log2lin,l.lin2val=l.lin2log);m(this,"afterInit")},setOptions:function(a){this.options=H(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],H(g[this.coll],a));m(this,"afterSetOptions",{userOptions:a})}, defaultLabelFormatter:function(){var b=this.axis,c=this.value,d=b.chart.time,l=b.categories,e=this.dateTimeLabelFormat,h=g.lang,p=h.numericSymbols,h=h.numericSymbolMagnitude||1E3,n=p&&p.length,m,f=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(f)m=v(f,this,d);else if(l)m=c;else if(e)m=d.dateFormat(e,c);else if(n&&1E3<=b)for(;n--&&void 0===m;)d=Math.pow(h,n+1),b>=d&&0===10*c%d&&null!==p[n]&&0!==c&&(m=a.numberFormat(c/d,-1)+p[n]);void 0===m&&(m=1E4<=Math.abs(c)?a.numberFormat(c,-1): a.numberFormat(c,-1,void 0,""));return m},getSeriesExtremes:function(){var a=this,b=a.chart;m(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();e(a.series,function(q){if(q.visible||!b.options.chart.ignoreHiddenSeries){var l=q.options,c=l.threshold,d;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=c&&(c=null);if(a.isXAxis)l=q.xData,l.length&&(q=k(l),d=C(l),n(q)||q instanceof Date||(l=h(l,n),q= k(l),d=C(l)),l.length&&(a.dataMin=Math.min(w(a.dataMin,l[0],q),q),a.dataMax=Math.max(w(a.dataMax,l[0],d),d)));else if(q.getExtremes(),d=q.dataMax,q=q.dataMin,t(q)&&t(d)&&(a.dataMin=Math.min(w(a.dataMin,q),q),a.dataMax=Math.max(w(a.dataMax,d),d)),t(c)&&(a.threshold=c),!l.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")},translate:function(a,b,c,l,d,e){var q=this.linkedParent||this,z=1,h=0,p=l?q.oldTransA:q.transA;l=l?q.oldMin:q.min;var m=q.minPixelPadding; d=(q.isOrdinal||q.isBroken||q.isLog&&d)&&q.lin2val;p||(p=q.transA);c&&(z*=-1,h=q.len);q.reversed&&(z*=-1,h-=z*(q.sector||q.len));b?(a=(a*z+h-m)/p+l,d&&(a=q.lin2val(a))):(d&&(a=q.val2lin(a)),a=n(l)?z*(a-l)*p+h+z*m+(n(e)?p*e:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,l,d){var q=this.chart,z=this.left,e=this.top,h,p,m=c&& q.oldChartHeight||q.chartHeight,f=c&&q.oldChartWidth||q.chartWidth,g;h=this.transB;var D=function(a,b,q){if(aq)l?a=Math.min(Math.max(b,a),q):g=!0;return a};d=w(d,this.translate(a,null,null,c));d=Math.min(Math.max(-1E5,d),1E5);a=c=Math.round(d+h);h=p=Math.round(m-d-h);n(d)?this.horiz?(h=e,p=m-this.bottom,a=c=D(a,z,z+this.width)):(a=z,c=f-this.right,h=p=D(h,e,e+this.height)):(g=!0,l=!1);return g&&!l?null:q.renderer.crispLine(["M",a,h,"L",c,p],b||1)},getLinearTickPositions:function(a,b,c){var q, d=f(Math.floor(b/a)*a);c=f(Math.ceil(c/a)*a);var z=[],e;f(d+a)===d&&(e=20);if(this.single)return[b];for(b=d;b<=c;){z.push(b);b=f(b+a,e);if(b===q)break;q=b}return z},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?w(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,l=a.minorTickInterval,d=[],h=a.pointRangePadding||0,p=a.min-h,h=a.max+h,m=h-p;if(m&&m/l=this.minRange,g=this.minRange,l=(g-c+b)/2,l=[b-l,w(a.min,b-l)],d&&(l[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=C(l),c=[b+g,w(a.max,b+g)],d&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=k(c),c-b=F?(I=F,E=0):c.dataMax<=F&&(K=F,D=0)),c.min=w(H,I,c.dataMin),c.max=w(x,K,c.dataMax));d&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,w(c.dataMin,c.min))&&a.error(10,1),c.min=f(c.log2lin(c.min),15),c.max=f(c.log2lin(c.max),15));c.range&&t(c.max)&&(c.userMin=c.min=H=Math.max(c.dataMin,c.minFromRange()),c.userMax=x=c.max,c.range=null);m(c,"foundExtremes"); c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(L||c.axisPointRange||c.usePercentage||g)&&t(c.min)&&t(c.max)&&(q=c.max-c.min)&&(!t(H)&&E&&(c.min-=q*E),!t(x)&&D&&(c.max+=q*D));n(l.softMin)&&!n(c.userMin)&&(c.min=Math.min(c.min,l.softMin));n(l.softMax)&&!n(c.userMax)&&(c.max=Math.max(c.max,l.softMax));n(l.floor)&&(c.min=Math.max(c.min,l.floor));n(l.ceiling)&&(c.max=Math.min(c.max,l.ceiling));r&&t(c.dataMin)&&(F=F||0,!t(H)&&c.min=F?c.min=F:!t(x)&&c.max>F&&c.dataMax<=F&&(c.max= F));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:g&&!v&&k===c.linkedParent.options.tickPixelInterval?v=c.linkedParent.tickInterval:w(v,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,L?1:(c.max-c.min)*k/Math.max(c.len,k));p&&!b&&e(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval)); c.pointRange&&!v&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=w(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!v&&c.tickIntervalc.tickInterval&&1E3c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions;b=this.getMinorTickInterval(); var l=a.tickPositioner,d=a.startOnTick,h=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max, a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,l&&(l=l.apply(this,[this.min,this.max])))&&(this.tickPositions=b=l);this.paddedTicks=b.slice(0);this.trimTicks(b,d,h);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||l||this.adjustTickAmount()); m(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var l=a[0],q=a[a.length-1],d=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==l)this.min=l;else for(;this.min-d>a[0];)a.shift();if(c)this.max=q;else for(;this.max+db&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount, l=this.finalTickAmt,d=b&&b.length,h=w(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(dc&&(this.tickInterval*=2,this.setTickPositions());if(t(l)){for(a=c=b.length;a--;)(3===l&&1===a%2||2>=l&&0q&&(a=q)),t(l)&&(bq&&(b= q))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,d=c.offsets||[0,0,0,0],l=this.horiz,h=this.width=Math.round(a.relativeLength(w(c.width,b.plotWidth-d[3]+d[1]),b.plotWidth)),e=this.height=Math.round(a.relativeLength(w(c.height,b.plotHeight-d[0]+d[2]),b.plotHeight)),p=this.top=Math.round(a.relativeLength(w(c.top,b.plotTop+d[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(w(c.left, b.plotLeft+d[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-p;this.right=b.chartWidth-h-c;this.len=Math.max(l?h:e,0);this.pos=l?c:p},getExtremes:function(){var a=this.isLog;return{min:a?f(this.lin2log(this.min)):this.min,max:a?f(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity=== a?a=b:c>a?a=c:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],l=w(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(l&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,l]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize, this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,l=c,d=this.len/(((this.categories?1:0)+this.max-this.min)/c),h,p=a.rotation,m=this.labelMetrics(),n,g=Number.MAX_VALUE,D,y=function(a){a/=d||1;a=1=a)n=y(Math.abs(m.h/Math.sin(x*a))),b=n+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/l||!b&&(c.style&&parseInt(c.style.width,10)||d&&d-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,l=this.ticks,d=this.options.labels,h=this.horiz, p=this.getSlotWidth(),m=Math.max(1,Math.round(p-2*(d.padding||5))),n={},g=this.labelMetrics(),f=d.style&&d.style.textOverflow,D,y,u=0,w;I(d.rotation)||(n.rotation=d.rotation||0);e(c,function(a){(a=l[a])&&a.label&&a.label.textPxLength>u&&(u=a.label.textPxLength)});this.maxLabelLength=u;if(this.autoRotation)u>m&&u>g.h?n.rotation=this.labelRotation:this.labelRotation=0;else if(p&&(D=m,!f))for(y="clip",m=c.length;!h&&m--;)if(w=c[m],w=l[w].label)w.styles&&"ellipsis"===w.styles.textOverflow?w.css({textOverflow:"clip"}): w.textPxLength>p&&w.css({width:p+"px"}),w.getBBox().height>this.len/c.length-(g.h-g.f)&&(w.specificTextOverflow="ellipsis");n.rotation&&(D=u>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight,f||(y="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))n.align=this.labelAlign;e(c,function(a){var b=(a=l[a])&&a.label,c={};b&&(b.attr(n),!D||d.style&&d.style.width||!(D=this.min&&a<=this.max)d[a]||(d[a]=new L(this,a)),h&&d[a].isNew&&d[a].render(b,!0,.1),d[a].render(b)},render:function(){var b=this,c=b.chart,d=b.options,l=b.isLog,h=b.isLinked,p=b.tickPositions,g=b.axisTitle,f=b.ticks,y=b.minorTicks,u=b.alternateBands,w=d.stackLabels,E=d.alternateGridColor, v=b.tickmarkOffset,k=b.axisLine,r=b.showAxis,I=A(c.renderer.globalAnimation),K,H;b.labelEdge.length=0;b.overlap=!1;e([f,y,u],function(a){F(a,function(a){a.isActive=!1})});if(b.hasData()||h)b.minorTickInterval&&!b.categories&&e(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),p.length&&(e(p,function(a,c){b.renderTick(a,c)}),v&&(0===b.min||b.single)&&(f[-1]||(f[-1]=new L(b,-1,null,!0)),f[-1].render(-1))),E&&e(p,function(d,h){H=void 0!==p[h+1]?p[h+1]+v:b.max-v;0===h%2&&dt&&(!r||b<=x)&&void 0!==b&&m.push(b),b>x&&(c=!0),b=h;else t=this.lin2log(t),x=this.lin2log(x),a=r?this.getMinorTickInterval():e.tickInterval,a=f("auto"===a?null:a,this._minorAutoInterval, e.tickPixelInterval/(r?5:1)*(x-t)/((r?d/this.tickPositions.length:d)||1)),a=k(a,null,A(a)),m=C(this.getLinearTickPositions(a,t,x),this.log2lin),r||(this._minorAutoInterval=a/5);r||(this.tickInterval=a);return m};B.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};B.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a,B){var A=a.arrayMax,C=a.arrayMin,k=a.defined,f=a.destroyObjectProperties,g=a.each,t=a.erase,x=a.merge,r=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&& (this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var e=this,d=e.axis,m=d.horiz,g=e.options,f=g.label,h=e.label,b=g.to,c=g.from,n=g.value,I=k(c)&&k(b),H=k(n),y=e.svgElem,F=!y,w=[],p=r(g.zIndex,0),E=g.events,w={"class":"highcharts-plot-"+(I?"band ":"line ")+(g.className||"")},D={},L=d.chart.renderer,K=I?"bands":"lines",q;d.isLog&&(c=d.log2lin(c),b=d.log2lin(b),n=d.log2lin(n));D.zIndex=p;K+="-"+p;(q=d.plotLinesAndBandsGroups[K])||(d.plotLinesAndBandsGroups[K]=q=L.g("plot-"+ K).attr(D).add());F&&(e.svgElem=y=L.path().attr(w).add(q));if(H)w=d.getPlotLinePath(n,y.strokeWidth());else if(I)w=d.getPlotBandPath(c,b,g);else return;F&&w&&w.length?(y.attr({d:w}),E&&a.objectEach(E,function(a,b){y.on(b,function(a){E[b].apply(e,[a])})})):y&&(w?(y.show(),y.animate({d:w})):(y.hide(),h&&(e.label=h=h.destroy())));f&&k(f.text)&&w&&w.length&&0this.max&&d>this.max;if(g&&e)for(a&&(c=g.toString()===e.toString(),b=0),a=0;af-c?f:f-c);else if(q)b[a]=Math.max(n,e+c+p>d?e:e+c);else return!1},w=function(a,c,d,e){var p;ec-h?p=!1:b[a]=ec-d/2?c-d-2:e-d/2;return p},p= function(a){var b=f;f=m;m=b;n=a},E=function(){!1!==k.apply(0,f)?!1!==w.apply(0,m)||n||(p(!0),E()):n?b.x=b.y=0:(p(!0),E())};(d.inverted||1E&&(c=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=h.plotTop;f.push({target:d.isHeader? h.plotHeight+m:a,rank:d.isHeader?1:0,size:y.tt.getBBox().height+1,point:d,x:E,tt:p})}});this.cleanSplit();a.distribute(f,h.plotHeight+m);B(f,function(a){var b=a.point,d=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:c||b.isHeader?a.x:b.plotX+h.plotLeft+t(n.distance,16),y:a.pos+h.plotTop,anchorX:b.isHeader?b.plotX+h.plotLeft:b.plotX+d.xAxis.pos,anchorY:b.isHeader?a.pos+h.plotTop-15:b.plotY+d.yAxis.pos})})},updatePosition:function(a){var d=this.chart,e=this.getLabel(),e=(this.options.positioner|| this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,g,f,u){var d=this.chart.time,b=d.dateFormat("%m-%d %H:%M:%S.%L",g),c,n,m={millisecond:15,second:12,minute:9,hour:6,day:3},k="millisecond";for(n in e){if(a===e.week&&+d.dateFormat("%w",g)===f&&"00:00:00.000"===b.substr(6)){n="week";break}if(e[n]>a){n=k;break}if(m[n]&&b.substr(m[n])!=="01-01 00:00:00.000".substr(m[n]))break;"week"!==n&&(k=n)}n&& (c=u[n]);return c},getXDateFormat:function(a,e,g){e=e.dateTimeLabelFormats;var d=g&&g.closestPointRange;return(d?this.getDateFormat(d,a.x,g.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){e=e?"footer":"header";var d=a.series,g=d.tooltipOptions,h=g.xDateFormat,b=d.xAxis,c=b&&"datetime"===b.options.type&&k(a.key),n=g[e+"Format"];c&&!h&&(h=this.getXDateFormat(a,g,b));c&&h&&B(a.point&&a.point.tooltipDateKeys||["key"],function(a){n=n.replace("{point."+a+"}","{point."+ a+":"+h+"}")});return C(n,{point:a,series:d},this.chart.time)},bodyFormatter:function(a){return f(a,function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"])})}}})(J);(function(a){var B=a.addEvent,A=a.attr,C=a.charts,k=a.css,f=a.defined,g=a.each,t=a.extend,x=a.find,r=a.fireEvent,e=a.isNumber,d=a.isObject,m=a.offset,v=a.pick,u=a.splat,h=a.Tooltip;a.Pointer=function(a,c){this.init(a, c)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};h&&(a.tooltip=new h(a,c.tooltip),this.followTouchMove=v(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,d=b.options.chart,e=d.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=v(d.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&& !b||a&&b;this.hasZoom=a||e},normalize:function(a,c){var b;b=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;c||(this.chartPosition=c=m(this.chart.container));return t(a,{chartX:Math.round(b.pageX-c.left),chartY:Math.round(b.pageY-c.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};g(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,c,e){var b;g(a,function(a){var h= !(a.noSharedTooltip&&c)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,h);if((h=d(a,!0))&&!(h=!d(b,!0)))var h=b.distX-a.distX,g=b.dist-a.dist,f=(a.series.group&&a.series.group.zIndex)-(b.series.group&&b.series.group.zIndex),h=0<(0!==h&&c?h:0!==g?g:0!==f?f:b.series.index>a.series.index?-1:1);h&&(b=a)});return b},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,c){var b=a.series,d=b.xAxis,b=b.yAxis,e= v(a.clientX,a.plotX),h=a.shapeArgs;if(d&&b)return c?{chartX:d.len+d.pos-e,chartY:b.len+b.pos-a.plotY}:{chartX:e+d.pos,chartY:a.plotY+b.pos};if(h&&h.x&&h.y)return{chartX:h.x,chartY:h.y}},getHoverData:function(b,c,e,h,f,m,k){var n,p=[],y=k&&k.isBoosting;h=!(!h||!b);k=c&&!c.stickyTracking?[c]:a.grep(e,function(a){return a.visible&&!(!f&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(n=h?b:this.findNearestKDPoint(k,f,m))&&n.series;n&&(f&&!c.noSharedTooltip?(k=a.grep(e,function(a){return a.visible&& !(!f&&a.directTouch)&&v(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),g(k,function(a){var b=x(a.points,function(a){return a.x===n.x&&!a.isNull});d(b)&&(y&&(b=a.getPoint(b)),p.push(b))})):p.push(n));return{hoverPoint:n,hoverSeries:c,hoverPoints:p}},runPointActions:function(b,c){var d=this.chart,e=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,h=e?e.shared:!1,f=c||d.hoverPoint,m=f&&f.series||d.hoverSeries,m=this.getHoverData(f,m,d.series,!!c||m&&m.directTouch&&this.isDirectTouch,h, b,{isBoosting:d.isBoosting}),k,f=m.hoverPoint;k=m.hoverPoints;c=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;h=h&&m&&!m.noSharedTooltip;if(f&&(f!==d.hoverPoint||e&&e.isHidden)){g(d.hoverPoints||[],function(b){-1===a.inArray(b,k)&&b.setState()});g(k||[],function(a){a.setState("hover")});if(d.hoverSeries!==m)m.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!f.series)return;f.firePointEvent("mouseOver");d.hoverPoints=k;d.hoverPoint=f;e&&e.refresh(h?k:f,b)}else c&&e&&!e.isHidden&& (f=e.getAnchor([{}],b),e.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(d.container.ownerDocument,"mousemove",function(b){var c=C[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));g(d.axes,function(c){var d=v(c.crosshair.snap,!0),e=d?a.find(k,function(a){return a.series[c.coll]===c}):void 0;e||!d?c.drawCrosshair(b,e):c.hideCrosshair()})},reset:function(a,c){var b=this.chart,d=b.hoverSeries,e=b.hoverPoint,h=b.hoverPoints,f=b.tooltip,m=f&&f.shared?h:e; a&&m&&g(u(m),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&m&&(f.refresh(m),e&&(e.setState(e.state,!0),g(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();h&&g(h,function(a){a.setState()});if(d)d.onMouseOut();f&&f.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());g(b.axes,function(a){a.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,c){var b=this.chart,d;g(b.series,function(e){d= a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),e.markerGroup.clip(c?b.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});b.clipRect.attr(c||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,d=b.options.chart,e=a.chartX,h=a.chartY,g=this.zoomHor,f=this.zoomVert,m=b.plotLeft, p=b.plotTop,k=b.plotWidth,D=b.plotHeight,u,r=this.selectionMarker,q=this.mouseDownX,z=this.mouseDownY,v=d.panKey&&a[d.panKey+"Key"];r&&r.touch||(em+k&&(e=m+k),hp+D&&(h=p+D),this.hasDragged=Math.sqrt(Math.pow(q-e,2)+Math.pow(z-h,2)),10E.max&&(g=E.max-y,t=!0);t?(K-=.8*(K-k[b][0]),D||(z-=.8*(z-k[b][1])),f()):k[b]=[K,z];p||(m[b]=F-v,m[r]=y);m=p?1/w:w;d[r]=y;d[b]=g;e[p?a?"scaleY":"scaleX":"scale"+c]=w;e["translate"+c]=m*v+(K-m*L)},pinch:function(a){var t=this,r=t.chart,e=t.pinchDown,d=a.touches, m=d.length,v=t.lastValidTouch,u=t.hasZoom,h=t.selectionMarker,b={},c=1===m&&(t.inClass(a.target,"highcharts-tracker")&&r.runTrackerClick||t.runChartClick),n={};1b-6&&gp?this.maxItemWidth: a.itemWidth;d&&this.itemX-c+b>p&&(this.itemX=c,this.itemY+=f+this.lastLineHeight+g,this.lastLineHeight=0);this.lastItemY=f+this.itemY+g;this.lastLineHeight=Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=b:(this.itemY+=f+h+g,this.lastLineHeight=h);this.offsetWidth=k||Math.max((d?this.itemX-c-(a.checkbox?0:m):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(b){var c=b&&b.options;b&&e(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 a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,b){var c=this.chart,d=this.options,h=this.getAlignment();h&&f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(g,f){g.test(h)&&!k(a[f])&&(c[x[f]]=Math.max(c[x[f]],c.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1, -1,-1,1][f]*d[f%2?"x":"y"]+e(d.margin,12)+b[f]+(0===f&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},render:function(){var a=this.chart,b=a.renderer,c=this.group,d,e,g,k,u=this.box,w=this.options,p=this.padding;this.itemX=p;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;c||(this.group=c=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(c),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();d=this.getAllItems(); m(d,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});w.reversed&&d.reverse();this.allItems=d;this.display=e=!!d.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f(d,this.renderItem,this);f(d,this.layoutItem,this);g=(w.width||this.offsetWidth)+p;k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);k+=p;u||(this.box=u=b.rect().addClass("highcharts-legend-box").attr({r:w.borderRadius}).add(c), u.isNew=!0);0c&&!1!==p.enabled?(this.clipHeight=k=Math.max(c-20-this.titleHeight-m,0),this.currentPage=e(this.currentPage,1),this.fullHeight=a,f(z,function(a,b){var c=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),e=v.length;if(!e||c-v[e-1]>k&&(q||c)!==v[e-1])v.push(q||c),e++;a.pageIx=e-1;q&&(z[b-1].pageIx=e-1);b===z.length-1&&c+d-v[e-1]>k&&(v.push(c),a.pageIx=e);c!==q&&(q=c)}),u||(u=b.clipRect=d.clipRect(0,m,9999,0),b.contentGroup.clip(u)),t(k),r||(this.nav=r=d.g().attr({zIndex:1}).add(this.group), this.up=d.symbol("triangle",0,0,D,D).on("click",function(){b.scroll(-1,E)}).add(r),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").add(r),this.down=d.symbol("triangle-down",0,0,D,D).on("click",function(){b.scroll(1,E)}).add(r)),b.scroll(0),a=c):r&&(t(),this.nav=r.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,e=c.length;a=this.currentPage+a;var g=this.clipHeight,f=this.pager,h=this.padding;a>e&&(a=e);0b&&(g=typeof d[0],"string"===g?e.name=d[0]:"number"=== g&&(e.x=d[0]),c++);k=f.value;)f=e[++g];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,g=a.hoverPoints,f;a.pointCount--;g&&(this.setState(),k(g,this),g.length||(a.hoverPoints=null)); if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)e(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],e,g=6;g--;)e=a[g],this[e]&&(this[e]=this[e].destroy())},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 d=this.series,e=d.tooltipOptions,f=r(e.valueDecimals,""),h=e.valuePrefix||"",b=e.valueSuffix||"";A(d.pointArrayMap||["y"],function(c){c="{point."+c;if(h||b)a=a.replace(RegExp(c+"}","g"),h+c+"}"+b);a=a.replace(RegExp(c+"}","g"),c+":,."+f+"f}")});return g(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,e,g){var d=this,h=this.series.options;(h.point.events[a]||d.options&&d.options.events&&d.options.events[a])&& this.importEvents();"click"===a&&h.allowPointSelect&&(g=function(a){d.select&&d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});f(this,a,e,g)},visible:!0}})(J);(function(a){var B=a.addEvent,A=a.animObject,C=a.arrayMax,k=a.arrayMin,f=a.correctFloat,g=a.defaultOptions,t=a.defined,x=a.each,r=a.erase,e=a.extend,d=a.fireEvent,m=a.grep,v=a.isArray,u=a.isNumber,h=a.isString,b=a.merge,c=a.objectEach,n=a.pick,I=a.removeEvent,H=a.splat,y=a.SVGElement,F=a.syncTimeout,w=a.win;a.Series=a.seriesType("line",null, {allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10}}, select:{marker:{}}},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",init:function(a,b){var g=this,f,p=a.series,h;g.chart=a;g.options=b=g.setOptions(b);g.linkedSeries=[];g.bindAxes();e(g,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});f=b.events;c(f,function(a,b){B(g,b,a)});if(f&&f.click||b.point&&b.point.events&& b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;g.getColor();g.getSymbol();x(g.parallelArrays,function(a){g[a+"Data"]=[]});g.setData(b.data,!1);g.isCartesian&&(a.hasCartesianSeries=!0);p.length&&(h=p[p.length-1]);g._i=n(h&&h._i,-1)+1;a.orderSeries(this.insert(p));d(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(u(b)){for(c=a.length;c--;)if(b>=n(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return n(c,a.length- 1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;x(b.axisTypes||[],function(g){x(d[g],function(a){e=a.options;if(c[g]===e.index||void 0!==c[g]&&c[g]===e.id||void 0===c[g]&&0===e.index)b.insert(a.series),b[g]=a,a.isDirty=!0});b[g]||b.optionalAxis===g||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,e=u(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))}; x(c.parallelArrays,e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,e=this.chart.time,b=n(b,a.pointStart,0);this.pointInterval=c=n(this.pointInterval,a.pointInterval,1);d&&(a=new e.Date(b),"day"===d?e.set("Date",a,e.get("Date",a)+c):"month"===d?e.set("Month",a,e.get("Month",a)+c):"year"===d&&e.set("FullYear",a,e.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,e=c.options,f=e.plotOptions,h=(c.userOptions|| {}).plotOptions||{},p=f[this.type];this.userOptions=a;c=b(p,f.series,a);this.tooltipOptions=b(g.tooltip,g.plotOptions.series&&g.plotOptions.series.tooltip,g.plotOptions[this.type].tooltip,e.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=n(a.stickyTracking,h[this.type]&&h[this.type].stickyTracking,h.series&&h.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:c.stickyTracking);null===p.marker&&delete c.marker;this.zoneAxis= c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative"});a.length&&t(a[a.length-1].value)&&a.push({});d(this,"afterSetOptions",{options:c});return c},getName:function(){return this.name||"Series "+(this.index+1)},getCyclic:function(a,b,c){var d,e=this.chart,g=this.userOptions,f=a+"Index",h=a+"Counter",l=c?c.length:n(e.options.chart[a+"Count"],e[a+"Count"]);b||(d=n(g[f], g["_"+f]),t(d)||(e.series.length||(e[h]=0),g["_"+f]=d=e[h]%l,e[h]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.getCyclic("color")},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,e=[],g,f,h,p=this.requireSorting;x(b,function(b){var f;f=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this}, b).x;u(f)&&(f=a.inArray(f,this.xData,h),-1===f?e.push(b):b!==c.data[f]?(d[f].update(b,!1,null,!1),d[f].touched=!0,p&&(h=f)):d[f]&&(d[f].touched=!0),g=!0)},this);if(g)for(b=d.length;b--;)f=d[b],f.touched||f.remove(!1),f.touched=!1;else if(b.length===d.length)x(b,function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;x(e,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,c,d,e){var g=this,f=g.points,p=f&&f.length||0,m,l=g.options,k=g.chart,D=null,r=g.xAxis, w=l.turboThreshold,y=this.xData,E=this.yData,L=(m=g.pointArrayMap)&&m.length,t;b=b||[];m=b.length;c=n(c,!0);!1!==e&&m&&p&&!g.cropped&&!g.hasGroupedData&&g.visible&&(t=this.updateData(b));if(!t){g.xIncrement=null;g.colorCounter=0;x(this.parallelArrays,function(a){g[a+"Data"].length=0});if(w&&m>w){for(d=0;null===D&&dl||this.forceCrop))if(c[e-1]y)c=[],d=[];else if(c[0]y)g=this.cropData(this.xData,this.yData,w,y),c=g.xData,d=g.yData,g=g.start,f=!0;for(l=c.length||1;--l;)e=u? m(c[l])-m(c[l-1]):c[l]-c[l-1],0e&&r&&(a.error(15),r=!1);this.cropped=f;this.cropStart=g;this.processedXData=c;this.processedYData=d;this.closestPointRange=h},cropData:function(a,b,c,d,e){var g=a.length,f=0,h=g,l;e=n(e,this.cropShoulder,1);for(l=0;l=c){f=Math.max(0,l-e);break}for(c=l;cd){h=c+e;break}return{xData:a.slice(f,h),yData:b.slice(f,h),start:f,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,e=this.processedXData, g=this.processedYData,f=this.pointClass,h=e.length,l=this.cropStart||0,m,k=this.hasGroupedData,a=a.keys,n,u=[],w;c||k||(c=[],c.length=b.length,c=this.data=c);a&&k&&(this.options.keys=!1);for(w=0;w=f&&(c[w-m]||p)<=h,l&&p)if(l=n.length)for(;l--;)"number"===typeof n[l]&&(e[g++]=n[l]); else e[g++]=n;this.dataMin=k(e);this.dataMax=C(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,g=this.yAxis,h=this.points,m=h.length,k=!!this.modifyValue,l=a.pointPlacement,w="between"===l||u(l),r=a.threshold,y=a.startFromThreshold?r:0,v,F,x,H,I=Number.MAX_VALUE;"between"===l&&(l=.5);u(l)&&(l*=n(a.pointRange||c.pointRange));for(a=0;a=C&&(A.isNull=!0);A.plotX=v=f(Math.min(Math.max(-1E5,c.translate(B,0,0,0,1,l,"flags"===this.type)),1E5));b&&this.visible&&!A.isNull&&J&&J[B]&&(H=this.getStackIndicator(H,B,this.index),U=J[B],C=U.points[H.key],F=C[0],C=C[1],F===y&&H.key===J[B].base&&(F=n(u(r)&&r,g.min)),g.positiveValuesOnly&&0>=F&&(F=null),A.total=A.stackTotal=U.total,A.percentage=U.total&&A.y/U.total*100,A.stackY=C,U.setOffset(this.pointXOffset||0,this.barW||0)); A.yBottom=t(F)?Math.min(Math.max(-1E5,g.translate(F,0,1,0,1)),1E5):null;k&&(C=this.modifyValue(C,A));A.plotY=F="number"===typeof C&&Infinity!==C?Math.min(Math.max(-1E5,g.translate(C,0,1,0,1)),1E5):void 0;A.isInside=void 0!==F&&0<=F&&F<=g.len&&0<=v&&v<=c.len;A.clientX=w?f(c.translate(B,0,0,0,1,l)):v;A.negative=A.y<(r||0);A.category=e&&void 0!==e[A.x]?e[A.x]:A.x;A.isNull||(void 0!==x&&(I=Math.min(I,Math.abs(v-x))),x=v);A.zone=this.zones.length&&A.getZone()}this.closestPointRangePx=I;d(this,"afterTranslate")}, getValidPoints:function(a,b){var c=this.chart;return m(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,g=this.clipBox,f=g||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),l=b[h],p=b[h+"m"];l||(a&&(f.width=0,e&&(f.x=b.plotSizeX),b[h+"m"]=p=d.clipRect(e?b.plotSizeX+99:-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth: b.chartHeight)),b[h]=l=d.clipRect(f),l.count={length:0});a&&!l.count[this.index]&&(l.count[this.index]=!0,l.count.length+=1);!1!==c.clip&&(this.group.clip(a||g?l:b.clipRect),this.markerGroup.clip(p),this.sharedClipKey=h);a||(l.count[this.index]&&(delete l.count[this.index],--l.count.length),0===l.count.length&&h&&b[h]&&(g||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=A(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&& a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();d(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,e,g,f=this.options.marker,h,l,m,k=this[this.specialGroup]||this.markerGroup,w,u=n(f.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(c=0;cu.max;a.resetZones&&0===g&&(g=void 0)}),this.clips=f)},invertGroups:function(a){function b(){x(["group","markerGroup"],function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height= c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=B(d,"resize",b),B(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var g=this[a],f=!g;f&&(this[a]=g=this.chart.renderer.g().attr({zIndex:d||.1}).add(e));g.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr({visibility:c})[f? "attr":"animate"](this.getPlotBox());return g},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,c,e=a.options,g=!!a.animate&&b.renderer.isSVG&&A(e.animation).duration,f=a.visible?"inherit":"hidden",h=e.zIndex,m=a.hasRendered,l=b.seriesGroup,k=b.inverted;c=a.plotGroup("group","series",f,h,l);a.markerGroup=a.plotGroup("markerGroup", "markers",f,h,l);g&&a.animate(!0);c.inverted=a.isCartesian?k:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(k);!1===e.clip||a.sharedClipKey||m||c.clip(b.clipRect);g&&a.animate();m||(a.animationTimeout=F(function(){a.afterAnimate()},g));a.isDirty=!1;a.hasRendered=!0;d(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c= this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:n(d&&d.left,a.plotLeft),translateY:n(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c, d,e){var g,f;if(f=c&&c.length)return g=b.kdAxisArray[d%e],c.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),d+1,e),right:a(c.slice(f+1),d+1,e)}}this.buildingKdTree=!0;var b=this,c=-1k?"left":"right";q=0>k?"right":"left";b[p]&&(p=c(a,b[p],h+1,m),n=p[f]u;)w--;this.updateParallelArrays(p,"splice",w,0,0);this.updateParallelArrays(p,w);m&&p.name&&(m[u]=p.name);k.splice(w,0,a);l&&(this.data.splice(w,0,null),this.processData());"point"===g.legendType&&this.generatePoints();d&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(p,"shift"),k.shift()));this.isDirtyData=this.isDirty=!0;c&&h.redraw(e)},removePoint:function(a,c,d){var e=this,g=e.data,f=g[a],h=e.points,m=e.chart,p=function(){h&&h.length===g.length&& h.splice(a,1);g.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(f||{series:e},"splice",a,1);f&&f.destroy();e.isDirty=!0;e.isDirtyData=!0;c&&m.redraw()};H(d,m);c=b(c,!0);f?f.firePointEvent("remove",null,p):p()},remove:function(a,c,d){function e(){g.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();b(a,!0)&&f.redraw(c)}var g=this,f=g.chart;!1!==d?r(g,"remove",null,e):e()},update:function(c,d){var f=this,h=f.chart,m=f.userOptions,k=f.oldType||f.type,n=c.type||m.type||h.options.chart.type, q=I[k].prototype,w,y=["group","markerGroup","dataLabelsGroup"],l=["navigatorSeries","baseSeries"],v=f.finishedAnimating&&{animation:!1},t=["data","name","turboThreshold"],F=a.keys(c),H=0=Math.abs(d)&&.5a.closestPointRange*a.xAxis.transA,k=a.borderWidth=g(f.borderWidth,k?0:1),u=a.yAxis,h=f.threshold,b=a.translatedThreshold=u.getThreshold(h),c=g(f.minPointLength,5),n=a.getColumnMetrics(),r=n.width,x=a.barW=Math.max(r,1+2*k),y=a.pointXOffset=n.offset;d.inverted&&(b-=.5);f.pointPadding&& (x=Math.ceil(x));t.prototype.translate.apply(a);A(a.points,function(e){var f=g(e.yBottom,b),m=999+Math.abs(f),m=Math.min(Math.max(-m,e.plotY),u.len+m),k=e.plotX+y,n=x,t=Math.min(m,f),v,q=Math.max(m,f)-t;c&&Math.abs(q)c?f-c:b-(v?c:0));e.barX=k;e.pointWidth=r;e.tooltipPos=d.inverted?[u.len+u.pos-d.plotLeft-m,a.xAxis.len-k-n/2,q]:[k+n/2,m+u.pos-d.plotTop,q];e.shapeType="rect";e.shapeArgs= a.crispCol.apply(a,e.isNull?[k,b,n,0]:[k,t,n,q])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},drawPoints:function(){var a=this,d=this.chart,g=a.options,r=d.renderer,u=g.animationLimit||250,h;A(a.points,function(b){var c=b.graphic,e=c&&d.pointCountv){h(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(p=f=0;p<=v;)p+=b[f].size,f++;r=b.splice(f-1,b.length)}h(b,g);for(b=t(b,function(a){return{size:a.size,targets:[a.target],align:e(a.align,.5)}});m;){for(f=b.length;f--;)m=b[f],p=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/2,m.pos=Math.min(Math.max(0,p-m.size*m.align),c-m.size);f=b.length;for(m=!1;f--;)0b[f].pos&&(b[f-1].size+=b[f].size,b[f-1].targets= b[f-1].targets.concat(b[f].targets),b[f-1].align=.5,b[f-1].pos+b[f-1].size>c&&(b[f-1].pos=c-b[f-1].size),b.splice(f,1),m=!0)}n.push.apply(n,r);f=0;u(b,function(b){var e=0;if(u(b.targets,function(){n[f].pos=b.pos+e;if(Math.abs(n[f].pos-n[f].target)>d)return k(n.slice(0,f+1),function(a){delete a.pos}),n.reducedLen=(n.reducedLen||c)-.1*c,n.reducedLen>.1*c&&a.distribute(n,c,d),!0;e+=n[f].size;f++}))return!0});h(n,g)};m.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator, a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}var c=this,d=c.chart,f=c.options,h=f.dataLabels,m=c.points,u,r,p=c.hasRendered||0,t,v,A=e(h.defer,!!f.animation),K=d.renderer;if(h.enabled||c._hasPointLabels)c.dlProcessOptions&&c.dlProcessOptions(h),v=c.plotGroup("dataLabelsGroup","data-labels",A&&!p?"hidden":"visible",h.zIndex||6),A&&(v.attr({opacity:+p}),p||B(c,"afterAnimate",function(){c.visible&& v.show(!0);v[f.animation?"animate":"attr"]({opacity:1},{duration:200})})),r=h,k(m,function(f){var m,k=f.dataLabel,l,n,p=f.connector,q=!k,w;u=f.dlOptions||f.options&&f.options.dataLabels;(m=e(u&&u.enabled,r.enabled)&&!f.isNull)&&(m=!0===b(f,u||h));m&&(h=x(r,u),l=f.getLabelConfig(),w=h[f.formatPrefix+"Format"]||h.format,t=C(w)?g(w,l,d.time):(h[f.formatPrefix+"Formatter"]||h.formatter).call(l,h),l=h.rotation,n={r:h.borderRadius||0,rotation:l,padding:h.padding,zIndex:1},a.objectEach(n,function(a,b){void 0=== a&&delete n[b]}));!k||m&&C(t)?m&&C(t)&&(k?n.text=t:(k=f.dataLabel=l?K.text(t,0,-9999).addClass("highcharts-data-label"):K.label(t,0,-9999,h.shape,null,null,h.useHTML,null,"data-label"),k.addClass(" highcharts-data-label-color-"+f.colorIndex+" "+(h.className||"")+(h.useHTML?"highcharts-tracker":""))),k.attr(n),k.added||k.add(v),c.alignDataLabel(f,k,h,null,q)):(f.dataLabel=k=k.destroy(),p&&(f.connector=p.destroy()))});a.fireEvent(this,"afterDrawDataLabels")};m.prototype.alignDataLabel=function(a,c, d,g,h){var b=this.chart,m=b.inverted,k=e(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),n=e(a.plotY,-9999),u=c.getBBox(),r,t=d.rotation,v=d.align,q=this.visible&&(a.series.forceDL||b.isInsidePlot(k,Math.round(n),m)||g&&b.isInsidePlot(k,m?g.x+1:g.y+g.height-1,m)),z="justify"===e(d.overflow,"justify");if(q&&(r=b.renderer.fontMetrics(void 0,c).b,g=f({x:m?this.yAxis.len-n:k,y:Math.round(m?this.xAxis.len-k:n),width:0,height:0},g),f(d,{width:u.width,height:u.height}),t?(z=!1,k=b.renderer.rotCorr(r,t),k={x:g.x+ d.x+g.width/2+k.x,y:g.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*g.height},c[h?"attr":"animate"](k).attr({align:v}),n=(t+720)%360,n=180n,"left"===v?k.y-=n?u.height:0:"center"===v?(k.x-=u.width/2,k.y-=u.height/2):"right"===v&&(k.x-=u.width,k.y-=n?0:u.height),c.placed=!0,c.alignAttr=k):(c.align(d,null,g),k=c.alignAttr),z?a.isLabelJustified=this.justifyDataLabel(c,d,k,u,g,h):e(d.crop,!0)&&(q=b.isInsidePlot(k.x,k.y)&&b.isInsidePlot(k.x+u.width,k.y+u.height)),d.shape&&!t))c[h?"attr":"animate"]({anchorX:m? b.plotWidth-a.plotY:a.plotX,anchorY:m?b.plotHeight-a.plotX:a.plotY});q||(c.attr({y:-9999}),c.placed=!1)};m.prototype.justifyDataLabel=function(a,c,d,e,f,g){var b=this.chart,h=c.align,m=c.verticalAlign,k,n,u=a.box?0:a.padding||0;k=d.x+u;0>k&&("right"===h?c.align="left":c.x=-k,n=!0);k=d.x+e.width-u;k>b.plotWidth&&("left"===h?c.align="right":c.x=b.plotWidth-k,n=!0);k=d.y+u;0>k&&("bottom"===m?c.verticalAlign="top":c.y=-k,n=!0);k=d.y+e.height-u;k>b.plotHeight&&("top"===m?c.verticalAlign="bottom":c.y=b.plotHeight- k,n=!0);n&&(a.placed=!g,a.align(c,null,f));return n};v.pie&&(v.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,f=b.chart,g=b.options.dataLabels,h=e(g.connectorPadding,10),u=e(g.connectorWidth,1),r=f.plotWidth,p=f.plotHeight,t=Math.round(f.chartWidth/3),v,x=b.center,B=x[2]/2,q=x[1],z,M,l,G,J=[[],[]],Q,O,P,N,R=[0,0,0,0];b.visible&&(g.enabled||b._hasPointLabels)&&(k(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}), a.dataLabel.shortened=!1)}),m.prototype.drawDataLabels.apply(b),k(c,function(a){a.dataLabel&&a.visible&&(J[a.half].push(a),a.dataLabel._pos=null,a.dataLabel.getBBox().width>t&&(a.dataLabel.css({width:.7*t}),a.dataLabel.shortened=!0))}),k(J,function(c,m){var n,u,w=c.length,y=[],t;if(w)for(b.sortByAngle(c,m-.5),0d.bottom-2?n:O,m,d),z._attr={visibility:P, align:l[6]},z._pos={x:Q+g.x+({left:h,right:-h}[l[6]]||0),y:O+g.y-10},l.x=Q,l.y=O,e(g.crop,!0)&&(M=z.getBBox().width,n=null,Q-Mr-h&&0===m&&(n=Math.round(Q+M-r+h),R[1]=Math.max(n,R[1])),0>O-G/2?R[0]=Math.max(Math.round(-O+G/2),R[0]):O+G/2>p&&(R[2]=Math.max(Math.round(O+G/2-p),R[2])),z.sideOverflow=n)}),0===A(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),u&&k(this.points,function(a){var c;v=a.connector;if((z=a.dataLabel)&&z._pos&& a.visible&&0e(this.translatedThreshold,h.yAxis.len)),u=e(d.inside,!!this.options.stacking);k&&(f=x(k),0>f.y&&(f.height+=f.y,f.y=0),k=f.y+f.height-h.yAxis.len,0a+d||f+hb+e||g+mthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&t(d,function(a){a.setState()});t("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),k=b.toValue(g-f,!0)+h*m,m=b.toValue(g+b.len-f,!0)-h*m,n=m=g(e.minWidth,0)&&this.chartHeight>=g(e.minHeight,0)}).call(this)&&f.push(a._id)};B.prototype.currentOptions=function(g){function r(d,e,g,u){var h;a.objectEach(d,function(a,c){if(!u&&-1g?this:a,a=(g.max-g.min)*g.transA,g.pixelPadding=g.len-a,g.minPixelPadding=g.pixelPadding/2,a=g.fixTo)){a=a[1]-g.toValue(a[0],!0);a*=g.transA; if(Math.abs(a)>g.minPixelPadding||g.min===g.dataMin&&g.max===g.dataMax)a=0;g.minPixelPadding-=a}});B(A,"render",function(){this.fixTo=null})})(J);(function(a){var B=a.addEvent,A=a.Axis,C=a.Chart,k=a.color,f,g=a.each,t=a.extend,x=a.isNumber,r=a.Legend,e=a.LegendSymbolMixin,d=a.noop,m=a.merge,v=a.pick;a.ColorAxis||(f=a.ColorAxis=function(){this.init.apply(this,arguments)},t(f.prototype,A.prototype),t(f.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",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(A.prototype.keepProps),init:function(a,d){var b="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=m(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},d,{opposite:!b,showEmpty:!1,title:null,visible:a.options.legend.enabled}); A.prototype.init.call(this,a,c);d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(a){var d,b=0,c=this.chart.options.chart.colorCount,e=this.options,f=a.dataClasses.length;this.dataClasses=d=[];this.legendItems=[];g(a.dataClasses,function(a,g){a=m(a);d.push(a);"category"===e.dataClassColor?(a.colorIndex=b,b++,b===c&&(b=0)):a.color=k(e.minColor).tweenTo(k(e.maxColor),2>f?.5:g/(f-1))})},setTickPositions:function(){if(!this.dataClasses)return A.prototype.setTickPositions.call(this)}, initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];g(this.stops,function(a){a.color=k(a[1])})},setOptions:function(a){A.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,b=d.options.legend||{},c,e;a?(this.left=b=a.attr("x"),this.top=c=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-b-e,this.bottom=d.chartHeight- c-a,this.len=this.horiz?e:a,this.pos=this.horiz?b:c):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,d){var b=this.stops,c,e,f=this.dataClasses,g,h;if(f)for(h=f.length;h--;){if(g=f[h],c=g.from,b=g.to,(void 0===c||a>=c)&&(void 0===b||a<=b)){d&&(d.dataClass=h,d.colorIndex=g.colorIndex);break}}else{a=this.normalizedValue(a);for(h=b.length;h--&&!(a> b[h][0]););c=b[h]||b[h+1];b=b[h+1]||c;a=1-(b[0]-a)/(b[0]-c[0]||1);e=c.color.tweenTo(b.color,a)}return e},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,A.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2], y2:a[3]},stops:this.stops}},drawLegendSymbol:function(a,d){var b=a.padding,c=a.options,e=this.horiz,f=v(c.symbolWidth,e?this.defaultLegendLength:12),g=v(c.symbolHeight,e?12:this.defaultLegendLength),h=v(c.labelPadding,e?16:30),c=v(c.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(d.legendGroup);this.legendItemWidth=f+b+(e?c:h);this.legendItemHeight=g+b+(e?h:0)},setState:function(a){g(this.series,function(d){d.setState(a)})}, visible:!0,setVisible:d,getSeriesExtremes:function(){var a=this.series,d=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;)void 0!==a[d].valueMin&&(this.dataMin=Math.min(this.dataMin,a[d].valueMin),this.dataMax=Math.max(this.dataMax,a[d].valueMax))},drawCrosshair:function(a,d){var b=d&&d.plotX,c=d&&d.plotY,e,f=this.pos,g=this.len;d&&(e=this.toPixels(d[d.series.colorKey]),ef+g&&(e=f+g+2),d.plotX=e,d.plotY=this.len-e,A.prototype.drawCrosshair.call(this,a,d),d.plotX=b,d.plotY= c,this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0))},getPlotLinePath:function(a,d,b,c,e){return x(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:A.prototype.getPlotLinePath.call(this,a,d,b,c)},update:function(a,d){var b=this.chart,c=b.legend;g(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&& (g(c.allItems,function(a){a.isDataClass&&a.legendGroup&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=m(this.userOptions,a);A.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},remove:function(){this.legendItem&&this.chart.legend.destroyItem(this);A.prototype.remove.call(this)},getDataClassLegendSymbols:function(){var f=this,h=this.chart,b=this.legendItems,c=h.options.legend,m=c.valueDecimals,k=c.valueSuffix||"",r;b.length||g(this.dataClasses, function(c,n){var u=!0,p=c.from,v=c.to;r="";void 0===p?r="\x3c ":void 0===v&&(r="\x3e ");void 0!==p&&(r+=a.numberFormat(p,m)+k);void 0!==p&&void 0!==v&&(r+=" - ");void 0!==v&&(r+=a.numberFormat(v,m)+k);b.push(t({chart:h,name:r,options:{},drawLegendSymbol:e.drawRectangle,visible:!0,setState:d,isDataClass:!0,setVisible:function(){u=this.visible=!u;g(f.series,function(a){g(a.points,function(a){a.dataClass===n&&a.setVisible(u)})});h.legend.colorizeItem(this,u)}},c))});return b},name:""}),g(["fill","stroke"], function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,k(this.start).tweenTo(k(this.end),this.pos),null,!0)}}),B(C,"afterGetAxes",function(){var a=this.options.colorAxis;this.colorAxis=[];a&&new f(this,a)}),B(r,"afterGetAllItems",function(d){var e=[],b=this.chart.colorAxis[0];b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?e=b.getDataClassLegendSymbols():e.push(b)),g(b.series,function(b){a.erase(d.allItems,b)}));for(;e.length;)d.allItems.unshift(e.pop())}),B(r,"afterColorizeItem", function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}),B(r,"afterUpdate",function(a,d,b){this.chart.colorAxis[0]&&this.chart.colorAxis[0].update({},b)}))})(J);(function(a){var B=a.defined,A=a.each,C=a.noop;a.colorPointMixin={isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setVisible:function(a){var f=this,g=a?"show":"hide";A(["graphic","dataLabel"],function(a){if(f[a])f[a][g]()})},setState:function(k){a.Point.prototype.setState.call(this, k);this.graphic&&this.graphic.attr({zIndex:"hover"===k?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,f=this.options.nullColor,g=this.colorAxis,t=this.colorKey;A(this.data,function(k){var r=k[t];if(r=k.options.color||(k.isNull?f:g&&void 0!==r?g.toColor(r,k):k.color||a.color))k.color= r})},colorAttribs:function(a){var f={};B(a.color)&&(f[this.colorProp||"fill"]=a.color);return f}}})(J);(function(a){function B(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function A(a){this.init(a)}var C=a.addEvent,k=a.Chart,f=a.doc,g=a.each,t=a.extend,x=a.merge,r=a.pick;A.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};A.prototype.update=function(e){var d=this.chart,f=d.options.mapNavigation,g,k=function(a){this.handler.call(d, a);B(a)},h=d.mapNavButtons;e&&(f=d.options.mapNavigation=x(d.options.mapNavigation,e));for(;h.length;)h.pop().destroy();r(f.enableButtons,f.enabled)&&!d.renderer.forExport&&a.objectEach(f.buttons,function(a,c){g=x(f.buttonOptions,a);a=d.renderer.button(g.text,0,0,k,void 0,void 0,void 0,0,"zoomIn"===c?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:g.width,height:g.height,title:d.options.lang[c],padding:g.padding,zIndex:5}).add();a.handler=g.onclick;a.align(t(g,{width:a.width, height:2*a.height}),null,g.alignTo);C(a.element,"dblclick",B);h.push(a)});this.updateEvents(f)};A.prototype.updateEvents=function(a){var d=this.chart;r(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||C(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());r(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||C(d.container,void 0===f.onmousewheel? "DOMMouseScroll":"mousewheel",function(a){d.pointer.onContainerMouseWheel(a);B(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};t(k.prototype,{fitToBox:function(a,d){g([["x","width"],["y","height"]],function(e){var f=e[0];e=e[1];a[f]+a[e]>d[f]+d[e]&&(a[e]>d[e]?(a[e]=d[e],a[f]=d[f]):a[f]=d[f]+d[e]-a[e]);a[e]>d[e]&&(a[e]=d[e]);a[f]=e.dataMax-e.dataMin&&c.y<=b.dataMin&&c.height>=b.dataMax-b.dataMin;g&&(e.fixTo=[g-e.pos,d]);k&&(b.fixTo=[k-b.pos,f]);void 0===a||m?(e.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(e.setExtremes(c.x,c.x+c.width,!1),b.setExtremes(c.y,c.y+c.height,!1)); this.redraw()}});C(k,"beforeRender",function(){this.mapNavigation=new A(this);this.mapNavigation.update()})})(J);(function(a){var B=a.extend,A=a.pick,C=a.Pointer;a=a.wrap;B(C.prototype,{onContainerDblClick:function(a){var f=this.chart;a=this.normalize(a);f.options.mapNavigation.enableDoubleClickZoomTo?f.pointer.inClass(a.target,"highcharts-tracker")&&f.hoverPoint&&f.hoverPoint.zoomTo():f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(.5,f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY), a.chartX,a.chartY)},onContainerMouseWheel:function(a){var f=this.chart,g;a=this.normalize(a);g=a.detail||-(a.wheelDelta/120);f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(Math.pow(f.options.mapNavigation.mouseWheelSensitivity,g),f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var f=this.chart.options.mapNavigation;A(f.enableTouchZoom,f.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments, 1))});a(C.prototype,"pinchTranslate",function(a,f,g,t,x,r,e){a.call(this,f,g,t,x,r,e);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=t.scaleX>t.scaleY,this.pinchTranslateDirection(!a,f,g,t,x,r,e,a?t.scaleX:t.scaleY))})})(J);(function(a){var B=a.colorPointMixin,A=a.each,C=a.extend,k=a.isNumber,f=a.map,g=a.merge,t=a.noop,x=a.pick,r=a.isArray,e=a.Point,d=a.Series,m=a.seriesType,v=a.seriesTypes,u=a.splat,h=void 0!==a.doc.documentElement.style.vectorEffect;m("map","scatter",{allAreas:!0,animation:!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}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:null,brightness:.2}}},g(a.colorSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:t,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c= Number.MAX_VALUE,d=-c,e=c,f=-c,g=c,h=c,m=this.xAxis,p=this.yAxis,r;A(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var m=b.path||[],n=m.length,q=!1,p=-c,u=c,l=-c,t=c,v=b.properties;if(!b._foundBox){for(;n--;)k(m[n])&&(q?(p=Math.max(p,m[n]),u=Math.min(u,m[n])):(l=Math.max(l,m[n]),t=Math.min(t,m[n])),q=!q);b._midX=u+(p-u)*x(b.middleX,v&&v["hc-middle-x"],.5);b._midY=t+(l-t)*x(b.middleY,v&&v["hc-middle-y"],.5);b._maxX=p;b._minX=u;b._maxY=l;b._minY=t;b.labelrank=x(b.labelrank, (p-u)*(l-t));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);f=Math.max(f,b._maxY);g=Math.min(g,b._minY);h=Math.min(b._maxX-b._minX,b._maxY-b._minY,h);r=!0}});r&&(this.minY=Math.min(g,x(this.minY,c)),this.maxY=Math.max(f,x(this.maxY,-c)),this.minX=Math.min(e,x(this.minX,c)),this.maxX=Math.max(d,x(this.maxX,-c)),m&&void 0===m.options.minRange&&(m.minRange=Math.min(5*h,(this.maxX-this.minX)/5,m.minRange||c)),p&&void 0===p.options.minRange&&(p.minRange=Math.min(5*h,(this.maxY-this.minY)/5, p.minRange||c)))},getExtremes:function(){d.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,d=this.xAxis,e=this.yAxis,f=d.min,g=d.transA,d=d.minPixelPadding,h=e.min,m=e.transA,e=e.minPixelPadding,p,r=[];if(a)for(p=a.length;p--;)k(a[p])?(r[p]=b?(a[p]-f)*g+d:(a[p]-h)*m+e,b=!b):r[p]=a[p];return r}, setData:function(b,c,e,h){var m=this.options,n=this.chart.options.chart,t=n&&n.map,v=m.mapData,p=m.joinBy,x=null===p,B=m.keys||this.pointArrayMap,C=[],I={},q=this.chart.mapTransforms;!v&&t&&(v="string"===typeof t?a.maps[t]:t);x&&(p="_i");p=this.joinBy=u(p);p[1]||(p[1]=p[0]);b&&A(b,function(c,d){var e=0;if(k(c))b[d]={value:c};else if(r(c)){b[d]={};!m.keys&&c.length>B.length&&"string"===typeof c[0]&&(b[d]["hc-key"]=c[0],++e);for(var f=0;fm&&.99k&&(k=m=1,p=Math.round(p),r=Math.round(r)),t=this.transformGroup,f.renderer.globalAnimation?(x=t.attr("translateX"),q=t.attr("translateY"),z=t.attr("scaleX"),B=t.attr("scaleY"),t.attr({animator:0}).animate({animator:1},{step:function(a, b){t.attr({translateX:x+(p-x)*b.pos,translateY:q+(r-q)*b.pos,scaleX:z+(m-z)*b.pos,scaleY:B+(k-B)*b.pos})}})):t.attr({translateX:p,translateY:r,scaleX:m,scaleY:k}));h||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/(m||1));this.drawMapDataLabels()},drawMapDataLabels:function(){d.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=d.prototype.render; a.chart.renderer.isVML&&3E3=this.minPxSize/2?(k.marker=a.extend(k.marker,{radius:h,width:2*h,height:2*h}),k.dlBox={x:k.plotX-h,y:k.plotY-h,width:2*h,height:2*h}):k.shapeArgs=k.plotY=k.dlBox=void 0},alignDataLabel:d.column.prototype.alignDataLabel,buildKDTree:g,applyZones:g},{haloPath:function(a){return r.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});C.prototype.beforePadding=function(){var a=this,d=this.len,e=this.chart,g=0,b=d,c=this.isXAxis, n=c?"xData":"yData",r=this.min,C={},y=Math.min(e.plotWidth,e.plotHeight),F=Number.MAX_VALUE,w=-Number.MAX_VALUE,p=this.max-r,E=d/p,D=[];k(this.series,function(b){var d=b.options;!b.bubblePadding||!b.visible&&e.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,D.push(b),c&&(k(["minSize","maxSize"],function(a){var b=d[a],c=/%$/.test(b),b=x(b);C[a]=c?y*b/100:b}),b.minPxSize=C.minSize,b.maxPxSize=Math.max(C.maxSize,C.minSize),b=b.zData,b.length&&(F=t(d.zMin,Math.min(F,Math.max(A(b),!1===d.displayNegative? d.zThreshold:-Number.MAX_VALUE))),w=t(d.zMax,Math.max(w,B(b))))))});k(D,function(d){var e=d[n],h=e.length,m;c&&d.getRadii(F,w,d.minPxSize,d.maxPxSize);if(0b,g=e[d][1]>b,f!==g&&h<(e[d][0]-e[a][0])*(b-e[a][1])/(e[d][1]-e[a][1])+e[a][0]&&(k=!k);return k}var A=a.Chart,C=a.each,k=a.extend,f=a.format,g=a.merge,t=a.win,x=a.wrap;A.prototype.transformFromLatLon=function(f,e){if(void 0===t.proj4)return a.error(21),{x:0,y:null};f=t.proj4(e.crs,[f.lon,f.lat]);var d=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle||e.rotation&&Math.sin(e.rotation);f=e.rotation?[f[0]*d+f[1]*g,-f[0]*g+f[1]* d]:f;return{x:((f[0]-(e.xoffset||0))*(e.scale||1)+(e.xpan||0))*(e.jsonres||1)+(e.jsonmarginX||0),y:(((e.yoffset||0)-f[1])*(e.scale||1)+(e.ypan||0))*(e.jsonres||1)-(e.jsonmarginY||0)}};A.prototype.transformToLatLon=function(f,e){if(void 0===t.proj4)a.error(21);else{f={x:((f.x-(e.jsonmarginX||0))/(e.jsonres||1)-(e.xpan||0))/(e.scale||1)+(e.xoffset||0),y:((-f.y-(e.jsonmarginY||0))/(e.jsonres||1)+(e.ypan||0))/(e.scale||1)+(e.yoffset||0)};var d=e.cosAngle||e.rotation&&Math.cos(e.rotation),g=e.sinAngle|| e.rotation&&Math.sin(e.rotation);e=t.proj4(e.crs,"WGS84",e.rotation?{x:f.x*d+f.y*-g,y:f.x*g+f.y*d}:f);return{lat:e.y,lon:e.x}}};A.prototype.fromPointToLatLon=function(f){var e=this.mapTransforms,d;if(e){for(d in e)if(e.hasOwnProperty(d)&&e[d].hitZone&&B({x:f.x,y:-f.y},e[d].hitZone.coordinates[0]))return this.transformToLatLon(f,e[d]);return this.transformToLatLon(f,e["default"])}a.error(22)};A.prototype.fromLatLonToPoint=function(f){var e=this.mapTransforms,d,g;if(!e)return a.error(22),{x:0,y:null}; for(d in e)if(e.hasOwnProperty(d)&&e[d].hitZone&&(g=this.transformFromLatLon(f,e[d]),B({x:g.x,y:-g.y},e[d].hitZone.coordinates[0])))return g;return this.transformFromLatLon(f,e["default"])};a.geojson=function(a,e,d){var g=[],r=[],u=function(a){var b,c=a.length;r.push("M");for(b=0;b