/*
 Highcharts JS v5.0.6 custom build (2017-01-04)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(H,a){"object"===typeof module&&module.exports?module.exports=H.document?a(H):a:H.Highcharts=a(H)})("undefined"!==typeof window?window:this,function(H){H=function(){var a=window,z=a.document,y=a.navigator&&a.navigator.userAgent||"",B=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,A=/(edge|msie|trident)/i.test(y)&&!window.opera,u=!B,q=/Firefox/.test(y),r=q&&4>parseInt(y.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",
version:"5.0.6 custom build",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:r,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:A,isWebKit:/AppleWebKit/.test(y),isFirefox:q,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:B,vml:u,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var z=[],y=a.charts,B=a.doc,A=a.win;a.error=function(u,q){u=a.isNumber(u)?
"Highcharts error #"+u+": www.highcharts.com/errors/"+u:u;if(q)throw Error(u);A.console&&console.log(u)};a.Fx=function(a,q,r){this.options=q;this.elem=a;this.prop=r};a.Fx.prototype={dSetter:function(){var a=this.paths[0],q=this.paths[1],r=[],t=this.now,h=a.length,n;if(1===t)r=this.toD;else if(h===q.length&&1>t)for(;h--;)n=parseFloat(a[h]),r[h]=isNaN(n)?a[h]:t*parseFloat(q[h]-n)+n;else r=q;this.elem.attr("d",r,null,!0)},update:function(){var a=this.elem,q=this.prop,r=this.now,t=this.options.step;if(this[q+
"Setter"])this[q+"Setter"]();else a.attr?a.element&&a.attr(q,r,null,!0):a.style[q]=r+this.unit;t&&t.call(a,r,this)},run:function(a,q,r){var t=this,h=function(a){return h.stopped?!1:t.step(a)},n;this.startTime=+new Date;this.start=a;this.end=q;this.unit=r;this.now=this.start;this.pos=0;h.elem=this.elem;h.prop=this.prop;h()&&1===z.push(h)&&(h.timerId=setInterval(function(){for(n=0;n<z.length;n++)z[n]()||z.splice(n--,1);z.length||clearInterval(h.timerId)},13))},step:function(a){var q=+new Date,r,t=this.options;
r=this.elem;var h=t.complete,n=t.duration,l=t.curAnim,c;if(r.attr&&!r.element)r=!1;else if(a||q>=n+this.startTime){this.now=this.end;this.pos=1;this.update();a=l[this.prop]=!0;for(c in l)!0!==l[c]&&(a=!1);a&&h&&h.call(r);r=!1}else this.pos=t.easing((q-this.startTime)/n),this.now=this.start+(this.end-this.start)*this.pos,this.update(),r=!0;return r},initPath:function(u,q,r){function t(a){var b,c;for(d=a.length;d--;)b="M"===a[d]||"L"===a[d],c=/[a-zA-Z]/.test(a[d+3]),b&&c&&a.splice(d+1,0,a[d+1],a[d+
2],a[d+1],a[d+2])}function h(a,b){for(;a.length<g;){a[0]=b[g-a.length];var c=a.slice(0,e);[].splice.apply(a,[0,0].concat(c));w&&(c=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(c)),d--)}a[0]="M"}function n(a,d){for(var c=(g-a.length)/e;0<c&&c--;)b=a.slice().splice(a.length/C-e,e*C),b[0]=d[g-e-c*e],k&&(b[e-6]=b[e-2],b[e-5]=b[e-1]),[].splice.apply(a,[a.length/C,0].concat(b)),w&&c--}q=q||"";var l,c=u.startX,f=u.endX,k=-1<q.indexOf("C"),e=k?7:3,g,b,d;q=q.split(" ");r=r.slice();var w=u.isArea,
C=w?2:1,x;k&&(t(q),t(r));if(c&&f){for(d=0;d<c.length;d++)if(c[d]===f[0]){l=d;break}else if(c[0]===f[f.length-c.length+d]){l=d;x=!0;break}void 0===l&&(q=[])}q.length&&a.isNumber(l)&&(g=r.length+l*C*e,x?(h(q,r),n(r,q)):(h(r,q),n(q,r)));return[q,r]}};a.extend=function(a,q){var r;a||(a={});for(r in q)a[r]=q[r];return a};a.merge=function(){var u,q=arguments,r,t={},h=function(n,l){var c,f;"object"!==typeof n&&(n={});for(f in l)l.hasOwnProperty(f)&&(c=l[f],a.isObject(c,!0)&&"renderTo"!==f&&"number"!==typeof c.nodeType?
n[f]=h(n[f]||{},c):n[f]=l[f]);return n};!0===q[0]&&(t=q[1],q=Array.prototype.slice.call(q,2));r=q.length;for(u=0;u<r;u++)t=h(t,q[u]);return t};a.pInt=function(a,q){return parseInt(a,q||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(u,q){return u&&"object"===typeof u&&(!q||!a.isArray(u))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=
function(a,q){for(var r=a.length;r--;)if(a[r]===q){a.splice(r,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(u,q,r){var t,h;if(a.isString(q))a.defined(r)?u.setAttribute(q,r):u&&u.getAttribute&&(h=u.getAttribute(q));else if(a.defined(q)&&a.isObject(q))for(t in q)u.setAttribute(t,q[t]);return h};a.splat=function(u){return a.isArray(u)?u:[u]};a.syncTimeout=function(a,q,r){if(q)return setTimeout(a,q,r);a.call(0,r)};a.pick=function(){var a=arguments,q,r,t=a.length;for(q=
0;q<t;q++)if(r=a[q],void 0!==r&&null!==r)return r};a.css=function(u,q){a.isMS&&!a.svg&&q&&void 0!==q.opacity&&(q.filter="alpha(opacity\x3d"+100*q.opacity+")");a.extend(u.style,q)};a.createElement=function(u,q,r,t,h){u=B.createElement(u);var n=a.css;q&&a.extend(u,q);h&&n(u,{padding:0,border:"none",margin:0});r&&n(u,r);t&&t.appendChild(u);return u};a.extendClass=function(u,q){var r=function(){};r.prototype=new u;a.extend(r.prototype,q);return r};a.pad=function(a,q,r){return Array((q||2)+1-String(a).length).join(r||
0)+a};a.relativeLength=function(a,q){return/%$/.test(a)?q*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,q,r){var t=a[q];a[q]=function(){var a=Array.prototype.slice.call(arguments),n=arguments,l=this;l.proceed=function(){t.apply(l,arguments.length?arguments:n)};a.unshift(t);a=r.apply(this,a);l.proceed=null;return a}};a.getTZOffset=function(u){var q=a.Date;return 6E4*(q.hcGetTimezoneOffset&&q.hcGetTimezoneOffset(u)||q.hcTimezoneOffset||0)};a.dateFormat=function(u,q,r){if(!a.defined(q)||isNaN(q))return a.defaultOptions.lang.invalidDate||
"";u=a.pick(u,"%Y-%m-%d %H:%M:%S");var t=a.Date,h=new t(q-a.getTZOffset(q)),n,l=h[t.hcGetHours](),c=h[t.hcGetDay](),f=h[t.hcGetDate](),k=h[t.hcGetMonth](),e=h[t.hcGetFullYear](),g=a.defaultOptions.lang,b=g.weekdays,d=g.shortWeekdays,w=a.pad,t=a.extend({a:d?d[c]:b[c].substr(0,3),A:b[c],d:w(f),e:w(f,2," "),w:c,b:g.shortMonths[k],B:g.months[k],m:w(k+1),y:e.toString().substr(2,2),Y:e,H:w(l),k:l,I:w(l%12||12),l:l%12||12,M:w(h[t.hcGetMinutes]()),p:12>l?"AM":"PM",P:12>l?"am":"pm",S:w(h.getSeconds()),L:w(Math.round(q%
1E3),3)},a.dateFormats);for(n in t)for(;-1!==u.indexOf("%"+n);)u=u.replace("%"+n,"function"===typeof t[n]?t[n](q):t[n]);return r?u.substr(0,1).toUpperCase()+u.substr(1):u};a.formatSingle=function(u,q){var r=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(u)?(r=(r=u.match(r))?r[1]:-1,null!==q&&(q=a.numberFormat(q,r,t.decimalPoint,-1<u.indexOf(",")?t.thousandsSep:""))):q=a.dateFormat(u,q);return q};a.format=function(u,q){for(var r="{",t=!1,h,n,l,c,f=[],k;u;){r=u.indexOf(r);if(-1===r)break;h=u.slice(0,
r);if(t){h=h.split(":");n=h.shift().split(".");c=n.length;k=q;for(l=0;l<c;l++)k=k[n[l]];h.length&&(k=a.formatSingle(h.join(":"),k));f.push(k)}else f.push(h);u=u.slice(r+1);r=(t=!t)?"}":"{"}f.push(u);return f.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(u,q,r,t,h){var n,l=u;r=a.pick(r,1);n=u/r;q||(q=h?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===r?q=a.grep(q,function(a){return 0===a%1}):.1>=r&&(q=[1/r])));
for(t=0;t<q.length&&!(l=q[t],h&&l*r>=u||!h&&n<=(q[t]+(q[t+1]||q[t]))/2);t++);return l*r};a.stableSort=function(a,q){var r=a.length,t,h;for(h=0;h<r;h++)a[h].safeI=h;a.sort(function(a,h){t=q(a,h);return 0===t?a.safeI-h.safeI:t});for(h=0;h<r;h++)delete a[h].safeI};a.arrayMin=function(a){for(var q=a.length,r=a[0];q--;)a[q]<r&&(r=a[q]);return r};a.arrayMax=function(a){for(var q=a.length,r=a[0];q--;)a[q]>r&&(r=a[q]);return r};a.destroyObjectProperties=function(a,q){for(var r in a)a[r]&&a[r]!==q&&a[r].destroy&&
a[r].destroy(),delete a[r]};a.discardElement=function(u){var q=a.garbageBin;q||(q=a.createElement("div"));u&&q.appendChild(u);q.innerHTML=""};a.correctFloat=function(a,q){return parseFloat(a.toPrecision(q||14))};a.setAnimation=function(u,q){q.renderer.globalAnimation=a.pick(u,q.options.chart.animation,!0)};a.animObject=function(u){return a.isObject(u)?a.merge(u):{duration:u?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=
function(u,q,r,t){u=+u||0;q=+q;var h=a.defaultOptions.lang,n=(u.toString().split(".")[1]||"").length,l,c,f=Math.abs(u);-1===q?q=Math.min(n,20):a.isNumber(q)||(q=2);l=String(a.pInt(f.toFixed(q)));c=3<l.length?l.length%3:0;r=a.pick(r,h.decimalPoint);t=a.pick(t,h.thousandsSep);u=(0>u?"-":"")+(c?l.substr(0,c)+t:"");u+=l.substr(c).replace(/(\d{3})(?=\d)/g,"$1"+t);q&&(t=Math.abs(f-l+Math.pow(10,-Math.max(q,n)-1)),u+=r+t.toFixed(q).slice(2));return u};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*
a)-1)};a.getStyle=function(u,q){return"width"===q?Math.min(u.offsetWidth,u.scrollWidth)-a.getStyle(u,"padding-left")-a.getStyle(u,"padding-right"):"height"===q?Math.min(u.offsetHeight,u.scrollHeight)-a.getStyle(u,"padding-top")-a.getStyle(u,"padding-bottom"):(u=A.getComputedStyle(u,void 0))&&a.pInt(u.getPropertyValue(q))};a.inArray=function(a,q){return q.indexOf?q.indexOf(a):[].indexOf.call(q,a)};a.grep=function(a,q){return[].filter.call(a,q)};a.find=function(a,q){return[].find.call(a,q)};a.map=function(a,
q){for(var r=[],t=0,h=a.length;t<h;t++)r[t]=q.call(a[t],a[t],t,a);return r};a.offset=function(a){var q=B.documentElement;a=a.getBoundingClientRect();return{top:a.top+(A.pageYOffset||q.scrollTop)-(q.clientTop||0),left:a.left+(A.pageXOffset||q.scrollLeft)-(q.clientLeft||0)}};a.stop=function(a,q){for(var r=z.length;r--;)z[r].elem!==a||q&&q!==z[r].prop||(z[r].stopped=!0)};a.each=function(a,q,r){return Array.prototype.forEach.call(a,q,r)};a.addEvent=function(u,q,r){function t(a){a.target=a.srcElement||
A;r.call(u,a)}var h=u.hcEvents=u.hcEvents||{};u.addEventListener?u.addEventListener(q,r,!1):u.attachEvent&&(u.hcEventsIE||(u.hcEventsIE={}),u.hcEventsIE[r.toString()]=t,u.attachEvent("on"+q,t));h[q]||(h[q]=[]);h[q].push(r);return function(){a.removeEvent(u,q,r)}};a.removeEvent=function(u,q,r){function t(a,c){u.removeEventListener?u.removeEventListener(a,c,!1):u.attachEvent&&(c=u.hcEventsIE[c.toString()],u.detachEvent("on"+a,c))}function h(){var a,c;if(u.nodeName)for(c in q?(a={},a[q]=!0):a=l,a)if(l[c])for(a=
l[c].length;a--;)t(c,l[c][a])}var n,l=u.hcEvents,c;l&&(q?(n=l[q]||[],r?(c=a.inArray(r,n),-1<c&&(n.splice(c,1),l[q]=n),t(q,r)):(h(),l[q]=[])):(h(),u.hcEvents={}))};a.fireEvent=function(u,q,r,t){var h;h=u.hcEvents;var n,l;r=r||{};if(B.createEvent&&(u.dispatchEvent||u.fireEvent))h=B.createEvent("Events"),h.initEvent(q,!0,!0),a.extend(h,r),u.dispatchEvent?u.dispatchEvent(h):u.fireEvent(q,h);else if(h)for(h=h[q]||[],n=h.length,r.target||a.extend(r,{preventDefault:function(){r.defaultPrevented=!0},target:u,
type:q}),q=0;q<n;q++)(l=h[q])&&!1===l.call(u,r)&&r.preventDefault();t&&!r.defaultPrevented&&t(r)};a.animate=function(u,q,r){var t,h="",n,l,c;a.isObject(r)||(t=arguments,r={duration:t[2],easing:t[3],complete:t[4]});a.isNumber(r.duration)||(r.duration=400);r.easing="function"===typeof r.easing?r.easing:Math[r.easing]||Math.easeInOutSine;r.curAnim=a.merge(q);for(c in q)a.stop(u,c),l=new a.Fx(u,r,c),n=null,"d"===c?(l.paths=l.initPath(u,u.d,q.d),l.toD=q.d,t=0,n=1):u.attr?t=u.attr(c):(t=parseFloat(a.getStyle(u,
c))||0,"opacity"!==c&&(h="px")),n||(n=q[c]),n.match&&n.match("px")&&(n=n.replace(/px/g,"")),l.run(t,n,h)};a.seriesType=function(u,q,r,t,h){var n=a.getOptions(),l=a.seriesTypes;n.plotOptions[u]=a.merge(n.plotOptions[q],r);l[u]=a.extendClass(l[q]||function(){},t);l[u].prototype.type=u;h&&(l[u].prototype.pointClass=a.extendClass(a.Point,h));return l[u]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),q=0;return function(){return"highcharts-"+a+"-"+q++}}();A.jQuery&&(A.jQuery.fn.highcharts=
function(){var u=[].slice.call(arguments);if(this[0])return u[0]?(new (a[a.isString(u[0])?u.shift():"Chart"])(this[0],u[0],u[1]),this):y[a.attr(this[0],"data-highcharts-chart")]});B&&!B.defaultView&&(a.getStyle=function(u,q){var r={width:"clientWidth",height:"clientHeight"}[q];if(u.style[q])return a.pInt(u.style[q]);"opacity"===q&&(q="filter");if(r)return u.style.zoom=1,Math.max(u[r]-2*a.getStyle(u,"padding"),0);u=u.currentStyle[q.replace(/\-(\w)/g,function(a,h){return h.toUpperCase()})];"filter"===
q&&(u=u.replace(/alpha\(opacity=([0-9]+)\)/,function(a,h){return h/100}));return""===u?1:a.pInt(u)});Array.prototype.forEach||(a.each=function(a,q,r){for(var t=0,h=a.length;t<h;t++)if(!1===q.call(r,a[t],t,a))return t});Array.prototype.indexOf||(a.inArray=function(a,q){var r,t=0;if(q)for(r=q.length;t<r;t++)if(q[t]===a)return t;return-1});Array.prototype.filter||(a.grep=function(a,q){for(var r=[],t=0,h=a.length;t<h;t++)q(a[t],t)&&r.push(a[t]);return r});Array.prototype.find||(a.find=function(a,q){var r,
t=a.length;for(r=0;r<t;r++)if(q(a[r],r))return a[r]})})(H);(function(a){var z=a.each,y=a.isNumber,B=a.map,A=a.merge,u=a.pInt;a.Color=function(q){if(!(this instanceof a.Color))return new a.Color(q);this.init(q)};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[u(a[1]),u(a[2]),u(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[u(a[1],
16),u(a[2],16),u(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[u(a[1]),u(a[2]),u(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(q){var r,t,h,n;if((this.input=q=this.names[q]||q)&&q.stops)this.stops=B(q.stops,function(h){return new a.Color(h[1])});else for(h=this.parsers.length;h--&&!t;)n=this.parsers[h],(r=n.regex.exec(q))&&(t=n.parse(r));this.rgba=t||[]},get:function(a){var r=this.input,t=this.rgba,h;this.stops?
(h=A(r),h.stops=[].concat(h.stops),z(this.stops,function(n,l){h.stops[l]=[h.stops[l][0],n.get(a)]})):h=t&&y(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?t[3]:"rgba("+t.join(",")+")":r;return h},brighten:function(a){var r,t=this.rgba;if(this.stops)z(this.stops,function(h){h.brighten(a)});else if(y(a)&&0!==a)for(r=0;3>r;r++)t[r]+=u(255*a),0>t[r]&&(t[r]=0),255<t[r]&&(t[r]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};a.color=function(q){return new a.Color(q)}})(H);
(function(a){function z(){var t=a.defaultOptions.global,h,n=t.useUTC,l=n?"getUTC":"get",c=n?"setUTC":"set";a.Date=h=t.Date||r.Date;h.hcTimezoneOffset=n&&t.timezoneOffset;h.hcGetTimezoneOffset=n&&t.getTimezoneOffset;h.hcMakeTime=function(a,c,e,g,b,d){var k;n?(k=h.UTC.apply(0,arguments),k+=A(k)):k=(new h(a,c,q(e,1),q(g,0),q(b,0),q(d,0))).getTime();return k};B("Minutes Hours Day Date Month FullYear".split(" "),function(a){h["hcGet"+a]=l+a});B("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),
function(a){h["hcSet"+a]=c+a})}var y=a.color,B=a.each,A=a.getTZOffset,u=a.merge,q=a.pick,r=a.win;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.6 custom build/gfx/vml-radial-gradient.png"},chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},
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:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},
shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},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,backgroundColor:y("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",
whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(r){a.defaultOptions=u(!0,a.defaultOptions,r);z();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;z()})(H);(function(a){var z,y,B=a.addEvent,A=a.animate,u=a.attr,q=a.charts,r=a.color,t=a.css,
h=a.createElement,n=a.defined,l=a.deg2rad,c=a.destroyObjectProperties,f=a.doc,k=a.each,e=a.extend,g=a.erase,b=a.grep,d=a.hasTouch,w=a.isArray,C=a.isFirefox,x=a.isMS,D=a.isObject,p=a.isString,v=a.isWebKit,m=a.merge,F=a.noop,G=a.pick,I=a.pInt,J=a.removeEvent,E=a.stop,O=a.svg,P=a.SVG_NS,K=a.symbolSizes,M=a.win;z=a.SVGElement=function(){return this};z.prototype={opacity:1,SVG_NS:P,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline".split(" "),
init:function(a,b){this.element="span"===b?h(b):f.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,d,c){d=a.animObject(G(d,this.renderer.globalAnimation,!0));0!==d.duration?(c&&(d.complete=c),A(this,b,d)):this.attr(b,null,c);return this},colorGradient:function(b,d,c){var p=this.renderer,e,g,x,E,f,F,h,v,L,C,l,D=[],N;b.linearGradient?g="linearGradient":b.radialGradient&&(g="radialGradient");if(g){x=b[g];f=p.gradients;h=b.stops;C=c.radialReference;w(x)&&(b[g]=x={x1:x[0],y1:x[1],x2:x[2],
y2:x[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===g&&C&&!n(x.gradientUnits)&&(E=x,x=m(x,p.getRadialAttr(C,E),{gradientUnits:"userSpaceOnUse"}));for(l in x)"id"!==l&&D.push(l,x[l]);for(l in h)D.push(h[l]);D=D.join(",");f[D]?C=f[D].attr("id"):(x.id=C=a.uniqueKey(),f[D]=F=p.createElement(g).attr(x).add(p.defs),F.radAttr=E,F.stops=[],k(h,function(b){0===b[1].indexOf("rgba")?(e=a.color(b[1]),v=e.get("rgb"),L=e.get("a")):(v=b[1],L=1);b=p.createElement("stop").attr({offset:b[0],"stop-color":v,
"stop-opacity":L}).add(F);F.stops.push(b)}));N="url("+p.url+"#"+C+")";c.setAttribute(d,N);c.gradient=D;b.toString=function(){return N}}},applyTextOutline:function(a){var b=this.element,d,c,p,m;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));this.fakeTS=!0;this.ySetter=this.xSetter;d=[].slice.call(b.getElementsByTagName("tspan"));a=a.split(" ");c=a[a.length-1];(p=a[0])&&"none"!==p&&(p=p.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,d){return 2*b+d}),k(d,function(a){"highcharts-text-outline"===
a.getAttribute("class")&&g(d,b.removeChild(a))}),m=b.firstChild,k(d,function(a,d){0===d&&(a.setAttribute("x",b.getAttribute("x")),d=b.getAttribute("y"),a.setAttribute("y",d||0),null===d&&b.setAttribute("y",0));a=a.cloneNode(1);u(a,{"class":"highcharts-text-outline",fill:c,stroke:c,"stroke-width":p,"stroke-linejoin":"round"});b.insertBefore(a,m)}))},attr:function(a,b,d,c){var p,m=this.element,e,x=this,g;"string"===typeof a&&void 0!==b&&(p=a,a={},a[p]=b);if("string"===typeof a)x=(this[a+"Getter"]||
this._defaultGetter).call(this,a,m);else{for(p in a)b=a[p],g=!1,c||E(this,p),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(p)&&(e||(this.symbolAttr(a),e=!0),g=!0),!this.rotation||"x"!==p&&"y"!==p||(this.doTransform=!0),g||(g=this[p+"Setter"]||this._defaultSetter,g.call(this,b,p,m),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(p)&&this.updateShadows(p,b,g));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}d&&d();return x},updateShadows:function(a,
b,d){for(var c=this.shadows,p=c.length;p--;)d.call(c[p],"height"===a?Math.max(b-(c[p].cutHeight||0),0):"d"===a?this.d:b,a,c[p])},addClass:function(a,b){var d=this.attr("class")||"";-1===d.indexOf(a)&&(b||(a=(d+(d?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==u(this.element,"class").indexOf(a)},removeClass:function(a){u(this.element,"class",(u(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var b=this;k("x y r start end width height innerR anchorX anchorY".split(" "),
function(d){b[d]=G(a[d],b[d])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var d,c={},p;b=b||a.strokeWidth||0;p=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+p;a.y=Math.floor(a.y||this.y||0)+p;a.width=Math.floor((a.width||this.width||0)-2*p);a.height=Math.floor((a.height||this.height||0)-2*p);n(a.strokeWidth)&&(a.strokeWidth=b);for(d in a)this[d]!==a[d]&&
(this[d]=c[d]=a[d]);return c},css:function(a){var b=this.styles,d={},c=this.element,p,m,g="";p=!b;a&&a.color&&(a.fill=a.color);if(b)for(m in a)a[m]!==b[m]&&(d[m]=a[m],p=!0);if(p){p=this.textWidth=a&&a.width&&"text"===c.nodeName.toLowerCase()&&I(a.width)||this.textWidth;b&&(a=e(b,d));this.styles=a;p&&!O&&this.renderer.forExport&&delete a.width;if(x&&!O)t(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(m in a)g+=m.replace(/([A-Z])/g,b)+":"+a[m]+";";u(c,"style",g)}this.added&&(p&&
this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var c=this,p=c.element;d&&"click"===a?(p.ontouchstart=function(a){c.touchEventFired=Date.now();a.preventDefault();b.call(p,a)},p.onclick=function(a){(-1===M.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&b.call(p,a)}):p["on"+a]=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,d=this.scaleX,c=this.scaleY,p=this.inverted,m=this.rotation,g=this.element;p&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];p?a.push("rotate(90) scale(-1,1)"):
m&&a.push("rotate("+m+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(n(d)||n(c))&&a.push("scale("+G(d,1)+" "+G(c,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,d){var c,m,e,x,E={};m=this.renderer;e=m.alignedObjects;var k,f;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!d||p(d))this.alignTo=c=d||"renderer",g(e,this),e.push(this),d=null}else a=this.alignOptions,b=this.alignByTranslate,
c=this.alignTo;d=G(d,m[c],m);c=a.align;m=a.verticalAlign;e=(d.x||0)+(a.x||0);x=(d.y||0)+(a.y||0);"right"===c?k=1:"center"===c&&(k=2);k&&(e+=(d.width-(a.width||0))/k);E[b?"translateX":"x"]=Math.round(e);"bottom"===m?f=1:"middle"===m&&(f=2);f&&(x+=(d.height-(a.height||0))/f);E[b?"translateY":"y"]=Math.round(x);this[this.placed?"animate":"attr"](E);this.placed=!0;this.alignAttr=E;return this},getBBox:function(a,b){var d,c=this.renderer,p,m=this.element,g=this.styles,E,f=this.textStr,F,w=c.cache,h=c.cacheKeys,
v;b=G(b,this.rotation);p=b*l;E=g&&g.fontSize;void 0!==f&&(v=f.toString(),-1===v.indexOf("\x3c")&&(v=v.replace(/[0-9]/g,"0")),v+=["",b||0,E,m.style.width,m.style["text-overflow"]].join());v&&!a&&(d=w[v]);if(!d){if(m.namespaceURI===this.SVG_NS||c.forExport){try{(F=this.fakeTS&&function(a){k(m.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&F("none"),d=m.getBBox?e({},m.getBBox()):{width:m.offsetWidth,height:m.offsetHeight},F&&F("")}catch(S){}if(!d||0>d.width)d={width:0,
height:0}}else d=this.htmlGetBBox();c.isSVG&&(a=d.width,c=d.height,x&&g&&"11px"===g.fontSize&&"16.9"===c.toPrecision(3)&&(d.height=c=14),b&&(d.width=Math.abs(c*Math.sin(p))+Math.abs(a*Math.cos(p)),d.height=Math.abs(c*Math.cos(p))+Math.abs(a*Math.sin(p))));if(v&&0<d.height){for(;250<h.length;)delete w[h.shift()];w[v]||h.push(v);w[v]=d}}return d},show:function(a){return this.attr({visibility:a?"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,d=this.element,c;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)c=this.zIndexSetter();c||(a?a.element:b.box).appendChild(d);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this.element||{},b=this.renderer.isSVG&&
"SPAN"===a.nodeName&&this.parentGroup,d,c;a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.point=null;E(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}this.safeRemoveChild(a);for(this.destroyShadows();b&&b.div&&0===b.div.childNodes.length;)a=b.parentGroup,this.safeRemoveChild(b.div),delete b.div,b=a;this.alignTo&&g(this.renderer.alignedObjects,this);for(d in this)delete this[d];return null},
shadow:function(a,b,d){var c=[],p,m,g=this.element,e,x,E,k;if(!a)this.destroyShadows();else if(!this.shadows){x=G(a.width,3);E=(a.opacity||.15)/x;k=this.parentInverted?"(-1,-1)":"("+G(a.offsetX,1)+", "+G(a.offsetY,1)+")";for(p=1;p<=x;p++)m=g.cloneNode(0),e=2*x+1-2*p,u(m,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":E*p,"stroke-width":e,transform:"translate"+k,fill:"none"}),d&&(u(m,"height",Math.max(u(m,"height")-e,0)),m.cutHeight=e),b?b.element.appendChild(m):g.parentNode.insertBefore(m,
g),c.push(m);this.shadows=c}return this},destroyShadows:function(){k(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=G(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,d){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");d.setAttribute(b,
a);this[b]=a},dashstyleSetter:function(a){var b,d=this["stroke-width"];"inherit"===d&&(d=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=I(a[b])*d;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.element.setAttribute("text-anchor",
{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,d){this[b]=a;d.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=f.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(f.createTextNode(String(G(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,
b,d){"string"===typeof a?d.setAttribute(b,a):a&&this.colorGradient(a,b,d)},visibilitySetter:function(a,b,d){"inherit"===a?d.removeAttribute(b):d.setAttribute(b,a)},zIndexSetter:function(a,b){var d=this.renderer,c=this.parentGroup,p=(c||d).element||d.box,m,g=this.element,e;m=this.added;var x;n(a)&&(g.zIndex=a,a=+a,this[b]===a&&(m=!1),this[b]=a);if(m){(a=this.zIndex)&&c&&(c.handleZ=!0);b=p.childNodes;for(x=0;x<b.length&&!e;x++)c=b[x],m=c.zIndex,c!==g&&(I(m)>a||!n(a)&&n(m)||0>a&&!n(m)&&p!==d.box)&&(p.insertBefore(g,
c),e=!0);e||p.appendChild(g)}return e},_defaultSetter:function(a,b,d){d.setAttribute(b,a)}};z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};z.prototype["stroke-widthSetter"]=z.prototype.strokeSetter=function(a,b,d){this[b]=a;this.stroke&&this["stroke-width"]?(z.prototype.fillSetter.call(this,this.stroke,
"stroke",d),d.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(d.removeAttribute("stroke"),this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};y.prototype={Element:z,SVG_NS:P,init:function(a,b,d,c,p,m){var g;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(c));g=c.element;a.appendChild(g);-1===a.innerHTML.indexOf("xmlns")&&u(g,"xmlns",this.SVG_NS);this.isSVG=!0;
this.box=g;this.boxWrapper=c;this.alignedObjects=[];this.url=(C||v)&&f.getElementsByTagName("base").length?M.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 5.0.6 custom build"));this.defs=this.createElement("defs").add();this.allowHTML=m;this.forExport=p;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,d,!1);var e;C&&a.getBoundingClientRect&&
(b=function(){t(a,{left:0,top:0});e=a.getBoundingClientRect();t(a,{left:Math.ceil(e.left)-e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},b(),this.unSubPixelFix=B(M,"resize",b))},getStyle:function(a){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=
this.boxWrapper.destroy();c(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:F,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){for(var d=a.element,c=this,p=c.forExport,m=G(a.textStr,"").toString(),g=-1!==m.indexOf("\x3c"),e=d.childNodes,x,E,F,w,v=u(d,"x"),h=
a.styles,C=a.textWidth,l=h&&h.lineHeight,D=h&&h.textOutline,n=h&&"ellipsis"===h.textOverflow,r=e.length,J=C&&!a.added&&this.box,q=function(a){var b;b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:h&&h.fontSize||c.style.fontSize||12;return l?I(l):c.fontMetrics(b,a.getAttribute("style")?a:d).h};r--;)d.removeChild(e[r]);g||D||n||C||-1!==m.indexOf(" ")?(x=/<.*class="([^"]+)".*>/,E=/<.*style="([^"]+)".*>/,F=/<.*href="(http[^"]+)".*>/,J&&J.appendChild(d),m=g?m.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):[m],m=b(m,function(a){return""!==a}),k(m,function(b,m){var g,e=0;b=b.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");g=b.split("|||");k(g,function(b){if(""!==b||1===g.length){var k={},l=f.createElementNS(c.SVG_NS,"tspan"),D,G;x.test(b)&&(D=b.match(x)[1],u(l,"class",D));E.test(b)&&(G=b.match(E)[1].replace(/(;| |^)color([ :])/,
"$1fill$2"),u(l,"style",G));F.test(b)&&!p&&(u(l,"onclick",'location.href\x3d"'+b.match(F)[1]+'"'),t(l,{cursor:"pointer"}));b=(b.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==b){l.appendChild(f.createTextNode(b));e?k.dx=0:m&&null!==v&&(k.x=v);u(l,k);d.appendChild(l);!e&&m&&(!O&&p&&t(l,{display:"block"}),u(l,"dy",q(l)));if(C){k=b.replace(/([^\^])-/g,"$1- ").split(" ");D="nowrap"===h.whiteSpace;for(var I=1<g.length||m||1<k.length&&!D,r,L,J=[],K=q(l),N=a.rotation,
M=b,Q=M.length;(I||n)&&(k.length||J.length);)a.rotation=0,r=a.getBBox(!0),L=r.width,!O&&c.forExport&&(L=c.measureSpanWidth(l.firstChild.data,a.styles)),r=L>C,void 0===w&&(w=r),n&&w?(Q/=2,""===M||!r&&.5>Q?k=[]:(M=b.substring(0,M.length+(r?-1:1)*Math.ceil(Q)),k=[M+(3<C?"\u2026":"")],l.removeChild(l.firstChild))):r&&1!==k.length?(l.removeChild(l.firstChild),J.unshift(k.pop())):(k=J,J=[],k.length&&!D&&(l=f.createElementNS(P,"tspan"),u(l,{dy:K,x:v}),G&&u(l,"style",G),d.appendChild(l)),L>C&&(C=L)),k.length&&
l.appendChild(f.createTextNode(k.join(" ").replace(/- /g,"-")));a.rotation=N}e++}}})}),w&&a.attr("title",a.textStr),J&&J.removeChild(d),D&&a.applyTextOutline&&a.applyTextOutline(D)):d.appendChild(f.createTextNode(m.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},getContrast:function(a){a=r(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,d,c,p,g,k,E,f){var h=this.label(a,b,d,f,null,null,null,null,"button"),w=0;h.attr(m({padding:8,r:2},p));var F,v,l,C;p=m({fill:"#f7f7f7",
stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},p);F=p.style;delete p.style;g=m(p,{fill:"#e6e6e6"},g);v=g.style;delete g.style;k=m(p,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},k);l=k.style;delete k.style;E=m(p,{style:{color:"#cccccc"}},E);C=E.style;delete E.style;B(h.element,x?"mouseover":"mouseenter",function(){3!==w&&h.setState(1)});B(h.element,x?"mouseout":"mouseleave",function(){3!==w&&h.setState(w)});h.setState=function(a){1!==a&&
(h.state=w=a);h.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);h.attr([p,g,k,E][a||0]).css([F,v,l,C][a||0])};h.attr(p).css(e({cursor:"default"},F));return h.on("click",function(a){3!==w&&c.call(h,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={fill:"none"};w(a)?b.d=a:D(a)&&e(b,a);return this.createElement("path").attr(b)},
circle:function(a,b,d){a=D(a)?a:{x:a,y:b,r:d};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,d){d.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,d,c,p,m){D(a)&&(b=a.y,d=a.r,c=a.innerR,p=a.start,m=a.end,a=a.x);a=this.symbol("arc",a||0,b||0,d||0,d||0,{innerR:c||0,start:p||0,end:m||0});a.r=d;return a},rect:function(a,b,d,c,p,m){p=D(a)?a.r:p;var g=this.createElement("rect");a=D(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(d,0),height:Math.max(c,0)};void 0!==m&&(a.strokeWidth=
m,a=g.crisp(a));a.fill="none";p&&(a.r=p);g.rSetter=function(a,b,d){u(d,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,d){var c=this.alignedObjects,p=c.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")})},duration:G(d,!0)?void 0:0});p--;)c[p].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,d,c,p){var m={preserveAspectRatio:"none"};
1<arguments.length&&e(m,{x:b,y:d,width:c,height:p});m=this.createElement("image").attr(m);m.element.setAttributeNS?m.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):m.element.setAttribute("hc-svg-href",a);return m},symbol:function(a,b,d,c,p,m){var g=this,x,E=this.symbols[a],w=n(b)&&E&&E(Math.round(b),Math.round(d),c,p,m),F=/^url\((.*?)\)$/,v,l;E?(x=this.path(w),x.attr("fill","none"),e(x,{symbolName:a,x:b,y:d,width:c,height:p}),m&&e(x,m)):F.test(a)&&(v=a.match(F)[1],x=this.image(v),
x.imgwidth=G(K[v]&&K[v].width,m&&m.width),x.imgheight=G(K[v]&&K[v].height,m&&m.height),l=function(){x.attr({width:x.width,height:x.height})},k(["width","height"],function(a){x[a+"Setter"]=function(a,b){var d={},c=this["img"+b],p="width"===b?"translateX":"translateY";this[b]=a;n(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(d[p]=((this[b]||0)-c)/2,this.attr(d)))}}),n(b)&&x.attr({x:b,y:d}),x.isImg=!0,n(x.imgwidth)&&n(x.imgheight)?l():(x.attr({width:0,height:0}),h("img",{onload:function(){var a=
q[g.chartIndex];0===this.width&&(t(this,{position:"absolute",top:"-999em"}),f.body.appendChild(this));K[v]={width:this.width,height:this.height};x.imgwidth=this.width;x.imgheight=this.height;x.element&&l();this.parentNode&&this.parentNode.removeChild(this);g.imgCount--;if(!g.imgCount&&a&&a.onload)a.onload()},src:v}),this.imgCount++));return x},symbols:{circle:function(a,b,d,c){var p=.166*d;return["M",a+d/2,b,"C",a+d+p,b,a+d+p,b+c,a+d/2,b+c,"C",a-p,b+c,a-p,b,a+d/2,b,"Z"]},square:function(a,b,d,c){return["M",
a,b,"L",a+d,b,a+d,b+c,a,b+c,"Z"]},triangle:function(a,b,d,c){return["M",a+d/2,b,"L",a+d,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,d,c){return["M",a,b,"L",a+d,b,a+d/2,b+c,"Z"]},diamond:function(a,b,d,c){return["M",a+d/2,b,"L",a+d,b+c/2,a+d/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,d,c,p){var m=p.start;d=p.r||d||c;var g=p.end-.001;c=p.innerR;var x=p.open,e=Math.cos(m),E=Math.sin(m),k=Math.cos(g),g=Math.sin(g);p=p.end-m<Math.PI?0:1;return["M",a+d*e,b+d*E,"A",d,d,0,p,1,a+d*k,b+d*g,x?"M":"L",a+c*k,b+c*g,
"A",c,c,0,p,0,a+c*e,b+c*E,x?"":"Z"]},callout:function(a,b,d,c,p){var m=Math.min(p&&p.r||0,d,c),g=m+6,x=p&&p.anchorX;p=p&&p.anchorY;var e;e=["M",a+m,b,"L",a+d-m,b,"C",a+d,b,a+d,b,a+d,b+m,"L",a+d,b+c-m,"C",a+d,b+c,a+d,b+c,a+d-m,b+c,"L",a+m,b+c,"C",a,b+c,a,b+c,a,b+c-m,"L",a,b+m,"C",a,b,a,b,a+m,b];x&&x>d?p>b+g&&p<b+c-g?e.splice(13,3,"L",a+d,p-6,a+d+6,p,a+d,p+6,a+d,b+c-m):e.splice(13,3,"L",a+d,c/2,x,p,a+d,c/2,a+d,b+c-m):x&&0>x?p>b+g&&p<b+c-g?e.splice(33,3,"L",a,p+6,a-6,p,a,p-6,a,b+m):e.splice(33,3,"L",
a,c/2,x,p,a,c/2,a,b+m):p&&p>c&&x>a+g&&x<a+d-g?e.splice(23,3,"L",x+6,b+c,x,b+c+6,x-6,b+c,a+m,b+c):p&&0>p&&x>a+g&&x<a+d-g&&e.splice(3,3,"L",x-6,b,x,b-6,x+6,b,d-m,b);return e}},clipRect:function(b,d,c,p){var m=a.uniqueKey(),g=this.createElement("clipPath").attr({id:m}).add(this.defs);b=this.rect(b,d,c,p,0).add(g);b.id=m;b.clipPath=g;b.count=0;return b},text:function(a,b,d,c){var p=!O&&this.forExport,m={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,d);m.x=Math.round(b||0);d&&(m.y=Math.round(d));
if(a||0===a)m.text=a;a=this.createElement("text").attr(m);p&&a.css({position:"absolute"});c||(a.xSetter=function(a,b,d){var c=d.getElementsByTagName("tspan"),p,m=d.getAttribute(b),g;for(g=0;g<c.length;g++)p=c[g],p.getAttribute(b)===m&&p.setAttribute(b,a);d.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?I(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,d){var c=a;b&&d&&(c=Math.max(c*Math.cos(b*l),4));return{x:-a/3*Math.sin(b*l),y:c}},label:function(a,b,d,c,p,g,x,E,f){var h=this,v=h.g("button"!==f&&"label"),w=v.text=h.text("",0,0,x).attr({zIndex:1}),F,l,C=0,D=3,G=0,O,r,I,t,q,P={},K,L,M=/^url\((.*?)\)$/.test(c),u=M,Q,T,R,N;f&&v.addClass("highcharts-"+f);u=M;Q=function(){return(K||0)%2/2};T=function(){var a=w.element.style,b={};l=(void 0===O||void 0===r||q)&&n(w.textStr)&&w.getBBox();v.width=
(O||l.width||0)+2*D+G;v.height=(r||l.height||0)+2*D;L=D+h.fontMetrics(a&&a.fontSize,w).b;u&&(F||(v.box=F=h.symbols[c]||M?h.symbol(c):h.rect(),F.addClass(("button"===f?"":"highcharts-label-box")+(f?" highcharts-"+f+"-box":"")),F.add(v),a=Q(),b.x=a,b.y=(E?-L:0)+a),b.width=Math.round(v.width),b.height=Math.round(v.height),F.attr(e(b,P)),P={})};R=function(){var a=G+D,b;b=E?0:L;n(O)&&l&&("center"===q||"right"===q)&&(a+={center:.5,right:1}[q]*(O-l.width));if(a!==w.x||b!==w.y)w.attr("x",a),void 0!==b&&w.attr("y",
b);w.x=a;w.y=b};N=function(a,b){F?F.attr(a,b):P[a]=b};v.onAdd=function(){w.add(v);v.attr({text:a||0===a?a:"",x:b,y:d});F&&n(p)&&v.attr({anchorX:p,anchorY:g})};v.widthSetter=function(a){O=a};v.heightSetter=function(a){r=a};v["text-alignSetter"]=function(a){q=a};v.paddingSetter=function(a){n(a)&&a!==D&&(D=v.padding=a,R())};v.paddingLeftSetter=function(a){n(a)&&a!==G&&(G=a,R())};v.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==C&&(C=a,l&&v.attr({x:I}))};v.textSetter=function(a){void 0!==
a&&w.textSetter(a);T();R()};v["stroke-widthSetter"]=function(a,b){a&&(u=!0);K=this["stroke-width"]=a;N(b,a)};v.strokeSetter=v.fillSetter=v.rSetter=function(a,b){"fill"===b&&a&&(u=!0);N(b,a)};v.anchorXSetter=function(a,b){p=a;N(b,Math.round(a)-Q()-I)};v.anchorYSetter=function(a,b){g=a;N(b,a-t)};v.xSetter=function(a){v.x=a;C&&(a-=C*((O||l.width)+2*D));I=Math.round(a);v.attr("translateX",I)};v.ySetter=function(a){t=v.y=Math.round(a);v.attr("translateY",t)};var y=v.css;return e(v,{css:function(a){if(a){var b=
{};a=m(a);k(v.textProps,function(d){void 0!==a[d]&&(b[d]=a[d],delete a[d])});w.css(b)}return y.call(v,a)},getBBox:function(){return{width:l.width+2*D,height:l.height+2*D,x:l.x-D,y:l.y-D}},shadow:function(a){a&&(T(),F&&F.shadow(a));return v},destroy:function(){J(v.element,"mouseenter");J(v.element,"mouseleave");w&&(w=w.destroy());F&&(F=F.destroy());z.prototype.destroy.call(v);v=h=T=R=N=null}})}};a.Renderer=y})(H);(function(a){var z=a.attr,y=a.createElement,B=a.css,A=a.defined,u=a.each,q=a.extend,r=
a.isFirefox,t=a.isMS,h=a.isWebKit,n=a.pInt,l=a.SVGRenderer,c=a.win,f=a.wrap;q(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=q(this.styles,a);B(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,
height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,g=this.translateX||0,b=this.translateY||0,d=this.x||0,f=this.y||0,l=this.textAlign||"left",x={left:0,center:.5,right:1}[l],D=this.styles;B(c,{marginLeft:g,marginTop:b});this.shadows&&u(this.shadows,function(a){B(a,{marginLeft:g+1,marginTop:b+1})});this.inverted&&u(c.childNodes,function(b){a.invertChild(b,c)});if("SPAN"===c.tagName){var p=this.rotation,v=n(this.textWidth),m=D&&D.whiteSpace,F=[p,
l,c.innerHTML,this.textWidth,this.textAlign].join();F!==this.cTT&&(D=a.fontMetrics(c.style.fontSize).b,A(p)&&this.setSpanRotation(p,x,D),B(c,{width:"",whiteSpace:m||"nowrap"}),c.offsetWidth>v&&/[ \-]/.test(c.textContent||c.innerText)&&B(c,{width:v+"px",display:"block",whiteSpace:m||"normal"}),this.getSpanCorrection(c.offsetWidth,D,x,p,l));B(c,{left:d+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});h&&(D=c.offsetHeight);this.cTT=F}}else this.alignOnAdd=!0},setSpanRotation:function(a,e,g){var b={},
d=t?"-ms-transform":h?"-webkit-transform":r?"MozTransform":c.opera?"-o-transform":"";b[d]=b.transform="rotate("+a+"deg)";b[d+(r?"Origin":"-origin")]=b.transformOrigin=100*e+"% "+g+"px";B(this.element,b)},getSpanCorrection:function(a,c,g){this.xCorr=-a*g;this.yCorr=-c}});q(l.prototype,{html:function(a,c,g){var b=this.createElement("span"),d=b.element,e=b.renderer,k=e.isSVG,x=function(a,b){u(["opacity","visibility"],function(d){f(a,d+"Setter",function(a,d,c,p){a.call(this,d,c,p);b[c]=d})})};b.textSetter=
function(a){a!==d.innerHTML&&delete this.bBox;d.innerHTML=this.textStr=a;b.htmlUpdateTransform()};k&&x(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,d){"align"===d&&(d="textAlign");b[d]=a;b.htmlUpdateTransform()};b.attr({text:a,x:Math.round(c),y:Math.round(g)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});d.style.whiteSpace="nowrap";b.css=b.htmlCss;k&&(b.add=function(a){var c,g=e.box.parentNode,m=[];if(this.parentGroup=
a){if(c=a.div,!c){for(;a;)m.push(a),a=a.parentGroup;u(m.reverse(),function(a){var d,p=z(a.element,"class");p&&(p={className:p});c=a.div=a.div||y("div",p,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},c||g);d=c.style;q(a,{on:function(){b.on.apply({element:m[0].div},arguments);return a},translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=
b+"px";a[c]=b;a.doTransform=!0}});x(a,d)})}}else c=g;c.appendChild(d);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(H);(function(a){var z,y,B=a.createElement,A=a.css,u=a.defined,q=a.deg2rad,r=a.discardElement,t=a.doc,h=a.each,n=a.erase,l=a.extend;z=a.extendClass;var c=a.isArray,f=a.isNumber,k=a.isObject,e=a.merge;y=a.noop;var g=a.pick,b=a.pInt,d=a.SVGElement,w=a.SVGRenderer,C=a.win;a.svg||(y={docMode8:t&&8===t.documentMode,init:function(a,b){var d=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],
c=["position: ","absolute",";"],m="div"===b;("shape"===b||m)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",m?"hidden":"visible");d.push(' style\x3d"',c.join(""),'"/\x3e');b&&(d=m||"span"===b||"img"===b?d.join(""):a.prepVML(d),this.element=B(d));this.renderer=a},add:function(a){var b=this.renderer,d=this.element,c=b.box,m=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);m&&b.invertChild(d,c);c.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();
if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:d.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*q),d=Math.sin(a*q);A(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-d,", M21\x3d",d,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,c,m){var p=c?Math.cos(c*q):1,x=c?Math.sin(c*q):0,e=g(this.elemHeight,this.element.offsetHeight),
k;this.xCorr=0>p&&-a;this.yCorr=0>x&&-e;k=0>p*x;this.xCorr+=x*b*(k?1-d:d);this.yCorr-=p*b*(c?k?d:1-d:1);m&&"left"!==m&&(this.xCorr-=a*d*(0>p?-1:1),c&&(this.yCorr-=e*d*(0>x?-1:1)),A(this.element,{textAlign:m}))},pathToVML:function(a){for(var b=a.length,d=[];b--;)f(a[b])?d[b]=Math.round(10*a[b])-5:"Z"===a[b]?d[b]="x":(d[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(d[b+5]===d[b+7]&&(d[b+7]+=a[b+7]>a[b+5]?1:-1),d[b+6]===d[b+8]&&(d[b+8]+=a[b+8]>a[b+6]?1:-1)));return d.join(" ")||"x"},clip:function(a){var b=
this,d;a?(d=a.members,n(d,b),d.push(b),b.destroyClip=function(){n(d,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"});return b.css(a)},css:d.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&r(a)},destroy:function(){this.destroyClip&&this.destroyClip();return d.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=C.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,d){var c;a=a.split(/[ ,]/);
c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=b(a[c-2])-10*d;return a.join(" ")},shadow:function(a,d,c){var p=[],m,e=this.element,x=this.renderer,k,f=e.style,E,h=e.path,w,l,C,n;h&&"string"!==typeof h.value&&(h="x");l=h;if(a){C=g(a.width,3);n=(a.opacity||.15)/C;for(m=1;3>=m;m++)w=2*C+1-2*m,c&&(l=this.cutOffPath(h.value,w+.5)),E=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',w,'" filled\x3d"false" path\x3d"',l,'" coordsize\x3d"10 10" style\x3d"',e.style.cssText,'" /\x3e'],k=B(x.prepVML(E),null,{left:b(f.left)+
g(a.offsetX,1),top:b(f.top)+g(a.offsetY,1)}),c&&(k.cutOff=w+1),E=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"',n*m,'"/\x3e'],B(x.prepVML(E),null,null,k),d?d.element.appendChild(k):e.parentNode.insertBefore(k,e),p.push(k);this.shadows=p}return this},updateShadows:y,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,d){(d.getElementsByTagName("stroke")[0]||
B(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows;a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a,b,d){B(this.renderer.prepVML(["\x3c",
b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,d)},opacitySetter:y,rotationSetter:function(a,b,d){d=d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*q)+1)+"px";d.top=Math.round(Math.cos(a*q))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;f(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,d){"inherit"===a&&
(a="visible");this.shadows&&h(this.shadows,function(d){d.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em":0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a}},y["stroke-opacitySetter"]=y["fill-opacitySetter"],a.VMLElement=y=z(d,y),y.prototype.ySetter=y.prototype.widthSetter=y.prototype.heightSetter=
y.prototype.xSetter,y={Element:y,isIE8:-1<C.navigator.userAgent.indexOf("MSIE 8.0"),init:function(a,b,d){var c,m;this.alignedObjects=[];c=this.createElement("div").css({position:"relative"});m=c.element;a.appendChild(c.element);this.isVML=!0;this.box=m;this.boxWrapper=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,d,!1);if(!t.namespaces.hcv){t.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{t.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(F){t.styleSheets[0].cssText+=
"hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,d,c){var m=this.createElement(),g=k(a);return l(m,{members:[],count:0,left:(g?a.x:a)+1,top:(g?a.y:b)+1,width:(g?a.width:d)-1,height:(g?a.height:c)-1,getCSS:function(a){var b=a.element,d=b.nodeName,c=a.inverted,m=this.top-("shape"===d?b.offsetTop:0),g=this.left,b=g+this.width,p=m+this.height,m={clip:"rect("+Math.round(c?
g:m)+"px,"+Math.round(c?p:b)+"px,"+Math.round(c?b:p)+"px,"+Math.round(c?m:g)+"px)"};!c&&a.docMode8&&"DIV"===d&&l(m,{width:b+"px",height:p+"px"});return m},updateClipping:function(){h(m.members,function(a){a.element&&a.css(m.getCSS(a))})}})},color:function(b,d,c,g){var m=this,p,e=/^rgba/,k,f,E="none";b&&b.linearGradient?f="gradient":b&&b.radialGradient&&(f="pattern");if(f){var w,l,v=b.linearGradient||b.radialGradient,x,C,n,D,r,t="";b=b.stops;var q,u=[],y=function(){k=['\x3cfill colors\x3d"'+u.join(",")+
'" opacity\x3d"',n,'" o:opacity2\x3d"',C,'" type\x3d"',f,'" ',t,'focus\x3d"100%" method\x3d"any" /\x3e'];B(m.prepVML(k),null,null,d)};x=b[0];q=b[b.length-1];0<x[0]&&b.unshift([0,x[1]]);1>q[0]&&b.push([1,q[1]]);h(b,function(b,d){e.test(b[1])?(p=a.color(b[1]),w=p.get("rgb"),l=p.get("a")):(w=b[1],l=1);u.push(100*b[0]+"% "+w);d?(n=l,D=w):(C=l,r=w)});if("fill"===c)if("gradient"===f)c=v.x1||v[0]||0,b=v.y1||v[1]||0,x=v.x2||v[2]||0,v=v.y2||v[3]||0,t='angle\x3d"'+(90-180*Math.atan((v-b)/(x-c))/Math.PI)+'"',
y();else{var E=v.r,z=2*E,A=2*E,U=v.cx,V=v.cy,H=d.radialReference,S,E=function(){H&&(S=g.getBBox(),U+=(H[0]-S.x)/S.width-.5,V+=(H[1]-S.y)/S.height-.5,z*=H[2]/S.width,A*=H[2]/S.height);t='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+z+","+A+'" origin\x3d"0.5,0.5" position\x3d"'+U+","+V+'" color2\x3d"'+r+'" ';y()};g.added?E():g.onAdd=E;E=D}else E=w}else e.test(b)&&"IMG"!==d.tagName?(p=a.color(b),g[c+"-opacitySetter"](p.get("a"),c,d),E=p.get("rgb")):(E=d.getElementsByTagName(c),
E.length&&(E[0].opacity=1,E[0].type="solid"),E=b);return E},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:w.prototype.html,path:function(a){var b={coordsize:"10 10"};c(a)?b.d=
a:k(a)&&l(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,d){var c=this.symbol("circle");k(a)&&(d=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(b)},image:function(a,b,d,c,m){var g=this.createElement("img").attr({src:a});1<arguments.length&&g.attr({x:b,y:d,width:c,height:m});return g},createElement:function(a){return"rect"===a?this.symbol(a):w.prototype.createElement.call(this,
a)},invertChild:function(a,d){var c=this;d=d.style;var g="IMG"===a.tagName&&a.style;A(a,{flip:"x",left:b(d.width)-(g?b(g.top):1),top:b(d.height)-(g?b(g.left):1),rotation:-90});h(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,d,c,m){var g=m.start,p=m.end,e=m.r||d||c;d=m.innerR;c=Math.cos(g);var k=Math.sin(g),E=Math.cos(p),f=Math.sin(p);if(0===p-g)return["x"];g=["wa",a-e,b-e,a+e,b+e,a+e*c,b+e*k,a+e*E,b+e*f];m.open&&!d&&g.push("e","M",a,b);g.push("at",a-d,b-d,a+d,b+d,a+d*E,
b+d*f,a+d*c,b+d*k,"x","e");g.isArc=!0;return g},circle:function(a,b,d,c,m){m&&u(m.r)&&(d=c=2*m.r);m&&m.isCircle&&(a-=d/2,b-=c/2);return["wa",a,b,a+d,b+c,a+d,b+c/2,a+d,b+c/2,"e"]},rect:function(a,b,d,c,m){return w.prototype.symbols[u(m)&&m.r?"callout":"square"].call(0,a,b,d,c,m)}}},a.VMLRenderer=z=function(){this.init.apply(this,arguments)},z.prototype=e(w.prototype,y),a.Renderer=z);w.prototype.measureSpanWidth=function(a,b){var d=t.createElement("span");a=t.createTextNode(a);d.appendChild(a);A(d,
b);this.box.appendChild(d);b=d.offsetWidth;r(d);return b}})(H);(function(a){var z=a.correctFloat,y=a.defined,B=a.destroyObjectProperties,A=a.isNumber,u=a.merge,q=a.pick,r=a.deg2rad;a.Tick=function(a,h,n,l){this.axis=a;this.pos=h;this.type=n||"";this.isNew=!0;n||l||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,h=a.options,n=a.chart,l=a.categories,c=a.names,f=this.pos,k=h.labels,e=a.tickPositions,g=f===e[0],b=f===e[e.length-1],c=l?q(l[f],c[f],f):f,l=this.label,e=e.info,d;a.isDatetimeAxis&&
e&&(d=h.dateTimeLabelFormats[e.higherRanks[f]||e.unitName]);this.isFirst=g;this.isLast=b;h=a.labelFormatter.call({axis:a,chart:n,isFirst:g,isLast:b,dateTimeLabelFormat:d,value:a.isLog?z(a.lin2log(c)):c});y(l)?l&&l.attr({text:h}):(this.labelLength=(this.label=l=y(h)&&k.enabled?n.renderer.text(h,0,0,k.useHTML).css(u(k.style)).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,f=q(h.labelLeft,Math.min(h.pos,c[3])),c=q(h.labelRight,Math.max(h.pos+h.len,l-c[1])),k=this.label,e=this.rotation,g={left:0,center:.5,right:1}[h.labelAlign],b=k.getBBox().width,d=h.getSlotWidth(),w=d,C=1,x,D={};if(e)0>e&&n-g*b<f?x=Math.round(n/Math.cos(e*r)-f):0<e&&n+g*b>c&&(x=Math.round((l-n)/Math.cos(e*r)));else if(l=n+(1-g)*b,n-g*b<f?w=a.x+w*(1-g)-f:l>c&&(w=c-a.x+w*g,C=-1),w=Math.min(d,w),w<d&&"center"===h.labelAlign&&(a.x+=C*(d-w-g*(d-Math.min(b,
w)))),b>w||h.autoRotation&&(k.styles||{}).width)x=w;x&&(D.width=x,(h.options.labels.style||{}).textOverflow||(D.textOverflow="ellipsis"),k.css(D))},getPosition:function(a,h,n,l){var c=this.axis,f=c.chart,k=l&&f.oldChartHeight||f.chartHeight;return{x:a?c.translate(h+n,null,null,l)+c.transB:c.left+c.offset+(c.opposite?(l&&f.oldChartWidth||f.chartWidth)-c.right-c.left:0),y:a?k-c.bottom+c.offset-(c.opposite?c.height:0):k-c.translate(h+n,null,null,l)-c.transB}},getLabelPosition:function(a,h,n,l,c,f,k,
e){var g=this.axis,b=g.transA,d=g.reversed,w=g.staggerLines,C=g.tickRotCorr||{x:0,y:0},x=c.y;y(x)||(x=0===g.side?n.rotation?-8:-n.getBBox().height:2===g.side?C.y+8:Math.cos(n.rotation*r)*(C.y-n.getBBox(!1,0).height/2));a=a+c.x+C.x-(f&&l?f*b*(d?-1:1):0);h=h+x-(f&&!l?f*b*(d?1:-1):0);w&&(n=k/(e||1)%w,g.opposite&&(n=w-n-1),h+=g.labelOffset/w*n);return{x:a,y:Math.round(h)}},getMarkPath:function(a,h,n,l,c,f){return f.crispLine(["M",a,h,"L",a+(c?0:-n),h+(c?n:0)],l)},render:function(a,h,n){var l=this.axis,
c=l.options,f=l.chart.renderer,k=l.horiz,e=this.type,g=this.label,b=this.pos,d=c.labels,w=this.gridLine,C=e?e+"Tick":"tick",x=l.tickSize(C),r=this.mark,p=!r,v=d.step,m={},F=!0,G=l.tickmarkOffset,I=this.getPosition(k,b,G,h),J=I.x,I=I.y,E=k&&J===l.pos+l.len||!k&&I===l.pos?-1:1,O=e?e+"Grid":"grid",t=c[O+"LineWidth"],K=c[O+"LineColor"],M=c[O+"LineDashStyle"],O=q(c[C+"Width"],!e&&l.isXAxis?1:0),C=c[C+"Color"];n=q(n,1);this.isActive=!0;w||(m.stroke=K,m["stroke-width"]=t,M&&(m.dashstyle=M),e||(m.zIndex=
1),h&&(m.opacity=0),this.gridLine=w=f.path().attr(m).addClass("highcharts-"+(e?e+"-":"")+"grid-line").add(l.gridGroup));if(!h&&w&&(b=l.getPlotLinePath(b+G,w.strokeWidth()*E,h,!0)))w[this.isNew?"attr":"animate"]({d:b,opacity:n});x&&(l.opposite&&(x[0]=-x[0]),p&&(this.mark=r=f.path().addClass("highcharts-"+(e?e+"-":"")+"tick").add(l.axisGroup),r.attr({stroke:C,"stroke-width":O})),r[p?"attr":"animate"]({d:this.getMarkPath(J,I,x[0],r.strokeWidth()*E,k,f),opacity:n}));g&&A(J)&&(g.xy=I=this.getLabelPosition(J,
I,g,k,d,G,a,v),this.isFirst&&!this.isLast&&!q(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!q(c.showLastLabel,1)?F=!1:!k||l.isRadial||d.step||d.rotation||h||0===n||this.handleOverflow(I),v&&a%v&&(F=!1),F&&A(I.y)?(I.opacity=n,g[this.isNew?"attr":"animate"](I)):g.attr("y",-9999),this.isNew=!1)},destroy:function(){B(this,this.axis)}}})(H);(function(a){var z=a.arrayMax,y=a.arrayMin,B=a.defined,A=a.destroyObjectProperties,u=a.each,q=a.erase,r=a.merge,t=a.pick;a.PlotLineOrBand=function(a,n){this.axis=
a;n&&(this.options=n,this.id=n.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,n=a.axis,l=n.horiz,c=a.options,f=c.label,k=a.label,e=c.to,g=c.from,b=c.value,d=B(g)&&B(e),w=B(b),C=a.svgElem,x=!C,D=[],p,v=c.color,m=t(c.zIndex,0),F=c.events,D={"class":"highcharts-plot-"+(d?"band ":"line ")+(c.className||"")},G={},I=n.chart.renderer,q=d?"bands":"lines",E=n.log2lin;n.isLog&&(g=E(g),e=E(e),b=E(b));w?(D={stroke:v,"stroke-width":c.width},c.dashStyle&&(D.dashstyle=c.dashStyle)):d&&(v&&(D.fill=
v),c.borderWidth&&(D.stroke=c.borderColor,D["stroke-width"]=c.borderWidth));G.zIndex=m;q+="-"+m;(v=n[q])||(n[q]=v=I.g("plot-"+q).attr(G).add());x&&(a.svgElem=C=I.path().attr(D).add(v));if(w)D=n.getPlotLinePath(b,C.strokeWidth());else if(d)D=n.getPlotBandPath(g,e,c);else return;if(x&&D&&D.length){if(C.attr({d:D}),F)for(p in c=function(b){C.on(b,function(d){F[b].apply(a,[d])})},F)c(p)}else C&&(D?(C.show(),C.animate({d:D})):(C.hide(),k&&(a.label=k=k.destroy())));f&&B(f.text)&&D&&D.length&&0<n.width&&
0<n.height&&!D.flat?(f=r({align:l&&d&&"center",x:l?!d&&4:10,verticalAlign:!l&&d&&"middle",y:l?d?16:10:d?6:-4,rotation:l&&!d&&90},f),this.renderLabel(f,D,d,m)):k&&k.hide();return a},renderLabel:function(a,n,l,c){var f=this.label,k=this.axis.chart.renderer;f||(f={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(l?"band":"line")+"-label "+(a.className||"")},f.zIndex=c,this.label=f=k.text(a.text,0,0,a.useHTML).attr(f).add(),f.css(a.style));c=[n[1],n[4],l?n[6]:n[1]];n=[n[2],n[5],
l?n[7]:n[2]];l=y(c);k=y(n);f.align(a,!1,{x:l,y:k,width:z(c)-l,height:z(n)-k});f.show()},destroy:function(){q(this.axis.plotLinesAndBands,this);delete this.axis;A(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,n){n=this.getPlotLinePath(n,null,null,!0);(a=this.getPlotLinePath(a,null,null,!0))&&n?(a.flat=a.toString()===n.toString(),a.push(n[4],n[5],n[1],n[2],"z")):a=null;return a},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
"plotLines")},addPlotBandOrLine:function(h,n){var l=(new a.PlotLineOrBand(this,h)).render(),c=this.userOptions;l&&(n&&(c[n]=c[n]||[],c[n].push(h)),this.plotLinesAndBands.push(l));return l},removePlotBandOrLine:function(a){for(var h=this.plotLinesAndBands,l=this.options,c=this.userOptions,f=h.length;f--;)h[f].id===a&&h[f].destroy();u([l.plotLines||[],c.plotLines||[],l.plotBands||[],c.plotBands||[]],function(c){for(f=c.length;f--;)c[f].id===a&&q(c,c[f])})}}})(H);(function(a){var z=a.addEvent,y=a.animObject,
B=a.arrayMax,A=a.arrayMin,u=a.AxisPlotLineOrBandExtension,q=a.color,r=a.correctFloat,t=a.defaultOptions,h=a.defined,n=a.deg2rad,l=a.destroyObjectProperties,c=a.each,f=a.extend,k=a.fireEvent,e=a.format,g=a.getMagnitude,b=a.grep,d=a.inArray,w=a.isArray,C=a.isNumber,x=a.isString,D=a.merge,p=a.normalizeTickInterval,v=a.pick,m=a.PlotLineOrBand,F=a.removeEvent,G=a.splat,I=a.syncTimeout,J=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",
second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},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",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",
lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},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 c=b.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.isXAxis=c;this.coll=this.coll||(c?"xAxis":"yAxis");this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var m=this.options,g=m.type;this.labelFormatter=m.labels.formatter||
this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=m.reversed;this.visible=!1!==m.visible;this.zoomEnabled=!1!==m.zoomEnabled;this.hasNames="category"===g||!0===m.categories;this.categories=m.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===g;this.isDatetimeAxis="datetime"===g;this.isLinked=h(m.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=
m.minRange||m.maxZoom;this.range=m.range;this.offset=m.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=v(m.crosshair,G(a.options.tooltip.crosshairs)[c?0:1],!1);var p;b=this.options.events;-1===d(this,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&c&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(p in b)z(this,
p,b[p]);this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=D(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],D(t[this.coll],a))},defaultLabelFormatter:function(){var b=this.axis,d=this.value,c=b.categories,m=this.dateTimeLabelFormat,g=t.lang,p=g.numericSymbols,g=g.numericSymbolMagnitude||1E3,k=p&&p.length,
f,w=b.options.labels.format,b=b.isLog?d:b.tickInterval;if(w)f=e(w,this);else if(c)f=d;else if(m)f=a.dateFormat(m,d);else if(k&&1E3<=b)for(;k--&&void 0===f;)c=Math.pow(g,k+1),b>=c&&0===10*d%c&&null!==p[k]&&0!==d&&(f=a.numberFormat(d/c,-1)+p[k]);void 0===f&&(f=1E4<=Math.abs(d)?a.numberFormat(d,-1):a.numberFormat(d,-1,void 0,""));return f},getSeriesExtremes:function(){var a=this,d=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();
c(a.series,function(c){if(c.visible||!d.options.chart.ignoreHiddenSeries){var m=c.options,g=m.threshold,p;a.hasVisibleSeries=!0;a.isLog&&0>=g&&(g=null);if(a.isXAxis)m=c.xData,m.length&&(c=A(m),C(c)||c instanceof Date||(m=b(m,function(a){return C(a)}),c=A(m)),a.dataMin=Math.min(v(a.dataMin,m[0]),c),a.dataMax=Math.max(v(a.dataMax,m[0]),B(m)));else if(c.getExtremes(),p=c.dataMax,c=c.dataMin,h(c)&&h(p)&&(a.dataMin=Math.min(v(a.dataMin,c),c),a.dataMax=Math.max(v(a.dataMax,p),p)),h(g)&&(a.threshold=g),
!m.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,b,d,c,m,g){var p=this.linkedParent||this,e=1,f=0,k=c?p.oldTransA:p.transA;c=c?p.oldMin:p.min;var w=p.minPixelPadding;m=(p.isOrdinal||p.isBroken||p.isLog&&m)&&p.lin2val;k||(k=p.transA);d&&(e*=-1,f=p.len);p.reversed&&(e*=-1,f-=e*(p.sector||p.len));b?(a=(a*e+f-w)/k+c,m&&(a=p.lin2val(a))):(m&&(a=p.val2lin(a)),a=e*(a-c)*k+f+e*w+(C(g)?k*g: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,d,c,m){var g=this.chart,p=this.left,e=this.top,f,k,w=d&&g.oldChartHeight||g.chartHeight,l=d&&g.oldChartWidth||g.chartWidth,h;f=this.transB;var E=function(a,b,d){if(a<b||a>d)c?a=Math.min(Math.max(b,a),d):h=!0;return a};m=v(m,this.translate(a,null,null,d));a=d=Math.round(m+f);f=k=Math.round(w-m-f);C(m)?this.horiz?(f=e,k=w-this.bottom,a=d=E(a,p,p+this.width)):(a=p,d=l-this.right,f=k=E(f,
e,e+this.height)):h=!0;return h&&!c?null:g.renderer.crispLine(["M",a,f,"L",d,k],b||1)},getLinearTickPositions:function(a,b,d){var c,m=r(Math.floor(b/a)*a),g=r(Math.ceil(d/a)*a),p=[];if(b===d&&C(b))return[b];for(b=m;b<=g;){p.push(b);b=r(b+a);if(b===c)break;c=b}return p},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,d=this.minorTickInterval,c=[],m,g=this.pointRangePadding||0;m=this.min-g;var g=this.max+g,p=g-m;if(p&&p/d<this.len/3)if(this.isLog)for(g=b.length,m=1;m<g;m++)c=
c.concat(this.getLogTickPositions(d,b[m-1],b[m],!0));else if(this.isDatetimeAxis&&"auto"===a.minorTickInterval)c=c.concat(this.getTimeTicks(this.normalizeTimeTickInterval(d),m,g,a.startOfWeek));else for(b=m+(b[0]-m)%d;b<=g&&b!==c[0];b+=d)c.push(b);0!==c.length&&this.trimTicks(c,a.startOnTick,a.endOnTick);return c},adjustForMinRange:function(){var a=this.options,b=this.min,d=this.max,m,g=this.dataMax-this.dataMin>=this.minRange,p,e,f,k,w,l;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(h(a.min)||
h(a.max)?this.minRange=null:(c(this.series,function(a){k=a.xData;for(e=w=a.xIncrement?1:k.length-1;0<e;e--)if(f=k[e]-k[e-1],void 0===p||f<p)p=f}),this.minRange=Math.min(5*p,this.dataMax-this.dataMin)));d-b<this.minRange&&(l=this.minRange,m=(l-d+b)/2,m=[b-m,v(a.min,b-m)],g&&(m[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=B(m),d=[b+l,v(a.max,b+l)],g&&(d[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),d=A(d),d-b<l&&(m[0]=d-l,m[1]=v(a.min,d-l),b=B(m)));this.min=b;this.max=d},getClosest:function(){var a;
this.categories?a=1:c(this.series,function(b){var d=b.closestPointRange,c=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&h(d)&&c&&(a=h(a)?Math.min(a,d):d)});return a},nameToX:function(a){var b=w(this.categories),c=b?this.categories:this.names,m=a.options.x,g;a.series.requireSorting=!1;h(m)||(m=!1===this.options.uniqueNames?a.series.autoIncrement():d(a.name,c));-1===m?b||(g=c.length):g=m;this.names[g]=a.name;return g},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(d,c){var m;d.options&&void 0===d.options.x&&(m=a.nameToX(d),m!==d.x&&(d.x=m,b.xData[c]=m))})}))},setAxisTranslation:function(a){var b=this,d=b.max-b.min,m=b.axisPointRange||0,g,p=0,e=0,f=b.linkedParent,k=!!b.categories,w=b.transA,l=b.isXAxis;if(l||k||m)g=b.getClosest(),f?(p=f.minPointOffset,e=f.pointRangePadding):c(b.series,function(a){var d=
k?1:l?v(a.options.pointRange,g,0):b.axisPointRange||0;a=a.options.pointPlacement;m=Math.max(m,d);b.single||(p=Math.max(p,x(a)?0:d/2),e=Math.max(e,"on"===a?0:d))}),f=b.ordinalSlope&&g?b.ordinalSlope/g:1,b.minPointOffset=p*=f,b.pointRangePadding=e*=f,b.pointRange=Math.min(m,d),l&&(b.closestPointRange=g);a&&(b.oldTransA=w);b.translationSlope=b.transA=w=b.len/(d+e||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=w*p},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var d=
this,m=d.chart,e=d.options,f=d.isLog,w=d.log2lin,l=d.isDatetimeAxis,F=d.isXAxis,E=d.isLinked,x=e.maxPadding,n=e.minPadding,G=e.tickInterval,D=e.tickPixelInterval,I=d.categories,q=d.threshold,J=d.softThreshold,t,u,y,z;l||I||E||this.getTickAmount();y=v(d.userMin,e.min);z=v(d.userMax,e.max);E?(d.linkedParent=m[d.coll][e.linkedTo],m=d.linkedParent.getExtremes(),d.min=v(m.min,m.dataMin),d.max=v(m.max,m.dataMax),e.type!==d.linkedParent.options.type&&a.error(11,1)):(!J&&h(q)&&(d.dataMin>=q?(t=q,n=0):d.dataMax<=
q&&(u=q,x=0)),d.min=v(y,t,d.dataMin),d.max=v(z,u,d.dataMax));f&&(!b&&0>=Math.min(d.min,v(d.dataMin,d.min))&&a.error(10,1),d.min=r(w(d.min),15),d.max=r(w(d.max),15));d.range&&h(d.max)&&(d.userMin=d.min=y=Math.max(d.min,d.minFromRange()),d.userMax=z=d.max,d.range=null);k(d,"foundExtremes");d.beforePadding&&d.beforePadding();d.adjustForMinRange();!(I||d.axisPointRange||d.usePercentage||E)&&h(d.min)&&h(d.max)&&(w=d.max-d.min)&&(!h(y)&&n&&(d.min-=w*n),!h(z)&&x&&(d.max+=w*x));C(e.floor)?d.min=Math.max(d.min,
e.floor):C(e.softMin)&&(d.min=Math.min(d.min,e.softMin));C(e.ceiling)?d.max=Math.min(d.max,e.ceiling):C(e.softMax)&&(d.max=Math.max(d.max,e.softMax));J&&h(d.dataMin)&&(q=q||0,!h(y)&&d.min<q&&d.dataMin>=q?d.min=q:!h(z)&&d.max>q&&d.dataMax<=q&&(d.max=q));d.tickInterval=d.min===d.max||void 0===d.min||void 0===d.max?1:E&&!G&&D===d.linkedParent.options.tickPixelInterval?G=d.linkedParent.tickInterval:v(G,this.tickAmount?(d.max-d.min)/Math.max(this.tickAmount-1,1):void 0,I?1:(d.max-d.min)*D/Math.max(d.len,
D));F&&!b&&c(d.series,function(a){a.processData(d.min!==d.oldMin||d.max!==d.oldMax)});d.setAxisTranslation(!0);d.beforeSetTickPositions&&d.beforeSetTickPositions();d.postProcessTickInterval&&(d.tickInterval=d.postProcessTickInterval(d.tickInterval));d.pointRange&&!G&&(d.tickInterval=Math.max(d.pointRange,d.tickInterval));b=v(e.minTickInterval,d.isDatetimeAxis&&d.closestPointRange);!G&&d.tickInterval<b&&(d.tickInterval=b);l||f||G||(d.tickInterval=p(d.tickInterval,null,g(d.tickInterval),v(e.allowDecimals,
!(.5<d.tickInterval&&5>d.tickInterval&&1E3<d.max&&9999>d.max)),!!this.tickAmount));this.tickAmount||(d.tickInterval=d.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,d=a.tickPositions,c=a.tickPositioner,m=a.startOnTick,g=a.endOnTick,p;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=
d&&d.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=b,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=b=c);this.isLinked||(this.trimTicks(b,m,g),this.min===
this.max&&h(this.min)&&!this.tickAmount&&(p=!0,this.min-=.5,this.max+=.5),this.single=p,d||c||this.adjustTickAmount())},trimTicks:function(a,b,d){var c=a[0],m=a[a.length-1],g=this.minPointOffset||0;if(b)this.min=c;else for(;this.min-g>a[0];)a.shift();if(d)this.max=m;else for(;this.max+g<a[a.length-1];)a.pop();0===a.length&&h(c)&&a.push((m+c)/2)},alignToOthers:function(){var a={},b,d=this.options;!1===this.chart.options.chart.alignTicks||!1===d.alignTicks||this.isLog||c(this.chart[this.coll],function(d){var c=
d.options,c=[d.horiz?c.left:c.top,c.width,c.height,c.pane].join();d.series.length&&(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,d=a.tickPixelInterval;!h(a.tickInterval)&&this.len<d&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/d)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,d=this.tickAmount,c=this.finalTickAmt,
m=b&&b.length;if(m<d){for(;b.length<d;)b.push(r(b[b.length-1]+a));this.transA*=(m-1)/(d-1);this.max=b[b.length-1]}else m>d&&(this.tickInterval*=2,this.setTickPositions());if(h(c)){for(a=d=b.length;a--;)(3===c&&1===a%2||2>=c&&0<a&&a<d-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();b=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()},setExtremes:function(a,b,d,m,g){var p=this,e=p.chart;d=v(d,!0);c(p.series,function(a){delete a.kdTree});
g=f(g,{min:a,max:b});k(p,"setExtremes",g,function(){p.userMin=a;p.userMax=b;p.eventArgs=g;d&&e.redraw(m)})},zoom:function(a,b){var d=this.dataMin,c=this.dataMax,m=this.options,g=Math.min(d,v(m.min,d)),m=Math.max(c,v(m.max,c));if(a!==this.min||b!==this.max)this.allowZoomOutside||(h(d)&&(a<g&&(a=g),a>m&&(a=m)),h(c)&&(b<g&&(b=g),b>m&&(b=m))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,d=b.offsetLeft||
0,c=this.horiz,m=v(b.width,a.plotWidth-d+(b.offsetRight||0)),g=v(b.height,a.plotHeight),p=v(b.top,a.plotTop),b=v(b.left,a.plotLeft+d),d=/%$/;d.test(g)&&(g=Math.round(parseFloat(g)/100*a.plotHeight));d.test(p)&&(p=Math.round(parseFloat(p)/100*a.plotHeight+a.plotTop));this.left=b;this.top=p;this.width=m;this.height=g;this.bottom=a.chartHeight-g-p;this.right=a.chartWidth-m-b;this.len=Math.max(c?m:g,0);this.pos=c?b:p},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?r(b(this.min)):
this.min,max:a?r(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,d=this.lin2log,c=b?d(this.min):this.min,b=b?d(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=(v(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,d=b[a+"Length"],c=v(b[a+"Width"],"tick"===a&&this.isXAxis?
1:0);if(c&&d)return"inside"===b[a+"Position"]&&(d=-d),[d,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,d=this.tickInterval,m=d,g=this.len/(((this.categories?1:0)+this.max-this.min)/d),p,e=a.rotation,f=this.labelMetrics(),k,w=Number.MAX_VALUE,l,C=function(a){a/=g||1;a=1<a?Math.ceil(a):1;return a*d};b?(l=!a.staggerLines&&!a.step&&
(h(e)?[e]:g<v(a.autoRotationLimit,80)&&a.autoRotation))&&c(l,function(a){var b;if(a===e||a&&-90<=a&&90>=a)k=C(Math.abs(f.h/Math.sin(n*a))),b=k+Math.abs(a/360),b<w&&(w=b,p=a,m=k)}):a.step||(m=C(f.h));this.autoRotation=l;this.labelRotation=v(p,e);return m},getSlotWidth:function(){var a=this.chart,b=this.horiz,d=this.options.labels,c=Math.max(this.tickPositions.length-(this.categories?0:1),1),m=a.margin[3];return b&&2>(d.step||0)&&!d.rotation&&(this.staggerLines||1)*a.plotWidth/c||!b&&(m&&m-a.spacing[3]||
.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,d=this.tickPositions,m=this.ticks,g=this.options.labels,p=this.horiz,e=this.getSlotWidth(),f=Math.max(1,Math.round(e-2*(g.padding||5))),k={},w=this.labelMetrics(),l=g.style&&g.style.textOverflow,h,v=0,C,F;x(g.rotation)||(k.rotation=g.rotation||0);c(d,function(a){(a=m[a])&&a.labelLength>v&&(v=a.labelLength)});this.maxLabelLength=v;if(this.autoRotation)v>f&&v>w.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(e&&
(h={width:f+"px"},!l))for(h.textOverflow="clip",C=d.length;!p&&C--;)if(F=d[C],f=m[F].label)f.styles&&"ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):m[F].labelLength>e&&f.css({width:e+"px"}),f.getBBox().height>this.len/d.length-(w.h-w.f)&&(f.specCss={textOverflow:"ellipsis"});k.rotation&&(h={width:(v>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},l||(h.textOverflow="ellipsis"));if(this.labelAlign=g.align||this.autoLabelAlign(this.labelRotation))k.align=this.labelAlign;c(d,
function(a){var b=(a=m[a])&&a.label;b&&(b.attr(k),h&&b.css(D(h,b.specCss)),delete b.specCss,a.rotation=k.rotation)});this.tickRotCorr=b.rotCorr(w.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||h(this.min)&&h(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,d=this.horiz,c=this.opposite,m=this.options.title,g;this.axisTitle||((g=m.textAlign)||(g=(d?{low:"left",middle:"center",high:"right"}:{low:c?"right":"left",middle:"center",
high:c?"left":"right"})[m.align]),this.axisTitle=b.text(m.text,0,0,m.useHTML).attr({zIndex:7,rotation:m.rotation||0,align:g}).addClass("highcharts-axis-title").css(m.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},getOffset:function(){var a=this,b=a.chart,d=b.renderer,m=a.options,g=a.tickPositions,p=a.ticks,e=a.horiz,f=a.side,k=b.inverted?[1,0,3,2][f]:f,w,l,C=0,F,x=0,n=m.title,G=m.labels,r=0,D=b.axisOffset,b=b.clipOffset,q=[-1,1,1,-1][f],I,t=m.className,u=
a.axisParent,y=this.tickSize("tick");w=a.hasData();a.showAxis=l=w||v(m.showEmpty,!0);a.staggerLines=a.horiz&&G.staggerLines;a.axisGroup||(a.gridGroup=d.g("grid").attr({zIndex:m.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(t||"")).add(u),a.axisGroup=d.g("axis").attr({zIndex:m.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(t||"")).add(u),a.labelGroup=d.g("axis-labels").attr({zIndex:G.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(t||
"")).add(u));if(w||a.isLinked)c(g,function(b){p[b]?p[b].addLabel():p[b]=new J(a,b)}),a.renderUnsquish(),!1===G.reserveSpace||0!==f&&2!==f&&{1:"left",3:"right"}[f]!==a.labelAlign&&"center"!==a.labelAlign||c(g,function(a){r=Math.max(p[a].getLabelSize(),r)}),a.staggerLines&&(r*=a.staggerLines,a.labelOffset=r*(a.opposite?-1:1));else for(I in p)p[I].destroy(),delete p[I];n&&n.text&&!1!==n.enabled&&(a.addTitle(l),l&&(C=a.axisTitle.getBBox()[e?"height":"width"],F=n.offset,x=h(F)?0:v(n.margin,e?5:10)));a.renderLine();
a.offset=q*v(m.offset,D[f]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};d=0===f?-a.labelMetrics().h:2===f?a.tickRotCorr.y:0;x=Math.abs(r)+x;r&&(x=x-d+q*(e?v(G.y,a.tickRotCorr.y+8*q):G.x));a.axisTitleMargin=v(F,x);D[f]=Math.max(D[f],a.axisTitleMargin+C+q*a.offset,x,w&&g.length&&y?y[0]:0);m=m.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[k]=Math.max(b[k],m)},getLinePath:function(a){var b=this.chart,d=this.opposite,c=this.offset,m=this.horiz,g=this.left+(d?this.width:0)+c,c=b.chartHeight-this.bottom-
(d?this.height:0)+c;d&&(a*=-1);return b.renderer.crispLine(["M",m?this.left:g,m?c:this.top,"L",m?b.chartWidth-this.right:g,m?c:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,d=this.top,c=this.len,m=this.options.title,g=a?b:d,p=
this.opposite,e=this.offset,f=m.x||0,k=m.y||0,w=this.chart.renderer.fontMetrics(m.style&&m.style.fontSize,this.axisTitle).f,c={low:g+(a?0:c),middle:g+c/2,high:g+(a?c:0)}[m.align],b=(a?d+this.height:b)+(a?1:-1)*(p?-1:1)*this.axisTitleMargin+(2===this.side?w:0);return{x:a?c+f:b+(p?this.width:0)+e+f,y:a?b+k-(p?this.height:0)+e:c+k}},render:function(){var a=this,b=a.chart,d=b.renderer,g=a.options,p=a.isLog,e=a.lin2log,f=a.isLinked,k=a.tickPositions,w=a.axisTitle,l=a.ticks,h=a.minorTicks,v=a.alternateBands,
F=g.stackLabels,x=g.alternateGridColor,n=a.tickmarkOffset,G=a.axisLine,r=b.hasRendered&&C(a.oldMin),D=a.showAxis,q=y(d.globalAnimation),t,u;a.labelEdge.length=0;a.overlap=!1;c([l,h,v],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||f)a.minorTickInterval&&!a.categories&&c(a.getMinorTickPositions(),function(b){h[b]||(h[b]=new J(a,b,"minor"));r&&h[b].isNew&&h[b].render(null,!0);h[b].render(null,!1,1)}),k.length&&(c(k,function(b,d){if(!f||b>=a.min&&b<=a.max)l[b]||(l[b]=new J(a,b)),r&&l[b].isNew&&
l[b].render(d,!0,.1),l[b].render(d)}),n&&(0===a.min||a.single)&&(l[-1]||(l[-1]=new J(a,-1,null,!0)),l[-1].render(-1))),x&&c(k,function(d,c){u=void 0!==k[c+1]?k[c+1]+n:a.max-n;0===c%2&&d<a.max&&u<=a.max+(b.polar?-n:n)&&(v[d]||(v[d]=new m(a)),t=d+n,v[d].options={from:p?e(t):t,to:p?e(u):u,color:x},v[d].render(),v[d].isActive=!0)}),a._addedPlotLB||(c((g.plotLines||[]).concat(g.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);c([l,h,v],function(a){var d,c,m=[],g=q.duration;for(d in a)a[d].isActive||
(a[d].render(d,!1,0),a[d].isActive=!1,m.push(d));I(function(){for(c=m.length;c--;)a[m[c]]&&!a[m[c]].isActive&&(a[m[c]].destroy(),delete a[m[c]])},a!==v&&b.hasRendered&&g?g:0)});G&&(G[G.isPlaced?"animate":"attr"]({d:this.getLinePath(G.strokeWidth())}),G.isPlaced=!0,G[D?"show":"hide"](!0));w&&D&&(w[w.isNew?"attr":"animate"](a.getTitlePosition()),w.isNew=!1);F&&F.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(" "),destroy:function(a){var b=this,m=b.stacks,g,p=b.plotLinesAndBands,e;a||F(b);for(g in m)l(m[g]),m[g]=null;c([b.ticks,b.minorTicks,b.alternateBands],function(a){l(a)});if(p)for(a=p.length;a--;)p[a].destroy();c("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(e in b)b.hasOwnProperty(e)&&-1===d(e,b.keepProps)&&delete b[e]},
drawCrosshair:function(a,b){var d,c=this.crosshair,m=v(c.snap,!0),g,p=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&!1!==(h(b)||!m)?(m?h(b)&&(g=this.isXAxis?b.plotX:this.len-b.plotY):g=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),h(g)&&(d=this.getPlotLinePath(b&&(this.isXAxis?b.x:v(b.stackY,b.y)),null,null,null,g)||null),h(d)?(b=this.categories&&!this.isRadial,p||(this.cross=p=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(b?"category ":
"thin ")+c.className).attr({zIndex:v(c.zIndex,2)}).add(),p.attr({stroke:c.color||(b?q("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":v(c.width,1)}),c.dashStyle&&p.attr({dashstyle:c.dashStyle})),p.show().attr({d:d}),b&&!c.width&&p.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};f(a.Axis.prototype,u)})(H);(function(a){var z=a.Axis,y=a.Date,B=a.dateFormat,A=a.defaultOptions,u=a.defined,
q=a.each,r=a.extend,t=a.getMagnitude,h=a.getTZOffset,n=a.normalizeTickInterval,l=a.pick,c=a.timeUnits;z.prototype.getTimeTicks=function(a,k,e,g){var b=[],d={},f=A.global.useUTC,C,x=new y(k-h(k)),n=y.hcMakeTime,p=a.unitRange,v=a.count,m;if(u(k)){x[y.hcSetMilliseconds](p>=c.second?0:v*Math.floor(x.getMilliseconds()/v));if(p>=c.second)x[y.hcSetSeconds](p>=c.minute?0:v*Math.floor(x.getSeconds()/v));if(p>=c.minute)x[y.hcSetMinutes](p>=c.hour?0:v*Math.floor(x[y.hcGetMinutes]()/v));if(p>=c.hour)x[y.hcSetHours](p>=
c.day?0:v*Math.floor(x[y.hcGetHours]()/v));if(p>=c.day)x[y.hcSetDate](p>=c.month?1:v*Math.floor(x[y.hcGetDate]()/v));p>=c.month&&(x[y.hcSetMonth](p>=c.year?0:v*Math.floor(x[y.hcGetMonth]()/v)),C=x[y.hcGetFullYear]());if(p>=c.year)x[y.hcSetFullYear](C-C%v);if(p===c.week)x[y.hcSetDate](x[y.hcGetDate]()-x[y.hcGetDay]()+l(g,1));C=x[y.hcGetFullYear]();g=x[y.hcGetMonth]();var F=x[y.hcGetDate](),G=x[y.hcGetHours]();if(y.hcTimezoneOffset||y.hcGetTimezoneOffset)m=(!f||!!y.hcGetTimezoneOffset)&&(e-k>4*c.month||
h(k)!==h(e)),x=x.getTime(),x=new y(x+h(x));f=x.getTime();for(k=1;f<e;)b.push(f),f=p===c.year?n(C+k*v,0):p===c.month?n(C,g+k*v):!m||p!==c.day&&p!==c.week?m&&p===c.hour?n(C,g,F,G+k*v):f+p*v:n(C,g,F+k*v*(p===c.day?1:7)),k++;b.push(f);p<=c.hour&&q(b,function(a){"000000000"===B("%H%M%S%L",a)&&(d[a]="day")})}b.info=r(a,{higherRanks:d,totalRange:p*v});return b};z.prototype.normalizeTimeTickInterval=function(a,k){var e=k||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];k=e[e.length-1];var g=c[k[0]],b=k[1],d;for(d=0;d<e.length&&!(k=e[d],g=c[k[0]],b=k[1],e[d+1]&&a<=(g*b[b.length-1]+c[e[d+1][0]])/2);d++);g===c.year&&a<5*g&&(b=[1,2,5]);a=n(a/g,b,"year"===k[0]?Math.max(t(a/g),1):1);return{unitRange:g,count:a,unitName:k[0]}}})(H);(function(a){var z=a.Axis,y=a.getMagnitude,B=a.map,A=a.normalizeTickInterval,u=a.pick;z.prototype.getLogTickPositions=function(a,r,
t,h){var n=this.options,l=this.len,c=this.lin2log,f=this.log2lin,k=[];h||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),k=this.getLinearTickPositions(a,r,t);else if(.08<=a)for(var l=Math.floor(r),e,g,b,d,w,n=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];l<t+1&&!w;l++)for(g=n.length,e=0;e<g&&!w;e++)b=f(c(l)*n[e]),b>r&&(!h||d<=t)&&void 0!==d&&k.push(d),d>t&&(w=!0),d=b;else r=c(r),t=c(t),a=n[h?"minorTickInterval":"tickInterval"],a=u("auto"===a?null:a,this._minorAutoInterval,n.tickPixelInterval/
(h?5:1)*(t-r)/((h?l/this.tickPositions.length:l)||1)),a=A(a,null,y(a)),k=B(this.getLinearTickPositions(a,r,t),f),h||(this._minorAutoInterval=a/5);h||(this.tickInterval=a);return k};z.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};z.prototype.lin2log=function(a){return Math.pow(10,a)}})(H);(function(a){var z=a.dateFormat,y=a.each,B=a.extend,A=a.format,u=a.isNumber,q=a.map,r=a.merge,t=a.pick,h=a.splat,n=a.syncTimeout,l=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype=
{init:function(a,f){this.chart=a;this.options=f;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=f.split&&!a.inverted;this.shared=f.shared||this.split},cleanSplit:function(a){y(this.chart.series,function(c){var f=c&&c.tt;f&&(!f.isActive||a?c.tt=f.destroy():f.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,f=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,f.shape||"callout",null,null,f.useHTML,null,"tooltip").attr({padding:f.padding,
r:f.borderRadius}),this.label.attr({fill:f.backgroundColor,"stroke-width":f.borderWidth}).css(f.style).shadow(f.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,r(!0,this.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,f,k,e){var c=this,b=c.now,
d=!1!==c.options.animation&&!c.isHidden&&(1<Math.abs(a-b.x)||1<Math.abs(f-b.y)),w=c.followPointer||1<c.len;B(b,{x:d?(2*b.x+a)/3:a,y:d?(b.y+f)/2:f,anchorX:w?void 0:d?(2*b.anchorX+k)/3:k,anchorY:w?void 0:d?(b.anchorY+e)/2:e});c.getLabel().attr(b);d&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){c&&c.move(a,f,k,e)},32))},hide:function(a){var c=this;clearTimeout(this.hideTimer);a=t(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=n(function(){c.getLabel()[a?
"fadeOut":"hide"]();c.isHidden=!0},a))},getAnchor:function(a,f){var c,e=this.chart,g=e.inverted,b=e.plotTop,d=e.plotLeft,w=0,l=0,x,n;a=h(a);c=a[0].tooltipPos;this.followPointer&&f&&(void 0===f.chartX&&(f=e.pointer.normalize(f)),c=[f.chartX-e.plotLeft,f.chartY-b]);c||(y(a,function(a){x=a.series.yAxis;n=a.series.xAxis;w+=a.plotX+(!g&&n?n.left-d:0);l+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!g&&x?x.top-b:0)}),w/=a.length,l/=a.length,c=[g?e.plotWidth-l:w,this.shared&&!g&&1<a.length&&f?f.chartY-
b:g?e.plotHeight-w:l]);return q(c,Math.round)},getPosition:function(a,f,k){var c=this.chart,g=this.distance,b={},d=k.h||0,l,h=["y",c.chartHeight,f,k.plotY+c.plotTop,c.plotTop,c.plotTop+c.plotHeight],n=["x",c.chartWidth,a,k.plotX+c.plotLeft,c.plotLeft,c.plotLeft+c.plotWidth],r=!this.followPointer&&t(k.ttBelow,!c.inverted===!!k.negative),p=function(a,c,m,p,e,f){var k=m<p-g,l=p+g+m<c,w=p-g-m;p+=g;if(r&&l)b[a]=p;else if(!r&&k)b[a]=w;else if(k)b[a]=Math.min(f-m,0>w-d?w:w-d);else if(l)b[a]=Math.max(e,p+
d+m>c?p:p+d);else return!1},v=function(a,d,c,m){var p;m<g||m>d-g?p=!1:b[a]=m<c/2?1:m>d-c/2?d-c-2:m-c/2;return p},m=function(a){var b=h;h=n;n=b;l=a},F=function(){!1!==p.apply(0,h)?!1!==v.apply(0,n)||l||(m(!0),F()):l?b.x=b.y=0:(m(!0),F())};(c.inverted||1<this.len)&&m();F();return b},defaultFormatter:function(a){var c=this.points||h(this),k;k=[a.tooltipFooterHeaderFormatter(c[0])];k=k.concat(a.bodyFormatter(c));k.push(a.tooltipFooterHeaderFormatter(c[0],!0));return k},refresh:function(a,f){var c=this.chart,
e,g=this.options,b,d,l={},C=[];e=g.formatter||this.defaultFormatter;var l=c.hoverPoints,n=this.shared;clearTimeout(this.hideTimer);this.followPointer=h(a)[0].series.tooltipOptions.followPointer;d=this.getAnchor(a,f);f=d[0];b=d[1];!n||a.series&&a.series.noSharedTooltip?l=a.getLabelConfig():(c.hoverPoints=a,l&&y(l,function(a){a.setState()}),y(a,function(a){a.setState("hover");C.push(a.getLabelConfig())}),l={x:a[0].category,y:a[0].y},l.points=C,this.len=C.length,a=a[0]);l=e.call(l,this);n=a.series;this.distance=
t(n.tooltipOptions.distance,16);!1===l?this.hide():(e=this.getLabel(),this.isHidden&&e.attr({opacity:1}).show(),this.split?this.renderSplit(l,c.hoverPoints):(e.attr({text:l&&l.join?l.join(""):l}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+t(a.colorIndex,n.colorIndex)),e.attr({stroke:g.borderColor||a.color||n.color||"#666666"}),this.updatePosition({plotX:f,plotY:b,negative:a.negative,ttBelow:a.ttBelow,h:d[2]||0})),this.isHidden=!1)},renderSplit:function(c,f){var k=this,e=
[],g=this.chart,b=g.renderer,d=!0,l=this.options,h,n=this.getLabel();y(c.slice(0,c.length-1),function(a,c){c=f[c-1]||{isHeader:!0,plotX:f[0].plotX};var p=c.series||k,m=p.tt,w=c.series||{},C="highcharts-color-"+t(c.colorIndex,w.colorIndex,"none");m||(p.tt=m=b.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+C).attr({padding:l.padding,r:l.borderRadius,fill:l.backgroundColor,stroke:c.color||w.color||"#333333","stroke-width":l.borderWidth}).add(n));m.isActive=!0;m.attr({text:a});m.css(l.style);
a=m.getBBox();w=a.width+m.strokeWidth();c.isHeader?(h=a.height,w=Math.max(0,Math.min(c.plotX+g.plotLeft-w/2,g.chartWidth-w))):w=c.plotX+g.plotLeft-t(l.distance,16)-w;0>w&&(d=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=g.plotTop;e.push({target:c.isHeader?g.plotHeight+h:a,rank:c.isHeader?1:0,size:p.tt.getBBox().height+1,point:c,x:w,tt:m})});this.cleanSplit();a.distribute(e,g.plotHeight+h);y(e,function(a){var b=a.point,c=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":
"inherit",x:d||b.isHeader?a.x:b.plotX+g.plotLeft+t(l.distance,16),y:a.pos+g.plotTop,anchorX:b.isHeader?b.plotX+g.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?a.pos+g.plotTop-15:b.plotY+c.yAxis.pos})})},updatePosition:function(a){var c=this.chart,l=this.getLabel(),l=(this.options.positioner||this.getPosition).call(this,l.width,l.height,a);this.move(Math.round(l.x),Math.round(l.y||0),a.plotX+c.plotLeft,a.plotY+c.plotTop)},getXDateFormat:function(a,f,k){var c;f=f.dateTimeLabelFormats;var g=k&&k.closestPointRange,
b,d={millisecond:15,second:12,minute:9,hour:6,day:3},w,h="millisecond";if(g){w=z("%m-%d %H:%M:%S.%L",a.x);for(b in l){if(g===l.week&&+z("%w",a.x)===k.options.startOfWeek&&"00:00:00.000"===w.substr(6)){b="week";break}if(l[b]>g){b=h;break}if(d[b]&&w.substr(d[b])!=="01-01 00:00:00.000".substr(d[b]))break;"week"!==b&&(h=b)}b&&(c=f[b])}else c=f.day;return c||f.year},tooltipFooterHeaderFormatter:function(a,f){var c=f?"footer":"header";f=a.series;var e=f.tooltipOptions,g=e.xDateFormat,b=f.xAxis,d=b&&"datetime"===
b.options.type&&u(a.key),c=e[c+"Format"];d&&!g&&(g=this.getXDateFormat(a,e,b));d&&g&&(c=c.replace("{point.key}","{point.key:"+g+"}"));return A(c,{point:a,series:f})},bodyFormatter:function(a){return q(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}}})(H);(function(a){var z=a.addEvent,y=a.attr,B=a.charts,A=a.color,u=a.css,q=a.defined,r=a.doc,t=a.each,h=a.extend,n=a.fireEvent,l=a.offset,c=a.pick,f=a.removeEvent,k=a.splat,
e=a.Tooltip,g=a.win;a.Pointer=function(a,d){this.init(a,d)};a.Pointer.prototype={init:function(a,d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&!!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};e&&d.tooltip.enabled&&(a.tooltip=new e(a,d.tooltip),this.followTouchMove=c(d.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,g=b.options.chart,e=g.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=c(g.pinchType,e));this.zoomX=a=/x/.test(e);
this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=a||e},normalize:function(a,d){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;d||(this.chartPosition=d=l(this.chart.container));void 0===c.pageX?(b=Math.max(a.x,a.clientX-d.left),d=a.y):(b=c.pageX-d.left,d=c.pageY-d.top);return h(a,{chartX:Math.round(b),chartY:Math.round(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};t(this.chart.axes,
function(d){b[d.isXAxis?"xAxis":"yAxis"].push({axis:d,value:d.toValue(a[d.horiz?"chartX":"chartY"])})});return b},runPointActions:function(b){var d=this.chart,g=d.series,e=d.tooltip,f=e?e.shared:!1,l=!0,p=d.hoverPoint,k=d.hoverSeries,m,h,n,I=[],q;if(!f&&!k)for(m=0;m<g.length;m++)if(g[m].directTouch||!g[m].options.stickyTracking)g=[];k&&(f?k.noSharedTooltip:k.directTouch)&&p?I=[p]:(f||!k||k.options.stickyTracking||(g=[k]),t(g,function(a){h=a.noSharedTooltip&&f;n=!f&&a.directTouch;a.visible&&!h&&!n&&
c(a.options.enableMouseTracking,!0)&&(q=a.searchPoint(b,!h&&1===a.kdDimensions))&&q.series&&I.push(q)}),I.sort(function(a,b){var d=a.distX-b.distX,c=a.dist-b.dist,m=b.series.group.zIndex-a.series.group.zIndex;return 0!==d&&f?d:0!==c?c:0!==m?m:a.series.index>b.series.index?-1:1}));if(f)for(m=I.length;m--;)(I[m].x!==I[0].x||I[m].series.noSharedTooltip)&&I.splice(m,1);if(I[0]&&(I[0]!==this.prevKDPoint||e&&e.isHidden)){if(f&&!I[0].series.noSharedTooltip){for(m=0;m<I.length;m++)I[m].onMouseOver(b,I[m]!==
(k&&k.directTouch&&p||I[0]));I.length&&e&&e.refresh(I.sort(function(a,b){return a.series.index-b.series.index}),b)}else if(e&&e.refresh(I[0],b),!k||!k.directTouch)I[0].onMouseOver(b);this.prevKDPoint=I[0];l=!1}l&&(g=k&&k.tooltipOptions.followPointer,e&&g&&!e.isHidden&&(g=e.getAnchor([{}],b),e.updatePosition({plotX:g[0],plotY:g[1]})));this.unDocMouseMove||(this.unDocMouseMove=z(r,"mousemove",function(b){if(B[a.hoverChartIndex])B[a.hoverChartIndex].pointer.onDocumentMouseMove(b)}));t(f?I:[c(p,I[0])],
function(a){t(d.axes,function(d){(!a||a.series&&a.series[d.coll]===d)&&d.drawCrosshair(b,a)})})},reset:function(a,d){var b=this.chart,c=b.hoverSeries,g=b.hoverPoint,e=b.hoverPoints,p=b.tooltip,f=p&&p.shared?e:g;a&&f&&t(k(f),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)p&&f&&(p.refresh(f),g&&(g.setState(g.state,!0),t(b.axes,function(a){a.crosshair&&a.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();e&&t(e,function(a){a.setState()});if(c)c.onMouseOut();p&&p.hide(d);this.unDocMouseMove&&
(this.unDocMouseMove=this.unDocMouseMove());t(b.axes,function(a){a.hideCrosshair()});this.hoverX=this.prevKDPoint=b.hoverPoints=b.hoverPoint=null}},scaleGroups:function(a,d){var b=this.chart,c;t(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(d?b.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(c))});b.clipRect.attr(d||b.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=
a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,g=a.chartX,e=a.chartY,f=this.zoomHor,p=this.zoomVert,l=b.plotLeft,m=b.plotTop,k=b.plotWidth,h=b.plotHeight,n,r=this.selectionMarker,q=this.mouseDownX,t=this.mouseDownY,u=c.panKey&&a[c.panKey+"Key"];r&&r.touch||(g<l?g=l:g>l+k&&(g=l+k),e<m?e=m:e>m+h&&(e=m+h),this.hasDragged=Math.sqrt(Math.pow(q-g,2)+Math.pow(t-e,2)),10<this.hasDragged&&(n=b.isInsidePlot(q-
l,t-m),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&n&&!u&&!r&&(this.selectionMarker=r=b.renderer.rect(l,m,f?1:k,p?1:h,0).attr({fill:c.selectionMarkerFill||A("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),r&&f&&(g-=q,r.attr({width:Math.abs(g),x:(0<g?0:g)+q})),r&&p&&(g=e-t,r.attr({height:Math.abs(g),y:(0<g?0:g)+t})),n&&!r&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,g=this.hasPinched;if(this.selectionMarker){var e={originalEvent:a,
xAxis:[],yAxis:[]},f=this.selectionMarker,p=f.attr?f.attr("x"):f.x,l=f.attr?f.attr("y"):f.y,m=f.attr?f.attr("width"):f.width,k=f.attr?f.attr("height"):f.height,G;if(this.hasDragged||g)t(c.axes,function(d){if(d.zoomEnabled&&q(d.min)&&(g||b[{xAxis:"zoomX",yAxis:"zoomY"}[d.coll]])){var c=d.horiz,f="touchend"===a.type?d.minPixelPadding:0,h=d.toValue((c?p:l)+f),c=d.toValue((c?p+m:l+k)-f);e[d.coll].push({axis:d,min:Math.min(h,c),max:Math.max(h,c)});G=!0}}),G&&n(c,"selection",e,function(a){c.zoom(h(a,g?
{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();g&&this.scaleGroups()}c&&(u(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){B[a.hoverChartIndex]&&B[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")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var d=B[a.hoverChartIndex];d&&(b.relatedTarget||b.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=null)},onContainerMouseMove:function(b){var d=this.chart;q(a.hoverChartIndex)&&B[a.hoverChartIndex]&&B[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=d.index);b=this.normalize(b);b.returnValue=!1;
"mousedown"===d.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop)||d.openMenu||this.runPointActions(b)},inClass:function(a,d){for(var b;a;){if(b=y(a,"class")){if(-1!==b.indexOf(d))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=this.chart,c=b.hoverPoint,g=b.plotLeft,e=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-e)&&n(b,"click",a)))},setDOMEvents:function(){var b=this,d=b.chart.container;d.onmousedown=
function(a){b.onContainerMouseDown(a)};d.onmousemove=function(a){b.onContainerMouseMove(a)};d.onclick=function(a){b.onContainerClick(a)};z(d,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&z(r,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(d.ontouchstart=function(a){b.onContainerTouchStart(a)},d.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&z(r,"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;f(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||
(f(r,"mouseup",this.onDocumentMouseUp),f(r,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in this)this[b]=null}}})(H);(function(a){var z=a.charts,y=a.each,B=a.extend,A=a.map,u=a.noop,q=a.pick;B(a.Pointer.prototype,{pinchTranslate:function(a,q,h,n,l,c){this.zoomHor&&this.pinchTranslateDirection(!0,a,q,h,n,l,c);this.zoomVert&&this.pinchTranslateDirection(!1,a,q,h,n,l,c)},pinchTranslateDirection:function(a,q,h,n,l,c,f,k){var e=this.chart,g=a?"x":"y",b=a?"X":"Y",d="chart"+
b,w=a?"width":"height",C=e["plot"+(a?"Left":"Top")],x,r,p=k||1,v=e.inverted,m=e.bounds[a?"h":"v"],F=1===q.length,G=q[0][d],I=h[0][d],t=!F&&q[1][d],E=!F&&h[1][d],u;h=function(){!F&&20<Math.abs(G-t)&&(p=k||Math.abs(I-E)/Math.abs(G-t));r=(C-I)/p+G;x=e["plot"+(a?"Width":"Height")]/p};h();q=r;q<m.min?(q=m.min,u=!0):q+x>m.max&&(q=m.max-x,u=!0);u?(I-=.8*(I-f[g][0]),F||(E-=.8*(E-f[g][1])),h()):f[g]=[I,E];v||(c[g]=r-C,c[w]=x);c=v?1/p:p;l[w]=x;l[g]=q;n[v?a?"scaleY":"scaleX":"scale"+b]=p;n["translate"+b]=c*
C+(I-c*G)},pinch:function(a){var r=this,h=r.chart,n=r.pinchDown,l=a.touches,c=l.length,f=r.lastValidTouch,k=r.hasZoom,e=r.selectionMarker,g={},b=1===c&&(r.inClass(a.target,"highcharts-tracker")&&h.runTrackerClick||r.runChartClick),d={};1<c&&(r.initiated=!0);k&&r.initiated&&!b&&a.preventDefault();A(l,function(a){return r.normalize(a)});"touchstart"===a.type?(y(l,function(a,b){n[b]={chartX:a.chartX,chartY:a.chartY}}),f.x=[n[0].chartX,n[1]&&n[1].chartX],f.y=[n[0].chartY,n[1]&&n[1].chartY],y(h.axes,function(a){if(a.zoomEnabled){var b=
h.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,c=a.toPixels(q(a.options.min,a.dataMin)),g=a.toPixels(q(a.options.max,a.dataMax)),e=Math.max(c,g);b.min=Math.min(a.pos,Math.min(c,g)-d);b.max=Math.max(a.pos+a.len,e+d)}}),r.res=!0):r.followTouchMove&&1===c?this.runPointActions(r.normalize(a)):n.length&&(e||(r.selectionMarker=e=B({destroy:u,touch:!0},h.plotBox)),r.pinchTranslate(n,l,g,e,d,f),r.hasPinched=k,r.scaleGroups(g,d),r.res&&(r.res=!1,this.reset(!1,0)))},touch:function(r,t){var h=this.chart,n,l;
if(h.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=h.index;1===r.touches.length?(r=this.normalize(r),(l=h.isInsidePlot(r.chartX-h.plotLeft,r.chartY-h.plotTop))&&!h.openMenu?(t&&this.runPointActions(r),"touchmove"===r.type&&(t=this.pinchDown,n=t[0]?4<=Math.sqrt(Math.pow(t[0].chartX-r.chartX,2)+Math.pow(t[0].chartY-r.chartY,2)):!1),q(n,!0)&&this.pinch(r)):t&&this.reset()):2===r.touches.length&&this.pinch(r)},onContainerTouchStart:function(a){this.zoomOption(a);
this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(r){z[a.hoverChartIndex]&&z[a.hoverChartIndex].pointer.drop(r)}})})(H);(function(a){var z=a.addEvent,y=a.charts,B=a.css,A=a.doc,u=a.extend,q=a.noop,r=a.Pointer,t=a.removeEvent,h=a.win,n=a.wrap;if(h.PointerEvent||h.MSPointerEvent){var l={},c=!!h.PointerEvent,f=function(){var a,c=[];c.item=function(a){return this[a]};for(a in l)l.hasOwnProperty(a)&&c.push({pageX:l[a].pageX,pageY:l[a].pageY,target:l[a].target});
return c},k=function(c,g,b,d){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!y[a.hoverChartIndex]||(d(c),d=y[a.hoverChartIndex].pointer,d[g]({type:b,target:c.currentTarget,preventDefault:q,touches:f()}))};u(r.prototype,{onContainerPointerDown:function(a){k(a,"onContainerTouchStart","touchstart",function(a){l[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){k(a,"onContainerTouchMove","touchmove",function(a){l[a.pointerId]={pageX:a.pageX,
pageY:a.pageY};l[a.pointerId].target||(l[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){k(a,"onDocumentTouchEnd","touchend",function(a){delete l[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,c?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,c?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(A,c?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});n(r.prototype,"init",function(a,c,b){a.call(this,c,b);this.hasZoom&&
B(c.container,{"-ms-touch-action":"none","touch-action":"none"})});n(r.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(z)});n(r.prototype,"destroy",function(a){this.batchMSEvents(t);a.call(this)})}})(H);(function(a){var z,y=a.addEvent,B=a.css,A=a.discardElement,u=a.defined,q=a.each,r=a.extend,t=a.isFirefox,h=a.marginNames,n=a.merge,l=a.pick,c=a.setAnimation,f=a.stableSort,k=a.win,e=a.wrap;z=a.Legend=function(a,b){this.init(a,b)};z.prototype=
{init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),y(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=l(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=n(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.initialItemX=this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=l(a.symbolWidth,16);this.pages=[]},update:function(a,b){var d=
this.chart;this.setOptions(n(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;l(b,!0)&&d.redraw()},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");var d=this.options,c=a.legendItem,g=a.legendLine,e=a.legendSymbol,f=this.itemHiddenStyle.color,d=b?d.itemStyle.color:f,p=b?a.color||f:f,l=a.options&&a.options.marker,m={fill:p},k;c&&c.css({fill:d,color:d});g&&g.attr({stroke:p});if(e){if(l&&e.isMarker&&(m=a.pointAttribs(),!b))for(k in m)m[k]=
f;e.attr(m)}},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,c=a._legendItemPos,g=c[0],c=c[1],e=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?g:this.legendWidth-g-2*d-4,c);e&&(e.x=g,e.y=c)},destroyItem:function(a){var b=a.checkbox;q(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&A(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}q(this.getAllItems(),function(b){q(["legendItem",
"legendGroup"],a,b)});q(["box","title","group"],a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,d,c=this.clipHeight||this.legendHeight,g=this.titleHeight;b&&(d=b.translateY,q(this.allItems,function(e){var f=e.checkbox,p;f&&(p=d+g+f.y+(a||0)+3,B(f,{left:b.translateX+e.checkboxOffset+f.x-20+"px",top:p+"px",display:p>d-6&&p<d+c-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,b=this.options.title,d=0;b.text&&(this.title||(this.title=this.chart.renderer.label(b.text,
a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group)),a=this.title.getBBox(),d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));this.titleHeight=d},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,d=b.renderer,c=this.options,g="horizontal"===c.layout,e=this.symbolWidth,f=c.symbolPadding,p=this.itemStyle,k=this.itemHiddenStyle,
m=this.padding,h=g?l(c.itemDistance,20):0,G=!c.rtl,r=c.width,q=c.itemMarginBottom||0,t=this.itemMarginTop,u=this.initialItemX,P=a.legendItem,K=!a.series,M=!K&&a.series.drawLegendSymbol?a.series:a,y=M.options,y=this.createCheckboxForItem&&y&&y.showCheckbox,L=c.useHTML;P||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+M.type+"-series highcharts-color-"+a.colorIndex+(a.options.className?" "+a.options.className:"")+(K?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),
a.legendItem=P=d.text("",G?e+f:-f,this.baseline||0,L).css(n(a.visible?p:k)).attr({align:G?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(p=p.fontSize,this.fontMetrics=d.fontMetrics(p,P),this.baseline=this.fontMetrics.f+3+t,P.attr("y",this.baseline)),M.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,P,L),y&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);d=P.getBBox();e=a.checkboxOffset=c.itemWidth||a.legendItemWidth||e+f+d.width+h+(y?20:
0);this.itemHeight=f=Math.round(a.legendItemHeight||d.height);g&&this.itemX-u+e>(r||b.chartWidth-2*m-u-c.x)&&(this.itemX=u,this.itemY+=t+this.lastLineHeight+q,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,e);this.lastItemY=t+this.itemY+q;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];g?this.itemX+=e:(this.itemY+=t+f+q,this.lastLineHeight=f);this.offsetWidth=r||Math.max((g?this.itemX-u-h:e)+m,this.offsetWidth)},getAllItems:function(){var a=
[];q(this.chart.series,function(b){var d=b&&b.options;b&&l(d.showInLegend,u(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?b.data:b)))});return a},adjustMargins:function(a,b){var d=this.chart,c=this.options,g=c.align.charAt(0)+c.verticalAlign.charAt(0)+c.layout.charAt(0);c.floating||q([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(e,f){e.test(g)&&!u(a[f])&&(d[h[f]]=Math.max(d[h[f]],d.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*
c[f%2?"x":"y"]+l(c.margin,12)+b[f]))})},render:function(){var a=this,b=a.chart,d=b.renderer,c=a.group,e,l,k,p,h=a.box,m=a.options,n=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;c||(a.group=c=d.g("legend").attr({zIndex:7}).add(),a.contentGroup=d.g().attr({zIndex:1}).add(c),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();e=a.getAllItems();f(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});m.reversed&&
e.reverse();a.allItems=e;a.display=l=!!e.length;a.lastLineHeight=0;q(e,function(b){a.renderItem(b)});k=(m.width||a.offsetWidth)+n;p=a.lastItemY+a.lastLineHeight+a.titleHeight;p=a.handleOverflow(p);p+=n;h||(a.box=h=d.rect().addClass("highcharts-legend-box").attr({r:m.borderRadius}).add(c),h.isNew=!0);h.attr({stroke:m.borderColor,"stroke-width":m.borderWidth||0,fill:m.backgroundColor||"none"}).shadow(m.shadow);0<k&&0<p&&(h[h.isNew?"attr":"animate"](h.crisp({x:0,y:0,width:k,height:p},h.strokeWidth())),
h.isNew=!1);h[l?"show":"hide"]();a.legendWidth=k;a.legendHeight=p;q(e,function(b){a.positionItem(b)});l&&c.align(r({width:k,height:p},m),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,d=this.chart,c=d.renderer,g=this.options,e=g.y,d=d.spacingBox.height+("top"===g.verticalAlign?-e:e)-this.padding,e=g.maxHeight,f,p=this.clipRect,k=g.navigation,m=l(k.animation,!0),h=k.arrowSize||12,n=this.nav,r=this.pages,t=this.padding,E,u=this.allItems,P=function(a){a?
p.attr({height:a}):p&&(b.clipRect=p.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+t+"px,9999px,"+(t+a)+"px,0)":"auto")};"horizontal"!==g.layout||"middle"===g.verticalAlign||g.floating||(d/=2);e&&(d=Math.min(d,e));r.length=0;a>d&&!1!==k.enabled?(this.clipHeight=f=Math.max(d-20-this.titleHeight-t,0),this.currentPage=l(this.currentPage,1),this.fullHeight=a,q(u,function(a,b){var d=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var c=r.length;
if(!c||d-r[c-1]>f&&(E||d)!==r[c-1])r.push(E||d),c++;b===u.length-1&&d+a-r[c-1]>f&&r.push(d);d!==E&&(E=d)}),p||(p=b.clipRect=c.clipRect(0,t,9999,0),b.contentGroup.clip(p)),P(f),n||(this.nav=n=c.g().attr({zIndex:1}).add(this.group),this.up=c.symbol("triangle",0,0,h,h).on("click",function(){b.scroll(-1,m)}).add(n),this.pager=c.text("",15,10).addClass("highcharts-legend-navigation").css(k.style).add(n),this.down=c.symbol("triangle-down",0,0,h,h).on("click",function(){b.scroll(1,m)}).add(n)),b.scroll(0),
a=d):n&&(P(),n.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var d=this.pages,e=d.length;a=this.currentPage+a;var g=this.clipHeight,f=this.options.navigation,l=this.pager,p=this.padding;a>e&&(a=e);0<a&&(void 0!==b&&c(b,this.chart),this.nav.attr({translateX:p,translateY:g+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),l.attr({text:a+"/"+e}),this.down.attr({x:18+
this.pager.getBBox().width,"class":a===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?f.inactiveColor:f.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===e?f.inactiveColor:f.activeColor}).css({cursor:a===e?"default":"pointer"}),b=-d[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:b}),this.currentPage=a,this.positionCheckboxes(b))}};a.LegendSymbolMixin={drawRectangle:function(a,b){var d=a.options,c=d.symbolHeight||
a.fontMetrics.f,d=d.squareSymbol;b.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-c)/2:0,a.baseline-c+1,d?c:a.symbolWidth,c,l(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,d=b.marker,c=a.symbolWidth,e=this.chart.renderer,g=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var f;f={"stroke-width":b.lineWidth||0};b.dashStyle&&(f.dashstyle=b.dashStyle);this.legendLine=e.path(["M",0,a,"L",
c,a]).addClass("highcharts-graph").attr(f).add(g);d&&!1!==d.enabled&&(b=0===this.symbol.indexOf("url")?0:d.radius,this.legendSymbol=d=e.symbol(this.symbol,c/2-b,a-b,2*b,2*b,d).addClass("highcharts-point").add(g),d.isMarker=!0)}};(/Trident\/7\.0/.test(k.navigator.userAgent)||t)&&e(z.prototype,"positionItem",function(a,b){var d=this,c=function(){b._legendItemPos&&a.call(d,b)};c();setTimeout(c)})})(H);(function(a){var z=a.addEvent,y=a.animate,B=a.animObject,A=a.attr,u=a.doc,q=a.Axis,r=a.createElement,
t=a.defaultOptions,h=a.discardElement,n=a.charts,l=a.css,c=a.defined,f=a.each,k=a.extend,e=a.find,g=a.fireEvent,b=a.getStyle,d=a.grep,w=a.isNumber,C=a.isObject,x=a.isString,D=a.Legend,p=a.marginNames,v=a.merge,m=a.Pointer,F=a.pick,G=a.pInt,I=a.removeEvent,J=a.seriesTypes,E=a.splat,O=a.svg,P=a.syncTimeout,K=a.win,M=a.Renderer,N=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,d){return new N(a,b,d)};N.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);
if(x(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,d){var c,m=b.series;b.series=null;c=v(t,b);c.series=b.series=m;this.userOptions=b;this.respRules=[];b=c.chart;m=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=d;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=b.showAxes;var e;this.index=n.length;n.push(this);a.chartCount++;if(m)for(e in m)z(this,e,m[e]);this.xAxis=[];this.yAxis=[];this.pointCount=
this.colorCounter=this.symbolCounter=0;this.firstRender()},initSeries:function(b){var d=this.options.chart;(d=J[b.type||d.type||d.defaultSeriesType])||a.error(17,!0);d=new d;d.init(this,b);return d},isInsidePlot:function(a,b,d){var c=d?b:a;a=d?a:b;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){var d=this.axes,c=this.series,m=this.pointer,e=this.legend,p=this.isDirtyLegend,l,h,n=this.hasCartesianSeries,v=this.isDirtyBox,F=c.length,w=F,G=this.renderer,r=G.isHidden(),C=
[];a.setAnimation(b,this);r&&this.cloneRenderTo();for(this.layOutTitles();w--;)if(b=c[w],b.options.stacking&&(l=!0,b.isDirty)){h=!0;break}if(h)for(w=F;w--;)b=c[w],b.options.stacking&&(b.isDirty=!0);f(c,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),p=!0);a.isDirtyData&&g(a,"updatedData")});p&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);l&&this.getStacks();n&&f(d,function(a){a.updateNames();a.setScale()});this.getMargins();n&&(f(d,function(a){a.isDirty&&
(v=!0)}),f(d,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,C.push(function(){g(a,"afterSetExtremes",k(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(v||l)&&a.redraw()}));v&&this.drawChartBox();f(c,function(a){(v||a.isDirty)&&a.visible&&a.redraw()});m&&m.reset(!0);G.draw();g(this,"redraw");r&&this.cloneRenderTo(!0);f(C,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options.id===a}var d,c=this.series,m;d=e(this.axes,b)||e(this.series,b);for(m=0;!d&&m<c.length;m++)d=
e(c[m].points||[],b);return d},getAxes:function(){var a=this,b=this.options,d=b.xAxis=E(b.xAxis||{}),b=b.yAxis=E(b.yAxis||{});f(d,function(a,b){a.index=b;a.isX=!0});f(b,function(a,b){a.index=b});d=d.concat(b);f(d,function(b){new q(a,b)})},getSelectedPoints:function(){var a=[];f(this.series,function(b){a=a.concat(d(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return d(this.series,function(a){return a.selected})},setTitle:function(a,b,d){var c=this,m=c.options,
e;e=m.title=v({style:{color:"#333333",fontSize:m.isStock?"16px":"18px"}},m.title,a);m=m.subtitle=v({style:{color:"#666666"}},m.subtitle,b);f([["title",a,e],["subtitle",b,m]],function(a,b){var d=a[0],m=c[d],e=a[1];a=a[2];m&&e&&(c[d]=m=m.destroy());a&&a.text&&!m&&(c[d]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+d,zIndex:a.zIndex||4}).add(),c[d].update=function(a){c.setTitle(!b&&a,b&&a)},c[d].css(a.style))});c.layOutTitles(d)},layOutTitles:function(a){var b=0,d,c=
this.renderer,m=this.spacingBox;f(["title","subtitle"],function(a){var d=this[a],e=this.options[a],p;d&&(p=e.style.fontSize,p=c.fontMetrics(p,d).b,d.css({width:(e.width||m.width+e.widthAdjust)+"px"}).align(k({y:b+p+("title"===a?-3:2)},e),!1,"spacingBox"),e.floating||e.verticalAlign||(b=Math.ceil(b+d.getBBox().height)))},this);d=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&d&&(this.isDirtyBox=d,this.hasRendered&&F(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var a=this.options.chart,
d=a.width,a=a.height,m=this.renderToClone||this.renderTo;c(d)||(this.containerWidth=b(m,"width"));c(a)||(this.containerHeight=b(m,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||600);this.chartHeight=Math.max(0,F(a,19<this.containerHeight?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,d=this.container;if(a){if(b){for(;b.childNodes.length;)this.renderTo.appendChild(b.firstChild);h(b);delete this.renderToClone}}else d&&d.parentNode===this.renderTo&&this.renderTo.removeChild(d),
this.renderToClone=b=this.renderTo.cloneNode(0),l(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block","important"),u.body.appendChild(b),d&&b.appendChild(d)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,d=this.options,c=d.chart,m,e;b=this.renderTo;var p=a.uniqueKey(),g;b||(this.renderTo=b=c.renderTo);x(b)&&(this.renderTo=b=u.getElementById(b));b||a.error(13,!0);m=G(A(b,
"data-highcharts-chart"));w(m)&&n[m]&&n[m].hasRendered&&n[m].destroy();A(b,"data-highcharts-chart",this.index);b.innerHTML="";c.skipClone||b.offsetWidth||this.cloneRenderTo();this.getChartSize();m=this.chartWidth;e=this.chartHeight;g=k({position:"relative",overflow:"hidden",width:m+"px",height:e+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},c.style);this.container=b=r("div",{id:p},g,this.renderToClone||b);this._cursor=b.style.cursor;this.renderer=
new (a[c.renderer]||M)(b,m,e,null,c.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(c.className);this.renderer.setStyle(c.style);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing,d=this.margin,m=this.titleOffset;this.resetMargins();m&&!c(d[0])&&(this.plotTop=Math.max(this.plotTop,m+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(d,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],d=a.margin;a.hasCartesianSeries&&f(a.axes,function(a){a.visible&&a.getOffset()});f(p,function(m,e){c(d[e])||(a[m]+=b[e])});a.setChartSize()},reflow:function(a){var d=this,m=d.options.chart,e=d.renderTo,p=c(m.width),g=m.width||b(e,"width"),m=m.height||b(e,"height"),e=a?a.target:K;if(!p&&!d.isPrinting&&g&&m&&(e===K||e===u)){if(g!==d.containerWidth||m!==d.containerHeight)clearTimeout(d.reflowTimeout),
d.reflowTimeout=P(function(){d.container&&d.setSize(void 0,void 0,!1)},a?100:0);d.containerWidth=g;d.containerHeight=m}},initReflow:function(){var a=this,b;b=z(K,"resize",function(b){a.reflow(b)});z(a,"destroy",b)},setSize:function(b,d,c){var m=this,e=m.renderer;m.isResizing+=1;a.setAnimation(c,m);m.oldChartHeight=m.chartHeight;m.oldChartWidth=m.chartWidth;void 0!==b&&(m.options.chart.width=b);void 0!==d&&(m.options.chart.height=d);m.getChartSize();b=e.globalAnimation;(b?y:l)(m.container,{width:m.chartWidth+
"px",height:m.chartHeight+"px"},b);m.setChartSize(!0);e.setSize(m.chartWidth,m.chartHeight,c);f(m.axes,function(a){a.isDirty=!0;a.setScale()});m.isDirtyLegend=!0;m.isDirtyBox=!0;m.layOutTitles();m.getMargins();m.setResponsive&&m.setResponsive(!1);m.redraw(c);m.oldChartHeight=null;g(m,"resize");P(function(){m&&g(m,"endResize",null,function(){--m.isResizing})},B(b).duration)},setChartSize:function(a){var b=this.inverted,d=this.renderer,c=this.chartWidth,m=this.chartHeight,e=this.options.chart,p=this.spacing,
g=this.clipOffset,l,k,h,n;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=k=Math.round(this.plotTop);this.plotWidth=h=Math.max(0,Math.round(c-l-this.marginRight));this.plotHeight=n=Math.max(0,Math.round(m-k-this.marginBottom));this.plotSizeX=b?n:h;this.plotSizeY=b?h:n;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=d.spacingBox={x:p[3],y:p[0],width:c-p[3]-p[1],height:m-p[0]-p[2]};this.plotBox=d.plotBox={x:l,y:k,width:h,height:n};c=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(c,
g[3])/2);d=Math.ceil(Math.max(c,g[0])/2);this.clipBox={x:b,y:d,width:Math.floor(this.plotSizeX-Math.max(c,g[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(c,g[2])/2-d))};a||f(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;f(["margin","spacing"],function(d){var c=b[d],m=C(c)?c:[c,c,c,c];f(["Top","Right","Bottom","Left"],function(c,e){a[d][e]=F(b[d+c],m[e])})});f(p,function(b,d){a[b]=F(a.margin[d],a.spacing[d])});a.axisOffset=
[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,d=this.chartWidth,c=this.chartHeight,m=this.chartBackground,e=this.plotBackground,p=this.plotBorder,g,f=this.plotBGImage,l=a.backgroundColor,k=a.plotBackgroundColor,h=a.plotBackgroundImage,n,v=this.plotLeft,F=this.plotTop,w=this.plotWidth,G=this.plotHeight,r=this.plotBox,C=this.clipRect,x=this.clipBox,q="animate";m||(this.chartBackground=m=b.rect().addClass("highcharts-background").add(),q="attr");g=
a.borderWidth||0;n=g+(a.shadow?8:0);l={fill:l||"none"};if(g||m["stroke-width"])l.stroke=a.borderColor,l["stroke-width"]=g;m.attr(l).shadow(a.shadow);m[q]({x:n/2,y:n/2,width:d-n-g%2,height:c-n-g%2,r:a.borderRadius});q="animate";e||(q="attr",this.plotBackground=e=b.rect().addClass("highcharts-plot-background").add());e[q](r);e.attr({fill:k||"none"}).shadow(a.plotShadow);h&&(f?f.animate(r):this.plotBGImage=b.image(h,v,F,w,G).add());C?C.animate({width:x.width,height:x.height}):this.clipRect=b.clipRect(x);
q="animate";p||(q="attr",this.plotBorder=p=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());p.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});p[q](p.crisp({x:v,y:F,width:w,height:G},-p.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,d,c=a.options.series,m,e;f(["inverted","angular","polar"],function(p){d=J[b.type||b.defaultSeriesType];e=b[p]||d&&d.prototype[p];for(m=c&&c.length;!e&&m--;)(d=J[c[m].type])&&
d.prototype[p]&&(e=!0);a[p]=e})},linkSeries:function(){var a=this,b=a.series;f(b,function(a){a.linkedSeries.length=0});f(b,function(b){var d=b.options.linkedTo;x(d)&&(d=":previous"===d?a.series[b.index-1]:a.get(d))&&d.linkedParent!==b&&(d.linkedSeries.push(b),b.linkedParent=d,b.visible=F(b.options.visible,d.options.visible,b.visible))})},renderSeries:function(){f(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&f(b.items,function(d){var c=
k(b.style,d.style),m=G(c.left)+a.plotLeft,e=G(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(d.html,m,e).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,b=this.renderer,d=this.options,c,m,e;this.setTitle();this.legend=new D(this,d.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;c=this.plotHeight-=21;f(a,function(a){a.setScale()});this.getAxisMargins();m=1.1<d/this.plotWidth;e=1.05<c/this.plotHeight;if(m||e)f(a,function(a){(a.horiz&&
m||!a.horiz&&e)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&f(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=v(!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&&(K.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,d=b.axes,c=b.series,m=b.container,e,p=m&&m.parentNode;g(b,"destroy");n[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");I(b);for(e=d.length;e--;)d[e]=d[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=
c.length;e--;)c[e]=c[e].destroy();f("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var d=b[a];d&&d.destroy&&(b[a]=d.destroy())});m&&(m.innerHTML="",I(m),p&&h(m));for(e in b)delete b[e]},isReadyToRender:function(){var a=this;return O||K!=K.top||"complete"===u.readyState?!0:(u.attachEvent("onreadystatechange",function(){u.detachEvent("onreadystatechange",a.firstRender);
"complete"===u.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();a.getAxes();f(b.series||[],function(b){a.initSeries(b)});a.linkSeries();g(a,"beforeRender");m&&(a.pointer=new m(a,b));a.render();a.renderer.draw();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){f([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&
a.apply(this,[this])},this);g(this,"load");c(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(H);(function(a){var z=a.pick,y=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,A=this.chart,u=2*(a.slicedOffset||0),q=A.plotWidth-2*u,A=A.plotHeight-2*u,r=a.center,r=[z(r[0],"50%"),z(r[1],"50%"),a.size||"100%",a.innerSize||0],t=Math.min(q,A),h,n;for(h=0;4>h;++h)n=r[h],a=2>h||2===h&&/%$/.test(n),r[h]=y(n,[q,A,t,r[2]][h])+(a?u:0);r[3]>r[2]&&
(r[3]=r[2]);return r}}})(H);(function(a){var z,y=a.each,B=a.extend,A=a.erase,u=a.fireEvent,q=a.format,r=a.isArray,t=a.isNumber,h=a.pick,n=a.removeEvent;z=a.Point=function(){};z.prototype={init:function(a,c,f){this.series=a;this.color=a.color;this.applyOptions(c,f);a.options.colorByPoint?(c=a.options.colors||a.chart.options.colors,this.color=this.color||c[a.colorCounter],c=c.length,f=a.colorCounter,a.colorCounter++,a.colorCounter===c&&(a.colorCounter=0)):f=a.colorIndex;this.colorIndex=h(this.colorIndex,
f);a.chart.pointCount++;return this},applyOptions:function(a,c){var f=this.series,k=f.options.pointValKey||f.pointValKey;a=z.prototype.optionsToObject.call(this,a);B(this,a);this.options=this.options?B(this.options,a):a;a.group&&delete this.group;k&&(this.y=this[k]);this.isNull=h(this.isValid&&!this.isValid(),null===this.x||!t(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===c&&f.xAxis&&f.xAxis.hasNames&&(this.x=f.xAxis.nameToX(this));void 0===this.x&&f&&(this.x=void 0===c?
f.autoIncrement(this):c);return this},optionsToObject:function(a){var c={},f=this.series,k=f.options.keys,e=k||f.pointArrayMap||["y"],g=e.length,b=0,d=0;if(t(a)||null===a)c[e[0]]=a;else if(r(a))for(!k&&a.length>g&&(f=typeof a[0],"string"===f?c.name=a[0]:"number"===f&&(c.x=a[0]),b++);d<g;)k&&void 0===a[b]||(c[e[d]]=a[b]),b++,d++;else"object"===typeof a&&(c=a,a.dataLabels&&(f._hasPointLabels=!0),a.marker&&(f._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:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className:"")},getZone:function(){var a=this.series,c=a.zones,a=a.zoneAxis||"y",f=0,k;for(k=c[f];this[a]>=k.value;)k=c[++f];k&&k.color&&!this.options.color&&(this.color=k.color);return k},destroy:function(){var a=this.series.chart,
c=a.hoverPoints,f;a.pointCount--;c&&(this.setState(),A(c,this),c.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)n(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],c,f=6;f--;)c=a[f],this[c]&&(this[c]=this[c].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,k=h(f.valueDecimals,""),e=f.valuePrefix||"",g=f.valueSuffix||"";y(c.pointArrayMap||["y"],function(b){b="{point."+b;if(e||g)a=a.replace(b+"}",e+b+"}"+g);a=a.replace(b+"}",b+":,."+k+"f}")});return q(a,{point:this,series:this.series})},firePointEvent:function(a,c,f){var k=this,e=this.series.options;(e.point.events[a]||
k.options&&k.options.events&&k.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(f=function(a){k.select&&k.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});u(this,a,c,f)},visible:!0}})(H);(function(a){var z=a.addEvent,y=a.animObject,B=a.arrayMax,A=a.arrayMin,u=a.correctFloat,q=a.Date,r=a.defaultOptions,t=a.defaultPlotOptions,h=a.defined,n=a.each,l=a.erase,c=a.extend,f=a.fireEvent,k=a.grep,e=a.isArray,g=a.isNumber,b=a.isString,d=a.merge,w=a.pick,C=a.removeEvent,x=a.splat,D=a.SVGElement,
p=a.syncTimeout,v=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",
textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},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 d=this,m,e,p=a.series,g;d.chart=a;d.options=b=d.setOptions(b);d.linkedSeries=
[];d.bindAxes();c(d,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;for(m in e)z(d,m,e[m]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;d.getColor();d.getSymbol();n(d.parallelArrays,function(a){d[a+"Data"]=[]});d.setData(b.data,!1);d.isCartesian&&(a.hasCartesianSeries=!0);p.length&&(g=p[p.length-1]);d._i=w(g&&g._i,-1)+1;for(a=this.insert(p);a<p.length;a++)p[a].index=a,p[a].name=p[a].name||"Series "+(p[a].index+
1)},insert:function(a){var b=this.options.index,d;if(g(b)){for(d=a.length;d--;)if(b>=w(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return w(d,a.length-1)},bindAxes:function(){var b=this,d=b.options,c=b.chart,e;n(b.axisTypes||[],function(m){n(c[m],function(a){e=a.options;if(d[m]===e.index||void 0!==d[m]&&d[m]===e.id||void 0===d[m]&&0===e.index)b.insert(a.series),b[m]=a,a.isDirty=!0});b[m]||b.optionalAxis===m||a.error(18,!0)})},updateParallelArrays:function(a,
b){var d=a.series,c=arguments,m=g(b)?function(c){var m="y"===c&&d.toYData?d.toYData(a):a[c];d[c+"Data"][b]=m}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(c,2))};n(d.parallelArrays,m)},autoIncrement:function(){var a=this.options,b=this.xIncrement,d,c=a.pointIntervalUnit,b=w(b,a.pointStart,0);this.pointInterval=d=w(this.pointInterval,a.pointInterval,1);c&&(a=new q(b),"day"===c?a=+a[q.hcSetDate](a[q.hcGetDate]()+d):"month"===c?a=+a[q.hcSetMonth](a[q.hcGetMonth]()+d):"year"===
c&&(a=+a[q.hcSetFullYear](a[q.hcGetFullYear]()+d)),d=a-b);this.xIncrement=b+d;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},m=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=d(e,c.series,a);this.tooltipOptions=d(r.tooltip,r.plotOptions[this.type].tooltip,b.tooltip,m.series&&m.series.tooltip,m[this.type]&&m[this.type].tooltip,a.tooltip);null===e.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&
!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&h(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,d){var c,m=this.userOptions,e=a+"Index",p=a+"Counter",g=d?d.length:w(this.chart.options.chart[a+"Count"],this.chart[a+"Count"]);b||(c=w(m[e],m["_"+e]),h(c)||(m["_"+e]=c=this.chart[p]%g,this.chart[p]+=1),d&&
(b=d[c]));void 0!==c&&(this[e]=c);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||t[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(d,c,p,f){var m=this,k=m.points,l=k&&k.length||0,h,v=m.options,F=m.chart,r=null,C=m.xAxis,x=v.turboThreshold,q=this.xData,G=this.yData,
t=(h=m.pointArrayMap)&&h.length;d=d||[];h=d.length;c=w(c,!0);if(!1!==f&&h&&l===h&&!m.cropped&&!m.hasGroupedData&&m.visible)n(d,function(a,b){k[b].update&&a!==v.data[b]&&k[b].update(a,!1,null,!1)});else{m.xIncrement=null;m.colorCounter=0;n(this.parallelArrays,function(a){m[a+"Data"].length=0});if(x&&h>x){for(p=0;null===r&&p<h;)r=d[p],p++;if(g(r))for(p=0;p<h;p++)q[p]=this.autoIncrement(),G[p]=d[p];else if(e(r))if(t)for(p=0;p<h;p++)r=d[p],q[p]=r[0],G[p]=r.slice(1,t+1);else for(p=0;p<h;p++)r=d[p],q[p]=
r[0],G[p]=r[1];else a.error(12)}else for(p=0;p<h;p++)void 0!==d[p]&&(r={series:m},m.pointClass.prototype.applyOptions.apply(r,[d[p]]),m.updateParallelArrays(r,p));b(G[0])&&a.error(14,!0);m.data=[];m.options.data=m.userOptions.data=d;for(p=l;p--;)k[p]&&k[p].destroy&&k[p].destroy();C&&(C.minRange=C.userMinRange);m.isDirty=F.isDirtyBox=!0;m.isDirtyData=!!k;p=!1}"point"===v.legendType&&(this.processData(),this.generatePoints());c&&F.redraw(p)},processData:function(b){var d=this.xData,c=this.yData,m=d.length,
e;e=0;var p,g,f=this.xAxis,k,l=this.options;k=l.cropThreshold;var h=this.getExtremesFromAll||l.getExtremesFromAll,n=this.isCartesian,l=f&&f.val2lin,v=f&&f.isLog,r,w;if(n&&!this.isDirty&&!f.isDirty&&!this.yAxis.isDirty&&!b)return!1;f&&(b=f.getExtremes(),r=b.min,w=b.max);if(n&&this.sorted&&!h&&(!k||m>k||this.forceCrop))if(d[m-1]<r||d[0]>w)d=[],c=[];else if(d[0]<r||d[m-1]>w)e=this.cropData(this.xData,this.yData,r,w),d=e.xData,c=e.yData,e=e.start,p=!0;for(k=d.length||1;--k;)m=v?l(d[k])-l(d[k-1]):d[k]-
d[k-1],0<m&&(void 0===g||m<g)?g=m:0>m&&this.requireSorting&&a.error(15);this.cropped=p;this.cropStart=e;this.processedXData=d;this.processedYData=c;this.closestPointRange=g},cropData:function(a,b,d,c){var m=a.length,e=0,p=m,g=w(this.cropShoulder,1),f;for(f=0;f<m;f++)if(a[f]>=d){e=Math.max(0,f-g);break}for(d=f;d<m;d++)if(a[d]>c){p=d+g;break}return{xData:a.slice(e,p),yData:b.slice(e,p),start:e,end:p}},generatePoints:function(){var a=this.options.data,b=this.data,d,c=this.processedXData,e=this.processedYData,
p=this.pointClass,g=c.length,f=this.cropStart||0,k,l=this.hasGroupedData,h,n=[],v;b||l||(b=[],b.length=a.length,b=this.data=b);for(v=0;v<g;v++)k=f+v,l?(h=(new p).init(this,[c[v]].concat(x(e[v]))),h.dataGroup=this.groupMap[v]):(h=b[k])||void 0===a[k]||(b[k]=h=(new p).init(this,a[k],c[v])),h.index=k,n[v]=h;if(b&&(g!==(d=b.length)||l))for(v=0;v<d;v++)v!==f||l||(v+=g),b[v]&&(b[v].destroyElements(),b[v].plotX=void 0);this.data=b;this.points=n},getExtremes:function(a){var b=this.yAxis,d=this.processedXData,
c,m=[],p=0;c=this.xAxis.getExtremes();var f=c.min,k=c.max,l,h,n,v;a=a||this.stackedYData||this.processedYData||[];c=a.length;for(v=0;v<c;v++)if(h=d[v],n=a[v],l=(g(n,!0)||e(n))&&(!b.isLog||n.length||0<n),h=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(d[v+1]||h)>=f&&(d[v-1]||h)<=k,l&&h)if(l=n.length)for(;l--;)null!==n[l]&&(m[p++]=n[l]);else m[p++]=n;this.dataMin=A(m);this.dataMax=B(m)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=
this.options,b=a.stacking,d=this.xAxis,c=d.categories,e=this.yAxis,p=this.points,f=p.length,k=!!this.modifyValue,l=a.pointPlacement,n="between"===l||g(l),v=a.threshold,r=a.startFromThreshold?v:0,C,x,q,t,D=Number.MAX_VALUE;"between"===l&&(l=.5);g(l)&&(l*=w(a.pointRange||d.pointRange));for(a=0;a<f;a++){var y=p[a],z=y.x,A=y.y;x=y.low;var B=b&&e.stacks[(this.negStacks&&A<(r?0:v)?"-":"")+this.stackKey],H;e.isLog&&null!==A&&0>=A&&(y.isNull=!0);y.plotX=C=u(Math.min(Math.max(-1E5,d.translate(z,0,0,0,1,l,
"flags"===this.type)),1E5));b&&this.visible&&!y.isNull&&B&&B[z]&&(t=this.getStackIndicator(t,z,this.index),H=B[z],A=H.points[t.key],x=A[0],A=A[1],x===r&&t.key===B[z].base&&(x=w(v,e.min)),e.isLog&&0>=x&&(x=null),y.total=y.stackTotal=H.total,y.percentage=H.total&&y.y/H.total*100,y.stackY=A,H.setOffset(this.pointXOffset||0,this.barW||0));y.yBottom=h(x)?e.translate(x,0,1,0,1):null;k&&(A=this.modifyValue(A,y));y.plotY=x="number"===typeof A&&Infinity!==A?Math.min(Math.max(-1E5,e.translate(A,0,1,0,1)),1E5):
void 0;y.isInside=void 0!==x&&0<=x&&x<=e.len&&0<=C&&C<=d.len;y.clientX=n?u(d.translate(z,0,0,0,1,l)):C;y.negative=y.y<(v||0);y.category=c&&void 0!==c[y.x]?c[y.x]:y.x;y.isNull||(void 0!==q&&(D=Math.min(D,Math.abs(C-q))),q=C);y.zone=this.zones.length&&y.getZone()}this.closestPointRangePx=D},getValidPoints:function(a,b){var d=this.chart;return k(a||this.points||[],function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,d=this.options,c=b.renderer,
m=b.inverted,e=this.clipBox,p=e||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,p.height,d.xAxis,d.yAxis].join(),f=b[g],k=b[g+"m"];f||(a&&(p.width=0,b[g+"m"]=k=c.clipRect(-99,m?-b.plotLeft:-b.plotTop,99,m?b.chartWidth:b.chartHeight)),b[g]=f=c.clipRect(p),f.count={length:0});a&&!f.count[this.index]&&(f.count[this.index]=!0,f.count.length+=1);!1!==d.clip&&(this.group.clip(a||e?f:b.clipRect),this.markerGroup.clip(k),this.sharedClipKey=g);a||(f.count[this.index]&&(delete f.count[this.index],
--f.count.length),0===f.count.length&&g&&b[g]&&(e||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,d=y(this.options.animation),c;a?this.setClip(d):(c=this.sharedClipKey,(a=b[c])&&a.animate({width:b.plotSizeX},d),b[c+"m"]&&b[c+"m"].animate({width:b.plotSizeX+99},d),this.animate=null)},afterAnimate:function(){this.setClip();f(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,d,c,e,p,f=this.options.marker,k,l,h,n,v=this.markerGroup,
r=w(f.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(c=a.length;c--;)e=a[c],d=e.plotY,p=e.graphic,k=e.marker||{},l=!!e.marker,h=r&&void 0===k.enabled||k.enabled,n=e.isInside,h&&g(d)&&null!==e.y?(d=w(k.symbol,this.symbol),e.hasImage=0===d.indexOf("url"),h=this.markerAttribs(e,e.selected&&"select"),p?p[n?"show":"hide"](!0).animate(h):n&&(0<h.width||e.hasImage)&&(e.graphic=p=b.renderer.symbol(d,h.x,h.y,h.width,h.height,l?k:f).add(v)),
p&&p.attr(this.pointAttribs(e,e.selected&&"select")),p&&p.addClass(e.getClassName(),!0)):p&&(e.graphic=p.destroy())},markerAttribs:function(a,b){var d=this.options.marker,c=a&&a.options,m=c&&c.marker||{},c=w(m.radius,d.radius);b&&(d=d.states[b],b=m.states&&m.states[b],c=w(b&&b.radius,d&&d.radius,c+(d&&d.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},pointAttribs:function(a,b){var d=this.options.marker,c=a&&a.options,m=c&&c.marker||{},
e=this.color,p=c&&c.color,g=a&&a.color,c=w(m.lineWidth,d.lineWidth);a=a&&a.zone&&a.zone.color;e=p||a||g||e;a=m.fillColor||d.fillColor||e;e=m.lineColor||d.lineColor||e;b&&(d=d.states[b],b=m.states&&m.states[b]||{},c=w(b.lineWidth,d.lineWidth,c+w(b.lineWidthPlus,d.lineWidthPlus,0)),a=b.fillColor||d.fillColor||a,e=b.lineColor||d.lineColor||e);return{stroke:e,"stroke-width":c,fill:a}},destroy:function(){var a=this,b=a.chart,d=/AppleWebKit\/533/.test(v.navigator.userAgent),c,e=a.data||[],p,g,k;f(a,"destroy");
C(a);n(a.axisTypes||[],function(b){(k=a[b])&&k.series&&(l(k.series,a),k.isDirty=k.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(c=e.length;c--;)(p=e[c])&&p.destroy&&p.destroy();a.points=null;clearTimeout(a.animationTimeout);for(g in a)a[g]instanceof D&&!a[g].survive&&(c=d&&"group"===g?"hide":"destroy",a[g][c]());b.hoverSeries===a&&(b.hoverSeries=null);l(b.series,a);for(g in a)delete a[g]},getGraphPath:function(a,b,d){var c=this,m=c.options,e=m.step,p,g=[],f=[],k;a=a||c.points;
(p=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&p&&(e=4-e);!m.connectNulls||b||d||(a=this.getValidPoints(a));n(a,function(p,l){var n=p.plotX,v=p.plotY,r=a[l-1];(p.leftCliff||r&&r.rightCliff)&&!d&&(k=!0);p.isNull&&!h(b)&&0<l?k=!m.connectNulls:p.isNull&&!b?k=!0:(0===l||k?l=["M",p.plotX,p.plotY]:c.getPointSpline?l=c.getPointSpline(a,p,l):e?(l=1===e?["L",r.plotX,v]:2===e?["L",(r.plotX+n)/2,r.plotY,"L",(r.plotX+n)/2,v]:["L",n,r.plotY],l.push("L",n,v)):l=["L",n,v],f.push(p.x),e&&f.push(p.x),
g.push.apply(g,l),k=!1)});g.xMap=f;return c.graphPath=g},drawGraph:function(){var a=this,b=this.options,d=(this.gappedPath||this.getGraphPath).call(this),c=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]];n(this.zones,function(d,e){c.push(["zone-graph-"+e,"highcharts-graph highcharts-zone-graph-"+e+" "+(d.className||""),d.color||a.color,d.dashStyle||b.dashStyle])});n(c,function(c,e){var m=c[0],p=a[m];p?(p.endX=d.xMap,p.animate({d:d})):d.length&&(a[m]=a.chart.renderer.path(d).addClass(c[1]).attr({zIndex:1}).add(a.group),
p={stroke:c[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},c[3]?p.dashstyle=c[3]:"square"!==b.linecap&&(p["stroke-linecap"]=p["stroke-linejoin"]="round"),p=a[m].attr(p).shadow(2>e&&b.shadow));p&&(p.startX=d.xMap,p.isArea=d.isArea)})},applyZones:function(){var a=this,b=this.chart,d=b.renderer,c=this.zones,e,p,g=this.clips||[],f,k=this.graph,l=this.area,h=Math.max(b.chartWidth,b.chartHeight),v=this[(this.zoneAxis||"y")+"Axis"],r,C,x=b.inverted,q,t,D,u,y=!1;c.length&&(k||l)&&v&&void 0!==
v.min&&(C=v.reversed,q=v.horiz,k&&k.hide(),l&&l.hide(),r=v.getExtremes(),n(c,function(c,m){e=C?q?b.plotWidth:0:q?0:v.toPixels(r.min);e=Math.min(Math.max(w(p,e),0),h);p=Math.min(Math.max(Math.round(v.toPixels(w(c.value,r.max),!0)),0),h);y&&(e=p=v.toPixels(r.max));t=Math.abs(e-p);D=Math.min(e,p);u=Math.max(e,p);v.isXAxis?(f={x:x?u:D,y:0,width:t,height:h},q||(f.x=b.plotHeight-f.x)):(f={x:0,y:x?u:D,width:h,height:t},q&&(f.y=b.plotWidth-f.y));x&&d.isVML&&(f=v.isXAxis?{x:0,y:C?D:u,height:f.width,width:b.chartWidth}:
{x:f.y-b.plotLeft-b.spacingBox.x,y:0,width:f.height,height:b.chartHeight});g[m]?g[m].animate(f):(g[m]=d.clipRect(f),k&&a["zone-graph-"+m].clip(g[m]),l&&a["zone-area-"+m].clip(g[m]));y=c.value>r.max}),this.clips=g)},invertGroups:function(a){function b(){var b={width:d.yAxis.len,height:d.xAxis.len};n(["group","markerGroup"],function(c){d[c]&&d[c].attr(b).invert(a)})}var d=this,c;d.xAxis&&(c=z(d.chart,"resize",b),z(d,"destroy",c),b(a),d.invertGroups=b)},plotGroup:function(a,b,d,c,e){var m=this[a],p=
!m;p&&(this[a]=m=this.chart.renderer.g(b).attr({zIndex:c||.1}).add(e),m.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));m.attr({visibility:d})[p?"attr":"animate"](this.getPlotBox());return m},getPlotBox:function(){var a=this.chart,b=this.xAxis,d=this.yAxis;a.inverted&&(b=d,d=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:d?d.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,
b=a.chart,d,c=a.options,e=!!a.animate&&b.renderer.isSVG&&y(c.animation).duration,g=a.visible?"inherit":"hidden",f=c.zIndex,k=a.hasRendered,l=b.seriesGroup,h=b.inverted;d=a.plotGroup("group","series",g,f,l);a.markerGroup=a.plotGroup("markerGroup","markers",g,f,l);e&&a.animate(!0);d.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);
!1===c.clip||a.sharedClipKey||k||d.clip(b.clipRect);e&&a.animate();k||(a.animationTimeout=p(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,d=this.group,c=this.xAxis,e=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:w(c&&c.left,a.plotLeft),translateY:w(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX",
"plotY"],searchPoint:function(a,b){var d=this.xAxis,c=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?c.len-a.chartX+c.pos:a.chartY-c.pos},b)},buildKDTree:function(){function a(d,c,e){var p,m;if(m=d&&d.length)return p=b.kdAxisArray[c%e],d.sort(function(a,b){return a[p]-b[p]}),m=Math.floor(m/2),{point:d[m],left:a(d.slice(0,m),c+1,e),right:a(d.slice(m+1),c+1,e)}}var b=this,d=b.kdDimensions;delete b.kdTree;p(function(){b.kdTree=a(b.getValidPoints(null,
!b.directTouch),d,d)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function d(a,b,g,f){var k=b.point,l=c.kdAxisArray[g%f],n,v,r=k;v=h(a[e])&&h(k[e])?Math.pow(a[e]-k[e],2):null;n=h(a[p])&&h(k[p])?Math.pow(a[p]-k[p],2):null;n=(v||0)+(n||0);k.dist=h(n)?Math.sqrt(n):Number.MAX_VALUE;k.distX=h(v)?Math.sqrt(v):Number.MAX_VALUE;l=a[l]-k[l];n=0>l?"left":"right";v=0>l?"right":"left";b[n]&&(n=d(a,b[n],g+1,f),r=n[m]<r[m]?n:k);b[v]&&Math.sqrt(l*l)<r[m]&&(a=d(a,b[v],g+1,f),r=a[m]<r[m]?a:r);return r}var c=
this,e=this.kdAxisArray[0],p=this.kdAxisArray[1],m=b?"distX":"dist";this.kdTree||this.buildKDTree();if(this.kdTree)return d(a,this.kdTree,this.kdDimensions,this.kdDimensions)}})})(H);(function(a){function z(a,l,c,f,k){var e=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=l;this.x=f;this.total=null;this.points={};this.stack=k;this.rightCliff=this.leftCliff=0;this.alignOptions={align:l.align||(e?c?"left":"right":"center"),verticalAlign:l.verticalAlign||(e?"middle":c?"bottom":"top"),y:h(l.y,
e?4:c?14:-6),x:h(l.x,e?c?-6:6:0)};this.textAlign=l.textAlign||(e?c?"right":"left":"center")}var y=a.Axis,B=a.Chart,A=a.correctFloat,u=a.defined,q=a.destroyObjectProperties,r=a.each,t=a.format,h=a.pick;a=a.Series;z.prototype={destroy:function(){q(this,this.axis)},render:function(a){var l=this.options,c=l.format,c=c?t(c,this):l.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,null,null,l.useHTML).css(l.style).attr({align:this.textAlign,
rotation:l.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,l){var c=this.axis,f=c.chart,k=f.inverted,e=c.reversed,e=this.isNegative&&!e||!this.isNegative&&e,g=c.translate(c.usePercentage?100:this.total,0,0,0,1),c=c.translate(0),c=Math.abs(g-c);a=f.xAxis[0].translate(this.x)+a;var b=f.plotHeight,k={x:k?e?g:g-c:a,y:k?b-a-l:e?b-g-c:b-g,width:k?c:l,height:k?l:c};if(l=this.label)l.align(this.alignOptions,null,k),k=l.alignAttr,l[!1===this.options.crop||f.isInsidePlot(k.x,k.y)?"show":"hide"](!0)}};
B.prototype.getStacks=function(){var a=this;r(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});r(a.series,function(l){!l.options.stacking||!0!==l.visible&&!1!==a.options.chart.ignoreHiddenSeries||(l.stackKey=l.type+h(l.options.stack,""))})};y.prototype.buildStacks=function(){var a=this.series,l,c=h(this.options.reversedStacks,!0),f=a.length,k;if(!this.isXAxis){this.usePercentage=!1;for(k=f;k--;)a[c?k:f-k-1].setStackedPoints();for(k=f;k--;)l=a[c?k:f-k-1],l.setStackCliffs&&
l.setStackCliffs();if(this.usePercentage)for(k=0;k<f;k++)a[k].setPercentStacks()}};y.prototype.renderStackTotals=function(){var a=this.chart,l=a.renderer,c=this.stacks,f,k,e=this.stackTotalGroup;e||(this.stackTotalGroup=e=l.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());e.translate(a.plotLeft,a.plotTop);for(f in c)for(k in a=c[f],a)a[k].render(e)};y.prototype.resetStacks=function(){var a=this.stacks,l,c;if(!this.isXAxis)for(l in a)for(c in a[l])a[l][c].touched<this.stacksTouched?(a[l][c].destroy(),
delete a[l][c]):(a[l][c].total=null,a[l][c].cum=null)};y.prototype.cleanStacks=function(){var a,l,c;if(!this.isXAxis)for(l in this.oldStacks&&(a=this.stacks=this.oldStacks),a)for(c in a[l])a[l][c].cum=a[l][c].total};a.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var a=this.processedXData,l=this.processedYData,c=[],f=l.length,k=this.options,e=k.threshold,g=k.startFromThreshold?e:0,b=k.stack,k=k.stacking,d=this.stackKey,
r="-"+d,C=this.negStacks,x=this.yAxis,q=x.stacks,p=x.oldStacks,v,m,t,G,I,J,E;x.stacksTouched+=1;for(I=0;I<f;I++)J=a[I],E=l[I],v=this.getStackIndicator(v,J,this.index),G=v.key,t=(m=C&&E<(g?0:e))?r:d,q[t]||(q[t]={}),q[t][J]||(p[t]&&p[t][J]?(q[t][J]=p[t][J],q[t][J].total=null):q[t][J]=new z(x,x.options.stackLabels,m,J,b)),t=q[t][J],null!==E&&(t.points[G]=t.points[this.index]=[h(t.cum,g)],u(t.cum)||(t.base=G),t.touched=x.stacksTouched,0<v.index&&!1===this.singleStacks&&(t.points[G][0]=t.points[this.index+
","+J+",0"][0])),"percent"===k?(m=m?d:r,C&&q[m]&&q[m][J]?(m=q[m][J],t.total=m.total=Math.max(m.total,t.total)+Math.abs(E)||0):t.total=A(t.total+(Math.abs(E)||0))):t.total=A(t.total+(E||0)),t.cum=h(t.cum,g)+(E||0),null!==E&&(t.points[G].push(t.cum),c[I]=t.cum);"percent"===k&&(x.usePercentage=!0);this.stackedYData=c;x.oldStacks={}}};a.prototype.setPercentStacks=function(){var a=this,l=a.stackKey,c=a.yAxis.stacks,f=a.processedXData,k;r([l,"-"+l],function(e){for(var g=f.length,b,d;g--;)if(b=f[g],k=a.getStackIndicator(k,
b,a.index,e),b=(d=c[e]&&c[e][b])&&d.points[k.key])d=d.total?100/d.total:0,b[0]=A(b[0]*d),b[1]=A(b[1]*d),a.stackedYData[g]=b[1]})};a.prototype.getStackIndicator=function(a,l,c,f){!u(a)||a.x!==l||f&&a.key!==f?a={x:l,index:0,key:f}:a.index++;a.key=[c,l,a.index].join();return a}})(H);(function(a){var z=a.addEvent,y=a.animate,B=a.Axis,A=a.createElement,u=a.css,q=a.defined,r=a.each,t=a.erase,h=a.extend,n=a.fireEvent,l=a.inArray,c=a.isNumber,f=a.isObject,k=a.merge,e=a.pick,g=a.Point,b=a.Series,d=a.seriesTypes,
w=a.setAnimation,C=a.splat;h(a.Chart.prototype,{addSeries:function(a,b,d){var c,p=this;a&&(b=e(b,!0),n(p,"addSeries",{options:a},function(){c=p.initSeries(a);p.isDirtyLegend=!0;p.linkSeries();b&&p.redraw(d)}));return c},addAxis:function(a,b,d,c){var p=b?"xAxis":"yAxis",g=this.options;a=k(a,{index:this[p].length,isX:b});new B(this,a);g[p]=C(g[p]||{});g[p].push(a);e(d,!0)&&this.redraw(c)},showLoading:function(a){var b=this,d=b.options,c=b.loadingDiv,e=d.loading,g=function(){c&&u(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),z(b,"redraw",g));c.className="highcharts-loading";b.loadingSpan.innerHTML=a||d.lang.loading;u(c,h(e.style,{zIndex:10}));u(b.loadingSpan,e.labelStyle);b.loadingShown||(u(c,{opacity:0,display:""}),y(c,{opacity:e.style.opacity||.5},{duration:e.showDuration||
0}));b.loadingShown=!0;g()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",y(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){u(b,{display:"none"})}}));this.loadingShown=!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 d,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},m=a.chart,f,h;if(m){k(!0,this.options.chart,m);"className"in m&&this.setClassName(m.className);if("inverted"in m||"polar"in m)this.propFromSeries(),f=!0;for(d in m)m.hasOwnProperty(d)&&(-1!==l("chart."+d,this.propsRequireUpdateSeries)&&(h=!0),-1!==l(d,this.propsRequireDirtyBox)&&(this.isDirtyBox=
!0));"style"in m&&this.renderer.setStyle(m.style)}for(d in a){if(this[d]&&"function"===typeof this[d].update)this[d].update(a[d],!1);else if("function"===typeof this[g[d]])this[g[d]](a[d]);"chart"!==d&&-1!==l(d,this.propsRequireUpdateSeries)&&(h=!0)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&k(!0,this.options.plotOptions,a.plotOptions);r(["xAxis","yAxis","series"],function(b){a[b]&&r(C(a[b]),function(a){var d=q(a.id)&&this.get(a.id)||this[b][0];d&&d.coll===b&&d.update(a,!1)},this)},this);
f&&r(this.axes,function(a){a.update({},!1)});h&&r(this.series,function(a){a.update({},!1)});a.loading&&k(!0,this.options.loading,a.loading);d=m&&m.width;m=m&&m.height;c(d)&&d!==this.chartWidth||c(m)&&m!==this.chartHeight?this.setSize(d,m):e(b,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});h(g.prototype,{update:function(a,b,d,c){function p(){g.applyOptions(a);null===g.y&&l&&(g.graphic=l.destroy());f(a,!0)&&(l&&l.element&&a&&a.marker&&a.marker.symbol&&(g.graphic=l.destroy()),
a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()));h=g.index;k.updateParallelArrays(g,h);n.data[h]=f(n.data[h],!0)?g.options:a;k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(v.isDirtyBox=!0);"point"===n.legendType&&(v.isDirtyLegend=!0);b&&v.redraw(d)}var g=this,k=g.series,l=g.graphic,h,v=k.chart,n=k.options;b=e(b,!0);!1===c?p():g.firePointEvent("update",{options:a},p)},remove:function(a,b){this.series.removePoint(l(this,this.series.data),a,b)}});h(b.prototype,{addPoint:function(a,
b,d,c){var p=this.options,g=this.data,f=this.chart,k=this.xAxis&&this.xAxis.names,l=p.data,h,v,n=this.xData,r,w;b=e(b,!0);h={series:this};this.pointClass.prototype.applyOptions.apply(h,[a]);w=h.x;r=n.length;if(this.requireSorting&&w<n[r-1])for(v=!0;r&&n[r-1]>w;)r--;this.updateParallelArrays(h,"splice",r,0,0);this.updateParallelArrays(h,r);k&&h.name&&(k[w]=h.name);l.splice(r,0,a);v&&(this.data.splice(r,0,null),this.processData());"point"===p.legendType&&this.generatePoints();d&&(g[0]&&g[0].remove?
g[0].remove(!1):(g.shift(),this.updateParallelArrays(h,"shift"),l.shift()));this.isDirtyData=this.isDirty=!0;b&&f.redraw(c)},removePoint:function(a,b,d){var c=this,p=c.data,g=p[a],f=c.points,k=c.chart,l=function(){f&&f.length===p.length&&f.splice(a,1);p.splice(a,1);c.options.data.splice(a,1);c.updateParallelArrays(g||{series:c},"splice",a,1);g&&g.destroy();c.isDirty=!0;c.isDirtyData=!0;b&&k.redraw()};w(d,k);b=e(b,!0);g?g.firePointEvent("remove",null,l):l()},remove:function(a,b,d){function c(){p.destroy();
g.isDirtyLegend=g.isDirtyBox=!0;g.linkSeries();e(a,!0)&&g.redraw(b)}var p=this,g=p.chart;!1!==d?n(p,"remove",null,c):c()},update:function(a,b){var c=this,g=this.chart,m=this.userOptions,f=this.type,l=a.type||m.type||g.options.chart.type,n=d[f].prototype,w=["group","markerGroup","dataLabelsGroup"],C;if(l&&l!==f||void 0!==a.zIndex)w.length=0;r(w,function(a){w[a]=c[a];delete c[a]});a=k(m,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(C in n)this[C]=
void 0;h(this,d[l||f].prototype);r(w,function(a){c[a]=w[a]});this.init(g,a);g.linkSeries();e(b,!0)&&g.redraw(!1)}});h(B.prototype,{update:function(a,b){var d=this.chart;a=d.options[this.coll][this.options.index]=k(this.userOptions,a);this.destroy(!0);this.init(d,h(a,{events:void 0}));d.isDirtyBox=!0;e(b,!0)&&d.redraw()},remove:function(a){for(var b=this.chart,d=this.coll,c=this.series,g=c.length;g--;)c[g]&&c[g].remove(!1);t(b.axes,this);t(b[d],this);b.options[d].splice(this.options.index,1);r(b[d],
function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;e(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(H);(function(a){var z=a.color,y=a.each,B=a.map,A=a.pick,u=a.Series,q=a.seriesType;q("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],q=[],h=this.xAxis,n=this.yAxis,l=n.stacks[this.stackKey],c={},f=this.points,k=this.index,e=n.series,g=e.length,b,d=A(n.options.reversedStacks,
!0)?1:-1,w,C;if(this.options.stacking){for(w=0;w<f.length;w++)c[f[w].x]=f[w];for(C in l)null!==l[C].total&&q.push(C);q.sort(function(a,b){return a-b});b=B(e,function(){return this.visible});y(q,function(e,f){var p=0,v,m;if(c[e]&&!c[e].isNull)a.push(c[e]),y([-1,1],function(a){var p=1===a?"rightNull":"leftNull",h=0,n=l[q[f+a]];if(n)for(w=k;0<=w&&w<g;)v=n.points[w],v||(w===k?c[e][p]=!0:b[w]&&(m=l[e].points[w])&&(h-=m[1]-m[0])),w+=d;c[e][1===a?"rightCliff":"leftCliff"]=h});else{for(w=k;0<=w&&w<g;){if(v=
l[e].points[w]){p=v[1];break}w+=d}p=n.toPixels(p,!0);a.push({isNull:!0,plotX:h.toPixels(e,!0),plotY:p,yBottom:p})}})}return a},getGraphPath:function(a){var r=u.prototype.getGraphPath,h=this.options,n=h.stacking,l=this.yAxis,c,f,k=[],e=[],g=this.index,b,d=l.stacks[this.stackKey],w=h.threshold,C=l.getThreshold(h.threshold),q,h=h.connectNulls||"percent"===n,D=function(c,f,m){var p=a[c];c=n&&d[p.x].points[g];var h=p[m+"Null"]||0;m=p[m+"Cliff"]||0;var v,r,p=!0;m||h?(v=(h?c[0]:c[1])+m,r=c[0]+m,p=!!h):!n&&
a[f]&&a[f].isNull&&(v=r=w);void 0!==v&&(e.push({plotX:b,plotY:null===v?C:l.getThreshold(v),isNull:p}),k.push({plotX:b,plotY:null===r?C:l.getThreshold(r),doCurve:!1}))};a=a||this.points;n&&(a=this.getStackPoints());for(c=0;c<a.length;c++)if(f=a[c].isNull,b=A(a[c].rectPlotX,a[c].plotX),q=A(a[c].yBottom,C),!f||h)h||D(c,c-1,"left"),f&&!n&&h||(e.push(a[c]),k.push({x:c,plotX:b,plotY:q})),h||D(c,c+1,"right");c=r.call(this,e,!0,!0);k.reversed=!0;f=r.call(this,k,!0,!0);f.length&&(f[0]="L");f=c.concat(f);r=
r.call(this,e,!1,h);f.xMap=c.xMap;this.areaPath=f;return r},drawGraph:function(){this.areaPath=[];u.prototype.drawGraph.apply(this);var a=this,q=this.areaPath,h=this.options,n=[["area","highcharts-area",this.color,h.fillColor]];y(this.zones,function(l,c){n.push(["zone-area-"+c,"highcharts-area highcharts-zone-area-"+c+" "+l.className,l.color||a.color,l.fillColor||h.fillColor])});y(n,function(l){var c=l[0],f=a[c];f?(f.endX=q.xMap,f.animate({d:q})):(f=a[c]=a.chart.renderer.path(q).addClass(l[1]).attr({fill:A(l[3],
z(l[2]).setOpacity(A(h.fillOpacity,.75)).get()),zIndex:0}).add(a.group),f.isArea=!0);f.startX=q.xMap;f.shiftUnit=h.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(H);(function(a){var z=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,B,A){var u=B.plotX,q=B.plotY,r=a[A-1];A=a[A+1];var t,h,n,l;if(r&&!r.isNull&&!1!==r.doCurve&&A&&!A.isNull&&!1!==A.doCurve){a=r.plotY;n=A.plotX;A=A.plotY;var c=0;t=(1.5*u+r.plotX)/2.5;h=(1.5*q+a)/2.5;n=(1.5*u+n)/2.5;l=(1.5*q+A)/2.5;
n!==t&&(c=(l-h)*(n-u)/(n-t)+q-l);h+=c;l+=c;h>a&&h>q?(h=Math.max(a,q),l=2*q-h):h<a&&h<q&&(h=Math.min(a,q),l=2*q-h);l>A&&l>q?(l=Math.max(A,q),h=2*q-l):l<A&&l<q&&(l=Math.min(A,q),h=2*q-l);B.rightContX=n;B.rightContY=l}B=["C",z(r.rightContX,r.plotX),z(r.rightContY,r.plotY),z(t,u),z(h,q),u,q];r.rightContX=r.rightContY=null;return B}})})(H);(function(a){var z=a.seriesTypes.area.prototype,y=a.seriesType;y("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:z.getStackPoints,getGraphPath:z.getGraphPath,
setStackCliffs:z.setStackCliffs,drawGraph:z.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(H);(function(a){var z=a.animObject,y=a.color,B=a.each,A=a.extend,u=a.isNumber,q=a.merge,r=a.pick,t=a.Series,h=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,brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,
y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){t.prototype.init.apply(this,arguments);var a=this,c=a.chart;c.hasRendered&&B(c.series,function(c){c.type===a.type&&(c.isDirty=!0)})},getColumnMetrics:function(){var a=this,c=a.options,f=a.xAxis,k=a.yAxis,e=f.reversed,g,b={},d=0;!1===c.grouping?d=1:B(a.chart.series,function(c){var e=
c.options,f=c.yAxis,m;c.type===a.type&&c.visible&&k.len===f.len&&k.pos===f.pos&&(e.stacking?(g=c.stackKey,void 0===b[g]&&(b[g]=d++),m=b[g]):!1!==e.grouping&&(m=d++),c.columnIndex=m)});var h=Math.min(Math.abs(f.transA)*(f.ordinalSlope||c.pointRange||f.closestPointRange||f.tickInterval||1),f.len),n=h*c.groupPadding,q=(h-2*n)/d,c=Math.min(c.maxPointWidth||f.len,r(c.pointWidth,q*(1-2*c.pointPadding)));a.columnMetrics={width:c,offset:(q-c)/2+(n+((a.columnIndex||0)+(e?1:0))*q-h/2)*(e?-1:1)};return a.columnMetrics},
crispCol:function(a,c,f,k){var e=this.chart,g=this.borderWidth,b=-(g%2?.5:0),g=g%2?.5:1;e.inverted&&e.renderer.isVML&&(g+=1);f=Math.round(a+f)+b;a=Math.round(a)+b;k=Math.round(c+k)+g;b=.5>=Math.abs(c)&&.5<k;c=Math.round(c)+g;k-=c;b&&k&&(--c,k+=1);return{x:a,y:c,width:f-a,height:k}},translate:function(){var a=this,c=a.chart,f=a.options,k=a.dense=2>a.closestPointRange*a.xAxis.transA,k=a.borderWidth=r(f.borderWidth,k?0:1),e=a.yAxis,g=a.translatedThreshold=e.getThreshold(f.threshold),b=r(f.minPointLength,
5),d=a.getColumnMetrics(),h=d.width,n=a.barW=Math.max(h,1+2*k),q=a.pointXOffset=d.offset;c.inverted&&(g-=.5);f.pointPadding&&(n=Math.ceil(n));t.prototype.translate.apply(a);B(a.points,function(d){var p=r(d.yBottom,g),f=999+Math.abs(p),f=Math.min(Math.max(-f,d.plotY),e.len+f),m=d.plotX+q,k=n,l=Math.min(f,p),w,C=Math.max(f,p)-l;Math.abs(C)<b&&b&&(C=b,w=!e.reversed&&!d.negative||e.reversed&&d.negative,l=Math.abs(l-g)>b?p-b:g-(w?b:0));d.barX=m;d.pointWidth=h;d.tooltipPos=c.inverted?[e.len+e.pos-c.plotLeft-
f,a.xAxis.len-m-k/2,C]:[m+k/2,f+e.pos-c.plotTop,C];d.shapeType="rect";d.shapeArgs=a.crispCol.apply(a,d.isNull?[d.plotX,e.len/2,0,0]:[m,l,k,C])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,c){var f=this.options,k,e=this.pointAttrToOptions||{};k=e.stroke||"borderColor";var g=e["stroke-width"]||"borderWidth",b=a&&a.color||this.color,d=a[k]||f[k]||this.color||
b,h=a[g]||f[g]||this[g]||0,e=f.dashStyle;a&&this.zones.length&&(b=(b=a.getZone())&&b.color||a.options.color||this.color);c&&(a=f.states[c],c=a.brightness,b=a.color||void 0!==c&&y(b).brighten(a.brightness).get()||b,d=a[k]||d,h=a[g]||h,e=a.dashStyle||e);k={fill:b,stroke:d,"stroke-width":h};f.borderRadius&&(k.r=f.borderRadius);e&&(k.dashstyle=e);return k},drawPoints:function(){var a=this,c=this.chart,f=a.options,k=c.renderer,e=f.animationLimit||250,g;B(a.points,function(b){var d=b.graphic;if(u(b.plotY)&&
null!==b.y){g=b.shapeArgs;if(d)d[c.pointCount<e?"animate":"attr"](q(g));else b.graphic=d=k[b.shapeType](g).attr({"class":b.getClassName()}).add(b.group||a.group);d.attr(a.pointAttribs(b,b.selected&&"select")).shadow(f.shadow,null,f.stacking&&!f.borderRadius)}else d&&(b.graphic=d.destroy())})},animate:function(a){var c=this,f=this.yAxis,k=c.options,e=this.chart.inverted,g={};n&&(a?(g.scaleY=.001,a=Math.min(f.pos+f.len,Math.max(f.pos,f.toPixels(k.threshold))),e?g.translateX=a-f.len:g.translateY=a,c.group.attr(g)):
(g[e?"translateX":"translateY"]=f.pos,c.group.animate(g,A(z(c.options.animation),{step:function(a,d){c.group.attr({scaleY:Math.max(.001,d.pos)})}})),c.animate=null))},remove:function(){var a=this,c=a.chart;c.hasRendered&&B(c.series,function(c){c.type===a.type&&(c.isDirty=!0)});t.prototype.remove.apply(a,arguments)}})})(H);(function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(H);(function(a){var z=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',
pointFormat:"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&&z.prototype.drawGraph.call(this)}})})(H);(function(a){var z=a.addEvent,y=a.defined,B=a.each,A=a.extend,u=a.inArray,q=a.noop,r=a.pick,t=a.Point,h=a.Series,n=a.seriesType,l=a.setAnimation;n("pie","line",{center:[null,
null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,
animate:function(a){var c=this,k=c.points,e=c.startAngleRad;a||(B(k,function(a){var b=a.graphic,d=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:e,end:e}),b.animate({r:d.r,start:d.start,end:d.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,f=0,k=this.points,e=k.length,g,b=this.options.ignoreHiddenPoint;for(a=0;a<e;a++)g=k[a],0>g.y&&(g.y=null),f+=b&&!g.visible?0:g.y;this.total=f;for(a=0;a<e;a++)g=k[a],g.percentage=0<f&&(g.visible||!b)?g.y/f*100:0,g.total=f},generatePoints:function(){h.prototype.generatePoints.call(this);
this.updateTotals()},translate:function(a){this.generatePoints();var c=0,k=this.options,e=k.slicedOffset,g=e+(k.borderWidth||0),b,d,h,l=k.startAngle||0,n=this.startAngleRad=Math.PI/180*(l-90),l=(this.endAngleRad=Math.PI/180*(r(k.endAngle,l+360)-90))-n,q=this.points,p=k.dataLabels.distance,k=k.ignoreHiddenPoint,v,m=q.length,t;a||(this.center=a=this.getCenter());this.getX=function(b,d){h=Math.asin(Math.min((b-a[1])/(a[2]/2+p),1));return a[0]+(d?-1:1)*Math.cos(h)*(a[2]/2+p)};for(v=0;v<m;v++){t=q[v];
b=n+c*l;if(!k||t.visible)c+=t.percentage/100;d=n+c*l;t.shapeType="arc";t.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*b)/1E3,end:Math.round(1E3*d)/1E3};h=(d+b)/2;h>1.5*Math.PI?h-=2*Math.PI:h<-Math.PI/2&&(h+=2*Math.PI);t.slicedTranslation={translateX:Math.round(Math.cos(h)*e),translateY:Math.round(Math.sin(h)*e)};b=Math.cos(h)*a[2]/2;d=Math.sin(h)*a[2]/2;t.tooltipPos=[a[0]+.7*b,a[1]+.7*d];t.half=h<-Math.PI/2||h>Math.PI/2?1:0;t.angle=h;g=Math.min(g,p/5);t.labelPos=[a[0]+b+Math.cos(h)*
p,a[1]+d+Math.sin(h)*p,a[0]+b+Math.cos(h)*g,a[1]+d+Math.sin(h)*g,a[0]+b,a[1]+d,0>p?"center":t.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,k,e,g,b,d=a.options.shadow;d&&!a.shadowGroup&&(a.shadowGroup=f.g("shadow").add(a.group));B(a.points,function(c){if(null!==c.y){e=c.graphic;b=c.shapeArgs;k=c.sliced?c.slicedTranslation:{};var h=c.shadowGroup;d&&!h&&(h=c.shadowGroup=f.g("shadow").add(a.shadowGroup));h&&h.attr(k);g=a.pointAttribs(c,c.selected&&"select");
e?e.setRadialReference(a.center).attr(g).animate(A(b,k)):(c.graphic=e=f[c.shapeType](b).addClass(c.getClassName()).setRadialReference(a.center).attr(k).add(a.group),c.visible||e.attr({visibility:"hidden"}),e.attr(g).attr({"stroke-linejoin":"round"}).shadow(d,h))}})},searchPoint:q,sortByAngle:function(a,f){a.sort(function(a,c){return void 0!==a.angle&&(c.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:q},{init:function(){t.prototype.init.apply(this,
arguments);var a=this,f;a.name=r(a.name,"Slice");f=function(c){a.slice("select"===c.type)};z(a,"select",f);z(a,"unselect",f);return a},setVisible:function(a,f){var c=this,e=c.series,g=e.chart,b=e.options.ignoreHiddenPoint;f=r(f,b);a!==c.visible&&(c.visible=c.options.visible=a=void 0===a?!c.visible:a,e.options.data[u(c,e.data)]=c.options,B(["graphic","dataLabel","connector","shadowGroup"],function(b){if(c[b])c[b][a?"show":"hide"](!0)}),c.legendItem&&g.legend.colorizeItem(c,a),a||"hover"!==c.state||
c.setState(""),b&&(e.isDirty=!0),f&&g.redraw())},slice:function(a,f,k){var c=this.series;l(k,c.chart);r(f,!0);this.sliced=this.options.sliced=a=y(a)?a:!this.sliced;c.options.data[u(this,c.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r,start:c.start,
end:c.end})}})})(H);(function(a){var z=a.addEvent,y=a.arrayMax,B=a.defined,A=a.each,u=a.extend,q=a.format,r=a.map,t=a.merge,h=a.noop,n=a.pick,l=a.relativeLength,c=a.Series,f=a.seriesTypes,k=a.stableSort;a.distribute=function(a,c){function b(a,b){return a.target-b.target}var d,e=!0,g=a,f=[],h;h=0;for(d=a.length;d--;)h+=a[d].size;if(h>c){k(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(h=d=0;h<=c;)h+=a[d].size,d++;f=a.splice(d-1,a.length)}k(a,b);for(a=r(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(d=
a.length;d--;)e=a[d],h=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,h-e.size/2),c-e.size);d=a.length;for(e=!1;d--;)0<d&&a[d-1].pos+a[d-1].size>a[d].pos&&(a[d-1].size+=a[d].size,a[d-1].targets=a[d-1].targets.concat(a[d].targets),a[d-1].pos+a[d-1].size>c&&(a[d-1].pos=c-a[d-1].size),a.splice(d,1),e=!0)}d=0;A(a,function(a){var b=0;A(a.targets,function(){g[d].pos=a.pos+b;b+=g[d].size;d++})});g.push.apply(g,f);k(g,b)};c.prototype.drawDataLabels=function(){var a=
this,c=a.options,b=c.dataLabels,d=a.points,f,k,h=a.hasRendered||0,l,p,v=n(b.defer,!0),m=a.chart.renderer;if(b.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(b),p=a.plotGroup("dataLabelsGroup","data-labels",v&&!h?"hidden":"visible",b.zIndex||6),v&&(p.attr({opacity:+h}),h||z(a,"afterAnimate",function(){a.visible&&p.show(!0);p[c.animation?"animate":"attr"]({opacity:1},{duration:200})})),k=b,A(d,function(d){var e,g=d.dataLabel,h,v,r=d.connector,C=!0,w,x={};f=d.dlOptions||d.options&&
d.options.dataLabels;e=n(f&&f.enabled,k.enabled)&&null!==d.y;if(g&&!e)d.dataLabel=g.destroy();else if(e){b=t(k,f);w=b.style;e=b.rotation;h=d.getLabelConfig();l=b.format?q(b.format,h):b.formatter.call(h,b);w.color=n(b.color,w.color,a.color,"#000000");if(g)B(l)?(g.attr({text:l}),C=!1):(d.dataLabel=g=g.destroy(),r&&(d.connector=r.destroy()));else if(B(l)){g={fill:b.backgroundColor,stroke:b.borderColor,"stroke-width":b.borderWidth,r:b.borderRadius||0,rotation:e,padding:b.padding,zIndex:1};"contrast"===
w.color&&(x.color=b.inside||0>b.distance||c.stacking?m.getContrast(d.color||a.color):"#000000");c.cursor&&(x.cursor=c.cursor);for(v in g)void 0===g[v]&&delete g[v];g=d.dataLabel=m[e?"text":"label"](l,0,-9999,b.shape,null,null,b.useHTML,null,"data-label").attr(g);g.addClass("highcharts-data-label-color-"+d.colorIndex+" "+(b.className||"")+(b.useHTML?"highcharts-tracker":""));g.css(u(w,x));g.add(p);g.shadow(b.shadow)}g&&a.alignDataLabel(d,g,b,null,C)}})};c.prototype.alignDataLabel=function(a,c,b,d,
f){var e=this.chart,g=e.inverted,h=n(a.plotX,-9999),p=n(a.plotY,-9999),k=c.getBBox(),m,l=b.rotation,r=b.align,q=this.visible&&(a.series.forceDL||e.isInsidePlot(h,Math.round(p),g)||d&&e.isInsidePlot(h,g?d.x+1:d.y+d.height-1,g)),w="justify"===n(b.overflow,"justify");q&&(m=b.style.fontSize,m=e.renderer.fontMetrics(m,c).b,d=u({x:g?e.plotWidth-p:h,y:Math.round(g?e.plotHeight-h:p),width:0,height:0},d),u(b,{width:k.width,height:k.height}),l?(w=!1,g=e.renderer.rotCorr(m,l),g={x:d.x+b.x+d.width/2+g.x,y:d.y+
b.y+{top:0,middle:.5,bottom:1}[b.verticalAlign]*d.height},c[f?"attr":"animate"](g).attr({align:r}),h=(l+720)%360,h=180<h&&360>h,"left"===r?g.y-=h?k.height:0:"center"===r?(g.x-=k.width/2,g.y-=k.height/2):"right"===r&&(g.x-=k.width,g.y-=h?0:k.height)):(c.align(b,null,d),g=c.alignAttr),w?this.justifyDataLabel(c,b,g,k,d,f):n(b.crop,!0)&&(q=e.isInsidePlot(g.x,g.y)&&e.isInsidePlot(g.x+k.width,g.y+k.height)),b.shape&&!l&&c.attr({anchorX:a.plotX,anchorY:a.plotY}));q||(c.attr({y:-9999}),c.placed=!1)};c.prototype.justifyDataLabel=
function(a,c,b,d,f,h){var e=this.chart,g=c.align,p=c.verticalAlign,k,m,l=a.box?0:a.padding||0;k=b.x+l;0>k&&("right"===g?c.align="left":c.x=-k,m=!0);k=b.x+d.width-l;k>e.plotWidth&&("left"===g?c.align="right":c.x=e.plotWidth-k,m=!0);k=b.y+l;0>k&&("bottom"===p?c.verticalAlign="top":c.y=-k,m=!0);k=b.y+d.height-l;k>e.plotHeight&&("top"===p?c.verticalAlign="bottom":c.y=e.plotHeight-k,m=!0);m&&(a.placed=!h,a.align(c,null,f))};f.pie&&(f.pie.prototype.drawDataLabels=function(){var e=this,g=e.data,b,d=e.chart,
f=e.options.dataLabels,k=n(f.connectorPadding,10),h=n(f.connectorWidth,1),l=d.plotWidth,p=d.plotHeight,v,m=f.distance,q=e.center,t=q[2]/2,u=q[1],J=0<m,E,z,B,K,M=[[],[]],N,L,H,R,Q=[0,0,0,0];e.visible&&(f.enabled||e._hasPointLabels)&&(c.prototype.drawDataLabels.apply(e),A(g,function(a){a.dataLabel&&a.visible&&(M[a.half].push(a),a.dataLabel._pos=null)}),A(M,function(c,g){var h,n,v=c.length,C,w,x;if(v)for(e.sortByAngle(c,g-.5),0<m&&(h=Math.max(0,u-t-m),n=Math.min(u+t+m,d.plotHeight),C=r(c,function(a){if(a.dataLabel)return x=
a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-h+x/2,size:x,rank:a.y}}),a.distribute(C,n+x-h)),R=0;R<v;R++)b=c[R],B=b.labelPos,E=b.dataLabel,H=!1===b.visible?"hidden":"inherit",w=B[1],C?void 0===C[R].pos?H="hidden":(K=C[R].size,L=h+C[R].pos):L=w,N=f.justify?q[0]+(g?-1:1)*(t+m):e.getX(L<h+2||L>n-2?w:L,g),E._attr={visibility:H,align:B[6]},E._pos={x:N+f.x+({left:k,right:-k}[B[6]]||0),y:L+f.y-10},B.x=N,B.y=L,null===e.options.size&&(z=E.width,N-z<k?Q[3]=Math.max(Math.round(z-N+k),Q[3]):N+z>l-k&&
(Q[1]=Math.max(Math.round(N+z-l+k),Q[1])),0>L-K/2?Q[0]=Math.max(Math.round(-L+K/2),Q[0]):L+K/2>p&&(Q[2]=Math.max(Math.round(L+K/2-p),Q[2])))}),0===y(Q)||this.verifyDataLabelOverflow(Q))&&(this.placeDataLabels(),J&&h&&A(this.points,function(a){var b;v=a.connector;if((E=a.dataLabel)&&E._pos&&a.visible){H=E._attr.visibility;if(b=!v)a.connector=v=d.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(e.dataLabelsGroup),v.attr({"stroke-width":h,stroke:f.connectorColor||
a.color||"#666666"});v[b?"attr":"animate"]({d:e.connectorPath(a.labelPos)});v.attr("visibility",H)}else v&&(a.connector=v.destroy())}))},f.pie.prototype.connectorPath=function(a){var c=a.x,b=a.y;return n(this.options.dataLabels.softConnector,!0)?["M",c+("left"===a[6]?5:-5),b,"C",c,b,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",c+("left"===a[6]?5:-5),b,"L",a[2],a[3],"L",a[4],a[5]]},f.pie.prototype.placeDataLabels=function(){A(this.points,function(a){var c=a.dataLabel;c&&a.visible&&((a=c._pos)?
(c.attr(c._attr),c[c.moved?"animate":"attr"](a),c.moved=!0):c&&c.attr({y:-9999}))})},f.pie.prototype.alignDataLabel=h,f.pie.prototype.verifyDataLabelOverflow=function(a){var c=this.center,b=this.options,d=b.center,e=b.minSize||80,f,k;null!==d[0]?f=Math.max(c[2]-Math.max(a[1],a[3]),e):(f=Math.max(c[2]-a[1]-a[3],e),c[0]+=(a[3]-a[1])/2);null!==d[1]?f=Math.max(Math.min(f,c[2]-Math.max(a[0],a[2])),e):(f=Math.max(Math.min(f,c[2]-a[0]-a[2]),e),c[1]+=(a[0]-a[2])/2);f<c[2]?(c[2]=f,c[3]=Math.min(l(b.innerSize||
0,f),f),this.translate(c),this.drawDataLabels&&this.drawDataLabels()):k=!0;return k});f.column&&(f.column.prototype.alignDataLabel=function(a,g,b,d,f){var e=this.chart.inverted,k=a.series,h=a.dlBox||a.shapeArgs,p=n(a.below,a.plotY>n(this.translatedThreshold,k.yAxis.len)),l=n(b.inside,!!this.options.stacking);h&&(d=t(h),0>d.y&&(d.height+=d.y,d.y=0),h=d.y+d.height-k.yAxis.len,0<h&&(d.height-=h),e&&(d={x:k.yAxis.len-d.y-d.height,y:k.xAxis.len-d.x-d.width,width:d.height,height:d.width}),l||(e?(d.x+=p?
0:d.width,d.width=0):(d.y+=p?d.height:0,d.height=0)));b.align=n(b.align,!e||l?"center":p?"right":"left");b.verticalAlign=n(b.verticalAlign,e||l?"middle":p?"top":"bottom");c.prototype.alignDataLabel.call(this,a,g,b,d,f)})})(H);(function(a){var z=a.addEvent,y=a.Chart,B=a.createElement,A=a.css,u=a.defaultOptions,q=a.defaultPlotOptions,r=a.each,t=a.extend,h=a.fireEvent,n=a.hasTouch,l=a.inArray,c=a.isObject,f=a.Legend,k=a.merge,e=a.pick,g=a.Point,b=a.Series,d=a.seriesTypes,w=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=
this,b=a.chart,d=b.pointer,c=function(a){for(var d=a.target,c;d&&!c;)c=d.point,d=d.parentNode;if(void 0!==c&&c!==b.hoverPoint)c.onMouseOver(a)};r(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||(r(a.trackerGroups,function(b){if(a[b]){a[b].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){d.onTrackerMouseOut(a)});if(n)a[b].on("touchstart",c);a.options.cursor&&a[b].css(A).css({cursor:a.options.cursor})}}),
a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,b=a.options,d=b.trackByArea,c=[].concat(d?a.areaPath:a.graphPath),e=c.length,g=a.chart,f=g.pointer,k=g.renderer,h=g.options.tooltip.snap,l=a.tracker,q,t=function(){if(g.hoverSeries!==a)a.onMouseOver()},u="rgba(192,192,192,"+(w?.0001:.002)+")";if(e&&!d)for(q=e+1;q--;)"M"===c[q]&&c.splice(q+1,0,c[q+1]-h,c[q+2],"L"),(q&&"M"===c[q]||q===e)&&c.splice(q,0,"L",c[q-2]+h,c[q-1]);l?l.attr({d:c}):a.graph&&(a.tracker=k.path(c).attr({"stroke-linejoin":"round",
visibility:a.visible?"visible":"hidden",stroke:u,fill:d?u:"none","stroke-width":a.graph.strokeWidth()+(d?0:2*h),zIndex:2}).add(a.group),r([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){f.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(n)a.on("touchstart",t)}))}};d.column&&(d.column.prototype.drawTracker=a.drawTrackerPoint);d.pie&&(d.pie.prototype.drawTracker=a.drawTrackerPoint);d.scatter&&(d.scatter.prototype.drawTracker=
a.drawTrackerPoint);t(f.prototype,{setItemEvents:function(a,b,d){var c=this,e=c.chart,g="highcharts-legend-"+(a.series?"point":"series")+"-active";(d?b:a.legendGroup).on("mouseover",function(){a.setState("hover");e.seriesGroup.addClass(g);b.css(c.options.itemHoverStyle)}).on("mouseout",function(){b.css(a.visible?c.itemStyle:c.itemHiddenStyle);e.seriesGroup.removeClass(g);a.setState()}).on("click",function(b){var d=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",
b,d):h(a,"legendItemClick",b,d)})},createCheckboxForItem:function(a){a.checkbox=B("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);z(a.checkbox,"click",function(b){h(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});u.legend.itemStyle.cursor="pointer";t(y.prototype,{showResetZoom:function(){var a=this,b=u.lang,d=a.options.chart.resetZoomButton,c=d.theme,e=c.states,g="chart"===d.relativeTo?
null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},c,e&&e.hover).attr({align:d.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,g)},zoomOut:function(){var a=this;h(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,d=this.pointer,g=!1,f;!a||a.resetSelection?r(this.axes,function(a){b=a.zoom()}):r(a.xAxis.concat(a.yAxis),function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&
(b=c.zoom(a.min,a.max),c.displayBtn&&(g=!0))});f=this.resetZoomButton;g&&!f?this.showResetZoom():!g&&c(f)&&(this.resetZoomButton=f.destroy());b&&this.redraw(e(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var d=this,c=d.hoverPoints,e;c&&r(c,function(a){a.setState()});r("xy"===b?[1,0]:[1],function(b){b=d[b?"xAxis":"yAxis"][0];var c=b.horiz,g=a[c?"chartX":"chartY"],c=c?"mouseDownX":"mouseDownY",p=d[c],f=(b.pointRange||0)/2,m=b.getExtremes(),k=b.toValue(p-g,!0)+
f,f=b.toValue(p+b.len-g,!0)-f,h=f<k,p=h?f:k,k=h?k:f,f=Math.min(m.dataMin,m.min)-p,m=k-Math.max(m.dataMax,m.max);b.series.length&&0>f&&0>m&&(b.setExtremes(p,k,!1,!1,{trigger:"pan"}),e=!0);d[c]=g});e&&d.redraw(!1);A(d.container,{cursor:"move"})}});t(g.prototype,{select:function(a,b){var d=this,c=d.series,g=c.chart;a=e(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;c.options.data[l(d,c.data)]=d.options;d.setState(a&&"select");b||r(g.getSelectedPoints(),
function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,c.options.data[l(a,c.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a,b){var d=this.series,c=d.chart,e=c.tooltip,g=c.hoverPoint;if(this.series){if(!b){if(g&&g!==this)g.onMouseOut();if(c.hoverSeries!==d)d.onMouseOver();c.hoverPoint=this}!e||e.shared&&!d.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;this.firePointEvent("mouseOut");b&&-1!==l(this,b)||(this.setState(),a.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var a=k(this.series.options.point,this.options).events,b;this.events=a;for(b in a)z(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,b){var d=Math.floor(this.plotX),c=this.plotY,g=this.series,f=g.options.states[a]||{},k=q[g.type].marker&&g.options.marker,h=k&&!1===k.enabled,l=k&&k.states&&k.states[a]||{},n=!1===l.enabled,
r=g.stateMarkerGraphic,w=this.marker||{},C=g.chart,x=g.halo,u,y=k&&g.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(n||h&&!1===l.enabled)||a&&w.states&&w.states[a]&&!1===w.states[a].enabled)){y&&(u=g.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.attr(g.pointAttribs(this,a)),u&&this.graphic.animate(u,e(C.options.chart.animation,
l.animation,k.animation)),r&&r.hide();else{if(a&&l){k=w.symbol||g.symbol;r&&r.currentSymbol!==k&&(r=r.destroy());if(r)r[b?"animate":"attr"]({x:u.x,y:u.y});else k&&(g.stateMarkerGraphic=r=C.renderer.symbol(k,u.x,u.y,u.width,u.height).add(g.markerGroup),r.currentSymbol=k);r&&r.attr(g.pointAttribs(this,a))}r&&(r[a&&C.isInsidePlot(d,c,C.inverted)?"show":"hide"](),r.element.point=this)}(d=f.halo)&&d.size?(x||(g.halo=x=C.renderer.path().add(y?g.markerGroup:g.group)),x[b?"animate":"attr"]({d:this.haloPath(d.size)}),
x.attr({"class":"highcharts-halo highcharts-color-"+e(this.colorIndex,g.colorIndex)}),x.point=this,x.attr(t({fill:this.color||g.color,"fill-opacity":d.opacity,zIndex:-1},d.attributes))):x&&x.point&&x.point.haloPath&&x.animate({d:x.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});t(b.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&
h(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,c=b.hoverPoint;b.hoverSeries=null;if(c)c.onMouseOut();this&&a.events.mouseOut&&h(this,"mouseOut");!d||a.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();this.setState()},setState:function(a){var b=this,d=b.options,c=b.graph,e=d.states,g=d.lineWidth,d=0;a=a||"";if(b.state!==a&&(r([b.group,b.markerGroup],function(d){d&&(b.state&&d.removeClass("highcharts-series-"+
b.state),a&&d.addClass("highcharts-series-"+a))}),b.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(g=e[a].lineWidth||g+(e[a].lineWidthPlus||0)),c&&!c.dashstyle))for(e={"stroke-width":g},c.attr(e);b["zone-graph-"+d];)b["zone-graph-"+d].attr(e),d+=1},setVisible:function(a,b){var d=this,c=d.chart,e=d.legendItem,g,f=c.options.chart.ignoreHiddenSeries,k=d.visible;g=(d.visible=a=d.options.visible=d.userOptions.visible=void 0===a?!k:a)?"show":"hide";r(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(d[a])d[a][g]()});
if(c.hoverSeries===d||(c.hoverPoint&&c.hoverPoint.series)===d)d.onMouseOut();e&&c.legend.colorizeItem(d,a);d.isDirty=!0;d.options.stacking&&r(c.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});r(d.linkedSeries,function(b){b.setVisible(a,!1)});f&&(c.isDirtyBox=!0);!1!==b&&c.redraw();h(d,g)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);h(this,a?"select":
"unselect")},drawTracker:a.drawTrackerGraph})})(H);(function(a){var z=a.addEvent,y=a.Axis,B=a.Chart,A=a.css,u=a.dateFormat,q=a.defined,r=a.each,t=a.extend,h=a.noop,n=a.Series,l=a.timeUnits;a=a.wrap;a(n.prototype,"init",function(a){var c;a.apply(this,Array.prototype.slice.call(arguments,1));(c=this.xAxis)&&c.options.ordinal&&z(this,"updatedData",function(){delete c.ordinalIndex})});a(y.prototype,"getTimeTicks",function(a,f,k,e,g,b,d,h){var c=0,n,r,p={},v,m,w,t=[],I=-Number.MAX_VALUE,J=this.options.tickPixelInterval;
if(!this.options.ordinal&&!this.options.breaks||!b||3>b.length||void 0===k)return a.call(this,f,k,e,g);m=b.length;for(n=0;n<m;n++){w=n&&b[n-1]>e;b[n]<k&&(c=n);if(n===m-1||b[n+1]-b[n]>5*d||w){if(b[n]>I){for(r=a.call(this,f,b[c],b[n],g);r.length&&r[0]<=I;)r.shift();r.length&&(I=r[r.length-1]);t=t.concat(r)}c=n+1}if(w)break}a=r.info;if(h&&a.unitRange<=l.hour){n=t.length-1;for(c=1;c<n;c++)u("%d",t[c])!==u("%d",t[c-1])&&(p[t[c]]="day",v=!0);v&&(p[t[0]]="day");a.higherRanks=p}t.info=a;if(h&&q(J)){h=a=t.length;
n=[];var E;for(v=[];h--;)c=this.translate(t[h]),E&&(v[h]=E-c),n[h]=E=c;v.sort();v=v[Math.floor(v.length/2)];v<.6*J&&(v=null);h=t[a-1]>e?a-1:a;for(E=void 0;h--;)c=n[h],e=Math.abs(E-c),E&&e<.8*J&&(null===v||e<.8*v)?(p[t[h]]&&!p[t[h+1]]?(e=h+1,E=c):e=h,t.splice(e,1)):E=c}return t});t(y.prototype,{beforeSetTickPositions:function(){var a,f=[],k=!1,e,g=this.getExtremes(),b=g.min,d=g.max,h,l=this.isXAxis&&!!this.options.breaks,g=this.options.ordinal,n=this.chart.options.chart.ignoreHiddenSeries;if(g||l){r(this.series,
function(b,d){if(!(n&&!1===b.visible||!1===b.takeOrdinalPosition&&!l)&&(f=f.concat(b.processedXData),a=f.length,f.sort(function(a,b){return a-b}),a))for(d=a-1;d--;)f[d]===f[d+1]&&f.splice(d,1)});a=f.length;if(2<a){e=f[1]-f[0];for(h=a-1;h--&&!k;)f[h+1]-f[h]!==e&&(k=!0);!this.options.keepOrdinalPadding&&(f[0]-b>e||d-f[f.length-1]>e)&&(k=!0)}k?(this.ordinalPositions=f,e=this.val2lin(Math.max(b,f[0]),!0),h=Math.max(this.val2lin(Math.min(d,f[f.length-1]),!0),1),this.ordinalSlope=d=(d-b)/(h-e),this.ordinalOffset=
b-e*d):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=g&&k;this.groupIntervalFactor=null},val2lin:function(a,f){var c=this.ordinalPositions;if(c){var e=c.length,g,b;for(g=e;g--;)if(c[g]===a){b=g;break}for(g=e-1;g--;)if(a>c[g]||0===g){a=(a-c[g])/(c[g+1]-c[g]);b=g+a;break}f=f?b:this.ordinalSlope*(b||0)+this.ordinalOffset}else f=a;return f},lin2val:function(a,f){var c=this.ordinalPositions;if(c){var e=this.ordinalSlope,g=this.ordinalOffset,b=c.length-1,d;if(f)0>a?a=
c[0]:a>b?a=c[b]:(b=Math.floor(a),d=a-b);else for(;b--;)if(f=e*b+g,a>=f){e=e*(b+1)+g;d=(a-f)/(e-f);break}return void 0!==d&&void 0!==c[b]?c[b]+(d?d*(c[b+1]-c[b]):0):a}return a},getExtendedPositions:function(){var a=this.chart,f=this.series[0].currentDataGrouping,k=this.ordinalIndex,e=f?f.count+f.unitName:"raw",g=this.getExtremes(),b,d;k||(k=this.ordinalIndex={});k[e]||(b={series:[],chart:a,getExtremes:function(){return{min:g.dataMin,max:g.dataMax}},options:{ordinal:!0},val2lin:y.prototype.val2lin},
r(this.series,function(c){d={xAxis:b,xData:c.xData,chart:a,destroyGroupedData:h};d.options={dataGrouping:f?{enabled:!0,forced:!0,approximation:"open",units:[[f.unitName,[f.count]]]}:{enabled:!1}};c.processData.apply(d);b.series.push(d)}),this.beforeSetTickPositions.apply(b),k[e]=b.ordinalPositions);return k[e]},getGroupIntervalFactor:function(a,f,h){var c;h=h.processedXData;var g=h.length,b=[];c=this.groupIntervalFactor;if(!c){for(c=0;c<g-1;c++)b[c]=h[c+1]-h[c];b.sort(function(a,b){return a-b});b=
b[Math.floor(g/2)];a=Math.max(a,h[0]);f=Math.min(f,h[g-1]);this.groupIntervalFactor=c=g*b/(f-a)}return c},postProcessTickInterval:function(a){var c=this.ordinalSlope;return c?this.options.breaks?this.closestPointRange:a/(c/this.closestPointRange):a}});a(B.prototype,"pan",function(a,f){var c=this.xAxis[0],e=f.chartX,g=!1;if(c.options.ordinal&&c.series.length){var b=this.mouseDownX,d=c.getExtremes(),h=d.dataMax,l=d.min,n=d.max,q=this.hoverPoints,p=c.closestPointRange,b=(b-e)/(c.translationSlope*(c.ordinalSlope||
p)),v={ordinalPositions:c.getExtendedPositions()},p=c.lin2val,m=c.val2lin,t;v.ordinalPositions?1<Math.abs(b)&&(q&&r(q,function(a){a.setState()}),0>b?(q=v,t=c.ordinalPositions?c:v):(q=c.ordinalPositions?c:v,t=v),v=t.ordinalPositions,h>v[v.length-1]&&v.push(h),this.fixedRange=n-l,b=c.toFixedRange(null,null,p.apply(q,[m.apply(q,[l,!0])+b,!0]),p.apply(t,[m.apply(t,[n,!0])+b,!0])),b.min>=Math.min(d.dataMin,l)&&b.max<=Math.max(h,n)&&c.setExtremes(b.min,b.max,!0,!1,{trigger:"pan"}),this.mouseDownX=e,A(this.container,
{cursor:"move"})):g=!0}else g=!0;g&&a.apply(this,Array.prototype.slice.call(arguments,1))});n.prototype.gappedPath=function(){var a=this.options.gapSize,f=this.points.slice(),h=f.length-1;if(a&&0<h)for(;h--;)f[h+1].x-f[h].x>this.closestPointRange*a&&f.splice(h+1,0,{isNull:!0});return this.getGraphPath(f)}})(H);(function(a){var z=a.arrayMax,y=a.arrayMin,B=a.Axis,A=a.defaultPlotOptions,u=a.defined,q=a.each,r=a.extend,t=a.format,h=a.isNumber,n=a.merge,l=a.pick,c=a.Point,f=a.Tooltip,k=a.wrap,e=a.Series.prototype,
g=e.processData,b=e.generatePoints,d=e.destroy,w={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B",
"-%B %Y"],year:["%Y","%Y","-%Y"]}},C={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},x=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,
2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],D={sum:function(a){var b=a.length,d;if(!b&&a.hasNulls)d=null;else if(b)for(d=0;b--;)d+=a[b];return d},average:function(a){var b=a.length;a=D.sum(a);h(a)&&b&&(a/=b);return a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?z(a):a.hasNulls?null:void 0},low:function(a){return a.length?y(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-1]:a.hasNulls?null:void 0},
ohlc:function(a,b,d,c){a=D.open(a);b=D.high(b);d=D.low(d);c=D.close(c);if(h(a)||h(b)||h(d)||h(c))return[a,b,d,c]},range:function(a,b){a=D.low(a);b=D.high(b);if(h(a)||h(b))return[a,b]}};e.groupData=function(a,b,d,c){var e=this.data,g=this.options.data,f=[],m=[],p=[],k=a.length,l,n,r=!!b,q=[[],[],[],[]];c="function"===typeof c?c:D[c];var v=this.pointArrayMap,t=v&&v.length,w,C=0;for(w=n=0;w<=k&&!(a[w]>=d[0]);w++);for(w;w<=k;w++){for(;(void 0!==d[C+1]&&a[w]>=d[C+1]||w===k)&&(l=d[C],this.dataGroupInfo=
{start:n,length:q[0].length},n=c.apply(this,q),void 0!==n&&(f.push(l),m.push(n),p.push(this.dataGroupInfo)),n=w,q[0]=[],q[1]=[],q[2]=[],q[3]=[],C+=1,w!==k););if(w===k)break;if(v){l=this.cropStart+w;l=e&&e[l]||this.pointClass.prototype.applyOptions.apply({series:this},[g[l]]);var u,x;for(u=0;u<t;u++)x=l[v[u]],h(x)?q[u].push(x):null===x&&(q[u].hasNulls=!0)}else l=r?b[w]:null,h(l)?q[0].push(l):null===l&&(q[0].hasNulls=!0)}return[f,m,p]};e.processData=function(){var a=this.chart,b=this.options.dataGrouping,
d=!1!==this.allowDG&&b&&l(b.enabled,a.options.isStock),c=this.visible||!a.options.chart.ignoreHiddenSeries,f;this.forceCrop=d;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==g.apply(this,arguments)&&d&&c){this.destroyGroupedData();var h=this.processedXData,k=this.processedYData,n=a.plotSizeX,a=this.xAxis,r=a.options.ordinal,q=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(q){this.isDirty=f=!0;c=a.getExtremes();d=c.min;c=c.max;r=r&&a.getGroupIntervalFactor(d,c,this)||1;
n=q*(c-d)/n*r;q=a.getTimeTicks(a.normalizeTimeTickInterval(n,b.units||x),Math.min(d,h[0]),Math.max(c,h[h.length-1]),a.options.startOfWeek,h,this.closestPointRange);h=e.groupData.apply(this,[h,k,q,b.approximation]);k=h[0];r=h[1];if(b.smoothed){b=k.length-1;for(k[b]=Math.min(k[b],c);b--&&0<b;)k[b]+=n/2;k[0]=Math.max(k[0],d)}this.currentDataGrouping=q.info;this.closestPointRange=q.info.totalRange;this.groupMap=h[2];u(k[0])&&k[0]<a.dataMin&&(a.min===a.dataMin&&(a.min=k[0]),a.dataMin=k[0]);this.processedXData=
k;this.processedYData=r}else this.currentDataGrouping=this.groupMap=null;this.hasGroupedData=f}};e.destroyGroupedData=function(){var a=this.groupedData;q(a||[],function(b,d){b&&(a[d]=b.destroy?b.destroy():null)});this.groupedData=null};e.generatePoints=function(){b.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};k(c.prototype,"update",function(b){this.dataGroup?a.error(24):b.apply(this,[].slice.call(arguments,1))});k(f.prototype,"tooltipFooterHeaderFormatter",
function(b,d,c){var e=d.series,g=e.tooltipOptions,f=e.options.dataGrouping,m=g.xDateFormat,k,p=e.xAxis,l=a.dateFormat;return p&&"datetime"===p.options.type&&f&&h(d.key)?(b=e.currentDataGrouping,f=f.dateTimeLabelFormats,b?(p=f[b.unitName],1===b.count?m=p[0]:(m=p[1],k=p[2])):!m&&f&&(m=this.getXDateFormat(d,g,p)),m=l(m,d.key),k&&(m+=l(k,d.key+b.totalRange-1)),t(g[(c?"footer":"header")+"Format"],{point:r(d.point,{key:m}),series:e})):b.call(this,d,c)});e.destroy=function(){for(var a=this.groupedData||
[],b=a.length;b--;)a[b]&&a[b].destroy();d.apply(this)};k(e,"setOptions",function(a,b){a=a.call(this,b);var d=this.type,c=this.chart.options.plotOptions,e=A[d].dataGrouping;C[d]&&(e||(e=n(w,C[d])),a.dataGrouping=n(e,c.series&&c.series.dataGrouping,c[d].dataGrouping,b.dataGrouping));this.chart.options.isStock&&(this.requireSorting=!0);return a});k(B.prototype,"setScale",function(a){a.call(this);q(this.series,function(a){a.hasProcessed=!1})});B.prototype.getGroupPixelWidth=function(){var a=this.series,
b=a.length,d,c=0,e=!1,g;for(d=b;d--;)(g=a[d].options.dataGrouping)&&(c=Math.max(c,g.groupPixelWidth));for(d=b;d--;)(g=a[d].options.dataGrouping)&&a[d].hasProcessed&&(b=(a[d].processedXData||a[d].data).length,a[d].groupPixelWidth||b>this.chart.plotSizeX/c||b&&g.forced)&&(e=!0);return e?c:0};B.prototype.setDataGrouping=function(a,b){var d;b=l(b,!0);a||(a={forced:!1,units:null});if(this instanceof B)for(d=this.series.length;d--;)this.series[d].update({dataGrouping:a},!1);else q(this.chart.options.series,
function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(H);(function(a){var z=a.each,y=a.Point,B=a.seriesType,A=a.seriesTypes;B("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,
a.high,a.low,a.close]},pointValKey:"high",pointAttribs:function(a,q){q=A.column.prototype.pointAttribs.call(this,a,q);var r=this.options;delete q.fill;q["stroke-width"]=r.lineWidth;q.stroke=a.options.color||(a.open<a.close?r.upColor||this.color:this.color);return q},translate:function(){var a=this,q=a.yAxis,r=!!a.modifyValue,t=["plotOpen","yBottom","plotClose"];A.column.prototype.translate.apply(a);z(a.points,function(h){z([h.open,h.low,h.close],function(n,l){null!==n&&(r&&(n=a.modifyValue(n)),h[t[l]]=
q.toPixels(n,!0))})})},drawPoints:function(){var a=this,q=a.chart;z(a.points,function(r){var t,h,n,l,c=r.graphic,f,k=!c;void 0!==r.plotY&&(c||(r.graphic=c=q.renderer.path().add(a.group)),c.attr(a.pointAttribs(r,r.selected&&"select")),h=c.strokeWidth()%2/2,f=Math.round(r.plotX)-h,n=Math.round(r.shapeArgs.width/2),l=["M",f,Math.round(r.yBottom),"L",f,Math.round(r.plotY)],null!==r.open&&(t=Math.round(r.plotOpen)+h,l.push("M",f,t,"L",f-n,t)),null!==r.close&&(t=Math.round(r.plotClose)+h,l.push("M",f,t,
"L",f+n,t)),c[k?"attr":"animate"]({d:l}).addClass(r.getClassName(),!0))})},animate:null},{getClassName:function(){return y.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(H);(function(a){var z=a.addEvent,y=a.each,B=a.merge,A=a.noop,u=a.Renderer,q=a.seriesType,r=a.seriesTypes,t=a.TrackerMixin,h=a.VMLRenderer,n=a.SVGRenderer.prototype.symbols;q("flags","column",{pointRange:0,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},
threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,pointAttribs:function(a,c){var f=this.options,h=a&&a.color||this.color,e=f.lineColor,g=a&&a.lineWidth;a=a&&a.fillColor||f.fillColor;c&&(a=f.states[c].fillColor,e=f.states[c].lineColor,g=f.states[c].lineWidth);return{fill:a||
h,stroke:e||h,"stroke-width":g||f.lineWidth||0}},translate:function(){r.column.prototype.translate.apply(this);var a=this.options,c=this.chart,f=this.points,h=f.length-1,e,g,b=a.onSeries;e=b&&c.get(b);var a=a.onKey||"y",b=e&&e.options.step,d=e&&e.points,n=d&&d.length,q=this.xAxis,t=q.getExtremes(),u=0,p,v,m;if(e&&e.visible&&n)for(u=(e.pointXOffset||0)+(e.barW||0)/2,e=e.currentDataGrouping,v=d[n-1].x+(e?e.totalRange:0),f.sort(function(a,b){return a.x-b.x}),a="plot"+a[0].toUpperCase()+a.substr(1);n--&&
f[h]&&!(e=f[h],p=d[n],p.x<=e.x&&void 0!==p[a]&&(e.x<=v&&(e.plotY=p[a],p.x<e.x&&!b&&(m=d[n+1])&&void 0!==m[a]&&(e.plotY+=(e.x-p.x)/(m.x-p.x)*(m[a]-p[a]))),h--,n++,0>h)););y(f,function(a,b){var d;void 0===a.plotY&&(a.x>=t.min&&a.x<=t.max?a.plotY=c.chartHeight-q.bottom-(q.opposite?q.height:0)+q.offset-c.plotTop:a.shapeArgs={});a.plotX+=u;(g=f[b-1])&&g.plotX===a.plotX&&(void 0===g.stackIndex&&(g.stackIndex=0),d=g.stackIndex+1);a.stackIndex=d})},drawPoints:function(){var a=this.points,c=this.chart,f=c.renderer,
h,e,g=this.options,b=g.y,d,n,r,q,t,p,v,m=this.yAxis;for(n=a.length;n--;)r=a[n],v=r.plotX>this.xAxis.len,h=r.plotX,q=r.stackIndex,d=r.options.shape||g.shape,e=r.plotY,void 0!==e&&(e=r.plotY+b-(void 0!==q&&q*g.stackDistance)),t=q?void 0:r.plotX,p=q?void 0:r.plotY,q=r.graphic,void 0!==e&&0<=h&&!v?(q||(q=r.graphic=f.label("",null,null,d,null,null,g.useHTML).attr(this.pointAttribs(r)).css(B(g.style,r.style)).attr({align:"flag"===d?"left":"center",width:g.width,height:g.height,"text-align":g.textAlign}).addClass("highcharts-point").add(this.markerGroup),
q.shadow(g.shadow)),0<h&&(h-=q.strokeWidth()%2),q.attr({text:r.options.title||g.title||"A",x:h,y:e,anchorX:t,anchorY:p}),r.tooltipPos=c.inverted?[m.len+m.pos-c.plotLeft-e,this.xAxis.len-h]:[h,e]):q&&(r.graphic=q.destroy())},drawTracker:function(){var a=this.points;t.drawTrackerPoint.apply(this);y(a,function(c){var f=c.graphic;f&&z(f.element,"mouseover",function(){0<c.stackIndex&&!c.raised&&(c._y=f.y,f.attr({y:c._y-8}),c.raised=!0);y(a,function(a){a!==c&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),
a.raised=!1)})})})},animate:A,buildKDTree:A,setClip:A});n.flag=function(a,c,f,h,e){return["M",e&&e.anchorX||a,e&&e.anchorY||c,"L",a,c+h,a,c,a+f,c,a+f,c+h,a,c+h,"Z"]};y(["circle","square"],function(a){n[a+"pin"]=function(c,f,h,e,g){var b=g&&g.anchorX;g=g&&g.anchorY;"circle"===a&&e>h&&(c-=Math.round((e-h)/2),h=e);c=n[a](c,f,h,e);b&&g&&c.push("M",b,f>g?f:f+e,"L",b,g);return c}});u===h&&y(["flag","circlepin","squarepin"],function(a){h.prototype.symbols[a]=n[a]})})(H);(function(a){function z(a,b,c){this.init(a,
b,c)}var y=a.addEvent,B=a.Axis,A=a.correctFloat,u=a.defaultOptions,q=a.defined,r=a.destroyObjectProperties,t=a.doc,h=a.each,n=a.fireEvent,l=a.hasTouch,c=a.isTouchDevice,f=a.merge,k=a.pick,e=a.removeEvent,g=a.wrap,b={height:c?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!c,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,
rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};u.scrollbar=f(!0,b,u.scrollbar);z.prototype={init:function(a,c,e){this.scrollbarButtons=[];this.renderer=a;this.userOptions=c;this.options=f(b,c);this.chart=e;this.size=k(this.options.size,this.options.height);c.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,c=this.size,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();
this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:c,width:c}).add(e);this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,width:c,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=
a.path(this.swapXY(["M",-3,c/4,"L",-3,2*c/3,"M",0,c/4,"L",0,2*c/3,"M",3,c/4,"L",3,2*c/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth});this.scrollbarRifles.attr({stroke:b.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);
this.drawScrollbarButton(1)},position:function(a,b,c,e){var d=this.options.vertical,g=0,f=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=c;this.xOffset=this.height=e;this.yOffset=g;d?(this.width=this.yOffset=c=g=this.size,this.xOffset=b=0,this.barWidth=e-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=c-2*e,this.y+=this.options.margin);this.group[f]({translateX:a,translateY:this.y});this.track[f]({width:c,height:e});this.scrollbarButtons[1].attr({translateX:d?
0:c-b,translateY:d?e-g:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,c=this.options,e=this.size,g;g=b.g().add(this.group);d.push(g);g=b.rect().addClass("highcharts-scrollbar-button").add(g);g.attr({stroke:c.buttonBorderColor,"stroke-width":c.buttonBorderWidth,fill:c.buttonBackgroundColor});g.attr(g.crisp({x:-.5,y:-.5,width:e+1,height:e+1,r:c.buttonBorderRadius},g.strokeWidth()));g=b.path(this.swapXY(["M",e/2+(a?-1:1),e/2-3,"L",e/2+(a?-1:1),e/2+3,"L",e/2+(a?2:-2),
e/2],c.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);g.attr({fill:c.buttonArrowColor})},swapXY:function(a,b){var d=a.length,c;if(b)for(b=0;b<d;b+=3)c=a[b+1],a[b+1]=a[b+2],a[b+2]=c;return a},setRange:function(a,b){var d=this.options,c=d.vertical,e=d.minWidth,g=this.barWidth,f,h,k=this.rendered&&!this.hasDragged?"animate":"attr";q(g)&&(a=Math.max(a,0),f=g*a,this.calculatedWidth=h=A(g*Math.min(b,1)-f),h<e&&(f=(g-e+h)*a,h=e),e=Math.floor(f+this.xOffset+this.yOffset),g=h/2-.5,this.from=a,
this.to=b,c?(this.scrollbarGroup[k]({translateY:e}),this.scrollbar[k]({height:h}),this.scrollbarRifles[k]({translateY:g}),this.scrollbarTop=e,this.scrollbarLeft=0):(this.scrollbarGroup[k]({translateX:e}),this.scrollbar[k]({width:h}),this.scrollbarRifles[k]({translateX:g}),this.scrollbarLeft=e,this.scrollbarTop=0),12>=h?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===d.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=
function(b){var d=a.chart.pointer.normalize(b),c=a.options.vertical?"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][c]||(d=a.cursorToScrollbarPosition(d)[c],c=a[c],c=d-c,a.hasDragged=!0,a.updatePosition(e[0]+c,e[1]+c),a.hasDragged&&n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=
a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=A(a.to-a.from)*a.options.step;a.updatePosition(A(a.from-d),A(a.to-d));n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,a.to+d);n(a,"changed",{from:a.from,
to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b),c=a.to-a.from,e=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>e||!a.options.vertical&&d.chartX>g?a.updatePosition(a.from+c,a.to+c):a.updatePosition(a.from-c,a.to-c);n(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/
(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=A(1-A(b-a)),b=1);0>a&&(b=A(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,f(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,c=this.scrollbarGroup.element,e=this.mouseDownHandler,g=this.mouseMoveHandler,f=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],
[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[c,"mousedown",e],[t,"mousemove",g],[t,"mouseup",f]];l&&a.push([c,"touchstart",e],[t,"touchmove",g],[t,"touchend",f]);h(a,function(a){y.apply(null,a)});this._events=a},removeEvents:function(){h(this._events,function(a){e.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();h(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&
this[a].destroy&&(this[a]=this[a].destroy())},this);a&&(a.scrollbar=null,r(a.scrollbarButtons))}};g(B.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new z(b.chart.renderer,b.options.scrollbar,b.chart),y(b.scrollbar,"changed",function(a){var c=Math.min(k(b.options.min,b.min),b.min,b.dataMin),d=Math.max(k(b.options.max,b.max),
b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e=c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});g(B.prototype,"render",function(a){var b=Math.min(k(this.options.min,this.min),this.min,this.dataMin),c=Math.max(k(this.options.max,this.max),this.max,this.dataMax),d=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));d&&(this.horiz?d.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),
this.width,this.height):d.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin:0),this.top,this.width,this.height),isNaN(b)||isNaN(c)||!q(this.min)||!q(this.max)?d.setRange(0,0):(e=(this.min-b)/(c-b),b=(this.max-b)/(c-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(e,b):d.setRange(1-b,1-e)))});g(B.prototype,"getOffset",function(a){var b=this.horiz?2:1,c=this.scrollbar;a.apply(this,[].slice.call(arguments,1));c&&(this.chart.axisOffset[b]+=c.size+c.options.margin)});
g(B.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=z})(H);(function(a){function z(a){this.init(a)}var y=a.addEvent,B=a.Axis,A=a.Chart,u=a.color,q=a.defaultOptions,r=a.defined,t=a.destroyObjectProperties,h=a.doc,n=a.each,l=a.erase,c=a.extend,f=a.grep,k=a.hasTouch,e=a.isNumber,g=a.isObject,b=a.isTouchDevice,d=a.merge,w=a.pick,C=a.removeEvent,x=a.Scrollbar,D=a.Series,p=a.seriesTypes,v=a.wrap,m=[].concat(a.defaultDataGroupingUnits),
F=function(a){var b=f(arguments,e);if(b.length)return Math[a].apply(0,b)};m[4]=["day",[1,2,3,4]];m[5]=["week",[1,2,3]];p=void 0===p.areaspline?"line":"areaspline";c(q,{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:u("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:p,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,
units:m},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,
labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});z.prototype={drawHandle:function(a,b){var c=this.chart.renderer,d=this.handles;this.rendered||(d[b]=c.path(["M",-4.5,.5,"L",3.5,.5,3.5,15.5,-4.5,15.5,-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12]).attr({zIndex:10-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(),c=this.navigatorOptions.handles,d[b].attr({fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":1}).css({cursor:"ew-resize"}));
d[b][this.rendered&&!this.hasDragged?"animate":"attr"]({translateX:Math.round(this.scrollerLeft+this.scrollbarHeight+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},update:function(a){this.destroy();d(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var g=this.chart,f=g.renderer,h,m,k,p;p=this.scrollbarHeight;var l=this.xAxis,n=this.navigatorOptions,q=n.maskInside,t=this.height,v=this.top,u=this.navigatorEnabled,C=this.outlineHeight,
x;x=this.rendered;if(e(a)&&e(b)&&(!this.hasDragged||r(c))&&(this.navigatorLeft=h=w(l.left,g.plotLeft+p),this.navigatorWidth=m=w(l.len,g.plotWidth-2*p),this.scrollerLeft=k=h-p,this.scrollerWidth=p=p=m+2*p,c=w(c,l.translate(a)),d=w(d,l.translate(b)),e(c)&&Infinity!==Math.abs(c)||(c=0,d=p),!(l.translate(d,!0)-l.translate(c,!0)<g.xAxis[0].minRange))){this.zoomedMax=Math.min(Math.max(c,d,0),m);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,d),0),m);this.range=
this.zoomedMax-this.zoomedMin;b=Math.round(this.zoomedMax);a=Math.round(this.zoomedMin);!x&&u&&(this.navigatorGroup=c=f.g("navigator").attr({zIndex:3}).add(),this.leftShade=f.rect().addClass("highcharts-navigator-mask"+(q?"-inside":"")).attr({fill:n.maskFill}).css(q&&{cursor:"ew-resize"}).add(c),q||(this.rightShade=f.rect().addClass("highcharts-navigator-mask").attr({fill:n.maskFill}).add(c)),this.outline=f.path().addClass("highcharts-navigator-outline").attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor}).add(c));
if(u){f=x&&!this.hasDragged?"animate":"attr";q=this.outline.strokeWidth();q/=2;x=v+q;this.leftShade[f](n.maskInside?{x:h+a,y:v,width:b-a,height:t}:{x:h,y:v,width:a,height:t});if(this.rightShade)this.rightShade[f]({x:h+b,y:v,width:m-b,height:t});this.outline[f]({d:["M",k,x,"L",h+a-q,x,h+a-q,x+C,"L",h+b-q,x+C,"L",h+b-q,x,k+p,x].concat(n.maskInside?["M",h+a+q,x,"L",h+b-q,x]:[])});this.drawHandle(a+q,0);this.drawHandle(b+q,1)}this.scrollbar&&(this.scrollbar.hasDragged=this.hasDragged,this.scrollbar.position(this.scrollerLeft,
this.top+(u?this.height:-this.scrollbarHeight),this.scrollerWidth,this.scrollbarHeight),this.scrollbar.setRange(a/m,b/m));this.rendered=!0}},addEvents:function(){var a=this.chart,b=a.container,c=this.mouseDownHandler,d=this.mouseMoveHandler,e=this.mouseUpHandler,g;g=[[b,"mousedown",c],[b,"mousemove",d],[h,"mouseup",e]];k&&g.push([b,"touchstart",c],[b,"touchmove",d],[h,"touchend",e]);n(g,function(a){y.apply(null,a)});this._events=g;this.series&&this.series[0]&&y(this.series[0].xAxis,"foundExtremes",
function(){a.scroller.modifyNavigatorAxisExtremes()});y(a,"redraw",function(){var a=this.scroller,b=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)})},removeEvents:function(){this._events&&(n(this._events,function(a){C.apply(null,a)}),this._events=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&!1!==this.navigatorOptions.adaptToUpdatedData&&(n(a,function(a){C(a,
"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&C(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var c=a.options,e=c.navigator,g=e.enabled,c=c.scrollbar,f=c.enabled,h=g?e.height:0,m=f?c.height:0;this.handles=[];this.scrollbarButtons=[];this.elementsToDestroy=[];this.chart=a;this.setBaseSeries();this.height=h;this.scrollbarHeight=m;this.scrollbarEnabled=f;this.navigatorEnabled=g;this.navigatorOptions=e;this.scrollbarOptions=c;this.outlineHeight=h+m;var k=this,
p,l,g=k.baseSeries;k.mouseDownHandler=function(c){c=a.pointer.normalize(c);var d=k.zoomedMin,e=k.zoomedMax,g=k.top,f=k.scrollerLeft,m=k.scrollerWidth,n=k.navigatorLeft,r=k.navigatorWidth,q=k.scrollbarPad||0,t=k.range,v=c.chartX,w=c.chartY;c=a.xAxis[0];var u,C=b?10:7;w>g&&w<g+h&&(Math.abs(v-d-n)<C?(k.grabbedLeft=!0,k.otherHandlePos=e,k.fixedExtreme=c.max,a.fixedRange=null):Math.abs(v-e-n)<C?(k.grabbedRight=!0,k.otherHandlePos=d,k.fixedExtreme=c.min,a.fixedRange=null):v>n+d-q&&v<n+e+q?(k.grabbedCenter=
v,k.fixedWidth=t,l=v-d):v>f&&v<f+m&&(e=v-n-t/2,0>e?e=0:e+t>=r&&(e=r-t,u=k.getUnionExtremes().dataMax),e!==d&&(k.fixedWidth=t,d=p.toFixedRange(e,e+t,null,u),c.setExtremes(d.min,d.max,!0,null,{trigger:"navigator"}))))};k.mouseMoveHandler=function(b){var c=k.scrollbarHeight,d=k.navigatorLeft,e=k.navigatorWidth,g=k.scrollerLeft,f=k.scrollerWidth,h=k.range,m;b.touches&&0===b.touches[0].pageX||(b=a.pointer.normalize(b),m=b.chartX,m<d?m=d:m>g+f-c&&(m=g+f-c),k.grabbedLeft?(k.hasDragged=!0,k.render(0,0,m-
d,k.otherHandlePos)):k.grabbedRight?(k.hasDragged=!0,k.render(0,0,k.otherHandlePos,m-d)):k.grabbedCenter&&(k.hasDragged=!0,m<l?m=l:m>e+l-h&&(m=e+l-h),k.render(0,0,m-l,m-l+h)),k.hasDragged&&k.scrollbar&&k.scrollbar.options.liveRedraw&&(b.DOMType=b.type,setTimeout(function(){k.mouseUpHandler(b)},0)))};k.mouseUpHandler=function(b){var c,d,e=b.DOMEvent||b;if(k.hasDragged||"scrollbar"===b.trigger)k.zoomedMin===k.otherHandlePos?c=k.fixedExtreme:k.zoomedMax===k.otherHandlePos&&(d=k.fixedExtreme),k.zoomedMax===
k.navigatorWidth&&(d=k.getUnionExtremes().dataMax),c=p.toFixedRange(k.zoomedMin,k.zoomedMax,c,d),r(c.min)&&a.xAxis[0].setExtremes(c.min,c.max,!0,k.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e});"mousemove"!==b.DOMType&&(k.grabbedLeft=k.grabbedRight=k.grabbedCenter=k.fixedWidth=k.fixedExtreme=k.otherHandlePos=k.hasDragged=l=null)};var c=a.xAxis.length,f=a.yAxis.length,n=g&&g[0]&&g[0].xAxis||a.xAxis[0];a.extraBottomMargin=k.outlineHeight+e.margin;a.isDirtyBox=!0;k.navigatorEnabled?
(k.xAxis=p=new B(a,d({offset:0},{breaks:n.options.breaks,ordinal:n.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:c,height:h,offsetLeft:m,offsetRight:-m,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1})),k.yAxis=new B(a,d(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,height:h,offset:0,index:f,zoomEnabled:!1})),g||e.series.data?k.addBaseSeries():0===a.series.length&&v(a,"redraw",function(b,c){0<a.series.length&&
!k.series&&(k.setBaseSeries(),a.redraw=b);b.call(a,c)})):k.xAxis=p={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),g=a.plotWidth-2*m,f=F("min",d.options.min,e.dataMin),d=F("max",d.options.max,e.dataMax)-f;return c?b*d/g+f:g*(b-f)/d},toFixedRange:B.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=k.scrollbar=new x(a.renderer,d(a.options.scrollbar,{margin:k.navigatorEnabled?0:10}),a),y(k.scrollbar,"changed",function(b){var c=k.navigatorWidth,d=c*this.to,c=c*this.from;
k.hasDragged=k.scrollbar.hasDragged;k.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType)&&setTimeout(function(){k.mouseUpHandler(b)})}));k.addBaseSeriesEvents();k.addEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,d=c.options,e=b.options,g;a&&null===b.dataMin||(g={dataMin:w(d&&d.min,F("min",e.min,b.dataMin,c.dataMin,c.min)),dataMax:w(d&&d.max,F("max",e.max,b.dataMax,c.dataMax,c.max))});return g},setBaseSeries:function(a){var b=this.chart,c=this.baseSeries=
[];a=a||b.options&&b.options.navigator.baseSeries||0;this.series&&(this.removeBaseSeriesEvents(),n(this.series,function(a){a.destroy()}));n(b.series||[],function(b,d){(b.options.showInNavigator||(d===a||b.options.id===a)&&!1!==b.options.showInNavigator)&&c.push(b)});this.xAxis&&!this.xAxis.fake&&this.addBaseSeries()},addBaseSeries:function(){var a=this,b=a.chart,c=a.series=[],e=a.baseSeries,g,f,h=a.navigatorOptions.series,k,m={enableMouseTracking:!1,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",
yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,visible:!0};e?n(e,function(e,p){m.name="Navigator "+(p+1);g=e.options||{};k=g.navigatorOptions||{};f=d(g,m,h,k);p=k.data||h.data;a.hasNavigatorData=a.hasNavigatorData||!!p;f.data=p||g.data&&g.data.slice(0);e.navigatorSeries=b.initSeries(f);c.push(e.navigatorSeries)}):(f=d(h,m),f.data=h.data,a.hasNavigatorData=!!f.data,c.push(b.initSeries(f)));this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];
b[0]&&b[0].xAxis&&y(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);!1!==this.navigatorOptions.adaptToUpdatedData&&n(b,function(b){b.xAxis&&(y(b,"updatedData",this.updatedDataHandler),b.userOptions.events=c(b.userOptions.event,{updatedData:this.updatedDataHandler}));y(b,"remove",function(){this.navigatorSeries&&(l(a.series,this.navigatorSeries),this.navigatorSeries.remove(),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=this.xAxis,b;a.getExtremes&&(!(b=
this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.scroller,b=this.getExtremes(),c=b.dataMin,d=b.dataMax,b=b.max-b.min,g=a.stickToMin,f=a.stickToMax,h,k,m=a.series&&a.series[0],p=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(g&&(k=c,h=k+b),f&&(h=d,g||(k=Math.max(h-b,m&&m.xData?m.xData[0]:-Number.MAX_VALUE))),p&&(g||f)&&e(k)&&(this.min=this.userMin=k,this.max=
this.userMax=h));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.scroller,b=this.navigatorSeries;a.stickToMin=e(this.xAxis.min)&&this.xAxis.min<=this.xData[0];a.stickToMax=Math.round(a.zoomedMax)>=Math.round(a.navigatorWidth);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},destroy:function(){this.removeEvents();this.xAxis&&(l(this.chart.xAxis,this.xAxis),l(this.chart.axes,this.xAxis));this.yAxis&&(l(this.chart.yAxis,
this.yAxis),l(this.chart.axes,this.yAxis));n(this.series||[],function(a){a.destroy&&a.destroy()});n("series xAxis yAxis leftShade rightShade outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);n([this.handles,this.elementsToDestroy],function(a){t(a)},this)}};a.Navigator=z;v(B.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,g=e.chart.zoomType,f=e.navigator,e=e.rangeSelector,
h;this.isXAxis&&(f&&f.enabled||e&&e.enabled)&&("x"===g?d.resetZoomButton="blocked":"y"===g?h=!1:"xy"===g&&(d=this.previousZoom,r(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!==h?h:a.call(this,b,c)});v(A.prototype,"init",function(a,b,c){y(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new z(this)});a.call(this,b,c)});v(A.prototype,"getMargins",function(a){var b=this.legend,
c=b.options,d=this.scroller,e,g;a.apply(this,[].slice.call(arguments,1));d&&(e=d.xAxis,g=d.yAxis,d.top=d.navigatorOptions.top||this.chartHeight-d.height-d.scrollbarHeight-this.spacing[2]-("bottom"===c.verticalAlign&&c.enabled&&!c.floating?b.legendHeight+w(c.margin,10):0),e&&g&&(e.options.top=g.options.top=d.top,e.setAxisSize(),g.setAxisSize()))});v(D.prototype,"addPoint",function(b,c,d,e,f){var h=this.options.turboThreshold;h&&this.xData.length>h&&g(c,!0)&&this.chart.scroller&&a.error(20,!0);b.call(this,
c,d,e,f)});v(A.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.scroller&&this.scroller.setBaseSeries();w(c,!0)&&this.redraw();return a});v(D.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.scroller&&this.chart.scroller.setBaseSeries();w(c,!0)&&this.chart.redraw()})})(H);(function(a){function z(a){this.init(a)}var y=a.addEvent,B=a.Axis,A=a.Chart,u=a.css,q=a.createElement,r=a.dateFormat,t=a.defaultOptions,h=t.global.useUTC,n=a.defined,l=a.destroyObjectProperties,c=
a.discardElement,f=a.each,k=a.extend,e=a.fireEvent,g=a.Date,b=a.isNumber,d=a.merge,w=a.pick,C=a.pInt,x=a.splat,D=a.wrap;k(t,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"},labelStyle:{color:"#666666"}}});t.lang=d(t.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});z.prototype={clickButton:function(a,c){var d=this,e=d.chart,g=d.buttonOptions[a],k=e.xAxis[0],p=e.scroller&&e.scroller.getUnionExtremes()||
k||{},l=p.dataMin,n=p.dataMax,r,q=k&&Math.round(Math.min(k.max,w(n,k.max))),t=g.type,v,p=g._range,u,C,z,A=g.dataGrouping;if(null!==l&&null!==n){e.fixedRange=p;A&&(this.forcedDataGrouping=!0,B.prototype.setDataGrouping.call(k||{chart:this.chart},A,!1));if("month"===t||"year"===t)k?(t={range:g,max:q,dataMin:l,dataMax:n},r=k.minFromRange.call(t),b(t.newMax)&&(q=t.newMax)):p=g;else if(p)r=Math.max(q-p,l),q=Math.min(r+p,n);else if("ytd"===t)if(k)void 0===n&&(l=Number.MAX_VALUE,n=Number.MIN_VALUE,f(e.series,
function(a){a=a.xData;l=Math.min(a[0],l);n=Math.max(a[a.length-1],n)}),c=!1),q=d.getYTDExtremes(n,l,h),r=u=q.min,q=q.max;else{y(e,"beforeRender",function(){d.clickButton(a)});return}else"all"===t&&k&&(r=l,q=n);d.setSelected(a);k?k.setExtremes(r,q,w(c,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:g}):(v=x(e.options.xAxis)[0],z=v.range,v.range=p,C=v.min,v.min=u,y(e,"load",function(){v.range=z;v.min=C}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",
count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||[].concat(b.defaultButtons),g=c.selected,h=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&e(a,"blur");c&&c.blur&&e(c,"blur")};b.chart=a;b.options=c;b.buttons=[];a.extraTopMargin=c.height;b.buttonOptions=d;this.unMouseDown=y(a.container,"mousedown",h);this.unResize=
y(a,"resize",h);f(d,b.computeButtonRange);void 0!==g&&d[g]&&this.clickButton(g,!1);y(a,"load",function(){y(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,c=a.xAxis[0],d=Math.round(c.max-c.min),e=!c.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||c,g=a.dataMin,k=a.dataMax,a=this.getYTDExtremes(k,g,h),
l=a.min,n=a.max,r=this.selected,q=b(r),t=this.options.allButtonsEnabled,w=this.buttons;f(this.buttonOptions,function(a,b){var f=a._range,h=a.type,m=a.count||1;a=w[b];var p=0;b=b===r;var v=f>k-g,u=f<c.minRange,C=!1,x=!1,f=f===d;("month"===h||"year"===h)&&d>=864E5*{month:28,year:365}[h]*m&&d<=864E5*{month:31,year:366}[h]*m?f=!0:"ytd"===h?(f=n-l===d,C=!b):"all"===h&&(f=c.max-c.min>=k-g,x=!b&&q&&f);h=!t&&(v||u||x||e);f=b&&f||f&&!q&&!C;h?p=3:f&&(q=!0,p=2);a.state!==p&&a.setState(p)})},computeButtonRange:function(a){var b=
a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this[a+"Input"];n(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=r(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:r(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];
u(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){u(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function c(){var a=w.value,c=(l.inputDateParser||Date.parse)(a),d=g.xAxis[0],f=g.scroller&&g.scroller.xAxis?g.scroller.xAxis:d,k=f.dataMin,f=f.dataMax;c!==w.previousValue&&(w.previousValue=c,b(c)||(c=a.split("-"),c=Date.UTC(C(c[0]),C(c[1])-
1,C(c[2]))),b(c)&&(h||(c+=6E4*(new Date).getTimezoneOffset()),r?c>e.maxInput.HCTime?c=void 0:c<k&&(c=k):c<e.minInput.HCTime?c=void 0:c>f&&(c=f),void 0!==c&&d.setExtremes(r?c:d.min,r?d.max:c,void 0,void 0,{trigger:"rangeSelectorInput"})))}var e=this,g=e.chart,f=g.renderer.style||{},p=g.renderer,l=g.options.rangeSelector,n=e.div,r="min"===a,w,x,y=this.inputGroup;this[a+"Label"]=x=p.label(t.lang[r?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(y);
y.offset+=x.width+5;this[a+"DateBox"]=p=p.label("",y.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",function(){e.showInput(a);e[a+"Input"].focus()}).add(y);y.offset+=p.width+(r?10:0);this[a+"Input"]=w=q("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:g.plotTop+"px"},n);x.css(d(f,l.labelStyle));p.css(d({color:"#333333"},
f,l.inputStyle));u(w,k({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:f.fontSize,fontFamily:f.fontFamily,left:"-9em"},l.inputStyle));w.onfocus=function(){e.showInput(a)};w.onblur=function(){e.hideInput(a)};w.onchange=c;w.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=w((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,
b,c){var d=new g(a),e=d[g.hcGetFullYear]();c=c?g.UTC(e,0,1):+new g(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,g=d.container,h=d.options,l=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,p=h.rangeSelector,r=c.buttons,h=t.lang,v=c.div,v=c.inputGroup,u=p.buttonTheme,C=p.buttonPosition||{},x=p.inputEnabled,y=u&&u.states,z=d.plotLeft,A,B=this.getPosition(),D=c.group,H=c.rendered;!1!==
p.enabled&&(H||(c.group=D=e.g("range-selector-buttons").add(),c.zoomText=e.text(h.rangeSelectorZoom,w(C.x,z),15).css(p.labelStyle).add(D),A=w(C.x,z)+c.zoomText.getBBox().width+5,f(c.buttonOptions,function(a,b){r[b]=e.button(a.text,A,0,function(){c.clickButton(b);c.isActive=!0},u,y&&y.hover,y&&y.select,y&&y.disabled).attr({"text-align":"center"}).add(D);A+=r[b].width+w(p.buttonSpacing,5)}),!1!==x&&(c.div=v=q("div",null,{position:"relative",height:0,zIndex:1}),g.parentNode.insertBefore(v,g),c.inputGroup=
v=e.g("input-group").add(),v.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),D[H?"animate":"attr"]({translateY:B.buttonTop}),!1!==x&&(v.align(k({y:B.inputTop,width:v.offset,x:l&&B.inputTop<(l.y||0)+l.height-d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),n(x)||(d=D.getBBox(),v[v.alignAttr.translateX<d.x+d.width+10?"hide":"show"]()),c.setInputValue("min",a),c.setInputValue("max",b)),c.rendered=!0)},update:function(a){var b=this.chart;d(!0,b.options.rangeSelector,a);this.destroy();
this.init(b)},destroy:function(){var a=this.minInput,b=this.maxInput,d;this.unMouseDown();this.unResize();l(this.buttons);a&&(a.onfocus=a.onblur=a.onchange=null);b&&(b.onfocus=b.onblur=b.onchange=null);for(d in this)this[d]&&"chart"!==d&&(this[d].destroy?this[d].destroy():this[d].nodeType&&c(this[d])),this[d]!==z.prototype[d]&&(this[d]=null)}};B.prototype.toFixedRange=function(a,c,d,e){var g=this.chart&&this.chart.fixedRange;a=w(d,this.translate(a,!0));c=w(e,this.translate(c,!0));d=g&&(c-a)/g;.7<
d&&1.3>d&&(e?a=c-g:c=a+g);b(a)||(a=c=void 0);return{min:a,max:c}};B.prototype.minFromRange=function(){var a=this.range,c={month:"Month",year:"FullYear"}[a.type],d,e=this.max,g,f,h=function(a,b){var d=new Date(a);d["set"+c](d["get"+c]()+b);return d.getTime()-a};b(a)?(d=e-a,f=a):(d=e+h(e,-a.count),this.chart&&(this.chart.fixedRange=e-d));g=w(this.dataMin,Number.MIN_VALUE);b(d)||(d=g);d<=g&&(d=g,void 0===f&&(f=h(d,a.count)),this.newMax=Math.min(d+f,this.dataMax));b(e)||(d=void 0);return d};D(A.prototype,
"init",function(a,b,c){y(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new z(this))});a.call(this,b,c)});a.RangeSelector=z})(H);(function(a){var z=a.addEvent,y=a.isNumber;a.Chart.prototype.callbacks.push(function(a){function A(){u=a.xAxis[0].getExtremes();y(u.min)&&r.render(u.min,u.max)}var u,q=a.scroller,r=a.rangeSelector,t,h;q&&(u=a.xAxis[0].getExtremes(),q.render(u.min,u.max));r&&(h=z(a.xAxis[0],"afterSetExtremes",function(a){r.render(a.min,a.max)}),t=z(a,"redraw",
A),A());z(a,"destroy",function(){r&&(t(),h())})})})(H);(function(a){var z=a.arrayMax,y=a.arrayMin,B=a.Axis,A=a.Chart,u=a.defined,q=a.each,r=a.extend,t=a.format,h=a.inArray,n=a.isNumber,l=a.isString,c=a.map,f=a.merge,k=a.pick,e=a.Point,g=a.Renderer,b=a.Series,d=a.splat,w=a.SVGRenderer,C=a.VMLRenderer,x=a.wrap,D=b.prototype,p=D.init,v=D.processData,m=e.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,e,g){var h=l(b)||b.nodeName,m=arguments[h?1:0],p=m.series,n=a.getOptions(),r,q=k(m.navigator&&
m.navigator.enabled,n.navigator.enabled,!0),t=q?{startOnTick:!1,endOnTick:!1}:null,v={marker:{enabled:!1,radius:2}},w={shadow:!1,borderWidth:0};m.xAxis=c(d(m.xAxis||{}),function(a){return f({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},n.xAxis,a,{type:"datetime",categories:null},t)});m.yAxis=c(d(m.yAxis||{}),function(a){r=k(a.opposite,!0);return f({labels:{y:-2},opposite:r,showLastLabel:!1,title:{text:null}},n.yAxis,a)});m.series=null;m=f({chart:{panning:!0,
pinchType:"x"},navigator:{enabled:q},scrollbar:{enabled:k(n.scrollbar.enabled,!0)},rangeSelector:{enabled:k(n.rangeSelector.enabled,!0)},title:{text:null},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:v,spline:v,area:v,areaspline:v,arearange:v,areasplinerange:v,column:w,columnrange:w,candlestick:w,ohlc:w}},m,{isStock:!0,chart:{inverted:!1}});m.series=p;return h?new A(b,m,g):new A(m,e)};x(B.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=
b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=1,"right"):a.call(this,[].slice.call(arguments,1))});x(B.prototype,"getPlotLinePath",function(a,b,d,e,g,f){var m=this,p=this.isLinked&&!this.series?this.linkedParent.series:this.series,r=m.chart,t=r.renderer,v=m.left,w=m.top,C,x,y,z,A=[],D=[],B,F;if("colorAxis"===m.coll)return a.apply(this,[].slice.call(arguments,
1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=m.options[b];return n(a)?[r[b][a]]:l(a)?[r.get(a)]:c(p,function(a){return a[b]})}(m.coll);q(m.isXAxis?r.yAxis:r.xAxis,function(a){if(u(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=u(a.options[b])?r[b][a.options[b]]:r[b][0];m===b&&D.push(a)}});B=D.length?[]:[m.isXAxis?r.yAxis[0]:r.xAxis[0]];q(D,function(a){-1===h(a,B)&&B.push(a)});F=k(f,m.translate(b,null,null,e));n(F)&&(m.horiz?q(B,function(a){var b;
x=a.pos;z=x+a.len;C=y=Math.round(F+m.transB);if(C<v||C>v+m.width)g?C=y=Math.min(Math.max(v,C),v+m.width):b=!0;b||A.push("M",C,x,"L",y,z)}):q(B,function(a){var b;C=a.pos;y=C+a.len;x=z=Math.round(w+m.height-F);if(x<w||x>w+m.height)g?x=z=Math.min(Math.max(w,x),m.top+m.height):b=!0;b||A.push("M",C,x,"L",y,z)}));return 0<A.length?t.crispPolyLine(A,d||1):null});B.prototype.getPlotBandPath=function(a,b){b=this.getPlotLinePath(b,null,null,!0);a=this.getPlotLinePath(a,null,null,!0);var c=[],d;if(a&&b&&a.toString()!==
b.toString())for(d=0;d<a.length;d+=6)c.push("M",a[d+1],a[d+2],"L",a[d+4],a[d+5],b[d+4],b[d+5],b[d+1],b[d+2],"z");else c=null;return c};w.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};g===C&&(C.prototype.crispPolyLine=w.prototype.crispPolyLine);x(B.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});
x(B.prototype,"drawCrosshair",function(a,b,c){var d,e;a.call(this,b,c);if(u(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){a=this.chart;var g=this.options.crosshair.label,f=this.horiz;d=this.opposite;e=this.left;var h=this.top,m=this.crossLabel,l,p=g.format,n="",q="inside"===this.options.tickPosition,v=!1!==this.crosshair.snap,w=0;b||(b=this.cross&&this.cross.e);l=f?"center":d?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";m||(m=this.crossLabel=
a.renderer.label(null,null,null,g.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:g.align||l,padding:k(g.padding,8),r:k(g.borderRadius,3),zIndex:2}).add(this.labelGroup),m.attr({fill:g.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:g.borderColor||"","stroke-width":g.borderWidth||0}).css(r({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},g.style)));f?(l=v?c.plotX+e:
b.chartX,h+=d?0:this.height):(l=d?this.width+e:0,h=v?c.plotY+h:b.chartY);p||g.formatter||(this.isDatetimeAxis&&(n="%b %d, %Y"),p="{value"+(n?":"+n:"")+"}");b=v?c[this.isXAxis?"x":"y"]:this.toValue(f?b.chartX:b.chartY);m.attr({text:p?t(p,{value:b}):g.formatter.call(this,b),x:l,y:h,visibility:"visible"});b=m.getBBox();if(f){if(q&&!d||!q&&d)h=m.y-b.height}else h=m.y-b.height/2;f?(d=e-b.x,e=e+this.width-b.x):(d="left"===this.labelAlign?e:0,e="right"===this.labelAlign?e+this.width:a.chartWidth);m.translateX<
d&&(w=d-m.translateX);m.translateX+b.width>=e&&(w=-(m.translateX+b.width-e));m.attr({x:l+w,y:h,anchorX:f?l:this.opposite?0:a.chartWidth,anchorY:f?this.opposite?a.chartHeight:0:h+b.height/2})}});D.init=function(){p.apply(this,arguments);this.setCompare(this.options.compare)};D.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;
this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};D.processData=function(){var a,b=-1,c,d,e,g;v.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=h("close",this.pointArrayMap),-1===b&&(b=h(this.pointValKey||"y",this.pointArrayMap))),a=0;a<e-1;a++)if(g=-1<b?d[a][b]:d[a],n(g)&&c[a+1]>=this.xAxis.min&&0!==g){this.compareValue=g;break}};x(D,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,
1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=y(b),this.dataMax=z(b))});B.prototype.setCompare=function(a,b){this.isXAxis||(q(this.series,function(b){b.setCompare(a)}),k(b,!0)&&this.chart.redraw())};e.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,k(this.series.tooltipOptions.changeDecimals,2)));return m.apply(this,[b])};x(b.prototype,"render",function(a){this.chart.is3d&&
this.chart.is3d()||this.chart.polar||!this.xAxis||(!this.clipBox&&this.animate?(this.clipBox=f(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:this.yAxis.len}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len));a.call(this)})})(H);(function(a){function z(a,r,t){this.init(a,r,t)}var y=a.each,B=a.extend,A=a.merge,u=a.splat;B(z.prototype,
{init:function(a,r,t){var h=this,n=h.defaultOptions;h.chart=r;h.options=a=A(n,r.angular?{background:{}}:void 0,a);(a=a.background)&&y([].concat(u(a)).reverse(),function(a){var c,f=t.userOptions;c=A(h.defaultBackgroundOptions,a);a.backgroundColor&&(c.backgroundColor=a.backgroundColor);c.color=c.backgroundColor;t.options.plotBands.unshift(c);f.plotBands=f.plotBands||[];f.plotBands!==t.options.plotBands&&f.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",
shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});a.Pane=z})(H);(function(a){var z=a.CenteredSeriesMixin,y=a.each,B=a.extend,A=a.map,u=a.merge,q=a.noop,r=a.Pane,t=a.pick,h=a.pInt,n=a.splat,l=a.wrap,c,f,k=a.Axis.prototype;a=a.Tick.prototype;c={getOffset:q,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:q,
setCategories:q,setTitle:q};f={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},
showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(a){a=this.options=u(this.defaultOptions,this.defaultRadialOptions,a);a.plotBands||(a.plotBands=[])},getOffset:function(){k.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center=z.getCenter.call(this.pane)},getLinePath:function(a,c){a=this.center;var b=this.chart,d=t(c,a[2]/2-this.offset);this.isCircular||void 0!==c?c=this.chart.renderer.symbols.arc(this.left+a[0],this.top+a[1],d,d,{start:this.startAngleRad,
end:this.endAngleRad,open:!0,innerR:0}):(c=this.postTranslate(this.angleRad,d),c=["M",a[0]+b.plotLeft,a[1]+b.plotTop,"L",c.x,c.y]);return c},setAxisTranslation:function(){k.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===t(this.userMax,
this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){k.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=z.getCenter.call(this.pane),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*t(this.sector,1)/2)},getPosition:function(a,c){return this.postTranslate(this.isCircular?this.translate(a):this.angleRad,t(this.isCircular?
c:this.translate(a),this.center[2]/2)-this.offset)},postTranslate:function(a,c){var b=this.chart,d=this.center;a=this.startAngleRad+a;return{x:b.plotLeft+d[0]+Math.cos(a)*c,y:b.plotTop+d[1]+Math.sin(a)*c}},getPlotBandPath:function(a,c,b){var d=this.center,e=this.startAngleRad,g=d[2]/2,f=[t(b.outerRadius,"100%"),b.innerRadius,t(b.thickness,10)],k=Math.min(this.offset,0),l=/%$/,n,m=this.isCircular;"polygon"===this.options.gridLineInterpolation?d=this.getPlotLinePath(a).concat(this.getPlotLinePath(c,
!0)):(a=Math.max(a,this.min),c=Math.min(c,this.max),m||(f[0]=this.translate(a),f[1]=this.translate(c)),f=A(f,function(a){l.test(a)&&(a=h(a,10)*g/100);return a}),"circle"!==b.shape&&m?(a=e+this.translate(a),c=e+this.translate(c)):(a=-Math.PI/2,c=1.5*Math.PI,n=!0),f[0]-=k,f[2]-=k,d=this.chart.renderer.symbols.arc(this.left+d[0],this.top+d[1],f[0],f[0],{start:Math.min(a,c),end:Math.max(a,c),innerR:t(f[1],f[0]-f[2]),open:n}));return d},getPlotLinePath:function(a,c){var b=this,d=b.center,e=b.chart,g=b.getPosition(a),
f,h,k;b.isCircular?k=["M",d[0]+e.plotLeft,d[1]+e.plotTop,"L",g.x,g.y]:"circle"===b.options.gridLineInterpolation?(a=b.translate(a))&&(k=b.getLinePath(0,a)):(y(e.xAxis,function(a){a.pane===b.pane&&(f=a)}),k=[],a=b.translate(a),d=f.tickPositions,f.autoConnect&&(d=d.concat([d[0]])),c&&(d=[].concat(d).reverse()),y(d,function(b,c){h=f.getPosition(b,a);k.push(c?"L":"M",h.x,h.y)}));return k},getTitlePosition:function(){var a=this.center,c=this.chart,b=this.options.title;return{x:c.plotLeft+a[0]+(b.x||0),
y:c.plotTop+a[1]-{high:.5,middle:.25,low:0}[b.align]*a[2]+(b.y||0)}}};l(k,"init",function(a,g,b){var d=g.angular,e=g.polar,h=b.isX,k=d&&h,l,p=g.options,q=b.pane||0;if(d){if(B(this,k?c:f),l=!h)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else e&&(B(this,f),this.defaultRadialOptions=(l=h)?this.defaultRadialXOptions:u(this.defaultYAxisOptions,this.defaultRadialYOptions));d||e?(this.isRadial=!0,g.inverted=!1,p.chart.zoomType=null):this.isRadial=!1;a.call(this,g,b);k||!d&&!e||(a=this.options,
g.panes||(g.panes=[]),this.pane=g=g.panes[q]=g.panes[q]||new r(n(p.pane)[q],g,this),g=g.options,this.angleRad=(a.angle||0)*Math.PI/180,this.startAngleRad=(g.startAngle-90)*Math.PI/180,this.endAngleRad=(t(g.endAngle,g.startAngle+360)-90)*Math.PI/180,this.offset=a.offset||0,this.isCircular=l)});l(k,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,1))});l(a,"getPosition",function(a,c,b,d,f){var e=this.axis;return e.getPosition?e.getPosition(b):a.call(this,c,
b,d,f)});l(a,"getLabelPosition",function(a,c,b,d,f,h,k,l,p){var e=this.axis,g=h.y,n=20,r=h.align,q=(e.translate(this.pos)+e.startAngleRad+Math.PI/2)/Math.PI*180%360;e.isRadial?(a=e.getPosition(this.pos,e.center[2]/2+t(h.distance,-25)),"auto"===h.rotation?d.attr({rotation:q}):null===g&&(g=e.chart.renderer.fontMetrics(d.styles.fontSize).b-d.getBBox().height/2),null===r&&(e.isCircular?(this.label.getBBox().width>e.len*e.tickInterval/(e.max-e.min)&&(n=0),r=q>n&&q<180-n?"left":q>180+n&&q<360-n?"right":
"center"):r="center",d.attr({align:r})),a.x+=h.x,a.y+=g):a=a.call(this,c,b,d,f,h,k,l,p);return a});l(a,"getMarkPath",function(a,c,b,d,f,h,k){var e=this.axis;e.isRadial?(a=e.getPosition(this.pos,e.center[2]/2+d),c=["M",c,b,"L",a.x,a.y]):c=a.call(this,c,b,d,f,h,k);return c})})(H);(function(a){var z=a.each,y=a.isNumber,B=a.merge,A=a.pick,u=a.pInt,q=a.Series,r=a.seriesType,t=a.TrackerMixin;r("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,
borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,n=this.options,l=a.center;this.generatePoints();z(this.points,function(c){var f=B(n.dial,c.dial),h=u(A(f.radius,80))*l[2]/200,e=u(A(f.baseLength,70))*h/100,g=u(A(f.rearLength,10))*h/100,b=f.baseWidth||3,d=f.topWidth||1,r=n.overshoot,q=a.startAngleRad+a.translate(c.y,
null,null,null,!0);y(r)?(r=r/180*Math.PI,q=Math.max(a.startAngleRad-r,Math.min(a.endAngleRad+r,q))):!1===n.wrap&&(q=Math.max(a.startAngleRad,Math.min(a.endAngleRad,q)));q=180*q/Math.PI;c.shapeType="path";c.shapeArgs={d:f.path||["M",-g,-b/2,"L",e,-b/2,h,-d/2,h,d/2,e,b/2,-g,b/2,"z"],translateX:l[0],translateY:l[1],rotation:q};c.plotX=l[0];c.plotY=l[1]})},drawPoints:function(){var a=this,n=a.yAxis.center,l=a.pivot,c=a.options,f=c.pivot,k=a.chart.renderer;z(a.points,function(e){var g=e.graphic,b=e.shapeArgs,
d=b.d,f=B(c.dial,e.dial);g?(g.animate(b),b.d=d):(e.graphic=k[e.shapeType](b).attr({rotation:b.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group),e.graphic.attr({stroke:f.borderColor||"none","stroke-width":f.borderWidth||0,fill:f.backgroundColor||"#000000"}))});l?l.animate({translateX:n[0],translateY:n[1]}):(a.pivot=k.circle(0,0,A(f.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(n[0],n[1]).add(a.group),a.pivot.attr({"stroke-width":f.borderWidth||0,stroke:f.borderColor||
"#cccccc",fill:f.backgroundColor||"#000000"}))},animate:function(a){var h=this;a||(z(h.points,function(a){var c=a.graphic;c&&(c.attr({rotation:180*h.yAxis.startAngleRad/Math.PI}),c.animate({rotation:a.shapeArgs.rotation},h.options.animation))}),h.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);q.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,n){q.prototype.setData.call(this,
a,!1);this.processData();this.generatePoints();A(n,!0)&&this.chart.redraw()},drawTracker:t&&t.drawTrackerPoint},{setState:function(a){this.state=a}})})(H);(function(a){var z=a.each,y=a.noop,B=a.pick,A=a.seriesType,u=a.seriesTypes;A("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},
whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",pointAttribs:function(a){var r=this.options,q=a&&a.color||this.color;return{fill:a.fillColor||r.fillColor||q,stroke:r.lineColor||q,"stroke-width":r.lineWidth||0}},drawDataLabels:y,translate:function(){var a=this.yAxis,r=this.pointArrayMap;u.column.prototype.translate.apply(this);
z(this.points,function(q){z(r,function(h){null!==q[h]&&(q[h+"Plot"]=a.translate(q[h],0,1,0,1))})})},drawPoints:function(){var a=this,r=a.options,t=a.chart.renderer,h,n,l,c,f,k,e=0,g,b,d,w,u=!1!==a.doQuartiles,x,y=a.options.whiskerLength;z(a.points,function(p){var q=p.graphic,m=q?"animate":"attr",C=p.shapeArgs,z={},A={},D={},E=p.color||a.color;void 0!==p.plotY&&(g=C.width,b=Math.floor(C.x),d=b+g,w=Math.round(g/2),h=Math.floor(u?p.q1Plot:p.lowPlot),n=Math.floor(u?p.q3Plot:p.lowPlot),l=Math.floor(p.highPlot),
c=Math.floor(p.lowPlot),q||(p.graphic=q=t.g("point").add(a.group),p.stem=t.path().addClass("highcharts-boxplot-stem").add(q),y&&(p.whiskers=t.path().addClass("highcharts-boxplot-whisker").add(q)),u&&(p.box=t.path(void 0).addClass("highcharts-boxplot-box").add(q)),p.medianShape=t.path(void 0).addClass("highcharts-boxplot-median").add(q),z.stroke=p.stemColor||r.stemColor||E,z["stroke-width"]=B(p.stemWidth,r.stemWidth,r.lineWidth),z.dashstyle=p.stemDashStyle||r.stemDashStyle,p.stem.attr(z),y&&(A.stroke=
p.whiskerColor||r.whiskerColor||E,A["stroke-width"]=B(p.whiskerWidth,r.whiskerWidth,r.lineWidth),p.whiskers.attr(A)),u&&(q=a.pointAttribs(p),p.box.attr(q)),D.stroke=p.medianColor||r.medianColor||E,D["stroke-width"]=B(p.medianWidth,r.medianWidth,r.lineWidth),p.medianShape.attr(D)),k=p.stem.strokeWidth()%2/2,e=b+w+k,p.stem[m]({d:["M",e,n,"L",e,l,"M",e,h,"L",e,c]}),u&&(k=p.box.strokeWidth()%2/2,h=Math.floor(h)+k,n=Math.floor(n)+k,b+=k,d+=k,p.box[m]({d:["M",b,n,"L",b,h,"L",d,h,"L",d,n,"L",b,n,"z"]})),
y&&(k=p.whiskers.strokeWidth()%2/2,l+=k,c+=k,x=/%$/.test(y)?w*parseFloat(y)/100:y/2,p.whiskers[m]({d:["M",e-x,l,"L",e+x,l,"M",e-x,c,"L",e+x,c]})),f=Math.round(p.medianPlot),k=p.medianShape.strokeWidth()%2/2,f+=k,p.medianShape[m]({d:["M",b,f,"L",d,f]}))})},setStackedPoints:y})})(H);(function(a){var z=a.each,y=a.noop,B=a.seriesType,A=a.seriesTypes;B("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},
whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:A.arearange?function(){var a=this.pointValKey;A.arearange.prototype.drawDataLabels.call(this);z(this.data,function(q){q.y=q[a]})}:y,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||A.column.prototype.getColumnMetrics.call(this)}})})(H);(function(a){var z=a.correctFloat,y=a.isNumber,B=a.pick,A=a.Point,u=a.Series,
q=a.seriesType,r=a.seriesTypes;q("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var a=this.options,h=this.yAxis,n,l,c,f,k,e,g,b,d,q=B(a.minPointLength,5),u=a.threshold,x=a.stacking,y=0,p=0,v;r.column.prototype.translate.apply(this);g=b=u;l=this.points;n=0;for(a=l.length;n<a;n++)c=l[n],e=this.processedYData[n],f=c.shapeArgs,k=x&&h.stacks[(this.negStacks&&e<u?"-":
"")+this.stackKey],v=this.getStackIndicator(v,c.x),d=k?k[c.x].points[this.index+","+n+","+v.index]:[0,e],c.isSum?c.y=z(e):c.isIntermediateSum&&(c.y=z(e-b)),k=Math.max(g,g+c.y)+d[0],f.y=h.toPixels(k,!0),c.isSum?(f.y=h.toPixels(d[1],!0),f.height=Math.min(h.toPixels(d[0],!0),h.len)-f.y+y+p):c.isIntermediateSum?(f.y=h.toPixels(d[1],!0),f.height=Math.min(h.toPixels(b,!0),h.len)-f.y+y+p,b=d[1]):(f.height=0<e?h.toPixels(g,!0)-f.y:h.toPixels(g,!0)-h.toPixels(g-e,!0),g+=e),0>f.height&&(f.y+=f.height,f.height*=
-1),c.plotY=f.y=Math.round(f.y)-this.borderWidth%2/2,f.height=Math.max(Math.round(f.height),.001),c.yBottom=f.y+f.height,f.y-=p,f.height<=q&&!c.isNull&&(f.height=q,0>c.y?p-=q:y+=q),f.y-=y,f=c.plotY-p-y+(c.negative&&0<=p?f.height:0),this.chart.inverted?c.tooltipPos[0]=h.len-f:c.tooltipPos[1]=f},processData:function(a){var h=this.yData,n=this.options.data,l,c=h.length,f,k,e,g,b,d;k=f=e=g=this.options.threshold||0;for(d=0;d<c;d++)b=h[d],l=n&&n[d]?n[d]:{},"sum"===b||l.isSum?h[d]=z(k):"intermediateSum"===
b||l.isIntermediateSum?h[d]=z(f):(k+=b,f+=b),e=Math.min(k,e),g=Math.max(k,g);u.prototype.processData.call(this,a);this.dataMin=e;this.dataMax=g},toYData:function(a){return a.isSum?0===a.x?null:"sum":a.isIntermediateSum?0===a.x?null:"intermediateSum":a.y},pointAttribs:function(a,h){var n=this.options.upColor;n&&!a.options.color&&(a.color=0<a.y?n:null);a=r.column.prototype.pointAttribs.call(this,a,h);delete a.dashstyle;return a},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var a=
this.data,h=a.length,n=this.graph.strokeWidth()+this.borderWidth,n=Math.round(n)%2/2,l=[],c,f,k;for(k=1;k<h;k++)f=a[k].shapeArgs,c=a[k-1].shapeArgs,f=["M",c.x+c.width,c.y+n,"L",f.x,c.y+n],0>a[k-1].y&&(f[2]+=c.height,f[5]+=c.height),l=l.concat(f);return l},drawGraph:function(){u.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:a.noop},{getClassName:function(){var a=A.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");
return a},isValid:function(){return y(this.y,!0)||this.isSum||this.isIntermediateSum}})})(H);(function(a){var z=a.arrayMax,y=a.arrayMin,B=a.Axis,A=a.color,u=a.each,q=a.isNumber,r=a.noop,t=a.pick,h=a.pInt,n=a.Point,l=a.Series,c=a.seriesType,f=a.seriesTypes;c("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1,radius:null,states:{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:null,pointAttribs:function(a,c){var e=t(this.options.marker.fillOpacity,.5);a=l.prototype.pointAttribs.call(this,a,c);1!==e&&(a.fill=A(a.fill).setOpacity(e).get("rgba"));return a},getRadii:function(a,c,g,b){var d,e,f,h=this.zData,k=[],l=this.options,n="width"!==
l.sizeBy,m=l.zThreshold,r=c-a;e=0;for(d=h.length;e<d;e++)f=h[e],l.sizeByAbsoluteValue&&null!==f&&(f=Math.abs(f-m),c=Math.max(c-m,Math.abs(a-m)),a=0),null===f?f=null:f<a?f=g/2-1:(f=0<r?(f-a)/r:.5,n&&0<=f&&(f=Math.sqrt(f)),f=Math.ceil(g+f*(b-g))/2),k.push(f);this.radii=k},animate:function(a){var c=this.options.animation;a||(u(this.points,function(a){var b=a.graphic;a=a.shapeArgs;b&&a&&(b.attr("r",1),b.animate({r:a.r},c))}),this.animate=null)},translate:function(){var a,c=this.data,g,b,d=this.radii;
f.scatter.prototype.translate.call(this);for(a=c.length;a--;)g=c[a],b=d?d[a]:0,q(b)&&b>=this.minPxSize/2?(g.shapeType="circle",g.shapeArgs={x:g.plotX,y:g.plotY,r:b},g.dlBox={x:g.plotX-b,y:g.plotY-b,width:2*b,height:2*b}):g.shapeArgs=g.plotY=g.dlBox=void 0},drawLegendSymbol:function(a,c){var e=this.chart.renderer,b=e.fontMetrics(a.itemStyle&&a.itemStyle.fontSize,c.legendItem).f/2;c.legendSymbol=e.circle(b,a.baseline-b,b).attr({zIndex:3}).add(c.legendGroup);c.legendSymbol.isMarker=!0},drawPoints:f.column.prototype.drawPoints,
alignDataLabel:f.column.prototype.alignDataLabel,buildKDTree:r,applyZones:r},{haloPath:function(a){return n.prototype.haloPath.call(this,0===a?0:this.shapeArgs.r+a)},ttBelow:!1});B.prototype.beforePadding=function(){var a=this,c=this.len,g=this.chart,b=0,d=c,f=this.isXAxis,l=f?"xData":"yData",n=this.min,r={},p=Math.min(g.plotWidth,g.plotHeight),v=Number.MAX_VALUE,m=-Number.MAX_VALUE,A=this.max-n,B=c/A,I=[];u(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&g.options.chart.ignoreHiddenSeries||
(a.allowZoomOutside=!0,I.push(b),f&&(u(["minSize","maxSize"],function(a){var b=c[a],d=/%$/.test(b),b=h(b);r[a]=d?p*b/100:b}),b.minPxSize=r.minSize,b.maxPxSize=Math.max(r.maxSize,r.minSize),b=b.zData,b.length&&(v=t(c.zMin,Math.min(v,Math.max(y(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),m=t(c.zMax,Math.max(m,z(b))))))});u(I,function(c){var e=c[l],g=e.length,h;f&&c.getRadii(v,m,c.minPxSize,c.maxPxSize);if(0<A)for(;g--;)q(e[g])&&a.dataMin<=e[g]&&e[g]<=a.dataMax&&(h=c.radii[g],b=Math.min((e[g]-
n)*B-h,b),d=Math.max((e[g]-n)*B+h,d))});I.length&&0<A&&!this.isLog&&(d-=c,B*=(c+b-d)/c,u([["min","userMin",b],["max","userMax",d]],function(b){void 0===t(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/B)}))}})(H);(function(a){function z(a,q){var h=this.chart,n=this.options.animation,l=this.group,c=this.markerGroup,f=this.xAxis.center,k=h.plotLeft,e=h.plotTop;h.polar?h.renderer.isSVG&&(!0===n&&(n={}),q?(a={translateX:f[0]+k,translateY:f[1]+e,scaleX:.001,scaleY:.001},l.attr(a),c&&c.attr(a)):(a={translateX:k,
translateY:e,scaleX:1,scaleY:1},l.animate(a,n),c&&c.animate(a,n),this.animate=null)):a.call(this,q)}var y=a.each,B=a.pick,A=a.seriesTypes,u=a.wrap,q=a.Series.prototype;a=a.Pointer.prototype;q.searchPointByAngle=function(a){var r=this.chart,h=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-h[0]-r.plotLeft,a.chartY-h[1]-r.plotTop)})};u(q,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.kdDimensions=
2);a.apply(this)});q.toXY=function(a){var r,h=this.chart,n=a.plotX;r=a.plotY;a.rectPlotX=n;a.rectPlotY=r;r=this.xAxis.postTranslate(a.plotX,this.yAxis.len-r);a.plotX=a.polarPlotX=r.x-h.plotLeft;a.plotY=a.polarPlotY=r.y-h.plotTop;this.kdByAngle?(h=(n/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>h&&(h+=360),a.clientX=h):a.clientX=a.plotX};A.spline&&u(A.spline.prototype,"getPointSpline",function(a,q,h,n){var l,c,f,k,e,g,b;this.chart.polar?(l=h.plotX,c=h.plotY,a=q[n-1],f=q[n+1],this.connectEnds&&
(a||(a=q[q.length-2]),f||(f=q[1])),a&&f&&(k=a.plotX,e=a.plotY,q=f.plotX,g=f.plotY,k=(1.5*l+k)/2.5,e=(1.5*c+e)/2.5,f=(1.5*l+q)/2.5,b=(1.5*c+g)/2.5,q=Math.sqrt(Math.pow(k-l,2)+Math.pow(e-c,2)),g=Math.sqrt(Math.pow(f-l,2)+Math.pow(b-c,2)),k=Math.atan2(e-c,k-l),e=Math.atan2(b-c,f-l),b=Math.PI/2+(k+e)/2,Math.abs(k-b)>Math.PI/2&&(b-=Math.PI),k=l+Math.cos(b)*q,e=c+Math.sin(b)*q,f=l+Math.cos(Math.PI+b)*g,b=c+Math.sin(Math.PI+b)*g,h.rightContX=f,h.rightContY=b),n?(h=["C",a.rightContX||a.plotX,a.rightContY||
a.plotY,k||l,e||c,l,c],a.rightContX=a.rightContY=null):h=["M",l,c]):h=a.call(this,q,h,n);return h});u(q,"translate",function(a){var r=this.chart;a.call(this);if(r.polar&&(this.kdByAngle=r.tooltip&&r.tooltip.shared,!this.preventPostTranslate))for(a=this.points,r=a.length;r--;)this.toXY(a[r])});u(q,"getGraphPath",function(a,q){var h=this,n,l;if(this.chart.polar){q=q||this.points;for(n=0;n<q.length;n++)if(!q[n].isNull){l=n;break}!1!==this.options.connectEnds&&void 0!==l&&(this.connectEnds=!0,q.splice(q.length,
0,q[l]));y(q,function(a){void 0===a.polarPlotY&&h.toXY(a)})}return a.apply(this,[].slice.call(arguments,1))});u(q,"animate",z);A.column&&(A=A.column.prototype,A.polarArc=function(a,q,h,n){var l=this.xAxis.center,c=this.yAxis.len;return this.chart.renderer.symbols.arc(l[0],l[1],c-q,null,{start:h,end:n,innerR:c-B(a,c)})},u(A,"animate",z),u(A,"translate",function(a){var q=this.xAxis,h=q.startAngleRad,n,l,c;this.preventPostTranslate=!0;a.call(this);if(q.isRadial)for(n=this.points,c=n.length;c--;)l=n[c],
a=l.barX+h,l.shapeType="path",l.shapeArgs={d:this.polarArc(l.yBottom,l.plotY,a,a+l.pointWidth)},this.toXY(l),l.tooltipPos=[l.plotX,l.plotY],l.ttBelow=l.plotY>q.center[1]}),u(A,"alignDataLabel",function(a,t,h,n,l,c){this.chart.polar?(a=t.rectPlotX/Math.PI*180,null===n.align&&(n.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===n.verticalAlign&&(n.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),q.alignDataLabel.call(this,t,h,n,l,c)):a.call(this,t,h,n,l,c)}));u(a,"getCoordinates",
function(a,q){var h=this.chart,n={xAxis:[],yAxis:[]};h.polar?y(h.axes,function(a){var c=a.isXAxis,f=a.center,k=q.chartX-f[0]-h.plotLeft,f=q.chartY-f[1]-h.plotTop;n[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(k,f):Math.sqrt(Math.pow(k,2)+Math.pow(f,2)),!0)})}):n=a.call(this,q);return n})})(H);(function(a){var z=a.defaultOptions,y=a.doc,B=a.Chart,A=a.addEvent,u=a.removeEvent,q=a.fireEvent,r=a.createElement,t=a.discardElement,h=a.css,n=a.merge,l=a.pick,c=a.each,f=a.extend,
k=a.isTouchDevice,e=a.win,g=a.Renderer.prototype.symbols;f(z.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});z.navigation={buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}};n(!0,z.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",
padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",background:"none",color:"#333333",fontSize:k?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",stroke:"none",padding:5}}});z.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",
symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};a.post=function(a,c,e){var b;a=r("form",n({method:"post",
action:a,enctype:"multipart/form-data"},e),{display:"none"},y.body);for(b in c)r("input",{type:"hidden",name:b,value:c[b]},null,a);a.submit();t(a)};f(B.prototype,{sanitizeSVG:function(a,c){if(c&&c.exporting&&c.exporting.allowHTML){var b=a.match(/<\/svg>(.*?$)/);b&&(b='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+c.chart.width+'" height\x3d"'+c.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+b[1]+"\x3c/body\x3e\x3c/foreignObject\x3e",a=a.replace("\x3c/svg\x3e",b+"\x3c/svg\x3e"))}a=
a.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(\S+)("|&quot;)\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (NS[0-9]+\:)?href=/g," xlink:href\x3d").replace(/\n/," ").replace(/<\/svg>.*?$/,"\x3c/svg\x3e").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/&nbsp;/g,
"\u00a0").replace(/&shy;/g,"\u00ad");return a=a.replace(/<IMG /g,"\x3cimage ").replace(/<(\/?)TITLE>/g,"\x3c$1title\x3e").replace(/height=([^" ]+)/g,'height\x3d"$1"').replace(/width=([^" ]+)/g,'width\x3d"$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href\x3d"$1"/\x3e').replace(/ id=([^" >]+)/g,' id\x3d"$1"').replace(/class=([^" >]+)/g,'class\x3d"$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},
getSVG:function(b){var d,e,g,h,k,l=n(this.options,b);y.createElementNS||(y.createElementNS=function(a,b){return y.createElement(b)});e=r("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},y.body);g=this.renderTo.style.width;k=this.renderTo.style.height;g=l.exporting.sourceWidth||l.chart.width||/px$/.test(g)&&parseInt(g,10)||600;k=l.exporting.sourceHeight||l.chart.height||/px$/.test(k)&&parseInt(k,10)||400;f(l.chart,{animation:!1,renderTo:e,forExport:!0,
renderer:"SVGRenderer",width:g,height:k});l.exporting.enabled=!1;delete l.data;l.series=[];c(this.series,function(a){h=n(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});h.isInternal||l.series.push(h)});c(this.axes,function(b){b.userOptions.internalKey=a.uniqueKey()});d=new a.Chart(l,this.callback);b&&c(["xAxis","yAxis","series"],function(a){var c={};b[a]&&(c[a]=b[a],d.update(c))});c(this.axes,function(b){var c=a.find(d.axes,function(a){return a.options.internalKey===
b.userOptions.internalKey}),e=b.getExtremes(),g=e.userMin,e=e.userMax;!c||void 0===g&&void 0===e||c.setExtremes(g,e,!0,!1)});g=d.getChartHTML();g=this.sanitizeSVG(g,l);l=null;d.destroy();t(e);return g},getSVGForExport:function(a,c){var b=this.options.exporting;return this.getSVG(n({chart:{borderRadius:0}},b.chartOptions,c,{exporting:{sourceWidth:a&&a.sourceWidth||b.sourceWidth,sourceHeight:a&&a.sourceHeight||b.sourceHeight}}))},exportChart:function(b,c){c=this.getSVGForExport(b,c);b=n(this.options.exporting,
b);a.post(b.url,{filename:b.filename||"chart",type:b.type,width:b.width||0,scale:b.scale,svg:c},b.formAttributes)},print:function(){var a=this,d=a.container,g=[],f=d.parentNode,h=y.body,k=h.childNodes,l=a.options.exporting.printMaxWidth,n,m;if(!a.isPrinting){a.isPrinting=!0;a.pointer.reset(null,0);q(a,"beforePrint");if(m=l&&a.chartWidth>l)n=[a.options.chart.width,void 0,!1],a.setSize(l,void 0,!1);c(k,function(a,b){1===a.nodeType&&(g[b]=a.style.display,a.style.display="none")});h.appendChild(d);e.focus();
e.print();setTimeout(function(){f.appendChild(d);c(k,function(a,b){1===a.nodeType&&(a.style.display=g[b])});a.isPrinting=!1;m&&a.setSize.apply(a,n);q(a,"afterPrint")},1E3)}},contextMenu:function(a,d,e,g,k,l,n){var b=this,m=b.options.navigation,p=b.chartWidth,q=b.chartHeight,t="cache-"+a,u=b[t],w=Math.max(k,l),x,C;u||(b[t]=u=r("div",{className:a},{position:"absolute",zIndex:1E3,padding:w+"px"},b.container),x=r("div",{className:"highcharts-menu"},null,u),h(x,f({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",
boxShadow:"3px 3px 10px #888"},m.menuStyle)),C=function(){h(u,{display:"none"});n&&n.setState(0);b.openMenu=!1},A(u,"mouseleave",function(){u.hideTimer=setTimeout(C,500)}),A(u,"mouseenter",function(){clearTimeout(u.hideTimer)}),t=A(y,"mouseup",function(c){b.pointer.inClass(c.target,a)||C()}),A(b,"destroy",t),c(d,function(a){if(a){var c;a.separator?c=r("hr",null,null,x):(c=r("div",{className:"highcharts-menu-item",onclick:function(c){c&&c.stopPropagation();C();a.onclick&&a.onclick.apply(b,arguments)},
innerHTML:a.text||b.options.lang[a.textKey]},null,x),c.onmouseover=function(){h(this,m.menuItemHoverStyle)},c.onmouseout=function(){h(this,m.menuItemStyle)},h(c,f({cursor:"pointer"},m.menuItemStyle)));b.exportDivElements.push(c)}}),b.exportDivElements.push(x,u),b.exportMenuWidth=u.offsetWidth,b.exportMenuHeight=u.offsetHeight);d={display:"block"};e+b.exportMenuWidth>p?d.right=p-e-k-w+"px":d.left=e-w+"px";g+l+b.exportMenuHeight>q&&"top"!==n.alignOptions.verticalAlign?d.bottom=q-g-w+"px":d.top=g+l-
w+"px";h(u,d);b.openMenu=!0},addButton:function(a){var b=this,c=b.renderer,e=n(b.options.navigation.buttonOptions,a),g=e.onclick,h=e.menuItems,k,q,m=e.symbolSize||12;b.btnCount||(b.btnCount=0);b.exportDivElements||(b.exportDivElements=[],b.exportSVGElements=[]);if(!1!==e.enabled){var r=e.theme,t=r.states,u=t&&t.hover,t=t&&t.select,y;delete r.states;g?y=function(a){a.stopPropagation();g.call(b,a)}:h&&(y=function(){b.contextMenu(q.menuClassName,h,q.translateX,q.translateY,q.width,q.height,q);q.setState(2)});
e.text&&e.symbol?r.paddingLeft=l(r.paddingLeft,25):e.text||f(r,{width:e.width,height:e.height,padding:0});q=c.button(e.text,0,0,y,r,u,t).addClass(a.className).attr({"stroke-linecap":"round",title:b.options.lang[e._titleKey],zIndex:3});q.menuClassName=a.menuClassName||"highcharts-menu-"+b.btnCount++;e.symbol&&(k=c.symbol(e.symbol,e.symbolX-m/2,e.symbolY-m/2,m,m).addClass("highcharts-button-symbol").attr({zIndex:1}).add(q),k.attr({stroke:e.symbolStroke,fill:e.symbolFill,"stroke-width":e.symbolStrokeWidth||
1}));q.add().align(f(e,{width:q.width,x:l(e.x,b.buttonOffset)}),!0,"spacingBox");b.buttonOffset+=(q.width+e.buttonSpacing)*("right"===e.align?-1:1);b.exportSVGElements.push(q,k)}},destroyExport:function(a){var b=a?a.target:this;a=b.exportSVGElements;var e=b.exportDivElements;a&&(c(a,function(a,c){a&&(a.onclick=a.ontouchstart=null,b.exportSVGElements[c]=a.destroy())}),a.length=0);e&&(c(e,function(a,c){clearTimeout(a.hideTimer);u(a,"mouseleave");b.exportDivElements[c]=a.onmouseout=a.onmouseover=a.ontouchstart=
a.onclick=null;t(a)}),e.length=0)}});g.menu=function(a,c,e,g){return["M",a,c+2.5,"L",a+e,c+2.5,"M",a,c+g/2+.5,"L",a+e,c+g/2+.5,"M",a,c+g-1.5,"L",a+e,c+g-1.5]};B.prototype.renderExporting=function(){var a,c=this.options.exporting,e=c.buttons,g=this.isDirtyExporting||!this.exportSVGElements;this.buttonOffset=0;this.isDirtyExporting&&this.destroyExport();if(g&&!1!==c.enabled){for(a in e)this.addButton(e[a]);this.isDirtyExporting=!1}A(this,"destroy",this.destroyExport)};B.prototype.callbacks.push(function(a){a.renderExporting();
A(a,"redraw",a.renderExporting);c(["exporting","navigation"],function(b){a[b]={update:function(c,d){a.isDirtyExporting=!0;n(!0,a.options[b],c);l(d,!0)&&a.redraw()}}})})})(H);(function(a){function z(a,h){var c=u.getElementsByTagName("head")[0],f=u.createElement("script");f.type="text/javascript";f.src=a;f.onload=h;f.onerror=function(){console.error("Error loading script",a)};c.appendChild(f)}var y=a.merge,B=a.win,A=B.navigator,u=B.document,q=a.each,r=B.URL||B.webkitURL||B,t=/Edge\/|Trident\/|MSIE /.test(A.userAgent),
h=t?150:0;a.CanVGRenderer={};a.downloadURL=function(a,h){var c=u.createElement("a"),f;if(A.msSaveOrOpenBlob)A.msSaveOrOpenBlob(a,h);else if(void 0!==c.download)c.href=a,c.download=h,c.target="_blank",u.body.appendChild(c),c.click(),u.body.removeChild(c);else try{if(f=B.open(a,"chart"),void 0===f||null===f)throw"Failed to open window";}catch(k){B.location.href=a}};a.svgToDataUrl=function(a){var h=-1<A.userAgent.indexOf("WebKit")&&0>A.userAgent.indexOf("Chrome");try{if(!h&&0>A.userAgent.toLowerCase().indexOf("firefox"))return r.createObjectURL(new B.Blob([a],
{type:"image/svg+xml;charset-utf-16"}))}catch(c){}return"data:image/svg+xml;charset\x3dUTF-8,"+encodeURIComponent(a)};a.imageToDataUrl=function(a,l,c,f,k,e,g,b,d){var n=new B.Image,q,r=function(){setTimeout(function(){var b=u.createElement("canvas"),e=b.getContext&&b.getContext("2d"),h;try{if(e){b.height=n.height*f;b.width=n.width*f;e.drawImage(n,0,0,b.width,b.height);try{h=b.toDataURL(l),k(h,l,c,f)}catch(F){q(a,l,c,f)}}else g(a,l,c,f)}finally{d&&d(a,l,c,f)}},h)},t=function(){b(a,l,c,f);d&&d(a,l,
c,f)};q=function(){n=new B.Image;q=e;n.crossOrigin="Anonymous";n.onload=r;n.onerror=t;n.src=a};n.onload=r;n.onerror=t;n.src=a};a.downloadSVGLocal=function(h,l,c,f){function k(a,b){b=new B.jsPDF("l","pt",[a.width.baseVal.value+2*b,a.height.baseVal.value+2*b]);B.svgElementToPdf(a,b,{removeInvalid:!0});return b.output("datauristring")}function e(){x.innerHTML=h;var b=x.getElementsByTagName("text"),c,d=x.getElementsByTagName("svg")[0].style;q(b,function(a){q(["font-family","font-size"],function(b){!a.style[b]&&
d[b]&&(a.style[b]=d[b])});a.style["font-family"]=a.style["font-family"]&&a.style["font-family"].split(" ").splice(-1);c=a.getElementsByTagName("title");q(c,function(b){a.removeChild(b)})});b=k(x.firstChild,0);a.downloadURL(b,p);f&&f()}var g,b,d=!0,n,t=l.libURL||a.getOptions().exporting.libURL,x=u.createElement("div"),y=l.type||"image/png",p=(l.filename||"chart")+"."+("image/svg+xml"===y?"svg":y.split("/")[1]),v=l.scale||1,t="/"!==t.slice(-1)?t+"/":t;if("image/svg+xml"===y)try{A.msSaveOrOpenBlob?(b=
new MSBlobBuilder,b.append(h),g=b.getBlob("image/svg+xml")):g=a.svgToDataUrl(h),a.downloadURL(g,p),f&&f()}catch(m){c()}else"application/pdf"===y?B.jsPDF&&B.svgElementToPdf?e():(d=!0,z(t+"jspdf.js",function(){z(t+"rgbcolor.js",function(){z(t+"svg2pdf.js",function(){e()})})})):(g=a.svgToDataUrl(h),n=function(){try{r.revokeObjectURL(g)}catch(m){}},a.imageToDataUrl(g,y,{},v,function(b){try{a.downloadURL(b,p),f&&f()}catch(F){c()}},function(){var b=u.createElement("canvas"),e=b.getContext("2d"),g=h.match(/^<svg[^>]*width\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*
v,k=h.match(/^<svg[^>]*height\s*=\s*\"?(\d+)\"?[^>]*>/)[1]*v,l=function(){e.drawSvg(h,0,0,g,k);try{a.downloadURL(A.msSaveOrOpenBlob?b.msToBlob():b.toDataURL(y),p),f&&f()}catch(E){c()}finally{n()}};b.width=g;b.height=k;B.canvg?l():(d=!0,z(t+"rgbcolor.js",function(){z(t+"canvg.js",function(){l()})}))},c,c,function(){d&&n()}))};a.Chart.prototype.getSVGForLocalExport=function(h,l,c,f){var k=this,e,g=0,b,d,n,q,r,t=function(a,c,h){++g;h.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",
a);g===e.length&&f(k.sanitizeSVG(b.innerHTML,d))};a.wrap(a.Chart.prototype,"getChartHTML",function(a){var c=a.apply(this,Array.prototype.slice.call(arguments,1));d=this.options;b=this.container.cloneNode(!0);return c});k.getSVGForExport(h,l);e=b.getElementsByTagName("image");try{if(e.length)for(q=0,r=e.length;q<r;++q)n=e[q],a.imageToDataUrl(n.getAttributeNS("http://www.w3.org/1999/xlink","href"),"image/png",{imageElement:n},h.scale,t,c,c,c);else f(k.sanitizeSVG(b.innerHTML,d))}catch(p){c()}};a.Chart.prototype.exportChartLocal=
function(h,l){var c=this,f=a.merge(c.options.exporting,h),k=function(){if(!1===f.fallbackToExportServer)if(f.error)f.error();else throw"Fallback to export server disabled";else c.exportChart(f)};(t&&"image/svg+xml"!==f.type||"application/pdf"===f.type)&&c.container.getElementsByTagName("image").length?k():c.getSVGForLocalExport(f,l,k,function(c){-1<c.indexOf("\x3cforeignObject")&&"image/svg+xml"!==f.type?k():a.downloadSVGLocal(c,f,k)})};y(!0,a.getOptions().exporting,{libURL:"https://code.highcharts.com/5.0.6 custom build/lib/",
buttons:{contextButton:{menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},{textKey:"downloadSVG",onclick:function(){this.exportChartLocal({type:"image/svg+xml"})}},{textKey:"downloadPDF",onclick:function(){this.exportChartLocal({type:"application/pdf"})}}]}}})})(H);(function(a){var z=a.win.document,y=a.each,B=a.pick,
A=a.inArray,u=a.isNumber,q=a.splat,r,t=function(a,n){this.init(a,n)};a.extend(t.prototype,{init:function(a,n){this.options=a;this.chartOptions=n;this.columns=a.columns||this.rowsToColumns(a.rows)||[];this.firstRowAsNames=B(a.firstRowAsNames,!0);this.decimalRegex=a.decimalPoint&&new RegExp("^(-?[0-9]+)"+a.decimalPoint+"([0-9]+)$");this.rawColumns=[];this.columns.length?this.dataFound():(this.parseCSV(),this.parseTable(),this.parseGoogleSpreadsheet())},getColumnDistribution:function(){var h=this.chartOptions,
n=this.options,l=[],c=function(b){return(a.seriesTypes[b||"line"].prototype.pointArrayMap||[0]).length},f=h&&h.chart&&h.chart.type,k=[],e=[],g=0,b;y(h&&h.series||[],function(a){k.push(c(a.type||f))});y(n&&n.seriesMapping||[],function(a){l.push(a.x||0)});0===l.length&&l.push(0);y(n&&n.seriesMapping||[],function(d){var l=new r,n,q=k[g]||c(f),t=a.seriesTypes[((h&&h.series||[])[g]||{}).type||f||"line"].prototype.pointArrayMap||["y"];l.addColumnReader(d.x,"x");for(n in d)d.hasOwnProperty(n)&&"x"!==n&&
l.addColumnReader(d[n],n);for(b=0;b<q;b++)l.hasReader(t[b])||l.addColumnReader(void 0,t[b]);e.push(l);g++});n=a.seriesTypes[f||"line"].prototype.pointArrayMap;void 0===n&&(n=["y"]);this.valueCount={global:c(f),xColumns:l,individual:k,seriesBuilders:e,globalPointArrayMap:n}},dataFound:function(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns));this.getColumnDistribution();this.parseTypes();!1!==this.parsed()&&this.complete()},parseCSV:function(){var a=this,n=this.options,
l=n.csv,c=this.columns,f=n.startRow||0,k=n.endRow||Number.MAX_VALUE,e=n.startColumn||0,g=n.endColumn||Number.MAX_VALUE,b,d,q=0;l&&(d=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(n.lineDelimiter||"\n"),b=n.itemDelimiter||(-1!==l.indexOf("\t")?"\t":","),y(d,function(d,h){var l=a.trim(d),n=0===l.indexOf("#");h>=f&&h<=k&&!n&&""!==l&&(d=d.split(b),y(d,function(a,b){b>=e&&b<=g&&(c[b-e]||(c[b-e]=[]),c[b-e][q]=a)}),q+=1)}),this.dataFound())},parseTable:function(){var a=this.options,n=a.table,l=this.columns,
c=a.startRow||0,f=a.endRow||Number.MAX_VALUE,k=a.startColumn||0,e=a.endColumn||Number.MAX_VALUE;n&&("string"===typeof n&&(n=z.getElementById(n)),y(n.getElementsByTagName("tr"),function(a,b){b>=c&&b<=f&&y(a.children,function(a,g){("TD"===a.tagName||"TH"===a.tagName)&&g>=k&&g<=e&&(l[g-k]||(l[g-k]=[]),l[g-k][b-c]=a.innerHTML)})}),this.dataFound())},parseGoogleSpreadsheet:function(){var a=this,n=this.options,l=n.googleSpreadsheetKey,c=this.columns,f=n.startRow||0,k=n.endRow||Number.MAX_VALUE,e=n.startColumn||
0,g=n.endColumn||Number.MAX_VALUE,b,d;l&&jQuery.ajax({dataType:"json",url:"https://spreadsheets.google.com/feeds/cells/"+l+"/"+(n.googleSpreadsheetWorksheet||"od6")+"/public/values?alt\x3djson-in-script\x26callback\x3d?",error:n.error,success:function(h){h=h.feed.entry;var l,n=h.length,q=0,p=0,r;for(r=0;r<n;r++)l=h[r],q=Math.max(q,l.gs$cell.col),p=Math.max(p,l.gs$cell.row);for(r=0;r<q;r++)r>=e&&r<=g&&(c[r-e]=[],c[r-e].length=Math.min(p,k-f));for(r=0;r<n;r++)l=h[r],b=l.gs$cell.row-1,d=l.gs$cell.col-
1,d>=e&&d<=g&&b>=f&&b<=k&&(c[d-e][b-f]=l.content.$t);y(c,function(a){for(r=0;r<a.length;r++)void 0===a[r]&&(a[r]=null)});a.dataFound()}})},trim:function(a,n){"string"===typeof a&&(a=a.replace(/^\s+|\s+$/g,""),n&&/^[0-9\s]+$/.test(a)&&(a=a.replace(/\s/g,"")),this.decimalRegex&&(a=a.replace(this.decimalRegex,"$1.$2")));return a},parseTypes:function(){for(var a=this.columns,n=a.length;n--;)this.parseColumn(a[n],n)},parseColumn:function(a,n){var h=this.rawColumns,c=this.columns,f=a.length,k,e,g,b,d=this.firstRowAsNames,
r=-1!==A(n,this.valueCount.xColumns),t=[],x=this.chartOptions,y,p=(this.options.columnTypes||[])[n],x=r&&(x&&x.xAxis&&"category"===q(x.xAxis)[0].type||"string"===p);for(h[n]||(h[n]=[]);f--;)k=t[f]||a[f],g=this.trim(k),b=this.trim(k,!0),e=parseFloat(b),void 0===h[n][f]&&(h[n][f]=g),x||0===f&&d?a[f]=g:+b===e?(a[f]=e,31536E6<e&&"float"!==p?a.isDatetime=!0:a.isNumeric=!0,void 0!==a[f+1]&&(y=e>a[f+1])):(e=this.parseDate(k),r&&u(e)&&"float"!==p?(t[f]=k,a[f]=e,a.isDatetime=!0,void 0!==a[f+1]&&(k=e>a[f+1],
k!==y&&void 0!==y&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,f=a.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):a.unsorted=!0),y=k)):(a[f]=""===g?null:g,0!==f&&(a.isDatetime||a.isNumeric)&&(a.mixed=!0)));r&&a.mixed&&(c[n]=h[n]);if(r&&y&&this.options.sort)for(n=0;n<c.length;n++)c[n].reverse(),d&&c[n].unshift(c[n].pop())},dateFormats:{"YYYY-mm-dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{2})[\-\/\.]([0-9]{2})$/,parser:function(a){return Date.UTC(+a[1],a[2]-
1,+a[3])}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],a[2]-1,+a[1])},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(a){return Date.UTC(+a[3],a[1]-1,+a[2])}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(a){return Date.UTC(+a[3]+2E3,a[2]-1,+a[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,
parser:function(a){return Date.UTC(+a[3]+2E3,a[1]-1,+a[2])}}},parseDate:function(a){var h=this.options.parseDate,l,c,f=this.options.dateFormat||this.dateFormat,k;if(h)l=h(a);else if("string"===typeof a){if(f)h=this.dateFormats[f],(k=a.match(h.regex))&&(l=h.parser(k));else for(c in this.dateFormats)if(h=this.dateFormats[c],k=a.match(h.regex)){this.dateFormat=c;this.alternativeFormat=h.alternative;l=h.parser(k);break}k||(k=Date.parse(a),"object"===typeof k&&null!==k&&k.getTime?l=k.getTime()-6E4*k.getTimezoneOffset():
u(k)&&(l=k-6E4*(new Date(k)).getTimezoneOffset()))}return l},rowsToColumns:function(a){var h,l,c,f,k;if(a)for(k=[],l=a.length,h=0;h<l;h++)for(f=a[h].length,c=0;c<f;c++)k[c]||(k[c]=[]),k[c][h]=a[h][c];return k},parsed:function(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)},getFreeIndexes:function(a,n){var h,c=[],f=[],k;for(h=0;h<a;h+=1)c.push(!0);for(a=0;a<n.length;a+=1)for(k=n[a].getReferencedColumnIndexes(),h=0;h<k.length;h+=1)c[k[h]]=!1;for(h=0;h<c.length;h+=1)c[h]&&
f.push(h);return f},complete:function(){var a=this.columns,n,l=this.options,c,f,k,e,g=[],b;if(l.complete||l.afterComplete){for(k=0;k<a.length;k++)this.firstRowAsNames&&(a[k].name=a[k].shift());c=[];f=this.getFreeIndexes(a.length,this.valueCount.seriesBuilders);for(k=0;k<this.valueCount.seriesBuilders.length;k++)b=this.valueCount.seriesBuilders[k],b.populateColumns(f)&&g.push(b);for(;0<f.length;){b=new r;b.addColumnReader(0,"x");k=A(0,f);-1!==k&&f.splice(k,1);for(k=0;k<this.valueCount.global;k++)b.addColumnReader(void 0,
this.valueCount.globalPointArrayMap[k]);b.populateColumns(f)&&g.push(b)}0<g.length&&0<g[0].readers.length&&(b=a[g[0].readers[0].columnIndex],void 0!==b&&(b.isDatetime?n="datetime":b.isNumeric||(n="category")));if("category"===n)for(k=0;k<g.length;k++)for(b=g[k],f=0;f<b.readers.length;f++)"x"===b.readers[f].configName&&(b.readers[f].configName="name");for(k=0;k<g.length;k++){b=g[k];f=[];for(e=0;e<a[0].length;e++)f[e]=b.read(a,e);c[k]={data:f};b.name&&(c[k].name=b.name);"category"===n&&(c[k].turboThreshold=
0)}a={series:c};n&&(a.xAxis={type:n},"category"===n&&(a.xAxis.uniqueNames=!1));l.complete&&l.complete(a);l.afterComplete&&l.afterComplete(a)}}});a.Data=t;a.data=function(a,n){return new t(a,n)};a.wrap(a.Chart.prototype,"init",function(h,n,l){var c=this;n&&n.data?a.data(a.extend(n.data,{afterComplete:function(f){var k,e;if(n.hasOwnProperty("series"))if("object"===typeof n.series)for(k=Math.max(n.series.length,f.series.length);k--;)e=n.series[k]||{},n.series[k]=a.merge(e,f.series[k]);else delete n.series;
n=a.merge(f,n);h.call(c,n,l)}}),n):h.call(c,n,l)});r=function(){this.readers=[];this.pointIsArray=!0};r.prototype.populateColumns=function(a){var h=!0;y(this.readers,function(h){void 0===h.columnIndex&&(h.columnIndex=a.shift())});y(this.readers,function(a){void 0===a.columnIndex&&(h=!1)});return h};r.prototype.read=function(a,n){var h=this.pointIsArray,c=h?[]:{},f;y(this.readers,function(f){var e=a[f.columnIndex][n];h?c.push(e):c[f.configName]=e});void 0===this.name&&2<=this.readers.length&&(f=this.getReferencedColumnIndexes(),
2<=f.length&&(f.shift(),f.sort(),this.name=a[f.shift()].name));return c};r.prototype.addColumnReader=function(a,n){this.readers.push({columnIndex:a,configName:n});"x"!==n&&"y"!==n&&void 0!==n&&(this.pointIsArray=!1)};r.prototype.getReferencedColumnIndexes=function(){var a,n=[],l;for(a=0;a<this.readers.length;a+=1)l=this.readers[a],void 0!==l.columnIndex&&n.push(l.columnIndex);return n};r.prototype.hasReader=function(a){var h,l;for(h=0;h<this.readers.length;h+=1)if(l=this.readers[h],l.configName===
a)return!0}})(H);(function(a){function z(){return!!this.points.length}function y(){this.hasData()?this.hideNoData():this.showNoData()}var B=a.seriesTypes,A=a.Chart.prototype,u=a.getOptions(),q=a.extend,r=a.each;q(u.lang,{noData:"No data to display"});u.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"}};u.noData.style={fontWeight:"bold",fontSize:"12px",color:"#666666"};r(["pie","gauge","waterfall","bubble","treemap"],function(a){B[a]&&(B[a].prototype.hasData=z)});a.Series.prototype.hasData=
function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin};A.showNoData=function(a){var h=this.options;a=a||h.lang.noData;h=h.noData;this.noDataLabel||(this.noDataLabel=this.renderer.label(a,0,0,null,null,null,h.useHTML,null,"no-data"),this.noDataLabel.attr(h.attr).css(h.style),this.noDataLabel.add(),this.noDataLabel.align(q(this.noDataLabel.getBBox(),h.position),!1,"plotBox"))};A.hideNoData=function(){this.noDataLabel&&(this.noDataLabel=this.noDataLabel.destroy())};A.hasData=function(){for(var a=
this.series,h=a.length;h--;)if(a[h].hasData()&&!a[h].options.isInternal)return!0;return!1};A.callbacks.push(function(q){a.addEvent(q,"load",y);a.addEvent(q,"redraw",y)})})(H);(function(a){var z=a.pInt,y=a.pick,B=a.each,A=a.isNumber,u;u={initDataClasses:function(q){var r=this,t=this.chart,h,n=0,l=this.options;this.dataClasses=h=[];B(q.dataClasses,function(c,f){c=a.merge(c);h.push(c);c.color||("category"===l.dataClassColor?(f=t.options.colors,c.color=f[n++],n===f.length&&(n=0)):c.color=r.tweenColors(a.color(l.minColor),
a.color(l.maxColor),f/(q.dataClasses.length-1)))})},initStops:function(q){this.stops=q.stops||[[0,this.options.minColor],[1,this.options.maxColor]];B(this.stops,function(q){q.color=a.color(q[1])})},toColor:function(a,r){var q=this.stops,h,n,l=this.dataClasses,c,f;if(l)for(f=l.length;f--;){if(c=l[f],h=c.from,q=c.to,(void 0===h||a>=h)&&(void 0===q||a<=q)){n=c.color;r&&(r.dataClass=f);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min);for(f=q.length;f--&&!(a>q[f][0]););
h=q[f]||q[f+1];q=q[f+1]||h;a=1-(q[0]-a)/(q[0]-h[0]||1);n=this.tweenColors(h.color,q.color,a)}return n},tweenColors:function(a,r,t){var h;r.rgba.length&&a.rgba.length?(a=a.rgba,r=r.rgba,h=1!==r[3]||1!==a[3],a=(h?"rgba(":"rgb(")+Math.round(r[0]+(a[0]-r[0])*(1-t))+","+Math.round(r[1]+(a[1]-r[1])*(1-t))+","+Math.round(r[2]+(a[2]-r[2])*(1-t))+(h?","+(r[3]+(a[3]-r[3])*(1-t)):"")+")"):a=r.input||"none";return a}};B(["fill","stroke"],function(q){a.Fx.prototype[q+"Setter"]=function(){this.elem.attr(q,u.tweenColors(a.color(this.start),
a.color(this.end),this.pos),null,!0)}});a.seriesType("solidgauge","gauge",{colorByPoint:!0},{translate:function(){var q=this.yAxis;a.extend(q,u);!q.dataClasses&&q.options.dataClasses&&q.initDataClasses(q.options);q.initStops(q.options);a.seriesTypes.gauge.prototype.translate.call(this)},drawPoints:function(){var a=this,r=a.yAxis,t=r.center,h=a.options,n=a.chart.renderer,l=h.overshoot,c=A(l)?l/180*Math.PI:0,f;A(h.threshold)&&(f=r.startAngleRad+r.translate(h.threshold,null,null,null,!0));this.thresholdAngleRad=
y(f,r.startAngleRad);B(a.points,function(f){var e=f.graphic,g=r.startAngleRad+r.translate(f.y,null,null,null,!0),b=z(y(f.options.radius,h.radius,100))*t[2]/200,d=z(y(f.options.innerRadius,h.innerRadius,60))*t[2]/200,k=r.toColor(f.y,f),l=Math.min(r.startAngleRad,r.endAngleRad),q=Math.max(r.startAngleRad,r.endAngleRad);"none"===k&&(k=f.color||a.color||"none");"none"!==k&&(f.color=k);g=Math.max(l-c,Math.min(q+c,g));!1===h.wrap&&(g=Math.max(l,Math.min(q,g)));l=Math.min(g,a.thresholdAngleRad);g=Math.max(g,
a.thresholdAngleRad);g-l>2*Math.PI&&(g=l+2*Math.PI);f.shapeArgs=d={x:t[0],y:t[1],r:b,innerR:d,start:l,end:g,fill:k};f.startR=b;e?(f=d.d,e.animate(d),f&&(d.d=f)):(f.graphic=n.arc(d).addClass("highcharts-point").attr({fill:k,"sweep-flag":0}).add(a.group),"square"!==h.linecap&&f.graphic.attr({"stroke-linecap":"round","stroke-linejoin":"round"}),f.graphic.attr({stroke:h.borderColor||"none","stroke-width":h.borderWidth||0}))})},animate:function(q){q||(this.startAngleRad=this.thresholdAngleRad,a.seriesTypes.pie.prototype.animate.call(this,
q))}})})(H);(function(a){var z=a.Axis,y=a.Chart,B=a.color,A,u=a.each,q=a.extend,r=a.isNumber,t=a.Legend,h=a.LegendSymbolMixin,n=a.noop,l=a.merge,c=a.pick,f=a.wrap;A=a.ColorAxis=function(){this.init.apply(this,arguments)};q(A.prototype,z.prototype);q(A.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify"},minColor:"#e6ebf5",
maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItem","legendSymbol"].concat(z.prototype.keepProps),init:function(a,c){var e="vertical"!==a.options.legend.layout,b;this.coll="colorAxis";b=l(this.defaultColorAxisOptions,{side:e?2:1,reversed:!e},c,{opposite:!e,showEmpty:!1,title:null});z.prototype.init.call(this,a,b);c.dataClasses&&this.initDataClasses(c);this.initStops(c);this.horiz=e;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,c,g){var b;
c.rgba.length&&a.rgba.length?(a=a.rgba,c=c.rgba,b=1!==c[3]||1!==a[3],a=(b?"rgba(":"rgb(")+Math.round(c[0]+(a[0]-c[0])*(1-g))+","+Math.round(c[1]+(a[1]-c[1])*(1-g))+","+Math.round(c[2]+(a[2]-c[2])*(1-g))+(b?","+(c[3]+(a[3]-c[3])*(1-g)):"")+")"):a=c.input||"none";return a},initDataClasses:function(a){var c=this,g=this.chart,b,d=0,f=g.options.chart.colorCount,h=this.options,k=a.dataClasses.length;this.dataClasses=b=[];this.legendItems=[];u(a.dataClasses,function(a,e){a=l(a);b.push(a);a.color||("category"===
h.dataClassColor?(e=g.options.colors,f=e.length,a.color=e[d],a.colorIndex=d,d++,d===f&&(d=0)):a.color=c.tweenColors(B(h.minColor),B(h.maxColor),2>k?.5:e/(k-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];u(this.stops,function(a){a.color=B(a[1])})},setOptions:function(a){z.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,c=this.chart,g=c.options.legend||{},b,d;a?(this.left=
g=a.attr("x"),this.top=b=a.attr("y"),this.width=d=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-g-d,this.bottom=c.chartHeight-b-a,this.len=this.horiz?d:a,this.pos=this.horiz?g:b):this.len=(this.horiz?g.symbolWidth:g.symbolHeight)||this.defaultLegendLength},toColor:function(a,c){var e=this.stops,b,d,f=this.dataClasses,h,k;if(f)for(k=f.length;k--;){if(h=f[k],b=h.from,e=h.to,(void 0===b||a>=b)&&(void 0===e||a<=e)){d=h.color;c&&(c.dataClass=k,c.colorIndex=h.colorIndex);break}}else{this.isLog&&
(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(k=e.length;k--&&!(a>e[k][0]););b=e[k]||e[k+1];e=e[k+1]||b;a=1-(e[0]-a)/(e[0]-b[0]||1);d=this.tweenColors(b.color,e.color,a)}return d},getOffset:function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];a&&(this.axisParent=a,z.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,g=this.reversed;
a=g?1:0;g=g?0:1;a=this.horiz?[a,0,g,0]:[0,g,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:c.stops||[[0,c.minColor],[1,c.maxColor]]}},drawLegendSymbol:function(a,e){var g=a.padding,b=a.options,d=this.horiz,f=c(b.symbolWidth,d?this.defaultLegendLength:12),h=c(b.symbolHeight,d?12:this.defaultLegendLength),k=c(b.labelPadding,d?16:30),b=c(b.itemDistance,10);this.setLegendColor();e.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,h).attr({zIndex:1}).add(e.legendGroup);
this.legendItemWidth=f+g+(d?b:k);this.legendItemHeight=h+g+(d?k:0)},setState:n,visible:!0,setVisible:n,getSeriesExtremes:function(){var a;this.series.length&&(a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax)},drawCrosshair:function(a,c){var e=c&&c.plotX,b=c&&c.plotY,d,f=this.pos,h=this.len;c&&(d=this.toPixels(c[c.series.colorKey]),d<f?d=f-2:d>f+h&&(d=f+h+2),c.plotX=d,c.plotY=this.len-d,z.prototype.drawCrosshair.call(this,a,c),c.plotX=e,c.plotY=b,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),
this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,c,f,b,d){return r(d)?this.horiz?["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"]:z.prototype.getPlotLinePath.call(this,a,c,f,b)},update:function(a,c){var e=this.chart,b=e.legend;u(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&b.allItems&&(u(b.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),e.isDirtyLegend=!0);e.options[this.coll]=l(this.userOptions,
a);z.prototype.update.call(this,a,c);this.legendItem&&(this.setLegendColor(),b.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var c=this,e=this.chart,f=this.legendItems,b=e.options.legend,d=b.valueDecimals,l=b.valueSuffix||"",r;f.length||u(this.dataClasses,function(b,g){var k=!0,t=b.from,m=b.to;r="";void 0===t?r="\x3c ":void 0===m&&(r="\x3e ");void 0!==t&&(r+=a.numberFormat(t,d)+l);void 0!==t&&void 0!==m&&(r+=" - ");void 0!==m&&(r+=a.numberFormat(m,d)+l);f.push(q({chart:e,name:r,options:{},
drawLegendSymbol:h.drawRectangle,visible:!0,setState:n,isDataClass:!0,setVisible:function(){k=this.visible=!k;u(c.series,function(a){u(a.points,function(a){a.dataClass===g&&a.setVisible(k)})});e.legend.colorizeItem(this,k)}},b))});return f},name:""});u(["fill","stroke"],function(c){a.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,A.prototype.tweenColors(B(this.start),B(this.end),this.pos),null,!0)}});f(y.prototype,"getAxes",function(a){var c=this.options.colorAxis;a.call(this);this.colorAxis=
[];c&&new A(this,c)});f(t.prototype,"getAllItems",function(a){var c=[],f=this.chart.colorAxis[0];f&&f.options&&(f.options.showInLegend&&(f.options.dataClasses?c=c.concat(f.getDataClassLegendSymbols()):c.push(f)),u(f.series,function(a){a.options.showInLegend=!1}));return c.concat(a.call(this))});f(t.prototype,"colorizeItem",function(a,c,f){a.call(this,c,f);f&&c.legendColor&&c.legendSymbol.attr({fill:c.legendColor})})})(H);(function(a){var z=a.defined,y=a.each,B=a.noop,A=a.seriesTypes;a.colorPointMixin=
{isValid:function(){return null!==this.value},setVisible:function(a){var q=this,r=a?"show":"hide";y(["graphic","dataLabel"],function(a){if(q[a])q[a][r]()})},setState:function(u){a.Point.prototype.setState.call(this,u);this.graphic&&this.graphic.attr({zIndex:"hover"===u?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:B,parallelArrays:["x","y","value"],colorKey:"value",
pointAttribs:A.column.prototype.pointAttribs,translateColors:function(){var a=this,q=this.options.nullColor,r=this.colorAxis,t=this.colorKey;y(this.data,function(h){var n=h[t];if(n=h.options.color||(h.isNull?q:r&&void 0!==n?r.toColor(n,h):h.color||a.color))h.color=n})},colorAttribs:function(a){var q={};z(a.color)&&(q[this.colorProp||"fill"]=a.color);return q}}})(H);(function(a){var z=a.colorPointMixin,y=a.each,B=a.merge,A=a.noop,u=a.pick,q=a.Series,r=a.seriesType,t=a.seriesTypes;r("heatmap","scatter",
{animation:!1,borderWidth:0,nullColor:"#f7f7f7",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}}},B(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;t.scatter.prototype.init.apply(this,
arguments);a=this.options;a.pointRange=u(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,n=this.xAxis,l=this.yAxis,c=function(a,c,e){return Math.min(Math.max(c,a),e)};this.generatePoints();y(this.points,function(f){var h=(a.colsize||1)/2,e=(a.rowsize||1)/2,g=c(Math.round(n.len-n.translate(f.x-h,0,1,0,1)),-n.len,2*n.len),h=c(Math.round(n.len-n.translate(f.x+h,0,1,0,1)),-n.len,2*n.len),b=c(Math.round(l.translate(f.y-e,0,1,0,1)),-l.len,2*l.len),
e=c(Math.round(l.translate(f.y+e,0,1,0,1)),-l.len,2*l.len);f.plotX=f.clientX=(g+h)/2;f.plotY=(b+e)/2;f.shapeType="rect";f.shapeArgs={x:Math.min(g,h),y:Math.min(b,e),width:Math.abs(h-g),height:Math.abs(e-b)}});this.translateColors()},drawPoints:function(){t.column.prototype.drawPoints.call(this);y(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},animate:A,getBox:A,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:t.column.prototype.alignDataLabel,getExtremes:function(){q.prototype.getExtremes.call(this,
this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;q.prototype.getExtremes.call(this)}}),z)})(H);return H});