UNPKG

highcharts

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