UNPKG

highcharts

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