highcharts
Version:
JavaScript charting framework
105 lines (103 loc) • 252 kB
JavaScript
/*
Highcharts JS v7.1.0 (2019-04-01)
(c) 2011-2018 Torstein Honsi
License: www.highcharts.com/license
*/
(function(O,K){"object"===typeof module&&module.exports?(K["default"]=K,module.exports=O.document?K(O):K):"function"===typeof define&&define.amd?define("highcharts/highmaps",function(){return K(O)}):(O.Highcharts&&O.Highcharts.error(16,!0),O.Highcharts=K(O))})("undefined"!==typeof window?window:this,function(O){function K(a,D,F,E){a.hasOwnProperty(D)||(a[D]=E.apply(null,F))}var I={};K(I,"parts/Globals.js",[],function(){var a="undefined"===typeof O?"undefined"!==typeof window?window:{}:O,D=a.document,
F=a.navigator&&a.navigator.userAgent||"",E=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,h=/(edge|msie|trident)/i.test(F)&&!a.opera,d=-1!==F.indexOf("Firefox"),u=-1!==F.indexOf("Chrome"),v=d&&4>parseInt(F.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.0",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:v,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:h,isWebKit:-1!==F.indexOf("AppleWebKit"),isFirefox:d,isChrome:u,isSafari:!u&&-1!==F.indexOf("Safari"),
isTouchDevice:/(Mobile|Android|Windows Phone)/.test(F),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:E,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});K(I,"parts/Utilities.js",[I["parts/Globals.js"]],function(a){a.timers=[];var D=a.charts,F=a.doc,E=a.win;a.error=function(h,d,u){var v=a.isNumber(h)?"Highcharts error #"+h+": www.highcharts.com/errors/"+h:h,r=function(){if(d)throw Error(v);E.console&&
console.log(v)};u?a.fireEvent(u,"displayError",{code:h,message:v},r):r()};a.Fx=function(a,d,u){this.options=d;this.elem=a;this.prop=u};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],u=[],v=this.now,r=a.length,w;if(1===v)u=this.toD;else if(r===d.length&&1>v)for(;r--;)w=parseFloat(a[r]),u[r]=isNaN(w)?d[r]:v*parseFloat(d[r]-w)+w;else u=d;this.elem.attr("d",u,null,!0)},update:function(){var a=this.elem,d=this.prop,u=this.now,v=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();
else a.attr?a.element&&a.attr(d,u,null,!0):a.style[d]=u+this.unit;v&&v.call(a,u,this)},run:function(h,d,u){var v=this,r=v.options,w=function(a){return w.stopped?!1:v.step(a)},p=E.requestAnimationFrame||function(a){setTimeout(a,13)},k=function(){for(var l=0;l<a.timers.length;l++)a.timers[l]()||a.timers.splice(l--,1);a.timers.length&&p(k)};h!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=h,this.end=d,this.unit=u,this.now=this.start,this.pos=0,w.elem=this.elem,w.prop=
this.prop,w()&&1===a.timers.push(w)&&p(k)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))},step:function(h){var d=+new Date,u,v=this.options,r=this.elem,w=v.complete,p=v.duration,k=v.curAnim;r.attr&&!r.element?h=!1:h||d>=p+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=k[this.prop]=!0,a.objectEach(k,function(a){!0!==a&&(u=!1)}),u&&w&&w.call(r),h=!1):(this.pos=v.easing((d-this.startTime)/p),this.now=this.start+(this.end-this.start)*
this.pos,this.update(),h=!0);return h},initPath:function(h,d,u){function v(a){var c,f;for(b=a.length;b--;)c="M"===a[b]||"L"===a[b],f=/[a-zA-Z]/.test(a[b+3]),c&&f&&a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+2])}function r(a,f){for(;a.length<c;){a[0]=f[c-a.length];var e=a.slice(0,g);[].splice.apply(a,[0,0].concat(e));n&&(e=a.slice(a.length-g),[].splice.apply(a,[a.length,0].concat(e)),b--)}a[0]="M"}function w(a,b){for(var q=(c-a.length)/g;0<q&&q--;)f=a.slice().splice(a.length/t-g,g*t),f[0]=b[c-g-q*g],e&&
(f[g-6]=f[g-2],f[g-5]=f[g-1]),[].splice.apply(a,[a.length/t,0].concat(f)),n&&q--}d=d||"";var p,k=h.startX,l=h.endX,e=-1<d.indexOf("C"),g=e?7:3,c,f,b;d=d.split(" ");u=u.slice();var n=h.isArea,t=n?2:1,x;e&&(v(d),v(u));if(k&&l){for(b=0;b<k.length;b++)if(k[b]===l[0]){p=b;break}else if(k[0]===l[l.length-k.length+b]){p=b;x=!0;break}void 0===p&&(d=[])}d.length&&a.isNumber(p)&&(c=u.length+p*t*g,x?(r(d,u),w(u,d)):(r(u,d),w(d,u)));return[d,u]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},
strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var h,d=arguments,u,v={},r=function(h,p){"object"!==typeof h&&(h={});a.objectEach(p,function(k,l){!a.isObject(k,!0)||a.isClass(k)||a.isDOMElement(k)?h[l]=p[l]:h[l]=r(h[l]||{},k)});return h};!0===d[0]&&(v=d[1],d=Array.prototype.slice.call(d,2));u=d.length;for(h=0;h<u;h++)v=r(v,d[h]);return v};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===
typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(h,d){return!!h&&"object"===typeof h&&(!d||!a.isArray(h))};a.isDOMElement=function(h){return a.isObject(h)&&"number"===typeof h.nodeType};a.isClass=function(h){var d=h&&h.constructor;return!(!a.isObject(h,!0)||a.isDOMElement(h)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=
function(a,d){for(var h=a.length;h--;)if(a[h]===d){a.splice(h,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(h,d,u){var v;a.isString(d)?a.defined(u)?h.setAttribute(d,u):h&&h.getAttribute&&((v=h.getAttribute(d))||"class"!==d||(v=h.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&&a.objectEach(d,function(a,d){h.setAttribute(d,a)});return v};a.splat=function(h){return a.isArray(h)?h:[h]};a.syncTimeout=function(a,d,u){if(d)return setTimeout(a,d,u);a.call(0,u)};a.clearTimeout=
function(h){a.defined(h)&&clearTimeout(h)};a.extend=function(a,d){var h;a||(a={});for(h in d)a[h]=d[h];return a};a.pick=function(){var a=arguments,d,u,v=a.length;for(d=0;d<v;d++)if(u=a[d],void 0!==u&&null!==u)return u};a.css=function(h,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+100*d.opacity+")");a.extend(h.style,d)};a.createElement=function(h,d,u,v,r){h=F.createElement(h);var w=a.css;d&&a.extend(h,d);r&&w(h,{padding:0,border:"none",margin:0});u&&w(h,u);v&&v.appendChild(h);
return h};a.extendClass=function(h,d){var u=function(){};u.prototype=new h;a.extend(u.prototype,d);return u};a.pad=function(a,d,u){return Array((d||2)+1-String(a).replace("-","").length).join(u||0)+a};a.relativeLength=function(a,d,u){return/%$/.test(a)?d*parseFloat(a)/100+(u||0):parseFloat(a)};a.wrap=function(a,d,u){var h=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,p=this;p.proceed=function(){h.apply(p,arguments.length?arguments:d)};a.unshift(h);a=u.apply(this,a);
p.proceed=null;return a}};a.datePropsToTimestamps=function(h){a.objectEach(h,function(d,u){a.isObject(d)&&"function"===typeof d.getTime?h[u]=d.getTime():(a.isObject(d)||a.isArray(d))&&a.datePropsToTimestamps(d)})};a.formatSingle=function(h,d,u){var v=/\.([0-9])/,r=a.defaultOptions.lang;/f$/.test(h)?(u=(u=h.match(v))?u[1]:-1,null!==d&&(d=a.numberFormat(d,u,r.decimalPoint,-1<h.indexOf(",")?r.thousandsSep:""))):d=(u||a.time).dateFormat(h,d);return d};a.format=function(h,d,u){for(var v="{",r=!1,w,p,k,
l,e=[],g;h;){v=h.indexOf(v);if(-1===v)break;w=h.slice(0,v);if(r){w=w.split(":");p=w.shift().split(".");l=p.length;g=d;for(k=0;k<l;k++)g&&(g=g[p[k]]);w.length&&(g=a.formatSingle(w.join(":"),g,u));e.push(g)}else e.push(w);h=h.slice(v+1);v=(r=!r)?"}":"{"}e.push(h);return e.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(h,d,u,v,r){var w,p=h;u=a.pick(u,1);w=h/u;d||(d=r?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===v&&(1===
u?d=d.filter(function(a){return 0===a%1}):.1>=u&&(d=[1/u])));for(v=0;v<d.length&&!(p=d[v],r&&p*u>=h||!r&&w<=(d[v]+(d[v+1]||d[v]))/2);v++);return p=a.correctFloat(p*u,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var h=a.length,v,r;for(r=0;r<h;r++)a[r].safeI=r;a.sort(function(a,p){v=d(a,p);return 0===v?a.safeI-p.safeI:v});for(r=0;r<h;r++)delete a[r].safeI};a.arrayMin=function(a){for(var d=a.length,h=a[0];d--;)a[d]<h&&(h=a[d]);return h};a.arrayMax=function(a){for(var d=a.length,
h=a[0];d--;)a[d]>h&&(h=a[d]);return h};a.destroyObjectProperties=function(h,d){a.objectEach(h,function(a,v){a&&a!==d&&a.destroy&&a.destroy();delete h[v]})};a.discardElement=function(h){var d=a.garbageBin;d||(d=a.createElement("div"));h&&d.appendChild(h);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d||14))};a.setAnimation=function(h,d){d.renderer.globalAnimation=a.pick(h,d.options.chart.animation,!0)};a.animObject=function(h){return a.isObject(h)?a.merge(h):{duration:h?
500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(h,d,u,v){h=+h||0;d=+d;var r=a.defaultOptions.lang,w=(h.toString().split(".")[1]||"").split("e")[0].length,p,k,l=h.toString().split("e");-1===d?d=Math.min(w,20):a.isNumber(d)?d&&l[1]&&0>l[1]&&(p=d+ +l[1],0<=p?(l[0]=(+l[0]).toExponential(p).split("e")[0],d=p):(l[0]=l[0].split(".")[0]||0,h=20>d?(l[0]*Math.pow(10,l[1])).toFixed(d):0,l[1]=0)):d=2;k=(Math.abs(l[1]?
l[0]:h)+Math.pow(10,-Math.max(d,w)-1)).toFixed(d);w=String(a.pInt(k));p=3<w.length?w.length%3:0;u=a.pick(u,r.decimalPoint);v=a.pick(v,r.thousandsSep);h=(0>h?"-":"")+(p?w.substr(0,p)+v:"");h+=w.substr(p).replace(/(\d{3})(?=\d)/g,"$1"+v);d&&(h+=u+k.slice(-d));l[1]&&0!==+h&&(h+="e"+l[1]);return h};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(h,d,u){if("width"===d)return Math.max(0,Math.min(h.offsetWidth,h.scrollWidth,h.getBoundingClientRect&&"none"===a.getStyle(h,
"transform",!1)?Math.floor(h.getBoundingClientRect().width):Infinity)-a.getStyle(h,"padding-left")-a.getStyle(h,"padding-right"));if("height"===d)return Math.max(0,Math.min(h.offsetHeight,h.scrollHeight)-a.getStyle(h,"padding-top")-a.getStyle(h,"padding-bottom"));E.getComputedStyle||a.error(27,!0);if(h=E.getComputedStyle(h,void 0))h=h.getPropertyValue(d),a.pick(u,"opacity"!==d)&&(h=a.pInt(h));return h};a.inArray=function(a,d,u){return d.indexOf(a,u)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:
function(a,d){var h,v=a.length;for(h=0;h<v;h++)if(d(a[h],h))return a[h]};a.keys=Object.keys;a.offset=function(a){var d=F.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(E.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(E.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(h,d){for(var u=a.timers.length;u--;)a.timers[u].elem!==h||d&&d!==a.timers[u].prop||(a.timers[u].stopped=!0)};a.objectEach=function(a,d,u){for(var h in a)a.hasOwnProperty(h)&&
d.call(u||a[h],a[h],h,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(h,d){a[d]=function(a){return Array.prototype[h].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(h,d,u,v){var r,w=h.addEventListener||a.addEventListenerPolyfill;r="function"===typeof h&&h.prototype?h.prototype.protoEvents=h.prototype.protoEvents||{}:h.hcEvents=h.hcEvents||{};a.Point&&h instanceof a.Point&&h.series&&h.series.chart&&(h.series.chart.runTrackerClick=!0);w&&w.call(h,
d,u,!1);r[d]||(r[d]=[]);r[d].push(u);v&&a.isNumber(v.order)&&(u.order=v.order,r[d].sort(function(a,k){return a.order-k.order}));return function(){a.removeEvent(h,d,u)}};a.removeEvent=function(h,d,u){function v(k,l){var e=h.removeEventListener||a.removeEventListenerPolyfill;e&&e.call(h,k,l,!1)}function r(k){var l,e;h.nodeName&&(d?(l={},l[d]=!0):l=k,a.objectEach(l,function(a,c){if(k[c])for(e=k[c].length;e--;)v(c,k[c][e])}))}var w,p;["protoEvents","hcEvents"].forEach(function(a){var k=h[a];k&&(d?(w=
k[d]||[],u?(p=w.indexOf(u),-1<p&&(w.splice(p,1),k[d]=w),v(d,u)):(r(k),k[d]=[])):(r(k),h[a]={}))})};a.fireEvent=function(h,d,u,v){var r,w,p,k,l;u=u||{};F.createEvent&&(h.dispatchEvent||h.fireEvent)?(r=F.createEvent("Events"),r.initEvent(d,!0,!0),a.extend(r,u),h.dispatchEvent?h.dispatchEvent(r):h.fireEvent(d,r)):["protoEvents","hcEvents"].forEach(function(e){if(h[e])for(w=h[e][d]||[],p=w.length,u.target||a.extend(u,{preventDefault:function(){u.defaultPrevented=!0},target:h,type:d}),k=0;k<p;k++)(l=w[k])&&
!1===l.call(h,u)&&u.preventDefault()});v&&!u.defaultPrevented&&v.call(h,u)};a.animate=function(h,d,u){var v,r="",w,p,k;a.isObject(u)||(k=arguments,u={duration:k[2],easing:k[3],complete:k[4]});a.isNumber(u.duration)||(u.duration=400);u.easing="function"===typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine;u.curAnim=a.merge(d);a.objectEach(d,function(k,e){a.stop(h,e);p=new a.Fx(h,u,e);w=null;"d"===e?(p.paths=p.initPath(h,h.d,d.d),p.toD=d.d,v=0,w=1):h.attr?v=h.attr(e):(v=parseFloat(a.getStyle(h,
e))||0,"opacity"!==e&&(r="px"));w||(w=k);w&&w.match&&w.match("px")&&(w=w.replace(/px/g,""));p.run(v,w,r)})};a.seriesType=function(h,d,u,v,r){var w=a.getOptions(),p=a.seriesTypes;w.plotOptions[h]=a.merge(w.plotOptions[d],u);p[h]=a.extendClass(p[d]||function(){},v);p[h].prototype.type=h;r&&(p[h].prototype.pointClass=a.extendClass(a.Point,r));return p[h]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();a.isFunction=function(a){return"function"===
typeof a};E.jQuery&&(E.jQuery.fn.highcharts=function(){var h=[].slice.call(arguments);if(this[0])return h[0]?(new (a[a.isString(h[0])?h.shift():"Chart"])(this[0],h[0],h[1]),this):D[a.attr(this[0],"data-highcharts-chart")]})});K(I,"parts/Color.js",[I["parts/Globals.js"]],function(a){var D=a.isNumber,F=a.merge,E=a.pInt;a.Color=function(h){if(!(this instanceof a.Color))return new a.Color(h);this.init(h)};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[E(a[1]),E(a[2]),E(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[E(a[1]),E(a[2]),E(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(h){var d,u,v,r;if((this.input=h=this.names[h&&h.toLowerCase?h.toLowerCase():""]||h)&&h.stops)this.stops=h.stops.map(function(d){return new a.Color(d[1])});else if(h&&h.charAt&&"#"===h.charAt()&&(d=h.length,h=parseInt(h.substr(1),16),7===d?u=[(h&16711680)>>
16,(h&65280)>>8,h&255,1]:4===d&&(u=[(h&3840)>>4|(h&3840)>>8,(h&240)>>4|h&240,(h&15)<<4|h&15,1])),!u)for(v=this.parsers.length;v--&&!u;)r=this.parsers[v],(d=r.regex.exec(h))&&(u=r.parse(d));this.rgba=u||[]},get:function(a){var d=this.input,h=this.rgba,v;this.stops?(v=F(d),v.stops=[].concat(v.stops),this.stops.forEach(function(d,w){v.stops[w]=[v.stops[w][0],d.get(a)]})):v=h&&D(h[0])?"rgb"===a||!a&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===a?h[3]:"rgba("+h.join(",")+")":d;return v},brighten:function(a){var d,
h=this.rgba;if(this.stops)this.stops.forEach(function(d){d.brighten(a)});else if(D(a)&&0!==a)for(d=0;3>d;d++)h[d]+=E(255*a),0>h[d]&&(h[d]=0),255<h[d]&&(h[d]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var h=this.rgba,v=a.rgba;v.length&&h&&h.length?(a=1!==v[3]||1!==h[3],d=(a?"rgba(":"rgb(")+Math.round(v[0]+(h[0]-v[0])*(1-d))+","+Math.round(v[1]+(h[1]-v[1])*(1-d))+","+Math.round(v[2]+(h[2]-v[2])*(1-d))+(a?","+(v[3]+(h[3]-v[3])*(1-d)):"")+")"):d=a.input||
"none";return d}};a.color=function(h){return new a.Color(h)}});K(I,"parts/Time.js",[I["parts/Globals.js"]],function(a){var D=a.defined,F=a.extend,E=a.merge,h=a.pick,d=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var d=h(a&&a.useUTC,!0),w=this;this.options=a=E(!0,this.options||{},a);this.Date=a.Date||u.Date||Date;this.timezoneOffset=(this.useUTC=d)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=
!(d&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,k){var p=k.getTime(),e=p-w.getTimezoneOffset(k);k.setTime(e);a=k["getUTC"+a]();k.setTime(p);return a},this.set=function(a,k,l){var e;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===k.getTimezoneOffset()%60)k["set"+a](l);else e=w.getTimezoneOffset(k),e=k.getTime()-e,k.setTime(e),k["setUTC"+a](l),a=w.getTimezoneOffset(k),e=k.getTime()+a,k.setTime(e)}):d?(this.get=function(a,k){return k["getUTC"+a]()},this.set=
function(a,k,l){return k["setUTC"+a](l)}):(this.get=function(a,k){return k["get"+a]()},this.set=function(a,k,l){return k["set"+a](l)})},makeTime:function(d,r,w,p,k,l){var e,g,c;this.useUTC?(e=this.Date.UTC.apply(0,arguments),g=this.getTimezoneOffset(e),e+=g,c=this.getTimezoneOffset(e),g!==c?e+=c-g:g-36E5!==this.getTimezoneOffset(e-36E5)||a.isSafari||(e-=36E5)):e=(new this.Date(d,r,h(w,1),h(p,0),h(k,0),h(l,0))).getTime();return e},timezoneOffsetFunction:function(){var d=this,h=this.options,w=u.moment;
if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(h.timezone){if(w)return function(a){return 6E4*-w.tz(a,h.timezone).utcOffset()};a.error(25)}return this.useUTC&&h.getTimezoneOffset?function(a){return 6E4*h.getTimezoneOffset(a)}:function(){return 6E4*(d.timezoneOffset||0)}},dateFormat:function(d,h,w){if(!a.defined(h)||isNaN(h))return a.defaultOptions.lang.invalidDate||"";d=a.pick(d,"%Y-%m-%d %H:%M:%S");var p=this,k=new this.Date(h),l=this.get("Hours",k),e=this.get("Day",
k),g=this.get("Date",k),c=this.get("Month",k),f=this.get("FullYear",k),b=a.defaultOptions.lang,n=b.weekdays,t=b.shortWeekdays,x=a.pad,k=a.extend({a:t?t[e]:n[e].substr(0,3),A:n[e],d:x(g),e:x(g,2," "),w:e,b:b.shortMonths[c],B:b.months[c],m:x(c+1),o:c+1,y:f.toString().substr(2,2),Y:f,H:x(l),k:l,I:x(l%12||12),l:l%12||12,M:x(p.get("Minutes",k)),p:12>l?"AM":"PM",P:12>l?"am":"pm",S:x(k.getSeconds()),L:x(Math.floor(h%1E3),3)},a.dateFormats);a.objectEach(k,function(a,b){for(;-1!==d.indexOf("%"+b);)d=d.replace("%"+
b,"function"===typeof a?a.call(p,h):a)});return w?d.substr(0,1).toUpperCase()+d.substr(1):d},resolveDTLFormat:function(d){return a.isObject(d,!0)?d:(d=a.splat(d),{main:d[0],from:d[1],to:d[2]})},getTimeTicks:function(a,r,w,p){var k=this,l=[],e,g={},c;e=new k.Date(r);var f=a.unitRange,b=a.count||1,n;p=h(p,1);if(D(r)){k.set("Milliseconds",e,f>=d.second?0:b*Math.floor(k.get("Milliseconds",e)/b));f>=d.second&&k.set("Seconds",e,f>=d.minute?0:b*Math.floor(k.get("Seconds",e)/b));f>=d.minute&&k.set("Minutes",
e,f>=d.hour?0:b*Math.floor(k.get("Minutes",e)/b));f>=d.hour&&k.set("Hours",e,f>=d.day?0:b*Math.floor(k.get("Hours",e)/b));f>=d.day&&k.set("Date",e,f>=d.month?1:Math.max(1,b*Math.floor(k.get("Date",e)/b)));f>=d.month&&(k.set("Month",e,f>=d.year?0:b*Math.floor(k.get("Month",e)/b)),c=k.get("FullYear",e));f>=d.year&&k.set("FullYear",e,c-c%b);f===d.week&&(c=k.get("Day",e),k.set("Date",e,k.get("Date",e)-c+p+(c<p?-7:0)));c=k.get("FullYear",e);p=k.get("Month",e);var t=k.get("Date",e),x=k.get("Hours",e);r=
e.getTime();k.variableTimezone&&(n=w-r>4*d.month||k.getTimezoneOffset(r)!==k.getTimezoneOffset(w));r=e.getTime();for(e=1;r<w;)l.push(r),r=f===d.year?k.makeTime(c+e*b,0):f===d.month?k.makeTime(c,p+e*b):!n||f!==d.day&&f!==d.week?n&&f===d.hour&&1<b?k.makeTime(c,p,t,x+e*b):r+f*b:k.makeTime(c,p,t+e*b*(f===d.day?1:7)),e++;l.push(r);f<=d.hour&&1E4>l.length&&l.forEach(function(a){0===a%18E5&&"000000000"===k.dateFormat("%H%M%S%L",a)&&(g[a]="day")})}l.info=F(a,{higherRanks:g,totalRange:f*b});return l}}});K(I,
"parts/Options.js",[I["parts/Globals.js"]],function(a){var D=a.color,F=a.merge;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:{},time:a.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,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",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},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,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',backgroundColor:D("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",
whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(E){a.defaultOptions=F(!0,a.defaultOptions,E);a.time.update(F(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(F(a.defaultOptions.global,
a.defaultOptions.time));a.dateFormat=function(E,h,d){return a.time.dateFormat(E,h,d)}});K(I,"parts/SvgRenderer.js",[I["parts/Globals.js"]],function(a){var D,F,E=a.addEvent,h=a.animate,d=a.attr,u=a.charts,v=a.color,r=a.css,w=a.createElement,p=a.defined,k=a.deg2rad,l=a.destroyObjectProperties,e=a.doc,g=a.extend,c=a.erase,f=a.hasTouch,b=a.isArray,n=a.isFirefox,t=a.isMS,x=a.isObject,B=a.isString,G=a.isWebKit,q=a.merge,A=a.noop,z=a.objectEach,J=a.pick,H=a.pInt,m=a.removeEvent,C=a.splat,M=a.stop,U=a.svg,
L=a.SVG_NS,Q=a.symbolSizes,R=a.win;D=a.SVGElement=function(){return this};g(D.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(y,b){this.element="span"===b?w(b):e.createElementNS(this.SVG_NS,b);this.renderer=y;a.fireEvent(this,"afterInit")},animate:function(y,b,m){var c=a.animObject(J(b,this.renderer.globalAnimation,!0));J(e.hidden,e.msHidden,e.webkitHidden,
!1)&&(c.duration=0);0!==c.duration?(m&&(c.complete=m),h(this,y,c)):(this.attr(y,null,m),a.objectEach(y,function(a,y){c.step&&c.step.call(this,a,{prop:y,pos:1})},this));return this},complexColor:function(y,m,c){var f=this.renderer,g,e,C,n,t,A,L,k,d,P,l,x=[],H;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){y.radialGradient?e="radialGradient":y.linearGradient&&(e="linearGradient");e&&(C=y[e],t=f.gradients,L=y.stops,P=c.radialReference,b(C)&&(y[e]=C={x1:C[0],y1:C[1],x2:C[2],y2:C[3],
gradientUnits:"userSpaceOnUse"}),"radialGradient"===e&&P&&!p(C.gradientUnits)&&(n=C,C=q(C,f.getRadialAttr(P,n),{gradientUnits:"userSpaceOnUse"})),z(C,function(a,y){"id"!==y&&x.push(y,a)}),z(L,function(a){x.push(a)}),x=x.join(","),t[x]?l=t[x].attr("id"):(C.id=l=a.uniqueKey(),t[x]=A=f.createElement(e).attr(C).add(f.defs),A.radAttr=n,A.stops=[],L.forEach(function(y){0===y[1].indexOf("rgba")?(g=a.color(y[1]),k=g.get("rgb"),d=g.get("a")):(k=y[1],d=1);y=f.createElement("stop").attr({offset:y[0],"stop-color":k,
"stop-opacity":d}).add(A);A.stops.push(y)})),H="url("+f.url+"#"+l+")",c.setAttribute(m,H),c.gradient=x,y.toString=function(){return H})})},applyTextOutline:function(y){var b=this.element,m,c,f;-1!==y.indexOf("contrast")&&(y=y.replace(/contrast/g,this.renderer.getContrast(b.style.fill)));y=y.split(" ");m=y[y.length-1];(c=y[0])&&"none"!==c&&a.svg&&(this.fakeTS=!0,y=[].slice.call(b.getElementsByTagName("tspan")),this.ySetter=this.xSetter,c=c.replace(/(^[\d\.]+)(.*?)$/g,function(a,y,b){return 2*y+b}),
this.removeTextOutline(y),f=b.firstChild,y.forEach(function(a,y){0===y&&(a.setAttribute("x",b.getAttribute("x")),y=b.getAttribute("y"),a.setAttribute("y",y||0),null===y&&b.setAttribute("y",0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:m,stroke:m,"stroke-width":c,"stroke-linejoin":"round"});b.insertBefore(a,f)}))},removeTextOutline:function(a){for(var y=a.length,b;y--;)b=a[y],"highcharts-text-outline"===b.getAttribute("class")&&c(a,this.element.removeChild(b))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),
attr:function(y,b,m,c){var f,e=this.element,g,C=this,q,n,t=this.symbolCustomAttribs;"string"===typeof y&&void 0!==b&&(f=y,y={},y[f]=b);"string"===typeof y?C=(this[y+"Getter"]||this._defaultGetter).call(this,y,e):(z(y,function(b,m){q=!1;c||M(this,m);this.symbolName&&-1!==a.inArray(m,t)&&(g||(this.symbolAttr(y),g=!0),q=!0);!this.rotation||"x"!==m&&"y"!==m||(this.doTransform=!0);q||(n=this[m+"Setter"]||this._defaultSetter,n.call(this,b,m,e),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(m)&&
this.updateShadows(m,b,n))},this),this.afterSetters());m&&m.call(this);return C},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,m){for(var y=this.shadows,c=y.length;c--;)m.call(y[c],"height"===a?Math.max(b-(y[c].cutHeight||0),0):"d"===a?this.d:b,a,y[c])},addClass:function(a,b){var y=this.attr("class")||"";b||(a=(a||"").split(/ /g).reduce(function(a,b){-1===y.indexOf(b)&&a.push(b);return a},y?[y]:[]).join(" "));a!==y&&this.attr("class",
a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var y=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(b){y[b]=J(a[b],y[b])});y.attr({d:y.renderer.symbols[y.symbolName](y.x,y.y,y.width,y.height,y)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},
crisp:function(a,b){var y;b=b||a.strokeWidth||0;y=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+y;a.y=Math.floor(a.y||this.y||0)+y;a.width=Math.floor((a.width||this.width||0)-2*y);a.height=Math.floor((a.height||this.height||0)-2*y);p(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,y={},m=this.element,c,f="",e,C=!b,q=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&z(a,function(a,m){a!==b[m]&&(y[m]=a,C=!0)});C&&(b&&(a=g(b,y)),a&&(null===a.width||
"auto"===a.width?delete this.textWidth:"text"===m.nodeName.toLowerCase()&&a.width&&(c=this.textWidth=H(a.width))),this.styles=a,c&&!U&&this.renderer.forExport&&delete a.width,m.namespaceURI===this.SVG_NS?(e=function(a,b){return"-"+b.toLowerCase()},z(a,function(a,b){-1===q.indexOf(b)&&(f+=b.replace(/([A-Z])/g,e)+":"+a+";")}),f&&d(m,"style",f)):r(m,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return R.getComputedStyle(this.element||
this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width"),b;a.indexOf("px")===a.length-2?a=H(a):(b=e.createElementNS(L,"rect"),d(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var y=this,m=y.element;f&&"click"===a?(m.ontouchstart=function(a){y.touchEventFired=Date.now();a.preventDefault();b.call(m,a)},m.onclick=
function(a){(-1===R.navigator.userAgent.indexOf("Android")||1100<Date.now()-(y.touchEventFired||0))&&b.call(m,a)}):m["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,m=this.scaleX,c=this.scaleY,f=this.inverted,e=this.rotation,g=this.matrix,C=this.element;f&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];p(g)&&a.push("matrix("+g.join(",")+")");f?a.push("rotate(90) scale(-1,1)"):e&&a.push("rotate("+e+" "+J(this.rotationOriginX,C.getAttribute("x"),0)+" "+J(this.rotationOriginY,C.getAttribute("y")||0)+")");(p(m)||p(c))&&a.push("scale("+J(m,1)+" "+J(c,1)+")");a.length&&C.setAttribute("transform",a.join(" "))},toFront:function(){var a=
this.element;a.parentNode.appendChild(a);return this},align:function(a,b,m){var y,f,e,g,C={};f=this.renderer;e=f.alignedObjects;var q,n;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!m||B(m))this.alignTo=y=m||"renderer",c(e,this),e.push(this),m=null}else a=this.alignOptions,b=this.alignByTranslate,y=this.alignTo;m=J(m,f[y],f);y=a.align;f=a.verticalAlign;e=(m.x||0)+(a.x||0);g=(m.y||0)+(a.y||0);"right"===y?q=1:"center"===y&&(q=2);q&&(e+=(m.width-(a.width||0))/q);C[b?"translateX":"x"]=Math.round(e);
"bottom"===f?n=1:"middle"===f&&(n=2);n&&(g+=(m.height-(a.height||0))/n);C[b?"translateY":"y"]=Math.round(g);this[this.placed?"animate":"attr"](C);this.placed=!0;this.alignAttr=C;return this},getBBox:function(a,b){var m,y=this.renderer,c,f=this.element,e=this.styles,C,q=this.textStr,n,t=y.cache,A=y.cacheKeys,L=f.namespaceURI===this.SVG_NS,d;b=J(b,this.rotation);c=b*k;C=y.styledMode?f&&D.prototype.getStyle.call(f,"font-size"):e&&e.fontSize;p(q)&&(d=q.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,
"0")),d+=["",b||0,C,this.textWidth,e&&e.textOverflow].join());d&&!a&&(m=t[d]);if(!m){if(L||y.forExport){try{(n=this.fakeTS&&function(a){[].forEach.call(f.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&n("none"),m=f.getBBox?g({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},n&&n("")}catch(ba){}if(!m||0>m.width)m={width:0,height:0}}else m=this.htmlGetBBox();y.isSVG&&(a=m.width,y=m.height,L&&(m.height=y={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(y)]||
y),b&&(m.width=Math.abs(y*Math.sin(c))+Math.abs(a*Math.cos(c)),m.height=Math.abs(y*Math.cos(c))+Math.abs(a*Math.sin(c))));if(d&&0<m.height){for(;250<A.length;)delete t[A.shift()];t[d]||A.push(d);t[d]=m}}return m},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,m=this.element,
y;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)y=this.zIndexSetter();y||(a?a.element:b.box).appendChild(m);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},m=a.renderer,f=m.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,e=b.ownerSVGElement,g=a.clipPath;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=
b.point=null;M(a);g&&e&&([].forEach.call(e.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1<a.getAttribute("clip-path").indexOf(g.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=g.destroy());if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(b);for(m.styledMode||a.destroyShadows();f&&f.div&&0===f.div.childNodes.length;)b=f.parentGroup,a.safeRemoveChild(f.div),delete f.div,f=b;a.alignTo&&c(m.alignedObjects,a);z(a,function(b,m){delete a[m]});
return null},shadow:function(a,b,m){var c=[],y,f,e=this.element,g,C,q,n;if(!a)this.destroyShadows();else if(!this.shadows){C=J(a.width,3);q=(a.opacity||.15)/C;n=this.parentInverted?"(-1,-1)":"("+J(a.offsetX,1)+", "+J(a.offsetY,1)+")";for(y=1;y<=C;y++)f=e.cloneNode(0),g=2*C+1-2*y,d(f,{stroke:a.color||"#000000","stroke-opacity":q*y,"stroke-width":g,transform:"translate"+n,fill:"none"}),f.setAttribute("class",(f.getAttribute("class")||"")+" highcharts-shadow"),m&&(d(f,"height",Math.max(d(f,"height")-
g,0)),f.cutHeight=g),b?b.element.appendChild(f):e.parentNode&&e.parentNode.insertBefore(f,e),c.push(f);this.shadows=c}return this},destroyShadows:function(){(this.shadows||[]).forEach(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=J(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));
return a},dSetter:function(a,b,m){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(m.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,m=this["stroke-width"];"inherit"===m&&(m=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]=
H(a[b])*m;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var b={left:"start",center:"middle",right:"end"};b[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",b[a]))},opacitySetter:function(a,b,m){this[b]=a;m.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=e.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(e.createTextNode(String(J(a),
"").replace(/<[^>]*>/g,"").replace(/</g,"\x3c").replace(/>/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(b,m){var c=this.element,f={textAnchor:"text-anchor"},y,e=!1,g,C=this.textPathWrapper,n=!C;m=q(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},m);y=m.attributes;if(b&&m&&m.enabled){this.options&&this.options.padding&&(y.dx=-this.options.padding);C||(this.textPathWrapper=
C=this.renderer.createElement("textPath"),e=!0);g=C.element;(m=b.element.getAttribute("id"))||b.element.setAttribute("id",m=a.uniqueKey());if(n)for(b=c.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),g.appendChild(b[0]);e&&C.add({element:this.text?this.text.element:c});g.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+m);p(y.dy)&&(g.parentNode.setAttribute("dy",y.dy),delete y.dy);p(y.dx)&&(g.parentNode.setAttribute("dx",y.dx),delete y.dx);a.objectEach(y,
function(a,b){g.setAttribute(f[b]||b,a)});c.removeAttribute("transform");this.removeTextOutline.call(C,[].slice.call(c.getElementsByTagName("tspan")));this.applyTextOutline=this.updateTransform=A}else C&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(c,b));return this},destroyTextPath:function(a,b){var m;b.element.setAttribute("id","");for(m=this.textPathWrapper.element.childNodes;m.length;)a.firstChild.appendChild(m[0]);a.firstChild.removeChild(this.textPathWrapper.element);
delete b.textPathWrapper},fillSetter:function(a,b,m){"string"===typeof a?m.setAttribute(b,a):a&&this.complexColor(a,b,m)},visibilitySetter:function(a,b,m){"inherit"===a?m.removeAttribute(b):this[b]!==a&&m.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var m=this.renderer,c=this.parentGroup,f=(c||m).element||m.box,e,g=this.element,y,C,m=f===m.box;e=this.added;var q;p(a)?(g.setAttribute("data-z-index",a),a=+a,this[b]===a&&(e=!1)):p(this[b])&&g.removeAttribute("data-z-index");this[b]=a;if(e){(a=
this.zIndex)&&c&&(c.handleZ=!0);b=f.childNodes;for(q=b.length-1;0<=q&&!y;q--)if(c=b[q],e=c.getAttribute("data-z-index"),C=!p(e),c!==g)if(0>a&&C&&!m&&!q)f.insertBefore(g,b[q]),y=!0;else if(H(e)<=a||C&&(!p(a)||0<=a))f.insertBefore(g,b[q+1]||null),y=!0;y||(f.insertBefore(g,b[m?3:0]||null),y=!0)}return y},_defaultSetter:function(a,b,m){m.setAttribute(b,a)}});D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.rotationSetter=D.prototype.verticalAlignSetter=
D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,b,m){this[b]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",m),m.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(m.removeAttribute("stroke"),
this.hasStroke=!1)};F=a.SVGRenderer=function(){this.init.apply(this,arguments)};g(F.prototype,{Element:D,SVG_NS:L,init:function(a,b,m,c,f,g,C){var y;y=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});C||y.css(this.getStyle(c));c=y.element;a.appendChild(c);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(c,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=c;this.boxWrapper=y;this.alignedObjects=[];this.url=(n||G)&&e.getElementsByTagName("base").length?R.location.href.split("#")[0].replace(/<[^>]*>/g,
"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highcharts 7.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=g;this.forExport=f;this.styledMode=C;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,m,!1);var q;n&&a.getBoundingClientRect&&(b=function(){r(a,{left:0,top:0});q=a.getBoundingClientRect();r(a,{left:Math.ceil(q.left)-q.left+"px",top:Math.ceil(q.top)-q.top+
"px"})},b(),this.unSubPixelFix=E(R,"resize",b))},definition:function(a){function b(a,c){var f;C(a).forEach(function(a){var g=m.createElement(a.tagName),C={};z(a,function(a,b){"tagName"!==b&&"children"!==b&&"textContent"!==b&&(C[b]=a)});g.attr(C);g.add(c||m.defs);a.textContent&&g.element.appendChild(e.createTextNode(a.textContent));b(a.children||[],g);f=g});return f}var m=this;return b(a)},getStyle:function(a){return this.style=g({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();l(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:A,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]}},truncate:function(a,b,m,c,f,g,C){var q=this,y=a.rotation,n,t=c?1:0,A=(m||c).length,L=A,k=[],d=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(e.createTextNode(a))},l=function(e,g){g=g||e;if(void 0===k[g])if(b.getSubStringLength)try{k[g]=f+b.getSubStringLength(0,c?g+1:g)}catch(ca){}else q.getSpanWidth&&(d(C(m||c,e)),k[g]=f+q.getSpanWidth(a,b));return k[g]},z,p;a.rotation=0;z=l(b.textContent.length);if(p=f+z>g){for(;t<=A;)L=Math.ceil((t+
A)/2),c&&(n=C(c,L)),z=l(L,n&&n.length-1),t===A?t=A+1:z>g?A=L-1:t=L;0===A?d(""):m&&A===m.length-1||d(n||C(m||c,L))}c&&c.splice(0,L);a.actualWidth=z;a.rotation=y;return p},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,m=this,c=m.forExport,f=J(a.textStr,"").toString(),g=-1!==f.indexOf("\x3c"),C=b.childNodes,q,n=d(b,"x"),y=a.styles,t=a.textWidth,A=y&&y.lineHeight,k=y&&y.textOutline,l=y&&"ellipsis"===y.textOverflow,p=
y&&"nowrap"===y.whiteSpace,x=y&&y.fontSize,B,w,G=C.length,y=t&&!a.added&&this.box,h=function(a){var c;m.styledMode||(c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:x||m.style.fontSize||12);return A?H(A):m.fontMetrics(c,a.getAttribute("style")?a:b).h},M=function(a,b){z(m.escapes,function(m,c){b&&-1!==b.indexOf(m)||(a=a.toString().replace(new RegExp(m,"g"),c))});return a},Q=function(a,b){var m;m=a.indexOf("\x3c");a=a.substring(m,a.indexOf("\x3e")-m);m=a.indexOf(b+"\x3d");if(-1!==m&&(m=m+b.length+
1,b=a.charAt(m),'"'===b||"'"===b))return a=a.substring(m+1),a.substring(0,a.indexOf(b))};B=[f,l,p,A,k,x,t].join();if(B!==a.textCache){for(a.textCache=B;G--;)b.removeChild(C[G]);g||k||l||t||-1!==f.indexOf(" ")?(y&&y.appendChild(b),g?(f=m.styledMode?f.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):f.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'),
f=f.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):f=[f],f=f.filter(function(a){return""!==a}),f.forEach(function(f,g){var C,y=0,A=0;f=f.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");C=f.split("|||");C.forEach(function(f){if(""!==f||1===C.length){var k={},z=e.createElementNS(m.SVG_NS,"tspan"),H,B;(H=Q(f,"class"))&&d(z,"class",H);if(H=Q(f,"style"))H=H.replace(/(;| |^)color([ :])/,"$1fill$2"),d(z,"style",
H);(B=Q(f,"href"))&&!c&&(d(z,"onclick",'location.href\x3d"'+B+'"'),d(z,"class","highcharts-anchor"),m.styledMode||r(z,{cursor:"pointer"}));f=M(f.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==f){z.appendChild(e.createTextNode(f));y?k.dx=0:g&&null!==n&&(k.x=n);d(z,k);b.appendChild(z);!y&&w&&(!U&&c&&r(z,{display:"block"}),d(z,"dy",h(z)));if(t){var G=f.replace(/([^\^])-/g,"$1- ").split(" "),k=!p&&(1<C.length||g||1<G.length);B=0;var J=h(z);if(l)q=m.truncate(a,z,f,void 0,0,Math.max(0,t-parseInt(x||
12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(k)for(;G.length;)G.length&&!p&&0<B&&(z=e.createElementNS(L,"tspan"),d(z,{dy:J,x:n}),H&&d(z,"style",H),z.appendChild(e.createTextNode(G.join(" ").replace(/- /g,"-"))),b.appendChild(z)),m.truncate(a,z,null,G,0===B?A:0,t,function(a,b){return G.slice(0,b).join(" ").replace(/- /g,"-")}),A=a.actualWidth,B++}y++}}});w=w||b.childNodes.length}),l&&q&&a.attr("title",M(a.textStr,["\x26lt;","\x26gt;"])),y&&y.removeChild(b),k&&a.applyTextOutline&&
a.applyTextOutline(k)):b.appendChild(e.createTextNode(M(f)))}},getContrast:function(a){a=v(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,m,c,f,e,C,n,A,L){var y=this.label(a,b,m,A,null,null,L,null,"button"),k=0,d=this.styledMode;y.attr(q({padding:8,r:2},f));if(!d){var z,l,p,x;f=q({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},f);z=f.style;delete f.style;e=q(f,{fill:"#e6e6e6"},e);
l=e.style;delete e.style;C=q(f,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},C);p=C.style;delete C.style;n=q(f,{style:{color:"#cccccc"}},n);x=n.style;delete n.style}E(y.element,t?"mouseover":"mouseenter",function(){3!==k&&y.setState(1)});E(y.element,t?"mouseout":"mouseleave",function(){3!==k&&y.setState(k)});y.setState=function(a){1!==a&&(y.state=k=a);y.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
0]);d||y.attr([f,e,C,n][a||0]).css([z,l,p,x][a||0])};d||y.attr(f).css(g({cursor:"default"},z));return y.on("click",function(a){3!==k&&c.call(y,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var m=this.styledMode?{}:{fill:"none"};b(a)?m.d=a:x(a)&&g(m,a);return this.createElement("path").attr(m)},circle:function(a,b,m){a=x(a)?a:void 0===a?{}:{x:a,y:b,r:m};b=this.createElement("circle");b.xSetter=
b.ySetter=function(a,b,m){m.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,m,c,f,g){x(a)?(c=a,b=c.y,m=c.r,a=c.x):c={innerR:c,start:f,end:g};a=this.symbol("arc",a,b,m,m,c);a.r=m;return a},rect:function(a,b,m,c,f,g){f=x(a)?a.r:f;var e=this.createElement("rect");a=x(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(m,0),height:Math.max(c,0)};this.styledMode||(void 0!==g&&(a.strokeWidth=g,a=e.crisp(a)),a.fill="none");f&&(a.r=f);e.rSetter=function(a,b,m){e.r=a;d(m,{rx:a,ry:a})};e.rGetter=function(){return e.r};
return e.attr(a)},setSize:function(a,b,m){var c=this.alignedObjects,f=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:J(m,!0)?void 0:0});f--;)c[f].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,m,c,f,e){var C={preserveAspectRatio:"none"},q,n=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink",
"href",b):a.setAttribute("hc-svg-href",b)},t=function(b){n(q.element,a);e.call(q,b)};1<arguments.length&&g(C,{x:b,y:m,width:c,height:f});q=this.createElement("image").attr(C);e?(n(q.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),C=new R.Image,E(C,"load",t),C.src=a,C.complete&&t({})):n(q.element,a);return q},symbol:function(a,b,m,c,f,C){var q=this,n,t=/^url\((.*?)\)$/,y=t.test(a),A=!y&&(this.symbols[a]?a:"circle"),L=A&&this.symbols[A],k=p(b)&&L&&L.call(this.symbols,
Math.round(b),Math.round(m),c,f,C),d,z;L?(n=this.path(k),q.styledMode||n.attr("fill","none"),g(n,{symbolName:A,x:b,y:m,width:c,height:f}),C&&g(n,C)):y&&(d=a.match(t)[1],n=this.image(d),n.imgwidth=J(Q[d]&&Q[d].width,C&&C.width),n.imgheight=J(Q[d]&&Q[d].height,C&&C.height),z=function(){n.attr({width:n.width,height:n.height})},["width","height"].forEach(function(a){n[a+"Setter"]=function(a,b){var m={},c=this["img"+b],f="width"===b?"translateX":"translateY";this[b]=a;p(c)&&(C&&"within"===C.backgroundSize&&
this.width&&this.height&&(c=Math.round(c*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(m[f]=((this[b]||0)-c)/2,this.attr(m)))}}),p(b)&&n.attr({x:b,y:m}),n.isImg=!0,p(n.imgwidth)&&p(n.imgheight)?z():(n.attr({width:0,height:0}),w("img",{onload:function(){var a=u[q.chartIndex];0===this.width&&(r(this,{position:"absolute",top:"-999em"}),e.body.appendChild(this));Q[d]={width:this.width,height:this.height};n.imgwidth=
this.width;n.imgheight=this.height;n.element&&z();this.parentNode&&this.parentNode.removeChild(this);q.imgCount--;if(!q.imgCount&&a&&a.onload)a.onload()},src:d}),this.imgCount++));return n},symbols:{circle:function(a,b,m,c){return this.arc(a+m/2,b+c/2,m/2,c/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,b,m,c){return["M",a,b,"L",a+m,b,a+m,b+c,a,b+c,"Z"]},triangle:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,m,c){return["M",a,b,"L",a+m,
b,a+m/2,b+c,"Z"]},diamond:function(a,b,m,c){return["M",a+m/2,b,"L",a+m,b+c/2,a+m/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,m,c,f){var e=f.start,g=f.r||m,C=f.r||c||m,q=f.end-.001;m=f.innerR;c=J(f.open,.001>Math.abs(f.end-f.start-2*Math.PI));var n=Math.cos(e),t=Math.sin(e),A=Math.cos(q),q=Math.sin(q),e=.001>f.end-e-Math.PI?0:1;f=["M",a+g*n,b+C*t,"A",g,C,0,e,J(f.clockwise,1),a+g*A,b+C*q];p(m)&&f.push(c?"M":"L",a+m*A,b+m*q,"A",m,m,0,e,0,a+m*n,b+m*t);f.push(c?"":"Z");return f},callout:function(a,b,m,c,f){var e=
Math.min(f&&f.r||0,m,c),g=e+6,C=f&&f.anchorX;f=f&&f.anchorY;var q;q=["M",a+e,b,"L",a+m-e,b,"C",a+m,b,a+m,b,a+m,b+e,"L",a+m,b+c-e,"C",a+m,b+c,a+m,b+c,a+m-e,b+c,"L",a+e,b+c,"C",a,b+c,a,b+c,a,b+c-e,"L",a,b+e,"C",a,b,a,b,a+e,b];C&&C>m?f>b+g&&f<b+c-g?q.splice(13,3,"L",a+m,f-6,a+m+6,f,a+m,f+6,a+m,b+c-e):q.splice(13,3,"L",a+m,c/2,C,f,a+m,c/2,a+m,b+c-e):C&&0>C?f>b+g&&f<b+c-g?q.splice(33,3,"L",a,f+6,a-6,f,a,f-6,a,b+e):q.splice(33,3,"L",a,c/2,C,f,a,c/2,a,b+e):f&&f>c&&C>a+g&&C<a+m-g?q.splice(23,3,"L",C+6,b+
c,C,b+c+6,C-6,b+c,a+e,b+c):f&&0>f&&C>a+g&&C<a+m-g&&q.splice(3,3,"L",C-6,b,C,b-6,C+6,b,m-e,b);return q}},clipRect:function(b,m,c,f){var e=a.uniqueKey()+"-",C=this.createElement("clipPath").attr({id:e}).add(this.defs);b=this.rect(b,m,c,f,0).add(C);b.id=e;b.clipPath=C;b.count=0;return b},text:function(a,b,m,c){var f={};if(c&&(this.allowHTML||!this.forExport))return this.html(a,b,m);f.x=Math.round(b||0);m&&(f.y=Math.round(m));p(a)&&(f.text=a);a=this.createElement("text").attr(f);c||(a.xSetter=function(a,
b,m){var c=m.getElementsByTagName("tspan"),f,e=m.getAttribute(b),C;for(C=0;C<c.length;C++)f=c[C],f.getAttribute(b)===e&&f.setAttribute(b,a);m.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=!this.styledMode&&/px/.test(a)||