UNPKG

highcharts

Version:
105 lines (103 loc) 241 kB
/* Highstock JS v5.0.13 (2017-07-27) (c) 2009-2016 Torstein Honsi License: www.highcharts.com/license */ (function(J,T){"object"===typeof module&&module.exports?module.exports=J.document?T(J):T:J.Highcharts=T(J)})("undefined"!==typeof window?window:this,function(J){J=function(){var a=window,B=a.document,A=a.navigator&&a.navigator.userAgent||"",C=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,E=/(edge|msie|trident)/i.test(A)&&!window.opera,v=!C,f=/Firefox/.test(A),n=f&&4>parseInt(A.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock", version:"5.0.13",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:n,hasTouch:B&&void 0!==B.documentElement.ontouchstart,isMS:E,isWebKit:/AppleWebKit/.test(A),isFirefox:f,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,vml:v,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){var B=[],A=a.charts,C=a.doc,E=a.win;a.error=function(v,f){v=a.isNumber(v)?"Highcharts error #"+ v+": www.highcharts.com/errors/"+v:v;if(f)throw Error(v);E.console&&console.log(v)};a.Fx=function(a,f,n){this.options=f;this.elem=a;this.prop=n};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],n=[],t=this.now,q=a.length,r;if(1===t)n=this.toD;else if(q===f.length&&1>t)for(;q--;)r=parseFloat(a[q]),n[q]=isNaN(r)?a[q]:t*parseFloat(f[q]-r)+r;else n=f;this.elem.attr("d",n,null,!0)},update:function(){var a=this.elem,f=this.prop,n=this.now,t=this.options.step;if(this[f+"Setter"])this[f+ "Setter"]();else a.attr?a.element&&a.attr(f,n,null,!0):a.style[f]=n+this.unit;t&&t.call(a,n,this)},run:function(a,f,n){var v=this,q=function(a){return q.stopped?!1:v.step(a)},r;this.startTime=+new Date;this.start=a;this.end=f;this.unit=n;this.now=this.start;this.pos=0;q.elem=this.elem;q.prop=this.prop;q()&&1===B.push(q)&&(q.timerId=setInterval(function(){for(r=0;r<B.length;r++)B[r]()||B.splice(r--,1);B.length||clearInterval(q.timerId)},13))},step:function(v){var f=+new Date,n,t=this.options,q=this.elem, r=t.complete,h=t.duration,e=t.curAnim;q.attr&&!q.element?v=!1:v||f>=h+this.startTime?(this.now=this.end,this.pos=1,this.update(),n=e[this.prop]=!0,a.objectEach(e,function(a){!0!==a&&(n=!1)}),n&&r&&r.call(q),v=!1):(this.pos=t.easing((f-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),v=!0);return v},initPath:function(v,f,n){function t(a){var b,k;for(c=a.length;c--;)b="M"===a[c]||"L"===a[c],k=/[a-zA-Z]/.test(a[c+3]),b&&k&&a.splice(c+1,0,a[c+1],a[c+2],a[c+1],a[c+2])} function q(a,b){for(;a.length<z;){a[0]=b[z-a.length];var p=a.slice(0,k);[].splice.apply(a,[0,0].concat(p));x&&(p=a.slice(a.length-k),[].splice.apply(a,[a.length,0].concat(p)),c--)}a[0]="M"}function r(a,c){for(var p=(z-a.length)/k;0<p&&p--;)u=a.slice().splice(a.length/I-k,k*I),u[0]=c[z-k-p*k],b&&(u[k-6]=u[k-2],u[k-5]=u[k-1]),[].splice.apply(a,[a.length/I,0].concat(u)),x&&p--}f=f||"";var h,e=v.startX,m=v.endX,b=-1<f.indexOf("C"),k=b?7:3,z,u,c;f=f.split(" ");n=n.slice();var x=v.isArea,I=x?2:1,F;b&&(t(f), t(n));if(e&&m){for(c=0;c<e.length;c++)if(e[c]===m[0]){h=c;break}else if(e[0]===m[m.length-e.length+c]){h=c;F=!0;break}void 0===h&&(f=[])}f.length&&a.isNumber(h)&&(z=n.length+h*I*k,F?(q(f,n),r(n,f)):(q(n,f),r(f,n)));return[f,n]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.extend=function(a,f){var n;a||(a={});for(n in f)a[n]=f[n];return a};a.merge=function(){var v,f=arguments,n,t={},q= function(f,h){"object"!==typeof f&&(f={});a.objectEach(h,function(e,m){!a.isObject(e,!0)||a.isClass(e)||a.isDOMElement(e)?f[m]=h[m]:f[m]=q(f[m]||{},e)});return f};!0===f[0]&&(t=f[1],f=Array.prototype.slice.call(f,2));n=f.length;for(v=0;v<n;v++)t=q(t,f[v]);return t};a.pInt=function(a,f){return parseInt(a,f||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(v, f){return!!v&&"object"===typeof v&&(!f||!a.isArray(v))};a.isDOMElement=function(v){return a.isObject(v)&&"number"===typeof v.nodeType};a.isClass=function(v){var f=v&&v.constructor;return!(!a.isObject(v,!0)||a.isDOMElement(v)||!f||!f.name||"Object"===f.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=function(a,f){for(var n=a.length;n--;)if(a[n]===f){a.splice(n,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(v,f,n){var t;a.isString(f)?a.defined(n)? v.setAttribute(f,n):v&&v.getAttribute&&(t=v.getAttribute(f)):a.defined(f)&&a.isObject(f)&&a.objectEach(f,function(a,f){v.setAttribute(f,a)});return t};a.splat=function(v){return a.isArray(v)?v:[v]};a.syncTimeout=function(a,f,n){if(f)return setTimeout(a,f,n);a.call(0,n)};a.pick=function(){var a=arguments,f,n,t=a.length;for(f=0;f<t;f++)if(n=a[f],void 0!==n&&null!==n)return n};a.css=function(v,f){a.isMS&&!a.svg&&f&&void 0!==f.opacity&&(f.filter="alpha(opacity\x3d"+100*f.opacity+")");a.extend(v.style, f)};a.createElement=function(v,f,n,t,q){v=C.createElement(v);var r=a.css;f&&a.extend(v,f);q&&r(v,{padding:0,border:"none",margin:0});n&&r(v,n);t&&t.appendChild(v);return v};a.extendClass=function(v,f){var n=function(){};n.prototype=new v;a.extend(n.prototype,f);return n};a.pad=function(a,f,n){return Array((f||2)+1-String(a).length).join(n||0)+a};a.relativeLength=function(a,f,n){return/%$/.test(a)?f*parseFloat(a)/100+(n||0):parseFloat(a)};a.wrap=function(a,f,n){var t=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments), f=arguments,h=this;h.proceed=function(){t.apply(h,arguments.length?arguments:f)};a.unshift(t);a=n.apply(this,a);h.proceed=null;return a}};a.getTZOffset=function(v){var f=a.Date;return 6E4*(f.hcGetTimezoneOffset&&f.hcGetTimezoneOffset(v)||f.hcTimezoneOffset||0)};a.dateFormat=function(v,f,n){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||"";v=a.pick(v,"%Y-%m-%d %H:%M:%S");var t=a.Date,q=new t(f-a.getTZOffset(f)),r=q[t.hcGetHours](),h=q[t.hcGetDay](),e=q[t.hcGetDate](),m=q[t.hcGetMonth](), b=q[t.hcGetFullYear](),k=a.defaultOptions.lang,z=k.weekdays,u=k.shortWeekdays,c=a.pad,t=a.extend({a:u?u[h]:z[h].substr(0,3),A:z[h],d:c(e),e:c(e,2," "),w:h,b:k.shortMonths[m],B:k.months[m],m:c(m+1),y:b.toString().substr(2,2),Y:b,H:c(r),k:r,I:c(r%12||12),l:r%12||12,M:c(q[t.hcGetMinutes]()),p:12>r?"AM":"PM",P:12>r?"am":"pm",S:c(q.getSeconds()),L:c(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(t,function(a,c){for(;-1!==v.indexOf("%"+c);)v=v.replace("%"+c,"function"===typeof a?a(f):a)});return n?v.substr(0, 1).toUpperCase()+v.substr(1):v};a.formatSingle=function(v,f){var n=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(v)?(n=(n=v.match(n))?n[1]:-1,null!==f&&(f=a.numberFormat(f,n,t.decimalPoint,-1<v.indexOf(",")?t.thousandsSep:""))):f=a.dateFormat(v,f);return f};a.format=function(v,f){for(var n="{",t=!1,q,r,h,e,m=[],b;v;){n=v.indexOf(n);if(-1===n)break;q=v.slice(0,n);if(t){q=q.split(":");r=q.shift().split(".");e=r.length;b=f;for(h=0;h<e;h++)b=b[r[h]];q.length&&(b=a.formatSingle(q.join(":"),b));m.push(b)}else m.push(q); v=v.slice(n+1);n=(t=!t)?"}":"{"}m.push(v);return m.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(v,f,n,t,q){var r,h=v;n=a.pick(n,1);r=v/n;f||(f=q?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===t&&(1===n?f=a.grep(f,function(a){return 0===a%1}):.1>=n&&(f=[1/n])));for(t=0;t<f.length&&!(h=f[t],q&&h*n>=v||!q&&r<=(f[t]+(f[t+1]||f[t]))/2);t++);return h=a.correctFloat(h*n,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort= function(a,f){var n=a.length,t,q;for(q=0;q<n;q++)a[q].safeI=q;a.sort(function(a,h){t=f(a,h);return 0===t?a.safeI-h.safeI:t});for(q=0;q<n;q++)delete a[q].safeI};a.arrayMin=function(a){for(var f=a.length,n=a[0];f--;)a[f]<n&&(n=a[f]);return n};a.arrayMax=function(a){for(var f=a.length,n=a[0];f--;)a[f]>n&&(n=a[f]);return n};a.destroyObjectProperties=function(v,f){a.objectEach(v,function(a,t){a&&a!==f&&a.destroy&&a.destroy();delete v[t]})};a.discardElement=function(v){var f=a.garbageBin;f||(f=a.createElement("div")); v&&f.appendChild(v);f.innerHTML=""};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(v,f){f.renderer.globalAnimation=a.pick(v,f.options.chart.animation,!0)};a.animObject=function(v){return a.isObject(v)?a.merge(v):{duration:v?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(v,f,n,t){v=+v||0;f=+f;var q=a.defaultOptions.lang,r=(v.toString().split(".")[1]||"").split("e")[0].length, h,e,m=v.toString().split("e");-1===f?f=Math.min(r,20):a.isNumber(f)||(f=2);e=(Math.abs(m[1]?m[0]:v)+Math.pow(10,-Math.max(f,r)-1)).toFixed(f);r=String(a.pInt(e));h=3<r.length?r.length%3:0;n=a.pick(n,q.decimalPoint);t=a.pick(t,q.thousandsSep);v=(0>v?"-":"")+(h?r.substr(0,h)+t:"");v+=r.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+t);f&&(v+=n+e.slice(-f));m[1]&&(v+="e"+m[1]);return v};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(v,f,n){if("width"===f)return Math.min(v.offsetWidth, v.scrollWidth)-a.getStyle(v,"padding-left")-a.getStyle(v,"padding-right");if("height"===f)return Math.min(v.offsetHeight,v.scrollHeight)-a.getStyle(v,"padding-top")-a.getStyle(v,"padding-bottom");if(v=E.getComputedStyle(v,void 0))v=v.getPropertyValue(f),a.pick(n,!0)&&(v=a.pInt(v));return v};a.inArray=function(a,f){return f.indexOf?f.indexOf(a):[].indexOf.call(f,a)};a.grep=function(a,f){return[].filter.call(a,f)};a.find=function(a,f){return[].find.call(a,f)};a.map=function(a,f){for(var n=[],t=0,q= a.length;t<q;t++)n[t]=f.call(a[t],a[t],t,a);return n};a.offset=function(a){var f=C.documentElement;a=a.getBoundingClientRect();return{top:a.top+(E.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+(E.pageXOffset||f.scrollLeft)-(f.clientLeft||0)}};a.stop=function(a,f){for(var n=B.length;n--;)B[n].elem!==a||f&&f!==B[n].prop||(B[n].stopped=!0)};a.each=function(a,f,n){return Array.prototype.forEach.call(a,f,n)};a.objectEach=function(a,f,n){for(var t in a)a.hasOwnProperty(t)&&f.call(n,a[t],t,a)}; a.addEvent=function(v,f,n){function t(a){a.target=a.srcElement||E;n.call(v,a)}var q=v.hcEvents=v.hcEvents||{};v.addEventListener?v.addEventListener(f,n,!1):v.attachEvent&&(v.hcEventsIE||(v.hcEventsIE={}),n.hcGetKey||(n.hcGetKey=a.uniqueKey()),v.hcEventsIE[n.hcGetKey]=t,v.attachEvent("on"+f,t));q[f]||(q[f]=[]);q[f].push(n);return function(){a.removeEvent(v,f,n)}};a.removeEvent=function(v,f,n){function t(a,b){v.removeEventListener?v.removeEventListener(a,b,!1):v.attachEvent&&(b=v.hcEventsIE[b.hcGetKey], v.detachEvent("on"+a,b))}function q(){var e,b;v.nodeName&&(f?(e={},e[f]=!0):e=h,a.objectEach(e,function(a,e){if(h[e])for(b=h[e].length;b--;)t(e,h[e][b])}))}var r,h=v.hcEvents,e;h&&(f?(r=h[f]||[],n?(e=a.inArray(n,r),-1<e&&(r.splice(e,1),h[f]=r),t(f,n)):(q(),h[f]=[])):(q(),v.hcEvents={}))};a.fireEvent=function(v,f,n,t){var q;q=v.hcEvents;var r,h;n=n||{};if(C.createEvent&&(v.dispatchEvent||v.fireEvent))q=C.createEvent("Events"),q.initEvent(f,!0,!0),a.extend(q,n),v.dispatchEvent?v.dispatchEvent(q):v.fireEvent(f, q);else if(q)for(q=q[f]||[],r=q.length,n.target||a.extend(n,{preventDefault:function(){n.defaultPrevented=!0},target:v,type:f}),f=0;f<r;f++)(h=q[f])&&!1===h.call(v,n)&&n.preventDefault();t&&!n.defaultPrevented&&t(n)};a.animate=function(v,f,n){var t,q="",r,h,e;a.isObject(n)||(e=arguments,n={duration:e[2],easing:e[3],complete:e[4]});a.isNumber(n.duration)||(n.duration=400);n.easing="function"===typeof n.easing?n.easing:Math[n.easing]||Math.easeInOutSine;n.curAnim=a.merge(f);a.objectEach(f,function(e, b){a.stop(v,b);h=new a.Fx(v,n,b);r=null;"d"===b?(h.paths=h.initPath(v,v.d,f.d),h.toD=f.d,t=0,r=1):v.attr?t=v.attr(b):(t=parseFloat(a.getStyle(v,b))||0,"opacity"!==b&&(q="px"));r||(r=e);r&&r.match&&r.match("px")&&(r=r.replace(/px/g,""));h.run(t,r,q)})};a.seriesType=function(v,f,n,t,q){var r=a.getOptions(),h=a.seriesTypes;r.plotOptions[v]=a.merge(r.plotOptions[f],n);h[v]=a.extendClass(h[f]||function(){},t);h[v].prototype.type=v;q&&(h[v].prototype.pointClass=a.extendClass(a.Point,q));return h[v]};a.uniqueKey= function(){var a=Math.random().toString(36).substring(2,9),f=0;return function(){return"highcharts-"+a+"-"+f++}}();E.jQuery&&(E.jQuery.fn.highcharts=function(){var v=[].slice.call(arguments);if(this[0])return v[0]?(new (a[a.isString(v[0])?v.shift():"Chart"])(this[0],v[0],v[1]),this):A[a.attr(this[0],"data-highcharts-chart")]});C&&!C.defaultView&&(a.getStyle=function(v,f){var n={width:"clientWidth",height:"clientHeight"}[f];if(v.style[f])return a.pInt(v.style[f]);"opacity"===f&&(f="filter");if(n)return v.style.zoom= 1,Math.max(v[n]-2*a.getStyle(v,"padding"),0);v=v.currentStyle[f.replace(/\-(\w)/g,function(a,f){return f.toUpperCase()})];"filter"===f&&(v=v.replace(/alpha\(opacity=([0-9]+)\)/,function(a,f){return f/100}));return""===v?1:a.pInt(v)});Array.prototype.forEach||(a.each=function(a,f,n){for(var t=0,q=a.length;t<q;t++)if(!1===f.call(n,a[t],t,a))return t});Array.prototype.indexOf||(a.inArray=function(a,f){var n,t=0;if(f)for(n=f.length;t<n;t++)if(f[t]===a)return t;return-1});Array.prototype.filter||(a.grep= function(a,f){for(var n=[],t=0,q=a.length;t<q;t++)f(a[t],t)&&n.push(a[t]);return n});Array.prototype.find||(a.find=function(a,f){var n,t=a.length;for(n=0;n<t;n++)if(f(a[n],n))return a[n]})})(J);(function(a){var B=a.each,A=a.isNumber,C=a.map,E=a.merge,v=a.pInt;a.Color=function(f){if(!(this instanceof a.Color))return new a.Color(f);this.init(f)};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[v(a[1]), v(a[2]),v(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[v(a[1]),v(a[2]),v(a[3]),1]}}],names:{none:"rgba(255,255,255,0)",white:"#ffffff",black:"#000000"},init:function(f){var n,t,q,r;if((this.input=f=this.names[f&&f.toLowerCase?f.toLowerCase():""]||f)&&f.stops)this.stops=C(f.stops,function(h){return new a.Color(h[1])});else if(f&&"#"===f.charAt()&&(n=f.length,f=parseInt(f.substr(1),16),7===n?t=[(f&16711680)>>16,(f&65280)>> 8,f&255,1]:4===n&&(t=[(f&3840)>>4|(f&3840)>>8,(f&240)>>4|f&240,(f&15)<<4|f&15,1])),!t)for(q=this.parsers.length;q--&&!t;)r=this.parsers[q],(n=r.regex.exec(f))&&(t=r.parse(n));this.rgba=t||[]},get:function(a){var f=this.input,t=this.rgba,q;this.stops?(q=E(f),q.stops=[].concat(q.stops),B(this.stops,function(f,h){q.stops[h]=[q.stops[h][0],f.get(a)]})):q=t&&A(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?t[3]:"rgba("+t.join(",")+")":f;return q},brighten:function(a){var f,t=this.rgba; if(this.stops)B(this.stops,function(f){f.brighten(a)});else if(A(a)&&0!==a)for(f=0;3>f;f++)t[f]+=v(255*a),0>t[f]&&(t[f]=0),255<t[f]&&(t[f]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,n){var f,q;a.rgba.length?(f=this.rgba,a=a.rgba,q=1!==a[3]||1!==f[3],a=(q?"rgba(":"rgb(")+Math.round(a[0]+(f[0]-a[0])*(1-n))+","+Math.round(a[1]+(f[1]-a[1])*(1-n))+","+Math.round(a[2]+(f[2]-a[2])*(1-n))+(q?","+(a[3]+(f[3]-a[3])*(1-n)):"")+")"):a=a.input||"none";return a}};a.color= function(f){return new a.Color(f)}})(J);(function(a){var B,A,C=a.addEvent,E=a.animate,v=a.attr,f=a.charts,n=a.color,t=a.css,q=a.createElement,r=a.defined,h=a.deg2rad,e=a.destroyObjectProperties,m=a.doc,b=a.each,k=a.extend,z=a.erase,u=a.grep,c=a.hasTouch,x=a.inArray,I=a.isArray,F=a.isFirefox,H=a.isMS,p=a.isObject,y=a.isString,l=a.isWebKit,D=a.merge,d=a.noop,G=a.objectEach,g=a.pick,w=a.pInt,P=a.removeEvent,K=a.splat,M=a.stop,N=a.svg,R=a.SVG_NS,Q=a.symbolSizes,O=a.win;B=a.SVGElement=function(){return this}; k(B.prototype,{opacity:1,SVG_NS:R,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,g){this.element="span"===g?q(g):m.createElementNS(this.SVG_NS,g);this.renderer=a},animate:function(d,w,c){w=a.animObject(g(w,this.renderer.globalAnimation,!0));0!==w.duration?(c&&(w.complete=c),E(this,d,w)):(this.attr(d,null,c),w.step&&w.step.call(this));return this},colorGradient:function(g,d,w){var L= this.renderer,c,l,p,k,e,u,m,h,K,x,y=[],z;g.radialGradient?l="radialGradient":g.linearGradient&&(l="linearGradient");l&&(p=g[l],e=L.gradients,m=g.stops,x=w.radialReference,I(p)&&(g[l]=p={x1:p[0],y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===l&&x&&!r(p.gradientUnits)&&(k=p,p=D(p,L.getRadialAttr(x,k),{gradientUnits:"userSpaceOnUse"})),G(p,function(a,g){"id"!==g&&y.push(g,a)}),G(m,function(a){y.push(a)}),y=y.join(","),e[y]?x=e[y].attr("id"):(p.id=x=a.uniqueKey(),e[y]=u=L.createElement(l).attr(p).add(L.defs), u.radAttr=k,u.stops=[],b(m,function(g){0===g[1].indexOf("rgba")?(c=a.color(g[1]),h=c.get("rgb"),K=c.get("a")):(h=g[1],K=1);g=L.createElement("stop").attr({offset:g[0],"stop-color":h,"stop-opacity":K}).add(u);u.stops.push(g)})),z="url("+L.url+"#"+x+")",w.setAttribute(d,z),w.gradient=y,g.toString=function(){return z})},applyTextOutline:function(g){var d=this.element,w,L,c,l,p;-1!==g.indexOf("contrast")&&(g=g.replace(/contrast/g,this.renderer.getContrast(d.style.fill)));g=g.split(" ");L=g[g.length-1]; if((c=g[0])&&"none"!==c&&a.svg){this.fakeTS=!0;g=[].slice.call(d.getElementsByTagName("tspan"));this.ySetter=this.xSetter;c=c.replace(/(^[\d\.]+)(.*?)$/g,function(a,g,d){return 2*g+d});for(p=g.length;p--;)w=g[p],"highcharts-text-outline"===w.getAttribute("class")&&z(g,d.removeChild(w));l=d.firstChild;b(g,function(a,g){0===g&&(a.setAttribute("x",d.getAttribute("x")),g=d.getAttribute("y"),a.setAttribute("y",g||0),null===g&&d.setAttribute("y",0));a=a.cloneNode(1);v(a,{"class":"highcharts-text-outline", fill:L,stroke:L,"stroke-width":c,"stroke-linejoin":"round"});d.insertBefore(a,l)})}},attr:function(a,g,d,w){var L,c=this.element,l,b=this,p,k;"string"===typeof a&&void 0!==g&&(L=a,a={},a[L]=g);"string"===typeof a?b=(this[a+"Getter"]||this._defaultGetter).call(this,a,c):(G(a,function(g,d){p=!1;w||M(this,d);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(d)&&(l||(this.symbolAttr(a),l=!0),p=!0);!this.rotation||"x"!==d&&"y"!==d||(this.doTransform=!0);p||(k=this[d+"Setter"]|| this._defaultSetter,k.call(this,g,d,c))},this),this.afterSetters());d&&d();return b},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},addClass:function(a,g){var d=this.attr("class")||"";-1===d.indexOf(a)&&(g||(a=(d+(d?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==x(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var d= this;b("x y r start end width height innerR anchorX anchorY".split(" "),function(w){d[w]=g(a[w],d[w])});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,g){var d=this,w={},c;g=g||a.strokeWidth||0;c=Math.round(g)%2/2;a.x=Math.floor(a.x||d.x||0)+c;a.y=Math.floor(a.y||d.y||0)+c;a.width=Math.floor((a.width||d.width||0)-2*c);a.height=Math.floor((a.height||d.height||0)- 2*c);r(a.strokeWidth)&&(a.strokeWidth=g);G(a,function(a,g){d[g]!==a&&(d[g]=w[g]=a)});return w},css:function(a){var g=this.styles,d={},c=this.element,l,b="",p,L=!g,e=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);g&&G(a,function(a,w){a!==g[w]&&(d[w]=a,L=!0)});L&&(g&&(a=k(g,d)),l=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===c.nodeName.toLowerCase()&&w(a.width),this.styles=a,l&&!N&&this.renderer.forExport&&delete a.width,H&&!N?t(this.element,a):(p=function(a,g){return"-"+ g.toLowerCase()},G(a,function(a,g){-1===x(g,e)&&(b+=g.replace(/([A-Z])/g,p)+":"+a+";")}),b&&v(c,"style",b)),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return O.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),g;a.indexOf("px")===a.length-2?a=w(a):(g=m.createElementNS(R,"rect"),v(g,{width:a,"stroke-width":0}), this.element.parentNode.appendChild(g),a=g.getBBox().width,g.parentNode.removeChild(g));return a},on:function(a,g){var d=this,w=d.element;c&&"click"===a?(w.ontouchstart=function(a){d.touchEventFired=Date.now();a.preventDefault();g.call(w,a)},w.onclick=function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(d.touchEventFired||0))&&g.call(w,a)}):w["on"+a]=g;return this},setRadialReference:function(a){var g=this.renderer.gradients[this.element.gradient];this.element.radialReference= a;g&&g.radAttr&&g.animate(this.renderer.getRadialAttr(a,g.radAttr));return this},translate:function(a,g){return this.attr({translateX:a,translateY:g})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,d=this.translateY||0,w=this.scaleX,c=this.scaleY,l=this.inverted,b=this.rotation,p=this.element;l&&(a+=this.width,d+=this.height);a=["translate("+a+","+d+")"];l?a.push("rotate(90) scale(-1,1)"):b&&a.push("rotate("+b+" "+(p.getAttribute("x")|| 0)+" "+(p.getAttribute("y")||0)+")");(r(w)||r(c))&&a.push("scale("+g(w,1)+" "+g(c,1)+")");a.length&&p.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,d,w){var c,l,b,p,k={};l=this.renderer;b=l.alignedObjects;var L,e;if(a){if(this.alignOptions=a,this.alignByTranslate=d,!w||y(w))this.alignTo=c=w||"renderer",z(b,this),b.push(this),w=null}else a=this.alignOptions,d=this.alignByTranslate,c=this.alignTo;w=g(w,l[c],l); c=a.align;l=a.verticalAlign;b=(w.x||0)+(a.x||0);p=(w.y||0)+(a.y||0);"right"===c?L=1:"center"===c&&(L=2);L&&(b+=(w.width-(a.width||0))/L);k[d?"translateX":"x"]=Math.round(b);"bottom"===l?e=1:"middle"===l&&(e=2);e&&(p+=(w.height-(a.height||0))/e);k[d?"translateY":"y"]=Math.round(p);this[this.placed?"animate":"attr"](k);this.placed=!0;this.alignAttr=k;return this},getBBox:function(a,d){var w,c=this.renderer,l,p=this.element,L=this.styles,e,u=this.textStr,D,m=c.cache,x=c.cacheKeys,K;d=g(d,this.rotation); l=d*h;e=p&&B.prototype.getStyle.call(p,"font-size");void 0!==u&&(K=u.toString(),-1===K.indexOf("\x3c")&&(K=K.replace(/[0-9]/g,"0")),K+=["",d||0,e,L&&L.width,L&&L.textOverflow].join());K&&!a&&(w=m[K]);if(!w){if(p.namespaceURI===this.SVG_NS||c.forExport){try{(D=this.fakeTS&&function(a){b(p.querySelectorAll(".highcharts-text-outline"),function(g){g.style.display=a})})&&D("none"),w=p.getBBox?k({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight},D&&D("")}catch(U){}if(!w||0>w.width)w={width:0,height:0}}else w= this.htmlGetBBox();c.isSVG&&(a=w.width,c=w.height,L&&"11px"===L.fontSize&&17===Math.round(c)&&(w.height=c=14),d&&(w.width=Math.abs(c*Math.sin(l))+Math.abs(a*Math.cos(l)),w.height=Math.abs(c*Math.cos(l))+Math.abs(a*Math.sin(l))));if(K&&0<w.height){for(;250<x.length;)delete m[x.shift()];m[K]||x.push(K);m[K]=w}}return w},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var g=this;g.animate({opacity:0}, {duration:a||150,complete:function(){g.attr({y:-9999})}})},add:function(a){var g=this.renderer,d=this.element,w;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&g.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)w=this.zIndexSetter();w||(a?a.element:g.box).appendChild(d);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var g=a.parentNode;g&&g.removeChild(a)},destroy:function(){var a=this,g=a.element||{},d=a.renderer.isSVG&&"SPAN"===g.nodeName&& a.parentGroup,w=g.ownerSVGElement;g.onclick=g.onmouseout=g.onmouseover=g.onmousemove=g.point=null;M(a);a.clipPath&&w&&(b(w.querySelectorAll("[clip-path]"),function(g){-1<g.getAttribute("clip-path").indexOf(a.clipPath.element.id+")")&&g.removeAttribute("clip-path")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(w=0;w<a.stops.length;w++)a.stops[w]=a.stops[w].destroy();a.stops=null}for(a.safeRemoveChild(g);d&&d.div&&0===d.div.childNodes.length;)g=d.parentGroup,a.safeRemoveChild(d.div),delete d.div, d=g;a.alignTo&&z(a.renderer.alignedObjects,a);G(a,function(g,d){delete a[d]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=g(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,g,d){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[g]!==a&&(d.setAttribute(g,a),this[g]=a)},alignSetter:function(a){this.element.setAttribute("text-anchor", {left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,g,d){this[g]=a;d.setAttribute(g,a)},titleSetter:function(a){var d=this.element.getElementsByTagName("title")[0];d||(d=m.createElementNS(this.SVG_NS,"title"),this.element.appendChild(d));d.firstChild&&d.removeChild(d.firstChild);d.appendChild(m.createTextNode(String(g(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a, g,d){"string"===typeof a?d.setAttribute(g,a):a&&this.colorGradient(a,g,d)},visibilitySetter:function(a,g,d){"inherit"===a?d.removeAttribute(g):this[g]!==a&&d.setAttribute(g,a);this[g]=a},zIndexSetter:function(a,g){var d=this.renderer,c=this.parentGroup,l=(c||d).element||d.box,p,b=this.element,k;p=this.added;var e;r(a)&&(b.zIndex=a,a=+a,this[g]===a&&(p=!1),this[g]=a);if(p){(a=this.zIndex)&&c&&(c.handleZ=!0);g=l.childNodes;for(e=0;e<g.length&&!k;e++)c=g[e],p=c.zIndex,c!==b&&(w(p)>a||!r(a)&&r(p)||0> a&&!r(p)&&l!==d.box)&&(l.insertBefore(b,c),k=!0);k||l.appendChild(b)}return k},_defaultSetter:function(a,g,d){d.setAttribute(g,a)}});B.prototype.yGetter=B.prototype.xGetter;B.prototype.translateXSetter=B.prototype.translateYSetter=B.prototype.rotationSetter=B.prototype.verticalAlignSetter=B.prototype.scaleXSetter=B.prototype.scaleYSetter=function(a,g){this[g]=a;this.doTransform=!0};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};k(A.prototype,{Element:B,SVG_NS:R,init:function(a,g,d,w, c,p){var b;w=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});b=w.element;a.appendChild(b);-1===a.innerHTML.indexOf("xmlns")&&v(b,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=b;this.boxWrapper=w;this.alignedObjects=[];this.url=(F||l)&&m.getElementsByTagName("base").length?O.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highstock 5.0.13")); this.defs=this.createElement("defs").add();this.allowHTML=p;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(g,d,!1);var k;F&&a.getBoundingClientRect&&(g=function(){t(a,{left:0,top:0});k=a.getBoundingClientRect();t(a,{left:Math.ceil(k.left)-k.left+"px",top:Math.ceil(k.top)-k.top+"px"})},g(),this.unSubPixelFix=C(O,"resize",g))},definition:function(a){function g(a,w){var c;b(K(a),function(a){var l=d.createElement(a.tagName),p={};G(a,function(a,g){"tagName"!== g&&"children"!==g&&"textContent"!==g&&(p[g]=a)});l.attr(p);l.add(w||d.defs);a.textContent&&l.element.appendChild(m.createTextNode(a.textContent));g(a.children||[],l);c=l});return c}var d=this;return g(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var g= new this.Element;g.init(this,a);return g},draw:d,getRadialAttr:function(a,g){return{cx:a[0]-a[2]/2+g.cx*a[2],cy:a[1]-a[2]/2+g.cy*a[2],r:g.r*a[2]}},getSpanWidth:function(a,g){var d=a.getBBox(!0).width;!N&&this.forExport&&(d=this.measureSpanWidth(g.firstChild.data,a.styles));return d},applyEllipsis:function(a,g,d,w){var c=a.rotation,l=d,p,b=0,k=d.length,e=function(a){g.removeChild(g.firstChild);a&&g.appendChild(m.createTextNode(a))},u;a.rotation=0;l=this.getSpanWidth(a,g);if(u=l>w){for(;b<=k;)p=Math.ceil((b+ k)/2),l=d.substring(0,p)+"\u2026",e(l),l=this.getSpanWidth(a,g),b===k?b=k+1:l>w?k=p-1:b=p;0===k&&e("")}a.rotation=c;return u},buildText:function(a){var d=a.element,c=this,l=c.forExport,p=g(a.textStr,"").toString(),k=-1!==p.indexOf("\x3c"),e=d.childNodes,D,K,x,h,y=v(d,"x"),z=a.styles,G=a.textWidth,L=z&&z.lineHeight,f=z&&z.textOutline,P=z&&"ellipsis"===z.textOverflow,r=z&&"nowrap"===z.whiteSpace,n,F=e.length,M=G&&!a.added&&this.box,H=function(a){return L?w(L):c.fontMetrics(void 0,a.getAttribute("style")? a:d).h},z=[p,P,r,L,f,z&&z.fontSize,G].join();if(z!==a.textCache){for(a.textCache=z;F--;)d.removeChild(e[F]);k||f||P||G||-1!==p.indexOf(" ")?(D=/<.*class="([^"]+)".*>/,K=/<.*style="([^"]+)".*>/,x=/<.*href="([^"]+)".*>/,M&&M.appendChild(d),p=k?p.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[p],p=u(p,function(a){return""!== a}),b(p,function(g,w){var p,k=0;g=g.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");p=g.split("|||");b(p,function(g){if(""!==g||1===p.length){var b={},e=m.createElementNS(c.SVG_NS,"tspan"),u,z;D.test(g)&&(u=g.match(D)[1],v(e,"class",u));K.test(g)&&(z=g.match(K)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),v(e,"style",z));x.test(g)&&!l&&(v(e,"onclick",'location.href\x3d"'+g.match(x)[1]+'"'),t(e,{cursor:"pointer"}));g=(g.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g, "\x3c").replace(/&gt;/g,"\x3e");if(" "!==g){e.appendChild(m.createTextNode(g));k?b.dx=0:w&&null!==y&&(b.x=y);v(e,b);d.appendChild(e);!k&&n&&(!N&&l&&t(e,{display:"block"}),v(e,"dy",H(e)));if(G){b=g.replace(/([^\^])-/g,"$1- ").split(" ");u=1<p.length||w||1<b.length&&!r;var L=[],f,F=H(e),M=a.rotation;for(P&&(h=c.applyEllipsis(a,e,g,G));!P&&u&&(b.length||L.length);)a.rotation=0,f=c.getSpanWidth(a,e),g=f>G,void 0===h&&(h=g),g&&1!==b.length?(e.removeChild(e.firstChild),L.unshift(b.pop())):(b=L,L=[],b.length&& !r&&(e=m.createElementNS(R,"tspan"),v(e,{dy:F,x:y}),z&&v(e,"style",z),d.appendChild(e)),f>G&&(G=f)),b.length&&e.appendChild(m.createTextNode(b.join(" ").replace(/- /g,"-")));a.rotation=M}k++}}});n=n||d.childNodes.length}),h&&a.attr("title",a.textStr),M&&M.removeChild(d),f&&a.applyTextOutline&&a.applyTextOutline(f)):d.appendChild(m.createTextNode(p.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=n(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a, g,d,w,c,l,p,b,k){var e=this.label(a,g,d,k,null,null,null,null,"button"),u=0;e.attr(D({padding:8,r:2},c));C(e.element,H?"mouseover":"mouseenter",function(){3!==u&&e.setState(1)});C(e.element,H?"mouseout":"mouseleave",function(){3!==u&&e.setState(u)});e.setState=function(a){1!==a&&(e.state=u=a);e.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return e.on("click",function(a){3!==u&&w.call(e,a)})},crispLine:function(a, g){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-g%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+g%2/2);return a},path:function(a){var g={};I(a)?g.d=a:p(a)&&k(g,a);return this.createElement("path").attr(g)},circle:function(a,g,d){a=p(a)?a:{x:a,y:g,r:d};g=this.createElement("circle");g.xSetter=g.ySetter=function(a,g,d){d.setAttribute("c"+g,a)};return g.attr(a)},arc:function(a,g,d,w,c,l){p(a)?(w=a,g=w.y,d=w.r,a=w.x):w={innerR:w,start:c,end:l};a=this.symbol("arc",a,g,d,d,w);a.r=d;return a},rect:function(a, g,d,w,c,l){c=p(a)?a.r:c;l=this.createElement("rect");a=p(a)?a:void 0===a?{}:{x:a,y:g,width:Math.max(d,0),height:Math.max(w,0)};c&&(a.r=c);l.rSetter=function(a,g,d){v(d,{rx:a,ry:a})};return l.attr(a)},setSize:function(a,d,w){var c=this.alignedObjects,l=c.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:g(w,!0)?void 0:0});l--;)c[l].align()},g:function(a){var g=this.createElement("g"); return a?g.attr({"class":"highcharts-"+a}):g},image:function(a,g,d,w,c){var l={preserveAspectRatio:"none"};1<arguments.length&&k(l,{x:g,y:d,width:w,height:c});l=this.createElement("image").attr(l);l.element.setAttributeNS?l.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):l.element.setAttribute("hc-svg-href",a);return l},symbol:function(a,d,w,c,l,p){var e=this,u,D=/^url\((.*?)\)$/,K=D.test(a),x=!K&&(this.symbols[a]?a:"circle"),h=x&&this.symbols[x],y=r(d)&&h&&h.call(this.symbols,Math.round(d), Math.round(w),c,l,p),z,G;h?(u=this.path(y),k(u,{symbolName:x,x:d,y:w,width:c,height:l}),p&&k(u,p)):K&&(z=a.match(D)[1],u=this.image(z),u.imgwidth=g(Q[z]&&Q[z].width,p&&p.width),u.imgheight=g(Q[z]&&Q[z].height,p&&p.height),G=function(){u.attr({width:u.width,height:u.height})},b(["width","height"],function(a){u[a+"Setter"]=function(a,g){var d={},w=this["img"+g],c="width"===g?"translateX":"translateY";this[g]=a;r(w)&&(this.element&&this.element.setAttribute(g,w),this.alignByTranslate||(d[c]=((this[g]|| 0)-w)/2,this.attr(d)))}}),r(d)&&u.attr({x:d,y:w}),u.isImg=!0,r(u.imgwidth)&&r(u.imgheight)?G():(u.attr({width:0,height:0}),q("img",{onload:function(){var a=f[e.chartIndex];0===this.width&&(t(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));Q[z]={width:this.width,height:this.height};u.imgwidth=this.width;u.imgheight=this.height;u.element&&G();this.parentNode&&this.parentNode.removeChild(this);e.imgCount--;if(!e.imgCount&&a&&a.onload)a.onload()},src:z}),this.imgCount++));return u}, symbols:{circle:function(a,g,d,w){return this.arc(a+d/2,g+w/2,d/2,w/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,g,d,w){return["M",a,g,"L",a+d,g,a+d,g+w,a,g+w,"Z"]},triangle:function(a,g,d,w){return["M",a+d/2,g,"L",a+d,g+w,a,g+w,"Z"]},"triangle-down":function(a,g,d,w){return["M",a,g,"L",a+d,g,a+d/2,g+w,"Z"]},diamond:function(a,g,d,w){return["M",a+d/2,g,"L",a+d,g+w/2,a+d/2,g+w,a,g+w/2,"Z"]},arc:function(a,d,w,c,l){var p=l.start,b=l.r||w,k=l.r||c||w,e=l.end-.001;w=l.innerR;c=g(l.open,.001> Math.abs(l.end-l.start-2*Math.PI));var u=Math.cos(p),D=Math.sin(p),K=Math.cos(e),e=Math.sin(e);l=.001>l.end-p-Math.PI?0:1;b=["M",a+b*u,d+k*D,"A",b,k,0,l,1,a+b*K,d+k*e];r(w)&&b.push(c?"M":"L",a+w*K,d+w*e,"A",w,w,0,l,0,a+w*u,d+w*D);b.push(c?"":"Z");return b},callout:function(a,g,d,w,c){var l=Math.min(c&&c.r||0,d,w),p=l+6,b=c&&c.anchorX;c=c&&c.anchorY;var k;k=["M",a+l,g,"L",a+d-l,g,"C",a+d,g,a+d,g,a+d,g+l,"L",a+d,g+w-l,"C",a+d,g+w,a+d,g+w,a+d-l,g+w,"L",a+l,g+w,"C",a,g+w,a,g+w,a,g+w-l,"L",a,g+l,"C",a, g,a,g,a+l,g];b&&b>d?c>g+p&&c<g+w-p?k.splice(13,3,"L",a+d,c-6,a+d+6,c,a+d,c+6,a+d,g+w-l):k.splice(13,3,"L",a+d,w/2,b,c,a+d,w/2,a+d,g+w-l):b&&0>b?c>g+p&&c<g+w-p?k.splice(33,3,"L",a,c+6,a-6,c,a,c-6,a,g+l):k.splice(33,3,"L",a,w/2,b,c,a,w/2,a,g+l):c&&c>w&&b>a+p&&b<a+d-p?k.splice(23,3,"L",b+6,g+w,b,g+w+6,b-6,g+w,a+l,g+w):c&&0>c&&b>a+p&&b<a+d-p&&k.splice(3,3,"L",b-6,g,b,g-6,b+6,g,d-l,g);return k}},clipRect:function(g,d,w,c){var l=a.uniqueKey(),p=this.createElement("clipPath").attr({id:l}).add(this.defs); g=this.rect(g,d,w,c,0).add(p);g.id=l;g.clipPath=p;g.count=0;return g},text:function(a,g,d,w){var c=!N&&this.forExport,l={};if(w&&(this.allowHTML||!this.forExport))return this.html(a,g,d);l.x=Math.round(g||0);d&&(l.y=Math.round(d));if(a||0===a)l.text=a;a=this.createElement("text").attr(l);c&&a.css({position:"absolute"});w||(a.xSetter=function(a,g,d){var w=d.getElementsByTagName("tspan"),c,l=d.getAttribute(g),p;for(p=0;p<w.length;p++)c=w[p],c.getAttribute(g)===l&&c.setAttribute(g,a);d.setAttribute(g, a)});return a},fontMetrics:function(a,g){a=g&&B.prototype.getStyle.call(g,"font-size");a=/px/.test(a)?w(a):/em/.test(a)?parseFloat(a)*(g?this.fontMetrics(null,g.parentNode).f:16):12;g=24>a?a+3:Math.round(1.2*a);return{h:g,b:Math.round(.8*g),f:a}},rotCorr:function(a,g,d){var w=a;g&&d&&(w=Math.max(w*Math.cos(g*h),4));return{x:-a/3*Math.sin(g*h),y:w}},label:function(g,d,w,c,l,p,e,u,K){var m=this,x=m.g("button"!==K&&"label"),h=x.text=m.text("",0,0,e).attr({zIndex:1}),z,y,G=0,f=3,n=0,F,R,M,H,q,t={},I, Q=/^url\((.*?)\)$/.test(c),L=Q,N,v,O,S;K&&x.addClass("highcharts-"+K);L=!0;N=function(){return z.strokeWidth()%2/2};v=function(){var a=h.element.style,g={};y=(void 0===F||void 0===R||q)&&r(h.textStr)&&h.getBBox();x.width=(F||y.width||0)+2*f+n;x.height=(R||y.height||0)+2*f;I=f+m.fontMetrics(a&&a.fontSize,h).b;L&&(z||(x.box=z=m.symbols[c]||Q?m.symbol(c):m.rect(),z.addClass(("button"===K?"":"highcharts-label-box")+(K?" highcharts-"+K+"-box":"")),z.add(x),a=N(),g.x=a,g.y=(u?-I:0)+a),g.width=Math.round(x.width), g.height=Math.round(x.height),z.attr(k(g,t)),t={})};O=function(){var a=n+f,g;g=u?0:I;r(F)&&y&&("center"===q||"right"===q)&&(a+={center:.5,right:1}[q]*(F-y.width));if(a!==h.x||g!==h.y)h.attr("x",a),void 0!==g&&h.attr("y",g);h.x=a;h.y=g};S=function(a,g){z?z.attr(a,g):t[a]=g};x.onAdd=function(){h.add(x);x.attr({text:g||0===g?g:"",x:d,y:w});z&&r(l)&&x.attr({anchorX:l,anchorY:p})};x.widthSetter=function(g){F=a.isNumber(g)?g:null};x.heightSetter=function(a){R=a};x["text-alignSetter"]=function(a){q=a};x.paddingSetter= function(a){r(a)&&a!==f&&(f=x.padding=a,O())};x.paddingLeftSetter=function(a){r(a)&&a!==n&&(n=a,O())};x.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==G&&(G=a,y&&x.attr({x:M}))};x.textSetter=function(a){void 0!==a&&h.textSetter(a);v();O()};x["stroke-widthSetter"]=function(a,g){a&&(L=!0);this["stroke-width"]=a;S(g,a)};x.rSetter=function(a,g){S(g,a)};x.anchorXSetter=function(a,g){l=x.anchorX=a;S(g,Math.round(a)-N()-M)};x.anchorYSetter=function(a,g){p=x.anchorY=a;S(g,a-H)};x.xSetter=function(a){x.x= a;G&&(a-=G*((F||y.width)+2*f));M=Math.round(a);x.attr("translateX",M)};x.ySetter=function(a){H=x.y=Math.round(a);x.attr("translateY",H)};var A=x.css;return k(x,{css:function(a){if(a){var g={};a=D(a);b(x.textProps,function(d){void 0!==a[d]&&(g[d]=a[d],delete a[d])});h.css(g)}return A.call(x,a)},getBBox:function(){return{width:y.width+2*f,height:y.height+2*f,x:y.x-f,y:y.y-f}},destroy:function(){P(x.element,"mouseenter");P(x.element,"mouseleave");h&&(h=h.destroy());z&&(z=z.destroy());B.prototype.destroy.call(x); x=m=v=O=S=null}})}});a.Renderer=A})(J);(function(a){var B=a.attr,A=a.createElement,C=a.css,E=a.defined,v=a.each,f=a.extend,n=a.isFirefox,t=a.isMS,q=a.isWebKit,r=a.pInt,h=a.SVGRenderer,e=a.win,m=a.wrap;f(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=f(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a= this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,k=this.element,e=this.x||0,u=this.y||0,c=this.textAlign||"left",x={left:0,center:.5,right:1}[c],h=this.styles;C(k,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&v(k.childNodes,function(c){a.invertChild(c,k)});if("SPAN"===k.tagName){var m=this.rotation,f=r(this.textWidth), p=h&&h.whiteSpace,y=[m,c,k.innerHTML,this.textWidth,this.textAlign].join();y!==this.cTT&&(h=a.fontMetrics(k.style.fontSize).b,E(m)&&this.setSpanRotation(m,x,h),C(k,{width:"",whiteSpace:p||"nowrap"}),k.offsetWidth>f&&/[ \-]/.test(k.textContent||k.innerText)&&C(k,{width:f+"px",display:"block",whiteSpace:p||"normal"}),this.getSpanCorrection(k.offsetWidth,h,x,m,c));C(k,{left:e+(this.xCorr||0)+"px",top:u+(this.yCorr||0)+"px"});q&&(h=k.offsetHeight);this.cTT=y}}else this.alignOnAdd=!0},setSpanRotation:function(a, k,h){var b={},c=t?"-ms-transform":q?"-webkit-transform":n?"MozTransform":e.opera?"-o-transform":"";b[c]=b.transform="rotate("+a+"deg)";b[c+(n?"Origin":"-origin")]=b.transformOrigin=100*k+"% "+h+"px";C(this.element,b)},getSpanCorrection:function(a,k,e){this.xCorr=-a*e;this.yCorr=-k}});f(h.prototype,{html:function(a,k,e){var b=this.createElement("span"),c=b.element,x=b.renderer,h=x.isSVG,z=function(a,c){v(["opacity","visibility"],function(p){m(a,p+"Setter",function(a,p,d,b){a.call(this,p,d,b);c[d]= p})})};b.textSetter=function(a){a!==c.innerHTML&&delete this.bBox;c.innerHTML=this.textStr=a;b.htmlUpdateTransform()};h&&z(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,c){"align"===c&&(c="textAlign");b[c]=a;b.htmlUpdateTransform()};b.attr({text:a,x:Math.round(k),y:Math.round(e)}).css({position:"absolute"});c.style.whiteSpace="nowrap";b.css=b.htmlCss;h&&(b.add=function(a){var p,k=x.box.parentNode,l=[];if(this.parentGroup=a){if(p=a.div,!p){for(;a;)l.push(a),a=a.parentGroup; v(l.reverse(),function(a){var d,c=B(a.element,"class");c&&(c={className:c});p=a.div=a.div||A("div",c,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},p||k);d=p.style;f(a,{classSetter:function(a){this.element.setAttribute("class",a);p.className=a},on:function(){l[0].div&&b.on.apply({element:l[0].div},arguments);return a},translateXSetter:function(g,w){d.left=g+"px";a[w]=g;a.doTransform=!0}, translateYSetter:function(g,w){d.top=g+"px";a[w]=g;a.doTransform=!0}});z(a,d)})}}else p=k;p.appendChild(c);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(J);(function(a){function B(){var f=a.defaultOptions.global,q=n.moment;if(f.timezone){if(q)return function(a){return-q.tz(a,f.timezone).utcOffset()};a.error(25)}return f.useUTC&&f.getTimezoneOffset}function A(){var t=a.defaultOptions.global,q,r=t.useUTC,h=r?"getUTC":"get",e=r?"setUTC":"set";a.Date=q=t.Date||n.Date;q.hcTimezoneOffset= r&&t.timezoneOffset;q.hcGetTimezoneOffset=B();q.hcMakeTime=function(a,b,k,e,u,c){var x;r?(x=q.UTC.apply(0,arguments),x+=E(x)):x=(new q(a,b,f(k,1),f(e,0),f(u,0),f(c,0))).getTime();return x};C("Minutes Hours Day Date Month FullYear".split(" "),function(a){q["hcGet"+a]=h+a});C("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){q["hcSet"+a]=e+a})}var C=a.each,E=a.getTZOffset,v=a.merge,f=a.pick,n=a.win;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"], lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{useUTC:!0},chart:{borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0, spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px", height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e', pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(f){a.defaultOptions=v(!0,a.defaultOptions,f);A();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions; A()})(J);(function(a){var B=a.correctFloat,A=a.defined,C=a.destroyObjectProperties,E=a.isNumber,v=a.pick,f=a.deg2rad;a.Tick=function(a,f,q,r){this.axis=a;this.pos=f;this.type=q||"";this.isNewLabel=this.isNew=!0;q||r||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,f=a.options,q=a.chart,r=a.categories,h=a.names,e=this.pos,m=f.labels,b=a.tickPositions,k=e===b[0],z=e===b[b.length-1],h=r?v(r[e],h[e],e):e,r=this.label,b=b.info,u;a.isDatetimeAxis&&b&&(u=f.dateTimeLabelFormats[b.higherRanks[e]|| b.unitName]);this.isFirst=k;this.isLast=z;f=a.labelFormatter.call({axis:a,chart:q,isFirst:k,isLast:z,dateTimeLabelFormat:u,value:a.isLog?B(a.lin2log(h)):h,pos:e});A(r)?r&&r.attr({text:f}):(this.labelLength=(this.label=r=A(f)&&m.enabled?q.renderer.text(f,0,0,m.useHTML).add(a.labelGroup):null)&&r.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var n=this.axis,q=a.x,r=n.chart.chartWidth,h= n.chart.spacing,e=v(n.labelLeft,Math.min(n.pos,h[3])),h=v(n.labelRight,Math.max(n.pos+n.len,r-h[1])),m=this.label,b=this.rotation,k={left:0,center:.5,right:1}[n.labelAlign],z=m.getBBox().width,u=n.getSlotWidth(),c=u,x=1,I,F={};if(b)0>b&&q-k*z<e?I=Math.round(q/Math.cos(b*f)-e):0<b&&q+k*z>h&&(I=Math.round((r-q)/Math.cos(b*f)));else if(r=q+(1-k)*z,q-k*z<e?c=a.x+c*(1-k)-e:r>h&&(c=h-a.x+c*k,x=-1),c=Math.min(u,c),c<u&&"center"===n.labelAlign&&(a.x+=x*(u-c-k*(u-Math.min(z,c)))),z>c||n.autoRotation&&(m.styles|| {}).width)I=c;I&&(F.width=I,(n.options.labels.style||{}).textOverflow||(F.textOverflow="ellipsis"),m.css(F))},getPosition:function(a,f,q,r){var h=this.axis,e=h.chart,m=r&&e.oldChartHeight||e.chartHeight;return{x:a?h.translate(f+q,null,null,r)+h.transB:h.left+h.offset+(h.opposite?(r&&e.oldChartWidth||e.chartWidth)-h.right-h.left:0),y:a?m-h.bottom+h.offset-(h.opposite?h.height:0):m-h.translate(f+q,null,null,r)-h.transB}},getLabelPosition:function(a,t,q,r,h,e,m,b){var k=this.axis,z=k.transA,u=k.reversed, c=k.staggerLines,x=k.tickRotCorr||{x:0,y:0},n=h.y;A(n)||(n=0===k.side?q.rotation?-8:-q.getBBox().height:2===k.side?x.y+8:Math.cos(q.rotation*f)*(x.y-q.getBBox(!1,0).height/2));a=a+h.x+x.x-(e&&r?e*z*(u?-1:1):0);t=t+n-(e&&!r?e*z*(u?1:-1):0);c&&(q=m/(b||1)%c,k.opposite&&(q=c-q-1),t+=k.labelOffset/c*q);return{x:a,y:Math.round(t)}},getMarkPath:function(a,f,q,r,h,e){return e.crispLine(["M",a,f,"L",a+(h?0:-q),f+(h?q:0)],r)},renderGridLine:function(a,f,q){var r=this.axis,h=this.gridLine,e={},m=this.pos,b= this.type,k=r.tickmarkOffset,z=r.chart.renderer;h||(b||(e.zIndex=1),a&&(e.opacity=0),this.gridLine=h=z.path().attr(e).addClass("highcharts-"+(b?b+"-":"")+"grid-line").add(r.gridGroup));if(!a&&h&&(a=r.getPlotLinePath(m+k,h.strokeWidth()*q,a,!0)))h[this.isNew?"attr":"animate"]({d:a,opacity:f})},renderMark:function(a,f,q){var r=this.axis,h=r.chart.renderer,e=this.type,m=r.tickSize(e?e+"Tick":"tick"),b=this.mark,k=!b,z=a.x;a=a.y;m&&(r.opposite&&(m[0]=-m[0]),k&&(this.mark=b=h.path().addClass("highcharts-"+ (e?e+"-":"")+"tick").add(r.axisGroup)),b[k?"attr":"animate"]({d:this.getMarkPath(z,a,m[0],b.strokeWidth()*q,r.horiz,h),opacity:f}))},renderLabel:function(a,f,q,r){var h=this.axis,e=h.horiz,m=h.options,b=this.label,k=m.labels,z=k.step,u=h.tickmarkOffset,c=!0,x=a.x;a=a.y;b&&E(x)&&(b.xy=a=this.getLabelPosition(x,a,b,e,k,u,r,z),this.isFirst&&!this.isLast&&!v(m.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(m.showLastLabel,1)?c=!1:!e||h.isRadial||k.step||k.rotation||f||0===q||this.handleOverflow(a), z&&r%z&&(c=!1),c&&E(a.y)?(a.opacity=q,b[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(b.attr("y",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(a,f,q){var r=this.axis,h=r.horiz,e=this.getPosition(h,this.pos,r.tickmarkOffset,f),m=e.x,b=e.y,r=h&&m===r.pos+r.len||!h&&b===r.pos?-1:1;q=v(q,1);this.isActive=!0;this.renderGridLine(f,q,r);this.renderMark(e,q,r);this.renderLabel(e,f,q,a)},destroy:function(){C(this,this.axis)}}})(J);var T=function(a){var B=a.addEvent,A=a.animObject, C=a.arrayMax,E=a.arrayMin,v=a.correctFloat,f=a.defaultOptions,n=a.defined,t=a.deg2rad,q=a.destroyObjectProperties,r=a.each,h=a.extend,e=a.fireEvent,m=a.format,b=a.getMagnitude,k=a.grep,z=a.inArray,u=a.isArray,c=a.isNumber,x=a.isString,I=a.merge,F=a.normalizeTickInterval,H=a.objectEach,p=a.pick,y=a.removeEvent,l=a.splat,D=a.syncTimeout,d=a.Tick,G=function(){this.init.apply(this,arguments)};a.extend(G.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M", hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,labels:{enabled:!0,x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle"},type:"linear"},defaultYAxisOptions:{endOnTick:!0,ti