UNPKG

188 kBJavaScriptView Raw
1/*
2 Highmaps JS v5.0.5 (2016-11-29)
3
4 (c) 2011-2016 Torstein Honsi
5
6 License: www.highcharts.com/license
7*/
8(function(I,a){"object"===typeof module&&module.exports?module.exports=I.document?a(I):a:I.Highcharts=a(I)})("undefined"!==typeof window?window:this,function(I){I=function(){var a=window,w=a.document,C=a.navigator&&a.navigator.userAgent||"",A=w&&w.createElementNS&&!!w.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,z=/(edge|msie|trident)/i.test(C)&&!window.opera,f=!A,d=/Firefox/.test(C),q=d&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",
9version:"5.0.5",deg2rad:2*Math.PI/360,doc:w,hasBidiBug:q,hasTouch:w&&void 0!==w.documentElement.ontouchstart,isMS:z,isWebKit:/AppleWebKit/.test(C),isFirefox:d,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:A,vml:f,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var w=[],C=a.charts,A=a.doc,z=a.win;a.error=function(a,d){a="Highcharts error #"+
10a+": www.highcharts.com/errors/"+a;if(d)throw Error(a);z.console&&console.log(a)};a.Fx=function(a,d,q){this.options=d;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],q=[],h=this.now,n=a.length,l;if(1===h)q=this.toD;else if(n===d.length&&1>h)for(;n--;)l=parseFloat(a[n]),q[n]=isNaN(l)?a[n]:h*parseFloat(d[n]-l)+l;else q=d;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,d=this.prop,q=this.now,h=this.options.step;if(this[d+"Setter"])this[d+
11"Setter"]();else a.attr?a.element&&a.attr(d,q,null,!0):a.style[d]=q+this.unit;h&&h.call(a,q,this)},run:function(a,d,q){var f=this,n=function(a){return n.stopped?!1:f.step(a)},l;this.startTime=+new Date;this.start=a;this.end=d;this.unit=q;this.now=this.start;this.pos=0;n.elem=this.elem;n.prop=this.prop;n()&&1===w.push(n)&&(n.timerId=setInterval(function(){for(l=0;l<w.length;l++)w[l]()||w.splice(l--,1);w.length||clearInterval(n.timerId)},13))},step:function(a){var f=+new Date,q,h=this.options;q=this.elem;
12var n=h.complete,l=h.duration,c=h.curAnim,k;if(q.attr&&!q.element)q=!1;else if(a||f>=l+this.startTime){this.now=this.end;this.pos=1;this.update();a=c[this.prop]=!0;for(k in c)!0!==c[k]&&(a=!1);a&&n&&n.call(q);q=!1}else this.pos=h.easing((f-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),q=!0;return q},initPath:function(a,d,q){function f(a){var b,e;for(m=a.length;m--;)b="M"===a[m]||"L"===a[m],e=/[a-zA-Z]/.test(a[m+3]),b&&e&&a.splice(m+1,0,a[m+1],a[m+2],a[m+1],a[m+
132])}function n(a,e){for(;a.length<b;){a[0]=e[b-a.length];var c=a.slice(0,g);[].splice.apply(a,[0,0].concat(c));E&&(c=a.slice(a.length-g),[].splice.apply(a,[a.length,0].concat(c)),m--)}a[0]="M"}function l(a,c){for(var m=(b-a.length)/g;0<m&&m--;)e=a.slice().splice(a.length/t-g,g*t),e[0]=c[b-g-m*g],r&&(e[g-6]=e[g-2],e[g-5]=e[g-1]),[].splice.apply(a,[a.length/t,0].concat(e)),E&&m--}d=d||"";var c,k=a.startX,u=a.endX,r=-1<d.indexOf("C"),g=r?7:3,b,e,m;d=d.split(" ");q=q.slice();var E=a.isArea,t=E?2:1,F;
14r&&(f(d),f(q));if(k&&u){for(m=0;m<k.length;m++)if(k[m]===u[0]){c=m;break}else if(k[0]===u[u.length-k.length+m]){c=m;F=!0;break}void 0===c&&(d=[])}d.length&&(b=q.length+(c||0)*t*g,F?(n(d,q),l(q,d)):(n(q,d),l(d,q)));return[d,q]}};a.extend=function(a,d){var f;a||(a={});for(f in d)a[f]=d[f];return a};a.merge=function(){var f,d=arguments,q,h={},n=function(l,c){var k,f;"object"!==typeof l&&(l={});for(f in c)c.hasOwnProperty(f)&&(k=c[f],a.isObject(k,!0)&&"renderTo"!==f&&"number"!==typeof k.nodeType?l[f]=
15n(l[f]||{},k):l[f]=c[f]);return l};!0===d[0]&&(h=d[1],d=Array.prototype.slice.call(d,2));q=d.length;for(f=0;f<q;f++)h=n(h,d[f]);return h};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(f,d){return f&&"object"===typeof f&&(!d||!a.isArray(f))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=function(a,
16d){for(var f=a.length;f--;)if(a[f]===d){a.splice(f,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(f,d,q){var h,n;if(a.isString(d))a.defined(q)?f.setAttribute(d,q):f&&f.getAttribute&&(n=f.getAttribute(d));else if(a.defined(d)&&a.isObject(d))for(h in d)f.setAttribute(h,d[h]);return n};a.splat=function(f){return a.isArray(f)?f:[f]};a.syncTimeout=function(a,d,q){if(d)return setTimeout(a,d,q);a.call(0,q)};a.pick=function(){var a=arguments,d,q,h=a.length;for(d=0;d<h;d++)if(q=
17a[d],void 0!==q&&null!==q)return q};a.css=function(f,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(f.style,d)};a.createElement=function(f,d,q,h,n){f=A.createElement(f);var l=a.css;d&&a.extend(f,d);n&&l(f,{padding:0,border:"none",margin:0});q&&l(f,q);h&&h.appendChild(f);return f};a.extendClass=function(f,d){var q=function(){};q.prototype=new f;a.extend(q.prototype,d);return q};a.pad=function(a,d,q){return Array((d||2)+1-String(a).length).join(q||
180)+a};a.relativeLength=function(a,d){return/%$/.test(a)?d*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,d,q){var f=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),l=arguments,c=this;c.proceed=function(){f.apply(c,arguments.length?arguments:l)};a.unshift(f);a=q.apply(this,a);c.proceed=null;return a}};a.getTZOffset=function(f){var d=a.Date;return 6E4*(d.hcGetTimezoneOffset&&d.hcGetTimezoneOffset(f)||d.hcTimezoneOffset||0)};a.dateFormat=function(f,d,q){if(!a.defined(d)||isNaN(d))return a.defaultOptions.lang.invalidDate||
19"";f=a.pick(f,"%Y-%m-%d %H:%M:%S");var h=a.Date,n=new h(d-a.getTZOffset(d)),l,c=n[h.hcGetHours](),k=n[h.hcGetDay](),u=n[h.hcGetDate](),r=n[h.hcGetMonth](),g=n[h.hcGetFullYear](),b=a.defaultOptions.lang,e=b.weekdays,m=b.shortWeekdays,E=a.pad,h=a.extend({a:m?m[k]:e[k].substr(0,3),A:e[k],d:E(u),e:E(u,2," "),w:k,b:b.shortMonths[r],B:b.months[r],m:E(r+1),y:g.toString().substr(2,2),Y:g,H:E(c),k:c,I:E(c%12||12),l:c%12||12,M:E(n[h.hcGetMinutes]()),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:E(n.getSeconds()),L:E(Math.round(d%
201E3),3)},a.dateFormats);for(l in h)for(;-1!==f.indexOf("%"+l);)f=f.replace("%"+l,"function"===typeof h[l]?h[l](d):h[l]);return q?f.substr(0,1).toUpperCase()+f.substr(1):f};a.formatSingle=function(f,d){var q=/\.([0-9])/,h=a.defaultOptions.lang;/f$/.test(f)?(q=(q=f.match(q))?q[1]:-1,null!==d&&(d=a.numberFormat(d,q,h.decimalPoint,-1<f.indexOf(",")?h.thousandsSep:""))):d=a.dateFormat(f,d);return d};a.format=function(f,d){for(var q="{",h=!1,n,l,c,k,u=[],r;f;){q=f.indexOf(q);if(-1===q)break;n=f.slice(0,
21q);if(h){n=n.split(":");l=n.shift().split(".");k=l.length;r=d;for(c=0;c<k;c++)r=r[l[c]];n.length&&(r=a.formatSingle(n.join(":"),r));u.push(r)}else u.push(n);f=f.slice(q+1);q=(h=!h)?"}":"{"}u.push(f);return u.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(f,d,q,h,n){var l,c=f;q=a.pick(q,1);l=f/q;d||(d=n?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===h&&(1===q?d=a.grep(d,function(a){return 0===a%1}):.1>=q&&(d=[1/q])));
22for(h=0;h<d.length&&!(c=d[h],n&&c*q>=f||!n&&l<=(d[h]+(d[h+1]||d[h]))/2);h++);return c*q};a.stableSort=function(a,d){var f=a.length,h,n;for(n=0;n<f;n++)a[n].safeI=n;a.sort(function(a,c){h=d(a,c);return 0===h?a.safeI-c.safeI:h});for(n=0;n<f;n++)delete a[n].safeI};a.arrayMin=function(a){for(var d=a.length,f=a[0];d--;)a[d]<f&&(f=a[d]);return f};a.arrayMax=function(a){for(var d=a.length,f=a[0];d--;)a[d]>f&&(f=a[d]);return f};a.destroyObjectProperties=function(a,d){for(var f in a)a[f]&&a[f]!==d&&a[f].destroy&&
23a[f].destroy(),delete a[f]};a.discardElement=function(f){var d=a.garbageBin;d||(d=a.createElement("div"));f&&d.appendChild(f);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(f,d){d.renderer.globalAnimation=a.pick(f,d.options.chart.animation,!0)};a.animObject=function(f){return a.isObject(f)?a.merge(f):{duration:f?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=
24function(f,d,q,h){f=+f||0;d=+d;var n=a.defaultOptions.lang,l=(f.toString().split(".")[1]||"").length,c,k,u=Math.abs(f);-1===d?d=Math.min(l,20):a.isNumber(d)||(d=2);c=String(a.pInt(u.toFixed(d)));k=3<c.length?c.length%3:0;q=a.pick(q,n.decimalPoint);h=a.pick(h,n.thousandsSep);f=(0>f?"-":"")+(k?c.substr(0,k)+h:"");f+=c.substr(k).replace(/(\d{3})(?=\d)/g,"$1"+h);d&&(h=Math.abs(u-c+Math.pow(10,-Math.max(d,l)-1)),f+=q+h.toFixed(d).slice(2));return f};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*
25a)-1)};a.getStyle=function(f,d){return"width"===d?Math.min(f.offsetWidth,f.scrollWidth)-a.getStyle(f,"padding-left")-a.getStyle(f,"padding-right"):"height"===d?Math.min(f.offsetHeight,f.scrollHeight)-a.getStyle(f,"padding-top")-a.getStyle(f,"padding-bottom"):(f=z.getComputedStyle(f,void 0))&&a.pInt(f.getPropertyValue(d))};a.inArray=function(a,d){return d.indexOf?d.indexOf(a):[].indexOf.call(d,a)};a.grep=function(a,d){return[].filter.call(a,d)};a.map=function(a,d){for(var f=[],h=0,n=a.length;h<n;h++)f[h]=
26d.call(a[h],a[h],h,a);return f};a.offset=function(a){var d=A.documentElement;a=a.getBoundingClientRect();return{top:a.top+(z.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(z.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(a,d){for(var f=w.length;f--;)w[f].elem!==a||d&&d!==w[f].prop||(w[f].stopped=!0)};a.each=function(a,d,q){return Array.prototype.forEach.call(a,d,q)};a.addEvent=function(f,d,q){function h(a){a.target=a.srcElement||z;q.call(f,a)}var n=f.hcEvents=f.hcEvents||
27{};f.addEventListener?f.addEventListener(d,q,!1):f.attachEvent&&(f.hcEventsIE||(f.hcEventsIE={}),f.hcEventsIE[q.toString()]=h,f.attachEvent("on"+d,h));n[d]||(n[d]=[]);n[d].push(q);return function(){a.removeEvent(f,d,q)}};a.removeEvent=function(f,d,q){function h(a,c){f.removeEventListener?f.removeEventListener(a,c,!1):f.attachEvent&&(c=f.hcEventsIE[c.toString()],f.detachEvent("on"+a,c))}function n(){var a,k;if(f.nodeName)for(k in d?(a={},a[d]=!0):a=c,a)if(c[k])for(a=c[k].length;a--;)h(k,c[k][a])}var l,
28c=f.hcEvents,k;c&&(d?(l=c[d]||[],q?(k=a.inArray(q,l),-1<k&&(l.splice(k,1),c[d]=l),h(d,q)):(n(),c[d]=[])):(n(),f.hcEvents={}))};a.fireEvent=function(f,d,q,h){var n;n=f.hcEvents;var l,c;q=q||{};if(A.createEvent&&(f.dispatchEvent||f.fireEvent))n=A.createEvent("Events"),n.initEvent(d,!0,!0),a.extend(n,q),f.dispatchEvent?f.dispatchEvent(n):f.fireEvent(d,n);else if(n)for(n=n[d]||[],l=n.length,q.target||a.extend(q,{preventDefault:function(){q.defaultPrevented=!0},target:f,type:d}),d=0;d<l;d++)(c=n[d])&&
29!1===c.call(f,q)&&q.preventDefault();h&&!q.defaultPrevented&&h(q)};a.animate=function(f,d,q){var h,n="",l,c,k;a.isObject(q)||(h=arguments,q={duration:h[2],easing:h[3],complete:h[4]});a.isNumber(q.duration)||(q.duration=400);q.easing="function"===typeof q.easing?q.easing:Math[q.easing]||Math.easeInOutSine;q.curAnim=a.merge(d);for(k in d)a.stop(f,k),c=new a.Fx(f,q,k),l=null,"d"===k?(c.paths=c.initPath(f,f.d,d.d),c.toD=d.d,h=0,l=1):f.attr?h=f.attr(k):(h=parseFloat(a.getStyle(f,k))||0,"opacity"!==k&&
30(n="px")),l||(l=d[k]),l.match&&l.match("px")&&(l=l.replace(/px/g,"")),c.run(h,l,n)};a.seriesType=function(f,d,q,h,n){var l=a.getOptions(),c=a.seriesTypes;l.plotOptions[f]=a.merge(l.plotOptions[d],q);c[f]=a.extendClass(c[d]||function(){},h);c[f].prototype.type=f;n&&(c[f].prototype.pointClass=a.extendClass(a.Point,n));return c[f]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();z.jQuery&&(z.jQuery.fn.highcharts=function(){var f=
31[].slice.call(arguments);if(this[0])return f[0]?(new (a[a.isString(f[0])?f.shift():"Chart"])(this[0],f[0],f[1]),this):C[a.attr(this[0],"data-highcharts-chart")]});A&&!A.defaultView&&(a.getStyle=function(f,d){var q={width:"clientWidth",height:"clientHeight"}[d];if(f.style[d])return a.pInt(f.style[d]);"opacity"===d&&(d="filter");if(q)return f.style.zoom=1,Math.max(f[q]-2*a.getStyle(f,"padding"),0);f=f.currentStyle[d.replace(/\-(\w)/g,function(a,d){return d.toUpperCase()})];"filter"===d&&(f=f.replace(/alpha\(opacity=([0-9]+)\)/,
32function(a,d){return d/100}));return""===f?1:a.pInt(f)});Array.prototype.forEach||(a.each=function(a,d,q){for(var h=0,f=a.length;h<f;h++)if(!1===d.call(q,a[h],h,a))return h});Array.prototype.indexOf||(a.inArray=function(a,d){var f,h=0;if(d)for(f=d.length;h<f;h++)if(d[h]===a)return h;return-1});Array.prototype.filter||(a.grep=function(a,d){for(var f=[],h=0,n=a.length;h<n;h++)d(a[h],h)&&f.push(a[h]);return f})})(I);(function(a){var w=a.each,C=a.isNumber,A=a.map,z=a.merge,f=a.pInt;a.Color=function(d){if(!(this instanceof
33a.Color))return new a.Color(d);this.init(d)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[f(a[1]),f(a[2]),f(a[3]),parseFloat(a[4],10)]}},{regex:/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,parse:function(a){return[f(a[1],16),f(a[2],16),f(a[3],16),1]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[f(a[1]),f(a[2]),f(a[3]),1]}}],names:{white:"#ffffff",
34black:"#000000"},init:function(d){var f,h,n,l;if((this.input=d=this.names[d]||d)&&d.stops)this.stops=A(d.stops,function(c){return new a.Color(c[1])});else for(n=this.parsers.length;n--&&!h;)l=this.parsers[n],(f=l.regex.exec(d))&&(h=l.parse(f));this.rgba=h||[]},get:function(a){var d=this.input,f=this.rgba,n;this.stops?(n=z(d),n.stops=[].concat(n.stops),w(this.stops,function(l,c){n.stops[c]=[n.stops[c][0],l.get(a)]})):n=f&&C(f[0])?"rgb"===a||!a&&1===f[3]?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===a?f[3]:
35"rgba("+f.join(",")+")":d;return n},brighten:function(a){var d,h=this.rgba;if(this.stops)w(this.stops,function(d){d.brighten(a)});else if(C(a)&&0!==a)for(d=0;3>d;d++)h[d]+=f(255*a),0>h[d]&&(h[d]=0),255<h[d]&&(h[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};a.color=function(d){return new a.Color(d)}})(I);(function(a){function w(){var q=a.defaultOptions.global,h,n=q.useUTC,l=n?"getUTC":"get",c=n?"setUTC":"set";a.Date=h=q.Date||d.Date;h.hcTimezoneOffset=n&&q.timezoneOffset;
36h.hcGetTimezoneOffset=n&&q.getTimezoneOffset;h.hcMakeTime=function(a,c,l,g,b,e){var m;n?(m=h.UTC.apply(0,arguments),m+=A(m)):m=(new h(a,c,f(l,1),f(g,0),f(b,0),f(e,0))).getTime();return m};C("Minutes Hours Day Date Month FullYear".split(" "),function(a){h["hcGet"+a]=l+a});C("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){h["hcSet"+a]=c+a})}var C=a.each,A=a.getTZOffset,z=a.merge,f=a.pick,d=a.win;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],
37lang:{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:{useUTC:!0},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,
38spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},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",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",
39height:"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',
40pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\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(d){a.defaultOptions=z(!0,a.defaultOptions,d);w();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;w()})(I);(function(a){var w,
41C,A=a.addEvent,z=a.animate,f=a.attr,d=a.charts,q=a.color,h=a.css,n=a.createElement,l=a.defined,c=a.deg2rad,k=a.destroyObjectProperties,u=a.doc,r=a.each,g=a.extend,b=a.erase,e=a.grep,m=a.hasTouch,E=a.isArray,t=a.isFirefox,F=a.isMS,H=a.isObject,K=a.isString,B=a.isWebKit,L=a.merge,v=a.noop,D=a.pick,G=a.pInt,N=a.removeEvent,p=a.splat,x=a.stop,O=a.svg,S=a.SVG_NS,P=a.symbolSizes,M=a.win;w=a.SVGElement=function(){return this};w.prototype={opacity:1,SVG_NS:S,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline".split(" "),
42init:function(a,b){this.element="span"===b?n(b):u.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(a,b,p){(b=D(b,this.renderer.globalAnimation,!0))?(p&&(b.complete=p),z(this,a,b)):this.attr(a,null,p);return this},colorGradient:function(y,b,p){var e=this.renderer,x,c,g,m,J,t,k,v,Q,d,f,h=[],M;y.linearGradient?c="linearGradient":y.radialGradient&&(c="radialGradient");if(c){g=y[c];J=e.gradients;k=y.stops;d=p.radialReference;E(g)&&(y[c]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3],gradientUnits:"userSpaceOnUse"});
43"radialGradient"===c&&d&&!l(g.gradientUnits)&&(m=g,g=L(g,e.getRadialAttr(d,m),{gradientUnits:"userSpaceOnUse"}));for(f in g)"id"!==f&&h.push(f,g[f]);for(f in k)h.push(k[f]);h=h.join(",");J[h]?d=J[h].attr("id"):(g.id=d=a.uniqueKey(),J[h]=t=e.createElement(c).attr(g).add(e.defs),t.radAttr=m,t.stops=[],r(k,function(y){0===y[1].indexOf("rgba")?(x=a.color(y[1]),v=x.get("rgb"),Q=x.get("a")):(v=y[1],Q=1);y=e.createElement("stop").attr({offset:y[0],"stop-color":v,"stop-opacity":Q}).add(t);t.stops.push(y)}));
44M="url("+e.url+"#"+d+")";p.setAttribute(b,M);p.gradient=h;y.toString=function(){return M}}},applyTextOutline:function(a){var y=this.element,p,e,x;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(y.style.fill)));this.fakeTS=!0;this.ySetter=this.xSetter;p=[].slice.call(y.getElementsByTagName("tspan"));a=a.split(" ");e=a[a.length-1];(x=a[0])&&"none"!==x&&(x=x.replace(/(^[\d\.]+)(.*?)$/g,function(a,y,b){return 2*y+b}),r(p,function(a){"highcharts-text-outline"===a.getAttribute("class")&&
45b(p,y.removeChild(a))}),r(p,function(a,b){0===b&&(a.setAttribute("x",y.getAttribute("x")),b=y.getAttribute("y"),a.setAttribute("y",b||0),null===b&&y.setAttribute("y",0));a=a.cloneNode(1);f(a,{"class":"highcharts-text-outline",fill:e,stroke:e,"stroke-width":x,"stroke-linejoin":"round"});y.insertBefore(a,y.firstChild)}))},attr:function(a,b,p,e){var y,c=this.element,g,m=this,J;"string"===typeof a&&void 0!==b&&(y=a,a={},a[y]=b);if("string"===typeof a)m=(this[a+"Getter"]||this._defaultGetter).call(this,
46a,c);else{for(y in a)b=a[y],J=!1,e||x(this,y),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y)&&(g||(this.symbolAttr(a),g=!0),J=!0),!this.rotation||"x"!==y&&"y"!==y||(this.doTransform=!0),J||(J=this[y+"Setter"]||this._defaultSetter,J.call(this,b,y,c));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}p&&p();return m},addClass:function(a,b){var y=this.attr("class")||"";-1===y.indexOf(a)&&(b||(a=(y+(y?" ":"")+a).replace(" "," ")),this.attr("class",a));
47return this},hasClass:function(a){return-1!==f(this.element,"class").indexOf(a)},removeClass:function(a){f(this.element,"class",(f(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var b=this;r("x y r start end width height innerR anchorX anchorY".split(" "),function(y){b[y]=D(a[y],b[y])});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,
48b){var y,p={},e;b=b||a.strokeWidth||0;e=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+e;a.y=Math.floor(a.y||this.y||0)+e;a.width=Math.floor((a.width||this.width||0)-2*e);a.height=Math.floor((a.height||this.height||0)-2*e);l(a.strokeWidth)&&(a.strokeWidth=b);for(y in a)this[y]!==a[y]&&(this[y]=p[y]=a[y]);return p},css:function(a){var b=this.styles,y={},p=this.element,e,x,c="";e=!b;a&&a.color&&(a.fill=a.color);if(b)for(x in a)a[x]!==b[x]&&(y[x]=a[x],e=!0);if(e){e=this.textWidth=a&&a.width&&"text"===
49p.nodeName.toLowerCase()&&G(a.width)||this.textWidth;b&&(a=g(b,y));this.styles=a;e&&!O&&this.renderer.forExport&&delete a.width;if(F&&!O)h(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(x in a)c+=x.replace(/([A-Z])/g,b)+":"+a[x]+";";f(p,"style",c)}this.added&&(e&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},getStyle:function(a){return M.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=
50this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=G(a):(b=u.createElementNS(S,"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 y=this,p=y.element;m&&"click"===a?(p.ontouchstart=function(a){y.touchEventFired=Date.now();a.preventDefault();b.call(p,a)},p.onclick=function(a){(-1===M.navigator.userAgent.indexOf("Android")||1100<Date.now()-(y.touchEventFired||0))&&b.call(p,a)}):p["on"+
51a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,p=this.scaleX,e=this.scaleY,x=this.inverted,c=this.rotation,g=this.element;
52x&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];x?a.push("rotate(90) scale(-1,1)"):c&&a.push("rotate("+c+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(l(p)||l(e))&&a.push("scale("+D(p,1)+" "+D(e,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,p,e){var y,x,c,g,m={};x=this.renderer;c=x.alignedObjects;var t,k;if(a){if(this.alignOptions=a,this.alignByTranslate=
53p,!e||K(e))this.alignTo=y=e||"renderer",b(c,this),c.push(this),e=null}else a=this.alignOptions,p=this.alignByTranslate,y=this.alignTo;e=D(e,x[y],x);y=a.align;x=a.verticalAlign;c=(e.x||0)+(a.x||0);g=(e.y||0)+(a.y||0);"right"===y?t=1:"center"===y&&(t=2);t&&(c+=(e.width-(a.width||0))/t);m[p?"translateX":"x"]=Math.round(c);"bottom"===x?k=1:"middle"===x&&(k=2);k&&(g+=(e.height-(a.height||0))/k);m[p?"translateY":"y"]=Math.round(g);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},
54getBBox:function(a,b){var y,p=this.renderer,e,x=this.element,m=this.styles,t,k=this.textStr,J,v=p.cache,l=p.cacheKeys,d;b=D(b,this.rotation);e=b*c;t=x&&w.prototype.getStyle.call(x,"font-size");void 0!==k&&(d=k.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,"0")),d+=["",b||0,t,x.style.width,x.style["text-overflow"]].join());d&&!a&&(y=v[d]);if(!y){if(x.namespaceURI===this.SVG_NS||p.forExport){try{(J=this.fakeTS&&function(a){r(x.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=
55a})})&&J("none"),y=x.getBBox?g({},x.getBBox()):{width:x.offsetWidth,height:x.offsetHeight},J&&J("")}catch(T){}if(!y||0>y.width)y={width:0,height:0}}else y=this.htmlGetBBox();p.isSVG&&(a=y.width,p=y.height,F&&m&&"11px"===m.fontSize&&"16.9"===p.toPrecision(3)&&(y.height=p=14),b&&(y.width=Math.abs(p*Math.sin(e))+Math.abs(a*Math.cos(e)),y.height=Math.abs(p*Math.cos(e))+Math.abs(a*Math.sin(e))));if(d&&0<y.height){for(;250<l.length;)delete v[l.shift()];v[d]||l.push(d);v[d]=y}}return y},show:function(a){return this.attr({visibility:a?
56"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,y=this.element,p;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)p=this.zIndexSetter();p||(a?a.element:b.box).appendChild(y);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=
57a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this.element||{},p=this.renderer.isSVG&&"SPAN"===a.nodeName&&this.parentGroup,e,c;a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.point=null;x(this);this.clipPath&&(this.clipPath=this.clipPath.destroy());if(this.stops){for(c=0;c<this.stops.length;c++)this.stops[c]=this.stops[c].destroy();this.stops=null}for(this.safeRemoveChild(a);p&&p.div&&0===p.div.childNodes.length;)a=p.parentGroup,this.safeRemoveChild(p.div),delete p.div,p=a;this.alignTo&&
58b(this.renderer.alignedObjects,this);for(e in this)delete this[e];return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=D(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,p){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");p.setAttribute(b,a);this[b]=a},alignSetter:function(a){this.element.setAttribute("text-anchor",
59{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,p){this[b]=a;p.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=u.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(u.createTextNode(String(D(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,
60b,p){"string"===typeof a?p.setAttribute(b,a):a&&this.colorGradient(a,b,p)},visibilitySetter:function(a,b,p){"inherit"===a?p.removeAttribute(b):p.setAttribute(b,a)},zIndexSetter:function(a,b){var p=this.renderer,e=this.parentGroup,y=(e||p).element||p.box,x,c=this.element,g;x=this.added;var m;l(a)&&(c.zIndex=a,a=+a,this[b]===a&&(x=!1),this[b]=a);if(x){(a=this.zIndex)&&e&&(e.handleZ=!0);b=y.childNodes;for(m=0;m<b.length&&!g;m++)e=b[m],x=e.zIndex,e!==c&&(G(x)>a||!l(a)&&l(x)||0>a&&!l(x)&&y!==p.box)&&(y.insertBefore(c,
61e),g=!0);g||y.appendChild(c)}return g},_defaultSetter:function(a,b,p){p.setAttribute(b,a)}};w.prototype.yGetter=w.prototype.xGetter;w.prototype.translateXSetter=w.prototype.translateYSetter=w.prototype.rotationSetter=w.prototype.verticalAlignSetter=w.prototype.scaleXSetter=w.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};C.prototype={Element:w,SVG_NS:S,init:function(a,b,p,e,x,c){var y;e=this.createElement("svg").attr({version:"1.1",
62"class":"highcharts-root"});y=e.element;a.appendChild(y);-1===a.innerHTML.indexOf("xmlns")&&f(y,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=y;this.boxWrapper=e;this.alignedObjects=[];this.url=(t||B)&&u.getElementsByTagName("base").length?M.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highmaps 5.0.5"));this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=
63x;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,p,!1);var g;t&&a.getBoundingClientRect&&(b=function(){h(a,{left:0,top:0});g=a.getBoundingClientRect();h(a,{left:Math.ceil(g.left)-g.left+"px",top:Math.ceil(g.top)-g.top+"px"})},b(),this.unSubPixelFix=A(M,"resize",b))},definition:function(a){function b(a,x){var y;r(p(a),function(a){var p=e.createElement(a.tagName),c,g={};for(c in a)"tagName"!==c&&"children"!==c&&"textContent"!==c&&(g[c]=a[c]);p.attr(g);p.add(x||e.defs);
64a.textContent&&p.element.appendChild(u.createTextNode(a.textContent));b(a.children||[],p);y=p});return y}var e=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();k(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:v,
65getRadialAttr: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]}},buildText:function(a){for(var b=a.element,p=this,x=p.forExport,c=D(a.textStr,"").toString(),y=-1!==c.indexOf("\x3c"),g=b.childNodes,m,t,k,v,l=f(b,"x"),d=a.styles,M=a.textWidth,n=d&&d.lineHeight,F=d&&d.textOutline,B=d&&"ellipsis"===d.textOverflow,H=g.length,E=M&&!a.added&&this.box,q=function(a){return n?G(n):p.fontMetrics(void 0,a.getAttribute("style")?a:b).h};H--;)b.removeChild(g[H]);y||F||B||M||-1!==
66c.indexOf(" ")?(m=/<.*class="([^"]+)".*>/,t=/<.*style="([^"]+)".*>/,k=/<.*href="(http[^"]+)".*>/,E&&E.appendChild(b),c=y?c.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[c],c=e(c,function(a){return""!==a}),r(c,function(e,c){var y,g=0;e=e.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");
67y=e.split("|||");r(y,function(e){if(""!==e||1===y.length){var r={},J=u.createElementNS(p.SVG_NS,"tspan"),n,D;m.test(e)&&(n=e.match(m)[1],f(J,"class",n));t.test(e)&&(D=e.match(t)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),f(J,"style",D));k.test(e)&&!x&&(f(J,"onclick",'location.href\x3d"'+e.match(k)[1]+'"'),h(J,{cursor:"pointer"}));e=(e.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==e){J.appendChild(u.createTextNode(e));g?r.dx=0:c&&null!==l&&(r.x=l);f(J,r);
68b.appendChild(J);!g&&c&&(!O&&x&&h(J,{display:"block"}),f(J,"dy",q(J)));if(M){r=e.replace(/([^\^])-/g,"$1- ").split(" ");n="nowrap"===d.whiteSpace;for(var G=1<y.length||c||1<r.length&&!n,F,E,H=[],Q=q(J),K=a.rotation,N=e,P=N.length;(G||B)&&(r.length||H.length);)a.rotation=0,F=a.getBBox(!0),E=F.width,!O&&p.forExport&&(E=p.measureSpanWidth(J.firstChild.data,a.styles)),F=E>M,void 0===v&&(v=F),B&&v?(P/=2,""===N||!F&&.5>P?r=[]:(N=e.substring(0,N.length+(F?-1:1)*Math.ceil(P)),r=[N+(3<M?"\u2026":"")],J.removeChild(J.firstChild))):
69F&&1!==r.length?(J.removeChild(J.firstChild),H.unshift(r.pop())):(r=H,H=[],r.length&&!n&&(J=u.createElementNS(S,"tspan"),f(J,{dy:Q,x:l}),D&&f(J,"style",D),b.appendChild(J)),E>M&&(M=E)),r.length&&J.appendChild(u.createTextNode(r.join(" ").replace(/- /g,"-")));a.rotation=K}g++}}})}),v&&a.attr("title",a.textStr),E&&E.removeChild(b),F&&a.applyTextOutline&&a.applyTextOutline(F)):b.appendChild(u.createTextNode(c.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},getContrast:function(a){a=q(a).rgba;return 510<
70a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,p,e,x,c,g,m,t){var y=this.label(a,b,p,t,null,null,null,null,"button"),k=0;y.attr(L({padding:8,r:2},x));A(y.element,F?"mouseover":"mouseenter",function(){3!==k&&y.setState(1)});A(y.element,F?"mouseout":"mouseleave",function(){3!==k&&y.setState(k)});y.setState=function(a){1!==a&&(y.state=k=a);y.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return y.on("click",
71function(a){3!==k&&e.call(y,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};E(a)?b.d=a:H(a)&&g(b,a);return this.createElement("path").attr(b)},circle:function(a,b,p){a=H(a)?a:{x:a,y:b,r:p};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,p){p.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,p,e,x,c){H(a)&&(b=a.y,p=a.r,e=a.innerR,x=a.start,c=a.end,a=a.x);a=this.symbol("arc",
72a||0,b||0,p||0,p||0,{innerR:e||0,start:x||0,end:c||0});a.r=p;return a},rect:function(a,b,p,e,x,c){x=H(a)?a.r:x;c=this.createElement("rect");a=H(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(p,0),height:Math.max(e,0)};x&&(a.r=x);c.rSetter=function(a,b,p){f(p,{rx:a,ry:a})};return c.attr(a)},setSize:function(a,b,p){var e=this.alignedObjects,x=e.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},
73duration:D(p,!0)?void 0:0});x--;)e[x].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,p,e,x){var c={preserveAspectRatio:"none"};1<arguments.length&&g(c,{x:b,y:p,width:e,height:x});c=this.createElement("image").attr(c);c.element.setAttributeNS?c.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):c.element.setAttribute("hc-svg-href",a);return c},symbol:function(a,b,p,e,x,c){var m=this,y,t=this.symbols[a],k=l(b)&&t&&t(Math.round(b),
74Math.round(p),e,x,c),v=/^url\((.*?)\)$/,f,M;t?(y=this.path(k),g(y,{symbolName:a,x:b,y:p,width:e,height:x}),c&&g(y,c)):v.test(a)&&(f=a.match(v)[1],y=this.image(f),y.imgwidth=D(P[f]&&P[f].width,c&&c.width),y.imgheight=D(P[f]&&P[f].height,c&&c.height),M=function(){y.attr({width:y.width,height:y.height})},r(["width","height"],function(a){y[a+"Setter"]=function(a,b){var p={},e=this["img"+b],x="width"===b?"translateX":"translateY";this[b]=a;l(e)&&(this.element&&this.element.setAttribute(b,e),this.alignByTranslate||
75(p[x]=((this[b]||0)-e)/2,this.attr(p)))}}),l(b)&&y.attr({x:b,y:p}),y.isImg=!0,l(y.imgwidth)&&l(y.imgheight)?M():(y.attr({width:0,height:0}),n("img",{onload:function(){var a=d[m.chartIndex];0===this.width&&(h(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this));P[f]={width:this.width,height:this.height};y.imgwidth=this.width;y.imgheight=this.height;y.element&&M();this.parentNode&&this.parentNode.removeChild(this);m.imgCount--;if(!m.imgCount&&a&&a.onload)a.onload()},src:f}),this.imgCount++));
76return y},symbols:{circle:function(a,b,p,e){var x=.166*p;return["M",a+p/2,b,"C",a+p+x,b,a+p+x,b+e,a+p/2,b+e,"C",a-x,b+e,a-x,b,a+p/2,b,"Z"]},square:function(a,b,p,e){return["M",a,b,"L",a+p,b,a+p,b+e,a,b+e,"Z"]},triangle:function(a,b,p,e){return["M",a+p/2,b,"L",a+p,b+e,a,b+e,"Z"]},"triangle-down":function(a,b,p,e){return["M",a,b,"L",a+p,b,a+p/2,b+e,"Z"]},diamond:function(a,b,p,e){return["M",a+p/2,b,"L",a+p,b+e/2,a+p/2,b+e,a,b+e/2,"Z"]},arc:function(a,b,p,e,x){var c=x.start;p=x.r||p||e;var g=x.end-.001;
77e=x.innerR;var m=x.open,y=Math.cos(c),t=Math.sin(c),k=Math.cos(g),g=Math.sin(g);x=x.end-c<Math.PI?0:1;return["M",a+p*y,b+p*t,"A",p,p,0,x,1,a+p*k,b+p*g,m?"M":"L",a+e*k,b+e*g,"A",e,e,0,x,0,a+e*y,b+e*t,m?"":"Z"]},callout:function(a,b,p,e,x){var c=Math.min(x&&x.r||0,p,e),g=c+6,m=x&&x.anchorX;x=x&&x.anchorY;var t;t=["M",a+c,b,"L",a+p-c,b,"C",a+p,b,a+p,b,a+p,b+c,"L",a+p,b+e-c,"C",a+p,b+e,a+p,b+e,a+p-c,b+e,"L",a+c,b+e,"C",a,b+e,a,b+e,a,b+e-c,"L",a,b+c,"C",a,b,a,b,a+c,b];m&&m>p?x>b+g&&x<b+e-g?t.splice(13,
783,"L",a+p,x-6,a+p+6,x,a+p,x+6,a+p,b+e-c):t.splice(13,3,"L",a+p,e/2,m,x,a+p,e/2,a+p,b+e-c):m&&0>m?x>b+g&&x<b+e-g?t.splice(33,3,"L",a,x+6,a-6,x,a,x-6,a,b+c):t.splice(33,3,"L",a,e/2,m,x,a,e/2,a,b+c):x&&x>e&&m>a+g&&m<a+p-g?t.splice(23,3,"L",m+6,b+e,m,b+e+6,m-6,b+e,a+c,b+e):x&&0>x&&m>a+g&&m<a+p-g&&t.splice(3,3,"L",m-6,b,m,b-6,m+6,b,p-c,b);return t}},clipRect:function(b,p,e,x){var c=a.uniqueKey(),g=this.createElement("clipPath").attr({id:c}).add(this.defs);b=this.rect(b,p,e,x,0).add(g);b.id=c;b.clipPath=
79g;b.count=0;return b},text:function(a,b,p,e){var x=!O&&this.forExport,c={};if(e&&(this.allowHTML||!this.forExport))return this.html(a,b,p);c.x=Math.round(b||0);p&&(c.y=Math.round(p));if(a||0===a)c.text=a;a=this.createElement("text").attr(c);x&&a.css({position:"absolute"});e||(a.xSetter=function(a,b,p){var e=p.getElementsByTagName("tspan"),x,c=p.getAttribute(b),g;for(g=0;g<e.length;g++)x=e[g],x.getAttribute(b)===c&&x.setAttribute(b,a);p.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&
80w.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?G(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,p){var e=a;b&&p&&(e=Math.max(e*Math.cos(b*c),4));return{x:-a/3*Math.sin(b*c),y:e}},label:function(a,b,p,e,x,c,m,t,k){var v=this,d=v.g("button"!==k&&"label"),y=d.text=v.text("",0,0,m).attr({zIndex:1}),f,h,M=0,n=3,D=0,F,G,B,E,H,q={},u,S=/^url\((.*?)\)$/.test(e),O=S,K,J,P,Q;k&&d.addClass("highcharts-"+
81k);O=!0;K=function(){return f.strokeWidth()%2/2};J=function(){var a=y.element.style,b={};h=(void 0===F||void 0===G||H)&&l(y.textStr)&&y.getBBox();d.width=(F||h.width||0)+2*n+D;d.height=(G||h.height||0)+2*n;u=n+v.fontMetrics(a&&a.fontSize,y).b;O&&(f||(d.box=f=v.symbols[e]||S?v.symbol(e):v.rect(),f.addClass(("button"===k?"":"highcharts-label-box")+(k?" highcharts-"+k+"-box":"")),f.add(d),a=K(),b.x=a,b.y=(t?-u:0)+a),b.width=Math.round(d.width),b.height=Math.round(d.height),f.attr(g(b,q)),q={})};P=function(){var a=
82D+n,b;b=t?0:u;l(F)&&h&&("center"===H||"right"===H)&&(a+={center:.5,right:1}[H]*(F-h.width));if(a!==y.x||b!==y.y)y.attr("x",a),void 0!==b&&y.attr("y",b);y.x=a;y.y=b};Q=function(a,b){f?f.attr(a,b):q[a]=b};d.onAdd=function(){y.add(d);d.attr({text:a||0===a?a:"",x:b,y:p});f&&l(x)&&d.attr({anchorX:x,anchorY:c})};d.widthSetter=function(a){F=a};d.heightSetter=function(a){G=a};d["text-alignSetter"]=function(a){H=a};d.paddingSetter=function(a){l(a)&&a!==n&&(n=d.padding=a,P())};d.paddingLeftSetter=function(a){l(a)&&
83a!==D&&(D=a,P())};d.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==M&&(M=a,h&&d.attr({x:B}))};d.textSetter=function(a){void 0!==a&&y.textSetter(a);J();P()};d["stroke-widthSetter"]=function(a,b){a&&(O=!0);this["stroke-width"]=a;Q(b,a)};d.rSetter=function(a,b){Q(b,a)};d.anchorXSetter=function(a,b){x=a;Q(b,Math.round(a)-K()-B)};d.anchorYSetter=function(a,b){c=a;Q(b,a-E)};d.xSetter=function(a){d.x=a;M&&(a-=M*((F||h.width)+2*n));B=Math.round(a);d.attr("translateX",B)};d.ySetter=function(a){E=
84d.y=Math.round(a);d.attr("translateY",E)};var R=d.css;return g(d,{css:function(a){if(a){var b={};a=L(a);r(d.textProps,function(p){void 0!==a[p]&&(b[p]=a[p],delete a[p])});y.css(b)}return R.call(d,a)},getBBox:function(){return{width:h.width+2*n,height:h.height+2*n,x:h.x-n,y:h.y-n}},destroy:function(){N(d.element,"mouseenter");N(d.element,"mouseleave");y&&(y=y.destroy());f&&(f=f.destroy());w.prototype.destroy.call(d);d=v=J=P=Q=null}})}};a.Renderer=C})(I);(function(a){var w=a.attr,C=a.createElement,
85A=a.css,z=a.defined,f=a.each,d=a.extend,q=a.isFirefox,h=a.isMS,n=a.isWebKit,l=a.pInt,c=a.SVGRenderer,k=a.win,u=a.wrap;d(a.SVGElement.prototype,{htmlCss:function(a){var c=this.element;if(c=a&&"SPAN"===c.tagName&&a.width)delete a.width,this.textWidth=c,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=d(this.styles,a);A(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");
86return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,b=this.x||0,e=this.y||0,m=this.textAlign||"left",k={left:0,center:.5,right:1}[m],t=this.styles;A(c,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&f(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var d=this.rotation,h=l(this.textWidth),q=t&&t.whiteSpace,B=[d,m,c.innerHTML,this.textWidth,this.textAlign].join();
87B!==this.cTT&&(t=a.fontMetrics(c.style.fontSize).b,z(d)&&this.setSpanRotation(d,k,t),A(c,{width:"",whiteSpace:q||"nowrap"}),c.offsetWidth>h&&/[ \-]/.test(c.textContent||c.innerText)&&A(c,{width:h+"px",display:"block",whiteSpace:q||"normal"}),this.getSpanCorrection(c.offsetWidth,t,k,d,m));A(c,{left:b+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});n&&(t=c.offsetHeight);this.cTT=B}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,b){var e={},g=h?"-ms-transform":n?"-webkit-transform":q?"MozTransform":
88k.opera?"-o-transform":"";e[g]=e.transform="rotate("+a+"deg)";e[g+(q?"Origin":"-origin")]=e.transformOrigin=100*c+"% "+b+"px";A(this.element,e)},getSpanCorrection:function(a,c,b){this.xCorr=-a*b;this.yCorr=-c}});d(c.prototype,{html:function(a,c,b){var e=this.createElement("span"),g=e.element,k=e.renderer,t=k.isSVG,l=function(a,b){f(["opacity","visibility"],function(e){u(a,e+"Setter",function(a,e,c,g){a.call(this,e,c,g);b[c]=e})})};e.textSetter=function(a){a!==g.innerHTML&&delete this.bBox;g.innerHTML=
89this.textStr=a;e.htmlUpdateTransform()};t&&l(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(a,b){"align"===b&&(b="textAlign");e[b]=a;e.htmlUpdateTransform()};e.attr({text:a,x:Math.round(c),y:Math.round(b)}).css({position:"absolute"});g.style.whiteSpace="nowrap";e.css=e.htmlCss;t&&(e.add=function(a){var b,c=k.box.parentNode,m=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)m.push(a),a=a.parentGroup;f(m.reverse(),function(a){var g,t=w(a.element,"class");t&&(t={className:t});
90b=a.div=a.div||C("div",t,{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);g=b.style;d(a,{on:function(){e.on.apply({element:m[0].div},arguments);return a},translateXSetter:function(b,p){g.left=b+"px";a[p]=b;a.doTransform=!0},translateYSetter:function(b,p){g.top=b+"px";a[p]=b;a.doTransform=!0}});l(a,g)})}}else b=c;b.appendChild(g);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});
91return e}})})(I);(function(a){var w=a.correctFloat,C=a.defined,A=a.destroyObjectProperties,z=a.isNumber,f=a.pick,d=a.deg2rad;a.Tick=function(a,d,f,l){this.axis=a;this.pos=d;this.type=f||"";this.isNew=!0;f||l||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,d=a.options,n=a.chart,l=a.categories,c=a.names,k=this.pos,u=d.labels,r=a.tickPositions,g=k===r[0],b=k===r[r.length-1],c=l?f(l[k],c[k],k):k,l=this.label,r=r.info,e;a.isDatetimeAxis&&r&&(e=d.dateTimeLabelFormats[r.higherRanks[k]||
92r.unitName]);this.isFirst=g;this.isLast=b;d=a.labelFormatter.call({axis:a,chart:n,isFirst:g,isLast:b,dateTimeLabelFormat:e,value:a.isLog?w(a.lin2log(c)):c});C(l)?l&&l.attr({text:d}):(this.labelLength=(this.label=l=C(d)&&u.enabled?n.renderer.text(d,0,0,u.useHTML).add(a.labelGroup):null)&&l.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var h=this.axis,n=a.x,l=h.chart.chartWidth,c=h.chart.spacing,
93k=f(h.labelLeft,Math.min(h.pos,c[3])),c=f(h.labelRight,Math.max(h.pos+h.len,l-c[1])),u=this.label,r=this.rotation,g={left:0,center:.5,right:1}[h.labelAlign],b=u.getBBox().width,e=h.getSlotWidth(),m=e,E=1,t,F={};if(r)0>r&&n-g*b<k?t=Math.round(n/Math.cos(r*d)-k):0<r&&n+g*b>c&&(t=Math.round((l-n)/Math.cos(r*d)));else if(l=n+(1-g)*b,n-g*b<k?m=a.x+m*(1-g)-k:l>c&&(m=c-a.x+m*g,E=-1),m=Math.min(e,m),m<e&&"center"===h.labelAlign&&(a.x+=E*(e-m-g*(e-Math.min(b,m)))),b>m||h.autoRotation&&(u.styles||{}).width)t=
94m;t&&(F.width=t,(h.options.labels.style||{}).textOverflow||(F.textOverflow="ellipsis"),u.css(F))},getPosition:function(a,d,f,l){var c=this.axis,k=c.chart,h=l&&k.oldChartHeight||k.chartHeight;return{x:a?c.translate(d+f,null,null,l)+c.transB:c.left+c.offset+(c.opposite?(l&&k.oldChartWidth||k.chartWidth)-c.right-c.left:0),y:a?h-c.bottom+c.offset-(c.opposite?c.height:0):h-c.translate(d+f,null,null,l)-c.transB}},getLabelPosition:function(a,f,n,l,c,k,u,r){var g=this.axis,b=g.transA,e=g.reversed,m=g.staggerLines,
95h=g.tickRotCorr||{x:0,y:0},t=c.y;C(t)||(t=0===g.side?n.rotation?-8:-n.getBBox().height:2===g.side?h.y+8:Math.cos(n.rotation*d)*(h.y-n.getBBox(!1,0).height/2));a=a+c.x+h.x-(k&&l?k*b*(e?-1:1):0);f=f+t-(k&&!l?k*b*(e?1:-1):0);m&&(n=u/(r||1)%m,g.opposite&&(n=m-n-1),f+=g.labelOffset/m*n);return{x:a,y:Math.round(f)}},getMarkPath:function(a,d,f,l,c,k){return k.crispLine(["M",a,d,"L",a+(c?0:-f),d+(c?f:0)],l)},render:function(a,d,n){var l=this.axis,c=l.options,k=l.chart.renderer,h=l.horiz,r=this.type,g=this.label,
96b=this.pos,e=c.labels,m=this.gridLine,E=l.tickSize(r?r+"Tick":"tick"),t=this.mark,F=!t,H=e.step,q={},B=!0,L=l.tickmarkOffset,v=this.getPosition(h,b,L,d),D=v.x,v=v.y,G=h&&D===l.pos+l.len||!h&&v===l.pos?-1:1;n=f(n,1);this.isActive=!0;m||(r||(q.zIndex=1),d&&(q.opacity=0),this.gridLine=m=k.path().attr(q).addClass("highcharts-"+(r?r+"-":"")+"grid-line").add(l.gridGroup));if(!d&&m&&(b=l.getPlotLinePath(b+L,m.strokeWidth()*G,d,!0)))m[this.isNew?"attr":"animate"]({d:b,opacity:n});E&&(l.opposite&&(E[0]=-E[0]),
97F&&(this.mark=t=k.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(l.axisGroup)),t[F?"attr":"animate"]({d:this.getMarkPath(D,v,E[0],t.strokeWidth()*G,h,k),opacity:n}));g&&z(D)&&(g.xy=v=this.getLabelPosition(D,v,g,h,e,L,a,H),this.isFirst&&!this.isLast&&!f(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!f(c.showLastLabel,1)?B=!1:!h||l.isRadial||e.step||e.rotation||d||0===n||this.handleOverflow(v),H&&a%H&&(B=!1),B&&z(v.y)?(v.opacity=n,g[this.isNew?"attr":"animate"](v)):g.attr("y",-9999),this.isNew=
98!1)},destroy:function(){A(this,this.axis)}}})(I);(function(a){var w=a.arrayMax,C=a.arrayMin,A=a.defined,z=a.destroyObjectProperties,f=a.each,d=a.erase,q=a.merge,h=a.pick;a.PlotLineOrBand=function(a,d){this.axis=a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,d=a.axis,c=d.horiz,k=a.options,f=k.label,r=a.label,g=k.to,b=k.from,e=k.value,m=A(b)&&A(g),E=A(e),t=a.svgElem,F=!t,H=[],K,B=h(k.zIndex,0),L=k.events,H={"class":"highcharts-plot-"+(m?"band ":"line ")+
99(k.className||"")},v={},D=d.chart.renderer,G=m?"bands":"lines",N;N=d.log2lin;d.isLog&&(b=N(b),g=N(g),e=N(e));v.zIndex=B;G+="-"+B;(N=d[G])||(d[G]=N=D.g("plot-"+G).attr(v).add());F&&(a.svgElem=t=D.path().attr(H).add(N));if(E)H=d.getPlotLinePath(e,t.strokeWidth());else if(m)H=d.getPlotBandPath(b,g,k);else return;if(F&&H&&H.length){if(t.attr({d:H}),L)for(K in k=function(b){t.on(b,function(p){L[b].apply(a,[p])})},L)k(K)}else t&&(H?(t.show(),t.animate({d:H})):(t.hide(),r&&(a.label=r=r.destroy())));f&&A(f.text)&&
100H&&H.length&&0<d.width&&0<d.height&&!H.flat?(f=q({align:c&&m&&"center",x:c?!m&&4:10,verticalAlign:!c&&m&&"middle",y:c?m?16:10:m?6:-4,rotation:c&&!m&&90},f),this.renderLabel(f,H,m,B)):r&&r.hide();return a},renderLabel:function(a,d,c,k){var f=this.label,l=this.axis.chart.renderer;f||(f={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(c?"band":"line")+"-label "+(a.className||"")},f.zIndex=k,this.label=f=l.text(a.text,0,0,a.useHTML).attr(f).add());k=[d[1],d[4],c?d[6]:d[1]];
101d=[d[2],d[5],c?d[7]:d[2]];c=C(k);l=C(d);f.align(a,!1,{x:c,y:l,width:w(k)-c,height:w(d)-l});f.show()},destroy:function(){d(this.axis.plotLinesAndBands,this);delete this.axis;z(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,d){d=this.getPlotLinePath(d,null,null,!0);(a=this.getPlotLinePath(a,null,null,!0))&&d?(a.flat=a.toString()===d.toString(),a.push(d[4],d[5],d[1],d[2],"z")):a=null;return a},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
102"plotLines")},addPlotBandOrLine:function(d,f){var c=(new a.PlotLineOrBand(this,d)).render(),k=this.userOptions;c&&(f&&(k[f]=k[f]||[],k[f].push(d)),this.plotLinesAndBands.push(c));return c},removePlotBandOrLine:function(a){for(var l=this.plotLinesAndBands,c=this.options,k=this.userOptions,h=l.length;h--;)l[h].id===a&&l[h].destroy();f([c.plotLines||[],k.plotLines||[],c.plotBands||[],k.plotBands||[]],function(c){for(h=c.length;h--;)c[h].id===a&&d(c,c[h])})}}})(I);(function(a){var w=a.addEvent,C=a.animObject,
103A=a.arrayMax,z=a.arrayMin,f=a.AxisPlotLineOrBandExtension,d=a.correctFloat,q=a.defaultOptions,h=a.defined,n=a.deg2rad,l=a.destroyObjectProperties,c=a.each,k=a.error,u=a.extend,r=a.fireEvent,g=a.format,b=a.getMagnitude,e=a.grep,m=a.inArray,E=a.isArray,t=a.isNumber,F=a.isString,H=a.merge,K=a.normalizeTickInterval,B=a.pick,L=a.PlotLineOrBand,v=a.removeEvent,D=a.splat,G=a.syncTimeout,N=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",
104second:"%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},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",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,
105text:"Values"},stackLabels:{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,b){var p=b.isX;this.chart=a;this.horiz=a.inverted?!p:p;this.isXAxis=p;this.coll=this.coll||(p?"xAxis":"yAxis");
106this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var e=this.options,c=e.type;this.labelFormatter=e.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=e.reversed;this.visible=!1!==e.visible;this.zoomEnabled=!1!==e.zoomEnabled;this.hasNames="category"===c||!0===e.categories;this.categories=e.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===c;this.isDatetimeAxis=
107"datetime"===c;this.isLinked=h(e.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=e.minRange||e.maxZoom;this.range=e.range;this.offset=e.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=B(e.crosshair,D(a.options.tooltip.crosshairs)[p?0:1],!1);var x;b=this.options.events;-1===m(this,a.axes)&&(p?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),
108a[this.coll].push(this));this.series=this.series||[];a.inverted&&p&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(x in b)w(this,x,b[x]);this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=H(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],
109H(q[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,e=this.value,c=b.categories,m=this.dateTimeLabelFormat,d=q.lang,t=d.numericSymbols,d=d.numericSymbolMagnitude||1E3,k=t&&t.length,f,v=b.options.labels.format,b=b.isLog?e:b.tickInterval;if(v)f=g(v,this);else if(c)f=e;else if(m)f=a.dateFormat(m,e);else if(k&&1E3<=b)for(;k--&&void 0===f;)c=Math.pow(d,k+1),b>=c&&0===10*e%c&&null!==t[k]&&0!==e&&(f=a.numberFormat(e/c,-1)+t[k]);void 0===f&&(f=1E4<=Math.abs(e)?a.numberFormat(e,-1):a.numberFormat(e,
110-1,void 0,""));return f},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();c(a.series,function(p){if(p.visible||!b.options.chart.ignoreHiddenSeries){var c=p.options,x=c.threshold,g;a.hasVisibleSeries=!0;a.isLog&&0>=x&&(x=null);if(a.isXAxis)c=p.xData,c.length&&(p=z(c),t(p)||p instanceof Date||(c=e(c,function(a){return t(a)}),p=z(c)),a.dataMin=Math.min(B(a.dataMin,c[0]),p),a.dataMax=
111Math.max(B(a.dataMax,c[0]),A(c)));else if(p.getExtremes(),g=p.dataMax,p=p.dataMin,h(p)&&h(g)&&(a.dataMin=Math.min(B(a.dataMin,p),p),a.dataMax=Math.max(B(a.dataMax,g),g)),h(x)&&(a.threshold=x),!c.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,b,e,c,g,m){var p=this.linkedParent||this,x=1,d=0,k=c?p.oldTransA:p.transA;c=c?p.oldMin:p.min;var f=p.minPixelPadding;g=(p.isOrdinal||p.isBroken||p.isLog&&g)&&p.lin2val;k||(k=p.transA);e&&(x*=-1,d=p.len);p.reversed&&(x*=-1,d-=x*(p.sector||p.len));
112b?(a=(a*x+d-f)/k+c,g&&(a=p.lin2val(a))):(g&&(a=p.val2lin(a)),a=x*(a-c)*k+d+x*f+(t(m)?k*m: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,e,c,g){var p=this.chart,x=this.left,m=this.top,d,k,f=e&&p.oldChartHeight||p.chartHeight,v=e&&p.oldChartWidth||p.chartWidth,l;d=this.transB;var r=function(a,b,e){if(a<b||a>e)c?a=Math.min(Math.max(b,
113a),e):l=!0;return a};g=B(g,this.translate(a,null,null,e));a=e=Math.round(g+d);d=k=Math.round(f-g-d);t(g)?this.horiz?(d=m,k=f-this.bottom,a=e=r(a,x,x+this.width)):(a=x,e=v-this.right,d=k=r(d,m,m+this.height)):l=!0;return l&&!c?null:p.renderer.crispLine(["M",a,d,"L",e,k],b||1)},getLinearTickPositions:function(a,b,e){var p,c=d(Math.floor(b/a)*a),x=d(Math.ceil(e/a)*a),g=[];if(b===e&&t(b))return[b];for(b=c;b<=x;){g.push(b);b=d(b+a);if(b===p)break;p=b}return g},getMinorTickPositions:function(){var a=this.options,
114b=this.tickPositions,e=this.minorTickInterval,c=[],g,d=this.pointRangePadding||0;g=this.min-d;var d=this.max+d,m=d-g;if(m&&m/e<this.len/3)if(this.isLog)for(d=b.length,g=1;g<d;g++)c=c.concat(this.getLogTickPositions(e,b[g-1],b[g],!0));else if(this.isDatetimeAxis&&"auto"===a.minorTickInterval)c=c.concat(this.getTimeTicks(this.normalizeTimeTickInterval(e),g,d,a.startOfWeek));else for(b=g+(b[0]-g)%e;b<=d&&b!==c[0];b+=e)c.push(b);0!==c.length&&this.trimTicks(c,a.startOnTick,a.endOnTick);return c},adjustForMinRange:function(){var a=
115this.options,b=this.min,e=this.max,g,d=this.dataMax-this.dataMin>=this.minRange,m,k,t,f,v,l;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(h(a.min)||h(a.max)?this.minRange=null:(c(this.series,function(a){f=a.xData;for(k=v=a.xIncrement?1:f.length-1;0<k;k--)if(t=f[k]-f[k-1],void 0===m||t<m)m=t}),this.minRange=Math.min(5*m,this.dataMax-this.dataMin)));e-b<this.minRange&&(l=this.minRange,g=(l-e+b)/2,g=[b-g,B(a.min,b-g)],d&&(g[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=A(g),e=[b+l,B(a.max,
116b+l)],d&&(e[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),e=z(e),e-b<l&&(g[0]=e-l,g[1]=B(a.min,e-l),b=A(g)));this.min=b;this.max=e},getClosest:function(){var a;this.categories?a=1:c(this.series,function(b){var e=b.closestPointRange,p=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&h(e)&&p&&(a=h(a)?Math.min(a,e):e)});return a},nameToX:function(a){var b=E(this.categories),e=b?this.categories:this.names,c=a.options.x,p;a.series.requireSorting=!1;h(c)||(c=!1===this.options.uniqueNames?
117a.series.autoIncrement():m(a.name,e));-1===c?b||(p=e.length):p=c;this.names[p]=a.name;return p},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=0,this.minRange=void 0,c(this.series||[],function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)b.processData(),b.generatePoints();c(b.points,function(e,c){var p;e.options&&void 0===e.options.x&&(p=a.nameToX(e),p!==e.x&&(e.x=p,b.xData[c]=p))})}))},setAxisTranslation:function(a){var b=this,e=b.max-b.min,p=b.axisPointRange||0,g,
118d=0,m=0,k=b.linkedParent,t=!!b.categories,f=b.transA,v=b.isXAxis;if(v||t||p)g=b.getClosest(),k?(d=k.minPointOffset,m=k.pointRangePadding):c(b.series,function(a){var e=t?1:v?B(a.options.pointRange,g,0):b.axisPointRange||0;a=a.options.pointPlacement;p=Math.max(p,e);b.single||(d=Math.max(d,F(a)?0:e/2),m=Math.max(m,"on"===a?0:e))}),k=b.ordinalSlope&&g?b.ordinalSlope/g:1,b.minPointOffset=d*=k,b.pointRangePadding=m*=k,b.pointRange=Math.min(p,e),v&&(b.closestPointRange=g);a&&(b.oldTransA=f);b.translationSlope=
119b.transA=f=b.len/(e+m||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=f*d},minFromRange:function(){return this.max-this.range},setTickInterval:function(a){var e=this,p=e.chart,g=e.options,m=e.isLog,f=e.log2lin,v=e.isDatetimeAxis,l=e.isXAxis,D=e.isLinked,F=g.maxPadding,G=g.minPadding,n=g.tickInterval,E=g.tickPixelInterval,H=e.categories,q=e.threshold,u=e.softThreshold,N,L,z,w;v||H||D||this.getTickAmount();z=B(e.userMin,g.min);w=B(e.userMax,g.max);D?(e.linkedParent=p[e.coll][g.linkedTo],p=e.linkedParent.getExtremes(),
120e.min=B(p.min,p.dataMin),e.max=B(p.max,p.dataMax),g.type!==e.linkedParent.options.type&&k(11,1)):(!u&&h(q)&&(e.dataMin>=q?(N=q,G=0):e.dataMax<=q&&(L=q,F=0)),e.min=B(z,N,e.dataMin),e.max=B(w,L,e.dataMax));m&&(!a&&0>=Math.min(e.min,B(e.dataMin,e.min))&&k(10,1),e.min=d(f(e.min),15),e.max=d(f(e.max),15));e.range&&h(e.max)&&(e.userMin=e.min=z=Math.max(e.min,e.minFromRange()),e.userMax=w=e.max,e.range=null);r(e,"foundExtremes");e.beforePadding&&e.beforePadding();e.adjustForMinRange();!(H||e.axisPointRange||
121e.usePercentage||D)&&h(e.min)&&h(e.max)&&(f=e.max-e.min)&&(!h(z)&&G&&(e.min-=f*G),!h(w)&&F&&(e.max+=f*F));t(g.floor)?e.min=Math.max(e.min,g.floor):t(g.softMin)&&(e.min=Math.min(e.min,g.softMin));t(g.ceiling)?e.max=Math.min(e.max,g.ceiling):t(g.softMax)&&(e.max=Math.max(e.max,g.softMax));u&&h(e.dataMin)&&(q=q||0,!h(z)&&e.min<q&&e.dataMin>=q?e.min=q:!h(w)&&e.max>q&&e.dataMax<=q&&(e.max=q));e.tickInterval=e.min===e.max||void 0===e.min||void 0===e.max?1:D&&!n&&E===e.linkedParent.options.tickPixelInterval?
122n=e.linkedParent.tickInterval:B(n,this.tickAmount?(e.max-e.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(e.max-e.min)*E/Math.max(e.len,E));l&&!a&&c(e.series,function(a){a.processData(e.min!==e.oldMin||e.max!==e.oldMax)});e.setAxisTranslation(!0);e.beforeSetTickPositions&&e.beforeSetTickPositions();e.postProcessTickInterval&&(e.tickInterval=e.postProcessTickInterval(e.tickInterval));e.pointRange&&!n&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval));a=B(g.minTickInterval,e.isDatetimeAxis&&e.closestPointRange);
123!n&&e.tickInterval<a&&(e.tickInterval=a);v||m||n||(e.tickInterval=K(e.tickInterval,null,b(e.tickInterval),B(g.allowDecimals,!(.5<e.tickInterval&&5>e.tickInterval&&1E3<e.max&&9999>e.max)),!!this.tickAmount));this.tickAmount||(e.tickInterval=e.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,e=a.tickPositions,c=a.tickPositioner,g=a.startOnTick,d=a.endOnTick,m;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=
124"auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=e&&e.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()]),this.tickPositions=
125b,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=b=c);this.isLinked||(this.trimTicks(b,g,d),this.min===this.max&&h(this.min)&&!this.tickAmount&&(m=!0,this.min-=.5,this.max+=.5),this.single=m,e||c||this.adjustTickAmount())},trimTicks:function(a,b,e){var c=a[0],p=a[a.length-1],g=this.minPointOffset||0;if(b)this.min=c;else for(;this.min-g>a[0];)a.shift();if(e)this.max=p;else for(;this.max+g<a[a.length-1];)a.pop();0===a.length&&h(c)&&a.push((p+c)/2)},alignToOthers:function(){var a={},
126b,e=this.options;!1!==this.chart.options.chart.alignTicks&&!1!==e.alignTicks&&c(this.chart[this.coll],function(e){var c=e.options,c=[e.horiz?c.left:c.top,c.width,c.height,c.pane].join();e.series.length&&(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,e=a.tickPixelInterval;!h(a.tickInterval)&&this.len<e&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/e)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=
127b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,e=this.tickAmount,c=this.finalTickAmt,g=b&&b.length;if(g<e){for(;b.length<e;)b.push(d(b[b.length-1]+a));this.transA*=(g-1)/(e-1);this.max=b[b.length-1]}else g>e&&(this.tickInterval*=2,this.setTickPositions());if(h(c)){for(a=e=b.length;a--;)(3===c&&1===a%2||2>=c&&0<a&&a<e-1)&&b.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();
128b=this.len!==this.oldAxisLength;c(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},
129setExtremes:function(a,b,e,g,d){var p=this,m=p.chart;e=B(e,!0);c(p.series,function(a){delete a.kdTree});d=u(d,{min:a,max:b});r(p,"setExtremes",d,function(){p.userMin=a;p.userMax=b;p.eventArgs=d;e&&m.redraw(g)})},zoom:function(a,b){var e=this.dataMin,c=this.dataMax,p=this.options,g=Math.min(e,B(p.min,e)),p=Math.max(c,B(p.max,c));if(a!==this.min||b!==this.max)this.allowZoomOutside||(h(e)&&(a<g&&(a=g),a>p&&(a=p)),h(c)&&(b<g&&(b=g),b>p&&(b=p))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,
130b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,e=b.offsetLeft||0,c=this.horiz,g=B(b.width,a.plotWidth-e+(b.offsetRight||0)),d=B(b.height,a.plotHeight),m=B(b.top,a.plotTop),b=B(b.left,a.plotLeft+e),e=/%$/;e.test(d)&&(d=Math.round(parseFloat(d)/100*a.plotHeight));e.test(m)&&(m=Math.round(parseFloat(m)/100*a.plotHeight+a.plotTop));this.left=b;this.top=m;this.width=g;this.height=d;this.bottom=a.chartHeight-d-m;this.right=a.chartWidth-g-b;this.len=Math.max(c?
131g:d,0);this.pos=c?b:m},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?d(b(this.min)):this.min,max:a?d(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,e=this.lin2log,c=b?e(this.min):this.min,b=b?e(this.max):this.max;null===a?a=c:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(B(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>
132a?"left":"center"},tickSize:function(a){var b=this.options,e=b[a+"Length"],c=B(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(c&&e)return"inside"===b[a+"Position"]&&(e=-e),[e,c]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,e=this.tickInterval,g=e,d=this.len/(((this.categories?1:0)+this.max-this.min)/e),m,k=a.rotation,t=this.labelMetrics(),
133f,v=Number.MAX_VALUE,l,r=function(a){a/=d||1;a=1<a?Math.ceil(a):1;return a*e};b?(l=!a.staggerLines&&!a.step&&(h(k)?[k]:d<B(a.autoRotationLimit,80)&&a.autoRotation))&&c(l,function(a){var b;if(a===k||a&&-90<=a&&90>=a)f=r(Math.abs(t.h/Math.sin(n*a))),b=f+Math.abs(a/360),b<v&&(v=b,m=a,g=f)}):a.step||(g=r(t.h));this.autoRotation=l;this.labelRotation=B(m,k);return g},getSlotWidth:function(){var a=this.chart,b=this.horiz,e=this.options.labels,c=Math.max(this.tickPositions.length-(this.categories?0:1),1),
134g=a.margin[3];return b&&2>(e.step||0)&&!e.rotation&&(this.staggerLines||1)*a.plotWidth/c||!b&&(g&&g-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,e=this.tickPositions,g=this.ticks,d=this.options.labels,m=this.horiz,k=this.getSlotWidth(),t=Math.max(1,Math.round(k-2*(d.padding||5))),f={},v=this.labelMetrics(),l=d.style&&d.style.textOverflow,r,h=0,D,G;F(d.rotation)||(f.rotation=d.rotation||0);c(e,function(a){(a=g[a])&&a.labelLength>h&&(h=a.labelLength)});this.maxLabelLength=
135h;if(this.autoRotation)h>t&&h>v.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(k&&(r={width:t+"px"},!l))for(r.textOverflow="clip",D=e.length;!m&&D--;)if(G=e[D],t=g[G].label)t.styles&&"ellipsis"===t.styles.textOverflow?t.css({textOverflow:"clip"}):g[G].labelLength>k&&t.css({width:k+"px"}),t.getBBox().height>this.len/e.length-(v.h-v.f)&&(t.specCss={textOverflow:"ellipsis"});f.rotation&&(r={width:(h>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},l||(r.textOverflow="ellipsis"));
136if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;c(e,function(a){var b=(a=g[a])&&a.label;b&&(b.attr(f),r&&b.css(H(r,b.specCss)),delete b.specCss,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(v.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||h(this.min)&&h(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,e=b.renderer,g=a.options,d=a.tickPositions,m=a.ticks,k=a.horiz,t=a.side,f=b.inverted?
137[1,0,3,2][t]:t,v,l,r=0,D,F=0,G=g.title,n=g.labels,E=0,H=a.opposite,q=b.axisOffset,b=b.clipOffset,u=[-1,1,1,-1][t],K,L=g.className,z=a.axisParent,w=this.tickSize("tick");v=a.hasData();a.showAxis=l=v||B(g.showEmpty,!0);a.staggerLines=a.horiz&&n.staggerLines;a.axisGroup||(a.gridGroup=e.g("grid").attr({zIndex:g.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(L||"")).add(z),a.axisGroup=e.g("axis").attr({zIndex:g.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(L||
138"")).add(z),a.labelGroup=e.g("axis-labels").attr({zIndex:n.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(L||"")).add(z));if(v||a.isLinked)c(d,function(b){m[b]?m[b].addLabel():m[b]=new N(a,b)}),a.renderUnsquish(),!1===n.reserveSpace||0!==t&&2!==t&&{1:"left",3:"right"}[t]!==a.labelAlign&&"center"!==a.labelAlign||c(d,function(a){E=Math.max(m[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(K in m)m[K].destroy(),delete m[K];G&&
139G.text&&!1!==G.enabled&&(a.axisTitle||((K=G.textAlign)||(K=(k?{low:"left",middle:"center",high:"right"}:{low:H?"right":"left",middle:"center",high:H?"left":"right"})[G.align]),a.axisTitle=e.text(G.text,0,0,G.useHTML).attr({zIndex:7,rotation:G.rotation||0,align:K}).addClass("highcharts-axis-title").add(a.axisGroup),a.axisTitle.isNew=!0),l&&(r=a.axisTitle.getBBox()[k?"height":"width"],D=G.offset,F=h(D)?0:B(G.margin,k?5:10)),a.axisTitle[l?"show":"hide"](!0));a.renderLine();a.offset=u*B(g.offset,q[t]);
140a.tickRotCorr=a.tickRotCorr||{x:0,y:0};e=0===t?-a.labelMetrics().h:2===t?a.tickRotCorr.y:0;F=Math.abs(E)+F;E&&(F=F-e+u*(k?B(n.y,a.tickRotCorr.y+8*u):n.x));a.axisTitleMargin=B(D,F);q[t]=Math.max(q[t],a.axisTitleMargin+r+u*a.offset,F,v&&d.length&&w?w[0]:0);g=g.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[f]=Math.max(b[f],g)},getLinePath:function(a){var b=this.chart,e=this.opposite,c=this.offset,g=this.horiz,d=this.left+(e?this.width:0)+c,c=b.chartHeight-this.bottom-(e?this.height:0)+c;e&&(a*=
141-1);return b.renderer.crispLine(["M",g?this.left:d,g?c:this.top,"L",g?b.chartWidth-this.right:d,g?c:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup))},getTitlePosition:function(){var a=this.horiz,b=this.left,e=this.top,c=this.len,g=this.options.title,d=a?b:e,m=this.opposite,t=this.offset,k=g.x||0,f=g.y||0,v=this.chart.renderer.fontMetrics(g.style&&g.style.fontSize,this.axisTitle).f,c=
142{low:d+(a?0:c),middle:d+c/2,high:d+(a?c:0)}[g.align],b=(a?e+this.height:b)+(a?1:-1)*(m?-1:1)*this.axisTitleMargin+(2===this.side?v:0);return{x:a?c+k:b+(m?this.width:0)+t+k,y:a?b+f-(m?this.height:0)+t:c+f}},render:function(){var a=this,b=a.chart,e=b.renderer,g=a.options,d=a.isLog,m=a.lin2log,k=a.isLinked,f=a.tickPositions,v=a.axisTitle,l=a.ticks,r=a.minorTicks,h=a.alternateBands,D=g.stackLabels,F=g.alternateGridColor,n=a.tickmarkOffset,B=a.axisLine,E=b.hasRendered&&t(a.oldMin),H=a.showAxis,q=C(e.globalAnimation),
143u,K;a.labelEdge.length=0;a.overlap=!1;c([l,r,h],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||k)a.minorTickInterval&&!a.categories&&c(a.getMinorTickPositions(),function(b){r[b]||(r[b]=new N(a,b,"minor"));E&&r[b].isNew&&r[b].render(null,!0);r[b].render(null,!1,1)}),f.length&&(c(f,function(b,e){if(!k||b>=a.min&&b<=a.max)l[b]||(l[b]=new N(a,b)),E&&l[b].isNew&&l[b].render(e,!0,.1),l[b].render(e)}),n&&(0===a.min||a.single)&&(l[-1]||(l[-1]=new N(a,-1,null,!0)),l[-1].render(-1))),F&&c(f,
144function(e,c){K=void 0!==f[c+1]?f[c+1]+n:a.max-n;0===c%2&&e<a.max&&K<=a.max+(b.polar?-n:n)&&(h[e]||(h[e]=new L(a)),u=e+n,h[e].options={from:d?m(u):u,to:d?m(K):K,color:F},h[e].render(),h[e].isActive=!0)}),a._addedPlotLB||(c((g.plotLines||[]).concat(g.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);c([l,r,h],function(a){var e,c,g=[],d=q.duration;for(e in a)a[e].isActive||(a[e].render(e,!1,0),a[e].isActive=!1,g.push(e));G(function(){for(c=g.length;c--;)a[g[c]]&&!a[g[c]].isActive&&
145(a[g[c]].destroy(),delete a[g[c]])},a!==h&&b.hasRendered&&d?d:0)});B&&(B[B.isPlaced?"animate":"attr"]({d:this.getLinePath(B.strokeWidth())}),B.isPlaced=!0,B[H?"show":"hide"](!0));v&&H&&(v[v.isNew?"attr":"animate"](a.getTitlePosition()),v.isNew=!1);D&&D.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.visible&&(this.render(),c(this.plotLinesAndBands,function(a){a.render()}));c(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),
146destroy:function(a){var b=this,e=b.stacks,g,d=b.plotLinesAndBands,p;a||v(b);for(g in e)l(e[g]),e[g]=null;c([b.ticks,b.minorTicks,b.alternateBands],function(a){l(a)});if(d)for(a=d.length;a--;)d[a].destroy();c("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(p in b)b.hasOwnProperty(p)&&-1===m(p,b.keepProps)&&delete b[p]},drawCrosshair:function(a,b){var e,c=this.crosshair,g=B(c.snap,!0),d,m=this.cross;a||(a=this.cross&&
147this.cross.e);this.crosshair&&!1!==(h(b)||!g)?(g?h(b)&&(d=this.isXAxis?b.plotX:this.len-b.plotY):d=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),h(d)&&(e=this.getPlotLinePath(b&&(this.isXAxis?b.x:B(b.stackY,b.y)),null,null,null,d)||null),h(e)?(b=this.categories&&!this.isRadial,m||(this.cross=m=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(b?"category ":"thin ")+c.className).attr({zIndex:B(c.zIndex,2)}).add()),m.show().attr({d:e}),b&&!c.width&&m.attr({"stroke-width":this.transA}),
148this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};u(a.Axis.prototype,f)})(I);(function(a){var w=a.Axis,C=a.getMagnitude,A=a.map,z=a.normalizeTickInterval,f=a.pick;w.prototype.getLogTickPositions=function(a,q,h,n){var d=this.options,c=this.len,k=this.lin2log,u=this.log2lin,r=[];n||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),r=this.getLinearTickPositions(a,q,h);else if(.08<=a)for(var c=Math.floor(q),g,b,e,m,E,d=.3<a?[1,2,
1494]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];c<h+1&&!E;c++)for(b=d.length,g=0;g<b&&!E;g++)e=u(k(c)*d[g]),e>q&&(!n||m<=h)&&void 0!==m&&r.push(m),m>h&&(E=!0),m=e;else q=k(q),h=k(h),a=d[n?"minorTickInterval":"tickInterval"],a=f("auto"===a?null:a,this._minorAutoInterval,d.tickPixelInterval/(n?5:1)*(h-q)/((n?c/this.tickPositions.length:c)||1)),a=z(a,null,C(a)),r=A(this.getLinearTickPositions(a,q,h),u),n||(this._minorAutoInterval=a/5);n||(this.tickInterval=a);return r};w.prototype.log2lin=function(a){return Math.log(a)/
150Math.LN10};w.prototype.lin2log=function(a){return Math.pow(10,a)}})(I);(function(a){var w=a.dateFormat,C=a.each,A=a.extend,z=a.format,f=a.isNumber,d=a.map,q=a.merge,h=a.pick,n=a.splat,l=a.syncTimeout,c=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,c){this.chart=a;this.options=c;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=c.split&&!a.inverted;this.shared=c.shared||this.split},cleanSplit:function(a){C(this.chart.series,function(c){var d=
151c&&c.tt;d&&(!d.isActive||a?c.tt=d.destroy():d.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.index,opacity:.5,children:[{tagName:"feGaussianBlur",in:"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode",in:"SourceGraphic"}]}]});a.renderer.definition({tagName:"style",
152textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var a=this.chart.renderer,c=this.options;this.label||(this.label=this.split?a.g("tooltip"):a.label("",0,0,c.shape||"callout",null,null,c.useHTML,null,"tooltip").attr({padding:c.padding,r:c.borderRadius}),this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,q(!0,
153this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,c,d,g){var b=this,e=b.now,m=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(a-e.x)||1<Math.abs(c-e.y)),k=b.followPointer||1<b.len;A(e,{x:m?(2*e.x+a)/3:a,y:m?(e.y+c)/2:c,anchorX:k?void 0:m?(2*e.anchorX+d)/3:d,anchorY:k?void 0:m?(e.anchorY+g)/2:g});b.getLabel().attr(e);
154m&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(a,c,d,g)},32))},hide:function(a){var c=this;clearTimeout(this.hideTimer);a=h(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=l(function(){c.getLabel()[a?"fadeOut":"hide"]();c.isHidden=!0},a))},getAnchor:function(a,c){var k,g=this.chart,b=g.inverted,e=g.plotTop,m=g.plotLeft,f=0,t=0,l,h;a=n(a);k=a[0].tooltipPos;this.followPointer&&c&&(void 0===c.chartX&&(c=g.pointer.normalize(c)),k=[c.chartX-g.plotLeft,
155c.chartY-e]);k||(C(a,function(a){l=a.series.yAxis;h=a.series.xAxis;f+=a.plotX+(!b&&h?h.left-m:0);t+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&l?l.top-e:0)}),f/=a.length,t/=a.length,k=[b?g.plotWidth-t:f,this.shared&&!b&&1<a.length&&c?c.chartY-e:b?g.plotHeight-f:t]);return d(k,Math.round)},getPosition:function(a,c,d){var g=this.chart,b=this.distance,e={},m=d.h||0,k,t=["y",g.chartHeight,c,d.plotY+g.plotTop,g.plotTop,g.plotTop+g.plotHeight],f=["x",g.chartWidth,a,d.plotX+g.plotLeft,g.plotLeft,
156g.plotLeft+g.plotWidth],l=!this.followPointer&&h(d.ttBelow,!g.inverted===!!d.negative),r=function(a,c,g,d,t,k){var p=g<d-b,f=d+b+g<c,v=d-b-g;d+=b;if(l&&f)e[a]=d;else if(!l&&p)e[a]=v;else if(p)e[a]=Math.min(k-g,0>v-m?v:v-m);else if(f)e[a]=Math.max(t,d+m+g>c?d:d+m);else return!1},n=function(a,c,g,d){var m;d<b||d>c-b?m=!1:e[a]=d<g/2?1:d>c-g/2?c-g-2:d-g/2;return m},q=function(a){var b=t;t=f;f=b;k=a},v=function(){!1!==r.apply(0,t)?!1!==n.apply(0,f)||k||(q(!0),v()):k?e.x=e.y=0:(q(!0),v())};(g.inverted||
1571<this.len)&&q();v();return e},defaultFormatter:function(a){var c=this.points||n(this),d;d=[a.tooltipFooterHeaderFormatter(c[0])];d=d.concat(a.bodyFormatter(c));d.push(a.tooltipFooterHeaderFormatter(c[0],!0));return d},refresh:function(a,c){var d=this.chart,g,b,e,m={},f=[];g=this.options.formatter||this.defaultFormatter;var m=d.hoverPoints,t=this.shared;clearTimeout(this.hideTimer);this.followPointer=n(a)[0].series.tooltipOptions.followPointer;e=this.getAnchor(a,c);c=e[0];b=e[1];!t||a.series&&a.series.noSharedTooltip?
158m=a.getLabelConfig():(d.hoverPoints=a,m&&C(m,function(a){a.setState()}),C(a,function(a){a.setState("hover");f.push(a.getLabelConfig())}),m={x:a[0].category,y:a[0].y},m.points=f,this.len=f.length,a=a[0]);m=g.call(m,this);t=a.series;this.distance=h(t.tooltipOptions.distance,16);!1===m?this.hide():(g=this.getLabel(),this.isHidden&&g.attr({opacity:1}).show(),this.split?this.renderSplit(m,d.hoverPoints):(g.attr({text:m&&m.join?m.join(""):m}),g.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+
159h(a.colorIndex,t.colorIndex)),this.updatePosition({plotX:c,plotY:b,negative:a.negative,ttBelow:a.ttBelow,h:e[2]||0})),this.isHidden=!1)},renderSplit:function(c,d){var f=this,g=[],b=this.chart,e=b.renderer,m=!0,k=this.options,t,l=this.getLabel();C(c.slice(0,c.length-1),function(a,c){c=d[c-1]||{isHeader:!0,plotX:d[0].plotX};var r=c.series||f,n=r.tt,v="highcharts-color-"+h(c.colorIndex,(c.series||{}).colorIndex,"none");n||(r.tt=n=e.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+v).attr({padding:k.padding,
160r:k.borderRadius}).add(l));n.isActive=!0;n.attr({text:a});a=n.getBBox();v=a.width+n.strokeWidth();c.isHeader?(t=a.height,v=Math.max(0,Math.min(c.plotX+b.plotLeft-v/2,b.chartWidth-v))):v=c.plotX+b.plotLeft-h(k.distance,16)-v;0>v&&(m=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=b.plotTop;g.push({target:c.isHeader?b.plotHeight+t:a,rank:c.isHeader?1:0,size:r.tt.getBBox().height+1,point:c,x:v,tt:n})});this.cleanSplit();a.distribute(g,b.plotHeight+t);C(g,function(a){var e=a.point;
161a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:m||e.isHeader?a.x:e.plotX+b.plotLeft+h(k.distance,16),y:a.pos+b.plotTop,anchorX:e.plotX+b.plotLeft,anchorY:e.isHeader?a.pos+b.plotTop-15:e.plotY+b.plotTop})})},updatePosition:function(a){var c=this.chart,d=this.getLabel(),d=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a);this.move(Math.round(d.x),Math.round(d.y||0),a.plotX+c.plotLeft,a.plotY+c.plotTop)},getXDateFormat:function(a,d,f){var g;d=d.dateTimeLabelFormats;
162var b=f&&f.closestPointRange,e,m={millisecond:15,second:12,minute:9,hour:6,day:3},k,t="millisecond";if(b){k=w("%m-%d %H:%M:%S.%L",a.x);for(e in c){if(b===c.week&&+w("%w",a.x)===f.options.startOfWeek&&"00:00:00.000"===k.substr(6)){e="week";break}if(c[e]>b){e=t;break}if(m[e]&&k.substr(m[e])!=="01-01 00:00:00.000".substr(m[e]))break;"week"!==e&&(t=e)}e&&(g=d[e])}else g=d.day;return g||d.year},tooltipFooterHeaderFormatter:function(a,c){var d=c?"footer":"header";c=a.series;var g=c.tooltipOptions,b=g.xDateFormat,
163e=c.xAxis,m=e&&"datetime"===e.options.type&&f(a.key),d=g[d+"Format"];m&&!b&&(b=this.getXDateFormat(a,g,e));m&&b&&(d=d.replace("{point.key}","{point.key:"+b+"}"));return z(d,{point:a,series:c})},bodyFormatter:function(a){return d(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}}})(I);(function(a){var w=a.addEvent,C=a.attr,A=a.charts,z=a.css,f=a.defined,d=a.doc,q=a.each,h=a.extend,n=a.fireEvent,l=a.offset,c=a.pick,k=a.removeEvent,
164u=a.splat,r=a.Tooltip,g=a.win;a.Pointer=function(a,e){this.init(a,e)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch={};r&&e.tooltip.enabled&&(a.tooltip=new r(a,e.tooltip),this.followTouchMove=c(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,g=b.options.chart,d=g.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(d=c(g.pinchType,d));this.zoomX=
165a=/x/.test(d);this.zoomY=d=/y/.test(d);this.zoomHor=a&&!b||d&&b;this.zoomVert=d&&!b||a&&b;this.hasZoom=a||d},normalize:function(a,e){var b,c;a=a||g.event;a.target||(a.target=a.srcElement);c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;e||(this.chartPosition=e=l(this.chart.container));void 0===c.pageX?(b=Math.max(a.x,a.clientX-e.left),e=a.y):(b=c.pageX-e.left,e=c.pageY-e.top);return h(a,{chartX:Math.round(b),chartY:Math.round(e)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};
166q(this.chart.axes,function(e){b[e.isXAxis?"xAxis":"yAxis"].push({axis:e,value:e.toValue(a[e.horiz?"chartX":"chartY"])})});return b},runPointActions:function(b){var e=this.chart,g=e.series,f=e.tooltip,t=f?f.shared:!1,k=!0,l=e.hoverPoint,h=e.hoverSeries,r,n,v,D=[],G;if(!t&&!h)for(r=0;r<g.length;r++)if(g[r].directTouch||!g[r].options.stickyTracking)g=[];h&&(t?h.noSharedTooltip:h.directTouch)&&l?D=[l]:(t||!h||h.options.stickyTracking||(g=[h]),q(g,function(a){n=a.noSharedTooltip&&t;v=!t&&a.directTouch;
167a.visible&&!n&&!v&&c(a.options.enableMouseTracking,!0)&&(G=a.searchPoint(b,!n&&1===a.kdDimensions))&&G.series&&D.push(G)}),D.sort(function(a,b){var e=a.distX-b.distX,c=a.dist-b.dist,g=b.series.group.zIndex-a.series.group.zIndex;return 0!==e&&t?e:0!==c?c:0!==g?g:a.series.index>b.series.index?-1:1}));if(t)for(r=D.length;r--;)(D[r].x!==D[0].x||D[r].series.noSharedTooltip)&&D.splice(r,1);if(D[0]&&(D[0]!==this.prevKDPoint||f&&f.isHidden)){if(t&&!D[0].series.noSharedTooltip){for(r=0;r<D.length;r++)D[r].onMouseOver(b,
168D[r]!==(h&&h.directTouch&&l||D[0]));D.length&&f&&f.refresh(D.sort(function(a,b){return a.series.index-b.series.index}),b)}else if(f&&f.refresh(D[0],b),!h||!h.directTouch)D[0].onMouseOver(b);this.prevKDPoint=D[0];k=!1}k&&(g=h&&h.tooltipOptions.followPointer,f&&g&&!f.isHidden&&(g=f.getAnchor([{}],b),f.updatePosition({plotX:g[0],plotY:g[1]})));this.unDocMouseMove||(this.unDocMouseMove=w(d,"mousemove",function(b){if(A[a.hoverChartIndex])A[a.hoverChartIndex].pointer.onDocumentMouseMove(b)}));q(t?D:[c(l,
169D[0])],function(a){q(e.axes,function(e){(!a||a.series&&a.series[e.coll]===e)&&e.drawCrosshair(b,a)})})},reset:function(a,e){var b=this.chart,c=b.hoverSeries,g=b.hoverPoint,d=b.hoverPoints,f=b.tooltip,k=f&&f.shared?d:g;a&&k&&q(u(k),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&k&&(f.refresh(k),g&&(g.setState(g.state,!0),q(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();d&&q(d,function(a){a.setState()});if(c)c.onMouseOut();f&&f.hide(e);this.unDocMouseMove&&
170(this.unDocMouseMove=this.unDocMouseMove());q(b.axes,function(a){a.hideCrosshair()});this.hoverX=this.prevKDPoint=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,e){var b=this.chart,c;q(b.series,function(g){c=a||g.getPlotBox();g.xAxis&&g.xAxis.zoomEnabled&&g.group&&(g.group.attr(c),g.markerGroup&&(g.markerGroup.attr(c),g.markerGroup.clip(e?b.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(c))});b.clipRect.attr(e||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=
171a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,g=a.chartX,d=a.chartY,f=this.zoomHor,k=this.zoomVert,l=b.plotLeft,h=b.plotTop,r=b.plotWidth,v=b.plotHeight,D,n=this.selectionMarker,q=this.mouseDownX,p=this.mouseDownY,x=c.panKey&&a[c.panKey+"Key"];n&&n.touch||(g<l?g=l:g>l+r&&(g=l+r),d<h?d=h:d>h+v&&(d=h+v),this.hasDragged=Math.sqrt(Math.pow(q-g,2)+Math.pow(p-d,2)),10<this.hasDragged&&(D=b.isInsidePlot(q-
172l,p-h),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&D&&!x&&!n&&(this.selectionMarker=n=b.renderer.rect(l,h,f?1:r,k?1:v,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add()),n&&f&&(g-=q,n.attr({width:Math.abs(g),x:(0<g?0:g)+q})),n&&k&&(g=d-p,n.attr({height:Math.abs(g),y:(0<g?0:g)+p})),D&&!n&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,g=this.hasPinched;if(this.selectionMarker){var d={originalEvent:a,xAxis:[],yAxis:[]},k=this.selectionMarker,l=k.attr?k.attr("x"):
173k.x,r=k.attr?k.attr("y"):k.y,B=k.attr?k.attr("width"):k.width,u=k.attr?k.attr("height"):k.height,v;if(this.hasDragged||g)q(c.axes,function(e){if(e.zoomEnabled&&f(e.min)&&(g||b[{xAxis:"zoomX",yAxis:"zoomY"}[e.coll]])){var c=e.horiz,m="touchend"===a.type?e.minPixelPadding:0,p=e.toValue((c?l:r)+m),c=e.toValue((c?l+B:r+u)-m);d[e.coll].push({axis:e,min:Math.min(p,c),max:Math.max(p,c)});v=!0}}),v&&n(c,"selection",d,function(a){c.zoom(h(a,g?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();
174g&&this.scaleGroups()}c&&(z(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){A[a.hoverChartIndex]&&A[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||
175b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var e=A[a.hoverChartIndex];e&&(b.relatedTarget||b.toElement)&&(e.pointer.reset(),e.pointer.chartPosition=null)},onContainerMouseMove:function(b){var e=this.chart;f(a.hoverChartIndex)&&A[a.hoverChartIndex]&&A[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=e.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===e.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!e.isInsidePlot(b.chartX-
176e.plotLeft,b.chartY-e.plotTop)||e.openMenu||this.runPointActions(b)},inClass:function(a,e){for(var b;a;){if(b=C(a,"class")){if(-1!==b.indexOf(e))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;if(!(!b||!a||b.options.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=
177this.chart,c=b.hoverPoint,g=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(n(c.series,"click",h(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(h(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-g,a.chartY-d)&&n(b,"click",a)))},setDOMEvents:function(){var b=this,e=b.chart.container;e.onmousedown=function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};
178w(e,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&w(d,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&w(d,"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;k(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||(k(d,"mouseup",this.onDocumentMouseUp),k(d,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in this)this[b]=
179null}}})(I);(function(a){var w=a.charts,C=a.each,A=a.extend,z=a.map,f=a.noop,d=a.pick;A(a.Pointer.prototype,{pinchTranslate:function(a,d,f,l,c,k){this.zoomHor&&this.pinchTranslateDirection(!0,a,d,f,l,c,k);this.zoomVert&&this.pinchTranslateDirection(!1,a,d,f,l,c,k)},pinchTranslateDirection:function(a,d,f,l,c,k,u,r){var g=this.chart,b=a?"x":"y",e=a?"X":"Y",m="chart"+e,h=a?"width":"height",t=g["plot"+(a?"Left":"Top")],n,q,K=r||1,B=g.inverted,L=g.bounds[a?"h":"v"],v=1===d.length,D=d[0][m],G=f[0][m],N=
180!v&&d[1][m],p=!v&&f[1][m],x;f=function(){!v&&20<Math.abs(D-N)&&(K=r||Math.abs(G-p)/Math.abs(D-N));q=(t-G)/K+D;n=g["plot"+(a?"Width":"Height")]/K};f();d=q;d<L.min?(d=L.min,x=!0):d+n>L.max&&(d=L.max-n,x=!0);x?(G-=.8*(G-u[b][0]),v||(p-=.8*(p-u[b][1])),f()):u[b]=[G,p];B||(k[b]=q-t,k[h]=n);k=B?1/K:K;c[h]=n;c[b]=d;l[B?a?"scaleY":"scaleX":"scale"+e]=K;l["translate"+e]=k*t+(G-k*D)},pinch:function(a){var h=this,n=h.chart,l=h.pinchDown,c=a.touches,k=c.length,q=h.lastValidTouch,r=h.hasZoom,g=h.selectionMarker,
181b={},e=1===k&&(h.inClass(a.target,"highcharts-tracker")&&n.runTrackerClick||h.runChartClick),m={};1<k&&(h.initiated=!0);r&&h.initiated&&!e&&a.preventDefault();z(c,function(a){return h.normalize(a)});"touchstart"===a.type?(C(c,function(a,b){l[b]={chartX:a.chartX,chartY:a.chartY}}),q.x=[l[0].chartX,l[1]&&l[1].chartX],q.y=[l[0].chartY,l[1]&&l[1].chartY],C(n.axes,function(a){if(a.zoomEnabled){var b=n.bounds[a.horiz?"h":"v"],e=a.minPixelPadding,c=a.toPixels(d(a.options.min,a.dataMin)),g=a.toPixels(d(a.options.max,
182a.dataMax)),f=Math.max(c,g);b.min=Math.min(a.pos,Math.min(c,g)-e);b.max=Math.max(a.pos+a.len,f+e)}}),h.res=!0):h.followTouchMove&&1===k?this.runPointActions(h.normalize(a)):l.length&&(g||(h.selectionMarker=g=A({destroy:f,touch:!0},n.plotBox)),h.pinchTranslate(l,c,b,g,m,q),h.hasPinched=r,h.scaleGroups(b,m),h.res&&(h.res=!1,this.reset(!1,0)))},touch:function(f,h){var n=this.chart,l,c;if(n.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=n.index;1===f.touches.length?
183(f=this.normalize(f),(c=n.isInsidePlot(f.chartX-n.plotLeft,f.chartY-n.plotTop))&&!n.openMenu?(h&&this.runPointActions(f),"touchmove"===f.type&&(h=this.pinchDown,l=h[0]?4<=Math.sqrt(Math.pow(h[0].chartX-f.chartX,2)+Math.pow(h[0].chartY-f.chartY,2)):!1),d(l,!0)&&this.pinch(f)):h&&this.reset()):2===f.touches.length&&this.pinch(f)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(d){w[a.hoverChartIndex]&&
184w[a.hoverChartIndex].pointer.drop(d)}})})(I);(function(a){var w=a.addEvent,C=a.charts,A=a.css,z=a.doc,f=a.extend,d=a.noop,q=a.Pointer,h=a.removeEvent,n=a.win,l=a.wrap;if(n.PointerEvent||n.MSPointerEvent){var c={},k=!!n.PointerEvent,u=function(){var a,b=[];b.item=function(a){return this[a]};for(a in c)c.hasOwnProperty(a)&&b.push({pageX:c[a].pageX,pageY:c[a].pageY,target:c[a].target});return b},r=function(c,b,e,f){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!C[a.hoverChartIndex]||
185(f(c),f=C[a.hoverChartIndex].pointer,f[b]({type:e,target:c.currentTarget,preventDefault:d,touches:u()}))};f(q.prototype,{onContainerPointerDown:function(a){r(a,"onContainerTouchStart","touchstart",function(a){c[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){r(a,"onContainerTouchMove","touchmove",function(a){c[a.pointerId]={pageX:a.pageX,pageY:a.pageY};c[a.pointerId].target||(c[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){r(a,
186"onDocumentTouchEnd","touchend",function(a){delete c[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,k?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,k?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(z,k?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});l(q.prototype,"init",function(a,b,e){a.call(this,b,e);this.hasZoom&&A(b.container,{"-ms-touch-action":"none","touch-action":"none"})});l(q.prototype,"setDOMEvents",function(a){a.apply(this);
187(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(w)});l(q.prototype,"destroy",function(a){this.batchMSEvents(h);a.call(this)})}})(I);(function(a){var w,C=a.addEvent,A=a.css,z=a.discardElement,f=a.defined,d=a.each,q=a.extend,h=a.isFirefox,n=a.marginNames,l=a.merge,c=a.pick,k=a.setAnimation,u=a.stableSort,r=a.win,g=a.wrap;w=a.Legend=function(a,e){this.init(a,e)};w.prototype={init:function(a,e){this.chart=a;this.setOptions(e);e.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},
188setOptions:function(a){var b=c(a.padding,8);this.options=a;this.itemMarginTop=a.itemMarginTop||0;this.initialItemX=this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=c(a.symbolWidth,16);this.pages=[]},update:function(a,e){var b=this.chart;this.setOptions(l(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;c(e,!0)&&b.redraw()},colorizeItem:function(a,e){a.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden")},positionItem:function(a){var b=
189this.options,c=b.symbolPadding,b=!b.rtl,g=a._legendItemPos,d=g[0],g=g[1],f=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?d:this.legendWidth-d-2*c-4,g);f&&(f.x=d,f.y=g)},destroyItem:function(a){var b=a.checkbox;d(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&z(a.checkbox)},destroy:function(){var a=this.group,e=this.box;e&&(this.box=e.destroy());d(this.getAllItems(),function(a){d(["legendItem","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())})});
190a&&(this.group=a.destroy());this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,c,g=this.clipHeight||this.legendHeight,f=this.titleHeight;b&&(c=b.translateY,d(this.allItems,function(e){var d=e.checkbox,m;d&&(m=c+f+d.y+(a||0)+3,A(d,{left:b.translateX+e.checkboxOffset+d.x-20+"px",top:m+"px",display:m>c-6&&m<c+g-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,e=this.options.title,c=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,a-
1913,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).add(this.group)),a=this.title.getBBox(),c=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:c}));this.titleHeight=c},setText:function(b){var e=this.options;b.legendItem.attr({text:e.labelFormat?a.format(e.labelFormat,b):e.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,g=b.renderer,d=this.options,f="horizontal"===d.layout,k=this.symbolWidth,l=d.symbolPadding,h=this.padding,r=f?c(d.itemDistance,20):
1920,n=!d.rtl,v=d.width,D=d.itemMarginBottom||0,G=this.itemMarginTop,q=this.initialItemX,p=a.legendItem,x=!a.series,u=!x&&a.series.drawLegendSymbol?a.series:a,z=u.options,z=this.createCheckboxForItem&&z&&z.showCheckbox,w=d.useHTML;p||(a.legendGroup=g.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+a.colorIndex+(a.options.className?" "+a.options.className:"")+(x?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=p=g.text("",n?k+l:-l,this.baseline||
1930,w).attr({align:n?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=g.fontMetrics(12,p),this.baseline=this.fontMetrics.f+3+G,p.attr("y",this.baseline)),u.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,p,w),z&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);g=p.getBBox();k=a.checkboxOffset=d.itemWidth||a.legendItemWidth||k+l+g.width+r+(z?20:0);this.itemHeight=l=Math.round(a.legendItemHeight||g.height);f&&this.itemX-q+k>(v||
194b.chartWidth-2*h-q-d.x)&&(this.itemX=q,this.itemY+=G+this.lastLineHeight+D,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,k);this.lastItemY=G+this.itemY+D;this.lastLineHeight=Math.max(l,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=k:(this.itemY+=G+l+D,this.lastLineHeight=l);this.offsetWidth=v||Math.max((f?this.itemX-q-r:k)+h,this.offsetWidth)},getAllItems:function(){var a=[];d(this.chart.series,function(b){var e=b&&b.options;b&&c(e.showInLegend,
195f(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===e.legendType?b.data:b)))});return a},adjustMargins:function(a,e){var b=this.chart,g=this.options,k=g.align.charAt(0)+g.verticalAlign.charAt(0)+g.layout.charAt(0);g.floating||d([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(d,m){d.test(k)&&!f(a[m])&&(b[n[m]]=Math.max(b[n[m]],b.legend[(m+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][m]*g[m%2?"x":"y"]+c(g.margin,12)+e[m]))})},render:function(){var a=this,e=a.chart,
196c=e.renderer,g=a.group,f,k,l,h,r=a.box,n=a.options,v=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;g||(a.group=g=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(g),a.scrollGroup=c.g().add(a.contentGroup));a.renderTitle();f=a.getAllItems();u(f,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});n.reversed&&f.reverse();a.allItems=f;a.display=k=!!f.length;a.lastLineHeight=0;d(f,function(b){a.renderItem(b)});
197l=(n.width||a.offsetWidth)+v;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);h+=v;r||(a.box=r=c.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(g),r.isNew=!0);0<l&&0<h&&(r[r.isNew?"attr":"animate"](r.crisp({x:0,y:0,width:l,height:h},r.strokeWidth())),r.isNew=!1);r[k?"show":"hide"]();"none"===g.getStyle("display")&&(l=h=0);a.legendWidth=l;a.legendHeight=h;d(f,function(b){a.positionItem(b)});k&&g.align(q({width:l,height:h},n),!0,"spacingBox");e.isResizing||this.positionCheckboxes()},
198handleOverflow:function(a){var b=this,g=this.chart,f=g.renderer,k=this.options,l=k.y,g=g.spacingBox.height+("top"===k.verticalAlign?-l:l)-this.padding,l=k.maxHeight,h,r=this.clipRect,n=k.navigation,q=c(n.animation,!0),v=n.arrowSize||12,D=this.nav,G=this.pages,u=this.padding,p,x=this.allItems,z=function(a){a?r.attr({height:a}):r&&(b.clipRect=r.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+u+"px,9999px,"+(u+a)+"px,0)":"auto")};"horizontal"!==k.layout||
199"middle"===k.verticalAlign||k.floating||(g/=2);l&&(g=Math.min(g,l));G.length=0;a>g&&!1!==n.enabled?(this.clipHeight=h=Math.max(g-20-this.titleHeight-u,0),this.currentPage=c(this.currentPage,1),this.fullHeight=a,d(x,function(a,b){var e=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var c=G.length;if(!c||e-G[c-1]>h&&(p||e)!==G[c-1])G.push(p||e),c++;b===x.length-1&&e+a-G[c-1]>h&&G.push(e);e!==p&&(p=e)}),r||(r=b.clipRect=f.clipRect(0,u,9999,0),b.contentGroup.clip(r)),z(h),D||(this.nav=
200D=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,v,v).on("click",function(){b.scroll(-1,q)}).add(D),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation").add(D),this.down=f.symbol("triangle-down",0,0,v,v).on("click",function(){b.scroll(1,q)}).add(D)),b.scroll(0),a=g):D&&(z(),D.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,e){var b=this.pages,c=b.length;a=this.currentPage+a;var g=this.clipHeight,d=this.pager,f=this.padding;
201a>c&&(a=c);0<a&&(void 0!==e&&k(e,this.chart),this.nav.attr({translateX:f,translateY:g+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),d.attr({text:a+"/"+c}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),e=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:e}),this.currentPage=a,this.positionCheckboxes(e))}};
202a.LegendSymbolMixin={drawRectangle:function(a,e){var b=a.options,g=b.symbolHeight||a.fontMetrics.f,b=b.squareSymbol;e.legendSymbol=this.chart.renderer.rect(b?(a.symbolWidth-g)/2:0,a.baseline-g+1,b?g:a.symbolWidth,g,c(a.options.symbolRadius,g/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(a){var b=this.options.marker,c=a.symbolWidth,g=this.chart.renderer,d=this.legendGroup,f=a.baseline-Math.round(.3*a.fontMetrics.b);this.legendLine=g.path(["M",0,f,"L",
203c,f]).addClass("highcharts-graph").attr({}).add(d);b&&!1!==b.enabled&&(a=0===this.symbol.indexOf("url")?0:b.radius,this.legendSymbol=b=g.symbol(this.symbol,c/2-a,f-a,2*a,2*a,b).addClass("highcharts-point").add(d),b.isMarker=!0)}};(/Trident\/7\.0/.test(r.navigator.userAgent)||h)&&g(w.prototype,"positionItem",function(a,e){var b=this,c=function(){e._legendItemPos&&a.call(b,e)};c();setTimeout(c)})})(I);(function(a){var w=a.addEvent,C=a.animObject,A=a.attr,z=a.doc,f=a.Axis,d=a.createElement,q=a.defaultOptions,
204h=a.discardElement,n=a.charts,l=a.css,c=a.defined,k=a.each,u=a.error,r=a.extend,g=a.fireEvent,b=a.getStyle,e=a.grep,m=a.isNumber,E=a.isObject,t=a.isString,F=a.Legend,H=a.marginNames,K=a.merge,B=a.Pointer,L=a.pick,v=a.pInt,D=a.removeEvent,G=a.seriesTypes,N=a.splat,p=a.svg,x=a.syncTimeout,O=a.win,S=a.Renderer,P=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,e){return new P(a,b,e)};P.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(t(a[0])||a[0].nodeName)this.renderTo=
205a.shift();this.init(a[0],a[1])},init:function(b,e){var c,g=b.series;b.series=null;c=K(q,b);c.series=b.series=g;this.userOptions=b;this.respRules=[];b=c.chart;g=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=e;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=b.showAxes;var d;this.index=n.length;n.push(this);a.chartCount++;if(g)for(d in g)w(this,d,g[d]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=
2060;this.firstRender()},initSeries:function(a){var b=this.options.chart;(b=G[a.type||b.type||b.defaultSeriesType])||u(17,!0);b=new b;b.init(this,a);return b},isInsidePlot:function(a,b,e){var c=e?b:a;a=e?a:b;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){var e=this.axes,c=this.series,d=this.pointer,f=this.legend,p=this.isDirtyLegend,m,l,t=this.hasCartesianSeries,v=this.isDirtyBox,h=c.length,n=h,D=this.renderer,G=D.isHidden(),x=[];a.setAnimation(b,this);G&&this.cloneRenderTo();
207for(this.layOutTitles();n--;)if(b=c[n],b.options.stacking&&(m=!0,b.isDirty)){l=!0;break}if(l)for(n=h;n--;)b=c[n],b.options.stacking&&(b.isDirty=!0);k(c,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),p=!0);a.isDirtyData&&g(a,"updatedData")});p&&f.options.enabled&&(f.render(),this.isDirtyLegend=!1);m&&this.getStacks();t&&k(e,function(a){a.updateNames();a.setScale()});this.getMargins();t&&(k(e,function(a){a.isDirty&&(v=!0)}),k(e,function(a){var b=a.min+","+a.max;
208a.extKey!==b&&(a.extKey=b,x.push(function(){g(a,"afterSetExtremes",r(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(v||m)&&a.redraw()}));v&&this.drawChartBox();k(c,function(a){(v||a.isDirty)&&a.visible&&a.redraw()});d&&d.reset(!0);D.draw();g(this,"redraw");G&&this.cloneRenderTo(!0);k(x,function(a){a.call()})},get:function(a){var b=this.axes,e=this.series,c,g;for(c=0;c<b.length;c++)if(b[c].options.id===a)return b[c];for(c=0;c<e.length;c++)if(e[c].options.id===a)return e[c];for(c=0;c<e.length;c++)for(g=
209e[c].points||[],b=0;b<g.length;b++)if(g[b].id===a)return g[b];return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis=N(b.xAxis||{}),b=b.yAxis=N(b.yAxis||{});k(c,function(a,b){a.index=b;a.isX=!0});k(b,function(a,b){a.index=b});c=c.concat(b);k(c,function(b){new f(a,b)})},getSelectedPoints:function(){var a=[];k(this.series,function(b){a=a.concat(e(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return e(this.series,function(a){return a.selected})},
210setTitle:function(a,b,c){var e=this,g=e.options,d;d=g.title=K(g.title,a);g=g.subtitle=K(g.subtitle,b);k([["title",a,d],["subtitle",b,g]],function(a,b){var c=a[0],g=e[c],d=a[1];a=a[2];g&&d&&(e[c]=g=g.destroy());a&&a.text&&!g&&(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&&a,b&&a)})});e.layOutTitles(c)},layOutTitles:function(a){var b=0,c,e=this.renderer,g=this.spacingBox;k(["title","subtitle"],
211function(a){var c=this[a],d=this.options[a],f;c&&(f=e.fontMetrics(f,c).b,c.css({width:(d.width||g.width+d.widthAdjust)+"px"}).align(r({y:b+f+("title"===a?-3:2)},d),!1,"spacingBox"),d.floating||d.verticalAlign||(b=Math.ceil(b+c.getBBox().height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=c,this.hasRendered&&L(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var a=this.options.chart,e=a.width,a=a.height,g=this.renderToClone||this.renderTo;
212c(e)||(this.containerWidth=b(g,"width"));c(a)||(this.containerHeight=b(g,"height"));this.chartWidth=Math.max(0,e||this.containerWidth||600);this.chartHeight=Math.max(0,L(a,19<this.containerHeight?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;if(a){if(b){for(;b.childNodes.length;)this.renderTo.appendChild(b.firstChild);h(b);delete this.renderToClone}}else c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),
213l(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block","important"),z.body.appendChild(b),c&&b.appendChild(c)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,c=this.options,e=c.chart,g,f;b=this.renderTo;var k=a.uniqueKey(),p;b||(this.renderTo=b=e.renderTo);t(b)&&(this.renderTo=b=z.getElementById(b));b||u(13,!0);g=v(A(b,"data-highcharts-chart"));m(g)&&n[g]&&n[g].hasRendered&&
214n[g].destroy();A(b,"data-highcharts-chart",this.index);b.innerHTML="";e.skipClone||b.offsetWidth||this.cloneRenderTo();this.getChartSize();g=this.chartWidth;f=this.chartHeight;this.container=b=d("div",{id:k},void 0,this.renderToClone||b);this._cursor=b.style.cursor;this.renderer=new (a[e.renderer]||S)(b,g,f,null,e.forExport,c.exporting&&c.exporting.allowHTML);this.setClassName(e.className);for(p in c.defs)this.renderer.definition(c.defs[p]);this.renderer.chartIndex=this.index},getMargins:function(a){var b=
215this.spacing,e=this.margin,g=this.titleOffset;this.resetMargins();g&&!c(e[0])&&(this.plotTop=Math.max(this.plotTop,g+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(e,b);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],e=a.margin;a.hasCartesianSeries&&k(a.axes,function(a){a.visible&&a.getOffset()});k(H,function(g,
216d){c(e[d])||(a[g]+=b[d])});a.setChartSize()},reflow:function(a){var e=this,g=e.options.chart,d=e.renderTo,f=c(g.width),k=g.width||b(d,"width"),g=g.height||b(d,"height"),d=a?a.target:O;if(!f&&!e.isPrinting&&k&&g&&(d===O||d===z)){if(k!==e.containerWidth||g!==e.containerHeight)clearTimeout(e.reflowTimeout),e.reflowTimeout=x(function(){e.container&&e.setSize(void 0,void 0,!1)},a?100:0);e.containerWidth=k;e.containerHeight=g}},initReflow:function(){var a=this,b;b=w(O,"resize",function(b){a.reflow(b)});
217w(a,"destroy",b)},setSize:function(b,e,c){var d=this,f=d.renderer;d.isResizing+=1;a.setAnimation(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;void 0!==b&&(d.options.chart.width=b);void 0!==e&&(d.options.chart.height=e);d.getChartSize();d.setChartSize(!0);f.setSize(d.chartWidth,d.chartHeight,c);k(d.axes,function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.setResponsive&&d.setResponsive(!1);d.redraw(c);d.oldChartHeight=null;
218g(d,"resize");x(function(){d&&g(d,"endResize",null,function(){--d.isResizing})},C(void 0).duration)},setChartSize:function(a){var b=this.inverted,e=this.renderer,c=this.chartWidth,g=this.chartHeight,d=this.options.chart,f=this.spacing,p=this.clipOffset,m,l,t,v;this.plotLeft=m=Math.round(this.plotLeft);this.plotTop=l=Math.round(this.plotTop);this.plotWidth=t=Math.max(0,Math.round(c-m-this.marginRight));this.plotHeight=v=Math.max(0,Math.round(g-l-this.marginBottom));this.plotSizeX=b?v:t;this.plotSizeY=
219b?t:v;this.plotBorderWidth=d.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:f[3],y:f[0],width:c-f[3]-f[1],height:g-f[0]-f[2]};this.plotBox=e.plotBox={x:m,y:l,width:t,height:v};c=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(c,p[3])/2);e=Math.ceil(Math.max(c,p[0])/2);this.clipBox={x:b,y:e,width:Math.floor(this.plotSizeX-Math.max(c,p[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(c,p[2])/2-e))};a||k(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=
220this,b=a.options.chart;k(["margin","spacing"],function(c){var e=b[c],g=E(e)?e:[e,e,e,e];k(["Top","Right","Bottom","Left"],function(e,d){a[c][d]=L(b[c+e],g[d])})});k(H,function(b,e){a[b]=L(a.margin[e],a.spacing[e])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,e=this.chartWidth,c=this.chartHeight,g=this.chartBackground,d=this.plotBackground,f=this.plotBorder,k,p,m=this.plotLeft,l=this.plotTop,t=this.plotWidth,v=this.plotHeight,h=this.plotBox,
221r=this.clipRect,n=this.clipBox,D="animate";g||(this.chartBackground=g=b.rect().addClass("highcharts-background").add(),D="attr");k=p=g.strokeWidth();g[D]({x:p/2,y:p/2,width:e-p-k%2,height:c-p-k%2,r:a.borderRadius});D="animate";d||(D="attr",this.plotBackground=d=b.rect().addClass("highcharts-plot-background").add());d[D](h);r?r.animate({width:n.width,height:n.height}):this.clipRect=b.clipRect(n);D="animate";f||(D="attr",this.plotBorder=f=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
222f[D](f.crisp({x:m,y:l,width:t,height:v},-f.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,e,c=a.options.series,g,d;k(["inverted","angular","polar"],function(f){e=G[b.type||b.defaultSeriesType];d=b[f]||e&&e.prototype[f];for(g=c&&c.length;!d&&g--;)(e=G[c[g].type])&&e.prototype[f]&&(d=!0);a[f]=d})},linkSeries:function(){var a=this,b=a.series;k(b,function(a){a.linkedSeries.length=0});k(b,function(b){var e=b.options.linkedTo;t(e)&&(e=":previous"===e?a.series[b.index-
2231]:a.get(e))&&e.linkedParent!==b&&(e.linkedSeries.push(b),b.linkedParent=e,b.visible=L(b.options.visible,e.options.visible,b.visible))})},renderSeries:function(){k(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&k(b.items,function(e){var c=r(b.style,e.style),g=v(c.left)+a.plotLeft,d=v(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(e.html,g,d).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,b=this.renderer,
224e=this.options,c,g,d;this.setTitle();this.legend=new F(this,e.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();e=this.plotWidth;c=this.plotHeight-=21;k(a,function(a){a.setScale()});this.getAxisMargins();g=1.1<e/this.plotWidth;d=1.05<c/this.plotHeight;if(g||d)k(a,function(a){(a.horiz&&g||!a.horiz&&d)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&k(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());
225this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=K(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(O.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},
226destroy:function(){var b=this,e=b.axes,c=b.series,d=b.container,f,p=d&&d.parentNode;g(b,"destroy");n[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");D(b);for(f=e.length;f--;)e[f]=e[f].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(f=c.length;f--;)c[f]=c[f].destroy();k("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
227function(a){var e=b[a];e&&e.destroy&&(b[a]=e.destroy())});d&&(d.innerHTML="",D(d),p&&h(d));for(f in b)delete b[f]},isReadyToRender:function(){var a=this;return p||O!=O.top||"complete"===z.readyState?!0:(z.attachEvent("onreadystatechange",function(){z.detachEvent("onreadystatechange",a.firstRender);"complete"===z.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();g(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();
228a.getAxes();k(b.series||[],function(b){a.initSeries(b)});a.linkSeries();g(a,"beforeRender");B&&(a.pointer=new B(a,b));a.render();a.renderer.draw();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){k([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);g(this,"load");!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(I);(function(a){var w,C=a.each,A=a.extend,z=a.erase,f=a.fireEvent,d=a.format,q=
229a.isArray,h=a.isNumber,n=a.pick,l=a.removeEvent;w=a.Point=function(){};w.prototype={init:function(a,d,f){var c=a.chart.options.chart.colorCount;this.series=a;this.applyOptions(d,f);a.options.colorByPoint?(d=a.colorCounter,a.colorCounter++,a.colorCounter===c&&(a.colorCounter=0)):d=a.colorIndex;this.colorIndex=n(this.colorIndex,d);a.chart.pointCount++;return this},applyOptions:function(a,d){var c=this.series,f=c.options.pointValKey||c.pointValKey;a=w.prototype.optionsToObject.call(this,a);A(this,a);
230this.options=this.options?A(this.options,a):a;a.group&&delete this.group;f&&(this.y=this[f]);this.isNull=n(this.isValid&&!this.isValid(),null===this.x||!h(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));void 0===this.x&&c&&(this.x=void 0===d?c.autoIncrement(this):d);return this},optionsToObject:function(a){var c={},d=this.series,f=d.options.keys,g=f||d.pointArrayMap||["y"],b=g.length,e=0,m=0;if(h(a)||null===a)c[g[0]]=
231a;else if(q(a))for(!f&&a.length>b&&(d=typeof a[0],"string"===d?c.name=a[0]:"number"===d&&(c.x=a[0]),e++);m<b;)f&&void 0===a[e]||(c[g[m]]=a[e]),e++,m++;else"object"===typeof a&&(c=a,a.dataLabels&&(d._hasPointLabels=!0),a.marker&&(d._hasPointMarkers=!0));return c},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:
232"")+(this.options.className?" "+this.options.className:"")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||"y",f=0,l;for(l=d[f];this[a]>=l.value;)l=d[++f];l&&l.color&&!this.options.color&&(this.color=l.color);return l},destroy:function(){var a=this.series.chart,d=a.hoverPoints,f;a.pointCount--;d&&(this.setState(),z(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)l(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);
233for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,f=6;f--;)d=a[f],this[d]&&(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,f=c.tooltipOptions,l=n(f.valueDecimals,""),g=f.valuePrefix||"",b=f.valueSuffix||
234"";C(c.pointArrayMap||["y"],function(e){e="{point."+e;if(g||b)a=a.replace(e+"}",g+e+"}"+b);a=a.replace(e+"}",e+":,."+l+"f}")});return d(a,{point:this,series:this.series})},firePointEvent:function(a,d,l){var c=this,g=this.series.options;(g.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&this.importEvents();"click"===a&&g.allowPointSelect&&(l=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});f(this,a,d,l)},visible:!0}})(I);(function(a){var w=a.addEvent,C=a.animObject,
235A=a.arrayMax,z=a.arrayMin,f=a.correctFloat,d=a.Date,q=a.defaultOptions,h=a.defined,n=a.each,l=a.erase,c=a.error,k=a.extend,u=a.fireEvent,r=a.grep,g=a.isArray,b=a.isNumber,e=a.isString,m=a.merge,E=a.pick,t=a.removeEvent,F=a.splat,H=a.stableSort,K=a.SVGElement,B=a.syncTimeout,L=a.win;a.Series=a.seriesType("line",null,{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2}}},point:{events:{}},dataLabels:{align:"center",
236formatter: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:{hover:{lineWidthPlus:1,marker:{},halo:{size:10}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{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 e=this,c,g,d=a.series,f,m=function(a,b){return E(a.options.index,
237a._i)-E(b.options.index,b._i)};e.chart=a;e.options=b=e.setOptions(b);e.linkedSeries=[];e.bindAxes();k(e,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});g=b.events;for(c in g)w(e,c,g[c]);if(g&&g.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;e.getColor();e.getSymbol();n(e.parallelArrays,function(a){e[a+"Data"]=[]});e.setData(b.data,!1);e.isCartesian&&(a.hasCartesianSeries=!0);d.length&&(f=d[d.length-1]);e._i=E(f&&f._i,-1)+1;d.push(e);
238H(d,m);this.yAxis&&H(this.yAxis.series,m);n(d,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,e=a.chart,g;n(a.axisTypes||[],function(d){n(e[d],function(e){g=e.options;if(b[d]===g.index||void 0!==b[d]&&b[d]===g.id||void 0===b[d]&&0===g.index)e.series.push(a),a[d]=e,e.isDirty=!0});a[d]||a.optionalAxis===d||c(18,!0)})},updateParallelArrays:function(a,e){var c=a.series,g=arguments,d=b(e)?function(b){var g="y"===b&&c.toYData?c.toYData(a):a[b];c[b+"Data"][e]=
239g}:function(a){Array.prototype[e].apply(c[a+"Data"],Array.prototype.slice.call(g,2))};n(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,e,c=a.pointIntervalUnit,b=E(b,a.pointStart,0);this.pointInterval=e=E(this.pointInterval,a.pointInterval,1);c&&(a=new d(b),"day"===c?a=+a[d.hcSetDate](a[d.hcGetDate]()+e):"month"===c?a=+a[d.hcSetMonth](a[d.hcGetMonth]()+e):"year"===c&&(a=+a[d.hcSetFullYear](a[d.hcGetFullYear]()+e)),e=a-b);this.xIncrement=b+e;return b},setOptions:function(a){var b=
240this.chart,e=b.options.plotOptions,b=b.userOptions||{},c=b.plotOptions||{},g=e[this.type];this.userOptions=a;e=m(g,e.series,a);this.tooltipOptions=m(q.tooltip,q.plotOptions[this.type].tooltip,b.tooltip,c.series&&c.series.tooltip,c[this.type]&&c[this.type].tooltip,a.tooltip);null===g.marker&&delete e.marker;this.zoneAxis=e.zoneAxis;a=this.zones=(e.zones||[]).slice();!e.negativeColor&&!e.negativeFillColor||e.zones||a.push({value:e[this.zoneAxis+"Threshold"]||e.threshold||0,className:"highcharts-negative"});
241a.length&&h(a[a.length-1].value)&&a.push({});return e},getCyclic:function(a,b,e){var c,g=this.userOptions,d=a+"Index",f=a+"Counter",k=e?e.length:E(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(c=E(g[d],g["_"+d]),h(c)||(g["_"+d]=c=this.chart[f]%k,this.chart[f]+=1),e&&(b=e[c]));void 0!==c&&(this[d]=c);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,
242setData:function(a,d,f,k){var p=this,m=p.points,l=m&&m.length||0,t,h=p.options,v=p.chart,r=null,D=p.xAxis,q=h.turboThreshold,B=this.xData,F=this.yData,G=(t=p.pointArrayMap)&&t.length;a=a||[];t=a.length;d=E(d,!0);if(!1!==k&&t&&l===t&&!p.cropped&&!p.hasGroupedData&&p.visible)n(a,function(a,b){m[b].update&&a!==h.data[b]&&m[b].update(a,!1,null,!1)});else{p.xIncrement=null;p.colorCounter=0;n(this.parallelArrays,function(a){p[a+"Data"].length=0});if(q&&t>q){for(f=0;null===r&&f<t;)r=a[f],f++;if(b(r))for(f=
2430;f<t;f++)B[f]=this.autoIncrement(),F[f]=a[f];else if(g(r))if(G)for(f=0;f<t;f++)r=a[f],B[f]=r[0],F[f]=r.slice(1,G+1);else for(f=0;f<t;f++)r=a[f],B[f]=r[0],F[f]=r[1];else c(12)}else for(f=0;f<t;f++)void 0!==a[f]&&(r={series:p},p.pointClass.prototype.applyOptions.apply(r,[a[f]]),p.updateParallelArrays(r,f));e(F[0])&&c(14,!0);p.data=[];p.options.data=p.userOptions.data=a;for(f=l;f--;)m[f]&&m[f].destroy&&m[f].destroy();D&&(D.minRange=D.userMinRange);p.isDirty=v.isDirtyBox=!0;p.isDirtyData=!!m;f=!1}"point"===
244h.legendType&&(this.processData(),this.generatePoints());d&&v.redraw(f)},processData:function(a){var b=this.xData,e=this.yData,g=b.length,d;d=0;var f,k,m=this.xAxis,l,t=this.options;l=t.cropThreshold;var h=this.getExtremesFromAll||t.getExtremesFromAll,v=this.isCartesian,t=m&&m.val2lin,r=m&&m.isLog,n,q;if(v&&!this.isDirty&&!m.isDirty&&!this.yAxis.isDirty&&!a)return!1;m&&(a=m.getExtremes(),n=a.min,q=a.max);if(v&&this.sorted&&!h&&(!l||g>l||this.forceCrop))if(b[g-1]<n||b[0]>q)b=[],e=[];else if(b[0]<n||
245b[g-1]>q)d=this.cropData(this.xData,this.yData,n,q),b=d.xData,e=d.yData,d=d.start,f=!0;for(l=b.length||1;--l;)g=r?t(b[l])-t(b[l-1]):b[l]-b[l-1],0<g&&(void 0===k||g<k)?k=g:0>g&&this.requireSorting&&c(15);this.cropped=f;this.cropStart=d;this.processedXData=b;this.processedYData=e;this.closestPointRange=k},cropData:function(a,b,e,c){var g=a.length,d=0,f=g,k=E(this.cropShoulder,1),m;for(m=0;m<g;m++)if(a[m]>=e){d=Math.max(0,m-k);break}for(e=m;e<g;e++)if(a[e]>c){f=e+k;break}return{xData:a.slice(d,f),yData:b.slice(d,
246f),start:d,end:f}},generatePoints:function(){var a=this.options.data,b=this.data,e,c=this.processedXData,g=this.processedYData,d=this.pointClass,f=c.length,k=this.cropStart||0,m,l=this.hasGroupedData,t,h=[],r;b||l||(b=[],b.length=a.length,b=this.data=b);for(r=0;r<f;r++)m=k+r,l?(t=(new d).init(this,[c[r]].concat(F(g[r]))),t.dataGroup=this.groupMap[r]):(t=b[m])||void 0===a[m]||(b[m]=t=(new d).init(this,a[m],c[r])),t.index=m,h[r]=t;if(b&&(f!==(e=b.length)||l))for(r=0;r<e;r++)r!==k||l||(r+=f),b[r]&&(b[r].destroyElements(),
247b[r].plotX=void 0);this.data=b;this.points=h},getExtremes:function(a){var e=this.yAxis,c=this.processedXData,d,f=[],m=0;d=this.xAxis.getExtremes();var k=d.min,l=d.max,t,h,r,v;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(v=0;v<d;v++)if(h=c[v],r=a[v],t=(b(r,!0)||g(r))&&(!e.isLog||r.length||0<r),h=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[v+1]||h)>=k&&(c[v-1]||h)<=l,t&&h)if(t=r.length)for(;t--;)null!==r[t]&&(f[m++]=r[t]);else f[m++]=r;this.dataMin=z(f);
248this.dataMax=A(f)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,e=a.stacking,c=this.xAxis,g=c.categories,d=this.yAxis,m=this.points,k=m.length,l=!!this.modifyValue,t=a.pointPlacement,r="between"===t||b(t),n=a.threshold,q=a.startFromThreshold?n:0,B,F,H,u,K=Number.MAX_VALUE;"between"===t&&(t=.5);b(t)&&(t*=E(a.pointRange||c.pointRange));for(a=0;a<k;a++){var z=m[a],L=z.x,w=z.y;F=z.low;var A=e&&d.stacks[(this.negStacks&&w<(q?0:n)?"-":"")+this.stackKey],
249C;d.isLog&&null!==w&&0>=w&&(z.isNull=!0);z.plotX=B=f(Math.min(Math.max(-1E5,c.translate(L,0,0,0,1,t,"flags"===this.type)),1E5));e&&this.visible&&!z.isNull&&A&&A[L]&&(u=this.getStackIndicator(u,L,this.index),C=A[L],w=C.points[u.key],F=w[0],w=w[1],F===q&&u.key===A[L].base&&(F=E(n,d.min)),d.isLog&&0>=F&&(F=null),z.total=z.stackTotal=C.total,z.percentage=C.total&&z.y/C.total*100,z.stackY=w,C.setOffset(this.pointXOffset||0,this.barW||0));z.yBottom=h(F)?d.translate(F,0,1,0,1):null;l&&(w=this.modifyValue(w,
250z));z.plotY=F="number"===typeof w&&Infinity!==w?Math.min(Math.max(-1E5,d.translate(w,0,1,0,1)),1E5):void 0;z.isInside=void 0!==F&&0<=F&&F<=d.len&&0<=B&&B<=c.len;z.clientX=r?f(c.translate(L,0,0,0,1,t)):B;z.negative=z.y<(n||0);z.category=g&&void 0!==g[z.x]?g[z.x]:z.x;z.isNull||(void 0!==H&&(K=Math.min(K,Math.abs(B-H))),H=B)}this.closestPointRangePx=K},getValidPoints:function(a,b){var e=this.chart;return r(a||this.points||[],function(a){return b&&!e.isInsidePlot(a.plotX,a.plotY,e.inverted)?!1:!a.isNull})},
251setClip:function(a){var b=this.chart,e=this.options,c=b.renderer,d=b.inverted,g=this.clipBox,f=g||b.clipBox,m=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,e.xAxis,e.yAxis].join(),k=b[m],t=b[m+"m"];k||(a&&(f.width=0,b[m+"m"]=t=c.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[m]=k=c.clipRect(f),k.count={length:0});a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=1);!1!==e.clip&&(this.group.clip(a||g?k:b.clipRect),this.markerGroup.clip(t),
252this.sharedClipKey=m);a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&m&&b[m]&&(g||(b[m]=b[m].destroy()),b[m+"m"]&&(b[m+"m"]=b[m+"m"].destroy())))},animate:function(a){var b=this.chart,e=C(this.options.animation),c;a?this.setClip(e):(c=this.sharedClipKey,(a=b[c])&&a.animate({width:b.plotSizeX},e),b[c+"m"]&&b[c+"m"].animate({width:b.plotSizeX+99},e),this.animate=null)},afterAnimate:function(){this.setClip();u(this,"afterAnimate")},drawPoints:function(){var a=
253this.points,e=this.chart,c,g,d,f,m=this.options.marker,k,t,l,h,r=this.markerGroup,n=E(m.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*m.radius);if(!1!==m.enabled||this._hasPointMarkers)for(g=a.length;g--;)d=a[g],c=d.plotY,f=d.graphic,k=d.marker||{},t=!!d.marker,l=n&&void 0===k.enabled||k.enabled,h=d.isInside,l&&b(c)&&null!==d.y?(c=E(k.symbol,this.symbol),d.hasImage=0===c.indexOf("url"),l=this.markerAttribs(d,d.selected&&"select"),f?f[h?"show":"hide"](!0).animate(l):h&&(0<l.width||
254d.hasImage)&&(d.graphic=f=e.renderer.symbol(c,l.x,l.y,l.width,l.height,t?k:m).add(r)),f&&f.addClass(d.getClassName(),!0)):f&&(d.graphic=f.destroy())},markerAttribs:function(a,b){var e=this.options.marker,c=a&&a.options,d=c&&c.marker||{},c=E(d.radius,e.radius);b&&(e=e.states[b],b=d.states&&d.states[b],c=E(b&&b.radius,e&&e.radius,c+(e&&e.radiusPlus||0)));a.hasImage&&(c=0);a={x:Math.floor(a.plotX)-c,y:a.plotY-c};c&&(a.width=a.height=2*c);return a},destroy:function(){var a=this,b=a.chart,e=/AppleWebKit\/533/.test(L.navigator.userAgent),
255c,d=a.data||[],g,f,m;u(a,"destroy");t(a);n(a.axisTypes||[],function(b){(m=a[b])&&m.series&&(l(m.series,a),m.isDirty=m.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(c=d.length;c--;)(g=d[c])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);for(f in a)a[f]instanceof K&&!a[f].survive&&(c=e&&"group"===f?"hide":"destroy",a[f][c]());b.hoverSeries===a&&(b.hoverSeries=null);l(b.series,a);for(f in a)delete a[f]},getGraphPath:function(a,b,e){var c=this,d=c.options,g=
256d.step,f,m=[],k=[],l;a=a||c.points;(f=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&f&&(g=4-g);!d.connectNulls||b||e||(a=this.getValidPoints(a));n(a,function(f,t){var p=f.plotX,r=f.plotY,n=a[t-1];(f.leftCliff||n&&n.rightCliff)&&!e&&(l=!0);f.isNull&&!h(b)&&0<t?l=!d.connectNulls:f.isNull&&!b?l=!0:(0===t||l?t=["M",f.plotX,f.plotY]:c.getPointSpline?t=c.getPointSpline(a,f,t):g?(t=1===g?["L",n.plotX,r]:2===g?["L",(n.plotX+p)/2,n.plotY,"L",(n.plotX+p)/2,r]:["L",p,n.plotY],t.push("L",p,r)):t=
257["L",p,r],k.push(f.x),g&&k.push(f.x),m.push.apply(m,t),l=!1)});m.xMap=k;return c.graphPath=m},drawGraph:function(){var a=this,b=(this.gappedPath||this.getGraphPath).call(this),e=[["graph","highcharts-graph"]];n(this.zones,function(a,b){e.push(["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(a.className||"")])});n(e,function(e,c){c=e[0];var d=a[c];d?(d.endX=b.xMap,d.animate({d:b})):b.length&&(a[c]=a.chart.renderer.path(b).addClass(e[1]).attr({zIndex:1}).add(a.group));d&&(d.startX=
258b.xMap,d.isArea=b.isArea)})},applyZones:function(){var a=this,b=this.chart,e=b.renderer,c=this.zones,d,g,f=this.clips||[],m,k=this.graph,t=this.area,l=Math.max(b.chartWidth,b.chartHeight),h=this[(this.zoneAxis||"y")+"Axis"],r,q,F=b.inverted,B,H,u,K,z=!1;c.length&&(k||t)&&h&&void 0!==h.min&&(q=h.reversed,B=h.horiz,k&&k.hide(),t&&t.hide(),r=h.getExtremes(),n(c,function(c,p){d=q?B?b.plotWidth:0:B?0:h.toPixels(r.min);d=Math.min(Math.max(E(g,d),0),l);g=Math.min(Math.max(Math.round(h.toPixels(E(c.value,
259r.max),!0)),0),l);z&&(d=g=h.toPixels(r.max));H=Math.abs(d-g);u=Math.min(d,g);K=Math.max(d,g);h.isXAxis?(m={x:F?K:u,y:0,width:H,height:l},B||(m.x=b.plotHeight-m.x)):(m={x:0,y:F?K:u,width:l,height:H},B&&(m.y=b.plotWidth-m.y));f[p]?f[p].animate(m):(f[p]=e.clipRect(m),k&&a["zone-graph-"+p].clip(f[p]),t&&a["zone-area-"+p].clip(f[p]));z=c.value>r.max}),this.clips=f)},invertGroups:function(a){function b(){var b={width:e.yAxis.len,height:e.xAxis.len};n(["group","markerGroup"],function(c){e[c]&&e[c].attr(b).invert(a)})}
260var e=this,c;e.xAxis&&(c=w(e.chart,"resize",b),w(e,"destroy",c),b(a),e.invertGroups=b)},plotGroup:function(a,b,e,c,d){var g=this[a],f=!g;f&&(this[a]=g=this.chart.renderer.g(b).attr({zIndex:c||.1}).add(d),g.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));g.attr({visibility:e})[f?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,e=this.yAxis;a.inverted&&(b=
261e,e=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:e?e.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,e,c=a.options,d=!!a.animate&&b.renderer.isSVG&&C(c.animation).duration,g=a.visible?"inherit":"hidden",f=c.zIndex,m=a.hasRendered,k=b.seriesGroup,t=b.inverted;e=a.plotGroup("group","series",g,f,k);a.markerGroup=a.plotGroup("markerGroup","markers",g,f,k);d&&a.animate(!0);e.inverted=a.isCartesian?t:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&
262a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(t);!1===c.clip||a.sharedClipKey||m||e.clip(b.clipRect);d&&a.animate();m||(a.animationTimeout=B(function(){a.afterAnimate()},d));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,e=this.group,c=this.xAxis,d=this.yAxis;e&&(a.inverted&&e.attr({width:a.plotWidth,height:a.plotHeight}),e.animate({translateX:E(c&&c.left,
263a.plotLeft),translateY:E(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var e=this.xAxis,c=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?e.len-a.chartY+e.pos:a.chartX-e.pos,plotY:d?c.len-a.chartX+c.pos:a.chartY-c.pos},b)},buildKDTree:function(){function a(e,c,d){var g,f;if(f=e&&e.length)return g=b.kdAxisArray[c%d],e.sort(function(a,b){return a[g]-b[g]}),f=Math.floor(f/2),{point:e[f],
264left:a(e.slice(0,f),c+1,d),right:a(e.slice(f+1),c+1,d)}}var b=this,e=b.kdDimensions;delete b.kdTree;B(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),e,e)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function e(a,b,m,k){var t=b.point,l=c.kdAxisArray[m%k],r,p,n=t;p=h(a[d])&&h(t[d])?Math.pow(a[d]-t[d],2):null;r=h(a[g])&&h(t[g])?Math.pow(a[g]-t[g],2):null;r=(p||0)+(r||0);t.dist=h(r)?Math.sqrt(r):Number.MAX_VALUE;t.distX=h(p)?Math.sqrt(p):Number.MAX_VALUE;l=a[l]-t[l];r=0>l?"left":"right";
265p=0>l?"right":"left";b[r]&&(r=e(a,b[r],m+1,k),n=r[f]<n[f]?r:t);b[p]&&Math.sqrt(l*l)<n[f]&&(a=e(a,b[p],m+1,k),n=a[f]<n[f]?a:n);return n}var c=this,d=this.kdAxisArray[0],g=this.kdAxisArray[1],f=b?"distX":"dist";this.kdTree||this.buildKDTree();if(this.kdTree)return e(a,this.kdTree,this.kdDimensions,this.kdDimensions)}})})(I);(function(a){var w=a.addEvent,C=a.Axis,A=a.createElement,z=a.css,f=a.defined,d=a.each,q=a.erase,h=a.extend,n=a.fireEvent,l=a.inArray,c=a.isNumber,k=a.isObject,u=a.merge,r=a.pick,
266g=a.Point,b=a.Series,e=a.seriesTypes,m=a.setAnimation,E=a.splat;h(a.Chart.prototype,{addSeries:function(a,b,e){var c,d=this;a&&(b=r(b,!0),n(d,"addSeries",{options:a},function(){c=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();b&&d.redraw(e)}));return c},addAxis:function(a,b,e,c){var d=b?"xAxis":"yAxis",g=this.options;a=u(a,{index:this[d].length,isX:b});new C(this,a);g[d]=E(g[d]||{});g[d].push(a);r(e,!0)&&this.redraw(c)},showLoading:function(a){var b=this,e=b.options,c=b.loadingDiv,d=function(){c&&
267z(c,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};c||(b.loadingDiv=c=A("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=A("span",{className:"highcharts-loading-inner"},null,c),w(b,"redraw",d));c.className="highcharts-loading";b.loadingSpan.innerHTML=a||e.lang.loading;b.loadingShown=!0;d()},hideLoading:function(){var a=this.loadingDiv;a&&(a.className="highcharts-loading highcharts-loading-hidden");this.loadingShown=
268!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,b){var e,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},
269m=a.chart,k,t;if(m){u(!0,this.options.chart,m);"className"in m&&this.setClassName(m.className);if("inverted"in m||"polar"in m)this.propFromSeries(),k=!0;for(e in m)m.hasOwnProperty(e)&&(-1!==l("chart."+e,this.propsRequireUpdateSeries)&&(t=!0),-1!==l(e,this.propsRequireDirtyBox)&&(this.isDirtyBox=!0))}for(e in a){if(this[e]&&"function"===typeof this[e].update)this[e].update(a[e],!1);else if("function"===typeof this[g[e]])this[g[e]](a[e]);"chart"!==e&&-1!==l(e,this.propsRequireUpdateSeries)&&(t=!0)}a.plotOptions&&
270u(!0,this.options.plotOptions,a.plotOptions);d(["xAxis","yAxis","series"],function(b){a[b]&&d(E(a[b]),function(a){var e=f(a.id)&&this.get(a.id)||this[b][0];e&&e.coll===b&&e.update(a,!1)},this)},this);k&&d(this.axes,function(a){a.update({},!1)});t&&d(this.series,function(a){a.update({},!1)});a.loading&&u(!0,this.options.loading,a.loading);e=m&&m.width;m=m&&m.height;c(e)&&e!==this.chartWidth||c(m)&&m!==this.chartHeight?this.setSize(e,m):r(b,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,
271a)}});h(g.prototype,{update:function(a,b,e,c){function d(){g.applyOptions(a);null===g.y&&m&&(g.graphic=m.destroy());k(a,!0)&&(m&&m.element&&a&&a.marker&&a.marker.symbol&&(g.graphic=m.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()));l=g.index;f.updateParallelArrays(g,l);h.data[l]=k(h.data[l],!0)?g.options:a;f.isDirty=f.isDirtyData=!0;!f.fixedBox&&f.hasCartesianSeries&&(t.isDirtyBox=!0);"point"===h.legendType&&(t.isDirtyLegend=!0);b&&t.redraw(e)}var g=this,f=g.series,m=
272g.graphic,l,t=f.chart,h=f.options;b=r(b,!0);!1===c?d():g.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(l(this,this.series.data),a,b)}});h(b.prototype,{addPoint:function(a,b,e,c){var d=this.options,g=this.data,f=this.chart,m=this.xAxis&&this.xAxis.names,k=d.data,l,t,h=this.xData,n,q;b=r(b,!0);l={series:this};this.pointClass.prototype.applyOptions.apply(l,[a]);q=l.x;n=h.length;if(this.requireSorting&&q<h[n-1])for(t=!0;n&&h[n-1]>q;)n--;this.updateParallelArrays(l,
273"splice",n,0,0);this.updateParallelArrays(l,n);m&&l.name&&(m[q]=l.name);k.splice(n,0,a);t&&(this.data.splice(n,0,null),this.processData());"point"===d.legendType&&this.generatePoints();e&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(l,"shift"),k.shift()));this.isDirtyData=this.isDirty=!0;b&&f.redraw(c)},removePoint:function(a,b,e){var c=this,d=c.data,g=d[a],f=c.points,k=c.chart,l=function(){f&&f.length===d.length&&f.splice(a,1);d.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(g||
274{series:c},"splice",a,1);g&&g.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&k.redraw()};m(e,k);b=r(b,!0);g?g.firePointEvent("remove",null,l):l()},remove:function(a,b,e){function c(){d.destroy();g.isDirtyLegend=g.isDirtyBox=!0;g.linkSeries();r(a,!0)&&g.redraw(b)}var d=this,g=d.chart;!1!==e?n(d,"remove",null,c):c()},update:function(a,b){var c=this,g=this.chart,f=this.userOptions,m=this.type,k=a.type||f.type||g.options.chart.type,l=e[m].prototype,t=["group","markerGroup","dataLabelsGroup"],n;if(k&&k!==
275m||void 0!==a.zIndex)t.length=0;d(t,function(a){t[a]=c[a];delete c[a]});a=u(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(n in l)this[n]=void 0;h(this,e[k||m].prototype);d(t,function(a){c[a]=t[a]});this.init(g,a);g.linkSeries();r(b,!0)&&g.redraw(!1)}});h(C.prototype,{update:function(a,b){var e=this.chart;a=e.options[this.coll][this.options.index]=u(this.userOptions,a);this.destroy(!0);this.init(e,h(a,{events:void 0}));e.isDirtyBox=
276!0;r(b,!0)&&e.redraw()},remove:function(a){for(var b=this.chart,e=this.coll,c=this.series,g=c.length;g--;)c[g]&&c[g].remove(!1);q(b.axes,this);q(b[e],this);b.options[e].splice(this.options.index,1);d(b[e],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;r(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(I);(function(a){var w=a.animObject,C=a.each,A=a.extend,z=a.isNumber,f=a.merge,d=a.pick,q=a.Series,
277h=a.seriesType,n=a.svg;h("column","line",{borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){q.prototype.init.apply(this,arguments);var a=this,c=a.chart;c.hasRendered&&C(c.series,
278function(c){c.type===a.type&&(c.isDirty=!0)})},getColumnMetrics:function(){var a=this,c=a.options,f=a.xAxis,h=a.yAxis,r=f.reversed,g,b={},e=0;!1===c.grouping?e=1:C(a.chart.series,function(c){var d=c.options,f=c.yAxis,m;c.type===a.type&&c.visible&&h.len===f.len&&h.pos===f.pos&&(d.stacking?(g=c.stackKey,void 0===b[g]&&(b[g]=e++),m=b[g]):!1!==d.grouping&&(m=e++),c.columnIndex=m)});var m=Math.min(Math.abs(f.transA)*(f.ordinalSlope||c.pointRange||f.closestPointRange||f.tickInterval||1),f.len),n=m*c.groupPadding,
279t=(m-2*n)/e,c=Math.min(c.maxPointWidth||f.len,d(c.pointWidth,t*(1-2*c.pointPadding)));a.columnMetrics={width:c,offset:(t-c)/2+(n+((a.columnIndex||0)+(r?1:0))*t-m/2)*(r?-1:1)};return a.columnMetrics},crispCol:function(a,c,d,f){var k=this.chart,g=this.borderWidth,b=-(g%2?.5:0),g=g%2?.5:1;k.inverted&&k.renderer.isVML&&(g+=1);d=Math.round(a+d)+b;a=Math.round(a)+b;f=Math.round(c+f)+g;b=.5>=Math.abs(c)&&.5<f;c=Math.round(c)+g;f-=c;b&&f&&(--c,f+=1);return{x:a,y:c,width:d-a,height:f}},translate:function(){var a=
280this,c=a.chart,f=a.options,h=a.dense=2>a.closestPointRange*a.xAxis.transA,h=a.borderWidth=d(f.borderWidth,h?0:1),r=a.yAxis,g=a.translatedThreshold=r.getThreshold(f.threshold),b=d(f.minPointLength,5),e=a.getColumnMetrics(),m=e.width,n=a.barW=Math.max(m,1+2*h),t=a.pointXOffset=e.offset;c.inverted&&(g-=.5);f.pointPadding&&(n=Math.ceil(n));q.prototype.translate.apply(a);C(a.points,function(e){var f=d(e.yBottom,g),k=999+Math.abs(f),k=Math.min(Math.max(-k,e.plotY),r.len+k),l=e.plotX+t,h=n,q=Math.min(k,
281f),F,u=Math.max(k,f)-q;Math.abs(u)<b&&b&&(u=b,F=!r.reversed&&!e.negative||r.reversed&&e.negative,q=Math.abs(q-g)>b?f-b:g-(F?b:0));e.barX=l;e.pointWidth=m;e.tooltipPos=c.inverted?[r.len+r.pos-c.plotLeft-k,a.xAxis.len-l-h/2,u]:[l+h/2,k+r.pos-c.plotTop,u];e.shapeType="rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[e.plotX,r.len/2,0,0]:[l,q,h,u])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},
282drawPoints:function(){var a=this,c=this.chart,d=c.renderer,h=a.options.animationLimit||250,r;C(a.points,function(g){var b=g.graphic;if(z(g.plotY)&&null!==g.y)if(r=g.shapeArgs,b)b[c.pointCount<h?"animate":"attr"](f(r));else g.graphic=d[g.shapeType](r).attr({"class":g.getClassName()}).add(g.group||a.group);else b&&(g.graphic=b.destroy())})},animate:function(a){var c=this,d=this.yAxis,f=c.options,l=this.chart.inverted,g={};n&&(a?(g.scaleY=.001,a=Math.min(d.pos+d.len,Math.max(d.pos,d.toPixels(f.threshold))),
283l?g.translateX=a-d.len:g.translateY=a,c.group.attr(g)):(g[l?"translateX":"translateY"]=d.pos,c.group.animate(g,A(w(c.options.animation),{step:function(a,e){c.group.attr({scaleY:Math.max(.001,e.pos)})}})),c.animate=null))},remove:function(){var a=this,c=a.chart;c.hasRendered&&C(c.series,function(c){c.type===a.type&&(c.isDirty=!0)});q.prototype.remove.apply(a,arguments)}})})(I);(function(a){var w=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',
284pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&w.prototype.drawGraph.call(this)}})})(I);(function(a){var w=a.addEvent,C=a.arrayMax,A=a.defined,z=a.each,f=a.extend,d=a.format,q=a.map,h=a.merge,n=a.noop,l=a.pick,c=a.relativeLength,k=a.Series,u=a.seriesTypes,r=a.stableSort;
285a.distribute=function(a,b){function e(a,b){return a.target-b.target}var c,d=!0,g=a,f=[],k;k=0;for(c=a.length;c--;)k+=a[c].size;if(k>b){r(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=c=0;k<=b;)k+=a[c].size,c++;f=a.splice(c-1,a.length)}r(a,e);for(a=q(a,function(a){return{size:a.size,targets:[a.target]}});d;){for(c=a.length;c--;)d=a[c],k=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=Math.min(Math.max(0,k-d.size/2),b-d.size);c=a.length;for(d=!1;c--;)0<c&&a[c-1].pos+a[c-1].size>
286a[c].pos&&(a[c-1].size+=a[c].size,a[c-1].targets=a[c-1].targets.concat(a[c].targets),a[c-1].pos+a[c-1].size>b&&(a[c-1].pos=b-a[c-1].size),a.splice(c,1),d=!0)}c=0;z(a,function(a){var b=0;z(a.targets,function(){g[c].pos=a.pos+b;b+=g[c].size;c++})});g.push.apply(g,f);r(g,e)};k.prototype.drawDataLabels=function(){var a=this,b=a.options,e=b.dataLabels,c=a.points,f,k,r=a.hasRendered||0,n,q,B=l(e.defer,!0),u=a.chart.renderer;if(e.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(e),q=a.plotGroup("dataLabelsGroup",
287"data-labels",B&&!r?"hidden":"visible",e.zIndex||6),B&&(q.attr({opacity:+r}),r||w(a,"afterAnimate",function(){a.visible&&q.show(!0);q[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),k=e,z(c,function(b){var c,g=b.dataLabel,m,t,r=b.connector,B=!0;f=b.dlOptions||b.options&&b.options.dataLabels;c=l(f&&f.enabled,k.enabled)&&null!==b.y;if(g&&!c)b.dataLabel=g.destroy();else if(c){e=h(k,f);c=e.rotation;m=b.getLabelConfig();n=e.format?d(e.format,m):e.formatter.call(m,e);if(g)A(n)?(g.attr({text:n}),
288B=!1):(b.dataLabel=g=g.destroy(),r&&(b.connector=r.destroy()));else if(A(n)){g={r:e.borderRadius||0,rotation:c,padding:e.padding,zIndex:1};for(t in g)void 0===g[t]&&delete g[t];g=b.dataLabel=u[c?"text":"label"](n,0,-9999,e.shape,null,null,e.useHTML,null,"data-label").attr(g);g.addClass("highcharts-data-label-color-"+b.colorIndex+" "+(e.className||"")+(e.useHTML?"highcharts-tracker":""));g.add(q)}g&&a.alignDataLabel(b,g,e,null,B)}})};k.prototype.alignDataLabel=function(a,b,e,c,d){var g=this.chart,
289k=g.inverted,m=l(a.plotX,-9999),h=l(a.plotY,-9999),r=b.getBBox(),n,q=e.rotation,u=e.align,z=this.visible&&(a.series.forceDL||g.isInsidePlot(m,Math.round(h),k)||c&&g.isInsidePlot(m,k?c.x+1:c.y+c.height-1,k)),E="justify"===l(e.overflow,"justify");z&&(n=g.renderer.fontMetrics(void 0,b).b,c=f({x:k?g.plotWidth-h:m,y:Math.round(k?g.plotHeight-m:h),width:0,height:0},c),f(e,{width:r.width,height:r.height}),q?(E=!1,k=g.renderer.rotCorr(n,q),k={x:c.x+e.x+c.width/2+k.x,y:c.y+e.y+{top:0,middle:.5,bottom:1}[e.verticalAlign]*
290c.height},b[d?"attr":"animate"](k).attr({align:u}),m=(q+720)%360,m=180<m&&360>m,"left"===u?k.y-=m?r.height:0:"center"===u?(k.x-=r.width/2,k.y-=r.height/2):"right"===u&&(k.x-=r.width,k.y-=m?0:r.height)):(b.align(e,null,c),k=b.alignAttr),E?this.justifyDataLabel(b,e,k,r,c,d):l(e.crop,!0)&&(z=g.isInsidePlot(k.x,k.y)&&g.isInsidePlot(k.x+r.width,k.y+r.height)),e.shape&&!q&&b.attr({anchorX:a.plotX,anchorY:a.plotY}));z||(b.attr({y:-9999}),b.placed=!1)};k.prototype.justifyDataLabel=function(a,b,e,c,d,f){var g=
291this.chart,k=b.align,m=b.verticalAlign,l,h,t=a.box?0:a.padding||0;l=e.x+t;0>l&&("right"===k?b.align="left":b.x=-l,h=!0);l=e.x+c.width-t;l>g.plotWidth&&("left"===k?b.align="right":b.x=g.plotWidth-l,h=!0);l=e.y+t;0>l&&("bottom"===m?b.verticalAlign="top":b.y=-l,h=!0);l=e.y+c.height-t;l>g.plotHeight&&("top"===m?b.verticalAlign="bottom":b.y=g.plotHeight-l,h=!0);h&&(a.placed=!f,a.align(b,null,d))};u.pie&&(u.pie.prototype.drawDataLabels=function(){var c=this,b=c.data,e,d=c.chart,f=c.options.dataLabels,h=
292l(f.connectorPadding,10),r=l(f.connectorWidth,1),n=d.plotWidth,u=d.plotHeight,B,w=f.distance,v=c.center,D=v[2]/2,G=v[1],A=0<w,p,x,O,I,P=[[],[]],M,y,J,Q,R=[0,0,0,0];c.visible&&(f.enabled||c._hasPointLabels)&&(k.prototype.drawDataLabels.apply(c),z(b,function(a){a.dataLabel&&a.visible&&(P[a.half].push(a),a.dataLabel._pos=null)}),z(P,function(b,g){var k,m,l=b.length,t,r,B;if(l)for(c.sortByAngle(b,g-.5),0<w&&(k=Math.max(0,G-D-w),m=Math.min(G+D+w,d.plotHeight),t=q(b,function(a){if(a.dataLabel)return B=
293a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-k+B/2,size:B,rank:a.y}}),a.distribute(t,m+B-k)),Q=0;Q<l;Q++)e=b[Q],O=e.labelPos,p=e.dataLabel,J=!1===e.visible?"hidden":"inherit",r=O[1],t?void 0===t[Q].pos?J="hidden":(I=t[Q].size,y=k+t[Q].pos):y=r,M=f.justify?v[0]+(g?-1:1)*(D+w):c.getX(y<k+2||y>m-2?r:y,g),p._attr={visibility:J,align:O[6]},p._pos={x:M+f.x+({left:h,right:-h}[O[6]]||0),y:y+f.y-10},O.x=M,O.y=y,null===c.options.size&&(x=p.width,M-x<h?R[3]=Math.max(Math.round(x-M+h),R[3]):M+x>n-h&&
294(R[1]=Math.max(Math.round(M+x-n+h),R[1])),0>y-I/2?R[0]=Math.max(Math.round(-y+I/2),R[0]):y+I/2>u&&(R[2]=Math.max(Math.round(y+I/2-u),R[2])))}),0===C(R)||this.verifyDataLabelOverflow(R))&&(this.placeDataLabels(),A&&r&&z(this.points,function(a){var b;B=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible){J=p._attr.visibility;if(b=!B)a.connector=B=d.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(c.dataLabelsGroup);B[b?"attr":"animate"]({d:c.connectorPath(a.labelPos)});
295B.attr("visibility",J)}else B&&(a.connector=B.destroy())}))},u.pie.prototype.connectorPath=function(a){var b=a.x,e=a.y;return l(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),e,"C",b,e,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),e,"L",a[2],a[3],"L",a[4],a[5]]},u.pie.prototype.placeDataLabels=function(){z(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))})},
296u.pie.prototype.alignDataLabel=n,u.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,e=this.options,d=e.center,g=e.minSize||80,f,k;null!==d[0]?f=Math.max(b[2]-Math.max(a[1],a[3]),g):(f=Math.max(b[2]-a[1]-a[3],g),b[0]+=(a[3]-a[1])/2);null!==d[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),g):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),g),b[1]+=(a[0]-a[2])/2);f<b[2]?(b[2]=f,b[3]=Math.min(c(e.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):k=!0;return k});
297u.column&&(u.column.prototype.alignDataLabel=function(a,b,e,c,d){var g=this.chart.inverted,f=a.series,m=a.dlBox||a.shapeArgs,r=l(a.below,a.plotY>l(this.translatedThreshold,f.yAxis.len)),n=l(e.inside,!!this.options.stacking);m&&(c=h(m),0>c.y&&(c.height+=c.y,c.y=0),m=c.y+c.height-f.yAxis.len,0<m&&(c.height-=m),g&&(c={x:f.yAxis.len-c.y-c.height,y:f.xAxis.len-c.x-c.width,width:c.height,height:c.width}),n||(g?(c.x+=r?0:c.width,c.width=0):(c.y+=r?c.height:0,c.height=0)));e.align=l(e.align,!g||n?"center":
298r?"right":"left");e.verticalAlign=l(e.verticalAlign,g||n?"middle":r?"top":"bottom");k.prototype.alignDataLabel.call(this,a,b,e,c,d)})})(I);(function(a){var w=a.Chart,C=a.each,A=a.pick,z=a.addEvent;w.prototype.callbacks.push(function(a){function d(){var d=[];C(a.series,function(a){var f=a.options.dataLabels,l=a.dataLabelCollections||["dataLabel"];(f.enabled||a._hasPointLabels)&&!f.allowOverlap&&a.visible&&C(l,function(c){C(a.points,function(a){a[c]&&(a[c].labelrank=A(a.labelrank,a.shapeArgs&&a.shapeArgs.height),
299d.push(a[c]))})})});a.hideOverlappingLabels(d)}d();z(a,"redraw",d)});w.prototype.hideOverlappingLabels=function(a){var d=a.length,f,h,n,l,c,k,u,r,g,b=function(a,b,c,d,g,f,k,l){return!(g>a+c||g+k<a||f>b+d||f+l<b)};for(h=0;h<d;h++)if(f=a[h])f.oldOpacity=f.opacity,f.newOpacity=1;a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(h=0;h<d;h++)for(n=a[h],f=h+1;f<d;++f)if(l=a[f],n&&l&&n.placed&&l.placed&&0!==n.newOpacity&&0!==l.newOpacity&&(c=n.alignAttr,k=l.alignAttr,u=n.parentGroup,r=l.parentGroup,
300g=2*(n.box?0:n.padding),c=b(c.x+u.translateX,c.y+u.translateY,n.width-g,n.height-g,k.x+r.translateX,k.y+r.translateY,l.width-g,l.height-g)))(n.labelrank<l.labelrank?n:l).newOpacity=0;C(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(I);(function(a){var w=a.Axis,C=a.each,A=a.pick;a=a.wrap;a(w.prototype,"getSeriesExtremes",function(a){var f=this.isXAxis,d,
301q,h=[],n;f&&C(this.series,function(a,c){a.useMapGeometry&&(h[c]=a.xData,a.xData=[])});a.call(this);f&&(d=A(this.dataMin,Number.MAX_VALUE),q=A(this.dataMax,-Number.MAX_VALUE),C(this.series,function(a,c){a.useMapGeometry&&(d=Math.min(d,A(a.minX,d)),q=Math.max(q,A(a.maxX,d)),a.xData=h[c],n=!0)}),n&&(this.dataMin=d,this.dataMax=q))});a(w.prototype,"setAxisTranslation",function(a){var f=this.chart,d=f.plotWidth/f.plotHeight,f=f.xAxis[0],q;a.call(this);"yAxis"===this.coll&&void 0!==f.transA&&C(this.series,
302function(a){a.preserveAspectRatio&&(q=!0)});if(q&&(this.transA=f.transA=Math.min(this.transA,f.transA),a=d/((f.max-f.min)/(this.max-this.min)),a=1>a?this:f,d=(a.max-a.min)*a.transA,a.pixelPadding=a.len-d,a.minPixelPadding=a.pixelPadding/2,d=a.fixTo)){d=d[1]-a.toValue(d[0],!0);d*=a.transA;if(Math.abs(d)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)d=0;a.minPixelPadding-=d}});a(w.prototype,"render",function(a){a.call(this);this.fixTo=null})})(I);(function(a){var w=a.Axis,C=a.Chart,A=a.color,
303z,f=a.each,d=a.extend,q=a.isNumber,h=a.Legend,n=a.LegendSymbolMixin,l=a.noop,c=a.merge,k=a.pick,u=a.wrap;z=a.ColorAxis=function(){this.init.apply(this,arguments)};d(z.prototype,w.prototype);d(z.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01},labels:{overflow:"justify"},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup",
304"legendItem","legendSymbol"].concat(w.prototype.keepProps),init:function(a,d){var b="vertical"!==a.options.legend.layout,e;this.coll="colorAxis";e=c(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},d,{opposite:!b,showEmpty:!1,title:null});w.prototype.init.call(this,a,e);d.dataClasses&&this.initDataClasses(d);this.initStops(d);this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,c,b){var e;c.rgba.length&&a.rgba.length?(a=a.rgba,c=c.rgba,e=1!==c[3]||1!==a[3],a=
305(e?"rgba(":"rgb(")+Math.round(c[0]+(a[0]-c[0])*(1-b))+","+Math.round(c[1]+(a[1]-c[1])*(1-b))+","+Math.round(c[2]+(a[2]-c[2])*(1-b))+(e?","+(c[3]+(a[3]-c[3])*(1-b)):"")+")"):a=c.input||"none";return a},initDataClasses:function(a){var d=this,b,e=0,k=this.chart.options.chart.colorCount,l=this.options,h=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];f(a.dataClasses,function(a,g){a=c(a);b.push(a);a.color||("category"===l.dataClassColor?(a.colorIndex=e,e++,e===k&&(e=0)):a.color=d.tweenColors(A(l.minColor),
306A(l.maxColor),2>h?.5:g/(h-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];f(this.stops,function(a){a.color=A(a[1])})},setOptions:function(a){w.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,c=this.chart,b=c.options.legend||{},e,d;a?(this.left=b=a.attr("x"),this.top=e=a.attr("y"),this.width=d=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-b-d,
307this.bottom=c.chartHeight-e-a,this.len=this.horiz?d:a,this.pos=this.horiz?b:e):this.len=(this.horiz?b.symbolWidth:b.symbolHeight)||this.defaultLegendLength},toColor:function(a,c){var b=this.stops,e,d,g=this.dataClasses,f,k;if(g)for(k=g.length;k--;){if(f=g[k],e=f.from,b=f.to,(void 0===e||a>=e)&&(void 0===b||a<=b)){d=f.color;c&&(c.dataClass=k,c.colorIndex=f.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(k=b.length;k--&&!(a>b[k][0]););e=b[k]||b[k+
3081];b=b[k+1]||e;a=1-(b[0]-a)/(b[0]-e[0]||1);d=this.tweenColors(e.color,b.color,a)}return d},getOffset:function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];a&&(this.axisParent=a,w.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=c)},setLegendColor:function(){var a,c=this.options,b=this.reversed;a=b?1:0;b=b?0:1;a=this.horiz?[a,0,b,0]:[0,b,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],
309y2:a[3]},stops:c.stops||[[0,c.minColor],[1,c.maxColor]]}},drawLegendSymbol:function(a,c){var b=a.padding,e=a.options,d=this.horiz,g=k(e.symbolWidth,d?this.defaultLegendLength:12),f=k(e.symbolHeight,d?12:this.defaultLegendLength),l=k(e.labelPadding,d?16:30),e=k(e.itemDistance,10);this.setLegendColor();c.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,g,f).attr({zIndex:1}).add(c.legendGroup);this.legendItemWidth=g+b+(d?e:l);this.legendItemHeight=f+b+(d?l:0)},setState:l,visible:!0,setVisible:l,
310getSeriesExtremes:function(){var a;this.series.length&&(a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax)},drawCrosshair:function(a,c){var b=c&&c.plotX,e=c&&c.plotY,d,g=this.pos,f=this.len;c&&(d=this.toPixels(c[c.series.colorKey]),d<g?d=g-2:d>g+f&&(d=g+f+2),c.plotX=d,c.plotY=this.len-d,w.prototype.drawCrosshair.call(this,a,c),c.plotX=b,c.plotY=e,this.cross&&this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup))},getPlotLinePath:function(a,c,b,e,d){return q(d)?this.horiz?
311["M",d-4,this.top-6,"L",d+4,this.top-6,d,this.top,"Z"]:["M",this.left,d,"L",this.left-6,d+6,this.left-6,d-6,"Z"]:w.prototype.getPlotLinePath.call(this,a,c,b,e)},update:function(a,d){var b=this.chart,e=b.legend;f(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&e.allItems&&(f(e.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),b.isDirtyLegend=!0);b.options[this.coll]=c(this.userOptions,a);w.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),e.colorizeItem(this,
312!0))},getDataClassLegendSymbols:function(){var c=this,g=this.chart,b=this.legendItems,e=g.options.legend,k=e.valueDecimals,h=e.valueSuffix||"",t;b.length||f(this.dataClasses,function(e,m){var r=!0,q=e.from,u=e.to;t="";void 0===q?t="\x3c ":void 0===u&&(t="\x3e ");void 0!==q&&(t+=a.numberFormat(q,k)+h);void 0!==q&&void 0!==u&&(t+=" - ");void 0!==u&&(t+=a.numberFormat(u,k)+h);b.push(d({chart:g,name:t,options:{},drawLegendSymbol:n.drawRectangle,visible:!0,setState:l,isDataClass:!0,setVisible:function(){r=
313this.visible=!r;f(c.series,function(a){f(a.points,function(a){a.dataClass===m&&a.setVisible(r)})});g.legend.colorizeItem(this,r)}},e))});return b},name:""});f(["fill","stroke"],function(c){a.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,z.prototype.tweenColors(A(this.start),A(this.end),this.pos),null,!0)}});u(C.prototype,"getAxes",function(a){var c=this.options.colorAxis;a.call(this);this.colorAxis=[];c&&new z(this,c)});u(h.prototype,"getAllItems",function(a){var c=[],b=this.chart.colorAxis[0];
314b&&b.options&&(b.options.showInLegend&&(b.options.dataClasses?c=c.concat(b.getDataClassLegendSymbols()):c.push(b)),f(b.series,function(a){a.options.showInLegend=!1}));return c.concat(a.call(this))});u(h.prototype,"colorizeItem",function(a,c,b){a.call(this,c,b);b&&c.legendColor&&c.legendSymbol.attr({fill:c.legendColor})})})(I);(function(a){var w=a.defined,C=a.each,A=a.noop;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var f=this,d=a?"show":"hide";C(["graphic",
315"dataLabel"],function(a){if(f[a])f[a][d]()})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:A,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,f=this.options.nullColor,d=this.colorAxis,q=this.colorKey;C(this.data,function(h){var n=h[q];if(n=h.options.color||(h.isNull?f:d&&void 0!==n?d.toColor(n,h):h.color||a.color))h.color=n})},colorAttribs:function(a){var f=
316{};w(a.color)&&(f[this.colorProp||"fill"]=a.color);return f}}})(I);(function(a){var w=a.colorPointMixin,C=a.each,A=a.extend,z=a.isNumber,f=a.map,d=a.merge,q=a.noop,h=a.pick,n=a.isArray,l=a.Point,c=a.Series,k=a.seriesType,u=a.seriesTypes,r=a.splat,g=void 0!==a.doc.documentElement.style.vectorEffect;k("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},
317inside:!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:{brightness:.2,halo:null},select:{color:"#cccccc"}}},d(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:q,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,d=-c,f=c,g=-c,k=c,l=c,n=this.xAxis,
318r=this.yAxis,q;C(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var e=b.path||[],m=e.length,n=!1,t=-c,r=c,u=-c,B=c,v=b.properties;if(!b._foundBox){for(;m--;)z(e[m])&&(n?(t=Math.max(t,e[m]),r=Math.min(r,e[m])):(u=Math.max(u,e[m]),B=Math.min(B,e[m])),n=!n);b._midX=r+(t-r)*(b.middleX||v&&v["hc-middle-x"]||.5);b._midY=B+(u-B)*(b.middleY||v&&v["hc-middle-y"]||.5);b._maxX=t;b._minX=r;b._maxY=u;b._minY=B;b.labelrank=h(b.labelrank,(t-r)*(u-B));b._foundBox=!0}d=Math.max(d,
319b._maxX);f=Math.min(f,b._minX);g=Math.max(g,b._maxY);k=Math.min(k,b._minY);l=Math.min(b._maxX-b._minX,b._maxY-b._minY,l);q=!0}});q&&(this.minY=Math.min(k,h(this.minY,c)),this.maxY=Math.max(g,h(this.maxY,-c)),this.minX=Math.min(f,h(this.minX,c)),this.maxX=Math.max(d,h(this.maxX,-c)),n&&void 0===n.options.minRange&&(n.minRange=Math.min(5*l,(this.maxX-this.minX)/5,n.minRange||c)),r&&void 0===r.options.minRange&&(r.minRange=Math.min(5*l,(this.maxY-this.minY)/5,r.minRange||c)))},getExtremes:function(){c.prototype.getExtremes.call(this,
320this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,f=c.min,g=c.transA,c=c.minPixelPadding,k=d.min,l=d.transA,d=d.minPixelPadding,h,n=[];if(a)for(h=a.length;h--;)z(a[h])?(n[h]=b?(a[h]-f)*g+c:(a[h]-k)*l+d,b=!b):n[h]=a[h];return n},setData:function(b,e,g,k){var l=this.options,h=this.chart.options.chart,
321m=h&&h.map,q=l.mapData,u=l.joinBy,w=null===u,v=l.keys||this.pointArrayMap,D=[],A={},E,p=this.chart.mapTransforms;!q&&m&&(q="string"===typeof m?a.maps[m]:m);w&&(u="_i");u=this.joinBy=r(u);u[1]||(u[1]=u[0]);b&&C(b,function(a,c){var e=0;if(z(a))b[c]={value:a};else if(n(a)){b[c]={};!l.keys&&a.length>v.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++e);for(var d=0;d<v.length;++d,++e)v[d]&&(b[c][v[d]]=a[e])}w&&(b[c]._i=c)});this.getBox(b);if(this.chart.mapTransforms=p=h&&h.mapTransforms||q&&q["hc-transform"]||
322p)for(E in p)p.hasOwnProperty(E)&&E.rotation&&(E.cosAngle=Math.cos(E.rotation),E.sinAngle=Math.sin(E.rotation));if(q){"FeatureCollection"===q.type&&(this.mapTitle=q.title,q=a.geojson(q,this.type,this));this.mapData=q;this.mapMap={};for(E=0;E<q.length;E++)h=q[E],m=h.properties,h._i=E,u[0]&&m&&m[u[0]]&&(h[u[0]]=m[u[0]]),A[h[u[0]]]=h;this.mapMap=A;b&&u[1]&&C(b,function(a){A[a[u[1]]]&&D.push(A[a[u[1]]])});l.allAreas?(this.getBox(q),b=b||[],u[1]&&C(b,function(a){D.push(a[u[1]])}),D="|"+f(D,function(a){return a&&
323a[u[0]]}).join("|")+"|",C(q,function(a){u[0]&&-1!==D.indexOf("|"+a[u[0]]+"|")||(b.push(d(a,{value:null})),k=!1)})):this.getBox(D)}c.prototype.setData.call(this,b,e,g,k)},drawGraph:q,drawDataLabels:q,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,c=a.xAxis,d=a.yAxis,f=a.doFullTranslate();a.generatePoints();C(a.data,function(b){b.plotX=c.toPixels(b._midX,!0);b.plotY=d.toPixels(b._midY,!0);f&&(b.shapeType=
324"path",b.shapeArgs={d:a.translatePath(b.path)})});a.translateColors()},pointAttribs:function(a,c){c=u.column.prototype.pointAttribs.call(this,a,c);a.isFading&&delete c.fill;g?c["vector-effect"]="non-scaling-stroke":c["stroke-width"]="inherit";return c},drawPoints:function(){var a=this.xAxis,c=this.yAxis,d=this.group,f=this.chart,k=f.renderer,l,h,n,r,q=this.baseTrans,v,z,w,A,p;this.transformGroup||(this.transformGroup=k.g().attr({scaleX:1,scaleY:1}).add(d),this.transformGroup.survive=!0);this.doFullTranslate()?
325(this.group=this.transformGroup,u.column.prototype.drawPoints.apply(this),this.group=d,C(this.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:a.min-a.minPixelPadding/a.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:a.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,
326translateY:0,scaleX:1,scaleY:1})):(l=a.transA/q.transAX,h=c.transA/q.transAY,n=a.toPixels(q.originX,!0),r=c.toPixels(q.originY,!0),.99<l&&1.01>l&&.99<h&&1.01>h&&(h=l=1,n=Math.round(n),r=Math.round(r)),v=this.transformGroup,f.renderer.globalAnimation?(z=v.attr("translateX"),w=v.attr("translateY"),A=v.attr("scaleX"),p=v.attr("scaleY"),v.attr({animator:0}).animate({animator:1},{step:function(a,b){v.attr({translateX:z+(n-z)*b.pos,translateY:w+(r-w)*b.pos,scaleX:A+(l-A)*b.pos,scaleY:p+(h-p)*b.pos})}})):
327v.attr({translateX:n,translateY:r,scaleX:l,scaleY:h}));g||this.group.element.setAttribute("stroke-width",this.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"]/(l||1));this.drawMapDataLabels()},drawMapDataLabels:function(){c.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,e=c.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){e.call(a)}):e.call(a)},
328animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,f=this.yAxis,g=d.pos,k=f.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:g+d.len/2,translateY:k+f.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:g,translateY:k,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,f=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/
329b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},C(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},f)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){u.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){u.column.prototype.animateDrillupTo.call(this,a)}}),A({applyOptions:function(a,c){a=l.prototype.applyOptions.call(this,
330a,c);c=this.series;var b=c.joinBy;c.mapData&&((b=void 0!==a[b[1]]&&c.mapMap[a[b[1]]])?(c.xyFromShape&&(a.x=b._midX,a.y=b._midY),A(a,b)):a.value=a.value||null);return a},onMouseOver:function(a){clearTimeout(this.colorInterval);if(null!==this.value)l.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},w))})(I);(function(a){function w(a){a&&
331(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}var C=a.addEvent,A=a.Chart,z=a.doc,f=a.each,d=a.extend,q=a.merge,h=a.pick;a=a.wrap;d(A.prototype,{renderMapNavigation:function(){var a=this,f=this.options.mapNavigation,c=f.buttons,k,u,r,g=function(b){this.handler.call(a,b);w(b)};if(h(f.enableButtons,f.enabled)&&!a.renderer.forExport)for(k in a.mapNavButtons=[],c)c.hasOwnProperty(k)&&(r=q(f.buttonOptions,c[k]),u=a.renderer.button(r.text,0,0,g,void 0,void 0,
332void 0,0,"zoomIn"===k?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:r.width,height:r.height,title:a.options.lang[k],padding:r.padding,zIndex:5}).add(),u.handler=r.onclick,u.align(d(r,{width:u.width,height:2*u.height}),null,r.alignTo),C(u.element,"dblclick",w),a.mapNavButtons.push(u))},fitToBox:function(a,d){f([["x","width"],["y","height"]],function(c){var f=c[0];c=c[1];a[f]+a[c]>d[f]+d[c]&&(a[c]>d[c]?(a[c]=d[c],a[f]=d[f]):a[f]=d[f]+d[c]-a[c]);a[c]>d[c]&&(a[c]=d[c]);
333a[f]<d[f]&&(a[f]=d[f])});return a},mapZoom:function(a,d,c,f,q){var k=this.xAxis[0],g=k.max-k.min,b=h(d,k.min+g/2),e=g*a,g=this.yAxis[0],l=g.max-g.min,n=h(c,g.min+l/2),l=l*a,b=this.fitToBox({x:b-e*(f?(f-k.pos)/k.len:.5),y:n-l*(q?(q-g.pos)/g.len:.5),width:e,height:l},{x:k.dataMin,y:g.dataMin,width:k.dataMax-k.dataMin,height:g.dataMax-g.dataMin}),e=b.x<=k.dataMin&&b.width>=k.dataMax-k.dataMin&&b.y<=g.dataMin&&b.height>=g.dataMax-g.dataMin;f&&(k.fixTo=[f-k.pos,d]);q&&(g.fixTo=[q-g.pos,c]);void 0===a||
334e?(k.setExtremes(void 0,void 0,!1),g.setExtremes(void 0,void 0,!1)):(k.setExtremes(b.x,b.x+b.width,!1),g.setExtremes(b.y,b.y+b.height,!1));this.redraw()}});a(A.prototype,"render",function(a){var d=this,c=d.options.mapNavigation;d.renderMapNavigation();a.call(d);(h(c.enableDoubleClickZoom,c.enabled)||c.enableDoubleClickZoomTo)&&C(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)});h(c.enableMouseWheelZoom,c.enabled)&&C(d.container,void 0===z.onmousewheel?"DOMMouseScroll":"mousewheel",
335function(a){d.pointer.onContainerMouseWheel(a);w(a);return!1})})})(I);(function(a){var w=a.extend,C=a.pick,A=a.Pointer;a=a.wrap;w(A.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=
336this.chart,d;a=this.normalize(a);d=a.detail||-(a.wheelDelta/120);f.isInsidePlot(a.chartX-f.plotLeft,a.chartY-f.plotTop)&&f.mapZoom(Math.pow(f.options.mapNavigation.mouseWheelSensitivity,d),f.xAxis[0].toValue(a.chartX),f.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(A.prototype,"zoomOption",function(a){var f=this.chart.options.mapNavigation;C(f.enableTouchZoom,f.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(A.prototype,"pinchTranslate",function(a,
337f,d,q,h,n,l){a.call(this,f,d,q,h,n,l);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=q.scaleX>q.scaleY,this.pinchTranslateDirection(!a,f,d,q,h,n,l,a?q.scaleX:q.scaleY))})})(I);(function(a){var w=a.seriesType;w("mapline","map",{},{type:"mapline",colorProp:"stroke",drawLegendSymbol:a.seriesTypes.line.prototype.drawLegendSymbol})})(I);(function(a){var w=a.merge,C=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,
338overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,z){a=void 0!==a.lat&&void 0!==a.lon?w(a,this.series.chart.fromLatLonToPoint(a)):a;return C.prototype.applyOptions.call(this,a,z)}})})(I);(function(a){var w=a.arrayMax,C=a.arrayMin,A=a.Axis,z=a.each,f=a.isNumber,d=a.noop,q=a.pick,h=a.pInt,n=a.Point,l=a.seriesType,c=a.seriesTypes;l("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{radius:null,
339states:{hover:{radiusPlus:0}}},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",markerAttribs:d,getRadii:function(a,c,d,f){var b,e,g,k=this.zData,l=[],h=this.options,n="width"!==h.sizeBy,r=h.zThreshold,q=c-a;e=0;for(b=k.length;e<b;e++)g=k[e],h.sizeByAbsoluteValue&&
340null!==g&&(g=Math.abs(g-r),c=Math.max(c-r,Math.abs(a-r)),a=0),null===g?g=null:g<a?g=d/2-1:(g=0<q?(g-a)/q:.5,n&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(d+g*(f-d))/2),l.push(g);this.radii=l},animate:function(a){var c=this.options.animation;a||(z(this.points,function(a){var d=a.graphic;a=a.shapeArgs;d&&a&&(d.attr("r",1),d.animate({r:a.r},c))}),this.animate=null)},translate:function(){var a,d=this.data,l,g,b=this.radii;c.scatter.prototype.translate.call(this);for(a=d.length;a--;)l=d[a],g=b?b[a]:0,f(g)&&g>=
341this.minPxSize/2?(l.shapeType="circle",l.shapeArgs={x:l.plotX,y:l.plotY,r:g},l.dlBox={x:l.plotX-g,y:l.plotY-g,width:2*g,height:2*g}):l.shapeArgs=l.plotY=l.dlBox=void 0},drawLegendSymbol:function(a,c){var d=this.chart.renderer,f=d.fontMetrics(a.itemStyle&&a.itemStyle.fontSize,c.legendItem).f/2;c.legendSymbol=d.circle(f,a.baseline-f,f).attr({zIndex:3}).add(c.legendGroup);c.legendSymbol.isMarker=!0},drawPoints:c.column.prototype.drawPoints,alignDataLabel:c.column.prototype.alignDataLabel,buildKDTree:d,
342applyZones:d},{haloPath:function(a){return n.prototype.haloPath.call(this,this.shapeArgs.r+a)},ttBelow:!1});A.prototype.beforePadding=function(){var a=this,c=this.len,d=this.chart,g=0,b=c,e=this.isXAxis,l=e?"xData":"yData",n=this.min,t={},F=Math.min(d.plotWidth,d.plotHeight),H=Number.MAX_VALUE,A=-Number.MAX_VALUE,B=this.max-n,L=c/B,v=[];z(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&d.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,v.push(b),e&&(z(["minSize","maxSize"],
343function(a){var b=c[a],e=/%$/.test(b),b=h(b);t[a]=e?F*b/100:b}),b.minPxSize=t.minSize,b.maxPxSize=Math.max(t.maxSize,t.minSize),b=b.zData,b.length&&(H=q(c.zMin,Math.min(H,Math.max(C(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),A=q(c.zMax,Math.max(A,w(b))))))});z(v,function(c){var d=c[l],k=d.length,h;e&&c.getRadii(H,A,c.minPxSize,c.maxPxSize);if(0<B)for(;k--;)f(d[k])&&a.dataMin<=d[k]&&d[k]<=a.dataMax&&(h=c.radii[k],g=Math.min((d[k]-n)*L-h,g),b=Math.max((d[k]-n)*L+h,b))});v.length&&0<
344B&&!this.isLog&&(b-=c,L*=(c+g-b)/c,z([["min","userMin",g],["max","userMax",b]],function(b){void 0===q(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/L)}))}})(I);(function(a){var w=a.merge,C=a.Point,A=a.seriesType,z=a.seriesTypes;z.bubble&&A("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:z.map.prototype.getMapData,getBox:z.map.prototype.getBox,setData:z.map.prototype.setData},{applyOptions:function(a,
345d){return a&&void 0!==a.lat&&void 0!==a.lon?C.prototype.applyOptions.call(this,w(a,this.series.chart.fromLatLonToPoint(a)),d):z.map.prototype.pointClass.prototype.applyOptions.call(this,a,d)},ttBelow:!1})})(I);(function(a){function w(a,c){var d,f,h,g=!1,b=a.x,e=a.y;a=0;for(d=c.length-1;a<c.length;d=a++)f=c[a][1]>e,h=c[d][1]>e,f!==h&&b<(c[d][0]-c[a][0])*(e-c[a][1])/(c[d][1]-c[a][1])+c[a][0]&&(g=!g);return g}var C=a.Chart,A=a.each,z=a.extend,f=a.error,d=a.format,q=a.merge,h=a.win,n=a.wrap;C.prototype.transformFromLatLon=
346function(a,c){if(void 0===h.proj4)return f(21),{x:0,y:null};a=h.proj4(c.crs,[a.lon,a.lat]);var d=c.cosAngle||c.rotation&&Math.cos(c.rotation),l=c.sinAngle||c.rotation&&Math.sin(c.rotation);a=c.rotation?[a[0]*d+a[1]*l,-a[0]*l+a[1]*d]:a;return{x:((a[0]-(c.xoffset||0))*(c.scale||1)+(c.xpan||0))*(c.jsonres||1)+(c.jsonmarginX||0),y:(((c.yoffset||0)-a[1])*(c.scale||1)+(c.ypan||0))*(c.jsonres||1)-(c.jsonmarginY||0)}};C.prototype.transformToLatLon=function(a,c){if(void 0===h.proj4)f(21);else{a={x:((a.x-(c.jsonmarginX||
3470))/(c.jsonres||1)-(c.xpan||0))/(c.scale||1)+(c.xoffset||0),y:((-a.y-(c.jsonmarginY||0))/(c.jsonres||1)+(c.ypan||0))/(c.scale||1)+(c.yoffset||0)};var d=c.cosAngle||c.rotation&&Math.cos(c.rotation),l=c.sinAngle||c.rotation&&Math.sin(c.rotation);c=h.proj4(c.crs,"WGS84",c.rotation?{x:a.x*d+a.y*-l,y:a.x*l+a.y*d}:a);return{lat:c.y,lon:c.x}}};C.prototype.fromPointToLatLon=function(a){var c=this.mapTransforms,d;if(c){for(d in c)if(c.hasOwnProperty(d)&&c[d].hitZone&&w({x:a.x,y:-a.y},c[d].hitZone.coordinates[0]))return this.transformToLatLon(a,
348c[d]);return this.transformToLatLon(a,c["default"])}f(22)};C.prototype.fromLatLonToPoint=function(a){var c=this.mapTransforms,d,h;if(!c)return f(22),{x:0,y:null};for(d in c)if(c.hasOwnProperty(d)&&c[d].hitZone&&(h=this.transformFromLatLon(a,c[d]),w({x:h.x,y:-h.y},c[d].hitZone.coordinates[0])))return h;return this.transformFromLatLon(a,c["default"])};a.geojson=function(a,c,f){var k=[],h=[],g=function(a){var b,c=a.length;h.push("M");for(b=0;b<c;b++)1===b&&h.push("L"),h.push(a[b][0],-a[b][1])};c=c||
349"map";A(a.features,function(a){var b=a.geometry,d=b.type,b=b.coordinates;a=a.properties;var f;h=[];"map"===c||"mapbubble"===c?("Polygon"===d?(A(b,g),h.push("Z")):"MultiPolygon"===d&&(A(b,function(a){A(a,g)}),h.push("Z")),h.length&&(f={path:h})):"mapline"===c?("LineString"===d?g(b):"MultiLineString"===d&&A(b,g),h.length&&(f={path:h})):"mappoint"===c&&"Point"===d&&(f={x:b[0],y:-b[1]});f&&k.push(z(f,{name:a.name||a.NAME,properties:a}))});f&&a.copyrightShort&&(f.chart.mapCredits=d(f.chart.options.credits.mapText,
350{geojson:a}),f.chart.mapCreditsFull=d(f.chart.options.credits.mapTextFull,{geojson:a}));return k};n(C.prototype,"addCredits",function(a,c){c=q(!0,this.options.credits,c);this.mapCredits&&(c.href=null);a.call(this,c);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(I);(function(a){function w(a,d,f,h,g,b,e,l){return["M",a+g,d,"L",a+f-b,d,"C",a+f-b/2,d,a+f,d+b/2,a+f,d+b,"L",a+f,d+h-e,"C",a+f,d+h-e/2,a+f-e/2,d+h,a+f-e,d+h,"L",a+l,d+h,"C",a+l/2,d+h,a,d+h-l/2,a,d+h-
351l,"L",a,d+g,"C",a,d+g/2,a+g/2,d,a+g,d,"Z"]}var C=a.Chart,A=a.defaultOptions,z=a.each,f=a.extend,d=a.merge,q=a.pick,h=a.Renderer,n=a.SVGRenderer,l=a.VMLRenderer;f(A.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});A.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var c;
352a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(c=0;c<a.length;c++)/[a-zA-Z]/.test(a[c])||(a[c]=parseFloat(a[c]));return a};a.maps={};n.prototype.symbols.topbutton=function(a,d,f,h,g){return w(a-1,d-1,f,h,g.r,g.r,0,0)};n.prototype.symbols.bottombutton=function(a,d,f,h,g){return w(a-1,d-1,f,h,0,0,g.r,g.r)};h===l&&z(["topbutton","bottombutton"],function(a){l.prototype.symbols[a]=n.prototype.symbols[a]});a.Map=a.mapChart=function(c,f,h){var k="string"===
353typeof c||c.nodeName,g=arguments[k?1:0],b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},e,l=a.getOptions().credits;e=g.series;g.series=null;g=d({chart:{panning:"xy",type:"map"},credits:{mapText:q(l.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:q(l.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:d(b,{reversed:!0})},g,{chart:{inverted:!1,alignTicks:!1}});g.series=e;return k?new C(c,g,h):
354new C(g,f)}})(I);(function(a){var w=a.colorPointMixin,C=a.each,A=a.merge,z=a.noop,f=a.pick,d=a.Series,q=a.seriesType,h=a.seriesTypes;q("heatmap","scatter",{animation:!1,borderWidth:0,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},A(a.colorSeriesMixin,{pointArrayMap:["y",
355"value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;h.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=f(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,d=this.xAxis,c=this.yAxis,f=function(a,c,d){return Math.min(Math.max(c,a),d)};this.generatePoints();C(this.points,function(h){var k=(a.colsize||1)/2,g=(a.rowsize||1)/2,b=f(Math.round(d.len-d.translate(h.x-
356k,0,1,0,1)),-d.len,2*d.len),k=f(Math.round(d.len-d.translate(h.x+k,0,1,0,1)),-d.len,2*d.len),e=f(Math.round(c.translate(h.y-g,0,1,0,1)),-c.len,2*c.len),g=f(Math.round(c.translate(h.y+g,0,1,0,1)),-c.len,2*c.len);h.plotX=h.clientX=(b+k)/2;h.plotY=(e+g)/2;h.shapeType="rect";h.shapeArgs={x:Math.min(b,k),y:Math.min(e,g),width:Math.abs(k-b),height:Math.abs(g-e)}});this.translateColors()},drawPoints:function(){h.column.prototype.drawPoints.call(this);C(this.points,function(a){a.graphic.attr(this.colorAttribs(a,
357a.state))},this)},animate:z,getBox:z,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:h.column.prototype.alignDataLabel,getExtremes:function(){d.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;d.prototype.getExtremes.call(this)}}),w)})(I);(function(a){var w=a.addEvent,C=a.Chart,A=a.createElement,z=a.css,f=a.defaultOptions,d=a.defaultPlotOptions,q=a.each,h=a.extend,n=a.fireEvent,l=a.hasTouch,c=a.inArray,k=a.isObject,u=a.Legend,
358r=a.merge,g=a.pick,b=a.Point,e=a.Series,m=a.seriesTypes,E=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=function(a){for(var c=a.target,d;c&&!d;)d=c.point,c=c.parentNode;if(void 0!==d&&d!==b.hoverPoint)d.onMouseOver(a)};q(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(q(a.trackerGroups,function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",
359d).on("mouseout",function(a){c.onTrackerMouseOut(a)}),l))a[b].on("touchstart",d)}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,b=a.options.trackByArea,c=[].concat(b?a.areaPath:a.graphPath),d=c.length,e=a.chart,f=e.pointer,g=e.renderer,h=e.options.tooltip.snap,k=a.tracker,m,n=function(){if(e.hoverSeries!==a)a.onMouseOver()},r="rgba(192,192,192,"+(E?.0001:.002)+")";if(d&&!b)for(m=d+1;m--;)"M"===c[m]&&c.splice(m+1,0,c[m+1]-h,c[m+2],"L"),(m&&"M"===c[m]||m===d)&&c.splice(m,0,"L",c[m-2]+
360h,c[m-1]);k?k.attr({d:c}):a.graph&&(a.tracker=g.path(c).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:r,fill:b?r:"none","stroke-width":a.graph.strokeWidth()+(b?0:2*h),zIndex:2}).add(a.group),q([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){f.onTrackerMouseOut(a)});if(l)a.on("touchstart",n)}))}};m.column&&(m.column.prototype.drawTracker=a.drawTrackerPoint);m.pie&&(m.pie.prototype.drawTracker=a.drawTrackerPoint);
361m.scatter&&(m.scatter.prototype.drawTracker=a.drawTrackerPoint);h(u.prototype,{setItemEvents:function(a,b,c){var d=this.chart,e="highcharts-legend-"+(a.series?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");d.seriesGroup.addClass(e)}).on("mouseout",function(){d.seriesGroup.removeClass(e);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):n(a,"legendItemClick",
362b,c)})},createCheckboxForItem:function(a){a.checkbox=A("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);w(a.checkbox,"click",function(b){n(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});h(C.prototype,{showResetZoom:function(){var a=this,b=f.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,g="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,
363null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,!1,g)},zoomOut:function(){var a=this;n(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,d=!1,e;!a||a.resetSelection?q(this.axes,function(a){b=a.zoom()}):q(a.xAxis.concat(a.yAxis),function(a){var e=a.axis;c[e.isXAxis?"zoomX":"zoomY"]&&(b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0))});e=this.resetZoomButton;
364d&&!e?this.showResetZoom():!d&&k(e)&&(this.resetZoomButton=e.destroy());b&&this.redraw(g(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&q(d,function(a){a.setState()});q("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=b.reversed,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",h=c[d],k=(b.pointRange||0)/(f?-2:2),l=b.getExtremes(),m=b.toValue(h-g,!0)+k,k=b.toValue(h+b.len-g,!0)-k,h=h>g;f&&(h=!h,f=m,
365m=k,k=f);b.series.length&&(h||m>Math.min(l.dataMin,l.min))&&(!h||k<Math.max(l.dataMax,l.max))&&(b.setExtremes(m,k,!1,!1,{trigger:"pan"}),e=!0);c[d]=g});e&&c.redraw(!1);z(c.container,{cursor:"move"})}});h(b.prototype,{select:function(a,b){var d=this,e=d.series,f=e.chart;a=g(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;e.options.data[c(d,e.data)]=d.options;d.setState(a&&"select");b||q(f.getSelectedPoints(),function(a){a.selected&&a!==
366d&&(a.selected=a.options.selected=!1,e.options.data[c(a,e.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a,b){var c=this.series,d=c.chart,e=d.tooltip,f=d.hoverPoint;if(this.series){if(!b){if(f&&f!==this)f.onMouseOut();if(d.hoverSeries!==c)c.onMouseOver();d.hoverPoint=this}!e||e.shared&&!c.noSharedTooltip?e||this.setState("hover"):(this.setState("hover"),e.refresh(this,a));this.firePointEvent("mouseOver")}},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;
367this.firePointEvent("mouseOut");b&&-1!==c(this,b)||(this.setState(),a.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var a=r(this.series.options.point,this.options).events,b;this.events=a;for(b in a)w(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),e=this.plotY,f=this.series,h=f.options.states[a]||{},k=d[f.type].marker&&f.options.marker,l=k&&!1===k.enabled,m=k&&k.states&&k.states[a]||{},n=!1===m.enabled,p=f.stateMarkerGraphic,q=this.marker||
368{},r=f.chart,t=f.halo,u,w=k&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(n||l&&!1===m.enabled)||a&&q.states&&q.states[a]&&!1===q.states[a].enabled)){w&&(u=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),u&&this.graphic.animate(u,g(r.options.chart.animation,m.animation,k.animation)),p&&p.hide();else{if(a&&m)if(k=q.symbol||f.symbol,p&&p.currentSymbol!==
369k&&(p=p.destroy()),p)p[b?"animate":"attr"]({x:u.x,y:u.y});else k&&(f.stateMarkerGraphic=p=r.renderer.symbol(k,u.x,u.y,u.width,u.height).add(f.markerGroup),p.currentSymbol=k);p&&(p[a&&r.isInsidePlot(c,e,r.inverted)?"show":"hide"](),p.element.point=this)}(c=h.halo)&&c.size?(t||(f.halo=t=r.renderer.path().add(w?f.markerGroup:f.group)),t[b?"animate":"attr"]({d:this.haloPath(c.size)}),t.attr({"class":"highcharts-halo highcharts-color-"+g(this.colorIndex,f.colorIndex)})):t&&t.animate({d:this.haloPath(0)});
370this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});h(e.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&n(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&n(this,"mouseOut");!c||a.stickyTracking||
371c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this;a=a||"";b.state!==a&&(q([b.group,b.markerGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a)},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";q(["group","dataLabelsGroup","markerGroup",
372"tracker","tt"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&q(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});q(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);!1!==b&&d.redraw();n(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&
373(this.checkbox.checked=a);n(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(I);(function(a){var w=a.Chart,C=a.each,A=a.inArray,z=a.isObject,f=a.pick,d=a.splat;w.prototype.setResponsive=function(a){var d=this.options.responsive;d&&d.rules&&C(d.rules,function(d){this.matchResponsiveRule(d,a)},this)};w.prototype.matchResponsiveRule=function(d,h){var n=this.respRules,l=d.condition,c;c=l.callback||function(){return this.chartWidth<=f(l.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=f(l.maxHeight,
374Number.MAX_VALUE)&&this.chartWidth>=f(l.minWidth,0)&&this.chartHeight>=f(l.minHeight,0)};void 0===d._id&&(d._id=a.uniqueKey());c=c.call(this);!n[d._id]&&c?d.chartOptions&&(n[d._id]=this.currentOptions(d.chartOptions),this.update(d.chartOptions,h)):n[d._id]&&!c&&(this.update(n[d._id],h),delete n[d._id])};w.prototype.currentOptions=function(a){function f(a,c,h){var k,l;for(k in a)if(-1<A(k,["series","xAxis","yAxis"]))for(a[k]=d(a[k]),h[k]=[],l=0;l<a[k].length;l++)h[k][l]={},f(a[k][l],c[k][l],h[k][l]);
375else z(a[k])?(h[k]={},f(a[k],c[k]||{},h[k])):h[k]=c[k]||null}var n={};f(a,this.options,n);return n}})(I);return I});